没有合适的资源?快使用搜索试试~ 我知道了~
首页DELPHI自动调节及获取电脑分辩率方法
资源详情
资源评论
资源推荐

自动调节分辩率
以下我刚搞定的判断用户分辨率是否在 1024 及以上,若不是,则提示是否让程序自动
调整成 1024*768.且把屏幕刷新率也调整成最理想可用刷新率.你试一下吧.
var
lpDevMode:TDevMode;
Ri:byte;
begin
if screen.Width<>1024 then
begin
Ri:=85;
if MessageBox(0,'建议程序在 1024*768 分辨率下运行,是否让程序自动调整?','警
告',MB_YESNO OR MB_ICONWARNING OR MB_SYSTEMMODAL)=IDYES then
if EnumDisplaySettings(nil, 0, lpDevMode) then
begin
lpDevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT or
DM_DISPLAYFREQUENCY;
lpDevMode.dmPelsWidth := 1024;
lpDevMode.dmPelsHeight := 768;
repeat
lpdevMode.dmDisplayFrequency:=Ri;
dec(Ri);
until ChangeDisplaySettings(lpDevMode, 1)=DISP_CHANGE_SUCCESSFUL;
end;
end;
end;
取得分辨率方法
procedure TForm1.FormCreate(Sender: TObject);
var
sx,sy:Integer;
begin
sx := GetSystemMetrics(SM_CXSCREEN); //分辨率宽
sy := GetSystemMetrics(SM_CYSCREEN); //分辨率高
end;
也可以用 Screen.width/Screen.Height 来取得
也可以用 Var DevMode:TDeviceMode;
Begin
EnumDisplaySettings(nil,0,DevMode) 4
sx := DevMode.dmPelsWidth 4
sy := DevMode.dmPelsHeight 来取得


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论2