【问题标题】:Desgin convention regarding event handlers in VS c++ for MFC apps关于 MFC 应用程序的 VS c++ 中事件处理程序的设计约定
【发布时间】:2012-05-18 14:27:32
【问题描述】:

我有一个总体设计问题,涉及在 VS c++ 中开发 MFC 应用程序时事件处理程序的放置位置。在 Dialog 类中有事件处理程序会更好吗?或者将事件处理程序放在主应用程序类中是否可以接受?

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

我想我想知道在事件发生的 GUI 之外的事件处理和调用函数的约定是什么。

我们将不胜感激。

【问题讨论】:

  • 它是基于对话框的应用程序吗?
  • 是的,它是一个基于对话框的应用程序。一个带有菜单的对话框。事件由菜单以及一些按钮、文本框等触发。

标签: c++ visual-studio-2008 mfc event-handling


【解决方案1】:

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

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

另一个类可能应该在程序中处理数据的表示。这可能是应用程序类,也可能是完全独立的类。 MFC 使用的 Document/View 架构具有指导意义——应用程序只负责少数记账功能,文档类处理数据表示,视图类负责在窗口中绘制数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2015-06-29
    相关资源
    最近更新 更多