📄 subject_29313.htm
字号:
<p>
序号:29313 发表者:yingpf 发表日期:2003-02-03 19:37:50
<br>主题:请教一下:客户区到底是指哪一块??????
<br>内容:它包括工具栏、状态栏、菜单标、题栏中的哪一些??<BR>用GetClientRect()获得的区域是哪些部分??
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:tiger_bai 回复日期:2003-02-04 07:21:43
<br>内容:构造参数所声明那部分!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:石松 回复日期:2003-02-05 10:52:49
<br>内容:客户区应指除白色窗口(缺省那一块),CRect MyRect GetClientRect(&MyRect)获得的就是那块白色的区域。若要取所有包括工具栏等等应用GetWindowRect()
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yingpf 回复日期:2003-02-05 14:33:30
<br>内容:多谢两位的解答。但是为什么,我用一个CtlList控件来填充GetClientRect()获取的区域,却覆盖了工具栏和状态栏的区域呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:石松 回复日期:2003-02-05 17:38:18
<br>内容:把你的源代码贴上来。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:chenmb 回复日期:2003-02-06 12:51:21
<br>内容:GetClientRect(&rect) ;<BR>m_ListCtrl.MoveWindow(0, 0, rect.right, rect.bottom) ;<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:onlylife 回复日期:2003-02-06 22:11:44
<br>内容:你是不是用的dialog<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yingpf 回复日期:2003-02-10 10:06:18
<br>内容:我用的是如下的代码:<BR>void CMainFrame::OnSize(UINT nType, int cx, int cy) <BR>{<BR> CFrameWnd::OnSize(nType, cx, cy);<BR> // TODO: Add your message handler code here<BR> CRect clientRect;<BR> GetClientRect(&clientRect);<BR> m_UrlList.MoveWindow(0, 0, clientRect.right, clientRect.bottom);<BR>}<BR>但是覆盖了工具栏和状态栏,如图:
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:chenmb 回复日期:2003-02-10 11:49:18
<br>内容:出现这个问题的原因是因为:你使用了CMainFrame::GetClientRect()获取了主框架窗口的客户区,而工具栏和状态栏是画在主框架的客户区内。当你调用完:<BR>CRect clientRect;<BR>GetClientRect(&clientRect);<BR>m_UrlList.MoveWindow(0, 0, clientRect.right, clientRect.bottom);<BR><BR>后,listctrl当然就会覆盖工具栏与状态栏了。<BR><BR>解决方法有两种:<BR>一、使用文档/视图模式来完成你的程序,这时,就不应在CMainFrame中调用GetClientRect()了,而应在CView中调用GetClientRect(),获得的结果将与你所期望的一致,如图。<BR><BR>二、在CMainFrame中调用GetClientRect()获得主框架窗口的客户区大小,然后减去工具栏与状态栏的高度。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:chenmb 回复日期:2003-02-10 12:13:00
<br>内容:第二种方法的实现如下:<BR><BR>void CMainFrame::OnSize(UINT nType, int cx, int cy) <BR>{<BR> CFrameWnd::OnSize(nType, cx, cy);<BR><BR> CRect rect, rtToolbar, rtStatusbar ;<BR><BR> GetClientRect(&rect) ;<BR> m_wndToolBar.GetWindowRect(&rtToolbar) ;<BR> m_wndStatusBar.GetWindowRect(&rtStatusbar) ;<BR><BR> rect.top += (rtToolbar.bottom - rtToolbar.top) ;<BR> rect.bottom -= (rtStatusbar.bottom - rtStatusbar.top) ;<BR><BR> m_List.MoveWindow(&rect) ;<BR><BR>}<BR><BR>两种方法都能达到你想要的效果。对于第二种方法我为你写了一个例子。在VC6下通过编译。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yingpf 回复日期:2003-02-10 12:40:33
<br>内容:多谢chenmb兄,但我不知在Cview的哪个成员函数中写这些代码。<BR>我在cView::oncreate()中试了,不行啊.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:chenmb 回复日期:2003-02-11 11:28:58
<br>内容:在CView的OnSize(处理WM_SIZE消息)中加入改变列表控件大小的代码。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yingpf 回复日期:2003-02-12 08:50:12
<br>内容:Thank u!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:¢左手剑 回复日期:2003-02-12 19:15:35
<br>内容:no thank!
<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 + -