首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
VC/MFC
界面
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
mfc自动关闭对话框
[已结贴,结贴人:finehai]
加为好友
发送私信
在线聊天
finehai
finehai
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
揭帖率:
80.00%
发表于:
2008-08-20 12:24:44
楼主
现有一个事件触发一个提示对话框弹出,然后一直等待,当另一个事件被触发时对话框自动关闭
请问一下在mfc中这个应该怎么实现 谢谢!
问题点数:
30
回复次数:
9
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
dbger
INT 3
等级:
可用分等级:
小地主
总技术专家分:
4997
总技术专家分排名:
4193
发表于:
2008-08-20 12:30:01
1
楼 得分:
5
向弹出对话框发送WM_CLOSE消息
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
maomaoxiong
毛毛熊
等级:
可用分等级:
掌柜
总技术专家分:
831
总技术专家分排名:
22316
发表于:
2008-08-20 12:31:18
2
楼 得分:
5
另一个事件被触发时向对话框发送WM_DESTROY,销毁对话框窗口即可
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
superdiablo
天外有天
等级:
可用分等级:
富农
总技术专家分:
2113
总技术专家分排名:
10070
发表于:
2008-08-20 12:40:57
3
楼 得分:
0
下面是我的一段代码,一个对话框一直等待,超时了就自动关闭:
void CWaitDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
ASSERT(nIDEvent==TIMERID_WAITDLG);
if(nIDEvent==TIMERID_WAITDLG)
{
this->PostMessage(WM_COMMAND, (WPARAM)IDCANCEL, 0L);
}
CDialog::OnTimer(nIDEvent);
}
明白了吧
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
finehai
finehai
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-08-20 15:13:48
4
楼 得分:
0
晕 可能我没说清楚啊 我的意思是弹出的对话框是随时关闭的
比如说用户点播一个节目 却没钱了 然后就自动弹出一个对话框提示用户充值 当用户去冲完值以后这个对话框就自己自动关闭了
我想知道实现这一过程不用多线程能实现吗?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Virget
等级:
可用分等级:
长工
总技术专家分:
21
总技术专家分排名:
294771
发表于:
2008-08-20 16:01:03
5
楼 得分:
0
不用多线程不行!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liweiwei0808
liweiwei
等级:
可用分等级:
贫农
总技术专家分:
188
总技术专家分排名:
63471
发表于:
2008-08-20 17:39:58
6
楼 得分:
0
不要用多线程,CWND对象是多线程不安全的,发送消息。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
finehai
finehai
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-08-21 09:07:35
7
楼 得分:
0
能不能详细说说该怎么做 俺是mfc菜鸟 请教各位啊
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xsc2001
相生昌
等级:
可用分等级:
掌柜
总技术专家分:
2270
总技术专家分排名:
9796
发表于:
2008-08-21 10:22:01
8
楼 得分:
20
你的强出的对话框是模式对话框,所以你在其他窗口里控制它是不好使的,只有在你的弹出的这个对话框中创建一个线程,去循环检测是否应该退出,如果条件满足就调用对话框的OnCancle();或者发送WM_CLOSE消息,这样对话框就会自动销毁。示例代码如下:
CMyMsgDlg::CheckThread()
{
while(1)
{
if(CheckOk())//这里你的检查代码,是否可以退出
break;
sleep(100);
}
PostMessage(WM_CLOSE, NULL, NULL);//最好是用PostMessage这样也是为了让线程自然终止
}
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xiaozi141
该用户很懒,没有设置昵称
等级:
可用分等级:
短工
总技术专家分:
0
总技术专家分排名:
3000000
发表于:
2008-09-04 22:38:58
9
楼 得分:
0
俺也是mfc菜鸟,来学习一下
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友