在点击非窗口区域后,窗口失去焦点,消息由点击区域的窗口处理,我现在想在我的窗口中处理鼠标消息,该如何做呢?
注:我只有一个exe,不要用全局钩子的方式,不能多一个DLL。
注2:我想实现的是一个类似“蒙板”的对话框,对话框中间一块透明(目前使用了异形窗口将这快DIFF掉了),看到下层的窗口,然后希望可以能够在这块区域画圈,对话框有个按钮,点击按钮后,绘制状态激活,鼠标在此透明区中拖动能画线。可有什么好的解决办法呢?
6 个解决方案
#1
#2
试试
SetCapture
SetCapture
#3
使用一个子窗口,背景透明就可以,在子窗口中处理MOUSE消息
#4
SetWindowsHookEx(WH_MOUSE_LL, ...);
不必放到DLL中
不必放到DLL中
#5
有没有尝试过SetLayeredWindowAttributes使对话框透明,调制透明度,非完全透明状态(看似透明即可)
应该还是能接受到鼠标消息的。
应该还是能接受到鼠标消息的。
#6
#1
#2
试试
SetCapture
SetCapture
#3
使用一个子窗口,背景透明就可以,在子窗口中处理MOUSE消息
#4
SetWindowsHookEx(WH_MOUSE_LL, ...);
不必放到DLL中
不必放到DLL中
#5
有没有尝试过SetLayeredWindowAttributes使对话框透明,调制透明度,非完全透明状态(看似透明即可)
应该还是能接受到鼠标消息的。
应该还是能接受到鼠标消息的。