📄 index103.htm
字号:
<html>
<style type="text/css"><!--
.p9 { font-family: "宋体"; font-size: 9pt}a {text-transform: none; text-decoration: none;}
a:hover {text-decoration: underline; color: #FF0000;}
--></style>
<body background="../di2001.jpg">
<h3 align="center"><font COLOR="#AOAO99"></font></h3>
<table width="100%" border="1" cellspacing="1">
<tr><td><p align="center"><font color="#FF0000">如何控制窗口框架的最大最小尺寸?</font></td></tr>
<tr><td><p>
</Br>
要控制一个框架的的最大最小尺寸,你需要做两件事情.在CFrameWnd的继承类中处理消息WM_GETMINMAXINFO,结构MINMAXINFO设置了整个窗口类的限制,因此记住要考虑工具条,卷动条等等的大小.<Br>
</Br>
// 最大最小尺寸的象素点 - 示例<Br>
#define MINX 200<Br>
#define MINY 300<Br>
#define MAXX 300<Br>
#define MAXY 400<Br>
</Br>
void CMyFrameWnd::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)<Br>
{<Br>
CRect rectWindow;<Br>
GetWindowRect(&rectWindow);<Br>
</Br>
CRect rectClient;<Br>
GetClientRect(&rectClient);<Br>
</Br>
// get offset of toolbars, scrollbars, etc.<Br>
int nWidthOffset = rectWindow.Width() - rectClient.Width();<Br>
int nHeightOffset = rectWindow.Height() - rectClient.Height();<Br>
</Br>
lpMMI->ptMinTrackSize.x = MINX + nWidthOffset;<Br>
lpMMI->ptMinTrackSize.y = MINY + nHeightOffset;<Br>
lpMMI->ptMaxTrackSize.x = MAXX + nWidthOffset;<Br>
lpMMI->ptMaxTrackSize.y = MAXY + nHeightOffset;<Br>
}<Br>
第二步,在CFrameWnd的继承类的PreCreateWindow函数中去掉WS_MAXIMIZEBOX消息,否则在最大化时你将得不到预料的结果.<Br>
</Br>
BOOL CMyFrameWnd::PreCreateWindow(CREATESTRUCT& cs)<Br>
{<Br>
cs.style &= ~WS_MAXIMIZEBOX;<Br>
return CFrameWnd::PreCreateWindow(cs);<Br>
}<Br>
</Br>
</p></td></tr>
</table>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -