首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

拖动 与 domodal 有关问题

2012-02-06 
拖动 与 domodal 问题CDialog A{CDialog *B}1:在A的OnInitDialog中Bnew CDialogB-Create()B-Show()

拖动 与 domodal 问题
CDialog A
{
  CDialog *B;
}
1:
在A的OnInitDialog中
B=new CDialog;
B->Create();
B->Show();

2:
点击B的标题拖动窗口,此时B窗口在移动

3:
在B移动的过程中,在A中,接收到一个消息(测试用Timer消息),在消息处理代码写下面代码 
CDialog C(this);
C.Domodal();  

此时会出现程序中所有的窗口都无法点击和关闭了。程序死了。
为什么?怎么解决这个问题?因为是自己做了一个MessageBox, 用Domodal实现的。





[解决办法]
OnTimer()里面出CDialog C?不停的出?
[解决办法]
活活,你用系统的消息框看会不会死,
[解决办法]

探讨
用系统MessageBox不会死, 只要用Domodal就会死

[解决办法]
CDialog C(this);不清楚C是怎么创建的
[解决办法]
不懂,在书上抄一段文字看看。
创建模式对话框只需要3步:
1 创建一个对话框模板,描述对话框和其中的控件。
2 构造一个CDialog对象,并封装该对话框模板。
3 调用CDialog::DoModal显示对话框。
所以我想,你的模态对跨框第一步做了没?
还有,CDialog C(this); 没有这样的构造函数啊。
[解决办法]
探讨
事件响应中:
CDlgDrag dd(this);
dd.DoModal();

都是正确的。都能正确显示出来。 但从此以后,这个程序中所有的窗口都点不中了。无法响应。
在我这种情况下,可以作个简单的测试。测试都是这种结果。

[解决办法]
改成 非模态的
[解决办法]
俺没看到其他的代码,问题出在哪,俺说不清楚,不过
在DoModal()之前,试试先ReleaseCapture()。
[解决办法]
CDialog c(this)
这个对话框也不可以响应了?
偶滴个神哪,给我看看代码好吗,虽然不保证能查出原因?
[解决办法]
探讨
强,大牛,果然可以点击关闭了。虽然提示对话框不能拖动,但是上面的按钮还是可以点击关闭,程序依然可以继续下去。帮我解决了大忙了。

[解决办法]
非莫态把~~
[解决办法]
学习一下
[解决办法]
好............支持.....
[解决办法]
学习下乐
[解决办法]
学习了
[解决办法]
模式对话框会挂起主线程的
[解决办法]
学习了

热点排行