MFC:如何在一个函数中捕获对话框的每个控件的设置焦点 [英] MFC: How to catch set focus of each control of dialog in one function

查看:103
本文介绍了MFC:如何在一个函数中捕获对话框的每个控件的设置焦点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有n"个具有相同基本对话框的对话框.每个对话框都有自己的控件

I have "n" dialogs which have the same base dialog. Each dialog has its own controls

  • 编辑框
  • 组合框
  • 列表控件

在基本对话框中,如何设置每个控件的焦点消息,例如,使用

In base dialog, how do I set focus messages of each control and,for example, give a Message box with

text("Hello I got focus, my ID is %d")?

推荐答案

根据这篇SO文章,可以hookWM_SETFOCUS 消息.

According to this SO article, you can hook the WM_SETFOCUS message.

您可以使用 GetDlgCtrlID 带有钩子返回的 hwnd.

但是要注意弹出一个MessageBox,它会改变焦点并触发你的钩子过程,使它进入一个循环!

But beware of popping up a MessageBox, that will change the focus and trigger your hook proc, making it go into a loop!

这篇关于MFC:如何在一个函数中捕获对话框的每个控件的设置焦点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆