ウィンドウプロシージャでタイマを作成し、ダイアログボックスのボタンを押すとそのタイマを破棄するプログラムを作ろうと思ったんですが、うまくタイマを破棄することができません。どうしたらいいのでしょうか?教えてください。
//ダイアログプロシージャのタイマの破棄部分
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;
「うまくできない」の中身を具体的に書いていただかなければ答えようがありません。
・KillTimer が失敗する
・KillTimer は成功するのに、依然タイマーが有効
・その他
などなど。
KillTimer が失敗するのであれば、GetLastError と FormatMessage でエラーの原因を調べてみてください。
ダイアログプロシージャでGetParent関数を使って親ウィンドウのハンドルを取得したら、Timerをうまく破棄することができました。シャノンさん、助言ありがとうございました。
ツイート | ![]() |