在cpropertysheet中设置不同大小的cpropertypage 的size应该怎么弄,谢谢

时间:2021-02-05 10:20:36
在cpropertysheet中设置不同大小的cpropertypage 的size应该怎么弄,现在是有三个page,最后一个page大小我希望变大一倍左右,应该怎么设置,谢谢!

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);

#6


在OnSetActive中处理。

#7


谢谢cnzdgs的解答,MS可以了,不过出现了新的问题,我把这部分代码放到到OnSetActive里面后,propertysheet上面“上一步”,“下一步”按钮不起作用了

#8


按钮被盖住了,增大窗口时按钮位置也要调整。

#9


那个sheet的高度我并没有改变哈,应该不存在于把按钮盖住了吧,况且,如果盖住了的话,我怎么还能看得到呢,谢谢

#10


to cnzdgs:
   不好意思,看错了,我改了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);

#6


在OnSetActive中处理。

#7


谢谢cnzdgs的解答,MS可以了,不过出现了新的问题,我把这部分代码放到到OnSetActive里面后,propertysheet上面“上一步”,“下一步”按钮不起作用了

#8


按钮被盖住了,增大窗口时按钮位置也要调整。

#9


那个sheet的高度我并没有改变哈,应该不存在于把按钮盖住了吧,况且,如果盖住了的话,我怎么还能看得到呢,谢谢

#10


to cnzdgs:
   不好意思,看错了,我改了page的大小就ok了,非常谢谢你