MFC如何在CEdit控件中自动选择所有文本

MFC如何在CEdit控件中自动选择所有文本,mfc,toolbar,cedit,Mfc,Toolbar,Cedit,我在CMFCToolBar上有一个CMFCToolBar ComboBox按钮。我希望每当CMFCToolBarComboxButton获得焦点时,其整个文本都将被选中。 实现它最优雅的方式是什么 非常感谢 Adi Barda不确定最优雅的方法是什么,但我想最常见的方法是创建一个派生类并重写OnSetFocus(确切的方法名未选中),然后在包含的编辑控件上调用SetCurSel()。WM_FOCUS只发送给控件,并且没有通知消息,因此除了执行一些使控件处理事件的操作之外,您没有太多的选项—无论是

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

非常感谢

Adi Barda不确定最优雅的方法是什么,但我想最常见的方法是创建一个派生类并重写OnSetFocus(确切的方法名未选中),然后在包含的编辑控件上调用SetCurSel()。WM_FOCUS只发送给控件,并且没有通知消息,因此除了执行一些使控件处理事件的操作之外,您没有太多的选项—无论是将事件反映到其他地方,还是仅实现行为本身。(从理论上讲,人们可以对截取消息进行各种各样的批评,但这肯定不是最优雅的方式……

这应该是标准编辑控件的默认行为。如果不是,那么其他的东西会显式地删除该行为。也许你可以在组合框按钮上找到一些可以设置的标志

如果不是:对编辑控件进行子类化,处理消息。使用
DLGC\u HASSETSEL
返回一个值或。如果控件设置了此标志,则Windows将自动选择焦点上的所有文本