0

MFC MDI を使用しています。メイン ドキュメント ウィンドウにウィンドウを作成します。MDI ウィンドウ ビューの子として別のウィンドウ (2 つ目のウィンドウと呼びましょう) を作成し、2 つ目のウィンドウの子ウィンドウ (3 つ目のウィンドウ) を作成します。ここでも、3 番目のウィンドウの子ウィンドウである別のウィンドウを作成する必要があります。リボンにボタンがあり、3 番目のウィンドウでメッセージ ハンドラーを呼び出して、このコマンドを処理したいと考えています。メッセージ マップと必要なものをすべて追加しましたが、メッセージ ハンドラを呼び出していません。MDI ウィンドウ ビューでメッセージ ハンドラーを定義すると、イベントがキャッチされます。メインの CWinApp クラスまたは MDI ウィンドウの View クラスでメッセージ ハンドラーを宣言しないと、ボタンが無効に表示されます。

すべての子ビュー クラスは CWnd から継承され、メイン MDI ウィンドウは CView から派生しています。ここで何が欠けているか教えてください。

サバ

4

2 に答える 2

0

MFC doesnt route messages generated by clicking Ribbon buttons to child windows. If we want to send messages to child windows of MDI windows we need to do it ourselves. Ribbon button's messages are either passed to active MDI window or CWinApp class.

于 2012-09-26T16:15:29.753 に答える
0

私はここで途方に暮れています。MFC を使用しています。なぜイベントを使用するのですか?イベントの代わりにコマンド メッセージとコマンド メッセージ ハンドラを使用します。MFC が実装され、適切に機能するコマンド ルーティングを使用します。

于 2012-09-26T01:21:08.287 に答える