C++ 失去焦点后无法获取鼠标单击事件
我正在处理一个exist项目,并试图为其添加一个额外的窗口。我设法创建了窗口,但是如果我调用ShowWindow(m_hwnd,SW_SHOW)来显示我的额外窗口,则原始窗口无法获得鼠标单击事件。但是,原始窗口可以获取鼠标移动事件 看起来原始窗口没有正确处理某些事件,因此无法通过鼠标单击激活它,但我不知道是哪个事件触发了激活 以下是原始窗口处理的消息列表:C++ 失去焦点后无法获取鼠标单击事件,c++,winapi,C++,Winapi,我正在处理一个exist项目,并试图为其添加一个额外的窗口。我设法创建了窗口,但是如果我调用ShowWindow(m_hwnd,SW_SHOW)来显示我的额外窗口,则原始窗口无法获得鼠标单击事件。但是,原始窗口可以获取鼠标移动事件 看起来原始窗口没有正确处理某些事件,因此无法通过鼠标单击激活它,但我不知道是哪个事件触发了激活 以下是原始窗口处理的消息列表: WM_CLOSE WM_MOUSEACTIVATE WM_ENTERSIZEMOVE WM_EXITSIZEMOVE WM_ENTERMEN
WM_CLOSE
WM_MOUSEACTIVATE
WM_ENTERSIZEMOVE
WM_EXITSIZEMOVE
WM_ENTERMENULOOP
WM_EXITMENULOOP
WM_HOTKEYWM_SYSCHAR
WM_CHAR
WM_SYSKEYDOWN
WM_SETCURSOR
WM_MOUSEMOVE
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_MOVE
WM_SIZE
WM_ACTIVATE
WM_SETFOCUS
WM_KILLFOCUS
WM_WINDOWPOSCHANGED
WM_STYLECHANGED
WM_INPUTLANGCHANGE
你需要提供更多的信息来澄清你的问题。无论如何,鼠标消息只接收鼠标悬停在其上的窗口(客户端或非客户端区域),以及调用了
SetCapture
的窗口。因此,您的“问题”可能不是由于“错误的消息处理”,而是由于对输入消息概念的误解。另外,我认为禁用的窗口不会接收输入消息(那些调用了EnableWindow(hWnd,FALSE)
的窗口)。我似乎不清楚您的问题是什么。你的意思是,一旦你显示了你的子窗口,主窗口就不能再通过点击来聚焦了吗?