查看: 1530|回复: 0

动态修改显示器分辨率

[复制链接]
发表于 2005-5-9 00:33:17 | 显示全部楼层 |阅读模式
<FONT size=2>动态修改显示器分辨率 <BR>Windows提供给我们两个API函数,可以动态调整显示器的分辨率,他们是EnumDisplaySettings() 和ChangeDisplaySettings(),下面这个例子演示了在两中分辨率之间的变换,并且可以不用重新启动计算机: <BR>function DynamicResolution(X, Y: word): BOOL; <BR>var <BR>lpDevMode: TDeviceMode; <BR>begin <BR>Result := EnumDisplaySettings(nil, 0, lpDevMode); <BR>if Result then <BR>begin <BR>lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT; <BR>lpDevMode.dmPelsWidth := X; <BR>lpDevMode.dmPelsHeight := Y; <BR>Result := ChangeDisplaySettings(lpDevMode, 0) = DISP_CHANGE_SUCCESSFUL; <BR>end <BR>end; <BR>procedure TForm1.Button1Click(Sender: Tobject); <BR>begin <BR>if DynamicResolution(640, 480) then <BR>ShowMessage('Now is 640*480'); <BR>end; <BR>procedure TForm1.Button2Click(Sender: Tobject); <BR>begin <BR>if DynamicResolution(800, 600) then <BR>ShowMessage('Now is 800*600'); <BR>end; </FONT><BR><BR>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条


关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖QQ客服返回顶部