winapi – 子窗口如何响应其父级的更改

在Win32应用程序中有一个
Windows消息或一些其他通知,当它被放入另一个父窗口时将被发送到子窗口 最佳答案 这很容易在Windows窗体应用程序中测试.这就是我所看到的:

msg=0x18 (WM_SHOWWINDOW) hwnd=0x60c60 wparam=0x1 lparam=0x0 result=0x0
msg=0x46 (WM_WINDOWPOSCHANGING) hwnd=0x60c60 wparam=0x0 lparam=0x563e01c result=0x0
msg=0x85 (WM_NCPAINT) hwnd=0x60c60 wparam=0x1 lparam=0x0 result=0x0
msg=0x14 (WM_ERASEBKGND) hwnd=0x60c60 wparam=0xffffffff930119e8 lparam=0x0 result=0x0
msg=0x47 (WM_WINDOWPOSCHANGED) hwnd=0x60c60 wparam=0x0 lparam=0x563e01c result=0x0
msg=0xf (WM_PAINT) hwnd=0x60c60 wparam=0x0 lparam=0x0 result=0x0
msg=0xe (WM_GETTEXTLENGTH) hwnd=0x60c60 wparam=0x0 lparam=0x0 result=0x0
msg=0xd (WM_GETTEXT) hwnd=0x60c60 wparam=0x6 lparam=0x3fd7928 result=0x0

WM_SHOWWINDOW是检查父级是否已更改的好时机.不是100%确定如果这是WF代码处理已更改父级的副作用,则赔率相当高.否则没有专门的消息,假设程序已经知道,因为它明确地调用了SetParent或SetWindowLongPtr.

点赞