我试图找到答案,但没有找到。
我想做这样的事情: 当我单击按钮时,我希望它重复操作直到单击另一个按钮
我有这样的东西:
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if(pole!=NULL){
pole->przesun_lidera(pole->wladca);
pole->rozstaw();
pole->rysuj_plansze();
}
}
我想在“如果”中重复操作,直到我点击另一个按钮。
谁能告诉我,我怎样才能做到这一点?
最佳答案
我认为你有两种可能性。一种是创建一个线程并在其中执行您的代码,直到设置了由另一个按钮设置的条件。另一种可能性是允许消息泵在循环内处理消息,通过调用 ProcessMessages(),例如
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
condition = false;
while( !condition && pole!=NULL){
pole->przesun_lidera(pole->wladca);
pole->rozstaw();
pole->rysuj_plansze();
Application->ProcessMessages();
Sleep(1); // don't be a processor hog
}
}
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
condition = true;
}
关于c++ - 检查是否单击了任何其他按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6960771/