zoukankan      html  css  js  c++  java
  • MFC_2.5 选项卡控件的使用

    选项卡控件的使用

    1.新建默认MFC文件。

    2.资源-添加Dialog-添加类。(假设生成3个,Dialog1Dialog2Dialog3)

    3.类向导,添加类,点小三角形,添加MFC类。添加CTabCtrl类

    4.CTabCtrl 里面添加新的函数

    // 添加选项卡的[选项名]
    VOID CMyTabCtrl::InsertTabColumn()
    {
    InsertItem(0, L"主菜单");
    InsertItem(1, L"强力杀毒");
    InsertItem(2, L"文件查找");
    }

    // 添加对话框
    VOID CMyTabCtrl::InsertTabDialog()
    {
    // 1. 生成对话框
    DialogArr[0] = new CMyDialog1;
    DialogArr[1] = new CMyDialog2;
    DialogArr[2] = new CMyDialog3;

    // 2. 通过 id 创建窗口
    DialogArr[0]->Create(IDD_DIALOG1);
    DialogArr[1]->Create(IDD_DIALOG2);
    DialogArr[2]->Create(IDD_DIALOG3);

    // 3. 将窗口移动到指定的位置
    CRect Rect;
    GetClientRect(&Rect);
    Rect.DeflateRect(17, 44, -9, -12);
    DialogArr[0]->MoveWindow(&Rect);
    DialogArr[1]->MoveWindow(&Rect);
    DialogArr[2]->MoveWindow(&Rect);

    // 3. 显示窗口
    ShowTabDialog(1);
    }

    // 显示指定的对话框
    VOID CMyTabCtrl::ShowTabDialog(int index)
    {
    for (int i = 0; i < 3; ++i)
    {
    if (i == index)
    DialogArr[i]->ShowWindow(SW_NORMAL);
    else
    DialogArr[i]->ShowWindow(SW_HIDE);
    }
    }


    BEGIN_MESSAGE_MAP(CMyTabCtrl, CTabCtrl)
    ON_NOTIFY_REFLECT(TCN_SELCHANGE, &CMyTabCtrl::OnTcnSelchange)
    END_MESSAGE_MAP()



    // CMyTabCtrl 消息处理程序



    // 消息反射处理对话框选项卡的切换
    void CMyTabCtrl::OnTcnSelchange(NMHDR* pNMHDR, LRESULT* pResult)
    {
    // 获取点击了第几个
    int index = GetCurSel();

    // 显示指定的
    ShowTabDialog(index);

    *pResult = 0;
    }

    6.默认生成的Dialog绑定变量,类型为CMyTabCtrl

    7.初始化默认生成的

    // 向选项卡中添加数据
    m_TabCtrl.InsertTabColumn();

    // 添加对话框
    m_TabCtrl.InsertTabDialog();

     

  • 相关阅读:
    【剑指offer】面试题 65. 不用加减乘除做加法
    【剑指offer】面试题 49. 丑数
    【剑指offer】面试题 17. 打印从 1 到最大的 n 位数
    【剑指offer】面试题 16. 数值的整数次方
    【剑指offer】面试题 15. 二进制中 1 的个数
    【剑指offer】面试题 29. 顺时针打印矩阵
    【剑指offer】面试题 28. 对称的二叉树
    InetAddress问题
    quartz与spring集成
    tomcat多项目
  • 原文地址:https://www.cnblogs.com/ltyandy/p/10928329.html
Copyright © 2011-2022 走看看