我一直在使用this demo(它有3个选项卡)

对于我的一生,我似乎无法获得第四个选项。

这是下面的示例代码的一部分。

CMyTabCtrl::CMyTabCtrl()
{
m_tabPages[0]=new CTabOne;
m_tabPages[1]=new CTabTwo;
m_tabPages[2]=new CTabThree;
m_tabPages[3]=new CTabFour;

m_nNumberOfPages=4;
}

CMyTabCtrl::~CMyTabCtrl()
{
for(int nCount=0; nCount < m_nNumberOfPages; nCount++){
delete m_tabPages[nCount];
}
}

void CMyTabCtrl::Init()
{
m_tabCurrent=0;

m_tabPages[0]->Create(IDD_TAB_ONE, this);
m_tabPages[1]->Create(IDD_TAB_TWO, this);
m_tabPages[2]->Create(IDD_TAB_THREE, this);
m_tabPages[3]->Create(IDD_TAB_FOUR, this);   /* Error occurs here */

m_tabPages[0]->ShowWindow(SW_SHOW);
m_tabPages[1]->ShowWindow(SW_HIDE);
m_tabPages[2]->ShowWindow(SW_HIDE);
m_tabPages[3]->ShowWindow(SW_HIDE);


这是我尝试运行程序时显示的错误:

Error: m_tabPages[3]    0x00000000 {CDialog hWnd=???}   CDialog


该演示非常适合3个选项卡,但我似乎无法对其添加任何内容。有任何想法吗?

最佳答案

似乎您在资源文件(即.rc文件,而不是resource.h)中没有定义IDD_TAB_FOUR。仅在resource.h中定义资源ID是不够的。例如,

#define IDD_TAB_FOUR 132


只是一个定义,它用数字132代替IDD_TAB_FOUR。

您需要从资源编辑器创建一个对话框。

10-06 06:27