Windows静态控件如何防止输入焦点

Jav*_*Man 3 winapi controls static setfocus

我们知道Windows中的静态控制不会收到输入焦点.但是,由于静电控制在Windows仅仅是一个子窗口,根据迄今为止我了解,任何窗口应给予输入焦点,当我们点击它.那么静态控制如何实现拒绝输入焦点的效果呢?我怀疑它在WM_SETFOCUS处理程序中有特殊处理,它将输入焦点输出到其父窗口.不过,我已经做了一些测试,它似乎是子窗口确实没有收到在所有IE窗口从未真正试图给输入焦点静态控制在所有任何WM_SETFOCUS.

我已经阅读了输入焦点上的msdn,并且没有任何与Windows如何为静态控制分配焦点有关.任何人都可以解释如何使静态控制不具有输入焦点?

Adr*_*thy 5

静态控件HTTRANSPARENT从其WM_NCHITTEST处理程序返回.这会导致点击直接进入底层窗口(即父窗口).在WM_MOUSEACTIVATEWM_*BUTTONCLICK和其他魔术最终导致激活和SetFocus.