WM_TIMERを別のダイアログに投げる

[戻る]
sandentake 2005/07/04(月) 11:16:56
sandentakeと申します。初めての質問なのですが
現在、VC++.NETにてプログラムを作っている初心者なのですが、
ダイアログベースで作成していて、ダイアログが2枚ありその1枚目で
SetTimer関数を実行し、2枚目のダイアログにWM_TIMERメッセージを
投げたいのですがどのようにしたらいいでしょうか。
よろしくお願いいたします。

n 2005/07/04(月) 13:01:31
 SetTimer((2枚目のダイアログのウィンドウハンドル),(タイマーID),(間隔),NULL);

もしくは

 (2枚目のダイアログを指すポインタ)->SetTimer((タイマーID),(間隔),NULL);

とか。

Takahashi 2005/07/04(月) 21:38:24
1枚目のタイマーと同期して 2枚目のタイマーを処理したいと言うことであれば
こんなのもありかな

1枚目で普通に SetTimer してハンドラの OnTimer で

2枚のダイアログ.SendMessage(WM_TIMER, nID, 0);
で、タイマーメッセージを投げるとかどうすか?

# nID はタイマーの識別子です。

ars 2005/07/07(木) 10:02:23
それはタイマーじゃないとまずいのですか?
一般的な発想だと、一枚目のタイマーで必要な処理が2枚目にある場合
2枚目のメンバー関数を呼ぶのが普通だと思いますが。

sandentake 2005/07/25(月) 01:51:31
[[解決]]
みなさん本当にありがとうございました。
なんとか解決することが出来ました。
またお世話になるかも知れませんがよろしくお願いいたします。

古いスレッドには追加発言できません。