InkPicture 控件参考
InkPicture 控件提供将图像放置在应用程序中并使用户能够在其顶部添加墨迹的功能。 它适用于无法识别为文本但改为存储为墨迹的方案。
可以通过调用 C++ 中的 CoCreateInstance 方法来实例化 InkPicture 控件。
注意
InkPicture 控件未标记为安全编写脚本。 InkPicture 控件不应在 HTML 或 ASP.NET 页面中使用。
在透明控件(如具有WS_EX_TRANSPARENT属性集的 GroupBox)后面创建 InkPicture 控件将阻止 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 控件重绘自身之前发生。 |
调整大小 | 在调整 InkPicture 控件的大小时发生。 |
SelectionChanged | 当 InkPicture 控件中的文本选择已更改时发生,例如通过对用户界面的更改、剪切和粘贴过程或 Selection 属性。 |
SelectionChanging | 当 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 属性 | 获取 IInkCursors 集合,该集合可用于 InkPicture 控件的墨迹书写区域。 |
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 控件上的图形文件。 |
呈现器属性 | 获取或设置 InkRenderer 对象,该对象用于在 InkPicture 控件上绘制墨迹(仅限运行时)。 |
选择 | 获取当前在 InkPicture 控件(仅限运行时)内选定的 InkStrokes 集合。 |
SizeMode | 获取或设置控件如何处理图像放置和大小调整。 |
SupportHighContrastInk 属性 | 获取一个值,该值指定当系统处于高对比度模式时,墨迹是否仅呈现为一种颜色,Color = COLOR_WINDOWTEXT(从 GetSystemMetrics 调用)。 |
SupportHighContrastSelectionUI | 获取或设置一个值,该值指定当系统处于高对比度模式时,是否以高对比度绘制所有选择用户界面(选择边界框和选择句柄)。 |
平板电脑属性 | 获取 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 Tablet PC Edition 2005 以外的任何版本的 Windows XP),则可以将值分配给 InkPicture 控件的环境属性,然后将墨迹复制并粘贴到其他应用程序。 但是,其 InkEnabled 属性的值始终 FALSE。
持久化 InkDisp 对象可以加载并显示在所有版本的 Windows Vista 和 XP 以及仅安装了 Windows XP 平板电脑版软件开发工具包(SDK)的系统上。 如果安装了 Windows Vista 或 Windows XP Tablet PC Edition 2005,InkDisp 对象才能转换为文本(已识别)。
如果对此控件的作不成功,则返回合法的 HRESULT。 如果错误条件结果,请根据错误检查返回的 HRESULT。
有关墨迹控件的详细信息,请参阅 Ink。
有关哪些线程引发特定事件的信息,请参阅 事件可以激发的线程。
若要提高应用程序的性能,请在不再需要 InkPicture 控件时手动释放该控件。
注意
当 InkPicture 控件与另一个控件覆盖(如 GroupBox 设置为透明)时,InkPicture 将不会收集墨迹。 InkPicture 必须是 Z 顺序中排名靠前的控件,或者它必须是 GroupBox的子级。
COM 实现
此对象实现 IInkPicture COM 接口。