【发布时间】:2014-08-07 15:19:11
【问题描述】:
背景
我对 MFC 和 C++ 缺乏经验。
我有一组对话框,它们都有一小部分,包含相同的控件集和极其相似的代码。
我想从所有对话框中分离出一小部分控件,将代码从所有对话框类中移到一个类中。
问题
我不知道该怎么做。我所有的想法似乎都有自己的问题,因为我太缺乏经验了。
我可以创建一个超类,这些对话框继承自它动态地创建控件,给定一个 (x, y) 并连接所有连接并通过虚拟方法传达少数细节? 问题是我不知道具体情况:
超类从哪里继承? (CWnd?CDialog?)
我应该在哪里创建超类中的控件? (OnInit?构造函数?)
在哪里初始化超类的子类? (OnInit?构造函数?)
我只有两个消息映射吗?一个给超类,一个给子类?
还有什么我应该注意的陷阱吗?
【问题讨论】:
-
您在每个对话框中的常用控件是否具有不同的功能,具体取决于它们出现的对话框还是都执行相同的操作?
-
他们每个人都做同样的事情。唯一的区别是它们影响的变量。例如,维度会为每个不同的对话框读取不同的变量。