`
dyx1024
  • 浏览: 114717 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

关于用CSplitterWnd分割View的一点总结

 
阅读更多

1.在要分割的View中添加OnCreate消息响应函数 ;

2.分割函数:

intCUserManagerSplitterView::OnCreate(LPCREATESTRUCTlpCreateStruct)
...{
if(CView::OnCreate(lpCreateStruct)==-1)
return-1;

if(!m_wndUserSplitter.CreateStatic(this,1,2))
...{
returnFALSE;
}


BOOLbRet
=m_wndUserSplitter.CreateView(0,0,RUNTIME_CLASS(CUserLeftPanView),CSize(200,100),NULL);
if(!bRet)
...{
TRACE0(
"Failedtocreateleftuserpan!");
returnFALSE;
}


bRet
=m_wndUserSplitter.CreateView(0,1,RUNTIME_CLASS(CUserRightPanView),CSize(100,100),NULL);
if(!bRet)
...{
TRACE0(
"Failedtocreaterightuserpan!");
returnFALSE;
}


m_wndUserSplitter.RecalcLayout();


return0;
}

3.添加OnSize()响应,显示SplitterWnd:

voidCUserManagerSplitterView::OnSize(UINTnType,intcx,intcy)
...{
CView::OnSize(nType,cx,cy);

if(this->m_hWnd!=NULL)
...{
CRectrect;
GetClientRect(
&rect);

if(m_wndUserSplitter.GetSafeHwnd()!=NULL)
...{
m_wndUserSplitter.MoveWindow(
&rect);
}


}


}

3.如果要Left Pan 与 Right Pan 可相互通信,参考以下代码:

//在CUserLeftPanView中定义:CUserRightPanView*m_pUserRightPanView;
//然后在OnCreate后面添加:

CUserLeftPanView
*pUserLeftPanView=(CUserLeftPanView*)m_wndSplitter.GetPane(0,0);
pUserLeftPanView
->m_pRightPanView=(CUserRightPanView*)m_wndSplitter.GetPane(0,1);

4.分割Frame方法一样;

分享到:
评论

相关推荐

    CSplitterWnd分割框架4個

    CSplitterWnd分割框架成爲四個區域, 分別為列表框、樹形視圖、對話框(2個);還包含列表框和樹形視圖的通訊, 很簡單

    CSplitterWnd分割窗体

    在MFC下,使用CSplitterWnd将窗体分割成左右两个部分,并固定窗体大小与分割窗体的大小。

    vc分割窗口实例(用CSplitterWnd)

    用CSplitterWnd分割窗口实例,比较简单,一看就会

    CSplitterWnd分割框架

    CSplitterWnd分割框架 使用CFrameWnd顯示對話框 分成左右兩個View. 很簡單

    论文研究-论CSplitterWnd分割窗口之间的通信 .pdf

    论CSplitterWnd分割窗口之间的通信,张永良,黄欢,本文讨论了CSplitterWnd 分割窗口之间的通信,以及在多线程系统中的通信,以解决各种应用系统分割窗口之间的通信问题。

    CSplitterWnd分割窗口

    mfc写单文档程序,用CSplitterWnd 分割窗口的方法介绍。

    使用CSplitterWnd实现窗口分割与数据交互

    使用CSplitterWnd实现窗口分割与数据交互

    CSplitterWnd 自绘制分隔条

    本代码实现了CSplitterWnd中,分隔条的自绘制,实现来再分割条中添加位图(位图是个小箭头),点击箭头实现上下左右隐藏,可以用于实现类似于QQGame游戏打厅的界面。

    使用CSplitterWnd 分割窗体,翻译教程

    这是http://blog.csdn.net/debug1984/archive/2008/12/19/3556420.aspx的PDF版。

    使用CSplitterWnd类分割窗口

    CSplitterwnd 类——拆分窗口类,提供分离窗口的功能,使一个窗口包含多个方格。 CSplitterWnd类提供一个分隔器窗口的功能,分隔器窗口是一个包含有多个窗格的窗口。窗格通常是应用程序特定的由CView派生的对象,但...

    VC分割窗口_CSplitterWnd

    用CSplitterWnd来实现窗体的分割。 有详细的说明文档与VC代码!!!

    分割器Csplitterwnd应用

    关于c++中Csplitterwnd类的应用,能通过点选listview中的item来变换分割器的左视图(共有两套视图方案),以及完成左视图的隐藏和重新显现。对于想通过使用分割器丰富UI的开发者来说,通过对此例的学习,将有所受益...

    视图多级分割及动态切换分割模式

    使用CSplitterWnd视图多级分割及动态切换分割模式,其中有两种形式, 代码中ChildFrame.cpp中OnCreateClient两种不同方式,注释其中一种运行。运行时,菜单最后一项为切换视图,分割线上下分别为两种OnCreateClient...

    CSplitterWnd

    CSplitterWnd使用手册

    MFC的窗口分割实例以及CSplitterWnd类

    MFC的窗口分割实例以及CSplitterWnd类.pdf 详细介绍了CSplitterWnd的相关知识,帮助学习mfc编程的同学去进行窗口的分割

    CSplitterWnd扩展

    继承CSplitterWnd写的扩展类 实现,不可移动分割条(固定分割条),光标移动到分隔条上不会变

    CSplitterWnd的基本使用(视图折分,分割窗口)(源码)

    曾经在网上搜索CSPLITTERWND的用法,搜到的都是比较高级的用法,对初学者来说不太适合,本人经过一段时间学习之后,略懂一二,写了个例子来说明CSPLITTERWND的基本使用,各位见笑了(内附说明)

Global site tag (gtag.js) - Google Analytics