![]() | Programming Guide | WideStudio/MWT Index Table of contents |
使用全局键盘钩子函数(global key hook function)
在应用程序中,通过全局键盘钩子函数,检查所有的键盘输入。全局键盘钩子函数 可以在向对象分发键盘事件之前,拦截键盘输入事件。通过WSDkeyboard类的全局实例 设置全局键盘钩子函数。
键盘类 访问实例函数 WSDkeyboard WSGIappKeyboard() #include用户通过keyhandler() 函数拦截键盘事件,进行特殊的处理。 通常,在初始化触发器的事件处理中,通过键盘类的setGlobalKeyHook() 实现全局键盘钩子函数的登录。关于键盘码的定义参考 WSkeysym.h 文件。//全局键盘钩子函数处理例子 WSCbool keyhandler(long keycode,WSCbool onoff){ // keycode : 键盘码 // onoff : 该值为True表示键盘被按下;为False表示键盘被松开 if (keycode == WSK_F1){ 输入 F1 时进行的处理 .... //屏蔽被拦截的键盘事件 return False; //返回值=False 拦截该键输入,不向其他对象分发键盘事件 }else if (keycode == WSK_F2){ 输入 F2 时进行的处理 .... //不屏蔽被拦截的键盘事件 return True; //返回值=True 向其他对象分发键盘事件... } return True //返回值=True 向其他对象分发键盘事件... } void event_procedure(WSCbase* obj){ //登录全局键盘钩子函数 WSGIappKeyboard()->setGlobalKeyHook( keyhandler ); }
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |