掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ダイアログで投げられたメッセージを別のコントロールで受け取るには? (ID:54345)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ぽちょむきんです。 成る程メインのダイアログ(C***Dlg)を介さないで コントロールで直接受け取りたい、と言う事でしょうか? (間違ってたらごめんなさい) となるとダイアログに到達する前にメッセージを横取りする必要があるので、 メッセージフックの必要があります。 サンプルなどは http://ag5.net/~prgroad/programming/visualc_mfc/NorySpy.html 等を利用すると良いでしょう。 フックに関しての定義はMSDNライブラリ等を参照して下さい。 >やはりダイアログで発生したメッセージはダイアログの >クラスで処理するのが普通なのでしょうか? 本来ならば本体に投げられるメッセージを、 その一部であるコントロールが横取りして受け取る事は あまり好ましいとは言えないかも知れません。 またフックはメッセージを"横取り"する為、 プログラムによってはOS、他のプログラムに 致命的な障害を及ぼします(僕はこれをモロに見た事がある)。 ただなんでもかんでもダイアログで処理すると、 C***Dlgのソースが肥大化し、 OOPとして矛盾する点が生じるのも事実だと思います。 月並みではありますが、設計に依存するとしか言えません。 ただ今回の問題(あるコントロールが同じアプリケーション内の メッセージを横取りしたい)は フックで行うべきであるとは考え辛いです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.