zoukankan      html  css  js  c++  java
  • CTabCtrl的使用

    建立一个基于对话框的MFC程序tabctrltest
    第一步:

    在程序主对话框中添加控件,ID修改为IDM_tabList,添加控件变量m_tablist;
    第二步:
    新建一个对话框,ID修改为IDM_dlgtab1,修改属性styles->child;border->None;可以在上面添加些控件,(自己布置)
    然后建立类向导,继承CDialog。类名为CDlgTab1;
    第三步:
    在程序主对话框类中添加CDlgTab1类的对象m_dlgtab1;
    在OnInitDialog()函数中添加如下代码:
    //初始化m_tablist控件
    m_tablist.InsertItem(0,_T("第一页"));    //红色部分为每一页显示的标题
    //建立各属性页
    m_dlgtab1.Create(IDM_dlgtab1,&m_tablist);
    //设置页面的位置在m_tablist控件范围内
    CRect rc;
    m_tablist.GetClientRect(rc);
    rc.top += 21;
    rc.bottom -= 1;
    rc.left += 1;
    rc.right -= 1;
    m_dlgtab1.MoveWindow(rc);
    m_dlgtab1.ShowWindow(SW_SHOW);

    上面仅仅是演示了建立一个属性页的过程,也可以建立多个对话框,将他们绑定到tabctrl控件中。但是,此时要为控件添加OnTcnSelchangetablist(...)消息响应处理函数。这个函数完成当我们切换页面时,显示相应的对话框。一般来说,这个函数的格式为
    void CLASSNAME::OnTcnSelchangetablist(NMHDR *pNMHDR, LRESULT *pResult)
    {
    switch(m_tablist.GetCurSel())
    {
    case 0:
      {
       m_tab1Dlg.ShowWindow(SW_SHOW);
       m_tab2Dlg.ShowWindow(SW_HIDE);
       m_tab3Dlg.ShowWindow(SW_HIDE);
       break;
      }
    case 1:
      {
       m_tab1Dlg.ShowWindow(SW_HIDE);
       m_tab2Dlg.ShowWindow(SW_SHOW);
       m_tab3Dlg.ShowWindow(SW_HIDE);
       break;
      }
    case 2:
      {
       m_tab1Dlg.ShowWindow(SW_HIDE);
       m_tab2Dlg.ShowWindow(SW_HIDE);
       m_tab3Dlg.ShowWindow(SW_SHOW);
       break;
      }



    default:
    {}
    }
    *pResult = 0;
    }

    TabCtrl控件的基本使用介绍到这。
  • 相关阅读:
    9、Python 数据分析-2012美国大选献金项目
    Java 多线程
    高并发和多线程的关系
    什么是同一网段
    什么是CPU密集型、IO密集型?
    Ubuntu的which、whereis、locate和find命令
    python装饰器
    python 面试题
    Gsview裁剪EPS文件
    LaTeX pdf转eps格式
  • 原文地址:https://www.cnblogs.com/wxfasdic/p/1502305.html
Copyright © 2011-2022 走看看