GIRL对加速键的支持


为了简化信号传播机制,必须单独处理加速键。因为加速键信号的接收者往往不在加速键处理者的 子树中(父子窗口关系),如果不单独处理加速键,就必须允许信号由父节点向子节点传播。

考虑到加速键总是在某些特定的构件中使用,可以由构件自行注册加速键。因此没有必要在GIRL源 文件中给出注册加速键的手段。构件将根据由构件本身定义的约定注册加速键(例如,把菜单项字符串 中&之后的字符作为加速键字符)。

为了给加速键注册提供便利,加速键在C/C++程序中被定义成整数。C/C++程序可以通过宏访问给定 的加速键。所有加速键宏在头文件keysym.h中定义。除了为每个加速键定义了单独的宏,还提供了如下 宏以便于访问加速键:

为了简化加速键注册操作,把加速键编程组。加速键编组有利于成组地添加、删除加速键。结构 girlAccelGroup用于表示加速键组。

构件注册加速键可以调用以下函数:

需要说明的是:如果在同一个加速键表中出现了重复的加速键,则后一个加速键将被忽略。如果同一个 加速键出现在不同的加速键表中,后安装的加速键表中的加速键被优先使用。


返回首页
上一页:关于GIRL构件
下一页:使用GIRL的编译器girlc
与我联系