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