VC++树视控件在多文档中的使用
2007-10-05 20:22:27 来源:WEB开发网核心提示:自从来到我们的论坛以来,认识了很多的朋友和编程的高手,VC++树视控件在多文档中的使用,从中学到了很多知识,我看在论坛中有很多人问关于树控的问题,在mybar类中加入OnUpdateCmdUI(CFrameWnd *pTarget, BOOL bDisableIfNoHndler)代码如下:void mybar::On
自从来到我们的论坛以来,认识了很多的朋友和编程的高手,从中学到了很多知识。我看在论坛中有很多人问关于树控的问题。故将树控的一些问题写出来,以供大家参考,同时也作为近一段时间来学习的总结。
本文中主要讲到如何在多文档中加入一个ControlBar,以及如何在ControlBar中加入一个树控方法。这也是软件系统中常用的一种界面,希望能对大家有所帮助。
本例的运行结果如下:
首先,新建一个多文档工程,将Sizecbar.cpp和Sizecbar.h复制到工程的文件加中,并将新文件加入到工程中。这样工程中加入了个新类CsizingControlBar。然后,利用Class Wizard 生成也基于CtoolBar的新类mybar。将基类改为CsizingControlBar。
在mybar类中加入OnUpdateCmdUI(CFrameWnd *pTarget, BOOL bDisableIfNoHndler)
代码如下:
void mybar::OnUpdateCmdUI(CFrameWnd *pTarget, BOOL bDisableIfNoHndler)
{
UpdateDialogControls(pTarget, bDisableIfNoHndler);
}
再在CMainFrame中加入mybar 的成员变量m_CtrlBar;在CmainFrame的OnCreate函数中加入一下代码:
if(!m_CtrlBar.Create("数据浏览条",this, CSize(200,200),TRUE,123))
{
TRACE0("Failed to create mybar
");
return -1;
// fail to create
}
m_CtrlBar.SetBarStyle(m_CtrlBar.GetBarStyle()|
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_CtrlBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_CtrlBar,AFX_IDW_DOCKBAR_LEFT);
此时运行一下程序,将看到已经将mybar加入了工程中。下面将在mybar中加入一个树视控件。
更多精彩
赞助商链接