WEB开发网
开发学院软件开发VC 在MDI程序中实现类似WPS2000的文件切换标签 阅读

在MDI程序中实现类似WPS2000的文件切换标签

 2010-06-15 20:40:03 来源:WEB开发网   
核心提示:7、在菜单资源"查看"中加入菜单项"文件切换",ID值为ID_VIEW_TAB_BAR,在MDI程序中实现类似WPS2000的文件切换标签(3),在MainFrm.cpp中消息映射部分加入以下两行:ON_COMMAND_EX(ID_VIEW_TAB_BAR, OnBarCheck

7、在菜单资源"查看"中加入菜单项"文件切换",ID值为ID_VIEW_TAB_BAR。在MainFrm.cpp中消息映射部分加入以下两行:

ON_COMMAND_EX(ID_VIEW_TAB_BAR, OnBarCheck)
ON_UPDATE_COMMAND_UI(ID_VIEW_TAB_BAR, OnUpdateControlBarMenu)

8、在CMainFrame::OnCreate()加入以下代码:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{  
//向导生成代码略去
//创建TAB条
if (!m_wndTabBar.Create(this, IDD_TAB_DLG_BAR,
CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
ID_VIEW_TAB_BAR)) //ID_VIEW_TAB_BAR是菜单命令ID,用于显示或隐藏对话框条
{
TRACE0("Failed to create dialog bar m_wndDialogbar\n");
return -1; // fail to create
}
//m_wndTabBar.EnableDocking(CBRS_ALIGN_LEFT | CBRS_ALIGN_RIGHT);
//EnableDocking(CBRS_ALIGN_ANY);
//DockControlBar(&m_wndTabBar);
//将m_MyTab与控件IDC_TAB绑定
m_MyTab.SubclassDlgItem(IDC_TAB, &m_wndTabBar);
return 0;
}

9、为类CMainFrame添加WM_SIZE消息映射函数,如下:

void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CMDIFrameWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rcClient;
GetClientRect(&rcClient);
int left,top,right,bottom;
left=rcClient.left;
top=rcClient.top;
right=rcClient.right;
bottom=rcClient.bottom;
m_wndTabBar.MoveWindow(left,top+24,right-left,24,TRUE);
CRect rcTab;
m_wndTabBar.GetClientRect(&rcTab);
CTabCtrl *pMyTab=(CTabCtrl *)(m_wndTabBar.GetDlgItem(IDC_TAB));
pMyTab->MoveWindow(rcTab,TRUE);
}

三、手工创建类CViewManager

新建两个文件ViewManager.h、ViewManager.cpp ,并添加到当前工程。类的源码参见本文所附例子。下面对其成员作简单说明:

OnActivateView(); //当一个视被激活时,该函数被调用,刷新Tab控件

GetWindowNum(); //返回打开的子窗口数

RemoveAll(); //清空数组arViews、arViewTitles

RemoveView(); //用于在数组及Tab控件中删除一项

AddView(); //用于在数组及Tab控件中加入一项

CViewManager(); //构造函数

~CViewManager(); //析构函数,清空数组arViews、arViewTitles

CPtrArray arViews; //用来存放子窗口的视指针

CstringArray arViewTitles; //用来存放文档标题

bool bClosing; //用于表示程序是否正在关闭

上一页  1 2 3 4  下一页

Tags:MDI 程序 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接