10 个解决方案
#1
你是要动态改变整个窗口的大小吗?
#2
当前我这只能增大propertysheet的大小,但是对properypage增大时,发现增加的右边好像被截掉了,难道,在一个propertysheet中只有有一种大小的propertypage的size么?
#3
to cnzdgs:
差不多相当于动态,前两个小,后一个大。要能变化
差不多相当于动态,前两个小,后一个大。要能变化
#4
先增大PropertySheet,再GetTabControl,增大TabCtrl,然后再增大ProperyPage。
#5
改变tabctrl没有什么效果,propertypage的大小依然没有改变,我是在第三个page的OnInitDialog中增加的这些,供参考指明问题所在,谢谢俄i
as blew:
CPropertySheet* psheet = (CPropertySheet*) GetParent();
//change sheet is ok
CRect rect;
psheet->GetWindowRect(&rect);
psheet->MoveWindow(rect.left,rect.top,1100,rect.Height());
psheet->CenterWindow();
//change tabctrl ????
CTabCtrl* pTabCtrl = psheet->GetTabControl();
CRect rectTab;
pTabCtrl->GetClientRect(&rectTab);
pTabCtrl->MoveWindow(rectTab.left,rectTab.top,rectTab.left + 1100,rectTab.bottom);
pTabCtrl->GetClientRect(&rectTab);
//modify page size is no effect
CRect rectPage3;
GetClientRect(&rectPage3);
MoveWindow(0,0,1000,rect.Height());
GetDlgItem(IDC_STATIC_EDITAREA)->MoveWindow(50,0,199,256);
as blew:
CPropertySheet* psheet = (CPropertySheet*) GetParent();
//change sheet is ok
CRect rect;
psheet->GetWindowRect(&rect);
psheet->MoveWindow(rect.left,rect.top,1100,rect.Height());
psheet->CenterWindow();
//change tabctrl ????
CTabCtrl* pTabCtrl = psheet->GetTabControl();
CRect rectTab;
pTabCtrl->GetClientRect(&rectTab);
pTabCtrl->MoveWindow(rectTab.left,rectTab.top,rectTab.left + 1100,rectTab.bottom);
pTabCtrl->GetClientRect(&rectTab);
//modify page size is no effect
CRect rectPage3;
GetClientRect(&rectPage3);
MoveWindow(0,0,1000,rect.Height());
GetDlgItem(IDC_STATIC_EDITAREA)->MoveWindow(50,0,199,256);
#6
在OnSetActive中处理。
#7
谢谢cnzdgs的解答,MS可以了,不过出现了新的问题,我把这部分代码放到到OnSetActive里面后,propertysheet上面“上一步”,“下一步”按钮不起作用了
#8
按钮被盖住了,增大窗口时按钮位置也要调整。
#9
那个sheet的高度我并没有改变哈,应该不存在于把按钮盖住了吧,况且,如果盖住了的话,我怎么还能看得到呢,谢谢
#10
to cnzdgs:
不好意思,看错了,我改了page的大小就ok了,非常谢谢你
不好意思,看错了,我改了page的大小就ok了,非常谢谢你
#1
你是要动态改变整个窗口的大小吗?
#2
当前我这只能增大propertysheet的大小,但是对properypage增大时,发现增加的右边好像被截掉了,难道,在一个propertysheet中只有有一种大小的propertypage的size么?
#3
to cnzdgs:
差不多相当于动态,前两个小,后一个大。要能变化
差不多相当于动态,前两个小,后一个大。要能变化
#4
先增大PropertySheet,再GetTabControl,增大TabCtrl,然后再增大ProperyPage。
#5
改变tabctrl没有什么效果,propertypage的大小依然没有改变,我是在第三个page的OnInitDialog中增加的这些,供参考指明问题所在,谢谢俄i
as blew:
CPropertySheet* psheet = (CPropertySheet*) GetParent();
//change sheet is ok
CRect rect;
psheet->GetWindowRect(&rect);
psheet->MoveWindow(rect.left,rect.top,1100,rect.Height());
psheet->CenterWindow();
//change tabctrl ????
CTabCtrl* pTabCtrl = psheet->GetTabControl();
CRect rectTab;
pTabCtrl->GetClientRect(&rectTab);
pTabCtrl->MoveWindow(rectTab.left,rectTab.top,rectTab.left + 1100,rectTab.bottom);
pTabCtrl->GetClientRect(&rectTab);
//modify page size is no effect
CRect rectPage3;
GetClientRect(&rectPage3);
MoveWindow(0,0,1000,rect.Height());
GetDlgItem(IDC_STATIC_EDITAREA)->MoveWindow(50,0,199,256);
as blew:
CPropertySheet* psheet = (CPropertySheet*) GetParent();
//change sheet is ok
CRect rect;
psheet->GetWindowRect(&rect);
psheet->MoveWindow(rect.left,rect.top,1100,rect.Height());
psheet->CenterWindow();
//change tabctrl ????
CTabCtrl* pTabCtrl = psheet->GetTabControl();
CRect rectTab;
pTabCtrl->GetClientRect(&rectTab);
pTabCtrl->MoveWindow(rectTab.left,rectTab.top,rectTab.left + 1100,rectTab.bottom);
pTabCtrl->GetClientRect(&rectTab);
//modify page size is no effect
CRect rectPage3;
GetClientRect(&rectPage3);
MoveWindow(0,0,1000,rect.Height());
GetDlgItem(IDC_STATIC_EDITAREA)->MoveWindow(50,0,199,256);
#6
在OnSetActive中处理。
#7
谢谢cnzdgs的解答,MS可以了,不过出现了新的问题,我把这部分代码放到到OnSetActive里面后,propertysheet上面“上一步”,“下一步”按钮不起作用了
#8
按钮被盖住了,增大窗口时按钮位置也要调整。
#9
那个sheet的高度我并没有改变哈,应该不存在于把按钮盖住了吧,况且,如果盖住了的话,我怎么还能看得到呢,谢谢
#10
to cnzdgs:
不好意思,看错了,我改了page的大小就ok了,非常谢谢你
不好意思,看错了,我改了page的大小就ok了,非常谢谢你