[C++Builder]二度押し防止処理
Button1Clickイベントで時間がかかる処理を行った場合、ダブルクリックすると、2度処理が走ってしまう。
void __fastcall TForm1::Button1Click(TObject *Sender) { Button1->Enabled = false; : Button1->Enabled = true;} |
試しにApplication ProcessMessagesでEnabledが即時反映されるようにしてみる。
void __fastcall TForm1::Button1Click(TObject *Sender) { Button1->Enabled = false; Application->ProcessMessages(); : Button1->Enabled = true;} |
今度は、Enabledにする前に、バッファーをクリアしてみる。
void __fastcall TForm1::Button1Click(TObject *Sender) { Button1->Enabled = false; : Application->ProcessMessages(); Button1->Enabled = true;} |
Comments