1

我使用 MFC 创建了控件派生类,例如从 CListCtrl 派生的 FolderLister 或彩色富编辑控件。所以我想将它们保存在一个文件中,因为这样项目变得非常混乱。我可以从控件创建自己的控件派生吗在工具箱中使用它?或者我可以将我的课程保存在一个文件中,以便我可以将它存储在一个文件中?我正在搜索 2 天仍然不知道我应该使用静态库还是创建一个 activex 控件该怎么办?或使用 atl。

对不起我的英语不好。提前致谢。

4

2 回答 2

2

您可能要创建 ActiveX 控件。您可以使用 MFC、ATL 或(如果您是自虐狂)自己来做到这一点。

在这三个中,通常使用 MFC 最容易,而您自己最难。MFC 的问题是控件往往非常大。ATL 让您生成的控件几乎与您完全手工编写它们一样小,并且仅比使用 MFC 进行开发稍微困难一些。

于 2013-06-23T21:57:05.610 回答
1

这是 Windows 中与生俱来的能力。按钮控件就是一个很好的例子,只需调用 CreateWindowsEx() 并传递 L"Button" 作为类名,您就拥有了一个按钮控件。它们是内置于 Windows 中的控件。

使用此方案创建自己的方案非常简单。只需使用导出的 Initialize() 函数创建一个 DLL 项目。在该函数中调用 RegisterClassEx() 来注册您自己的控件类。客户端代码现在可以简单地调用 CreateWindowEx() 并传递您的控件类名称来获取您对其窗口的控制。正是您在 WNDCLASSEX 中注册的窗口过程为窗口提供了自定义行为。添加您自己的消息以允许客户端配置您的控件并调用自定义功能。这正是普通控件的工作方式,初始化函数为InitCommonControls,自定义消息在CommCtrl.h头文件中声明。

您可以通过使 Windows 自动查找和加载您的 DLL 并使您的控件在设计器中工作的方案无限地复杂化该模式。ActiveX 控件背后的想法。相当的学习曲线,最好保持简单。

于 2013-06-23T22:27:05.270 回答