⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index103.htm

📁 一本不错的VC编程的参考书
💻 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>
&nbsp;&nbsp;&nbsp;&nbsp;CRect rectWindow;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;GetWindowRect(&rectWindow);<Br>
</Br>
&nbsp;&nbsp;&nbsp;&nbsp;CRect rectClient;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;GetClientRect(&rectClient);<Br>
</Br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// get offset of toolbars, scrollbars, etc.<Br>
&nbsp;&nbsp;&nbsp;&nbsp;int nWidthOffset = rectWindow.Width() - rectClient.Width();<Br>
&nbsp;&nbsp;&nbsp;&nbsp;int nHeightOffset = rectWindow.Height() - rectClient.Height();<Br>
</Br>
&nbsp;&nbsp;&nbsp;&nbsp;lpMMI->ptMinTrackSize.x = MINX + nWidthOffset;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;lpMMI->ptMinTrackSize.y = MINY + nHeightOffset;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;lpMMI->ptMaxTrackSize.x = MAXX + nWidthOffset;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;lpMMI->ptMaxTrackSize.y = MAXY + nHeightOffset;<Br>
}<Br>
第二步,在CFrameWnd的继承类的PreCreateWindow函数中去掉WS_MAXIMIZEBOX消息,否则在最大化时你将得不到预料的结果.<Br>
</Br>
BOOL CMyFrameWnd::PreCreateWindow(CREATESTRUCT& cs)<Br>
{<Br>
&nbsp;&nbsp;&nbsp;&nbsp;cs.style &= ~WS_MAXIMIZEBOX;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;return CFrameWnd::PreCreateWindow(cs);<Br>
}<Br>
</Br>
</p></td></tr>
</table>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -