思路:当我们调用InsertItem()这个函数的时候,选项卡控件将会添加一个标签页,这个时候,我们将自己的对话框的窗体的指针与此标签页关联起来,当用户进行标签页的切换的时候,我们根据当前是哪个标签页,显示哪个对话框,不是与当前标签页关联的对话框,我们将其隐藏即可.这样我们便可以实现选项卡控件.
第一步:新建一个自己的类CTabSheet继承CTabCtrl.
第二步:定义有用的成员变量
CDialog* m_dlgWnd[MAXTABPAGE]; //这个是存放对话框指针的指针数组
int m_curTabNumber; //记录当前用户添加了几个标签页
int m_selTabID; //当前用户点击的标签页的ID
第三步:添加成员函数
//通过这个函数,可以将一个对话框指针与添加的标签页关联起来,insWnd是创建的非模式对话框的指针,wndID是对话框的ID,pageText是标签页的标题
void CreateTabPage(CWnd *insWnd, int wndID,CString pageText)
//添加控件的点击事件的处理,当点击后得到当前点击的标签页的ID,然后将与此标签页相关的对话框显示,其它的隐藏即可
void OnLButtonDown(UINT nFlags, CPoint point)
通过添加以上的成员变量及成员函数即可实现一个简单的选项卡控件的用法
下面我将这两个成员函数的代码贴出来,并详细讲解
//创建并且增加一个标签页
//创建并且增加一个标签页
void CTabSheet::CreateTabPage(CWnd *insWnd, int wndID,CString pageText)
{
if (m_curTabNumber >= MAXTABPAGE)
{
MessageBox("标签页己经达到最大!","创建出错!