MFC中静态与动态设置窗体最大与最小尺寸
2012-07-23 16:08
435 查看
动态:需要使用的东西,消息:WM_GETMINMAXINFO,映射函数:OnGetMinMaxInfo(),结构体:MINMAXINFO
在消息WM_GETMINMAXINFO的映射函数下填写代码:
void CNewBNCDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
CPoint pt(400,400);
lpMMI->ptMinTrackSize=pt;
CDialog::OnGetMinMaxInfo(lpMMI);
}
即可实现限制窗体最小尺寸的功能。
结构体:
参数说明:
ptReserved:预留给内部使用,即预留值
ptMaxSize: 设置窗口最大化时的宽度、高度
ptMaxPosition: 设置窗口最大化时x坐标、y坐标
ptMinTrackSize: 设置窗口最小宽度、高度
ptMaxTrackSize:设置窗口最大宽度、高度
实例:
void CTestDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
lpMMI->ptMaxSize.x = 800; // 设置窗口最大化时的宽度
lpMMI->ptMaxSize.y = 600; // 设置窗口最大化时的高度
lpMMI->ptMaxPosition.x = 100; // 设置窗口最大化时x坐标
lpMMI->ptMaxPosition.y = 100; // 设置窗口最大化时y坐标
lpMMI->ptMinTrackSize.x = 400; // 设置窗口最小宽度
lpMMI->ptMinTrackSize.y = 400; // 设置窗口最小高度
lpMMI->ptMaxTrackSize.x = 600; // 设置窗口最大宽度
lpMMI->ptMaxTrackSize.y = 500; // 设置窗口最大高度
CDialog::OnGetMinMaxInfo(lpMMI);
}
静态:在CMainFrame中,在PreCreateWindow中添加静态代码;在DIALOG中,在OnInitDialog函数中添加静态代码。
例如在CMainFrame中:
参考文献:【1】http://blog.csdn.net/sqcfj/article/details/7245568
【2】http://www.chenj.in/2011/10/31/%E9%99%90%E5%AE%9AMFC%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F%E7%9A%84%E7%AE%80%E5%8D%95%E6%96%B9%E6%B3%95
在消息WM_GETMINMAXINFO的映射函数下填写代码:
void CNewBNCDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
CPoint pt(400,400);
lpMMI->ptMinTrackSize=pt;
CDialog::OnGetMinMaxInfo(lpMMI);
}
即可实现限制窗体最小尺寸的功能。
结构体:
typedef struct tagMINMAXINFO { POINT ptReserved; POINT ptMaxSize; POINT ptMaxPosition; POINT ptMinTrackSize; POINT ptMaxTrackSize; } MINMAXINFO;
参数说明:
ptReserved:预留给内部使用,即预留值
ptMaxSize: 设置窗口最大化时的宽度、高度
ptMaxPosition: 设置窗口最大化时x坐标、y坐标
ptMinTrackSize: 设置窗口最小宽度、高度
ptMaxTrackSize:设置窗口最大宽度、高度
实例:
void CTestDlg::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
lpMMI->ptMaxSize.x = 800; // 设置窗口最大化时的宽度
lpMMI->ptMaxSize.y = 600; // 设置窗口最大化时的高度
lpMMI->ptMaxPosition.x = 100; // 设置窗口最大化时x坐标
lpMMI->ptMaxPosition.y = 100; // 设置窗口最大化时y坐标
lpMMI->ptMinTrackSize.x = 400; // 设置窗口最小宽度
lpMMI->ptMinTrackSize.y = 400; // 设置窗口最小高度
lpMMI->ptMaxTrackSize.x = 600; // 设置窗口最大宽度
lpMMI->ptMaxTrackSize.y = 500; // 设置窗口最大高度
CDialog::OnGetMinMaxInfo(lpMMI);
}
静态:在CMainFrame中,在PreCreateWindow中添加静态代码;在DIALOG中,在OnInitDialog函数中添加静态代码。
例如在CMainFrame中:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return false; // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs cs.style &= ~WS_MAXIMIZEBOX; //禁用最大化按钮 cs.style &= ~WS_THICKFRAME; //禁止调整窗口大小 cs.cx = 800; //固定窗口宽度 cs.cy = 600; //固定窗口高度(包括菜单栏等) return true; }
参考文献:【1】http://blog.csdn.net/sqcfj/article/details/7245568
【2】http://www.chenj.in/2011/10/31/%E9%99%90%E5%AE%9AMFC%E7%AA%97%E5%8F%A3%E5%A4%A7%E5%B0%8F%E7%9A%84%E7%AE%80%E5%8D%95%E6%96%B9%E6%B3%95
相关文章推荐
- MFC设置窗体最小尺寸
- MFC 窗口最大尺寸与最小尺寸设置
- WM_GETMINMAXINFO 设置窗口最大最小尺寸(无边框窗口不遮挡任务栏)
- MFC 控制窗口最大最小尺寸
- Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸
- MFC,调整窗口大小限制大小,设置窗口的最大|最小宽度与高度
- 设置窗口的最大最小尺寸
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸
- VC++ MFC 中动态更改透明背景的静态文本时重叠现象(尤其是界面设置了背景图片时)
- MFC 静态文本框使用/更改button背景色/不使能button/设置标题/不显示控件/窗口最大最小化
- Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸
- CMainFrame控制窗体最大最小尺寸
- :1)复选框中文字在左边;2)最下部为水平滚动条。水平滚动条最小值为4、最大值为72;且在窗体Load事件中通过代码设置;3)单击任何复选框,标签上文字样式都发生变化;4)单击任意单选按钮,标签上文字
- WTL 设置主窗口最小/最大尺寸
- MFC学习日记七:Mfc动态(静态)设置菜单项
- 1)复选框中文字在左边;2)水平滚动条最小值为4、最大值为72;且在窗体Load事件中通过代码设置;3)单击任何复选框,标签上文字样式都发生变化;4)单击任意单选按钮,标签上文字字体都发生改变;5)拖
- 静态链接到MFC的DLL 和 动态连接到MFC的DLL 的区别
- wordpress设置伪静态URL后还收录动态的URL