您的位置:首页 > 其它

VC窗口的分割(锁定分割条和定制切分条)二

2013-05-02 19:39 169 查看
前面有篇文章叫做《 VC窗口的分割(锁定分割条和定制切分条)》,对VC窗口分割做的比较全面的讲述。本文旨在记录的 是我在做分割条时的一些错误和收获。

1. 分割不同的窗格以后,一般来讲是在里面填充不同的view类视图。但是能不能在不同的窗格填相同的视图类?

答案是可以!

即 CreateView里的RUNTIME_CLASS里的视类是一样的,就可!
//m_Sp讲将窗口分为1行2列
//
m_Sp.CreateView(0,0,RUNTIME_CLASS(C***View),CSize(cx/5.0,cy),pContext);
m_Sp.CreateView(0,1,RUNTIME_CLASS(C***View),CSize(cx/5.0,cy),pContext);


2. 只用一个分割条变量能够讲窗口 分为一行多列(多行一列),当然是可以的。而之前总不成功,是因为

(1)m_Sp.CreateView 里的头2个参数,一定要搞对,第一个是行,第二个是列。细心点。

(2)m_Sp.CreateView里后面CSize 参数,也要对,尺寸加起来为整个屏幕窗口,不能冲突,这也要注意。

(PS:只用一个分割条变量能否实现多行多列的情况,还不是很清楚)

3. 做窗口分割,还要特别注意对应:

//获得某个窗格的指针
CWnd * pWnd = this->m_Sp1.GetPane(行,列);
//获得此窗格视图的指针
this->m_pView = DYNAMIC_DOWNCAST(C3DRCSView,pWnd);


GetPane函数里的行和列,DYNAMIC_DOWNCAST里的视图类,

都要与前面创建时m_Sp.CreateView函数的里面的行列及视图类对应,否则很容易出现内存错误!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: