Timerを破棄するには?

解決


イコ  2004-10-30 00:34:36  No: 54927

ウィンドウプロシージャでタイマを作成し、ダイアログボックスのボタンを押すとそのタイマを破棄するプログラムを作ろうと思ったんですが、うまくタイマを破棄することができません。どうしたらいいのでしょうか?教えてください。

//ダイアログプロシージャのタイマの破棄部分
case WM_COMMAND:
  switch(LOWORD(wp)){
  case IDOK:

          if (KillTimer(hWnd, ID_MYTIMER) == 0){
              MessageBox(hWnd,
            "KillTimer Error!",
            "Error",
             MB_OK | MB_ICONEXCLAMATION);
         }  
      
      return TRUE;


シャノン  2004-10-31 03:59:01  No: 54928

「うまくできない」の中身を具体的に書いていただかなければ答えようがありません。

・KillTimer が失敗する
・KillTimer は成功するのに、依然タイマーが有効
・その他

などなど。
KillTimer が失敗するのであれば、GetLastError と FormatMessage でエラーの原因を調べてみてください。


イコ  2004-11-01 20:42:09  No: 54929

ダイアログプロシージャでGetParent関数を使って親ウィンドウのハンドルを取得したら、Timerをうまく破棄することができました。シャノンさん、助言ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加