【问题标题】:MFC how to automatically select all text in CEdit controlMFC如何自动选择CEdit控件中的所有文本
【发布时间】:2011-11-24 23:11:13
【问题描述】:

我在 CMFCToolBar 上有一个 CMFCToolBarComboBoxButton。我希望每当 CMFCToolBarComboBoxButton 获得焦点时,它的整个文本都会被选中。
最优雅的实现方式是什么?

非常感谢!
阿迪巴尔达

【问题讨论】:

    标签: mfc toolbar cedit


    【解决方案1】:

    不确定最优雅的方法是什么,但我想最常见的方法是创建一个派生类并覆盖 OnSetFocus(未检查确切的方法名称),然后在包含的编辑控件上调用 SetCurSel()。 WM_FOCUS 仅发送到控件并且没有通知消息afaik,因此除了执行使控件处理事件的操作之外,您将没有太多选择-将其反映到其他地方,或者只是实现行为本身。 (我想理论上有各种各样的方法可以拦截消息,但这肯定不是最优雅的方式......)

    【讨论】:

      【解决方案2】:

      这应该是标准编辑控件的默认行为。如果不是,则其他东西正在明确删除该行为。也许您可以找到一些可以在组合框按钮上设置的标志?

      如果不是:子类化编辑控件,处理WM_GETDLGCODE 消息。返回一个与DLGC_HASSETSEL 进行或运算的值。如果控件设置了此标志,则 Windows 将自动选择焦点上的所有文本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-06
        • 1970-01-01
        • 1970-01-01
        • 2013-01-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多