📄 subject_38098.htm
字号:
<p>
序号:38098 发表者:pan_doreen 发表日期:2003-04-30 17:16:49
<br>主题:为什么用GetClientRect却得到不同结果
<br>内容:我使MDI程序的主框架和子窗口一启动就最大化,修改如下:<BR>pMainFrame->ShowWindow(SW_SHOWMAXIMIZED);<BR>void CChildFrame::ActivateFrame(int nCmdShow) <BR>{<BR> // TODO: Add your specialized code here and/or call the base class<BR> nCmdShow = SW_SHOWMAXIMIZED;<BR> CMDIChildWnd::ActivateFrame(nCmdShow);<BR>}<BR><BR>然后在childfrm.cpp中加入oncreateclient函数,在oncreateclient函数中用getclientrect(rectclient),又在view类的ondraw中用getclientrect(rectclient),得到的结果不一样,用TRACE调试得如下信息:<BR>IN ONCREATECLIENT<BR> rectClient.width=810 rectClient.height=426(是不令窗口最大化时的大小)<BR>IN ONDRAW<BR> rectClient.width=1020 rectClient.height=655(是最大化后的大小)<BR>不知为什么会这样,向高手请教?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:严丰 回复日期:2003-04-30 22:07:36
<br>内容:这几个函数的顺序是OnCreateClient->OnCreateView->OnSize-->ActivateFrame-->OnSize-->OnDraw(这中间省略了OnUpdate等函数)。你的view是在OnCreateView里建立的。可见ActivateFrame之前窗口以前就frame就有初始化了。(你可以用trace看一下)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -