BOOL CSearchuserDlg::PreTranslateMessage(MSG* pMsg)

{

     if (pMsg->message==WM_KEYDOWN)  // 判断是否有按键按下

     {

           switch (pMsg->wParam)

           {

           case VK_DOWN:     // 表示是方向键中的向下的键

                //add handle code here

                break ;

           case VK_UP:      // 表示是方向键中的向上的键

                //add handle code here

                break ;

           default :

                break ;

           }

     }

}
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)

{
// 按键相应
if (pMsg->message == WM_KEYDOWN)
{
if (pMsg->wParam == VK_DOWN)
{
// 向下键按下
}
else if (pMsg->wParam == VK_RIGHT)
{
// 向右键按下
}
else if (pMsg->wParam == VK_LEFT)
{
// 向左键按下
}
else if (pMsg->wParam == VK_UP)
{
// 向上键按下
}
else if (pMsg->wParam == VK_SHIFT)
{
//VK_LSHIFT 为左 Shift 键按下
//Shift 键按下
}
else if (pMsg->wParam == VK_CONTROL)
{ //Ctrl 键按下 } else if (pMsg->wParam>=VK_NUMPAD0 && pMsg->wParam<=VK_NUMPAD9) {
// 小键盘数字键按下 }
else if (pMsg->wParam>=0x30 && pMsg->wParam<=0x39)
{
// 数字键按下 ( 我记得不能使用 VK_0)
}
else if (pMsg->wParam>=0x41 && pMsg->wParam<=0x5A)
{
// 键盘字母键按下 ( 我记得不能使用 VK_A)
}
else if (pMsg->wParam == VK_BACK) {
// 退格键按下
}
else if (pMsg->wParam == VK_DELETE)
{
// 删除键按下
}
else if (pMsg->wParam == VK_F1)
{
//F1 键按下
}
//return true; // 使消息不再进行处理
} if (pMsg->message == WM_KEYUP)
{
if (pMsg->wParam == VK_SHIFT) {
//Shift 键弹起
}
else if (pMsg->wParam == VK_CONTROL)
{
//Ctrl 键弹起
}
//return true; // 使消息不再进行处理
}
return CDialog::PreTranslateMessage(pMsg);
}

【MFC】在MFC中PreTranslateMessage()的使用方法的更多相关文章

  1. 浅谈MFC类CrackMe中消息处理函数查找方法

    最近一个学姐发给我了一份CrackMe希望我解一下,其中涉及到了MFC的消息函数查找的问题,就顺便以此为例谈一下自己使用的消息函数查找的方法.本人萌新,如果有任何错漏与解释不清的地方,欢迎各路大佬指正 ...

  2. VS2010 MFC中 静态编译设置方法

    问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等 解决方法:1.将这些dll打包,和应用程序一起发布;2.采用MFC静态编译; 静态编译: ...

  3. mfc视类中错误:IntelliSense: declaration is incompatible with。。。解决方案

    基本情况是我自己写了一个类: class CDib {....} 然后在mfc自动生成的“工程名Dlg.cpp”中使用类CDib,我的工程名是MfcPictureProcessing,所以类是clas ...

  4. [转]MFC子线程中更新控件内容的两种办法

    一.概述 每个系统中都有线程(至少都有一个主线程),而线程最重要的作用就是并行处理,提高软件的并发率.针对界面来说,还能提高界面的响应能力.一般的,为了应用的稳定性,在数据处理等耗时操作会单独在一个线 ...

  5. MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决 转

    MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决   在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等. ...

  6. 关于MFC框架程序中CWinApp::OnIdle

    很早之前就发现,我写的图形引擎在MFC框架程序中的刷帧率始终在60FPS左右.好在自己的程序对刷帧率的要求不是很高,所以一直没有太过纠结此事.直到今天看了别人的程序才发现应该在函数CWinApp::O ...

  7. 【MFC】MFC改变对话框中静态文本的字体大小

    MFC改变对话框中静态文本的字体大小 2010/08/09 11:30 VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个 ...

  8. MFC exe文件生成的图标更改方法

    MFC exe文件生成的图标更改方法 https://blog.csdn.net/txwtech/article/details/92980545

  9. 实现MFC扩展DLL中导出类和对话框

    如果要编写模块化的软件,就要对对动态链接库(DLL)有一定的了解,本人这段时间在修改以前的软件时,决定把重复用的类和对话框做到DLL中,下面就从一个简单的例子讲起,如何实现MFC扩展DLL中导出类和对 ...

随机推荐

  1. Heaters (codeforces 1066B)

    贪心题 策略 在最左边设置一个array 0,每一次从右往左,如果有heater的话就寻找heater左边界是不是小于等于目前的上一个heater的右边界,如果没有一个这样的,那么就直接输出-1 代码 ...

  2. mysql的一些高级查询

     1,查出学生详情表性别为男,并同时年龄大于18的  2,根据上述的结果,查出学生表对应的姓名,年龄,性别,address  3,查出学生的(姓名,年龄,性别,所属学院) 还可以添加注释

  3. web开发如何使用高德地图API(四)通过AMap.Marker自定义标点

    说两句: 以下内容除了我自己写的部分,其他部分在高德开放平台都有(可点击外链访问). 我所整理的内容以实际项目为基础希望更有针对性的,更精简. 点击直奔主题. 准备工作: 首先,注册开发者账号,成为高 ...

  4. Nginx不转发http header

    使用nginx做http代理时,在Header中使用了一个名为api_key的属性,碰到http header不转发的问题. 问题源码: rc = ngx_http_parse_header_line ...

  5. Spring MVC-视图解析器(View Resolverr)-XML视图解析器(Xml View Resolver)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_xmlviewresolver.htm 说明:示例基于Spring MVC 4.1 ...

  6. Clojure:ZeroMQ的入门DEMO

    假设你已经知道什么是ZeroMQ(不知道的话可以看这个:http://zh.wikipedia.org/wiki/%C3%98MQ),以下就给出在Clojure中如何使用ZeroMQ(感谢此文作者:h ...

  7. nyoj891(区间上的贪心)

    题目意思: 给一些闭区间,求最少须要多少点,使得每一个区间至少一个点. http://acm.nyist.net/JudgeOnline/problem.php?pid=891 例子输入 4 1 5 ...

  8. linux下的C语言开发(gdb调试)

    原文: http://blog.csdn.net/feixiaoxing/article/details/7199643 用gdb调试多进程的程序会遇到困难,gdb只能跟踪一个进程(默认是跟踪父进程) ...

  9. 使用html5 FileReader获取图片,并异步上传到server(不使用iframe)

    使用html5 FileReader获取图片,并异步上传到server(不使用iframe) 原理: 1.使用FileReader 读取图片的base64编码 2.使用ajax.把图片的base64编 ...

  10. phoenixframe自己主动化測试平台对div弹出框(如弹出的div登陆框)的处理

    package org.phoenix.cases; import java.util.LinkedList; import org.phoenix.action.WebElementActionPr ...