mfc下tab control控件子对话框无显示
我按照网上最简单的调用tabcontrol,新建2个对话框资源并添加类,同时实例出对象,然后在主对话框的OnInitDialog函数里添加了一系列tab初始化关联子窗口并...
我按照网上最简单的调用tab control,新建2个对话框资源并添加类,同时实例出对象,然后在主对话框的OnInitDialog函数里添加了一系列tab初始化 关联子窗口并显示的函数,又添加了tab切换的响应函数。。一切看起来跟网上的方法无异,但是运行后子对话框无显示,明明在OnInitDialog中添加了m_page1.ShowWindow(SW_SHOW);这样的函数(m_page1是子窗口关系变量)!!求解答
展开
1个回答
展开全部
你要把主对话框设为父对话框,然后将子对话框移到父对话框的客户区,在显示,我写的一段代码在初始化中,你看看
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);
/*rc.left=rc.right+16;
rc.right+=15;
rc.bottom-=10;
m_page1.m_button.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);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询