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

字號(hào):

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