CComboBox sélectionne automatiquement le texte après l'appel de MoveWindow
Question
Je rencontre actuellement un problème très étrange avec un CComboBox
utilisé dans un CFormView
.
Après avoir ajouté des chaînes à la liste déroulante (créée avec WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL
), je sélectionne une entrée via CComboBox :: SetCurS
code> et redimensionnez la liste déroulante via MoveWindow
dans le gestionnaire OnSize ()
de la classe dérivée CFormView
.
Dès que j'inclus l'appel à MoveWindow
, tout le texte de la partie d'édition de la liste déroulante est sélectionné. Si je supprime l'appel à MoveWindow
, le texte n'est pas sélectionné. Cela se produit non seulement pour un, mais pour tous les combobox utilisés.
Je suis en quelque sorte perdu à ce stade. Tout indice est très apprécié!
La solution
La sélection de tout le texte est un comportement standard de Windows lorsqu'une zone de liste déroulante est activée. Je suppose que MoveWindow réinitialise le focus sur le contrôle.
Essayez d’utiliser CComboBox :: SetEditSel pour supprimer la sélection après MoveWindow.