zoukankan      html  css  js  c++  java
  • 标签控件TabControl的使用

    基于对话框的标签控件TabControl

    ---------------------------------------------

    一、 基本属性

    1. 创建一个新的MFC工程,基于 对话框

    2. 选择“Tab控件”,选择属性栏,Style选择“Right Justify”,可以选择“Hot Track”,选择后鼠标经过会有特殊效果

    3. 为 Tab控件 添加变量 m_tab

    二、添加分页标签

    1. 插入两个Dialog,分别添加两个类 CBookInfo 和 CBookDelete

    2. 对刚才添加的两个对话框的ID改为 IDD_BOOKINFO_DIALOG, IDD_BOOKDELETE_DIALOG

    3. 将新建的两个对话框头文件包含到主对话框(包含有TabControl控件)中,在主对话框中添加两个成员变量

    1     CBookInfo m_BookInfo;
    2     CBookDelete m_BookDelete;

     4. 在主对话框的OnInitDialog函数中添加如下代码

     1     m_tab.InsertItem(0, _T("图书信息"), 0);
     2     m_tab.InsertItem(1, _T("删除图书信息"), 1);
     3 
     4     m_BookInfo.Create(IDD_BOOKINFO_DIALOG, &m_tab);
     5     m_BookDelete.Create(IDD_BOOKDELETE_DIALOG, &m_tab);
     6 
     7     CRect clientRC;
     8     m_tab.GetClientRect(clientRC);
     9     clientRC.DeflateRect(2, 30, 2, 2);
    10     m_BookInfo.MoveWindow(clientRC);
    11     m_BookDelete.MoveWindow(clientRC);
    12     m_BookInfo.ShowWindow(SW_SHOW);
    13     m_tab.SetCurSel(0);

     5. 为了鼠标选择Tab标签栏,页面能够发生变化,需要添加信息相应的方法,为TabControl控件添加相应触发函数,如下

     1 void CTest_TabCtrlDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
     2 {
     3     // TODO: 在此添加控件通知处理程序代码
     4     int nCurSel = m_tab.GetCurSel();
     5     if (nCurSel == 0) {
     6         m_BookInfo.ShowWindow(SW_SHOW);
     7         m_BookDelete.ShowWindow(SW_HIDE);
     8     } else {
     9         m_BookDelete.ShowWindow(SW_SHOW);
    10         m_BookInfo.ShowWindow(SW_HIDE);
    11     }
    12     *pResult = 0;
    13 }


     

  • 相关阅读:
    TypeScript总结
    echarts超全超详情配置项
    《JavaScript高级程序设计》笔记
    ES6`…`扩展(spread)/收集(rest)运算符详解
    JavaScript深拷贝浅拷贝全析
    使用lodash.cloneDeep实现深拷贝
    MessageChannel
    JavaScript相等操作符(==)
    微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!
    SQL某个字段在原内容上增加固定内容或replace查找替换内容
  • 原文地址:https://www.cnblogs.com/yewei/p/2818141.html
Copyright © 2011-2022 走看看