ページ 11

MFCイベントをどのクラスに作成するのが良い(適切)でしょうか?

Posted: 2014年11月23日(日) 15:30
by Itoh
VS2008 VC++ MFC でプロジェクトを作成しました。
メインメニュー、サブメニューをクリックした時に実行する
イベントハンドラーをどのクラス(ヘッダー)に作成するのが
適切であるか教えていただきたいのが質問です。
---------------------------
VS2008 VC++ MFCプロジェクト RichEditView を継承して、
プロジェクトスタイルMFC標準メニューで
コマンドバー(メニュー、ツールバーなど)は、classic menu
プロジェクトを作ると、5個のクラスが自動的にできました。
1. class CABCApp : public CWinApp --- ABC.h
2. class CMainForm : public CFrameWnd --- MainFrm.h
3. class CABCCntrItem : public CRichEditCntrItem --- CntrItem.h
4. class CABCDoc : public CRichEditDoc --- ABCDoc.h
5. class CABCView : public CRichEditView --- ABCView.h

次に、ソフトの機能を実行するためのメニューを
クリックした時のイベントを、(メニューの内容を考えて)
1. class CABCApp : public CWinApp --- ABC.h
に作ると、イベントを受け取ることができました。
1.を消して、
2. class CMainForm : public CFrameWnd --- MainFrm.h
に作っても、イベントを同様に受け取ることができました。
どちらでもできたのはうれしいのですが、それでは、
いったい1.と2.のどちらに作成するのが適切なのかわかりません。
メニューの機能の内容から考えて、私の場合は1.または、2.のどちらかになります。

今は、コマンドバー(メニュー、ツールバーなど)は、classic menu ですが、
将来は、ribbonなどにもスムーズに切り替えができるようにしたい。
そのためには、どちらを選んだらよろしいでしょうか?