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使用subprocess及delegator调用第三方程序
    CentOS安装配置nginx-rtmp-module(同时支持IPv4和IPv6)
    npm和cnpm安装(for windows)
    MySQL中pymysql的具体操作
    浅谈Red Hat和 Centos7
    [致]Markdown新手指南
    python面试题
    VB使用ADO中recordeset.delete删除数据记录问题
    VB连接ACCESS数据库,使用 LIKE 通配符问题
    VB6位运算
  • 原文地址:https://www.cnblogs.com/likwo/p/1665053.html
Copyright © 2011-2022 走看看