使用PreTranslateMessage(MSG* pMsg)截获键盘数字键
2016-06-14 16:37
381 查看
第一种:如果要截获大键盘数字键和小键盘数字键,采用如下方案:
PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message==WM_CHAR )
{
char ch = (char)pMsg->wParam; //比如按下大键盘数字1或者小键盘数字1
CString strShortCut = (CString)ch;//此时strShortCut = L"1";
}
}
第二种:如果只要截获小键盘数字键,采用如下方案:
PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message==WM_KEYDOWN )
{
if(pMsg->wParam<=105&&pMsg->wParam>=96)VK_NUMPAD0~VK_NUMPAD9
{
UINT iAscii = MapVirtualKey(pMsg->wParam,MAPVK_VK_TO_CHAR);
char ch =char(iAscii );
CString strShortCut = (CString)ch;
}
}
}
PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message==WM_CHAR )
{
char ch = (char)pMsg->wParam; //比如按下大键盘数字1或者小键盘数字1
CString strShortCut = (CString)ch;//此时strShortCut = L"1";
}
}
第二种:如果只要截获小键盘数字键,采用如下方案:
PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message==WM_KEYDOWN )
{
if(pMsg->wParam<=105&&pMsg->wParam>=96)VK_NUMPAD0~VK_NUMPAD9
{
UINT iAscii = MapVirtualKey(pMsg->wParam,MAPVK_VK_TO_CHAR);
char ch =char(iAscii );
CString strShortCut = (CString)ch;
}
}
}
相关文章推荐
- 2.Chipmunk 碰撞检测笔记
- 互联网PM,和传统行业PM本质上的不同在哪?
- npm
- RPM 使用详解
- 产品经理进阶篇幅(1)
- 关于APM飞控加风火轮机架四轴对角电机发热的问题(2)
- 12、产品经理要阅读的书籍 - IT软件人员书籍系列文章
- 产品经理之定价框架和策略
- iOS开发--利用MPMoviePlayerViewController播放视频简单实现
- iOS开发--利用MPMoviePlayerController播放视频简单实现
- 使用自动化业务流程管理(BPM)优化企业流程
- BPMN2.0规范
- npm 使用记录
- npm安装rabbit.js
- 读人人都是产品经理
- pmap
- C# SharpMap 学习总结
- 竞品分析方法
- yum依赖错误处理:清理重复的rpm包
- apmserv启动失败总结