MFC控件编程:Tab Control

来源:互联网 发布:c string数组添加元素 编辑:程序博客网 时间:2024/05/17 19:57
Tab控件的使用
   1 插入Tab控件的数据项(标签)
     CTabCtrl::InsertItem
   2 以Tab控件为父窗口创建对话框
   3 调整对话框大小
   4 在Tab控件的SELCHANGE消息处理函数中,根据当前选项的索引设置对话框的显示状态。


   新建一个基于对话框的工程,拖放一个Tab Control控件,Ctrl+W 为之绑定一个控件变量m_wndTabCtrl
   插入两个对话框资源做为标签页面,注意设置它们的样式为:child 和 无边框
 
   
   双击对话框资源为他们添加相关类,父类使用默认CDialog即可
   这里类名为CDialog1 和 CDialog2
   来到猪对话框类添加刚新建的对话框类的头文件,然后添加两个该类型的成员变量:
   CDialog1 m_dlg1;   CDialog2 m_dlg2;
   然后来到主对话框的OnInitDialog函数中添加创建代码,注意两个对话框成员创建时要以主对话框为父类创建。

   代码如下:

BOOL CTabCtrlDlg::OnInitDialog(){        ............................................// TODO: Add extra initialization here// 为Tab控件添加标签        m_wndTab.InsertItem (0, "Tab1");m_wndTab.InsertItem (0, "Tab2");// 以Tab控件为父窗口创建两个对话框m_dlg1.Create (IDD_DIALOG1, this);m_dlg2.Create (IDD_DIALOG2, this);// 显示第一个对话框m_dlg1.ShowWindow (SW_SHOW);// 调整对话框大小// 获取Tab控件的大小CRect rt;m_wndTab.GetClientRect (&rt);rt.top += 35;rt.left += 25;rt.right -= 1;rt.bottom -= 1;// 设置每个对话框的大小m_dlg1.MoveWindow (&rt);m_dlg2.MoveWindow (&rt);        // 显示第一个对话框        m_dlg1.ShowWindow (SW_SHOW);return TRUE;  // return TRUE  unless you set the focus to a control}


当然,为了能让便签页具备切换的功能,给Tab控件添加TCN_SELCHANGE消息处理

void CMFCTabCtrolDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) {// TODO: Add your control notification handler code here// 获取当前选择项int nItem = m_wndTabCtrl.GetCurSel ();    switch (nItem){case 0:m_dlg1.ShowWindow (SW_SHOW);m_dlg2.ShowWindow (SW_HIDE);break;case 1:m_dlg2.ShowWindow (SW_SHOW);m_dlg1.ShowWindow (SW_HIDE);break;}*pResult = 0;}



0 0
原创粉丝点击