码迷,mamicode.com
首页 > 编程语言 > 详细

MFC中设置对话框/窗体大小固定

时间:2015-11-08 20:53:48      阅读:518      评论:0      收藏:0      [点我收藏+]

标签:

对话框:
1、响应WM_GETMINMAXINFO消息(设置lpMMI->ptMinTrackSize和lpMMI->ptMaxTrackSize)
2、响应消息WM_SYSCOMMAND,屏蔽SC_SIZE(if((nID & 0xFFF0) == SC_SIZE) return;)
3、响应WM_NCHITTEST消息,如下:
UINT CXxDlg::OnNcHitTest(CPoint point) 

{
UINT ht = CDialog::OnNcHitTest(point);
if(ht >= HTLEFT && ht <= HTBOTTOMRIGHT)
ht = HTBORDER;
return ht;
}
4、直接拿掉窗口的THICKFRAME风格即可:
ModifyStyle(m_hWnd,WS_THICKFRAME,0,0);

 MINMAXINFO结构如下:
typedef struct tagMINMAXINFO {
POINT ptReserved;
POINT ptMaxSize;  //控制窗口最大化时的宽度(point.x)和高度(point.y)
POINT ptMaxPosition;
//控制窗口最大化时左边(point.x)和上边距离屏幕左上角的位置(point.y)
  POINT ptMinTrackSize;
//控制窗口拖拉后的最小尺寸的宽度(point.x)和高度(point.y)
  POINT ptMaxTrackSize;
//控制窗口拖拉后的最大尺寸的宽度(point.x)和高度(point.y)
} MINMAXINFO;

窗体:

在MainFrm.cpp的PreCreateWindow中的//TODO注释部分后面增加:

cs.style &= ~WS_THICKFRAME; //去掉可改变大小的边框
cs.style |= WS_DLGFRAME; //增加不能改变大小的边框

MFC中设置对话框/窗体大小固定

标签:

原文地址:http://www.cnblogs.com/fastcam/p/4948015.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!