CComboBox automaticamente seleciona o texto após a chamada para MoveWindow
Pergunta
Atualmente estou enfrentando um problema muito estranho com um CComboBox
usado dentro de um CFormView
.
Depois de adicionar cordas para o combobox (criado com WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL
), eu estou selecionando uma entrada via CComboBox::SetCurSel
e redimensionar a caixa de combinação via MoveWindow
no manipulador OnSize()
da classe derivada CFormView
.
Assim que incluem a chamada para MoveWindow
, todo o texto na parte de edição da caixa de combinação é selecionado. Se eu remover a chamada para MoveWindow
, o texto não selecionado. Isso acontece não só para um, mas para todos os comboboxes usado.
Eu estou de alguma forma perdeu neste momento. Qualquer sugestão é muito apreciada!
Solução
Selecionar todo o texto é o comportamento padrão do Windows quando uma caixa de combinação recebe o foco. Eu acho que o MoveWindow está redefinindo o foco no controle.
Tente usar CComboBox :: SetEditSel para remover a seleção após MoveWindow.