设为首页 加入收藏

TOP

功能表及其他资源(五十八)
2010-12-30 21:13:27 来源: 作者: 【 】 浏览:35950
Tags:功能 及其他 资源

然後载入加速键表:

正如图示、游标和功能表一样,您可以使用一个数值代替加速键表的名称,然後在LoadAccelerators叙述中和MAKEINTRESOURCE巨集一起使用该数值,或者把它放在双引号内,前面冠以字元「#」。

键盘代码转换
 

现在我们将讨论底下这三行程式码,在本书中,截至目前为止建立的所有Windows程式中都使用过它们。这些程式码是标准的讯息回圈:

下面把上头那段程式码加以修改,以便使用加速键:

TranslateAccelerator函式确认存放在msg讯息结构中的讯息是否为键盘讯息。如果是,该函式将找寻代号为hAccel的加速键表。如果找到了一个符合的,则呼叫代号为hwnd的视窗讯息处理程式。如果加速键ID与系统功能表的功能表项一致,则讯息就是WM_SYSCOMMAND;否则,讯息为WM_COMMAND。

当TranslateAccelerator传回时,如果讯息已经被转换(并且已经被发送给视窗讯息处理程式),那么传回值为非零;否则,传回值为0。如果TranslateAccelerator传回一个非零值,则不呼叫TranslateMessage和DispatchMessage,而是经过回圈回到GetMessage呼叫中。

TranslateMessage中的参数hwnd看起来有点累赘,因为讯息回圈中的其他三个函式都没有要求这个参数。此外,讯息结构本身(结构变数msg)有一个叫做hwnd的成员,它是视窗代号。

该函式有些不同的原因在於:msg结构的栏位由GetMessage呼叫填入。当GetMessage

首页 上一页 55 56 57 58 59 60 61 下一页 尾页 58/69/69
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇对话方块 下一篇子视窗控制项

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: