MFC 实现对显示的界面(最小宽度和最小高度的限制)
来源:互联网 发布:叶子流量卡淘宝店地址 编辑:程序博客网 时间:2024/05/22 03:38
MFC窗口 对拖动的最小范围的限制
第一步:在类向导中,对WM_GETMINMAXINFO消息进行映射
1)如果是单文档视图结构,在CMainFrame类中派生该消息,生成相应的响应函数
2)如果是对话框结构,在CXXXDlg类中派生该消息,生成相应的响应函数
第二步,在生成的响应函数中添加如下代码(本示例是基于单文档视图结构,代码如下
//窗口缩小到的最小范围
#define MINIMUM_WINDOWS_X 1024 #define MINIMUM_WINDOWS_Y 768
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI){// TODO: 在此添加消息处理程序代码和/或调用默认值int cx = GetSystemMetrics(SM_CXSCREEN); int cy = GetSystemMetrics(SM_CYSCREEN); int nShellHight = 0;//获取任务栏CWnd* pTaskWnd = FindWindow( _T("Shell_TrayWnd"), NULL ); if (pTaskWnd != NULL){LONG lStyle = GetWindowLong( pTaskWnd->GetSafeHwnd(), GWL_STYLE ); //如果任务栏存在且可见,要减去任务栏高度if( lStyle & WS_VISIBLE ) { //任务栏可见 RECT TastRect;pTaskWnd->GetWindowRect(&TastRect); //任务栏的尺寸nShellHight = TastRect.bottom - TastRect.top;} else { //任务栏隐藏 不做处理}}cy -= nShellHight;lpMMI->ptMaxSize.x = cx; // 设置窗口最大化时的宽度lpMMI->ptMaxSize.y = cy; // 设置窗口最大化时的高度lpMMI->ptMaxPosition.x = 0; // 设置窗口最大化时x坐标lpMMI->ptMaxPosition.y = 0; // 设置窗口最大化时y坐标lpMMI->ptMinTrackSize.x = MINIMUM_WINDOWS_X; // 设置窗口最小宽度lpMMI->ptMinTrackSize.y = MINIMUM_WINDOWS_Y; // 设置窗口最小高度lpMMI->ptMaxTrackSize.x = cx; // 设置窗口最大宽度lpMMI->ptMaxTrackSize.y = cy; // 设置窗口最大高度CFrameWndEx::OnGetMinMaxInfo(lpMMI);}
)
阅读全文
0 0
- MFC 实现对显示的界面(最小宽度和最小高度的限制)
- MFC,调整窗口大小限制大小,设置窗口的最大|最小宽度与高度
- IE6的最大最小高度和宽度
- IE6解决最小高度和最小宽度的问题
- Wiki_Android_获取ImageView的最大最小宽度和高度
- CSS控制页面最大最小宽度和高度可兼容IE6版本的实现方法
- Winforms:Form的最小宽度限制
- 设置最小宽度 最小高度 最大宽度 最大高度的作用
- CSS的最大高度,最小高度及宽度问题
- 【框架MFC】限制单文档和多文档窗口范围最小值(设置窗口宽度和高度的下限)
- 设定网页最小最大宽度和高度(兼容IE6)
- IE中的最大最小宽度和高度
- 控制浏览器窗口的可以缩放的最小高度和宽度
- 如何设置一个div层的最小宽度或高度
- 页面的最小宽度
- SWF文件自适应浏览器以及控制SWF的最小宽度和高度
- 树的最小高度
- 高度最小的BST
- Win7如何取消开机启动项?win7取消开机启动项的方法
- Armbian hostname and WiFi configuration
- HTML DOM 和 XML DOM
- App有奖邀请技术方案比较
- Python中用GDAL实现矢量对栅格的切割
- MFC 实现对显示的界面(最小宽度和最小高度的限制)
- Mysql EXPLAIN 命令详解
- 手机端自适应
- lighttpd/1.4.45 301从定向
- TensorFlow 学习
- java中的toString()方法
- Java String字符串补0或空格
- 金蝶EAS,代码实现窗口最大化,按钮可用,图标设置
- MyEclipse中Tomcat控制台打印中文乱码解决方案