//窗口h无法响应鼠标 无法用鼠标移动 SetWindowPos (h, -1, 0, 0, 0, 0, 1 Or 2); //'置顶 extendedStyle := GetWindowLong(h, GWL_EXSTYLE); SetWindowLong(h, GWL_EXSTYLE, extendedStyle or WS_EX_TRANSPARENT or WS_EX_LAYERED); SetLayeredWindowAttributes (h, 0, 255, LWA_ALPHA); ////////////////////////////////////////////////////////////////////////////////////////////// A是单文档的视图,B窗口,全透明。覆盖在A视图上,大小和A一样,但是这样B就鼠标穿透了。响应不了鼠标消息 B不穿透必须满足以下条件: 1. B的透明度不为0 2. B不能有WS_EX_TRANSPARENT 3. B的WM_NCHITTEST消息不应返回HTTRANSPARENT (需要返回HTCLIENT) WS_EX_TRANSPARENT 属性不是指绘制文字时候透明,而是对鼠标点击时间的透明,也就是说 鼠标点在一个具有透明属性的窗口上,鼠标消息将传递给其下面不具有透明属性的窗口 |
|