设为首页 加入收藏

TOP

键盘(三十)
2010-12-30 21:11:33 来源: 作者: 【 】 浏览:32525
Tags:键盘
R) (iType TEXT (" ") : szKeyName),
(TCHAR) (iType pmsg[i].wParam : ' '),
LOWORD (pmsg[i].lParam),
HIWORD (pmsg[i].lParam) & 0xFF,
0x01000000 & pmsg[i].lParam szYes : szNo,
0x20000000 & pmsg[i].lParam szYes : szNo,
0x40000000 & pmsg[i].lParam szDown : szUp,
0x80000000 & pmsg[i].lParam szUp : szDown)) ;
}
EndPaint (hwnd, &ps) ;
return 0 ;

case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}

KEYVIEW1显示视窗讯息处理程式接收到的每次按键和字元讯息的内容,并将这些讯息储存在一个MSG结构的阵列中。该阵列的大小依据最大化视窗的大小和等宽的系统字体。如果使用者在程式执行时调整了视讯显示的大小(在这种情况下KEYVIEW1接收WM_DISPLAYCHANGE讯息),将重新分配此阵列。KEYVIEW1使用标准C的malloc函式为阵列配置记忆体。

图6-2给出了在键入「Windows」之後KEYVIEW1的萤幕显示。第一列显示了键盘讯息;第二列在键名称的前面显示了按键讯息的虚拟键代码,此代码是经由GetKeyNameText函式取得的;第三列(标注为「Char」)在字元本身的後面显示字元讯息的十六进位字元代码。其余六列显示了lParam讯息参数中六个栏位的状态。


 

图6-2 KEYVIEW1的萤幕显示

为便於以分行的方式显示此资讯,KEYVIEW1使用了等宽字体。与前一章所讨论的一样,这需要呼叫GetStockObject和SelectObject:

首页 上一页 27 28 29 30 31 32 33 下一页 尾页 30/61/61
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇滑鼠 下一篇图形基础

评论

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