设为首页 加入收藏

TOP

键盘(十四)
2010-12-30 21:11:33 来源: 作者: 【 】 浏览:32454
Tags:键盘
态。例如,Windows程式经常使用Shift与游标键的组合键来扩大文书处理里选中的范围。Ctrl键常用於修改游标键的意义。例如,Ctrl与右箭头键相组合可以表示游标右移一个字。

决定您的程式中使用键盘方式的最佳方法之一是了解现有的Windows程式使用键盘的方式。如果您不喜欢那些定义,当然可以对其加以修改,但是这样做不利於其他人很快地学会使用您的程式。

为SYSMETS加上键盘处理功能
 

在编写第四章中三个版本的SYSMETS程式时,我们还不了解键盘,只能使用卷动列和滑鼠来卷动文字。现在我们知道了处理键盘讯息的方法,那么不妨在程式中加入键盘介面。显然,这是处理游标移动键的工作。我们将大多数游标键(Home、End、Page Up、Page Down、Up Arrow和Down Arrow)用於垂直卷动,左箭头键和右箭头键用於不太重要的水平卷动。

建立键盘介面的一种简单方法是在视窗讯息处理程式中加入与WM_VSCROLL和WM_HSCROLL处理方式相仿,而且本质上相同的WM_KEYDOWN处理方法。不过这样子做是不聪明的,因为如果要修改卷动列的做法,就必须相对应地修改WM_KEYDOWN。

为什么不简单地将每一种WM_KEYDOWN讯息都翻译成同等效用的WM_VSCROLL或者WM_HSCROLL讯息呢?通过向视窗讯息处理程式发送假冒讯息,我们可能会让WndProc认为它获得了卷动资讯。

在Windows中,这种方法是可行的。发送讯息的函式叫做SendMessage,它所用的参数与传递到视窗讯息处理程式的参数是相同的:

SendMessage (hwnd, message, wParam, lParam) ;

在呼叫SendMessage时,Windows呼叫视窗代号为hwnd的视窗讯息处理程式,并把这四个参数传给它。当视窗讯息处理程式完成讯息处理之後,Windows把控制传回到SendMessage呼叫之後的下一道叙述。您发送讯息过去的视窗讯息处理程式,可以是同一个视窗讯息处理程式、同一程式中的其他视窗讯息处理程式或者其他应用程式,中的视窗讯息处理程式。

下面说明在SYSMETS程式中使用SendMessage处理WM_KEYDOWN代码的方法:

首页 上一页 11 12 13 14 15 16 17 下一页 尾页 14/61/61
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇滑鼠 下一篇图形基础

评论

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