关于多个对话框控件共享ID的问题 和 DLL相关提问
本贴上接帖子《关于自编写的对话框类 及 对话框类与其资源分离的相关问题》
http://topic.csdn.net/u/20081010/15/c3b07ee4-bed3-4a3d-8ed1-d961d65f6d1a.html
各位程序设计的高手,
1. 本人原计划:写一个通用的CBaseDlg:public CDialog,并且它不与任何对话框资源绑定,在这个类里边添加一些对话框常用的 操作功能后,输出为DLL。
以后新添加的对话框如 ,假设新添加的对话框类名为CNewDlg,再引入CBaseDlg的DLL, 以 CNewDlg:pulic CBaseDlg的形式进行继承,之后在CNewDlg 里边添加新成员,绑定对话框资源和控件资源,结合CBaseDlg已有的函数和程序进行操作扩展,加大代码的重利用率。
之后发现,这样做好像不太行,除非这个类是Extend DLL的形式。
我所希望实现的是:做多个布局不同的对话框界面,但其上边的元素不变,只有控件的位置和布局改变而已。
2.为了实现原计划,本人有以下新的设想和提问:
设想一:
在Resource.h内,已经定义好了N多个控件的资源ID,他们都是与 COneDlg 绑定的对话框 IDD_ONE_DLG 里边的控件,
之后,我希望再添加几个新的对话框资源,并且 上边的控件ID 设定得和 COneDlg里边的一样,即ID共享。
因为我这几个对话框不会同时运行,一次只运行一个。
设想二:
利用MFC 的扩展 extend DLL ,写一个基础对话框类不和任何资源绑定 , 再让其他新的对话框类去继承他。但此法似乎有点复杂,资料也少
。
提问:
什么情况下才输出DLL呢?
像对话框之类的,如果全部集合在一个exe文件里边,和分开成为DLL分别调用,感觉在内存的利用也差不多的阿。
本人认为,如自写的控件类,特殊算法函数 ,全局钩子之类 可以输出为DLL调用,其他的就没太大必要。
不知道各位高手的看法如何?