zoukankan      html  css  js  c++  java
  • 使用CTabCtrl控件实现属性页功能

    使用CTabCtrl控件实现属性页功能


    在视图窗口内加入CTabCtrl控件,设变量名为m_tab,新建两个对话框属性style,border分别设为Child,None,用ClassWizard生成新的类,基类为Cdialog,分别为Cpage1,Cpage2,ID号分别为IDD_DIALOG1,IDD_DIALOG2。在CtestView内加入两个变量,Cpage1 page1;Cpage2 page2。
    在CtestView的OnInitialUpdae()内初始化 (如果是dialog对话框程序 在OnInitaildialog函数里初始化)
    void CTestView::OnInitialUpdate()
    {
    CFormView::OnInitialUpdate();
    GetParentFrame()->RecalcLayout();
    ResizeParentToFit();

    if(!page1.m_hWnd||!page2.m_hWnd) //第一次初始化m_tab 控件和page页的建立
    {
    //初始化m_tab控件
    m_tab.InsertItem(0,"page0 北京");
    m_tab.InsertItem(1," page1上海");
    m_tab.InsertItem(2," page2江西");

    //建立属性页各页
    page1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
    page2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));

    //设置页面的位置在m_tab控件范围内
    CRect rs;
    m_tab.GetClientRect(rs);
    rs.top+=20;
    rs.bottom-=4;
    rs.left+=4;
    rs.right-=4;

    page1.MoveWindow(rs);
    page2.MoveWindow(rs);

    page1.ShowWindow(TRUE);
    m_tab.SetCurSel(1);
    }
    }
    m_tab控件属性页选择时显示各页
    void CTestView::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
    {
    // TODO: Add your control notification handler code here
    int CurSel;
    CurSel=m_tab.GetCurSel();
    switch(CurSel)
    {
    case 0:
    page1.ShowWindow(FALSE);
    page2.ShowWindow(FALSE);
    break;
    case 1:
    page1.ShowWindow(TRUE);
    page2.ShowWindow(FALSE);
    break;
    case 2:
    page1.ShowWindow(FALSE);
    page2.ShowWindow(TRUE);
    break;
    default: ;
    }


    *pResult = 0;
    }

  • 相关阅读:
    Python自动截图html页面
    filebeat+kafka+logstash+Elasticsearch+Kibana日志收集系统搭建
    k8s重要概念
    1721. 使括号有效的最少添加
    167. 链表求和
    272. 爬楼梯 II
    1609. 链表的中间结点
    SQL server查看触发器是否被禁用
    C#窗体内控件大小随窗体等比例变化
    微信接口返回码参考表
  • 原文地址:https://www.cnblogs.com/likwo/p/1665053.html
Copyright © 2011-2022 走看看