WinCE6.0下如何动态设置系统分辨率
来源:互联网 发布:数据挖掘异常检测方法 编辑:程序博客网 时间:2024/06/06 19:06
转载自we-hjb的BLOG,原文地址:http://www.cnblogs.com/we-hjb/archive/2010/06/05/1751928.html
由于WinCE的显示驱动是本地驱动,不能像流驱动一样动态加载。所以,一般情况下不能动态修改和调试。前两天曾介绍过一种在应用程序中针对相同分辨率但不同尺寸的LCD的调试方法。这里继续介绍WinCE6.0下动态设置系统分辨率的一种方法。我们可以通过系统提供的ChangeDisplaySettingsEx()函数实现动态修改系统的分辨率。
设定系统分辨率的参考代码如下:
DWORD dwWidth, dwHeight; DEVMODE dm; dwWidth = GetDlgItemInt(IDC_COMBO_WIDTH, NULL, FALSE); dwHeight = GetDlgItemInt(IDC_COMBO_HEIGHT, NULL, FALSE); memset((char*)&dm, 0, sizeof(DEVMODE)); dm.dmSize = sizeof(DEVMODE); dm.dmPelsWidth = dwWidth; dm.dmPelsHeight = dwHeight; dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT; if (DISP_CHANGE_SUCCESSFUL == ChangeDisplaySettingsEx(NULL, &dm, NULL, 0, NULL)) { CenterWindow(); }
通过这个函数,我们还可以实现屏幕的旋转,参考代码如下:
DWORD dwAngle; DEVMODE dm; dwAngle = SendDlgItemMessage(IDC_COMBO_ANGLE, CB_GETCURSEL, NULL, NULL); memset((char*)&dm, 0, sizeof(DEVMODE)); dm.dmSize = sizeof(DEVMODE); dm.dmDisplayOrientation = DMDO_0 + (dwAngle <= DMDO_180 ? dwAngle : 4); dm.dmFields = DM_DISPLAYORIENTATION; if (DISP_CHANGE_SUCCESSFUL == ChangeDisplaySettingsEx(NULL, &dm, NULL, 0, NULL)) { CenterWindow(); }
动态修改系统分辨率和旋转屏幕的效果图如下。
测试平台原始分辨率是800*480,先后将分辨率改为640*480和480*272,并在480*272的分辨率下将屏幕旋转90°。
- WinCE6.0下如何动态设置系统分辨率
- WinCE6.0下如何动态设置系统分辨率
- WinCE6.0下如何动态设置系统分辨率
- WinCE6.0下如何动态设置系统分辨率
- wince6.0+s3c6410摄像头驱动修改 (ov9650预览分辨率设置)
- ubuntu下如何查看和设置分辨率
- Wince6.0下编译系统,SDK小结
- WINCE6.0下 如何去掉鼠标光标
- 关于wince6.0 摄像头驱动分辨率设置,尤其是scaler功能使用的认识
- Ubuntu系统设置分辨率
- WinCE6.0编译设置
- WinCE6.0编译设置
- Linux系统VGA启动模式下设置分辨率
- ubuntu下 分辨率设置
- wince6.0下开机自启动设置问题
- WINCE6.0系统调用
- 如何安装WinCE6.0
- 如何安装WinCE6.0
- 很好的国外购物网站
- Solving the Problem with Events: Weak Event Handlers
- 做完毕业设计基础部分的一些小感想
- 将dsoframer修改为能通过IE的可安全执行脚本
- WinCE下自定义的大软键盘
- WinCE6.0下如何动态设置系统分辨率
- 大小端问题
- 最近的学习计划
- uva 401
- SELinux policy enabled; httpd running as context unconfined_u:system
- 使用sql server2005非常慢的解决方案
- JSF2.0与Spring3集成
- DNS域名服务 BIND (下)
- 用session实现购物车(含设计分析及源代码)part3