说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

调整分辩率和取当前分辩率 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
调整分辩率和取当前分辩率 -VB资料
怎样得到当前的屏幕分辨率?

在程序设计中我们经常要改变窗体的大小,而这也依赖于屏幕的分辨率,下面的例子将演示如何得到当前屏幕的分辨率:

ResWidth = Screen.Width \ Screen.TwipsPerPixelX

ResHeight = Screen.Height \ Screen.TwipsPerPixelY

ScreenRes = ResWidth & "x" & ResHeight

ResWidth和ResHeight分别表示屏幕的宽和高,比如这样的结果:

800x600


--------------------------------------------------------------------------------

如何改变屏幕的分辨率?

 

对于很多VB程序员来说怎样改变屏幕的分辨率一直是一个难题,而且在API-Viewer里竟然没有EnumDisplaySettings和ChangeDisplaySettings!!遵从以下的步骤,你就可以改变屏幕的分辨率。将以下代码加入模块文件:

 

Declare Function EnumDisplaySettings Lib "user32" _

Alias "EnumDisplaySettingsA" _

(ByVal lpszDeviceName As Long, _

ByVal iModeNum As Long, _

lpDevMode As Any) As Boolean

Declare Function ChangeDisplaySettings Lib "user32" _

Alias "ChangeDisplaySettingsA" _

(lpDevMode As Any, ByVal dwFlags As Long) As Long

 

Declare Function ExitWindowsEx Lib "user32" _

(ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Public Const EWX_LOGOFF = 0

Public Const EWX_SHUTDOWN = 1

Public Const EWX_REBOOT = 2

Public Const EWX_FORCE = 4

Public Const CCDEVICENAME = 32

Public Const CCFORMNAME = 32

Public Const DM_BITSPERPEL = &H40000

Public Const DM_PELSWIDTH = &H80000

Public Const DM_PELSHEIGHT = &H100000

Public Const CDS_UPDATEREGISTRY = &H1

Public Const CDS_TEST = &H4

Public Const DISP_CHANGE_SUCCESSFUL = 0

Public Const DISP_CHANGE_RESTART = 1

Type DEVMODE

dmDeviceName As String * CCDEVICENAME

dmSpecVersion As Integer

dmDriverVersion As Integer

dmSize As Integer

dmDriverExtra As Integer

dmFields As Long

dmOrientation As Integer

dmPaperSize As Integer

dmPaperLength As Integer

dmPaperWidth As Integer

dmScale As Integer

dmCopies As Integer

dmDefaultSource As Integer

dmPrintQuality As Integer

dmColor As Integer

dmDuplex As Integer

dmYResolution As Integer

dmTTOption As Integer

dmCollate As Integer

dmFormName As String * CCFORMNAME

dmUnusedPadding As Integer

dmBitsPerPel As Integer

dmPelsWidth As Long

dmPelsHeight As Long

dmDisplayFlags As Long

dmDisplayFrequency As Long

End Type

 

2、下面的例子将演示如何把屏幕分辨率更改为640x480(保持原来的颜色数)。

 

Dim DevM As DEVMODE

'DevM收集信息

erg& = EnumDisplaySettings(0&, 0&, DevM)

'不改变颜色数目是因为如果改变颜色数就要重新启动

 

DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT 'Or DM_BITSPERPEL

DevM.dmPelsWidth = 640 '屏幕宽度

DevM.dmPelsHeight = 480 '屏幕高度

'DevM.dmBitsPerPel = 32 (还可以为 8, 16, 32甚至4)

'改变显示模式并检查是否可能

erg& = ChangeDisplaySettings(DevM, CDS_TEST)'检查是否成功 Select Case erg&

Case DISP_CHANGE_RESTART

an = MsgBox("你现在必须重新启动系统,执行吗?", vbYesNo + vbSystemModal, "消息")

If an = vbYes Then erg& = ExitWindowsEx(EWX_REBOOT, 0&)

End If

Case DISP_CHANGE_SUCCESSFUL

erg& = ChangeDisplaySettings(DevM, CDS_UPDATEREGISTRY)

MsgBox "一切正常!", vbOKOnly + vbSystemModal, "成功"

Case Else

MsgBox "显示模式不支持", vbOKOnly + vbSystemModal, "错误"End Select

End Sub
元件卷动的改进-Delphi资料 在delhpi程序中获取网络资源信息-Delphi资料 在Delphi中操作快捷方式 在DLL中实现文件的拷贝-Delphi资料 在Report Builder中增加自定义函数-Delphi资料 在Win2000 Beta下安装Delphi 在Word插入字符-Delphi资料 注册表中几个对编程特别有用的地方-Delphi资料 资源文件在DELPHI中的使用 自制替换指定串函数-Delphi资料 API函数快速入门API函数简介-VB资料 API函数快速入门怎样在VB中声明和使用API函数 API函数在VB开发中的应用 API函数在VB中的应用 API实现完美的图片出现效果-VB资料 ListView控件特效-VB资料 Office 95 API 的企业开发者指南-VB资料 SENDMESSAGE函数巧应用 -VB资料 VB 与Windows API 讲座(五) VB5 未公开的函数 VB5.0与Windows API 间的呼叫技巧 VB5中回调函数的使用方法 VB的API编程精粹(二) VB的API编程精粹(一) VB调用API函数技巧快速选择全部项目 VB调用API函数使窗口保持在最上层 VB中调用Windows API的注意事项 VB中访问API函数之防错技巧 VB中利用API函数实现特殊窗体的两种方法 VB中用API函数实现文件夹列表 WIN32 API-VB资料 “网交控”能轻松帮助您的企业和单位最方便的控制和最高效的使用网络资源(介绍篇,顶者有分) struts的基本问题!500错误 怎样学习powerbulder? 奇怪的问题:在borderlayout中为什么不能同时显示多个组件?? 小数点的问题 谁能告诉我javascript调用应用程序时如何传递参数的。程序在里面。100分相赠 做测试做的真郁闷,我应该怎么办? 工资和学历是否是正比 大家都来测-- error cs0234:类型或命名空间名称“Xml”在类或命名空间“System”中不存在. 求解,为什么出错? 今天很不爽,散分了 什么是对象库,如何共享窗体、对话框? javascript的超级恶心问题!(急!!!!!!!在线等!!!!!!) 关于WINISO的问题! 今天很不爽,散分了,名字带狼的都有分 哪里有关于Oracle的电子书? 老问题:组件的注册问题 求最精彩的算法 下载出问题了,大家快来救呀 如何下载 .rt 文件 ??? 今天很不爽,散分了,名字带狼的都有分 奇怪问题,在线等待求救!!! 今天很不爽,散分了,名字带狼的都有分 如何设计能够处理动态字段的数据库(最好Paradox) 任何字体修饰都不起作用,为什么 怎样取得服务器IP地址? 谁有ERP详细设计书、数据字典。重谢 “网交控”能轻松帮助您的企业和单位最方便的控制和最高效的使用网络资源(介绍篇,顶者有分) 将query的数据倒入excel该如何处理 更新问题 找不到字段名 在线等 如果我要加入团队开发,那应该安装哪个ORACLE8i的产品?在线等 这一句错在哪里? [求助]关于多线程同时读写SOCKET 庆祝!经过公平选拔公司聘我配置管理经理! 送分!!!!!!!! 我想在DataSourceDataChange中写代码,来判断当某一字段的值输入为1时,我想让另一个字段显示! 怎样获取本机上网的DNS地址? 如何实现用JS实现首页调用 ! 请教各位大侠广告系统应怎么运作和推广?100分。附系统说明 IE不能运行JavaScript\vbScript,怎么解决这个问题? sql server ce 数据库压缩问题 我要从光盘拷贝文件出来,还有怎么获得光盘的大小等参数,谢谢。 vi中编写c程序,如何让关键字显示不同颜色 这个错误是为什么? 关于日期(Date)的问题! linux下weblogic7.0连接oracle的问题:pool和Data Resource如何配置???好难呀!!!!!! 下面一段写入数据库的代码 为什么 老出错误 急!高分求救!如何加密? 请问一个关于OpenDialog1程序运行的问题? 庆祝!经过公平选拔公司聘我配置管理经理! 在客户端打开服务器上的Word,PDF等文件时能否限制客户端COPY,另存等功能 用鹏程万里造句 鹏程万里 造句如题 形容人不处在他人的处境无法理解他人的痛苦的古语形容人 不处在他人的处境,无法理解他人的痛苦 的古语 , 为什么人们从来不能够理解别人的痛苦这句话不是感慨,我是想问,为什么会这样,原因是什么 真是奇怪,在金龟子的世界里,歌声是用来表达痛苦的,而沉默则是欢乐的标志.你是什么理解的?快! 我忍受悲伤,它升华我的灵魂?是什么含义请大家用简单故事形容一下?谢谢 规律既不可以创造,也不能消灭,但可以改造. 这句话对不对 怎样认识运动,把握规律? 怎么才能写好各类公文?除了多写还有什么?如题,有没有什么能事半功倍的方法? 红了芭蕉,绿了樱桃.是出自那里的啊?万望 不吝赐教 红了芭蕉,谁写的? 美国务卿访沙特 称美国与沙特关系必须俄武器出口一半销往亚太 称拟争取非传谷歌更新涂鸦纪念印度女数学家戴维84美国官员表示美政府不会考虑对斯诺登宽埃及法院就谋杀示威者罪名对穆尔西进行湖南3小学生遭绑架杀害续:每名学生家4男子以炉渣充铜渣 诈骗浙江商人63意大利前黑手党组织头目忏悔操控工厂排男子被卡两栋大楼中动弹不得 消防员破埃及法院就谋杀示威者罪名对穆尔西进行叙利亚中部城市发生自杀式炸弹袭击 致过传忠主要看气质,各航空姐旗袍装哪家最养眼尽管对格非和他的作品已经比较熟悉,但■ 金山城市沙滩:傍晚的海边人头攒动朱争平新华社马尼拉7月23日电 菲律宾前总■ 流动饮料车生意火爆 本报记者吴莉莉◆ 舒晋瑜◆ 陈亦凡 图/文核心提示
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘