gpt4 book ai didi

c++ - MFC:如何在一个函数中捕获每个对话框控件的焦点

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:26:13 44 4
gpt4 key购买 nike

我有“n”个对话框,它们具有相同的基本对话框。每个对话框都有自己的控件

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

在基本对话框中,我如何设置每个控件的焦点消息,例如,给一个带有

的消息框
text("Hello I got focus, my ID is %d")?

最佳答案

最简单的方法是使用经典的子类化方法。问题是 WM_SETFOCUS 没有通过消息循环发送,所以 PreTranslateMessage 将无济于事。

有一些不错的类可以在不影响 MFC 内容的情况下帮助进行额外的子类化。Paul Di Lascia 编写了 CSubclassWnd。 PJ Naughter 编写了 CHookWnd。并且在 ATL 中有 CWindowsImpl

即使窗口已经被 MFC 子类化,所有这些类都允许轻松地进行额外的子类化。

您也可以使用“标准子类化”GetWindowLong/SetWindowLong

关于c++ - MFC:如何在一个函数中捕获每个对话框控件的焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990361/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com