CComboBoxは、MoveWindowの呼び出し後にテキストを自動的に選択します

StackOverflow https://stackoverflow.com/questions/626511

  •  06-07-2019
  •  | 
  •  

質問

現在、 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を使用して選択を削除してみてください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top