函数

Gtkaccelerator_parse

声明 [src]

gboolean
gtk_accelerator_parse (
  const char* accelerator,
  guint* accelerator_key,
  GdkModifierType* accelerator_mods
)

说明 [src]

解析表示加速器的字符串。

格式类似于“<Control>a”或“<Shift><Alt>F1”。

解析器比较自由,允许使用小写或大写,还允许使用缩写,如“<Ctl>”和“<Ctrl>”。

键名使用 gdk_keyval_from_name() 解析。对于字符键,名称不是符号而是小写名称,例如会使用“<Ctrl>minus”而不是“<Ctrl>-”。

修饰符用尖括号 <> 括起来,并匹配 GdkModifierType 掩码

  • <Shift> 表示 GDK_SHIFT_MASK
  • <Ctrl> 表示 GDK_CONTROL_MASK
  • <Alt> 表示 GDK_ALT_MASK
  • <Meta> 表示 GDK_META_MASK
  • <Super> 表示 GDK_SUPER_MASK
  • <Hyper> 表示 GDK_HYPER_MASK

如果解析操作失败,accelerator_keyaccelerator_mods 将被设置为 0(零)。

参数

accelerator

类型: const char*

表示加速器的字符串。

数据归函数的调用者所有。
该值是空值终止的 UTF-8 字符串。
accelerator_key

类型: guint*

返回加速器 keyval 的位置。

此参数将由函数设置。
此参数可以为 NULL
accelerator_mods

类型: GdkModifierType

返回加速器修饰符掩码的位置。

此参数将由函数设置。
此参数可以为 NULL
函数调用者拥有返回数据的所权,并负责释放它。

返回值

类型: gboolean

是否解析成功。