跳转到主要内容
此方法在客户端实现。当在 Image ViewerZoom ViewerText EditorText ValidatorDocument Viewer 中按下某个键并生成字符时,ABBYY FineReader Engine 会调用此方法。 该方法向客户端传递字符代码、重复次数以及与按键操作相关的一些附加信息。借助此方法,可以取消该操作。

语法

C++

HRESULT OnChar(
  int           Character,
  int           Count,
  int           Flags,
  VARIANT_BOOL* Cancel
);

C#

void OnChar(
  int      Character,
  int      Count,
  int      Flags,
  out bool Cancel
);

Visual Basic .NET

Sub OnChar( _
  Character As Integer, _
  Count As Integer, _
  Flags As Integer, _
  ByRef Cancel As Boolean _
)

参数

Character [in] 包含该键的字符代码值。 Count [in] 包含重复计数,即当用户按住该键时,按键重复的次数。 Flags [in] 包含扫描码、按键转换码、先前按键状态和上下文码,如下表所示:
说明
0-7指定扫描码。该值取决于原始设备制造商 (OEM)。
8指定该键是否为扩展键,例如增强型 101 键或 102 键键盘上的右侧 ALT 和 CTRL 键。如果是扩展键,则该值为 1;否则为 0。
9-12由 Windows 内部使用。
13指定上下文码。如果在按下该键时同时按住 ALT 键,则该值为 1;否则为 0。
14指定先前按键状态。如果在发送消息之前该键处于按下状态,则该值为 1;如果该键处于抬起状态,则为 0。
15指定转换状态。如果该键正在释放,则该值为 1;如果该键正在按下,则为 0。
Cancel [out] 您可以将此变量设置为 TRUE,以指示应终止该进程。

返回值

[仅限 C++] 如果此方法返回的值不是 S_OK,则表示客户端发生了错误;在这种情况下,将不考虑 Cancel 参数的值。

备注

此方法的客户端实现必须确保捕获并处理方法内部抛出的所有异常,且不得让任何异常传播到方法外部。异常传播到方法外部可能会导致不可预知的结果 (例如程序终止) 。

另请参见

IInputEvents