基本的にはタイトルの内容とまったく同じです。ユーザーが特定のボタンを押したときに、ボタンに含まれるテキストを1秒ごとに更新したいと思います。プログラムにフォーカスがない場合は正常に動作し、テキストは正しく更新されますが、プログラムにカーソルを合わせているとき、またはプログラムのメニューをクリックしようとすると、Windowsからプログラムが応答しないことが通知され、終了してほしい。ループが終了すると、プログラムは通常の状態に戻ります。また、 Sleep()- ingの実行中に実行した可能性のあるアクション(移動やクローズなど)は、ループの後に実行されます。ここに少しのコードがあります:
case ID_BUTTON_START:
// Code executed when pressing Start Button.
char startButtonText[30]; // Storing next loop text
for (int i=5; i>0; i--)
{
sprintf(startButtonText, "Starting in ... %d", i);
SendMessage(hwndButtonStart, WM_SETTEXT, 0, (LPARAM)(startButtonText));
Sleep(1000);
}
これは正常ですか?そうでない場合、これを引き起こしているのは何ですか?