안녕하세요. 천리안 프로그래머 포럼 델파이 담당자 댁스터(강범석)입니다.
API함수 중에 EnumDisplaySettings()라는 함수가 있습니다. 이것은 디스플레이
장치의 그래픽 모드들의 정보를 얻어오는 함수입니다.
도움말에서 함수의 원형을 보면 다음과 같습니다.
BOOL EnumDisplaySettings(
LPCTSTR lpszDeviceName, // specifies the display device
DWORD iModeNum, // specifies the graphics mode
LPDEVMODE lpDevMode // points to structure to receive settings
);
각 인자의 자세한 설명은 도움말을 보시고요.
다음 예제를 보세요.
procedure TForm1.Button1Click(Sender: TObject);
var
DMode: TDevMode;
ModeNumber: Integer;
begin
ModeNumber := 0;
while EnumDisplaySettings(nil, ModeNumber, DMode) do
begin
if (Screen.Width = DMode.dmPelsWidth) then
ShowMessage(IntToStr(DMode.dmBitsPerPel)+' 비트컬러 사용 가능');
Inc(ModeNumber);
end;
end;
이 예제는 EnumDisplaySettings()를 이용해서 현재 시스템에서 사용할 수 있는
모든 해상도의 모든 컬러를 얻어옵니다. (While문에서...)
그리고 현재 해상도에서 가능한 컬러수를 ShowMessage()로 출력합니다.
실행해 보시면 이해가 가실겁니다. 응용하시면 될 것 같군요.
참고가 되셨길....
From Thexder
|