• CTabCtrl的使用


    1、在主窗口中定义一个CtabCtrl,添加变量m_tabctrl;

    2、添加两个子窗口IDD_ONE_DIALOG,IDD_TWO_DIALOG(新建对话框,然后双击界面添加头文件和cpp),属性为child和无边框

    3、在主窗口头文件中定义这两个子窗口的类对象m_one,m_two

    自定义下面函数,放在初始化函数里面,就给这个tab生成了两个界面

    void CDlg::AddTab()
    {
    CRect rect;
    this->GetClientRect(&rect);
    m_tabctrl.InsertItem(0, _T("1"));
    m_tabctrl.InsertItem(1, _T("2"));
    m_server.Create(IDD_ONE_DIALOG, &m_tabctrl);
    m_server.SetWindowPos(NULL, 0, 20, rect.Width(), rect.Height(), SWP_SHOWWINDOW);
    m_client.Create(IDD_TWO_DIALOG, &m_tabctrl);
    m_client.SetWindowPos(NULL, 0, 20, rect.Width(), rect.Height(), SWP_HIDEWINDOW);
    }

    4、重写OnTcnSelchangeTab(NMHDR *pNMHDR, LRESULT *pResult)虚函数

    通过下面来显示或者隐藏对应项

    CRect rect;
    this->GetClientRect(&rect);

    switch (m_tabctrl.GetCurSel())
    {
      case 0:
        {
        m_server.SetWindowPos(NULL, 0, 20, rect.Width(), rect.Height(), SWP_SHOWWINDOW);
        m_client.SetWindowPos(NULL, 0, 20, rect.Width(), rect.Height(), SWP_HIDEWINDOW);
        break;
        }
      case 1:
        {
        m_server.SetWindowPos(NULL, 0, 20, rect.Width(), rect.Height(), SWP_HIDEWINDOW);
        m_client.SetWindowPos(NULL, 0, 20, rect.Width(), rect.Height(), SWP_SHOWWINDOW);
        break;
        }

      default:
        break;

     }

  • 相关阅读:
    今年要读的书
    java多线程
    json-lib 使用教程
    tomcat原理
    静态long类型常量serialVersionUID的作用
    使用junit4测试Spring
    MySQL各版本的区别
    spring mvc 下载安装
    hibernate、struts、spring mvc的作用
    【面试】hibernate n+1问题
  • 原文地址:https://www.cnblogs.com/judes/p/6173532.html
Copyright © 2020-2023  润新知