プロが教えるわが家の防犯対策術!

環境 WIN98 VC++6.0 MFC にて

メニューにコマンドを追加しクラスウィザードにて、コマンドの実装をするときに、CxxxMainFrmクラスとCxxxViewクラスのどちらにも実装出来ます。

どうしてどちらにも実装できるのですか?

また、それぞれの使い分けはどうなっているのですか?

A 回答 (3件)

メニューのコマンドのクリックという動作は、プログラム上は、それと関連付けられたメッセージの発行に置き換えられます。



CxxxMainFrmクラスとCxxxViewクラスのどちらもにそのメッセージが渡されているんでしょう。

使いわけは好きなほう…とはいっても、その動作から実装すべきクラスが見えて来るはず。判らなければ、じっくりと考え下さい。適切な設計は、プログラマとしての大事な技能の一つです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

メニューの円をクリックするとクライアント領域に円が描画され、メニューの三角をクリックすると三角が描画されるような場合は、どちらに実装すれば良いでしょうか?

お礼日時:2003/10/06 18:24

CViewのクライアント領域に描画するだけなら、CViewで処理をするのが一番です。



CView内で処理が完結しますからね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

#勝手に大きな勘違いをして質問してしまったようです。
書くべきところに書く。ですね。

お礼日時:2003/10/09 20:57

基本的にDocument、View、FrameはCCmdTarget というクラスから派生しています。

メニュー選択時のハンドらは基本的にCCmdTarget から派生したクラスで受け取ります。
アプリケーションの仕様にもよりますが、メニュー処理に適しているクラスで受け取るのがいいのではないでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

メニューの円をクリックするとクライアント領域に円が描画され、メニューの三角をクリックすると三角が描画されるような場合は、どちらに実装すれば良いでしょうか?

お礼日時:2003/10/06 18:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!