选项卡控件添加选项

    /*!
    *  函 数 名: AddTabWnd
    *  日    期: 2020/05/21
    *  返回类型: void
    *  参    数: const CString & title 要添加的选项名
    *  参    数: CDialogEx * pSubWnd    要添加的选项对应的对话框类
    *  参    数: UINT uId                要添加的选项对应对话框的ID
    *  功    能: 给选项卡控件添加选项
    */
void CMyARKDlg::AddTabWnd(const CString& title, CDialogEx* pSubWnd, UINT uId)
{
    //GetItemCount()获取当前选项卡控件中的选项卡的数量
    //选项卡是从零开始索引的
    //在选项卡尾端插入新的选项卡
    m_tab.InsertItem(m_tab.GetItemCount(), title);
    //创建子窗口,设置父窗口
    pSubWnd->Create(uId, &m_tab);

    CRect rect;
    //获取选项卡控件客户区的大小
    m_tab.GetClientRect(rect);
    //根据控件客户区大小设置对应对话框的位置
    rect.DeflateRect(1, 23, 1, 1);
    //更改选项卡对应的对话框大小
    //并将其移动到当前选项卡控件客户区
    pSubWnd->MoveWindow(rect);


    //将要添加的对话框从尾部放入对话框数组
    m_tabSubWnd.push_back(pSubWnd);
    //将新插入的选项卡变为选中状态
    m_tab.SetCurSel(m_tabSubWnd.size() - 1);
}
原文地址:https://www.cnblogs.com/ndyxb/p/12929176.html