100分求解CPropertySheet,CPropertyPage问题

tesling 2010-05-22 10:50:27
长话短说,就是CPropertySheet中的PropertyPage的大小无法调整.

BOOL CPSheet::OnInitDialog()
{
CPropertySheet::OnInitDialog();

//初始化窗口大小
//MoveWindow(&m_pageRect); //这句调整sheet的大小可以生效

//去掉左边的margin
RECT rect1,rect2;
GetWindowRect(&rect1);
ScreenToClient(&rect1);

m_ppage1.GetWindowRect(&rect2);
ScreenToClient(&rect2);
rect2.right = rect1.right - (rect2.left-rect1.left)-100;
rect2.bottom = rect2.bottom - 100;

//下面这四句怎么写也不生效
m_ppage1.SetWindowPos(NULL,0,0,10,10,SWP_DRAWFRAME | SWP_FRAMECHANGED |SWP_NOCOPYBITS); ---1 m_ppage2.SetWindowPos(NULL,0,0,10,10,SWP_DRAWFRAME | SWP_FRAMECHANGED |SWP_NOCOPYBITS); ---2 //m_ppage1.MoveWindow(&rect2,TRUE); ---3
//m_ppage2.MoveWindow(&rect2,TRUE); ---4
return TRUE;
}

page的border类型都是Resizing.
执行1的话,page1里面就为空,点一下page2,再点回page1才会汇出正确的界面
...全文
157 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2010-05-31
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
Eleven 2010-05-23
  • 打赏
  • 举报
回复
要不就用CTabCtrl,自己可以做更多的控制。。。
zealand_1 2010-05-23
  • 打赏
  • 举报
回复
是得用CTabCtrl的
MoXiaoRab 2010-05-22
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/q143291/

向立天 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tr0j4n 的回复:]
引用 5 楼 yincheng01 的回复:
这里有详细参考示例和代码:
http://support.microsoft.com/kb/q143291/

你又来了
[/Quote]
他把你的回复做了个升级版
不过我还是决定删除它
tesling 2010-05-22
  • 打赏
  • 举报
回复
格式乱了,我有图片,不知道怎么上传,呵呵.
我看了网上不少调整page页大小的代码,归根结底就是setwindowspos,movewindow,但是好像都不生效.
请高人指点.
MoXiaoRab 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yincheng01 的回复:]
这里有详细参考示例和代码:
http://support.microsoft.com/kb/q143291/
[/Quote]
你又来了
向立天 2010-05-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tesling 的回复:]
这篇文档我前天就阅读了一遍,照着做好像没啥效果.
是不是CPropertySheet里面有一个CTabCtrl?要同时调整CTabCtrl和CPropertyPage才会生效?
[/Quote]
这个中文翻译应该是机器翻得
所以不要看文字了
直接看代码就好了
你理解的没问题
MFC下窗口和控件都不会自动随主框架的改变而改变大小的
要自己处理每一个需要调整的对象
tesling 2010-05-22
  • 打赏
  • 举报
回复
这篇文档我前天就阅读了一遍,照着做好像没啥效果.
是不是CPropertySheet里面有一个CTabCtrl?要同时调整CTabCtrl和CPropertyPage才会生效?

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧