MFC CEdit 控件在对话框中获取焦点后,会全选,使用SetSel函数也不好使,在OnFocus, OnFocusEdit1等好几个地方调用都不好使。网上找的一些方法也感觉很别扭。
因此我使用一种比较取巧的方式,PostMessage(EM_SETSEL, caretPos, caretPos); 使用 PostMessage来发送 EM_SETSEL消息,我估计SetSel函数调用的是 SendMessage,SendMessage是不进消息队列的,在WINDOW一系列操作下,最后还是会被后续的其它操作全选。而使用PostMessage发送的消息,会进入消息队列,在Window一系列操作过后,再从消息队列中处理此消息,因此能保证此消息在最后面处理,所以会有效果,
原创,希望能帮助有需要的人.