MFC tab控件使用

来源:互联网 发布:邱一平麟龙软件破解版 编辑:程序博客网 时间:2024/05/17 07:22

一:在对话框窗口中添加tab控件,并创建一个窗口变量CTabCtrl m_tab_main;// tab页的框架

1:在.h中添加定义

#define PAGE_MAX   (6)//最大页面数

private:
 UINT8  m_pagecount;                     //页面数量
 CDialog  *m_pPage[PAGE_MAX];  //页面指针数组

 UINT8  m_cur_page;                       //当前页面指针


1:在ONinitdialog()中添加

{

   //设定显示在Tab范围内 
   CRect rc;
   m_tab_main.GetClientRect(rc);   //获取当前tab控件和客户区域 
   //调整rc的区域以匹配报警页面 
   rc.top += 21;
   rc.bottom -= 2;
   rc.left += 2;
   rc.right -= 1;

//创建页面

m_pagecount= 0; //页面数量

 
   //设置默认的选项卡 

   m_cur_page = 0; //当前页面指针
   m_pPage[m_cur_page]->ShowWindow(true);
   m_tab_main.SetCurSel(m_cur_page);

}

2:添加事件处理函数

void CggclientDlg::OnSelchangeTabMain(NMHDR *pNMHDR, LRESULT *pResult)
{
 // TODO:  在此添加控件通知处理程序代码
 int cur_sel = m_tab_main.GetCurSel();
 if (m_cur_page != cur_sel)
 {
  m_pPage[m_cur_page]->ShowWindow(SW_HIDE);
  m_pPage[cur_sel]->ShowWindow(SW_SHOW);
  m_cur_page = cur_sel;
 }

 *pResult = 0;
}

二:在资源文件夹中添加->资源->对话框->新建。

三:对新建的对话框,style选child,border选none,调整到合适的尺寸,修改ID:IDD_PAGE_NEW

四:在新建的对话框上添加一个类,CPageNew

五:在主dlg.h中添加
#include "pagenew.h"

及变量
 CPageNew m_page_NEW; //新建页面

六:在主对话框的ONinitdialog()中添加

{

//创建页面

if (m_userpms && PMS_OPER_NEW)

  {
    m_tab_main.InsertItem(m_pagecount, _T("新"));
    m_page_new.Create(IDD_PAGE_NEW, &m_tab_main);
    m_page_new.MoveWindow(&rc);
    m_page_new.ShowWindow(false);
    m_pPage[m_pagecount++] = &m_page_new;
 }

}

七:循环2-6,添加其他对话框


0 0
原创粉丝点击