关于 VS c++ 中用于 MFC 应用程序的事件处理程序的 desgin 约定

Desgin convention regarding event handlers in VS c++ for MFC apps

本文关键字:事件处理 程序 desgin 约定 应用程序 MFC VS c++ 用于 关于      更新时间:2023-10-16

我有一个整体设计问题,与在VS c ++中开发MFC应用程序时事件处理程序的放置位置有关。在 Dialog 类中包含事件处理程序是否更好?或者是否可以将事件处理程序放在主应用程序类中?

我问这个是因为我发现自己试图从对话框类调用主类中的函数,但随后尝试从主类更新 GUI。我认为将我的大部分代码移动到 GUI(对话框(类会更容易。

我想我想知道当涉及到事件处理和调用不在事件发生的 GUI 内的函数时,约定是什么。

任何意见将不胜感激。

面向对象设计要求您决定哪些对象负责程序的各种元素。

GUI

类应负责与关联的 GUI 元素的所有交互。在您的情况下,对话框类应处理来自对话框中嵌入的元素和菜单的所有消息。

另一个类可能应该处理程序中数据的表示。这可能是应用程序类,也可以是完全独立的类。MFC 使用的文档/视图体系结构具有指导性 - 应用程序只负责几个簿记函数,文档类处理数据表示形式,视图类负责在窗口中绘制数据。