私はCWndから派生したMFCコントロールクラスを作成しました。コントロールクラスを実装とパブリックインターフェイスに分割する方法は?
コントロールは最初から書き込まれ、子コントロールは使用されません。この単一のクラスは、状態のメンテナンス、ペイント、イベントへの応答など、すべてのコントロールロジックを実装します。
さらに、コントロールを使用するコードで使用するために、よりパブリックなインターフェイスが必要です。理想的には、これははるかに単純なインターフェイスでよりシンプルなクラスになるようです。しかし、同じウィンドウに関連付けられた2つのMFCクラスを持つことは、あらゆる種類の問題を引き起こすか、または可能ではないようです。
私は実際にこれにアプローチする最善の方法はわかりません。私はこのようなコントロールにシンプルなインターフェイスクラスを提供するのが最善の方法に関する考えに興味があります。
コントロールはライブラリなどにプリコンパイルされません。アプリケーションの一部としてコンパイルされます。
私はそれのようなものです。 CControlのようなクラスを作成して、コントロールとのインターフェースに使うことができますし、CControlのようなコア機能を追加するCControlInternalのようなものを作成できます。どちらも同じウィンドウをうまく参照できます。 –