2011-11-21 139 views

回答

0

不知道最优雅的方式是什么,但我想做到这一点,最常见的方式是让一个派生类,并重写的onSetFocus(确切的方法名未选中),并调用SetCurSel()上包含的编辑控件。 WM_FOCUS只发送给控件,并且没有通知消息,所以除了做一些让控件处理事件的东西之外,你没有太多的选择 - 不管它是否反映到其他地方,或者只是实现行为本身。 (我想理论上可以通过拦截邮件来做各种各样的挑剔,但这绝不是最优雅的方式......)

0

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

如果不是:编辑控件的子类,则处理WM_GETDLGCODE消息。用DLGC_HASSETSEL返回值OR。如果控件设置了此标志,则Windows将自动选择所有焦点文本。