在循环时 如何还可以使用桌面的按钮

qlsoftzj 2003-08-18 06:55:13
我用while做循环时 窗体上的一切按钮都不让选(实际是没反映)必须等循环结束,才
可用!
请问如果不使用线程 怎么可以在循环的同时 ,随便使用窗体上的按钮?
谢谢了
...全文
86 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hy1080 2003-08-19
  • 打赏
  • 举报
回复
好象也不行,反应的太慢。
以前见过这种问题,忘了怎么解决。
关注。
思路加个变量,跳出循环
sprewellkobe 2003-08-19
  • 打赏
  • 举报
回复
在循环里加

Application->ProcessMessages();
Atomictry 2003-08-19
  • 打赏
  • 举报
回复
keiy() 说:
processmessage()一般用于循环中,它可在循环中捕捉windows的消息,并对它作相应的处理
如:
bool loop = ture;
void __fastcall TForm1::Button1Click(TObject *Sender)
{

while(loop)
{
//其它处理
Application->ProcessMessages();
}

}
如果没有 Application->ProcessMessages(); 程序就是死循环
按上面的你可在其它Button或其它地方设loop的值,使循环退出:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
loop=false;
}
你要响应速度,就做线程。
sczyq 2003-08-19
  • 打赏
  • 举报
回复
将循环做成线程就OK!
Atomictry 2003-08-18
  • 打赏
  • 举报
回复
循环里加:
Application->ProcessMessages();

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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