Partager via


OleCreatePropertyFrameIndirect, fonction (olectl.h)

Crée un cadre de propriété, c’est-à-dire une boîte de dialogue de feuille de propriétés, en fonction d’une structure (OCPFIPARAMS) qui contient les paramètres, plutôt que de spécifier des paramètres distincts comme lors de l’appel d’OleCreatePropertyFrame.

Syntaxe

WINOLECTLAPI OleCreatePropertyFrameIndirect(
  [in] LPOCPFIPARAMS lpParams
);

Paramètres

[in] lpParams

Pointeur vers la structure allouée par l’appelant contenant les paramètres de création de la boîte de dialogue.

Valeur retournée

Cette fonction prend en charge les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et E_UNEXPECTED, ainsi que les éléments suivants :

Code de retour Description
S_OK
La boîte de dialogue a été appelée et exécutée avec succès.
E_POINTER
L’adresse dans lpParams n’est pas valide. Par exemple, il peut être NULL.

Remarques

Outre cbStructSize (la taille de la structure) et dispIDInitialProperty, tous les membres de la structure OCPFIPARAMS ont la même sémantique que les paramètres d’OleCreatePropertyFrame. Lorsque dispIDInitialProperty est DISPID_UNKNOWN, le comportement des deux fonctions est identique.

En collaboration avec IPerPropertyBrowsing et IPropertyPage2, dispIDInitialProperty permet à l’appelant de spécifier la propriété unique à mettre en surbrillance lorsque la boîte de dialogue est rendue visible. Cette fonctionnalité n’est pas disponible lors de l’utilisation d’OleCreatePropertyFrame. Pour déterminer la page et la propriété à afficher initialement, le cadre de propriété effectue les opérations suivantes :

  1. Appelez (*ppUnk)->QueryInterface(IID_IPerPropertyBrowsing, ...) pour obtenir un pointeur d’interface vers le premier objet.
  2. Appelez IPerPropertyBrowsing ::MapPropertyToPage(dispIDInitialProperty, ...) pour déterminer quelle page CLSID contient la propriété à mettre en surbrillance. Tous les objets pour lesquels ce cadre est appelé doivent prendre en charge l’ensemble de propriétés affichées dans le cadre.
  3. Lorsque la boîte de dialogue est créée, la page de propriétés avec le CLSID récupéré à l’étape 2 est activée avec IPropertyPage ::Activate.
  4. Le cadre de propriété interroge la page active pour IPropertyPage2.
  5. En cas de réussite, le cadre appelle IPropertyPage2 ::EditProperty(dispIDInitialProperty) pour mettre en surbrillance le champ correct dans cette boîte de dialogue.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête olectl.h
Bibliothèque OleAut32.lib
DLL OleAut32.dll

Voir aussi

OCPFIPARAMS

OleCreatePropertyFrame