0

当我们子类化一个窗口对话框并且对话框关闭时会发生什么?

场景是我正在对一个对话框进行子类化,并且应用程序可以启动该对话框的许多实例。

是否有必要在其销毁逻辑中的所有对话框中添加取消子类化代码。

我认为当对话框关闭时,不需要取消子类,因为对话框已经被破坏。

4

2 回答 2

0

如果您正在使用实例子类化 (SetWindowLongPtr),那么由于当窗口被拆除时,它使用哪个 WndProc 并不重要——无论如何它都会消失。

如果您正在使用全局子类化(SetClassLongPtr),那么一旦关闭最后一个子类化窗口(即不是每个窗口) ,删除子类可能是个好主意,这样以后用该类创建的任何窗口都不会被子类化- - 除非那是你想要的,当然。

于 2009-11-30T12:39:29.560 回答
0

假设你说的是直接的 Win32 API,那么是的。但请注意,如果您有任何手动管理的资源,则必须在 WM_CLOSE 消息中整理它们。

于 2009-11-30T07:30:05.600 回答