在运行时创建加速器表的第一步是填充ACCEL结构的数组。数组中的每个结构在表中定义了一个加速器。加速器的定义包括其标志,其键和标识符。ACCEL结构具有以下格式。
typedef struct tagACCEL { // Akclit
BYTE fVirt;
WORD key;
WORD cmd;
} ACCEL;
您可以通过在ACCEL结构的键成员中指定ASCII字符代码或虚拟代码来定义加速器的击键。如果指定虚拟密钥代码,则必须首先在fVirt成员中包含FVIRTKEY标志;否则,Windows将代码解释为ASCII字符代码。您可以包括FCONTROL,FALT或FSHIFT标志,或全部三个,以将CTRL,ALT或SHIFT键与击键组合。
要创建加速器表,请将ACCEL结构的数组的地址传递给CreateAcceleratorTable函数。CreateAcceleratorTable创建加速表并返回表的句柄。