Delphi中如何取得系統(tǒng)支持的顏色數(shù)

字號:

在自己的軟件中經(jīng)常需要得知運行本軟件的系統(tǒng)支持的顏色數(shù)。例如有的軟件在16Bits的顏色數(shù)的計算機上開發(fā)而成,程序的顏色調(diào)試得非常漂亮,但是到了一臺只支持16色的計算機上,程序變得非常難看。這就需要得到系統(tǒng)的顏色數(shù)。
    Delphi中如何取得系統(tǒng)的顏色數(shù)呢?
    下面的程序就解決這個問題。
    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;