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