请问:用什么函数或方法可获得显示器的分辩率?(50分)

  • 主题发起人 主题发起人 xuekunli
  • 开始时间 开始时间
X

xuekunli

Unregistered / Unconfirmed
GUEST, unregistred user!
用什么函数或方法可获得显示器的分辩率?
 
分辨率:
; ; Width := GetSystemMetrics(SM_CXSCREEN);
; ; Height := GetSystemMetrics(SM_CYSCREEN);
 
ChangeDisplaySettings可以改变显示器的分辨率,也就是可以得知当前的显示分辨率了。

function Resolution(X,Y:word):boolean;
var
; DevMode:TDeviceMode;
; begin
; ; Result:=EnumDisplaySettings(nil,0,DevMode);
; ; if Result then
; ; begin
; ; ; DevMode.dmFields:=DM_PELSWIDTH Or DM_PELSHEIGHT;
; ; ; DevMode.dmPelsWidth:=X;
; ; ; DevMode.dmPelsHeight:=Y;
; ; ; Result:=ChangeDisplaySettings(DevMode,0)=DISP_CHANGE_SUCCESSFUL;
; ; end;
; end;

procedure TForm1.Button1Click(Sender: TObject);
begin
; if Resolution(800,600) then ShowMessage('800×600模式!');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
; if Resolution(1280,1024) then ShowMessage('1280X1024模式!');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
; if Resolution(1024,768) then ShowMessage('1024X768模式!');
end;
 
screen.width
screen.hieght
 
var
x:longint;
a:string;
begin
x := GetSystemMetrics(SM_CXSCREEN);
Str(x,a);
Label1.Caption := '显示器水平分辨率' + a;
x := GetSystemMetrics(SM_CYSCREEN);
Str(x,a);
Label2.Caption := '显示器垂直分辨率' + a;
end;
 
多人接受答案了。
 
后退
顶部