模态对话框的child属性

qiebc2 2010-12-13 10:38:42
有一普通对话框,类名为cdialog1,我想用两种方式调用该对话框,
一:domodal,有标题栏。
二:嵌入到其它视图中做为子视图显示,无标题栏,属性为CHILD。
求高手帮忙。
...全文
543 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
liubaosen 2013-04-26
  • 打赏
  • 举报
回复
在资源的属性里设style=child就不响应,但在create之后设就可以,像这样 pTest->Create(CTestDlg::IDD,this); pTest->ModifyStyle(WS_CAPTION|WS_CHILD, 0); pTest->ShowWindow(SW_SHOW); 靠,VC真是个没谱的东西,还是远离比较好。
skywind123 2011-07-13
  • 打赏
  • 举报
回复
dlg1->SetParent(this);移动时不跟着父窗体走这个问题后来是怎么解决的,LZ支招哈。
qiebc2 2010-12-21
  • 打赏
  • 举报
回复
p T e s t - > C r e a t e ( C T e s t D l g : : I D D,this ) ; p T e s t - > M o d i f y S t y l e ( W S _ C A P T I O N | W S _ C H I L D , 0 ) ;
p T e s t - > S h o w W i n d o w ( S W _ S H OW ) ;
这样可以,未加这面这句就不死,但移动时不跟着父窗体走。
p T e s t - > S e t P a r e n t ( t h i s ) ;
向立天 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 qiebc2 的回复:]
引用 27 楼 xianglitian 的回复:
引用 25 楼 qiebc2 的回复:
引用 23 楼 xianglitian 的回复:
dlg->Modifystyle(WS_CAPTION|WS_POPUP|WS_CHILD,SWP_FRAMECHANGED)
这句有问题吧
你去除了WS_CAPTION|WS_POPUP|WS_CHILD这些属性?
另外SWP_FRAMECHAN……
[/Quote]
我这面没这问题
qiebc2 2010-12-19
  • 打赏
  • 举报
回复
再顶顶顶
向立天 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 qiebc2 的回复:]
引用 23 楼 xianglitian 的回复:
dlg->Modifystyle(WS_CAPTION|WS_POPUP|WS_CHILD,SWP_FRAMECHANGED)
这句有问题吧
你去除了WS_CAPTION|WS_POPUP|WS_CHILD这些属性?
另外SWP_FRAMECHANGED是通过Modifystyle添加么

我也是从网上找了代码,功能实现了,但最小化就无……
[/Quote]
我终于明白你什么你意思了
试试以下代码吧
	pTest->Create(CTestDlg::IDD);
pTest->ModifyStyle(WS_CAPTION|WS_CHILD, 0);
pTest->SetParent(this);
pTest->ShowWindow(SW_SHOW);
qiebc2 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 afjafjafj2008 的回复:]
要dialog 适应tab的大小
CRect rect;.
.
.
CDialog* dlg = new CDialog;
.
.
dlg->Movewindonw(&rect);
.
.

最小化不死机!
[/Quote]
这个我试了试好像不行呀,还照样死。
qiebc2 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 xianglitian 的回复:]
引用 25 楼 qiebc2 的回复:
引用 23 楼 xianglitian 的回复:
dlg->Modifystyle(WS_CAPTION|WS_POPUP|WS_CHILD,SWP_FRAMECHANGED)
这句有问题吧
你去除了WS_CAPTION|WS_POPUP|WS_CHILD这些属性?
另外SWP_FRAMECHANGED是通过Modifystyle添加么

我也……
[/Quote]
这样这个问题倒是解决了,但引来了新的问题,当我对这个对话框操作完成,再操作其父窗口中时又无响应了。
bszANDdc 2010-12-17
  • 打赏
  • 举报
回复
死机?是什么状况呀 。 是不响应还是其他 我就刚做完这方方面的功能 你说的不是太具体

向立天 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 qiebc2 的回复:]
引用 16 楼 xianglitian 的回复:
我好像知道你什么意思了
对话框的属性是从资源模板带过来的
可以先create出来在……

就是这么做的呀,但运行后最小化就没响应了,domodal出来的没问题,大侠有没有代码呀?我用手机上网的,贴代码不方便。
[/Quote]
我们贴代码没有用吧
要看你的代码有什么问题
afjafjafj2008 2010-12-17
  • 打赏
  • 举报
回复
要dialog 适应tab的大小
CRect rect;.
.
.
CDialog* dlg = new CDialog;
.
.
dlg->Movewindonw(&rect);
.
.

最小化不死机!
qiebc2 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 xianglitian 的回复:]
dlg->Modifystyle(WS_CAPTION|WS_POPUP|WS_CHILD,SWP_FRAMECHANGED)
这句有问题吧
你去除了WS_CAPTION|WS_POPUP|WS_CHILD这些属性?
另外SWP_FRAMECHANGED是通过Modifystyle添加么
[/Quote]
我也是从网上找了代码,功能实现了,但最小化就无响应了,所以求可行的代码。
qiebc2 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 bszanddc 的回复:]
死机?是什么状况呀 。 是不响应还是其他 我就刚做完这方方面的功能 你说的不是太具体
[/Quote]
能不能贴几句代码呀?
向立天 2010-12-17
  • 打赏
  • 举报
回复
dlg->Modifystyle(WS_CAPTION|WS_POPUP|WS_CHILD,SWP_FRAMECHANGED)
这句有问题吧
你去除了WS_CAPTION|WS_POPUP|WS_CHILD这些属性?
另外SWP_FRAMECHANGED是通过Modifystyle添加么
qiebc2 2010-12-17
  • 打赏
  • 举报
回复
就是最小化以后就再也回不来了,被其它窗口挡住后被挡的地方就是一片灰。
这是我的代码
CDialog1 *dlg
dlg=new cdialog1()
dlg->create(IDD_DIALOG1,this)
dlg->Modifystyle(WS_CAPTION|WS_POPUP|WS_CHILD,SWP_FRAMECHANGED)
dlg->Modifystyleex(1,WS_EX_NOPARENTNOTIFY)
dlg->Setparent(this)
dlg->showwindow(true)
qiebc2 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 xianglitian 的回复:]
我好像知道你什么意思了
对话框的属性是从资源模板带过来的
可以先create出来在……
[/Quote]
就是这么做的呀,但运行后最小化就没响应了,domodal出来的没问题,大侠有没有代码呀?我用手机上网的,贴代码不方便。
向立天 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qiebc2 的回复:]
引用 12 楼 xianglitian 的回复:
我还是没明白你想实现什么需求
一就是Domodal
二就是Create
有什么问题呢?

Create时要将属性设为CHILD,无标题栏,还要设置父窗口,总是不成功。
我设置了后每次最小化窗口就死了。
[/Quote]
我好像知道你什么意思了
对话框的属性是从资源模板带过来的
可以先create出来在通过ModifyStyle修改试试看
qiebc2 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wkq87 的回复:]
实在不行弄两个对话框算了
[/Quote]
这不想少点工作量吗,对话框很复杂,而且以后还要加新功能,更新不方便呀。
wkq87 2010-12-15
  • 打赏
  • 举报
回复
实在不行弄两个对话框算了
qiebc2 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xianglitian 的回复:]
我还是没明白你想实现什么需求
一就是Domodal
二就是Create
有什么问题呢?
[/Quote]
Create时要将属性设为CHILD,无标题栏,还要设置父窗口,总是不成功。
我设置了后每次最小化窗口就死了。
加载更多回复(11)

15,979

社区成员

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

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