/*! * 函 数 名: 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); }