IInkCollector::SetWindowInputRectangle 方法 (msinkaut.h)

设置在其中绘制墨迹的窗口矩形(以像素为单位)。

语法

HRESULT SetWindowInputRectangle(
  [in] IInkRectangle *WindowInputRectangle
);

parameters

[in] WindowInputRectangle

在窗口坐标中绘制墨迹的矩形。

返回值

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

返回代码 说明
S_OK
成功。
E_POINTER
参数包含无效的指针。
E_INVALIDARG
矩形坐标 (无效,例如,宽度/高度为 0) 。
E_INK_COLLECTOR_BUSY
在笔划中间时无法更新映射。
E_INK_EXCEPTION
方法内发生异常。
E_INK_OVERLAPPING_INPUT_RECT
窗口输入矩形与已启用 InkCollector 的窗口输入矩形重叠。

注解

如果已启用墨迹收集器的窗口输入矩形 (使用 Enabled 属性设置) 与另一个已启用墨迹收集器的窗口输入矩形重叠,则返回E_INK_OVERLAPPING_INPUT_RECT错误。

注意 只要在任何已知时间只启用其中一个输入矩形,重叠就不会出现错误。
 
默认情况下,窗口输入矩形设置为 {0,0,0,0}。 此默认矩形映射到整个窗口的大小。

若要将窗口输入矩形重置为其默认行为 (具有坐标 {0,0,0,0}) 的空矩形,请传入{0,0,0,0}对 SetWindowInputRectangle 的调用,而不是 NULL

不能传入一个矩形,其中 Right 属性的值小于 Left 属性的值;或 , 其中 Bottom 属性的值小于 Top 属性的值。 例如,参数为 {500, 500, 400, 400} 的矩形无效。

谨慎 如果将窗口输入矩形设置为与拆分器控件或窗口边框重叠,则调整窗口大小时可能会出现不可预知的结果。
 
注意 在某些消息处理程序中调用此方法可能会导致重新输入基础函数,从而导致意外的结果。 处理以下任何消息时,请小心避免重入调用:WM_ACTIVATEWM_ACTIVATEAPPWM_NCACTIVATE、WM_PAINT;如果wParam 设置为 SC_HOTKEY 或 SC_TASKLIST,则WM_SYSCOMMAND;处理 Alt+TAB 或 Alt+ESC 组合键时WM_SYSKEYDOWN () 。 这是单线程单元模型应用程序的问题。
 

要求

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

另请参阅

Enabled 属性

GetWindowInputRectangle 方法

IInkCollector

InkCollector 类