Win32API:如何向父窗口请求嵌入式 Windows 事件通知
Posted
技术标签:
【中文标题】Win32API:如何向父窗口请求嵌入式 Windows 事件通知【英文标题】:Win32API: How to request embedded windows event notifications out to a parent window 【发布时间】:2010-02-05 18:42:14 【问题描述】:场景:我想要一个窗口控件,它是我的对话框中的子窗口(子窗口的子窗口),以将其通知消息传播到对话框窗口。
例如COMBOBOX 包含一个 EDIT 控件。我有一种情况,我真的很想知道 EDIT 字段何时获得和失去焦点(主要是因为愚蠢的 COMBOBOX 不会声明焦点或在其嵌入式 EDIT 发生时不给我通知)。
但我可以看出这可能是一个普遍问题:控件向其父级 WM_NOTIFY... 发出一条消息,直接父级并不关心,但它的父级可能关心。
是否有一种通用的方法来要求窗口窗口从其子窗口传播通知消息?
例如如果对话框 D 有一个控件 C 有一个子控件 C',那么有没有办法确保 D 收到来自 C' 的 WM_NOTIFY 消息?
【问题讨论】:
我能否澄清一下 - 您使用的是 MFC 还是 Win32 - WM_NOTIFY 听起来像 Win32? 我对两者都很满意。但是,由于 MFC 只是 Win32 的一个包装器,因此就 Win32 而言它更直截了当。但是,如果有人想以 MFC 的形式呈现信息,我会很高兴。这有帮助吗? 是的,谢谢,只是检查一下。不过我仍然不确定我是否有解决方案。 【参考方案1】:我相信您需要对窗口进行子类化,请参阅http://msdn.microsoft.com/en-us/library/ms997565.aspx(内容已被删除!)。
【讨论】:
这就是我正在做的事情。希望有一种不那么老套的方法。以上是关于Win32API:如何向父窗口请求嵌入式 Windows 事件通知的主要内容,如果未能解决你的问题,请参考以下文章
如何在 win32API 中更改静态窗口的背景颜色? [复制]