ITfMouseSink::OnMouseEvent 方法 (msctf.h)

当鼠标事件发生在一系列文本上时调用。

语法

HRESULT OnMouseEvent(
  [in]  ULONG uEdge,
  [in]  ULONG uQuadrant,
  [in]  DWORD dwBtnStatus,
  [out] BOOL  *pfEaten
);

参数

[in] uEdge

包含鼠标位置与文本范围开头的偏移量(以字符为单位)。 有关详细信息,请参见“备注”部分。

[in] uQuadrant

包含鼠标位置所在的相对于边缘的从零开始的象限索引。 有关详细信息,请参见“备注”部分。

[in] dwBtnStatus

指示事件发生时的鼠标按钮状态。 有关可能的值,请参阅WM_MOUSEMOVE消息的wParam 参数。

[out] pfEaten

指向 BOOL 的指针,该指针在退出时指示是否已处理鼠标事件。 如果此值收到 TRUE,则表示已处理鼠标事件。 如果此值为 FALSE,则不处理鼠标事件。

返回值

此方法可以返回其中一个值。

说明
S_OK
方法成功。

注解

调用方应将双击事件转换为多个鼠标按钮向下事件。 这使文本服务能够检测双击事件,即使上下文窗口不支持双击。

uEdge 包含鼠标位置与文本范围开头的偏移量(以字符为单位)。 鼠标位置始终舍入到最近的边缘。 每个边缘分为四个相等象限,边缘前面有两个象限,边缘后有两个象限。 uQuadrant 包含鼠标位置的从零开始的象限索引。 在下图中,点“X”位于边缘 1 的象限 2 中,“Y”点位于边缘 3 的象限 1 中。

与文本范围边缘的象限关系

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 msctf.h
DLL Msctf.dll
可再发行组件 Windows 2000 专业版上的 TSF 1.0

另请参阅

ITfMouseSink

ITfMouseTracker::AdviseMouseSink

ITfMouseTrackerACP::AdviseMouseSink

WM_MOUSEMOVE