0

VS c++ で MFC アプリケーションを開発するときに、イベント ハンドラーを配置する場所に関する全体的な設計上の質問があります。Dialog クラスにイベント ハンドラを用意したほうがよいでしょうか? または、メイン アプリケーション クラスにイベント ハンドラを配置することは許容されますか?

ダイアログクラスからメインクラスの関数を呼び出そうとしているのに、メインクラスからGUIを更新しようとしていることに気付いたので、これを尋ねます。コードの大部分を GUI (ダイアログ) クラスに移動する方が簡単だと思います。

イベント処理と、イベントが発生した GUI 内にない関数の呼び出しに関しては、どのような規則があるのか​​ 疑問に思っていると思います。

任意の入力をいただければ幸いです。

4

1 に答える 1

1

オブジェクト指向設計では、プログラムのさまざまな要素を担当するオブジェクトを決定する必要があります。

GUI クラスは、関連する GUI 要素とのすべての対話を担当する必要があります。あなたの場合、ダイアログ クラスは、ダイアログに埋め込まれた要素とメニューからのすべてのメッセージを処理する必要があります。

おそらく、別のクラスがプログラム内のデータの表現を処理しているはずです。これはアプリケーション クラスである場合もあれば、完全に別のクラスである場合もあります。MFC で使用されるドキュメント/ビュー アーキテクチャは有益です。アプリケーションはいくつかのブックキーピング機能のみを担当し、ドキュメント クラスはデータ表現を処理し、ビュー クラスはウィンドウでのデータの描画を担当します。

于 2012-05-18T17:15:15.630 に答える