Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 失去焦点后无法获取鼠标单击事件_C++_Winapi - Fatal编程技术网

C++ 失去焦点后无法获取鼠标单击事件

C++ 失去焦点后无法获取鼠标单击事件,c++,winapi,C++,Winapi,我正在处理一个exist项目,并试图为其添加一个额外的窗口。我设法创建了窗口,但是如果我调用ShowWindow(m_hwnd,SW_SHOW)来显示我的额外窗口,则原始窗口无法获得鼠标单击事件。但是,原始窗口可以获取鼠标移动事件 看起来原始窗口没有正确处理某些事件,因此无法通过鼠标单击激活它,但我不知道是哪个事件触发了激活 以下是原始窗口处理的消息列表: WM_CLOSE WM_MOUSEACTIVATE WM_ENTERSIZEMOVE WM_EXITSIZEMOVE WM_ENTERMEN

我正在处理一个exist项目,并试图为其添加一个额外的窗口。我设法创建了窗口,但是如果我调用ShowWindow(m_hwnd,SW_SHOW)来显示我的额外窗口,则原始窗口无法获得鼠标单击事件。但是,原始窗口可以获取鼠标移动事件

看起来原始窗口没有正确处理某些事件,因此无法通过鼠标单击激活它,但我不知道是哪个事件触发了激活

以下是原始窗口处理的消息列表:

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)
的窗口)。

我似乎不清楚您的问题是什么。你的意思是,一旦你显示了你的子窗口,主窗口就不能再通过点击来聚焦了吗?