SetParent设置多个子窗口后,怎样使特定子窗口失去焦点后隐藏

ZeronoFreya 发布于 2015/10/09 10:17
阅读 479
收藏 0

我用了WM_KILLFOCUS消息,但没用,只有父窗口失去焦点时才会响应,

比如:

子窗口A(Hwnd=ha)

子窗口B(Hwnd=hb)

当子窗口A失去焦点时隐藏(或执行某个操作),用WM_KILLFOCUS应该没错,但就是不行...


ps.用的不是啥大牌语言,一个叫AutoHotKey的脚本语言,姑且贴一下代码....

Gui,f: +Hwndwindf
Gui,a: +Hwndwinda
Gui,b: +Hwndwindb
DllCall("SetParent",UInt,winda,UInt,windf)
DllCall("SetParent",UInt,windb,UInt,windf)
Gui,a: Show, x100 y100 H120 W200,a
Gui,b: Show, x350 y100 H120 W200,b
Gui,f: Show,  H800 W800,f
WM_NCACTIVATE := 0x86
WM_KILLFOCUS := 0x1C	    ;失去焦点
OnMessage(WM_NCACTIVATE,"LostFocus")
return

LostFocus(wParam,lParam){
	lParam:=lParam>>2
	TrayTip,,wParam=%wParam%`nlParam=%lParam%
}
Esc::
	ExitApp




加载中
返回顶部
顶部