MFC中如何延时 怎么写? 代码结构如下 30

代码结构:
void …button… //按键

{
……
语句
; //延 0-2s 影响其代码执行
语句

语句

……
}
我有更好的答案
推荐于2016-10-06 05:08:46 最佳答案
影响其代码运行要能够处理窗体消息
否则程序响应

定要按照代码结构我提供思路:
1、使用内核等待实现延
CreateWaitableTimer创建
SetWaitableTimer设定延
2、等待计器延使用WaitForSingleObject使用MsgWaitForMultipleObjects等待类型用QS_ALLEVENTS定要检查等待
3、于返处理WAIT_OBJECT_0说明延继续运行语句
WAIT_OBJECT_0 + 1则说明消息断调用PeekMessage参数PM_NOREMOVE非0则调用AfxGetThread()->PumpMessage()检查0则调用AfxPostQuitMessage并结束循环退函数非0则继续轮调用PeekMessage
4、完考虑关闭等待器内核

简单说调用Sleep改器设置目标目标检查消息处理消息窗口按钮啊啥能点(别再点类似处理按钮……)提示没响应窗口要拖能拖比较麻烦确确实实需要创建新线程完全依靠内核线程调度机制

定要用代码结构些语句放入线程面运行
追问
能给具体的代码吗
追答

正好闲着无聊就给你写一个例子好了。

这个怎么样,给好评喔亲


空雪梦见

采纳率:78% 来自团队:快乐之家 擅长: C/C++ C#/.NET VC++

其他回答

单独线程再该线程面延
CathyRong | 发布于2013-09-04
评论
不影响其它代码的执行是什么意思
追问
工程里面还有其他代码啊   不只有这一个函数
追答
如果只是在一个线程里面是不可能实现的
追问
具体怎么弄
20072330 | 发布于2013-09-04
评论
函数名: sleep

功 能: 执行挂起一段时间

用 法: unsigned sleep(unsigned milliseconds);

头文件: #include <Windows.h>

参数:

milliseconds 延时的时间,单位为毫秒

http://baike.baidu.com/view/2539437.htm
追问
这个貌似会影响其他代码执行吧   而且时间一旦长了CPU占有率挺高的吧
sun1yu1jia1 | 发布于2013-09-03
评论
收起 其他1条回答

为您推荐:

广告

您可能关注的内容

×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消