上位机VC MFC实现树状导航界面
功能展示
系统中资源浏览器左边就是一个树状的导航界面。树状的导航功能,非常方便上位机程序的操作,那么如何实现这种功能呢?当前实例就实现了这功能,用户鼠标双击树形视图内的按钮,实现我们定义的功能,效果如图
19上位机VC MFC实现树状导航界面
要点提示 当前实例是通过窗体的分割技术将树形视图显示在左边,后通过视窗的GetTreeCtrl方法获得CTreeCtrl对象,通过CTreeCtrl对象接受双击事件来实现导航功能;我们当前实例从CTreeView派生了自己的类TreeView,实现树状导航的具体功能。
我们看下具体的实现过程
实现功能
1.新建一个单文档应用程序 2.将例程的TreeView.cpp,TreeView.h文件复制到自己工程中,在框架类中添加CSplitterWnd split; 再添加虚函数OnCreateClient(LPCREATESTRUCTlpcs, CCreateContext* pContext) 实现split的初始化 BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext) { // TODO: Add yourspecialized code here and/or call the base class split.CreateStatic(this,1,2); split.CreateView(0,0,RUNTIME_CLASS(TreeView),CSize(100,100),pContext); split.CreateView(0,1,RUNTIME_CLASS(CGkbc8View),CSize(100,100),pContext); returnCFrameWnd::OnCreateClient(lpcs, pContext); } 3.最后进入APP类的InitInstance()中屏蔽// RUNTIME_CLASS(CGkbc8View) CSingleDocTemplate*pDocTemplate; pDocTemplate =new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CGkbc8Doc), RUNTIME_CLASS(CMainFrame), // main SDI frame window // RUNTIME_CLASS(CGkbc8View) NULL);//新添加 AddDocTemplate(pDocTemplate); 注意头文件的添加;,最后添加树状导航按钮的图标,完成整个功能
我们来演示实现这功能的整个过程
源码及视频下载 (仅在电脑可见)
|