CComboBoxは、MoveWindowの呼び出し後にテキストを自動的に選択します
質問
現在、 CFormView
内で使用される CComboBox
に関して非常に奇妙な問題が発生しています。
文字列をコンボボックス( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL
で作成)に追加した後、 CComboBox :: SetCurSel でエントリを選択します
CFormView
派生クラスの OnSize()
ハンドラーの MoveWindow
を使用して、コンボボックスのサイズを変更します。
MoveWindow
への呼び出しを含めるとすぐに、コンボボックスの編集部分のテキスト全体が選択されます。 MoveWindow
への呼び出しを削除すると、テキストは選択されません。これは1つだけでなく、使用されているすべてのコンボボックスでも発生します。
この時点でどういうわけか迷っています。ヒントは大歓迎です!
解決
すべてのテキストを選択することは、コンボボックスがフォーカスを取得したときのWindowsの標準的な動作です。 MoveWindowがコントロールのフォーカスをリセットしていると思います。
MoveWindowの後にCComboBox :: SetEditSelを使用して選択を削除してみてください。
所属していません StackOverflow