繁体   English   中英

可以在 Win32 中超类对话框吗?

[英]Possible to Superclass a Dialog Box in Win32?

我正在为一个项目使用原始的 Win32 和 C++。 据我了解,我可以通过检索类信息、替换过程、然后将其注册为新类并在创建新窗口时使用它来超类 Windows 控件。 子类化是通过在创建窗口后替换窗口的过程来完成的。 超类的优点是您可以在CreateWindow()返回之前处理消息。

我想看看是否可以对使用CreateDialog()创建的对话框进行超类化,因为我想为对话框布局使用资源文件。 问题是我不知道在创建对话框时如何提供超类。 甚至有可能吗? 知道 MFC 如何处理这个吗?

如果使用扩展对话框模板来创建对话框,则可以指定自定义窗口类作为DLGTEMPLATEEX定义的一部分。

对话管理器将照常创建和布局您的对话,并为任何对话消息调用您的窗口过程。 您可以使用DefDlgProc函数为您不想自己处理的任何对话消息获取默认处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM