Partager via


Utilisation des feuilles de propriétés dans votre application

Pour utiliser une feuille de propriétés dans votre application, procédez comme suit :

  1. Créez une ressource modèle de boîte de dialogue dans chaque page de propriétés. N'oubliez pas que l'utilisateur peut basculer d'une page à l'autre, donc la présentation de chaque page doit être aussi cohérente que possible.

    Les modèles de boîte de dialogue pour toutes les pages ne doivent pas nécessairement avoir la même taille. Le framework utilise la taille de la plus grande page pour déterminer la quantité d'espace à allouer dans la feuille de propriétés pour les pages de propriétés.

    Lorsque vous créez la ressource modèle de la boîte de dialogue pour une page de propriétés, vous devez spécifier les styles suivants dans la feuille de propriétés Propriétés de la boîte dialogue :

    • Définissez la zone d’édition de légende sur la page Général sur le texte que vous souhaitez afficher dans l’onglet de cette page.

    • Définissez la zone de liste Style dans la page Styles sur Enfant.

    • Définissez la zone de liste Bordure dans la page Styles sur Fin.

    • Vérifiez que la zone case activée barre de titre de la page Styles est sélectionnée.

    • Vérifiez que la zone Case activée désactivée dans la page Autres styles est sélectionnée.

  2. Créez une classe dérivée de CPropertyPage correspondant à chaque modèle de boîte de dialogue de page de propriétés. Voir Ajout d’une classe. Choisissez CPropertyPage en tant que classe de base.

  3. Créez des variables membres pour contenir les valeurs de cette page de propriétés. Le processus d'ajout des variables membres à une page de propriétés est identique au processus d'ajout des variables membres à une boîte de dialogue, car une page de propriétés est une boîte de dialogue spécialisée. Pour plus d’informations, consultez Définition des variables de membre pour les contrôles de boîte de dialogue.

  4. Construisez un objet CPropertySheet dans votre code source. Généralement, vous construisez l'objet CPropertySheet dans le gestionnaire de la commande qui affiche la feuille de propriétés. Cet objet représente la feuille de propriétés entière. Si vous créez une feuille de propriétés modale avec la fonction DoModal , l’infrastructure fournit trois boutons de commande par défaut : OK, Annuler et Appliquer. L’infrastructure ne crée aucun bouton de commande pour les feuilles de propriétés sans mode créées avec la fonction Create . Vous n'avez pas besoin de dériver une classe CPropertySheet à moins de vouloir ajouter d'autres contrôles (comme une fenêtre d'aperçu) ou afficher une feuille de propriétés non modales. Cette étape est nécessaire pour les feuilles de propriétés non modales car elles ne contiennent aucun contrôle par défaut qui peut être utilisé pour fermer la feuille de propriétés.

  5. Pour chaque page à ajouter à la feuille de propriétés, procédez comme suit :

    • Construisez un objet pour chaque classe dérivée CPropertyPage que vous avez créée précédemment pendant ce processus.

    • Appelez CPropertySheet ::AddPage pour chaque page.

    En général, l'objet qui crée CPropertySheet crée également les objets CPropertyPage de cette étape. Toutefois, si vous implémentez une classe dérivée de CPropertySheet, vous pouvez inclure des objets CPropertyPage dans l'objet CPropertySheet et appeler AddPage pour chaque page du constructeur de classe dérivée de CPropertySheet. AddPage ajoute l'objet CPropertyPage à la liste de pages de la feuille de propriétés mais ne crée pas réellement la fenêtre de cette page. Par conséquent, il n'est pas nécessaire d'attendre jusqu'à la conception de la fenêtre de la feuille de propriétés pour appeler AddPage ; vous pouvez appeler AddPage du constructeur de la feuille de propriétés.

    Par défaut, si une feuille de propriétés contient plus d'onglets que ceux qui tiennent sur une ligne de la feuille de propriétés, les onglets s'empileront sur plusieurs lignes. Pour désactiver l’empilement, appelez CPropertySheet ::EnableStackedTabs avec le paramètre défini sur FALSE. Vous devez appeler EnableStackedTabs lorsque vous créez la feuille de propriétés.

  6. Appelez CPropertySheet ::D oModal ou Create pour afficher la feuille de propriétés. Appelez DoModal pour créer une feuille de propriétés comme une boîte de dialogue modale. Appelez Create pour créer la feuille de propriétés en tant que boîte de dialogue sans mode.

  7. Échangez des données entre les pages de propriétés et le propriétaire de la feuille de propriétés. Ceci est expliqué dans l’article Échange de données.

Pour obtenir un exemple d’utilisation de feuilles de propriétés, consultez l’exemple GÉNÉRAL MFC PROPDLG.

Voir aussi

Feuilles de propriétés