怎么样调整属性页的大小?

tesling 2005-08-26 12:39:41
我在CFormView中加了一个属性框,并在属性框中加了两个属性页.
CMyPropSheet::CMyPropSheet(CWnd *pParentWnd)
:CPropertySheet(AFX_IDS_APP_TITLE,pParentWnd)
{
AddPage(&m_MyPage1);
AddPage(&m_MyPage2);
}
我在CFormView中初始化占位符和属性框大小:
CRect rectTemp;
this->GetWindowRect(rectTemp);
pwndPropSheetHolder->SetWindowPos(NULL,0,0,rectTemp.Width(),rectTemp.Height(),0);
pwndPropSheetHolder->GetWindowRect(rectTemp);
m_pMyPropSheet->SetWindowPos(NULL,0,0,rectTemp.Width(),rectTemp.Height(),SWP_NOZORDER|SWP_NOACTIVATE);
但运行结果只是占位符充满了速个CFormView视图,属性框只是跟最大的那个属性页一样大.
问:怎么样用语句调整属性页的大小??
...全文
165 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bager 2005-09-14
参见以下链接
http://support.microsoft.com/default.aspx?scid=kb;en-us;300606
回复
cgsmarter 2005-09-13
应该这样:
在CMyPropSheet初始化:
CRect rectTemp;
this->GetWindowRect(rectTemp);
pwndPropSheetHolder->SetWindowPos(NULL,0,0,rectTemp.Width(),rectTemp.Height(),0);
pwndPropSheetHolder->GetWindowRect(rectTemp);
m_pMyPropSheet->SetWindowPos(NULL,0,0,rectTemp.Width(),rectTemp.Height(),SWP_NOZORDER|SWP_NOACTIVATE);
回复
菜牛 2005-08-28
属性页的大小根据你所加载的页面对话框调整,只要调整资源中的对话框定义即可。
回复
vcmute 2005-08-26
CMyPropSheet重载OnInitDialog中
CProppertySheet::OnInitDialog()
后MoveWindow


回复
tesling 2005-08-26
难道大家在制作属性框时没有遇到这样的问题么???

在一个Form视图中有一个属性框,当改变Form视图时要求属性框大小跟着改变..到底应该怎么样做呢?
回复
tesling 2005-08-26
我也想到在属性页里初始化,但是
class CMyPage1 : public CPropertyPage
{
...
}
属性页继承于CPropertyPage类,里面没有::OnInitDialog()函数啊.
类CPropertySheet里面倒是有OnInitDialog()函数..
class CMyPropSheet : public CPropertySheet
{...}
但是如果在CMyProSheet里面调整在属性页大小的话,属性页会把属性框上的小标签盖掉,就是说很难调整属性页到合适的大小,.
不信大家试试看..
这个问题我搞了很久也没搞出来...
回复
lixiaosan 2005-08-26
CMySheet::OnInitDialog()
{
MoveWindow(...);//或者SetWindowPos
}
回复
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-08-26 12:39
社区公告
暂无公告