永发信息网

mfc下tab control控件子对话框无显示

答案:1  悬赏:10  手机版
解决时间 2021-03-17 06:06
  • 提问者网友:世勋超人
  • 2021-03-16 17:43
mfc下tab control控件子对话框无显示
最佳答案
  • 五星知识达人网友:酒醒三更
  • 2021-03-16 19:10
你要把主对话框设为父对话框,然后将子对话框移到父对话框的客户区,在显示,我写的一段代码在初始化中,你看看
m_tab.InsertItem(0,"实时数据展示");  //添加参数一选项卡    
m_tab.InsertItem(1,"历史数据查询");  //添加参数二选项卡
//m_tab.InsertItem(2,"基本信息配置");  //添加参数三选项卡

//设置IDC_TAB为父窗口
m_page1.Create(IDD_REALTIMEDATADLG,GetDlgItem(IDC_TEMPTAB));
m_page2.Create(IDD_HISTORYDATADLG,GetDlgItem(IDC_TEMPTAB));

//获得IDC_TABTEST客户区大小
CRect rc;
m_tab.GetClientRect(&rc);

//调整子对话框在父窗口中的位置
rc.top += 30;
rc.bottom -= 8;
rc.left += 8;
rc.right -= 8;

//设置子对话框尺寸并移动到指定位置
m_page1.MoveWindow(&rc);
m_page2.MoveWindow(&rc);

m_page1.GetClientRect(&rc);
rc.right = rc.right/9 - 8;
m_page1.m_infoTree.MoveWindow(&rc);
rc.left = rc.right + 16;
rc.right = (rc.right+8)*9 - 5;
rc.bottom -= 50;
m_page1.m_list.MoveWindow(&rc);


m_tab.GetClientRect(&rc);
rc.top += 110;
rc.bottom -= 30;
rc.left += 8;
rc.right -= 25;
m_page2.m_historyList.MoveWindow(&rc);

//分别设置隐藏和显示
m_page1.ShowWindow(true);
m_page2.ShowWindow(false);

//设置默认的选项卡
m_tab.SetCurSel(0);

//获取对话框创建时的大小: 
GetClientRect(&m_rect);追问我的方法跟您大致相同,按您的代码代入后结果是一样的 

是不是其他设置的问题? 比如子对话框类要添加OnInitDialog,或者子对话框的属性设置,tab控件的属性设置等?



问题解决了,是我自己粗心了。。。tabcontrol控件没有布满整个主窗口,只拉到了标签大小的长度。。。。。。。另外谢谢你了 ,采纳!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯