InkPicture 控件参考
InkPicture 控件使用户能够将图像放置在应用程序中,并使用户能够在其上添加墨迹。 它适用于墨迹未识别为文本,而是存储为墨迹的情况。
可以通过在 C++ 中调用 CoCreateInstance 方法实例化 InkPicture 控件。
注意
InkPicture 控件未标记为可安全编写脚本。 不应在 HTML 或 ASP.NET 页中使用 InkPicture 控件。
在透明控件 ((如 GroupBox)后面创建 InkPicture 控件,) 设置 WS_EX_TRANSPARENT 属性将阻止 InkPicture 收集墨迹。
成员
枚举 | 描述 |
---|---|
InkPictureSizeMode | 定义指定背景图片在 InkPicture 控件内的行为方式的值。 |
事件 | 说明 |
---|---|
ChangeUICues | 已弃用。 |
点击 | 当用户单击 InkPicture 控件时发生。 |
CursorButtonDown 事件 |
当 InkCollector 控件检测到 IInkCursorButton 对象已关闭时发生。 |
CursorButtonUp 事件 | 当 InkPicture 控件检测到已启动的 IInkCursorButton 时发生。 |
CursorDown 事件 | 当光标笔尖接触数字化平板电脑表面时发生。 |
CursorInRange 事件 | 当光标进入平板电脑上下文的物理检测范围 (邻近感应) 时发生。 |
CursorOutOfRange 事件 | 当光标离开物理检测范围 (平板电脑上下文的邻近感应) 时发生。 |
DblClick | 双击 InkPicture 控件时发生。 此事件方法在 _IInkPictureEvents 接口中定义。 _IInkPictureEvents 接口实现标识符为 DISPID_IPEDblClick 的 IDispatch 接口。 |
手势事件 | 在识别应用程序手势时发生。 |
KeyDown 事件 [InkPicture 控件] | 当 InkPicture 控件具有焦点时,按下键并处于向下位置时发生。 |
KeyPress 事件[InkPicture 控件] | 当 InkPicture 控件具有焦点时按下某个键时发生。 |
KeyUp 事件 [InkPicture 控件] | 在 InkPicture 控件具有焦点时释放键时发生。 |
MouseDown 事件 [InkPicture 控件] | 当鼠标指针位于 InkPicture 控件上并按下鼠标按钮时发生。 |
MouseEnter | 当鼠标指针进入 InkPicture 控件时发生。 |
MouseHover | 当鼠标指针悬停在 InkPicture 控件上时发生。 |
MouseLeave | 当鼠标指针离开 InkPicture 控件时发生。 |
MouseMove 事件 [InkPicture 控件] | 当鼠标指针移到 InkPicture 控件上时发生。 |
MouseUp 事件 [InkPicture 控件] | 当鼠标指针位于 InkPicture 控件上并且松开鼠标按钮时发生。 |
MouseWheel | 当 InkPicture 控件具有焦点时鼠标滚轮移动时发生。 |
NewInAirPackets 事件 | 在看到无线数据包时发生。 |
NewPackets 事件 | 当 InkPicture 控件收到数据包时发生。 |
画 | 当 InkPicture 控件完成自身重绘时发生。 |
绘制 | 在 InkPicture 控件重绘自身之前发生。 |
Resize | 在调整 InkPicture 控件的大小时发生。 |
SelectionChanged | 当 InkPicture 控件中的文本选择发生更改时发生,例如通过更改用户界面、剪切和粘贴过程或 Selection 属性。 |
选择更改 | 当 InkPicture 控件中的文本选择即将更改时发生,例如通过更改用户界面、剪切和粘贴过程或 Selection 属性。 |
SelectionMoved | 当当前所选内容的位置发生更改时发生,例如通过更改用户界面、剪切和粘贴过程或 Selection 属性。 |
SelectionMoving 事件 [InkPicture 控件] | 当当前选定内容的位置即将更改时发生,例如通过更改用户界面、剪切和粘贴过程或 Selection 属性。 |
SelectionResized | 当当前选定内容的大小发生更改时发生,例如通过更改用户界面、剪切和粘贴过程或 Selection 属性。 |
SelectionResizing | 当当前所选内容的大小即将更改时发生,例如通过更改用户界面、剪切和粘贴过程或 Selection 属性。 |
SizeChanged | 在 InkPicture 控件调整大小之后发生,特别是在 Width 或 Height 属性值更改之后。 |
SizeModeChanged | 在 InkPicture 控件的 SizeMode 属性更改后发生。 |
StyleChanged | 未实现。 |
中风 | 当用户在任何平板电脑上绘制新笔划时发生。 |
StrokesDeleted | 从 Ink 属性中删除 IInkStrokeDisp 对象后发生。 |
StrokesDeleting | 在从 Ink 属性中删除 IInkStrokeDisp 对象之前发生。 |
SystemColorsChanged | 在系统颜色更改后发生。 |
SystemGesture | 在识别系统手势时发生。 |
TabletAdded 事件 | 将平板电脑添加到系统时发生。 |
TabletRemoved 事件 | 从系统中删除平板电脑时发生。 |
方法 | 说明 |
---|---|
GetEventInterest 方法 | 返回一个值,该值指示 InkPicture 控件是否对特定事件感兴趣。 |
GetGestureStatus | 返回一个值,该值指示 InkPicture 控件是否对特定应用程序手势感兴趣。 |
GetWindowInputRectangle 方法 | 返回在其中绘制墨迹的窗口矩形(以像素为单位)。 |
HitTestSelection | 返回 SelectionHitResult 枚举的成员,该枚举指定在命中测试期间命中所选内容(如果有)的哪一部分。 |
SetAllTabletsMode 方法 | 使 InkPicture 控件能够从连接到平板电脑的任何平板电脑收集墨迹。 |
SetEventInterest 方法 | 设置一个值,该值指示 InkPicture 控件是否对指定事件感兴趣。 |
SetFocus | 将焦点移动到 InkPicture 控件。 |
SetGestureStatus 方法 | 在指定的应用程序手势中设置 InkPicture 对象的兴趣。 |
SetSingleTabletIntegratedMode 方法 | 设置 InkPicture 控件以仅从连接到平板电脑的一台平板电脑收集墨迹。 忽略其他平板电脑中的墨迹。 |
SetWindowInputRectangle 方法 | 指定要在窗口坐标中设置的窗口矩形,在其中绘制墨迹。 |
ShowWhatsThis | 使用 32 位 Microsoft Windows 操作系统中的帮助提供的“内容”弹出窗口在帮助文件中显示所选主题, (设计时仅) 。 |
ZOrder | 将控件放在 z 顺序的前面或后面,仅) (设计时图形级别。 |
属性 | 说明 |
---|---|
AutoRedraw 属性 | 获取或设置一个值,该值指定当窗口失效时,InkPicture 控件是否重新绘制, (当与 InkPicture 关联的窗口收到) WM_PAINT消息时,是否自动重新绘制当前与 InkPicture 控件关联的 InkDisp 对象。 |
BackColor | 获取或设置 InkPicture 控件的背景色。 默认背景色是系统窗口背景色,通常为白色。 |
CollectingInk 属性 | 获取值,该值指定 InkPicture 控件是否仅在) (运行时收集墨迹。 |
CollectionMode | 获取或设置集合模式,该模式确定是否在用户写入时识别墨迹、手势或笔势。 |
Cursors 属性 | 获取可在 InkPicture 控件的墨迹区域中使用的 IInkCursors 集合。 |
CustomStrokes | 获取 IInkCustomStrokes 集合,该集合仅在设计时 (墨迹中保留) 。 |
DefaultDrawingAttributes 属性 | 获取或设置在仅) (运行时绘制和显示墨迹时使用的默认 InkDrawingAttributes 集合。 |
DesiredPacketDescription 属性 | 获取或设置仅) 运行时 (InkPicture 控件的数据包说明。 |
DynamicRendering 属性 | 获取或设置值,该值指定 InkPicture 控件是否在收集墨迹时动态呈现墨迹。 |
EditingMode | 获取或设置一个值,该值指定 InkPicture 控件是处于墨迹模式、删除模式还是选择/编辑模式。 |
已启用 | 获取或设置一个值,该值确定 InkPicture 控件是否可以响应用户生成的事件。 注意: 此属性等效于 InkEnabled 属性。 |
EraserMode | 获取或设置值,该值指定是按笔划还是按点擦除墨迹。 |
EraserWidth | 获取或设置值,该值指定橡皮擦笔尖的宽度。 |
hWnd | 获取 InkPicture 控件绑定到的窗口句柄。 仅) (运行时间 |
墨迹 | 获取或设置与 InkPicture 控件关联的 InkDisp 对象, (仅) 运行时。 |
InkEnabled | 获取或设置一个值,该值指定 InkPicture 控件是否收集笔输入 (无线数据包、范围事件中的光标等) 。 |
MarginX 属性 | 获取或设置屏幕坐标中窗口矩形周围的 x 轴边距。 |
MarginY 属性 | 获取或设置屏幕坐标中窗口矩形周围的 y 轴边距。 |
MouseIcon 属性 | 获取或设置当前自定义鼠标图标。 |
MousePointer 属性 | 获取或设置一个值,该值指示当鼠标位于 InkPicture 控件的特定部分时出现的鼠标指针的类型。 |
图片 | 获取要显示在 InkPicture 控件上的图形文件。 |
Renderer 属性 | 获取或设置 InkRenderer 对象,该对象用于在仅) 运行时 (InkPicture 控件上绘制墨迹。 |
选择 | 获取当前在 InkPicture 控件中选择的 InkStrokes 集合, (仅) 运行时。 |
SizeMode | 获取或设置控件如何处理图像放置和大小调整。 |
SupportHighContrastInk 属性 | 获取一个值,该值指定当系统处于高对比度模式时,墨迹是否仅呈现为一种颜色、Color = COLOR_WINDOWTEXT (GetSystemMetrics 调用) 。 |
SupportHighContrastSelectionUI | 获取或设置一个值,该值指定当系统处于高对比度模式时,是否以高对比度绘制所有选择用户界面) (选择边界框和选择句柄。 |
Tablet 属性 | 获取 InkPicture 控件当前用于收集输入的 IInkTablet 对象。 |
注解
InkPicture 控件的运行时用户界面是一个窗口,其背景不透明 (单一颜色、图片背景或同时包含不透明墨迹的) 。
可以使用 InkPicture 控件在 Microsoft Windows 2000、Windows Server 2003、除 Windows XP 平板电脑版以外的任何 Windows XP 版本以及任何版本的 Windows Vista 中呈现墨迹。 但是,只能在以下条件下输入墨迹、接受手势或识别手写:
- 如果安装了 Windows Vista 或 XP Tablet PC Edition 2005,则可以输入并识别墨迹。
- 手势也可以识别。
- 如果手写源自运行较旧版本的 Windows 的计算机上,只要存在识别器,手写就可以识别为文本。
如果使用 Windows 2000、Windows Server 2003、Windows XP 平板电脑版本 2005 以外的任何 Windows XP 版本,则可以将值分配给 InkPicture 控件的环境属性,然后将墨迹复制并粘贴到其他应用程序。 但是,其 InkEnabled 属性的值将始终为 FALSE。
持久 化 InkDisp 对象可以在所有版本的 Windows Vista 和 XP 以及仅安装了 Windows XP Tablet PC Edition 软件开发工具包 (SDK) 的系统上加载和显示。 如果安装了 Windows Vista 或 Windows XP Tablet PC Edition 2005,则 InkDisp 对象只能转换为 (识别) 的文本。
如果对此控件的操作不成功,则返回合法的 HRESULT。 如果出现错误条件,检查返回的 HRESULT 来对抗错误。
有关墨迹控件的详细信息,请参阅 Ink。
有关哪些线程引发特定事件的信息,请参阅 有关哪些事件可以触发的线程。
若要提高应用程序的性能,请在不再需要 InkPicture 控件时手动释放它。
注意
当 InkPicture 控件与另一个控件(例如 GroupBox 设置为透明)重叠时,InkPicture 将不会收集墨迹。 InkPicture 必须是 Z 顺序中最顶层的控件,或者必须是 GroupBox 的子级。
COM 实现
此对象实现 IInkPicture COM 接口。