在自己的软件中经常需要得知运行本软件的支持的颜色数。例如有的软件在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;