c++ - 检查是否单击了任何其他按钮

标签 c++ button c++builder c++builder-6

我试图找到答案,但没有找到。

我想做这样的事情: 当我单击按钮时,我希望它重复操作直到单击另一个按钮

我有这样的东西:

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/

相关文章:

c++ - 您可以将 vector<int64> 转换为 vector<uint8> 吗

Javascript - 将页面保存到本地存储

ios - MPMoviePlayerController 音频显示 "Done"按钮

asp.net - 带有 css 的 asp.net 按钮上的图像图标和文本?

c++ - 从 C++ 连接到 Windows 文件复制 API

C++Builder Clang std::less 找不到重载的运算符<

c++ - 在 CodeGear C++ Builder 上有比 TMemo 更快的组件吗?

c++ - 根据 id 从列表中删除结构

c# - 在 C++ 中,我可以有一个函数/方法通过引用传递一个参数,而一个重载通过值传递它吗?

c++ - 为int指针数组动态分配内存