2010-06-25 2 views

Répondre

3

En supposant que je lis la documentation MSDN pour les zones de liste déroulante et le message CB_SETCURSEL, vous pouvez envoyer un message CB_SETCURSEL à la zone de liste déroulante avec le wParam (Dans ce cas, ce sera l'index de la chaîne dans le combo box) étant défini sur -1. Cela devrait alors effacer la sélection.

Vous pouvez également décider d'utiliser la macro ComboBox_SetCurSel qui enveloppe l'envoi du message, cela peut vous faciliter la vie. Une fois de plus -1 effacera la sélection.

Bien sûr, cela vous obligerait à obtenir le handle de la combo si vous ne l'avez pas (je suppose que vous le faites, mais au cas où vous ne l'avez pas), vous pouvez éventuellement l'obtenir en utilisant la fonction GetDlgItem en fournissant le handle pour la boîte de dialogue et l'id de la zone de liste déroulante.

1

Si vous utilisez une API Win32 pure, vous pouvez utiliser la macro ComboBox_GetText pour obtenir le texte d'un contrôle de zone de liste déroulante (ComboBox_SetText pour définir le texte). Pour obtenir une chaîne à partir d'une liste dans une zone de liste modifiable, utilisez ComboBox_GetLBText.

Questions connexes