掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
親ウインドウにメッセージをおくるには (ID:61288)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
えっと、やはりちょっとわからないところがあるんだけど、 どうすれば避けるのか分からないんです: >NM_FIRST〜NM_LAST >LVN_FIRST〜LVN_LAST 単にこう定義しては済まないんでしょう: #define UM_MYMSGTOPARENT WM_APP + 1000 昨日のコード は わけも分からなく 正しく 行けました。 >BOOL CParentWnd::OnNotify(WPARAM wParam,LPARAM lParam,LRESULT* lR) >{ > if((UINT)wParam == IDC_MYLISTID) > { > // ここで処理 // ヘッダーにUM_MYMSGTOPARENTが定義されてます。 // このヘッダーもインクルードされています if( ((NMHDR*)lParam)->code == UM_MYMSGTOPARENT ) { AfxMessageBox("メッセージが届いた!"); } > } > return CDialog::OnNotify(wParam,lParam,lR); >} 今日も MSDN を探してみたら、こういう作り方はなさそうだ、 ON_NOTIFY_REFLECT が 独自のメッセージ を 親ウインドウに送信できるそうですが、 試してみたら、失敗しました…. メッセージが届いてなかったそうだ。 ////////////////////////////////////////////////////////////////////// >単に親ウインドウ側で処理したいと仮定すると >別のアプローチとしては >JAVAのイベントリスナーのような仕組みを用意するとか、 >CMyListCtrlのイベントを仮想関数で定義する そうですね、この前もいろいろ考えてたんだけど、今作っているクラスは、 CListCtrlの拡張クラスで、通用性が重要なんですが、 CWndクラスに 別の関数を 添加できないから, インタクラスとかイベントリスナーとかはちょっと無理ですが…
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.