想搞定之前提到的第9点需求,在TabCtrl上放View,实现多张View的显示。TabCtrl不是个View或其派生出来的,所以不能作为ChildFrame的一张分割视图出现,这是我猜测的,也是后面的依据。所以在之前一个很好的拆分窗口的例子VIEWEX中发现可以用FormView来作为视图,而FormView是支持窗口操作的,就是会跟着生成一个窗体,然后就可以在上面放TabCtrl,那怎么在TabCtrl上放View呢,网上有方法提到现在TabCtrl上放Dialog,然后在Dialog上放View,以上是摘要。

下面提提基本思路和参考链接,1,2,3提到怎么在Dialog上放View,1比较乱,用的是2中的代码,思路是在Dialog上放一个Static Text,然后在借助它来创建View,3中的方法是不用控件。借助的是CCreateContext,设置一些信息之后,便用它来创建View,见下面代码:

context.m_pCurrentDoc = pDoc;
context.m_pCurrentFrame = (CFrameWnd *)this;//设置父窗体指针,将对话框指针强制转换
context.m_pLastView = NULL;//前一个视图为空
context.m_pNewDocTemplate = NULL;//文档模板为空
context.m_pNewViewClass = RUNTIME_CLASS(MView);
//动态调用CreateObject创建一个对象并获得指针
m_pView = (MView*)context.m_pNewViewClass->CreateObject();//通过指针创建视图对象

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-18
  • 2022-01-15
  • 2022-01-28
  • 2022-12-23
  • 2021-10-07
猜你喜欢
  • 2021-12-23
  • 2021-10-20
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案