如何在 ATL/WTL 对话框中注册自定义控件
How to register a custom control on ATL/WTL dialog?
我从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 控件。
相关文章:
- 如何在Qbutton的帮助下更改Q对话框的宽度
- 当对话框被接受时,如何用参数调用槽
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 如何多次询问来自QML对话框的输入?
- 选择文件对话框错误
- 自定义对话框(源自QDialog)不会关闭(Android)
- 如何在 MFC 对话框中使用 OnDraw
- 在C++中创建文件夹选取器对话框的最简单方法是什么?
- 从资源视图访问对话框时出现问题
- 如何检测窗口当前是否正在运行模式对话框?
- "最小化"按钮不会出现在 MFC 对话框中
- 如何获取QNetworkConfiguration UserChoice对话框?
- 表单显示对话框函数错误,并且不执行下面的语句
- 如何在 VC6 中的对话框中将图标设置为按钮
- C++/Win32 构造函数不使用从对话框获取的字符串初始化变量
- 在 Win32 应用中,如果未选择文件夹并且用户单击"确定",则文件夹选择对话框将关闭
- 在主窗口之前显示登录对话框并隐藏主窗口按钮
- 找不到没有具有类名 #32770 的窗口名称的父窗口的子窗口(对话框)
- 如何在主窗口标签的对话框中显示QLineEdit的输入
- 如何在 ATL/WTL 对话框中注册自定义控件