我已经派生了一个自定义控件ATL::CWindowImpl<CMyCustomControl>
并声明了DECLARE_WND_CLASS(_T("CMyCustomControl"))
.
我还制作了一个带有类名的自定义控件的对话框资源CMyCustomControl
。
如何正确注册控件以便在对话框中显示它?
我已经派生了一个自定义控件ATL::CWindowImpl<CMyCustomControl>
并声明了DECLARE_WND_CLASS(_T("CMyCustomControl"))
.
我还制作了一个带有类名的自定义控件的对话框资源CMyCustomControl
。
如何正确注册控件以便在对话框中显示它?
在 WTL 中创建自定义控件有三种典型的方法。
DECLARE_WND_CLASS
/ DECLARE_WND_SUPERCLASS
+ RegisterClassEx
API 按名称注册类 + 对话框模板中的自定义控件引用通过类名称实例化控件CWindowImpl
,并手动创建控件,尤其是。从OnCreate
/OnInitDialog
对于所有这三个,您需要做的不仅仅是类定义中的宏。你会在这里找到很好的例子:http: //www.viksoe.dk/code/all_wtl.htm在“控制”部分。
当然,第四种方法是实现一个 ActiveX 控件。