对话框里面有一个TabCtrl控件,我参考msdn的实例写了如下代码
第一种代码:
CTabCtrl m_tab;
m_tab.InsertItem(0, _T("第一页"));m_tab.InsertItem(1, _T("第二页"));
编译时完全没有任何问题,但一旦运行就出现下面图示的提示:
为了解决这个问题,我参照MSDN和一些网友的博客按照下列方法做了修正,试图消灭这个错误
第一套修正方案:
CTabCtrl m_tab;
TCITEM tcItem1,tcItem2; tcItem1.mask=TCIF_TEXT; tcItem1.pszText=_T("Tab #1"); m_tab.InsertItem(0,&tcItem1); tcItem2.mask=TCIF_TEXT; tcItem2.pszText=_T("Tab #2"); m_tab.InsertItem(0,&tcItem2); CDialogEx::OnInitDialog();
第二套修正方案: RECT lpRect; GetClientRect(&lpRect); m_tab.AdjustRect(FALSE, &lpRect); m_tab.MoveWindow(&lpRect, TRUE); m_tab.InsertItem(0, _T("第一页")); m_tab.InsertItem(1, _T("第二页"));
但依然出现了上边的报错消息,我感觉很是迷茫啊。。。求高手赐教。。。
这个是什么原因?
下面是我做这个实验的步骤:
1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish.
2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变量, 变量名为m_tab. 类型为CTabCtrl.
3. 在对话框的初始化函数OnInitDialog里面添加如下代码:
m_tab.InsertItem(0,"参数一"); //添加参数一选项卡
m_tab.InsertItem(1,"参数二"); //添加参数二选项卡
m_tab.InsertItem(2,"结果"); //添加结果选项卡
MFC TabCtrl控件 InsertItem功能运行时报错的问题
答案:2 悬赏:80
解决时间 2021-02-19 05:25
- 提问者网友:久伴不朽
- 2021-02-18 06:09
最佳答案
- 二级知识专家网友:承载所有颓废
- 2021-02-18 06:54
试试在OninitDialog里面先调用CDialogEx::OnInitDialog();
再继续你的代码。
如果还有问题,私信给你发送Q了,Q上详谈。
再继续你的代码。
如果还有问题,私信给你发送Q了,Q上详谈。
全部回答
- 1楼网友:我叫很个性
- 2021-02-18 07:47
ctabctrl m_tab最好不要声明为局部变量,还有可以单步跟踪调试一下。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯