setCapture 函数 (winuser.h)

将鼠标捕获设置为属于当前线程的指定窗口。 当鼠标悬停在捕获窗口上时,或者在鼠标悬停在捕获窗口上且按钮仍然向下的情况下按下鼠标按钮时,SetCapture 将捕获鼠标输入。 一次只会有一个窗口捕获鼠标。

如果鼠标光标位于另一个线程创建的窗口上,则仅当鼠标按钮按下时,系统才会将鼠标输入定向到指定的窗口。

语法

HWND SetCapture(
  [in] HWND hWnd
);

参数

[in] hWnd

类型:HWND

当前线程中窗口的句柄,用于捕获鼠标。

返回值

类型:HWND

返回值是以前捕获了鼠标的窗口的句柄。 如果没有此类窗口,则返回值为 NULL

注解

只有前台窗口可以捕获鼠标。 当后台窗口尝试这样做时,窗口仅接收当光标热点位于窗口的可见部分时发生的鼠标事件的消息。 此外,即使前台窗口已捕获鼠标,用户仍可以单击另一个窗口,将其带到前台。

当窗口不再需要所有鼠标输入时,创建窗口的线程应调用 ReleaseCapture 函数来释放鼠标。

此函数不能用于捕获用于其他进程的鼠标输入。

捕获鼠标时,菜单热键和其他键盘快捷键不起作用。

示例

有关示例,请参阅 使用鼠标绘制线条

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-mouse-l1-1-0 (

请参阅

概念性

GetCapture

鼠标输入

引用

ReleaseCapture

WM_CAPTURECHANGED