CComboBox seleziona automaticamente il testo dopo la chiamata a MoveWindow
Domanda
Attualmente sto riscontrando un problema molto strano con un CComboBox
utilizzato all'interno di un CFormView
.
Dopo aver aggiunto le stringhe alla casella combinata (creata con WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL
), seleziono una voce tramite CComboBox :: SetCurSel e ridimensionare la casella combinata tramite
MoveWindow
nel gestore OnSize ()
della classe derivata CFormView
.
Non appena includo la chiamata a MoveWindow
, viene selezionato tutto il testo nella parte di modifica della casella combinata. Se rimuovo la chiamata a MoveWindow
, il testo non viene selezionato. Questo succede non solo per uno, ma per tutte le caselle combinate utilizzate.
In qualche modo mi sono perso a questo punto. Ogni suggerimento è molto apprezzato!
Soluzione
La selezione di tutto il testo è un comportamento standard di Windows quando viene attivata una casella combinata. Immagino che MoveWindow stia ripristinando l'attenzione sul controllo.
Prova a utilizzare CComboBox :: SetEditSel per rimuovere la selezione dopo MoveWindow.