MFC对话框嵌入的问题,求助

guangzi477273 2012-09-05 09:41:23
我要在一个CDIALOG派生对话框中嵌入另一个对话框,但子对话框是一个CPROPERTYPAGE对象,总是做不成,求大家指点迷津
PS:因为我的子对话框要在两个地方用,一个是选项卡中,另一个单独显示,听说把PROPERTYPAGE放在DIALOG里就可以单独显示,所以才用这种思路,大家有别的建议指点

急求帮,谢谢
...全文
215 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
guangzi477273 2012-09-07
  • 打赏
  • 举报
回复
解决了,谢谢大家。祝大家工作顺利,谢谢
傻X 2012-09-05
  • 打赏
  • 举报
回复
子Dialog对话框(有PropertyPage的那个)MoveWindow到那个位置,自己保证显示隐藏和显示
hdg3707 2012-09-05
  • 打赏
  • 举报
回复
不管对话框是什么类型,只要你把这个对话框的父窗口设成你要嵌入的对话框窗口指针应该就可以(这个窗口类型设为child,不要pupop),如果你还没这么试你就试一下.可能是你这个对话框的类型不适合,改成child试试
schlafenhamster 2012-09-05
  • 打赏
  • 举报
回复
"总是做不成" 说说原因
guangzi477273 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

用CTabCtrl+CDialog不就可以了~
[/Quote]
可是我的选项卡都已经做好了,要是改的话所有的类不都要改么?先看看嵌入到对话框中能不能实现吧,要不行再用这个。几十个类呢,要改工作量太大了
Eleven 2012-09-05
  • 打赏
  • 举报
回复
用CTabCtrl+CDialog不就可以了~
guangzi477273 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

不管对话框是什么类型,只要你把这个对话框的父窗口设成你要嵌入的对话框窗口指针应该就可以(这个窗口类型设为child,不要pupop),如果你还没这么试你就试一下.可能是你这个对话框的类型不适合,改成child试试
[/Quote]
改成CHILD不行,会报错;但是POPUP可以,但是用POPUP显示SHOWWINDOW之后要用SETPARENT改成子窗口,这样才能显示,不知道为什么会这样。但是CDIALOG的设为CHILD可以
显示出的窗口带标题栏,可以在父窗口里拖动,我想把标题栏去掉,但是不知道怎么做
guangzi477273 2012-09-05
  • 打赏
  • 举报
回复
谢谢各位,做出来了
原因是CPROPERTYPAGE资源里有个DISABLED属性,默认的是TRUE,改成FALSE就可以了;而CDIALOG资源里默认的是FALSE,就可以成功。

另外出现个问题:把CPROPERTYPAGE设为子对话框后上面那个TITLEBAR和BORDER怎么去掉?在对话框里有个那东西太突兀了,也就是说:怎么动态修改CPROPERTYPAGE的属性,比如TITLEBAR的TRUE改成FALSE

我找到一个SETPROPERTY函数(应该是个接口函数吧),但是不知道怎么用,帮助上是这么解释的,可还是不知道里面的参数代表什么,求众神解惑:

void AFX_CDECL SetProperty(
DISPID dwDispID,
VARTYPE vtProp,
...
);



Parameters
dwDispID
Identifies the property to be set.

vtProp
Specifies the type of the property to be set. For possible values, see the Remarks section for COleDispatchDriver::InvokeHelper.

...
A single parameter of the type specified by vtProp.

15,979

社区成员

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

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