vc中tab控件不显示标签

程序没错误为什么运行出来tab控件就空白的一块,没有标签呢CTabCtrlmtab;CRectmrect;CTab1Dlgtab1;CTab2Dlgtab2;CTab3D... 程序没错误为什么运行出来tab控件就空白的一块,没有标签呢
CTabCtrl mtab;
CRect mrect;
CTab1Dlg tab1;
CTab2Dlg tab2;
CTab3Dlg tab3;
mtab.Create(TCS_BUTTONS,mrect,this,IDC_TAB1);
mtab.InsertItem(0,"一");
mtab.InsertItem(1,"二");
mtab.InsertItem(2,"三");
tab1.Create(IDD_DIALOG_SH, &mtab);
tab2.Create(IDD_DIALOG_Z, &mtab);
tab3.Create(IDD_DIALOG_S, &mtab);
tab1.ShowWindow(SW_SHOW);
tab2.ShowWindow(SW_HIDE);
tab3.ShowWindow(SW_HIDE);
展开
 我来答
zyq_07_28
推荐于2016-01-03 · TA获得超过258个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:0
展开全部
你不给它写标签它怎么显示呢. 要用InsertItem加的啊, 你加了没?
TCITEM tcItem;
tcItem.mask = TCIF_TEXT;
tcItem.pszText = _T("Tab #1");

m_TabCtrl.InsertItem(0, &tcItem);

//////////////////////////////////////////////////////////
tab1, tab2, tab3是你自己的东西我们先不管.
1. mtab在创建的时候少了2个参数WS_CHILD | WS_VISIBLE, 这是作为dialog子窗口并且显示的必须的2个参数
2. 为什么会出现白色的东西, 我敢打包票你是在dialog中拖了一个tab, 这个tab的id是IDC_TAB1, 然后才在create里填了id是IDC_TAB1. 其实调create函数根本不用手动创建资源的, 系统会帮你动态生成. 这边id随便填个数就可以了, 以后就用那个数(但要保证不能和已经存在的资源数字相同)
3. 不知道你的CRect有没有设置.
我在dialog的OnInit函数中写了代码
mrect.SetRect(10, 10, 500, 500);
mtab.Create(TCS_BUTTONS| WS_CHILD | WS_VISIBLE,
mrect, this, 123);
mtab.InsertItem(0,TEXT("一"));
mtab.InsertItem(1,TEXT("二"));
mtab.InsertItem(2,TEXT("三"));
在头文件中定义了变量
public:
CRect mrect;
CTableCtrl mtab;
显示完全正常.
ps:这2个变量一定不能放在OnInit函数中, 因为作为局部变量的话出函数就会销毁, 会不能显示
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式