Delphi中如何取得系统支持的颜色数

在自己的软件中经常需要得知运行本软件的系统支持的颜色数。例如有的软件在16Bits的颜色数的计算机上开发而成,程序的颜色调试得非常漂亮,但是到了一台只支持16色的计算机上,程序变得非常难看。这就需要得到系统的颜色数。

Delphi中如何取得系统的颜色数呢?下面的程序就解决这个问题。

function GetSysColorNum:Integer;
Var
    ScreenDc:HDC;
    NumBitsPixel:Integer;
begin
    Result:=0;
    ScreenDc:=GetDC(0);
    NumBitsPixel:=GetDeviceCaps(ScreenDc,BITPIXEL);
    ReleaseDC(ScreenDC);
    Result:=1 shl NumBitsPixel;
End;

时间: 2024-08-03 18:55:46

Delphi中如何取得系统支持的颜色数的相关文章

Delphi中多进程解决datasnap支持的tcp长连接数量少的问题

对于实时采集数据的项目,应用场景比如是这样的:5000客户端,每个客户端每隔500MS要给服务器上传一次数据. 大家知道,像INDY这种阻塞型的通信控件,所能支持的TCP长连接的一般地不能超过1000的数量(如果想要维持稳定运行的话). 原因是大家都晓得的,阻塞方式会为每一个SOCKET连接创建一个新的线程为之服务,而WINDOWS单个进程理论上允许最多的线程数量是2048个, 实际当中要少得多才行. 有人说可以用WINDOWS的IOCP通信模型解决,诚然!但IOCP编程过于复杂. 有人说,可以

Delphi中取得系统支持的颜色数的方法

在自己的软件中经常需要得知运行本软件的系统支持的颜色数.例如有的软件在16Bits的颜色数的计算机上开发而成,程序的颜色调试得非常漂亮,但是到了一台只支持16色的计算机上,程序变得非常难看.这就需要得到系统的颜色数. Delphi中如何取得系统的颜色数呢?下面的程序就解决这个问题. function GetSysColorNum:Integer; Var ScreenDc:HDC; NumBitsPixel:Integer; begin Result:=0; ScreenDc:=GetDC(0)

WinXP系统中的帮助和支持打不开如何解决?

  我们在使用WinXP统的过程中,如有问题解决不了,这时候我们就可以通过系统中自带的"帮助和支持"向联机Microsoft支持技术人员寻求帮助.但最近有用户反应,当它想打开系统中自带的"帮助和支持"功能时,却发现无法启动"帮助和支持",怎么办呢?下面小编就和大家说一下WinXP系统中的帮助和支持打不开如何解决. 步骤如下: 1.单击"开始",选择"控制面板". 2.点击"性能和维护".

如何让win7系统中的IE浏览器支持断点续传功能?

  虽然说很多朋友都觉得使用迅雷.快车一类的软件下载程序或者文件会比较快一点,但是也有不少用户测试说开启迅雷一样的软件本身就比较占资源.占网速,因此,使用浏览器直接下载其实也是一个不错的方法,但是在win7系统下载官网中,很多用户发现浏览器无法支持断点续传,例如咱们下载的时候遇到网络问题中途中断的话,下次下载就又需要重新再来了,这样似乎一点都不人性化.那么今天,小编就来讲解一下,如何让win7系统中的IE浏览器支持断点续传吧! 1.首先,咱们打开win7系统中的IE浏览器,然后进入一个下载页面,

Delphi中的SQL编程

SQL语言作为关系数据库管理系统中的一种通用的结构查询语言,已经被众多的数据库管理系统所采用,如ORACLE.Sybase.Informix等数据库管理系统,它们都支持SQL 语言.Delphi与使用SQL语言的数据库管理系统兼容,在使用Delphi开发数据库应用程序时,我们可以使用SQL语言编程,支持SQL编程是Delphi的一个重要特征,这也是体现Delphi作为一个强大的数据库应用开发工具的一个重要标志. 17.1 SQL语言简介 17.1.1 SQL的历史 在70年代初,E.E.Codd

浅议Delphi中的Windows API调用

为了能在Windows下快速开发应用程序,Delphi对Windows的控件都进行了很好的封装,这样,我们就可以直接使用Delphi的控件来编写程序,而不用使用格式.调用控制复杂的API来进行开发,为我们节省了大量的开发时间. 可有时候这些控件解决不了我们的问题,这个时候我们就不得不使用API了,也就是Windows的应用程序接口.这样,问题也就随之而来了,API是用C++语言编写的,而Delphi的脚本语言是PASCAL,两者使用的数据类型是不兼容了.那么,如何在Delphi中调用数据类型不兼

在Delphi中控制扫描仪

在利用Delphi开发信息管理系统时,常常要处理图象,这也是信息管理系统发展的必然趋势.怎样在Delphi中通过扫描仪获得所需的图象信息呢?不外乎有三种基本的方法: 通过图象处理软件,比如说Photoshop等,通过它们的扫描图象的功能,加工成一定格式的图象后再在自己的系统中利用: 通过扫描仪接口Twain.DLL .该接口是在安装扫描仪时提供的,它实际上是一个Plugin插件,它通过一系列函数来控制扫描仪: 通过构件技术来控制扫描仪. 利用第一种方法能减少编程的复杂度,但是系统的集成度不高,用

简析XML及其在Delphi中的应用

摘要:随着信息化社会的发展和不同系统间数据交换的要求,XML将成为不同系统间数据交换的标准和传输格式.本文结合实例介绍了如何在Delphi中应用XML进行编程的技术. 关键字:可扩展标记语言,Delphi, Web Service, InternetExpress. 1. XML及其背景 XML即Extensible Markup Language(可扩展标记语言)的缩写[1].XML是Web上表示结构化信息的一种标准文本格.XML同HTML一样,都来自SGML(标准通用标记语言).XML与SG

Delphi中数据网格DBGrid应用

数据网格是非常流行的数据输入和显示形式,像大家熟悉的Excel97.VFP中的功能强大的BROWS等,为广大程序员乐于采用.在用Delphi开发数据库应用系统时,利用数据网格DBGrid输入数据时,有些字段只允许某几个固定的字符串,像档案案卷的保管期限,只有"永久"."长期"和"短期"三种,可否从一个下拉列表中进行选择,从而方便输入和避免输入错误呢?还有一些字段,例如职工信息库中的单位编号(在另外的单位库中保存着单位的详细信息),在输入和显示职工