Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Parfois, un contrôle ActiveX a plus de propriétés que peut raisonnablement figurer sur une page de propriétés.Dans ce cas, vous pouvez ajouter des pages de propriétés au contrôle ActiveX pour afficher ces propriétés.
Cet article explique ajouter de nouvelles pages de propriétés à un contrôle ActiveX qui inclut déjà au moins une page de propriétés.Pour plus d'informations sur les pages de propriétés d'actions d'addition (police, image, ou couleurs), consultez l'article Contrôles ActiveX MFC : À l'aide de les pages de propriétés stock.
Les procédures suivantes utilisent une infrastructure de contrôle ActiveX exemple créée par l'Assistant Contrôle ActiveX.Par conséquent, les noms de classes et les ID sont uniques dans cet exemple.
Pour plus d'informations sur l'utilisation des pages de propriétés dans un contrôle ActiveX, consultez les articles suivants :
Contrôles ActiveX MFC : À l'aide de les pages de propriétés stock
[!REMARQUE]
Il est fortement recommandé aux nouvelles pages de propriétés sont conformes au standard de taille pour les pages de propriétés du contrôle ActiveX.Les pages de propriétés stock d'image et de couleur mesurent les unités de boîte de dialogue 250x62 (DLU).La page de propriétés de police standard est 250x110 unités de boîte de dialogue.La page de propriétés par défaut créé par l'Assistant Contrôle ActiveX utilise le standard de 250x62 DLU.
Pour insérer un nouveau modèle de page de propriétés dans votre projet
Avec votre projet de contrôle ouvrez, ouvrez l'affichage des ressources dans l'espace de travail de projet.
Cliquez avec le bouton droit sur dans l'affichage des ressources pour ouvrir le menu et cliquer sur Ajouter une ressource.
Développez le nœud de Dialog , puis sélectionnez IDD_OLE_PROPPAGE_SMALL.
Cliquez sur New pour ajouter la ressource à votre projet.
Sélectionnez le nouveau modèle de page de propriétés pour actualiser la fenêtre Propriétés.
Entrez une nouvelle valeur pour la propriété de ID .Cet exemple utilise IDD_PROPPAGE_NEWPAGE.
Cliquez sur Enregistrer dans la barre d'outils.
Pour associer le nouveau modèle avec une classe
Ouvrez l'Affichage de classes.
Cliquez avec le bouton droit sur dans l'Affichage de classes pour ouvrir le menu contextuel.
Dans le menu contextuel, cliquez sur Ajouter, puis sur Ajouter une classe.
Cela ouvre la boîte de dialogue d' ajoutez la classe .
Double-cliquez sur le modèle de MFC Class .
Dans la zone Nom de la classe dans assistant Classe MFC, tapez un nom pour la nouvelle classe de boîte de dialogue.(Dans cet exemple, CAddtlPropPage.)
Si vous voulez que les noms de fichier spécifique, cliquez sur Modifier.Tapez les noms pour votre implémentation et fichiers d'en-tête, ou acceptez les noms par défaut.
Dans la zone de Classe de base , sélectionnez COlePropertyPage.
Dans la zone de ID de boîte de dialogue , sélectionnez IDD_PROPPAGE_NEWPAGE.
Cliquez sur Terminer pour créer la classe.
Pour permettre l'accès des utilisateurs du contrôle à cette page de propriétés, apportez les modifications suivantes section des ID de la page de propriétés du contrôle à la macro (située dans le fichier d'implémentation du contrôle) :
BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
PROPPAGEID(CMyAxUIPropPage::guid)
PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)
Notez que vous devez augmenter le second paramètre de la macro d' BEGIN_PROPPAGEIDS (le nombre de page de propriétés) 1 2.
Vous devez également modifier le fichier du fichier d'implémentation du contrôle (.CPP) pour inclure l'en-tête (. h) fichier de la nouvelle classe de page de propriétés.
L'étape suivante consiste à créer deux nouvelles ressources de type chaîne qui fournissent un nom de type et une légende pour la nouvelle page de propriétés.
Pour ajouter de nouvelles ressources de type chaîne à une page de propriétés
Avec votre projet de contrôle ouvrez, ouvrez l'affichage des ressources.
Double-cliquez sur le dossier de Table de chaînes puis double-cliquez sur la ressource table de chaînes à laquelle vous souhaitez ajouter une chaîne.
Cela ouvre la table de chaînes dans une fenêtre.
Sélectionnez la ligne vide à l'extrémité de la table de chaînes et tapez le texte, ou la légende, de la chaîne : par exemple, « page de propriétés supplémentaires. »
Cela ouvre une page de Propriétés de chaîne affichant Caption et des zones de ID .La zone de Caption contient la chaîne que vous avez tapée.
Dans la zone de ID , sélectionnez ou tapez un ID de la chaîne.Appuyez sur entrée lorsque vous avez terminé.
Cet exemple utilise IDS_SAMPLE_ADDPAGE pour le nom de type de la page de propriétés.
Répétez les étapes 3 et 4 à l'aide de IDS_SAMPLE_ADDPPG_CAPTION pour l'ID et « la page de propriétés supplémentaires » de légende.
Dans le fichier .cpp de votre nouvelle classe de page de propriétés (dans cet exemple, CAddtlPropPage) modifiez CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry afin qu'IDS_SAMPLE_ADDPAGE est passé par AfxOleRegisterPropertyPageClass, comme dans l'exemple suivant :
BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister) { if (bRegister) return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(), m_clsid, IDS_SAMPLE_ADDPAGE); else return AfxOleUnregisterClass(m_clsid, NULL); }Modifiez le constructeur d' CAddtlPropPage afin qu' IDS_SAMPLE_ADDPPG_CAPTION soit passé au constructeur d' COlePropertyPage , comme suit :
CAddtlPropPage::CAddtlPropPage() : COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION) { }
Après avoir réalisé à la régénération nécessaire de modifications votre projet et utiliser Test Container pour tester la page de propriétés.Pour plus d'informations sur la manière d'accéder à Test Container, consultez Test des propriétés et des événements à l'aide de Test Container.