我试图找到答案,但没有找到。
我想做这样的事情:
当我单击按钮时,我希望它重复操作直到单击另一个按钮
我有这样的事情:
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/