Guide pratique pour ajouter, modifier ou supprimer des contrôles (C++)
À l’aide de l’Éditeur de boîte de dialogue, vous pouvez ajouter, redimensionner, modifier et supprimer des contrôles dans les boîtes de dialogue. Vous pouvez également modifier les propriétés d’un contrôle, telles que son ID, ou s’il est initialement visible au moment de l’exécution.
L’onglet Éditeur de boîte de dialogue s’affiche dans la fenêtre Boîte à outils lorsque vous travaillez dans l’Éditeur de boîte de dialogue. Vous pouvez également personnaliser la fenêtre Boîte à outils pour faciliter l’utilisation. Pour plus d’informations, consultez Utilisation de la boîte à outils et Afficher ou masquer la fenêtre Boîte à outils.
Conseil
Lors de l’utilisation de l’Éditeur de boîte de dialogue, dans de nombreuses instances, vous pouvez sélectionner le bouton droit de la souris pour afficher un menu contextuel de commandes fréquemment utilisées.
ajouter des contrôles
Pour ajouter un contrôle
Assurez-vous que la fenêtre avec onglet de la boîte de dialogue représente le document actif dans le cadre de l’éditeur. Si un dialogue n’est pas le document actif, vous ne verrez pas l’onglet Éditeur de boîte de dialogue dans la boîte à outils.
Sous l’onglet Éditeur de boîte de dialogue de la fenêtre Boîte à outils , sélectionnez le contrôle souhaité, puis :
Sélectionnez la boîte de dialogue à l’emplacement où vous souhaitez placer le contrôle et le contrôle s’affiche à l’emplacement où vous avez sélectionné.
Faites glisser et déposez le contrôle de la fenêtre Boîte à outils vers l’emplacement de votre boîte de dialogue. Vous pouvez ensuite déplacer le contrôle ou modifier sa taille et sa forme.
Double-cliquez sur le contrôle dans la fenêtre Boîte à outils et apparaît dans votre boîte de dialogue. Repositionnez le contrôle sur l’emplacement que vous préférez.
Pour ajouter plusieurs contrôles
Lorsque vous maintenez la touche Ctrl enfoncée, sélectionnez un contrôle dans la fenêtre Boîte à outils .
Relâchez la touche Ctrl et sélectionnez la boîte de dialogue autant de fois que vous souhaitez ajouter le contrôle particulier.
Appuyez sur Échap pour arrêter le placement des contrôles.
Pour dimensionner un contrôle lors de son ajout
Sélectionnez un contrôle dans la fenêtre Boîte à outils .
Placez votre curseur qui apparaît sous forme de poils croisés, où vous souhaitez que le coin supérieur gauche du nouveau contrôle se trouve dans votre boîte de dialogue.
Sélectionnez et maintenez le bouton de la souris enfoncé pour ancrer le coin supérieur gauche de votre contrôle dans la boîte de dialogue. Faites ensuite glisser le curseur vers la droite et vers le bas jusqu’à ce que le contrôle soit la taille souhaitée.
Remarque
Vous pouvez ancrer l’un des quatre coins du contrôle que vous dessinez. Cette procédure a utilisé le coin supérieur gauche comme exemple.
Relâchez le bouton de la souris. Le contrôle s’installe sur la boîte de dialogue dans la taille que vous avez spécifiée.
Conseil
Vous pouvez redimensionner le contrôle après l’avoir supprimé dans la boîte de dialogue en déplaçant les poignées de dimensionnement sur la bordure du contrôle. Pour plus d’informations, consultez Dimensionnement des contrôles individuels.
Pour ajouter un contrôle personnalisé
Vous pouvez ajouter des contrôles personnalisés à la boîte de dialogue. Sélectionnez l’icône Contrôle personnalisé dans la boîte à outils et faites-la glisser vers votre boîte de dialogue. Pour ajouter un Syslink
contrôle, ajoutez un contrôle personnalisé, puis remplacez la propriété Syslink
Class du contrôle par . Cette action entraîne l’actualisation et l’affichage des propriétés du Syslink
contrôle. Pour plus d’informations sur la classe wrapper MFC, consultez CLinkCtrl.
Modifier les contrôles
Pour modifier les propriétés d’un contrôle ou d’un contrôle
Dans la boîte de dialogue, sélectionnez le contrôle que vous souhaitez modifier.
Remarque
Si vous sélectionnez plusieurs contrôles, seules les propriétés communes aux contrôles sélectionnés peuvent être modifiées.
Dans la Fenêtre Propriétés, modifiez les propriétés de votre contrôle.
Remarque
Lorsque vous définissez la propriété Bitmap pour un bouton, une case d’option ou un contrôle de case à cocher égal à True, le style BS_BITMAP est implémenté pour votre contrôle. Pour plus d’informations, consultez Styles de bouton. Pour obtenir un exemple d’association d’une bitmap à un contrôle, consultez CButton ::SetBitmap. Les bitmaps n’apparaissent pas sur votre contrôle pendant que vous êtes dans l’Éditeur de boîte de dialogue.
Pour annuler les modifications apportées aux propriétés d’un contrôle
Vérifiez que le contrôle a le focus dans l’Éditeur de boîte de dialogue.
Accédez au menu Modifier>l’annulation. Si le focus n’est pas sur le contrôle, la commande Annuler n’est pas disponible.
Pour définir une variable membre pour un contrôle de boîte de dialogue (à l'exception d'un bouton)
Remarque
Ce processus s’applique uniquement aux contrôles de boîte de dialogue au sein d’un projet MFC. Les projets ATL doivent utiliser la boîte de dialogue Nouveaux messages windows et gestionnaires d’événements . Pour plus d’informations, consultez Types de messages associés à des objets d’interface utilisateur, modification d’un gestionnaire de messages et définition d’un gestionnaire de messages pour un message réfléchi.
Dans l’Éditeur de boîte de dialogue, sélectionnez un contrôle.
Lorsque vous appuyez sur la touche Ctrl , double-cliquez sur le contrôle de boîte de dialogue.
Tapez les informations appropriées dans l’Assistant Ajouter une variable de membre. Pour plus d’informations, consultez Dialog Data Exchange.
Sélectionnez OK pour revenir à l’éditeur de boîte de dialogue.
Conseil
Pour passer d'un contrôle de boîte de dialogue à son gestionnaire existant, double-cliquez sur le contrôle.
Vous pouvez également utiliser l’onglet Variables membres de l’Assistant Classe MFC pour ajouter de nouvelles variables membres pour une classe spécifiée et afficher des variables membres déjà définies.
Supprimer des contrôles
Dans la boîte de dialogue, sélectionnez le contrôle, puis appuyez sur la touche Supprimer ou accédez au menu Modifier>la suppression.
Autres problèmes
Dépannage
Après avoir ajouté un contrôle commun ou un contrôle d’édition enrichi à une boîte de dialogue, il n’apparaît pas lorsque vous testez la boîte de dialogue. Sinon, la boîte de dialogue elle-même n’apparaît pas. Par exemple :
Créez un projet Win32, en modifiant les paramètres de l’application afin de créer une application Windows (et non une application console).
Dans l’affichage des ressources, double-cliquez sur le fichier .rc .
Sous l’option de boîte de dialogue, double-cliquez sur la zone À propos .
Ajoutez un contrôle d’adresse IP à la boîte de dialogue.
Enregistrez et régénérez tout.
Exécutez le programme.
Dans le menu Aide de la boîte de dialogue, sélectionnez la commande About et observez qu’aucune boîte de dialogue n’est affichée.
Actuellement, l’Éditeur de boîte de dialogue n’ajoute pas automatiquement de code à votre projet lorsque vous faites glisser et déposez les contrôles courants ou les contrôles d’édition enrichi suivants sur une boîte de dialogue. Visual Studio ne fournit pas non plus d’erreur ou d’avertissement lorsque ce problème se produit. Pour résoudre ce problème, ajoutez le code du contrôle manuellement.
Contrôles d’animation
Contrôle personnalisé
Sélecteur d’heure de date
Zone de liste déroulante étendue
Raccourci clavier
Contrôle d’adresse IP
Contrôle de liste
Month Calendar
Contrôle de progression
Contrôle Rich Edit 2.0
Contrôle d’édition enrichie
Contrôle de curseur
Contrôle spin
Contrôle d’onglet
Contrôle d’arborescence
Pour utiliser des contrôles courants dans une boîte de dialogue, vous devez appeler InitCommonControlsEx ou AFXInitCommonControls
avant de créer la boîte de dialogue.
Pour utiliser des contrôles RichEdit, vous devez appeler LoadLibrary
. Pour plus d’informations, consultez About Rich Edit Controls in the Windows SDK and Overview of the Rich Edit Control.
Remarque
Pour utiliser un contrôle RichEdit avec MFC, vous devez d’abord appeler AfxInitRichEdit2 pour charger le contrôle RichEdit 2.0 (RICHED20.DLL) ou appeler AfxInitRichEdit pour charger l’ancien contrôle RichEdit 1.0 (RICHED32.DLL).
Vous pouvez utiliser la classe CRichEditCtrl actuelle avec l’ancien contrôle RichEdit 1.0, mais CRichEditCtrl
elle est conçue uniquement pour prendre en charge le contrôle RichEdit 2.0. Étant donné que RichEdit 1.0 et RichEdit 2.0 sont similaires, la plupart des méthodes fonctionnent. Toutefois, il existe des différences entre les contrôles 1.0 et 2.0. Certaines méthodes peuvent donc fonctionner de manière incorrecte ou ne fonctionnent pas du tout.
Insérer des contrôles ActiveX
Avec Visual Studio, vous pouvez insérer des contrôles ActiveX dans votre boîte de dialogue. Pour plus d’informations, consultez contrôles ActiveX MFC et conteneurs de contrôles ActiveX.
La boîte de dialogue Insérer un contrôle ActiveX vous permet d’insérer des contrôles ActiveX dans votre boîte de dialogue lors de l’utilisation de l’éditeur de boîte de dialogue. Cette boîte de dialogue contient les propriétés suivantes :
Propriété | Description |
---|---|
Contrôle ActiveX | Affiche la liste des contrôles ActiveX. L’insertion d’un contrôle à partir de cette boîte de dialogue ne génère pas de classe wrapper. Si vous avez besoin d’une classe wrapper, utilisez la vue de classe pour en créer une, consultez Ajout d’une classe. Si un contrôle ActiveX n’apparaît pas dans cette boîte de dialogue, essayez d’installer le contrôle en fonction des instructions du fournisseur. |
Chemin d’accès | Affiche le fichier dans lequel le contrôle ActiveX est trouvé. |
Attention
Il se peut que la distribution de tous les contrôles ActiveX sur votre système ne soit pas autorisée juridiquement. Reportez-vous au contrat de licence pour le logiciel qui a installé les contrôles ou contactez l’entreprise logicielle.
Pour ajouter un contrôle ActiveX
Ouvrez une boîte de dialogue dans l’Éditeur de boîte de dialogue.
Cliquez avec le bouton droit n’importe où dans le corps de la boîte de dialogue, puis sélectionnez Insérer un contrôle ActiveX.
La boîte de dialogue Insérer un contrôle ActiveX apparaît et affiche tous les contrôles ActiveX disponibles sur votre système. En bas de la boîte de dialogue figure le chemin d’accès au fichier de contrôle ActiveX.
Sélectionnez le contrôle que vous souhaitez ajouter à votre boîte de dialogue, puis choisissez OK.
Le contrôle apparaît dans la boîte de dialogue, où vous pouvez le modifier ou créer des gestionnaires comme vous le feriez pour n’importe quel autre contrôle.
Conseil
Vous pouvez utiliser le menu contextuel dans l’Éditeur de boîte de dialogue pour ajouter rapidement des contrôles ActiveX inscrits à une boîte de dialogue ou essayer d’ajouter des contrôles ActiveX à la fenêtre Boîte à outils pour faciliter l’accès.
Pour modifier les propriétés d’un contrôle ActiveX
Les contrôles ActiveX fournis par des fournisseurs indépendants peuvent être équipés de leurs propres propriétés et caractéristiques. Ces propriétés sont affichées dans la fenêtre Propriétés . Toutes les pages de propriétés créées par les enregistreurs du contrôle ActiveX sont affichées dans la boîte de dialogue Pages de propriétés. (Pour afficher le Page de propriétés pour un contrôle ActiveX spécifique, sélectionnez le bouton Page de propriétés dans le Fenêtre Propriétés).
Sélectionnez le contrôle ActiveX et accédez à la page Afficher la propriété de>menu pour afficher les propriétés. Apportez des modifications en fonction des besoins dans la page de propriétés.
Différents onglets sont affichés dans la page de propriétés d’un contrôle ActiveX, en fonction des feuilles de propriétés qui font partie du contrôle ActiveX.
Remarque
Cette procédure s’applique à l’utilisation de la page de propriétés pour modifier les contrôles ActiveX. Vous pouvez également parcourir et modifier les propriétés ActiveX dans la nouvelle fenêtre Propriétés .
Spécifications
Win32
Voir aussi
Gérer les contrôles de boîte de dialogue
Procédure : contrôles de disposition
Guide pratique pour définir l’accès et les valeurs de contrôle