IInkRenderer::D rawStroke 方法 (msinkaut.h)

使用已知的设备上下文绘制 IInkStrokeDisp 对象,并可以选择使用已知的 InkDrawingAttributes 对象绘制 IInkStrokeDisp 对象。

语法

HRESULT DrawStroke(
  [in]           LONG_PTR              hDC,
  [in]           IInkStrokeDisp        *Stroke,
  [in, optional] IInkDrawingAttributes *DrawingAttributes
);

parameters

[in] hDC

要绘制的设备上下文的 hWnd

[in] Stroke

要绘制的笔划。

[in, optional] DrawingAttributes

可选。 指定要在绘图上使用的 InkDrawingAttributes 。 默认值为 NULL。 如果指定了 InkDrawingAttributes,它们将覆盖 IInkStrokeDisp 上的 DrawingAttributes

返回值

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

返回代码 说明
S_OK
成功。
E_POINTER
参数包含无效的指针。
E_INK_MISMATCHED_INK_OBJECT
笔划参数与不同的 InkDisp 对象相关联。
E_INVALIDARG
显示句柄无效。
E_INK_INCOMPATIBLE_OBJECT
strokedrawingAttributes 参数不指向有效的对象。
E_INK_EXCEPTION
方法内发生异常。
E_UNEXPECTED
意外的参数或属性类型。

注解

笔宽度 (或) 乘以视图转换行列的平方根。

注意 如果尚未显式设置笔宽度,则默认为 53。 必须将笔宽度乘以行列函数的平方根才能生成正确的边界框。 边界框的高度和宽度在每个方向上扩展了一半。
 
例如,假设笔宽度为 53,行列式的平方根为 50,边界框 (0,0,1000,1000) 。 每个方向对边界框的笔宽度调整按 (53*50) /2 计算,右侧和底部边按 1 递增。 这会导致呈现的边界框 (-1325,-1325,2326,2326) 。

InkRenderer 强制视区和窗口原点为 0, 0。 保存和还原任何现有设置,但 InkRenderer 不会使用。 若要执行滚动,请使用 InkRenderer 对象的视图和对象转换方法。

要求

   
最低受支持的客户端 Windows XP Tablet PC Edition [仅限桌面应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 msinkaut.h
Library InkObj.dll

请参阅

Draw 方法 [InkRenderer 类]

IInkRenderer

IInkStrokeDisp 接口

InkDrawingAttributes 类

InkRenderer 类