Startボタンをクリックすると、関数RunB()がwhileループを実行します。停止ボタンを使用して途中でループ実行を中断する必要があります。呼び出された関数のRunBため呼び出された関数でwhileループを中断する
switch (msg)
{
case WM_CREATE:
CreateWindow(TEXT("button"), TEXT("Browser"),
WS_VISIBLE | WS_CHILD,
30, 100, 80, 25,
hwnd, (HMENU)1, NULL, NULL);
CreateWindow(TEXT("button"), TEXT("Stop"),
WS_VISIBLE | WS_CHILD,
30, 200, 80, 25,
hwnd, (HMENU)2, NULL, NULL);
break;
case WM_COMMAND:
if (LOWORD(wParam) == 1) {
Obj.RunB();
}
break;
if (LOWORD(wParam) == 2) {
//Code to break the while loop
}
break;
コード:
void RunB(){
while(n<15){
//Some statements here:
}
にはどうすれば停止ボタンを使用してwhileループを破るのですか?
Windowsアプリケーションのイベントベースモデルの周りを頭で囲むまでは起こりません。 Petzoldの[ProgrammingWindows®](https://www.amazon.com/dp/157231995X)のコピーを入手してください。 – IInspectable
これを行うには、別のスレッドでwhileループを実行する必要があります。 –
公正であるためには、スレッドなしでwhileループで 'PeekMessage'を呼び出すことができます。しかし理想はない。 –