我正在使用 MFC 文档/视图架构在 C++ 中编程。我一直在尝试实现类似于MFC CEdit lost focus handler的东西。正如答案所示,我处理了消息 EN_KILLFOCUS 。
基本上,我正在这样做:我在视图中绘制了文本。当用户单击视图中的文本区域时,我将 CEdit 窗口定位并显示在其顶部,以便用户能够编辑文本。当编辑失去焦点时,我得到 CEdit 文本并将其保存在文档中。然后使视图无效。
但是,当视图失去焦点时,我似乎只收到 EN_KILLFOCUS 消息。我必须单击其他地方,例如停靠窗口或工具栏,以使 CEdit 失去焦点。我希望它在我单击视图上的其他任何位置时发生,在 CEdit 框之外。
我正在使用 WS_CHILD 样式创建 CEdit。我尝试了 WS_POPUP 但仍然是同样的问题。
任何帮助,将不胜感激。