如何在这个 3 标签示例 GUI 中添加第四个标签?
Posted
技术标签:
【中文标题】如何在这个 3 标签示例 GUI 中添加第四个标签?【英文标题】:How to add a fourth tab to this 3 tab example GUI? 【发布时间】:2012-07-25 04:02:59 【问题描述】:我一直在使用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 个选项卡,但我似乎无法再添加任何内容。有什么想法吗?
【问题讨论】:
您是否在资源中创建了 IDD_TAB_FOUR? @Jeeva 是的,资源文件有以下设置:“#define IDD_TAB_ONE 129 #define IDD_TAB_TWO 130 #define IDD_TAB_THREE 131 #define IDD_TAB_FOUR 132” 我要问的是你是否创建了对话框 IDD_TAB_FOUR @Jeeva,请在下面的问题部分查看我对 satuon 的评论。它与此评论有关。 【参考方案1】:您的资源文件中似乎没有定义 IDD_TAB_FOUR(即 .rc 文件,而不是 resource.h)。仅在 resource.h 中定义资源 ID 是不够的。例如,
#define IDD_TAB_FOUR 132
只是一个定义,它将 IDD_TAB_FOUR 替换为数字 132。
您需要从资源编辑器创建一个对话框。
【讨论】:
对不起,我应该提到...上面的代码只是一个示例。我相当精通C++。是的,我从资源编辑器创建了一个对话框。我希望有人使用过相同的选项卡演示并且知道添加第四个(和第五个)选项卡的一些技巧。因为我已经复制了我能想到的所有内容并且无法重新创建另一个选项卡。【参考方案2】:m_tabPages[] 仅使用 3 [3] 个元素创建,因此请继续将其更改为 4 或 5 或它所在的头文件中的任何内容。
【讨论】:
以上是关于如何在这个 3 标签示例 GUI 中添加第四个标签?的主要内容,如果未能解决你的问题,请参考以下文章