ITextServices::OnTxSetCursor 方法 (textserv.h)

通知文本服务对象设置游标。

语法

HRESULT OnTxSetCursor(
  [in] DWORD          dwDrawAspect,
       LONG           lindex,
  [in] void           *pvAspect,
  [in] DVTARGETDEVICE *ptd,
  [in] HDC            hdcDraw,
  [in] HDC            hicTargetDev,
  [in] LPCRECT        lprcClient,
  [in] INT            x,
  [in] INT            y
);

参数

[in] dwDrawAspect

类型: DWORD

绘图方面可以是以下值之一。

含义
DVASPECT_CONTENT
将文本内容的屏幕图像呈现到 hdcDraw 设备上下文。 hicTargetDevptd 参数提供有关目标设备上下文的信息(如果任何 (通常打印机) )。
DVASPECT_DOCPRINT
将对象呈现到 hdcDraw 设备上下文中,就像将其打印到打印机一样。 因此,文本服务对象可以优化打印机 (例如,如果) 白色,则不绘制背景色。 此外,不应呈现某些特定于屏幕的元素 (,例如选择) 。

ITextServices::OnTxSetCursor 应从当前滚动位置开始呈现 lprcClient 矩形。

lindex

类型: LONG

不支持。

[in] pvAspect

类型: void*

有关绘图优化的信息。

[in] ptd

类型: DVTARGETDEVICE*

目标设备。

[in] hdcDraw

类型: HDC

呈现设备上下文。

[in] hicTargetDev

类型: HDC

目标信息上下文。

[in] lprcClient

类型: LPCRECT

控件的客户端矩形。 矩形的坐标位于包含窗口的客户端坐标中。 NULL 是一个法定值。

[in] x

类型: INT

光标的 x 位置,位于包含窗口的客户端坐标中。

[in] y

类型: INT

光标的 y 位置,位于包含窗口的客户端坐标中。

返回值

类型: HRESULT

如果该方法成功,则 返回值S_OK

如果方法失败,则返回值为以下 HRESULT 代码。 有关 COM 错误代码的详细信息,请参阅 COM 中的错误处理

返回代码 说明
E_INVALIDARG
一个或多个非法参数。

注解

由于此调用,文本服务对象可能会重新测量以确定正确的游标。 通过 TxSetCursor 设置正确的光标。

lprcClient 参数是鼠标光标所在的控件视图的客户端矩形。 lprcClient 参数位于包含窗口的设备坐标中,其方式与WM_SIZE消息相同。 这可能不是上次呈现的视图。 此外,如果控件就地处于活动状态,则可能不是当前活动视图 。 因此,文本服务对象应根据当前缓存的值检查此矩形,并确定是否需要重新计算行。 缩放因子应包括在此计算中。 有关缩放系数的讨论,请参阅 TxGetExtent

应仅为控件的屏幕视图调用此方法。 因此,不会传入 (DC) 的设备上下文,但应假定为屏幕 DC。

有关详细信息,请参阅 ITextServices::TxDraw 中的备注。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 textserv.h
DLL Msftedit.dll

请参阅

概念性

ITextServices

其他资源

引用

TxDraw

TxGetExtent

TxSetCursor

WM_SIZE

无窗口 Rich Edit 控件