J'ai créé une classe de contrôle MFC, dérivée de CWnd.Comment diviser une classe de contrôle en une implémentation par rapport à une interface publique?
Le contrôle est écrit à partir de rien et n'utilise aucun contrôle enfant. Cette classe unique implémente toute la logique de contrôle, y compris la maintenance d'état, la peinture, la réponse aux événements, etc.
De plus, j'ai besoin d'une interface plus "publique" pour être utilisée par le code qui utilise le contrôle. Idéalement, il semble que ce serait une classe plus simple avec une interface beaucoup plus simple. Cependant, avoir deux classes MFC associées à la même fenêtre semble causer toutes sortes de problèmes, ou n'est même pas possible.
Je ne suis pas vraiment sûr de la meilleure façon d'aborder cela. Je suis intéressé par des réflexions sur la meilleure façon de fournir une classe d'interface simple à un contrôle comme celui-ci.
Notez que le contrôle n'est pas précompilé dans une bibliothèque ou quoi que ce soit. Il sera compilé dans le cadre de l'application.
J'aime un peu le son de ça. Je pourrais créer une classe quelque chose comme CControl qui pourrait être utilisé pour l'interface avec le contrôle, et puis quelque chose comme CControlInternal qui dérive de CControl qui ajoute la fonctionnalité de base. Les deux pourraient référencer la même fenêtre très bien. –