| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 347 人关注过本帖
标题:在一个Tab控件中再添加一个Tab控件
只看楼主 加入收藏
小熊chx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-1-23
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:7 
在一个Tab控件中再添加一个Tab控件
有没有人试过在一个Tab控件下的一个页面中再添加一个Tab控件,要怎么实现呢
2013-03-06 11:30
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:10 
可以这样实现:
DlgA对话框中有TabA
BlgB对话框中有TabB

把DlgB作为DlgA的子对话框。由TabA来控制DlgB的显示和隐藏,这样就实现了TabA中 嵌套 TabB功能了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-06 12:12
小熊chx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-1-23
收藏
得分:0 
嗯,是可以,已经验证可行
2013-03-07 11:16
小熊chx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-1-23
收藏
得分:0 
在空白工程是验证可以实现,但是把这一功能添加到以前的工程出现一个问题:
子窗口中的Tab控件不能被显示出来,Tab控件区域什么都没有
2013-03-07 13:34
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
Tab控件 在对话框中,如果你没有插入几个标签 是看不到他的,你试试插入几个标签看看

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-07 13:38
小熊chx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-1-23
收藏
得分:0 
已经插入了两个标签
2013-03-07 13:39
小熊chx
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-1-23
收藏
得分:0 
m_LineUnitDlg.m_TAB_LineUnit.InsertItem(0, "标签1", 0);
    m_LineUnitDlg.m_TAB_LineUnit.InsertItem(1, "标签2", 1);

    //创建子窗口
    m_LineUnitDlg.m_BreezeVibrationDlg.Create(IDD_BreezeVibration_DIALOG, &(m_LineUnitDlg.m_TAB_LineUnit));
    m_LineUnitDlg.m_ConductorGallopDlg.Create(IDD_ConductorGallop_DIALOG, &(m_LineUnitDlg.m_TAB_LineUnit));

    //设置母窗体
    m_LineUnitDlg.m_BreezeVibrationDlg.SetParent(&(m_LineUnitDlg.m_TAB_LineUnit));
    m_LineUnitDlg.m_ConductorGallopDlg.SetParent(&(m_LineUnitDlg.m_TAB_LineUnit));

    CRect clientRC_LineUnitSonTab;
    (m_LineUnitDlg.m_TAB_LineUnit).GetClientRect(clientRC_LineUnitSonTab);        
    clientRC_LineUnitSonTab.DeflateRect(0, 30, 0, 0);   

    m_LineUnitDlg.m_BreezeVibrationDlg.MoveWindow(clientRC_LineUnitSonTab);   
    m_LineUnitDlg.m_ConductorGallopDlg.MoveWindow(clientRC_LineUnitSonTab);   

    m_LineUnitDlg.m_BreezeVibrationDlg.ShowWindow(SW_SHOW);   
    (m_LineUnitDlg.m_TAB_LineUnit).SetCurSel(0);

这个是Tab标签下的子窗口中为子窗口的Tab控件添加标签
2013-03-07 13:43
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 

拖一个tab空间到对话框中(自己调整好大小),再用GetDlgItem(Tab的ID) 这样方便点,不要用自己Create的,麻烦

比如定于对话框类的成员 CTabCtrl *m_TabCtrl
在InitDlg中用

m_TabCtrl = (CTabCtrl *)this->GetDlgItem(Tab控件的ID);
m_TabCtrl->InsertItem()
*****


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-07 16:41
快速回复:在一个Tab控件中再添加一个Tab控件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039241 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved