标签控件TabControl的使用

基于对话框的标签控件TabControl

---------------------------------------------

一、 基本属性

1. 创建一个新的MFC工程,基于 对话框

2. 选择“Tab控件”,选择属性栏,Style选择“Right Justify”,可以选择“Hot Track”,选择后鼠标经过会有特殊效果

3. 为 Tab控件 添加变量 m_tab

二、添加分页标签

1. 插入两个Dialog,分别添加两个类 CBookInfo 和 CBookDelete

2. 对刚才添加的两个对话框的ID改为 IDD_BOOKINFO_DIALOG, IDD_BOOKDELETE_DIALOG

3. 将新建的两个对话框头文件包含到主对话框(包含有TabControl控件)中,在主对话框中添加两个成员变量

1     CBookInfo m_BookInfo;
2     CBookDelete m_BookDelete;

 4. 在主对话框的OnInitDialog函数中添加如下代码

 1     m_tab.InsertItem(0, _T("图书信息"), 0);
 2     m_tab.InsertItem(1, _T("删除图书信息"), 1);
 3 
 4     m_BookInfo.Create(IDD_BOOKINFO_DIALOG, &m_tab);
 5     m_BookDelete.Create(IDD_BOOKDELETE_DIALOG, &m_tab);
 6 
 7     CRect clientRC;
 8     m_tab.GetClientRect(clientRC);
 9     clientRC.DeflateRect(2, 30, 2, 2);
10     m_BookInfo.MoveWindow(clientRC);
11     m_BookDelete.MoveWindow(clientRC);
12     m_BookInfo.ShowWindow(SW_SHOW);
13     m_tab.SetCurSel(0);

 5. 为了鼠标选择Tab标签栏,页面能够发生变化,需要添加信息相应的方法,为TabControl控件添加相应触发函数,如下

 1 void CTest_TabCtrlDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
 2 {
 3     // TODO: 在此添加控件通知处理程序代码
 4     int nCurSel = m_tab.GetCurSel();
 5     if (nCurSel == 0) {
 6         m_BookInfo.ShowWindow(SW_SHOW);
 7         m_BookDelete.ShowWindow(SW_HIDE);
 8     } else {
 9         m_BookDelete.ShowWindow(SW_SHOW);
10         m_BookInfo.ShowWindow(SW_HIDE);
11     }
12     *pResult = 0;
13 }


 

原文地址:https://www.cnblogs.com/yewei/p/2818141.html