首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子窗口(CEdit)失去焦点

子窗口(CEdit)失去焦点
EN

Stack Overflow用户
提问于 2014-02-18 15:33:48
回答 1查看 1.1K关注 0票数 1

我使用MFC文档/视图架构在C++中编程。我一直在尝试实现类似于MFC CEdit lose focus handler的东西。我按照答案的建议处理了消息EN_KILLFOCUS。

基本上,我是这样做的:我在视图中绘制了文本。当用户单击视图中的文本区域时,我将CEdit窗口定位并显示在它的顶部,以便用户能够编辑文本。当编辑失去焦点时,我获取CEdit文本并将其保存在文档中。然后使视图无效。

但是,我似乎只在视图失去焦点时才会收到EN_KILLFOCUS消息。我必须单击其他地方,例如停靠窗口或工具栏,才能使CEdit失去焦点。我希望当我在视图上的其他位置单击CEdit框之外的任何位置时,它就会发生。

我正在创建具有WS_CHILD样式的CEdit。我尝试了WS_POPUP,但仍然存在同样的问题。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-02-18 16:35:47

创建CEdit派生类/控件。并在视图中创建此类的实例

处理派生类中的EN_KILLFOCUS。一旦用户在编辑控件窗口之外单击,您将能够处理此消息。

保持您的编辑框为WS_CHILD。

在视图的鼠标按下时将焦点设置为视图,在视图的LButtonDown上调用SerFocus()。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21846993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档