プログレスバーのキャンセルボタンを押すには?

解決


マーチ  2005-01-25 19:33:49  No: 56171  IP: [192.*.*.*]

VC++6.0で自作(プログレスバーを表示するフォーム)のCancelボタンを押したいのですが、操作できません。内容は、以下です。

メインフォームから、自作フォームをインスタンス化し、ステータスを変更してます。処理が終わった後はキャンセルボタンが押せます。

処理中にCancelボタンを押すには、マルチスレットにする方法しかありませんか??

編集 削除
akey  2005-01-25 19:47:47  No: 56172  IP: [192.*.*.*]

時間の掛かる処理の途中でメッセージループを回してあげれば良いのでは?

たとえば・・

MSG stMsg;
if( ::PeekMessage( &stMsg, hwnd, 0, 0, PM_REMOVE ) ) 

  ::TranslateMessage( &stMsg );
  ::DispatchMessage( &stMsg );
}

編集 削除
マーチ  2005-02-22 14:59:49  No: 56173  IP: [192.*.*.*]

akeyさん、ありがとうございます。

動きました。

編集 削除