hur.cn - 华软网

 热门搜索

帮我理解下一段代码的含义

  作者:未知    来源:网络    更新时间:2011/1/11

class CSplitterView : public CView
...

//这个视的作用是进一步将一个CFrameWnd分解成两个View。在这里,下面的代码起什么作用呢?
void CSplitterView::OnSize(UINT nType, int cx, int cy) 
{
CView::OnSize(nType, cx, cy);

// TODO: Add your message handler code here
m_wndSplitter.MoveWindow(-2, -2, cx + 4, cy+4);
m_wndSplitter.SetRowInfo(0, cy - (cy/4), 0);
m_wndSplitter.SetRowInfo(1, cy/4, 20);
m_wndSplitter.RecalcLayout();
}
---华软 网友回答---
设置拆分窗口的巨细
---华软网友回复---
另外你这么写极可能程序会溃散,由于你没有判断窗口是否已经创建成功,原因是OnSize会调用屡次
---华软网友回复---
我是学习人家的代码时抄的。
一般我是
if (GetSafeHwnd() && m_wndSplitter.GetSafeHwnd())
{
。。。
}
这样的。
---华软网友回复---
引用 3 楼 liwenyang1118 的回复:
我是学习人家的代码时抄的。
一般我是
if (GetSafeHwnd() && m_wndSplitter.GetSafeHwnd())
{
。。。
}
这样的。

最简单的设置一个BOOL类型的成员变量,初始值为FALSE,在CMainFrame类的OnCreateClient函数中最后return TRUE;前往之前设置为TRUE;
在OnSize中你就能够先判断该标志是否为TRUE,为TRUE的话就加上你上面的代码      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。