ダイアログ間のメッセージの送信について
いつもお世話になっております。
現在、Visual Studio 2005にてMFCのダイアログベースのアプリケーションを作成しており、メッセージの送信の件で詰まった箇所があり質問させて頂きました。
現在のアプリケーションの全体像なのですが、
ダイアログベースなので、アプリケーション立ち上げ時に1つメインダイアログが表示されます。
そのメインダイアログ内にボタンを設置したとして、それぞれのボタン1,ボタン2からダイアログ1,ダイアログ2をDoModal()で表示させます。
それぞれのダイアログ1,2にはボタンが1つずつ設置されているとします。
質問させて頂きたいことは
メインダイアログへダイアログ1,2からメッセージ送信をする場合には
::SendMessage(GetParent()->GetSafeHwnd(),MYMSG,0);
でメッセージ送信をすることは出来ました。
しかしメインダイアログから呼び出されるダイアログ1,2間でメッセージを送信する場合に,例えばダイアログ1からダイアログ2へメッセージを送信させたいときに
void C****1Dlg::OnBnClicked(){
C****2Dlg m_dlg2;
::SendMessage(m_dlg2.GetSafeHwnd(),MYMSG,0);
とダイアログ1のボタンクリック時の関数内にコードを入力してもダイアログ2へメッセージは送信されず(ダイアログ2内のメッセージ受信関数OnMyMsg()が呼ばれず)、そのままスルーされるようなのです。
上述のコードで何か間違えている箇所があるでしょうか?
メッセージを扱うのは初めてで、とにかく相手先のウィンドウのハンドルを取得できればいいのかなと思ってコードを書いてみたのですが。。
ご存知の方がいらっしゃいましたら、ご意見宜しくお願い致します。
尚、開発環境は
Windows CE 6.0
Visual Studio 2005
です。
お礼
すいません。インクルードしていたのは別のものでした。 きちんとできましたありがとうございました。
補足
インクルードはされていますね。