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

前面有篇文章叫做《  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函数的里面的行列及视图类对应,否则很容易出现内存错误!



你可能感兴趣的:(VC窗口的分割(锁定分割条和定制切分条)二)