在VC++ 6.0中,如何能在一个长循环中,还能响应别的消息

hhzzmm 2003-08-21 05:08:13
在VC++ 6.0中,如何能在一个长循环中,还能响应别的消息(如:按下一个按钮启动一次长循环,同时希望在处理长循环中,还能处理别的按钮消息,在DELPHI中可以通过在长循环中加入Application.ProcessMessage来实现,VC中如何来实现,在同一个主线程内)
...全文
137 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
harrypotter 2003-08-21
  • 打赏
  • 举报
回复
up
ok1234567 2003-08-21
  • 打赏
  • 举报
回复
为什么不用多线程?
如果这样的情况都不用多线程
多线程还有什么用处:)
神农氏 2003-08-21
  • 打赏
  • 举报
回复
用getmessage的各位
本来就是个大循环,不用再加while了吧
yinx 2003-08-21
  • 打赏
  • 举报
回复
线程
ruihuahan 2003-08-21
  • 打赏
  • 举报
回复
up
test7979 2003-08-21
  • 打赏
  • 举报
回复
既然是长循环,另外启个线程比较好
prettywolf 2003-08-21
  • 打赏
  • 举报
回复
我赞成用线程。
prettywolf 2003-08-21
  • 打赏
  • 举报
回复
我赞成用线程。
jruv 2003-08-21
  • 打赏
  • 举报
回复
打错了,
while(PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
fupa0 2003-08-21
  • 打赏
  • 举报
回复
多线程可以吗?
思危 2003-08-21
  • 打赏
  • 举报
回复
没错!用jruv(江城飞鸿)的做法
zuozl 2003-08-21
  • 打赏
  • 举报
回复
加入
MSG msg;

while(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}

加上上面的还是会有响应延迟的,最好是开一个新线程运行长时间处理,并将其线程的优先权低于主界面线程优先权,这样就能保证足够的主界面响应。
vcforever 2003-08-21
  • 打赏
  • 举报
回复
MSG message;

while(PeekMessage(&message,NULL,0,0,PM_NOREMOVE)){
::TranslateMessage(&message);
::DispatchMessage(&message);
}
jruv 2003-08-21
  • 打赏
  • 举报
回复
加入
MSG msg;

while(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
wangweintk 2003-08-21
  • 打赏
  • 举报
回复
不用加入这种循环,会自动响应。
ayanamiwww 2003-08-21
  • 打赏
  • 举报
回复
楼上的好像不对吧,我这个肯定可以,记住给分吖!
在你的循环体里加入一下语句,你相知道为什么,自己看书了,《技术内幕(第四版)》p210
MSG message;
while( ::PeekMessage( &message, NULL, 0, 0, PM_REMOVE ) )
{
::TranslateMessage( &message );
::DispatchMessage( &message );
}
^_^
myheart8541_cn 2003-08-21
  • 打赏
  • 举报
回复
在你的循环代码中插入以下代码应该可以:
MSG msg;
::GetMessage(&msg,NULL,0,0);
::TranslateMessage(&msg);
::DispatchMessage(&msg);

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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