Ajouter une propriété IDL
L’Assistant Ajout d’une propriété IDL ajoute une propriété à une interface définie dans une bibliothèque de définition d’interface (Interface Definition Library, IDL), comme dans un projet ATL contenant un fichier .idl
. Cet Assistant n’est pas disponible dans les projets qui prennent en charge MFC.
Cet Assistant diffère des assistants Ajout d’une propriété et Ajout d’une propriété MFC IDL sur les plans suivants :
- L’Assistant Ajout d’une propriété ajoute une propriété à une interface dans votre projet.
- L’Assistant Ajout d’une propriété MFC IDL est spécifique aux projets MFC, ActiveX ou ATL qui prennent en charge MFC.
Pour ajouter une propriété IDL
Dans le menu Affichage, sélectionnez Affichage de classes.
Dans l’affichage de classes, cliquez avec le bouton droit sur le nom de l’interface à laquelle vous souhaitez ajouter la propriété.
Notes
Vous pouvez également ajouter des propriétés aux dispinterfaces qui, tant que le projet n’est pas attribué, sont imbriquées dans le nœud de la bibliothèque.
Cliquez avec le bouton droit sur le nom de l’interface.
Dans le menu contextuel, sélectionnez Ajouter>Ajouter une propriété.
Dans l’Assistant Ajout d’une propriété IDL, entrez les informations permettant de créer la propriété.
Sélectionnez OK pour ajouter la propriété.
Les méthodes Get
et Put
de la propriété sont affichées sous la forme de deux icônes dans Affichage de classes, sous l’interface où elle est définie. Double-cliquez sur l’une ou l’autre des icônes pour voir la déclaration de propriété dans le fichier .idl
.
Pour les interfaces ATL, les fonctions Get
et Put
sont ajoutées aux fichiers .cpp
et .h
.
Assistant Ajout d’une propriété IDL
La section suivante décrit l’interface utilisateur que vous allez utiliser pour ajouter une propriété IDL :
Nom de la propriété
Définit le nom de la propriété.
Type de propriété
Type de données de la propriété.
Type de retour
Pour les interfaces ATL, définit le type de retour pour la propriété. Pour les interfaces doubles,
HRESULT
est toujours le type de retour et l’option de sélection est indisponible. Pour les interfaces personnalisées, vous pouvez sélectionner un type de retour dans la liste.HRESULT
est encore recommandé, parce qu’il offre un moyen standard de retourner des erreurs.Get, fonction
Pour les interfaces ATL, crée la méthode
Get
permettant de récupérer la valeur de propriété. Sélectionnez Get, Put ou les deux.Fonction Put
Pour les interfaces ATL, crée la méthode
Put
permettant de définir la valeur de propriété. Sélectionnez Get, Put ou les deux. Si vous sélectionnez Fonction Put, vous pouvez choisir l’une des deux méthodes suivantes pour implémenter la méthode :Option Description propput
La fonction PropPut
retourne une copie de l’objet. propput est la fonction par défaut et la manière la plus courante de rendre la propriété accessible en écriture.propputref
La fonction PropPutRef
retourne une référence à l’objet et non la copie de l’objet lui-même. Songez à utiliser l’optionpropputref
pour des objets, tels que des structures ou des tableaux volumineux, dont l’initialisation peut créer une charge de travail importante.Paramètres
Affiche la liste des paramètres ajoutés à la propriété. Chaque élément de la liste comprend le nom du paramètre, le type du paramètre et les attributs.
in
indique que le paramètre est transmis de la procédure appelante à la procédure appelée.out
indique que le paramètre de pointeur est retourné par la procédure appelée à la procédure appelante (du serveur au client).+
Ajoutez un paramètre. Dans Paramètres, tapez le type et le nom du paramètre. Par exemple,
int x
, puis sélectionnez OK.x
Supprime le paramètre sélectionné des Paramètres.
Icône de crayon
Modifiez le paramètre sélectionné.
Attributs
helpcontext
Spécifie un ID de contexte qui permet à l’utilisateur de voir des informations sur cette propriété dans le fichier d’aide. Pour plus d’informations, consultez
helpcontext
.helpstring
Spécifie une chaîne de caractères qui est utilisée pour décrire l’élément auquel elle s’applique. Par défaut, il est défini sur
property
Nom de propriété. Pour plus d’informations, consultezhelpstring
.id
Définit l’identificateur numérique qui identifie la propriété. Cette option n’est pas disponible pour les propriétés des interfaces personnalisées. Pour plus d’informations, consultez
id
.
- Attributs supplémentaires
Les mots clés du langage MIDL (Microsoft Interface Definition Language) sont décrits en détail dans la Référence du langage MIDL.
Option | Description |
---|---|
bindable |
Indique que la propriété prend en charge la liaison de données. Pour plus d’informations, consultez bindable . |
defaultbind |
Indique que cette seule propriété prenant en charge la liaison de données représente le mieux l’objet. Pour plus d’informations, consultez defaultbind. |
defaultcollelem |
Indique que la propriété est une fonction d’accesseur pour un élément de la collection par défaut. Pour plus d’informations, consultez defaultcollelem . |
displaybind |
Indique que cette propriété doit être montrée à l’utilisateur comme pouvant être liée. Pour plus d’informations, consultez displaybind . |
hidden |
Indique que la propriété existe, mais qu’elle ne doit pas être affichée dans un navigateur orienté utilisateur. Pour plus d’informations, consultez hidden . |
immediatebind |
Indique que la base de données est immédiatement avertie de tout changement de cette propriété d’un objet lié aux données. Pour plus d’informations, consultez immediatebind . |
local |
Indique au compilateur MIDL que la propriété n’est pas distante. Pour plus d’informations, consultez local . |
nonbrowsable |
Marque un membre d’interface ou de dispinterface qui ne doit pas être affiché dans un navigateur de propriétés. Pour plus d’informations, consultez nonbrowsable . |
requestedit |
Indique que la propriété prend en charge la notification OnRequestEdit . Pour plus d’informations, consultez requestedit . |
restricted |
Spécifie que la propriété ne peut pas être appelée arbitrairement. Pour plus d’informations, consultez restricted . |
source |
Indique qu’un membre de la propriété est une source d’événements. Pour plus d’informations, consultez source . |