CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

????为什么我无法改变显示器的分辨率!!???

楼主hnxk(xk)2001-10-16 15:11:00 在 VC/MFC / 基础类 提问

我定义了下面的函数:  
    void   changedisplaymode(void)  
  {  
            int   nFullWidth=GetSystemMetrics(SM_CXSCREEN);  
            int   nFullHeight=GetSystemMetrics(SM_CYSCREEN);    
            bool   bChanged=0;  
   
  if(nFullWidth!=1024   &&   nFullHeight!=728)  
  {  
  DEVMODE   lpDevMode;  
    lpDevMode.dmBitsPerPel=8;  
  lpDevMode.dmPelsWidth=800;  
  lpDevMode.dmPelsHeight=600;  
    lpDevMode0dmDisplayFrequency=60;  
    lpDevMode.dmSize=sizeof(lpDevMode);  
    lpDevMode.dmFields=DM_PELSWIDTH|DM_PELSHEIGHT  
                                                  |DM_BITSPERPEL|DM_DISPLAYFREQUENCY;  
  LONG   result;  
  result=ChangeDisplaySettings(&lpDevMode,CDS_UPDATEREGISTRY);  
   
   
  返回的值确是:   DISP_CHANGE_BADMODE  
  不知哪里有错,以该怎么做? 问题点数:50、回复次数:6Top

1 楼ygd(人生短暂,及时行乐。准备成熟中)回复于 2001-10-16 15:52:41 得分 30

设置DEVMODE结构成员变量不正确。  
  请看如下代码:  
    DEVMODE   lpmode;  
    EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&lpmode);  
    lpmode.dmPelsWidth=640;lpmode.dmPelsHeight=480;  
    ChangeDisplaySettings(&lpmode,CDS_UPDATEREGISTRY);  
  首先获取显示器默认设置,然后再改变。  
  Top

2 楼Gu_c_h(Gu)回复于 2001-10-16 15:57:29 得分 10

該代碼在我的機器上通過,大概是你的機器不支持這種顯示模式,把刷新率降低,在試一次Top

3 楼a813(周)回复于 2001-10-16 15:57:58 得分 10

DISP_CHANGE_BADMODE指不支持该模式。  
  看你的参数设置800*600,256色,60HZ的数据。  
  你选一个使用控制面板可以配置的参数试一试  
  Top

4 楼hnxk(xk)回复于 2001-10-17 09:30:41 得分 0

好了!  
  总算能改分辨率了!  
  在我的程序中,启动时我将分辨率从800x600改为1024x768,结束时我又改回来.  
  可是程序每运行一次,我的桌面总是又点乱,比如说,任务兰的位置到了屏幕的  
  中部,而不在最底部了.怎样才能恢复桌面到程序运行前的状态??  
  Top

5 楼sanjiang()回复于 2001-10-17 09:34:44 得分 0

gzTop

6 楼hnxk(xk)回复于 2001-10-17 21:41:25 得分 0

好了,  
  买单.Top

相关问题

  • 改变显示器分辨率
  • 改变显示器分辨率的API函数是什么?
  • 显示器——分辨率
  • C++builder5如何改变显示器分辨率?有几种方法?
  • 如何实现PB程序随着显示器分辨率的改变而改变!
  • 怎么用VC编程改变显示器的刷新率。。和分辨率?急呀。。。。请高手指教
  • 显示器分辨率的问题?????
  • 读取显示器的分辨率
  • 显示器分辨率的问题
  • 如何设置显示器分辨率

关键词

  • lpdevmode
  • lpmode
  • 分辨率
  • devmode
  • dm
  • 程序

得分解答快速导航

  • 帖主:hnxk
  • ygd
  • Gu_c_h
  • a813

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo