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

hhzzmm 2003-08-21 05:08:13
在VC++ 6.0中,如何能在一个长循环中,还能响应别的消息(如:按下一个按钮启动一次长循环,同时希望在处理长循环中,还能处理别的按钮消息,在DELPHI中可以通过在长循环中加入Application.ProcessMessage来实现,VC中如何来实现,在同一个主线程内)
...全文
210 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);
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
内容概要:本文围绕“计及风电不确定性的电力系统黑启动与负荷恢复协同优化”开展研究,提出了一种融合风电出力随机性与波动性的黑启动及负荷恢复协同优化模型,并基于Matlab平台实现了完整的代码仿真与算例验证。研究构建了考虑不确定性因素的优化框架,通过场景生成与削减技术处理风电出力的随机特征,建立了兼顾系统安全性、恢复效率与供电可靠性的多目标优化模型。文详细阐述了模型的数学建模过程、关键约束条件(如功率平衡、设备启停顺序、网络拓扑约束等)、求解算法设计及黑启动电源优选策略,并通过标准测试系统验证了所提方法在提升灾后恢复能力方面的有效性与优越性。; 适合人群:具备电力系统分析、优化理论及可再生能源并网基础知识,从事电力系统恢复控制、新型电力系统韧性提升、新能源集成等方向研究的研究生、科研人员及电力行业工程技术人才。; 使用场景及目标:①用于电力系统大面积停电后的黑启动方案制定,优化启动电源选择与负荷恢复时序;②为高比例风电接入背景下电力系统的安全稳定与弹性恢复提供决策支持;③作为Matlab仿真教学资源,辅助理解不确定性建模、随机/分布鲁棒优化及电力系统动态恢复过程。; 阅读建议:建议结合提供的Matlab代码进行同步研读,重点掌握风电不确定性建模方法(如场景法)、优化模型构建逻辑与求解流程(如使用YALMIP调用求解器),宜在熟悉基本电力系统运行与优化算法的基础上进行复现与拓展研究。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

16,550

社区成员

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

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

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