大家好!
我写的程序是全屏的!运行以后,我(CTRL+D)然后修改分辨率,在切换到程序,他就不是全屏的了.怎么实现我切换回来,他还按照实时的分辨率改变窗口大小!我怎么才能得到WINDOWS改变分辨率的消息!???
我写的程序是全屏的!运行以后,我(CTRL+D)然后修改分辨率,在切换到程序,他就不是全屏的了.怎么实现我切换回来,他还按照实时的分辨率改变窗口大小!我怎么才能得到WINDOWS改变分辨率的消息!???
解决方案 »
- 编辑框回车问题
- 如何设置DCOM通讯的等待超时时间
- 去掉墙纸???
- 用过appface的大哥大姐请进来指导一下!
- 请帮帮我做写一个小程序 急用呀 3Q
- 我有CPropertyPage,CPropertySheet做成的属性表,如何将属性表放在FormView中。再做不出来我就要被炒了,谢谢大哥们了
- 关于如何重新得到socket对象的问题,谢谢,没分了,实在抱歉!
- 我的JPEG图像还是不行啊!
- 一直用VC6,有必要使用vc7编程吗,
- 如果判断一个IE窗口是否是广告窗口?????
- 如何获得ADO data、DataGrid、DataCombo、DataList等ActiveX控件的函数的详解
- 在VC6中用ADO调用ORACLE存储过程,该存储过程返回结果集(以游标方式),VC中如何使用结果集?
例如:
分辨率是XGA 1024*768时 下创建的窗口A是400*300的
当分辨率改为SXGA 1280*1024时 窗口的大小还是400*300的
显然这种情况下,需要500*400的窗口才能满足要求。你可以通过
1)紧凑窗口:只显示1024*768的大小,其他的空余。
2)窗口重新构建:重新在新的分辨率下构造窗口。
来完成以上操作。如果是商业软件,最好是重启计算机,
重新构建虽然可以实现,但是影响太大,潜在风险太大。
//将显示器分辨率修改为800*600 16位色 60Hz 5秒钟后恢复
{
//保存信息
DEVMODE Save_DevMode = {0};
Save_DevMode.dmSize = sizeof(DEVMODE);
EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&Save_DevMode);
//新信息
DEVMODE New_DevMode = Save_DevMode;
New_DevMode.dmBitsPerPel = 16;
New_DevMode.dmPelsWidth = 800;
New_DevMode.dmPelsHeight = 600;
New_DevMode.dmDisplayFrequency = 60;
New_DevMode.dmFields |= DM_BITSPERPEL|DM_PELSWIDTH|DM_PELSHEIGHT|DM_DISPLAYFREQUENCY; //修改信息
ChangeDisplaySettings(&New_DevMode,0); //延时观察
BeginWaitCursor();
Sleep(5000);
EndWaitCursor(); //恢复信息
ChangeDisplaySettings(&Save_DevMode,0);
}