当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 轻松实现类 MSDN 2002 界面(二)
| 轻松实现类MSDN2002界面(二) 下载源代码 #define WM_AUTOHIDE_ON WM_USER+1#include ".\src\sizecbar.h"#include ".\src\AutoHideBar.h"二、修改 MainFrame 的继承关系。 头文件修改为:class CMainFrame : public CautoHideFrame cpp文件修改:IMPLEMENT_DYNCREATE(CMainFrame, CAutoHideFrame) BEGIN_MESSAGE_MAP(CMainFrame, CAutoHideFrame)三、 声明DockPageBar: CDockPageBar m_wndDockPageBar在OnCreate创建DockPageBar: if (!m_wndDockPageBar.Create(_T("DockPageBar"), this, CSize(230,260),TRUE,123)) { TRACE0("Failed to create DockPageBar.\n"); return -1; } m_wndDockPageBar.SetBarStyle(m_wndDockPageBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); m_wndDockPageBar.EnableDocking (CBRS_ALIGN_ANY); 允许Frame停靠:EnableDocking(CBRS_ALIGN_ANY);将DockPageBar停靠到左边: DockControlBar(&m_wndDockPageBar, AFX_IDW_DOCKBAR_LEFT);四、好了,停靠 Bar 已经创建好了,并且具有了自动隐藏功能。下面你就可以忘停靠条里添加标签页了!! if (!m_wndEdit.Create(WS_CHILD|WS_VISIBLE| ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL, CRect(0,0,0,0), this, 123)) return -1; m_wndDockPageBar.AddPage(&m_wndEdit,"Edit",IDI_INDEX);OK,编译执行就可以了!!就这么简单。至于实现原理就不在这里讲了,有幸趣的话可以看源码,不过源码有点乱,现在实在是没有时间整理了!!自动隐藏功能的实现代码没有加注释,抱歉!!! 还有,以前发表的《二进制浏览、编辑的实现》存在的Bug修改了一下,并加了注释,一并发上来。本程序匆忙中完成,不足之处请见凉。 |
评论 (0) All