对话框非激活状态下获取鼠标消息

时间:2022-06-14 19:02:50
如题,我在OnInitDialog中通过SetWindowRgn将窗口设置为了异形窗口,并且将窗口设置为TOPMOST窗口,
在点击非窗口区域后,窗口失去焦点,消息由点击区域的窗口处理,我现在想在我的窗口中处理鼠标消息,该如何做呢?
注:我只有一个exe,不要用全局钩子的方式,不能多一个DLL。
注2:我想实现的是一个类似“蒙板”的对话框,对话框中间一块透明(目前使用了异形窗口将这快DIFF掉了),看到下层的窗口,然后希望可以能够在这块区域画圈,对话框有个按钮,点击按钮后,绘制状态激活,鼠标在此透明区中拖动能画线。可有什么好的解决办法呢?

6 个解决方案

#1


该回复于2012-11-28 11:07:39被管理员删除

#2


试试
SetCapture

#3


使用一个子窗口,背景透明就可以,在子窗口中处理MOUSE消息

#4


SetWindowsHookEx(WH_MOUSE_LL, ...);
不必放到DLL中

#5


有没有尝试过SetLayeredWindowAttributes使对话框透明,调制透明度,非完全透明状态(看似透明即可)
应该还是能接受到鼠标消息的。

#6


该回复于2012-12-01 09:25:25被管理员删除

#1


该回复于2012-11-28 11:07:39被管理员删除

#2


试试
SetCapture

#3


使用一个子窗口,背景透明就可以,在子窗口中处理MOUSE消息

#4


SetWindowsHookEx(WH_MOUSE_LL, ...);
不必放到DLL中

#5


有没有尝试过SetLayeredWindowAttributes使对话框透明,调制透明度,非完全透明状态(看似透明即可)
应该还是能接受到鼠标消息的。

#6


该回复于2012-12-01 09:25:25被管理员删除