在最近的项目中,需要实现刷卡功能,其原理就是响应WM_KEYDOWN和WM_CHAR等键盘消息,需要重写BOOL PreTranslateMessage(MSG* pMsg)函数来处理键盘消息;软件启动后,此时的鼠标焦点应该是不在在窗口上的,所以无论如何刷卡,都不能响应这两个消息;查阅了很多资料,推测出可能是窗口上存在的控件截取了这两个消息;这让我很是无奈,试了很多方法,也无法响应此函数;于是我灵机一动,那么我在软件启动的时候把鼠标焦点设置在某个控件上,那么会不会响应该键盘消息呢?于是抱着试试的心态,不过,结果有点失望啊,不过我仍然不死心,我想是不是我的焦点并没有设置成功的原因,上网了解了一下,原来是逻辑搞错了,因为当窗口显示的时候,在窗口弹出前通过SetFocus设置的焦点都会作废,换句话说,我们需要在窗口完全显示后,再去把焦点设置到指定控件上,

解决方案:

我是在窗口的void OnShowWindow(BOOL bShow, UINT nStatus)中为指定控件设置SetFocus(),另外我们还需要把对话框中的BOOL OnInitDialog()中最后那句return设置为"FALSE"

转载于:https://www.cnblogs.com/QingYiShouJiuRen/p/11419664.html

MFC中如何将焦点设置到指定控件上相关推荐

  1. Vue项目中使用ant-design时设置DatePicker日期控件中文显示

    默认配置为 en-US,如果你需要设置其他语言,推荐在入口处使用提供的国际化组件,详见:LocaleProvider 国际化. 方式一:在组件中单独设置 import locale from 'ant ...

  2. MFC/VC++中怎样将一个位图添加到数据库中并且将其读出来到指定的Picture控件上

    看这篇文章之前建议先看一下下面这篇文章: VC下显示位图的几种方法   http://blog.chinaunix.net/uid-607545-id-2088102.html或  http://bl ...

  3. 在Visual C++中常用到得一些绘图或者控件的语句(mfc)

     为快速开发学mfc,推荐看吕鑫的教学视频,因为这个比较清楚百度搜索 吕鑫mfc就可以了!  这个就挺好:http://www.tudou.com/programs/view/sirRzIM0gj0 ...

  4. mfc调取摄像头显示并截图_用OpenCV在MFC Dialog中Picture控件上显示摄像头采集实时视频...

    OpenCV之所以能在MFC Dialog的Picture控件上绘图,全靠了CvvImage::DrawToHDC()方法.这就是下文为出现CvvImage和HDC的原因.下面是具体过程,用OpenC ...

  5. C++ 主程序中打开子程序窗口隐藏,操作控件 遍历窗口控件句柄EnumChildWindows();获取其他程序进度条数据 操作选择框 按钮点击

    1.线程启动子程序  ShowWindow(hWnd, SW_SHOW)显示 ShowWindow(hwnd, SW_HIDE);隐藏 system_hide(L"Odin3.exe&quo ...

  6. dev treeview控件_在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件

    DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...

  7. WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法

    WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 原文:WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 问题描 ...

  8. 如何在改变mfc控件上文字的字体和颜色

    改变字体 在OnInitDialog()函数对应的.h文件中定义CFont font,然后在OnInitDialog()函数中添加如下代码: font.CreatePointFont(400, _T( ...

  9. asp.net fileupload 文件上传后服务器上找不到文件,Asp.net中FileUpload控件上传文件例子...

    FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器.用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles ...

最新文章

  1. 大数据人力资源服务平台正式上线
  2. 13.SpringMVC和Spring集成(一) 14.SpringMVC和Spring集成(二)
  3. 白话科普系列——网站靠什么提升加载速度?
  4. 路由守卫-vue切换路由登录判断、条件判断
  5. MATLAB实现多元线性回归预测
  6. 这么简单的bug,你改了2天?
  7. Balsamiq Mockups 实例3
  8. 温度补偿计算公式_管道布置设计原则、基本要求与补偿器的选择
  9. Hive数据更新同时去重入门
  10. Git钩子:自定义你的工作流
  11. linux5.4获取root权限,gcc++漏洞 普通用户获取root权限
  12. java版本导致ASDM连不上ASA
  13. 猿创征文|深度学习基于ResNet18网络完成图像分类
  14. 电竞帮服务器未响应,电竞显示器ips面板1ms响应时间?被蒙骗是因为你还不了解MPRT技术!...
  15. 央行 继续实施稳健货币政策适时适度预调微调
  16. [转]word只能用安全模式才能打开怎么解决
  17. 6个步骤教你用Python解数独!(含实例代码)
  18. js如何实现数组数据的上移下移
  19. java web中英翻译_中英文翻译简单web项目示例(3)
  20. Rebound-Android的弹簧动画库

热门文章

  1. OpenShift 4 - DevSecOps - 视频
  2. cake-build -.Net Core 跨平台构建自动化系统
  3. Console.log对象显示
  4. 在C#中使用反射的简单例子
  5. 简单的动态JavaScript Ajax函数
  6. dubbo 服务压测_Dubbo高性能网关--Flurry介绍
  7. python登录验证程序_python – 测试Flask登录和身份验证?
  8. laravel生成php代码,laravel代码生成器
  9. java三次登录锁定_Java基础知识点有哪些 如何快速步入Java行业
  10. 手工收集awr报告_一个Oracle小白的AWR报告分析(一)