Partager via


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

  1. Dans le menu Affichage, sélectionnez Affichage de classes.

  2. 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.

  3. Cliquez avec le bouton droit sur le nom de l’interface.

  4. Dans le menu contextuel, sélectionnez Ajouter>Ajouter une propriété.

  5. Dans l’Assistant Ajout d’une propriété IDL, entrez les informations permettant de créer la propriété.

  6. 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 :

Capture d’écran de l’ajout de propriété IDL avec deux paramètres : [ in ] int i and [ in ] char c. Le type de retour est HRESULT. Le type de propriété est float.

  • 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’option propputref 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

  1. 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.

  2. 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 propertyNom de propriété. Pour plus d’informations, consultez helpstring.

  3. 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.

Voir aussi

Ajouter une propriété
Ajouter une propriété MFC IDL