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;