上一篇:06年搜索市场十五大趋势 Google唱主角 >>
Delphi实现动态修改显示器分辨率
向窗体上添加两个Button控件,设计完成的主界面如图1所示。
|
图1 主界面 |
在程序中添加一个自定义函数DynamicResolution,它有两个参数,分别对应于水平和垂直方向的分辨率,并且该函数有一个BOOL类型的返回值,通过判断返回值可以判断DynamicResolution函数是否正确执行。DynamicResolution函数代码如下:
| function TfrmMain.DynamicResolution(X, Y: word): BOOL; var lpDevMode: TDeviceMode; begin Result := EnumDisplaySettings(nil, 0, lpDevMode); if Result then begin lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT; lpDevMode.dmPelsWidth := X; lpDevMode.dmPelsHeight := Y; Result:=ChangeDisplaySettings(lpDevMode,0)= DISP_CHANGE_SUCCESSFUL; end; end; |
在程序运行过程中,通过单击窗体上的两个按钮“640*480”、“800*600”来调用DynamicResolution(640,480)或DynamicResolution(800,600)修改分辨率。
程序首先通过EnumDisplaySettings来取得当前屏幕的分辨率,把它存储在变量lpDevMode中,然后把lpDevMode设置为新的分辨率,最后通过ChangeDisplaySettings函数完成动态修改显示器分辨率的具体操作。
程序代码如下:
| unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TfrmMain = class(TForm) btn800600: TButton; btn640480: TButton; procedure btn640480Click(Sender: TObject); procedure btn800600Click(Sender: TObject); private { Private declarations } public { Public declarations } function DynamicResolution(X, Y: word): BOOL; end; var frmMain: TfrmMain; implementation {$R *.dfm} function TfrmMain.DynamicResolution(X, Y: word): BOOL; var lpDevMode: TDeviceMode; begin Result := EnumDisplaySettings(nil, 0, lpDevMode); if Result then begin lpDevMode.dmFields := DM_PELSWIDTH Or DM_PELSHEIGHT; lpDevMode.dmPelsWidth := X; lpDevMode.dmPelsHeight := Y; Result:=ChangeDisplaySettings(lpDevMode,0)=DISP_CHANGE_SUCCESSFUL; end; end; procedure TfrmMain.btn640480Click(Sender: TObject); begin if DynamicResolution(640, 480) then begin ShowMessage(’现在的分辨率是640*480’); end; end; procedure TfrmMain.btn800600Click(Sender: TObject); begin if DynamicResolution(800, 600) then begin ShowMessage(’现在的分辨率是800*600’); end; end; end. |
保存文件,然后按F9键运行程序,程序运行的初始画面如图2所示。
在程序运行过程中,用户可以通过单击“800*600”和“640*480”按钮把屏幕分辨率分别更改为“800*600”和“640*480”,如图3所示。
|
图2 程序运行的初始画面 图3 程序运行结果 |
下一篇:更改IE下载文件后的默认处理方法 >>
相关文章:
- · 让我们停止这场战争
- · 一个“小圈子”,聚拢大家庭
- · 个人博客盈利并不难 要根据特点选对广告
- · 猫扑网友热心公益 齐力捐助善良老人
- · 猫扑网友自拍漫画玩火世界杯
- · 美少女足球队让你High到爽
- · 激情盛夏 趋势科技送大礼
- · 把软件当硬件卖 趋势给中国市场的独创方案
- · 我的媒体中心—“猫仔队1.7”新鲜登场
- · 猫扑音乐随身听,保护数字音乐版权有新招
- · 网络创业者们看过来 网站的盈利方式
- · 警报:转信服务已危及全球Internet安全
- · 百度硬盘搜索2.0 Beta版抢先试用
- · 继续前行 百度硬盘搜索发布一周年
- · 百度超级搜霸有六大搜索利器
- · 百度搜霸——让你做个精明的管家
- · 启动3D聊天模式 与Q友站到系统桌面上畅聊
- · 体验腾讯QQ新酷功能——3D秀
- · QQ新版3月发布 增3D秀、网络城市等新元素
- · QQ宠物常见问题解答(十四)
- · QQ宠物常见问题解答(十五)
- · 快速学用腾讯TM:方便的个人名片
- · 快速学用腾讯TM:自定义个人形象
- · 快速学用腾讯TM:TM通讯录
- · 快速学用腾讯TM:商务伴侣
- · QQ宠物常见问题解答(十七)
- · QQ宠物常见问题解答(十六)
- · 木马黑手再一次伸向QQ 要小心陌生人
- · 雅虎音乐搜索搜出恶搞版黄健翔激情解说
- · 免费短信、电话、邮件一步到位:KC
- · 保护隐私 让主流聊天工具实现加密聊天
- · 别有洞天 Windows“回收站”里的小秘密
- · 下一代的Hotmail——Mail Beta界面预览
- · 快尝鲜——Mail Beta开始接受测试申请
- · 用邮件客户端从本地收取Hotmail邮件
- · Hotmail邮箱容量未升级至250M的解决方法
- · 把Hotmail邮箱变成网络硬盘
- · 操作系统自带的IM软件Windows Messenger
