Le contrôle de la zone de liste déroulante affiche une liste de chaînes dans le style du menu déroulant. Fournir un moyen de montrer de nombreuses options tout en économisant de l'espace, une zone de liste déroulante combine les fonctionnalités d' une zone de liste et une zone d'édition . Les fonctionnalités du contrôle de zone de liste déroulante sont encapsulés dans la classe CComboBox de la bibliothèque Microsoft Foundation Class . Ce tutoriel montre quelques fonctionnalités couramment utilisées de cette classe. Choses que vous devez
Microsoft Visual Studio IDE
livre sur MFC , comme « Programming Windows avec MFC " par Jeff Prosise
Afficher plus Instructions
1
Lancement de Microsoft Visual studio. Générer une application en fonction de dialogue pour ce projet en cliquant sur Fichier > Nouveau> Projets ( onglet ) , et en sélectionnant " MFC AppWizard (exe) . " Tapez " myComboBox » sous « Nom du projet ». Appuyez sur OK , sélectionnez " Dialog based" et cliquez sur Terminer.
2
Créer une zone de liste déroulante et modifier ses propriétés. Cliquez sur l'onglet Ressources sur le côté gauche de l'espace de travail . Développez le dossier de dialogue et sélectionnez IDD_MYCOMBOBOX_DIALOG . Cliquez sur l'icône de zone de liste déroulante de la boîte à outils sur le côté droit et le mettre sur le dialogue. Redimensionner le menu déroulant étendre la zone de liste déroulante en cliquant sur la flèche vers le bas et en faisant glisser le rectangle. Ensuite, faites un clic droit , sélectionnez Propriétés, cliquez sur l'onglet Styles et , sous Type , sélectionnez Simple . Fermez la boîte de dialogue Propriétés de la zone de liste déroulante .
3
ajouter des éléments à la zone de liste déroulante . Vous pouvez le faire de deux façons. Pour les ajouter au moment du design , faites un clic droit sur la zone de liste déroulante , sélectionnez Propriétés, cliquez sur l'onglet Données , puis entrez les articles. Pour accéder à l'élément suivant , appuyez sur Ctrl + Entrée. Pour ajouter à l'exécution , appelez le CComboBox :: AddString () pour ajouter des éléments à la fin ou CComboBox :: insertString () pour insérer des éléments dans un endroit spécifique. Les articles sont de type lpszString .
4
modifier la largeur de la zone de liste déroulante dynamiquement. Vous pouvez afficher un objet entièrement , la fonction de membre , peu importe combien de temps il est , grâce à la CComboBox :: SetDroppedWidth (). Il prend en paramètre la largeur de la chaîne en pixels.
5
exécuter d'autres fonctions communes . Sélectionnez un élément à l'exécution en utilisant CComboBox :: SetCurSel (). Il accepte en paramètre un index entier . Trouvez l'indice de l'élément sélectionné avec CComboBox :: GetCurSel (). Récupérer des données en utilisant CComboBox :: GetItemData (). Déterminer le nombre d'éléments par CComboBox :: GetCount ().
6
éliminer les éléments à partir d'une zone de liste déroulante MFC. Si la chaîne est connue , vous pouvez utiliser CComboBox :: FindString () pour déterminer l'index , puis utiliser CComboBox :: deletestring (). CComboBox :: Clear ( ) supprime la sélection en cours le cas échéant, tout CComboBox :: Cut () supprime la sélection actuelle et le place dans le presse-papiers .
7
comprendre le message - carte messages de notification qui a zone de liste déroulante peut envoyer . Lorsque la zone de liste de la liste déroulante est fermée, par exemple , ON_CBN_CLOSEUP est envoyé. Lorsque la zone de liste déroulante perd son focus d'entrée à cause d'un clic de souris à l'extérieur de ses frontières , il envoie ON_CBN_KILLFOCUS . Il ya un message - carte pour chaque possible changement d'état qu'une zone de liste déroulante peut subir .