关于DEVMODE的数据结构--显示设备的属性
来源:互联网 发布:魔域数据库表 编辑:程序博客网 时间:2024/06/06 04:26
今天查找DEVMODE结构的时候找到一篇不错的文章,特转过来,与大家分享:
显示器所显示的内容对应于显存,在显示器上最小的单位是象素(Pixel,这里仅考虑逻辑象素),显存的最小的单位是位(Bits)。 显示器
在VC中提供了修改显示设备(如显示器、打印机等等,本文只就显示器而言)属性的函数ChangeDisplaySettings(),该函数能够按照你的需要对显示设备作出相应的修改。其函数的原型为:LONG ChangeDisplaySettings(LPDEVMODE lpDevMode,DWORD dwflags),其参数的含义如下:
dmSize:所用DEVMODE数据结构的大小(以Bytes为单位);
dmBitsPerPel :每象素所使用的显存位数(Bits);
dmPelsWidth :水平分辨率(点数);
dmPelsHeight Pixel height :垂直分辨率(点数);
dmDisplayFrequency :显示刷新率,以赫兹为单位;
Dwflags:表明对显示设备的修改方式。具体取值有以下几种:0 :动态改变显示设备属性;CDS_UPDATEREGISTRY:动态改变显示设备属性并修改注册表
对于系统的显示特性编程,还有一个关键的API函数EnumDisplaySettings()用来获得当前显示驱动所支持的所有显示模式。获得当前显示模式可以使用下面的函数:
Bool GetCurrentVideoSettings(DEVMODE *devmode) { HWND hwndDesktop=GetDesktopWindow(); HDC hdc=GetDC(hwndDesktop); devmode -> dmSize =sizeof(DEVMODE); devmode -> dmBitsPerPel=GetDeviceCaps(hdc,BITSPIXEL); devmode -> dmPelsWidth=GetSystemMetrics(SM_CXSCREEN); devmode -> dmPelsHeight=GetSystemMetrics(SM_CYSCREEN); devmode -> dmFields=DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT; return TRUE; } |
下面的代码展示了如何使用EnumDisplaySettings获得当前支持的所有显示模式:
int modenum,done; DEVMODE devmode; done=0; modenum=0; do { done=!EnumDisplaySettings(NULL,modenum,&devmode); AddToList(&devmode); modenum++; }while (!done); |
设置显示模式的方法如下:
rc = ChangeDisplaySettings(&devmode,CDS_FULLSCREEN));这里的devmode就是前面使用EnumDisplaySettings获得的。如果设置正常,返回值DISP_CHANGE_SUCCESSFUL。
- 关于DEVMODE的数据结构--显示设备的属性
- struts的DevMode模式
- Struts的devMode模式
- struts2的DevMode模式
- struts2的devMode失效
- struts的DevMode模式
- struts2的DevMode模式
- struts的DevMode模式
- struts的DevMode模式
- struts2的DevMode模式
- struts的DevMode模式
- struts的DevMode模式
- struts的DevMode模式
- struts的DevMode模式问题
- c# 对DEVMODE结构的声明
- struts.devMode也就是struts的开发模式
- struts.devMode也就是struts的开发模式
- struts2的DevMode(开发模式)模式
- offset,application---VBA应用
- 2006.9-11 软件俱乐部事务
- asp页面发送邮件
- 网页采集问题测试
- 关于SetFocus
- 关于DEVMODE的数据结构--显示设备的属性
- 深入C++的new
- 数据绑定时format
- Creating Excel Spreadsheets with Office Web Components
- 环保程序员----用汇编写程序
- 谷歌官方博客透露明天将推Chrome浏览器
- customer's orders list
- XP下安装装SQL2000企业版本
- pragma用法