Tab控件的使用问题
本帖最后由 u010097237 于 2013-04-16 12:07:57 编辑 最近刚使用MFC,都是看着肯本做的,今天把2个dialog放到一个标签表格中,遇到了2个问题。
1,2个dialog和这个标签格子重合不到一起,我是看着书本写的
page1.Create(IDD_COMTEST_DIALOG,GetDlgItem(IDD_TAB_DIALOG));
page2.Create(IDD_HISTORY,GetDlgItem(IDD_TAB_DIALOG));
page1.SetParent(GetDlgItem(IDD_TAB_DIALOG));
page2.SetParent(GetDlgItem(IDD_TAB_DIALOG));
CRect rc;
m_tab.GetClientRect(rc);
rc.top += 260;
rc.bottom +=240;
rc.left +=520;//左上的x
rc.right +=517;//右下的x
page1.MoveWindow(rc);
page2.MoveWindow(rc);
page1.ShowWindow(true);
其中page1,page2,代表2个dialog类的对象,我是用上面的坐标勉强弄的,请问正规的要怎么做才能才能比较好的结合呢。
第二个我勉强弄好了之后,发现只要一移动TAB的表格,2个dialog不能随之移动,就是说这2者是分开的?那我看别人制作的怎么那么好,像属性表一样,还有因为我是制作好了各个部分对话框,所以不想用属性表制作,是新手,对于标签控件不熟悉,请大家多多赐教,我感觉好多认识都是错的。
[解决办法]
用 CTabCtrl::AdjustRect
CRect rcRect;
m_tab.GetClientRect( &rcRect );
m_tab.AdjustRect(FALSE, &rcRect);
m_Page1.MoveWindow(rcRect);
m_Page2.MoveWindow(rcRect);