function GetNumColors: LongInt; var BPP: Integer; DC: HDC; begin DC := CreateDC('DISPLAY', nil, nil, nil); if DC <> 0 then begin try BPP := GetDeviceCaps(DC, BITPIXEL) * GetDeviceCaps(DC, PLANES); finally DeleteDC(DC); end; case BPP of 1: Result := 2; 4: Result := 16; 8: Result := 256; 15: Result := 32768; 16: Result := 65536; 24: Result := 16777216; end; end else Result := 0; end;