Partager via


Pages de propriétés (MFC)

Les pages de propriétés affichent les valeurs actuelles des propriétés de contrôle OLE spécifiques dans une interface graphique personnalisable pour l’affichage et la modification en prenant en charge un mécanisme de mappage de données basé sur l’échange de données de boîte de dialogue (DDX).

Ce mécanisme de mappage de données mappe les contrôles de page de propriétés aux propriétés individuelles du contrôle OLE. La valeur de la propriété de contrôle reflète l’état ou le contenu du contrôle de page de propriétés. Le mappage entre les contrôles de page de propriétés et les propriétés est spécifié par DDP_ appels de fonction dans la fonction membre de la page de DoDataExchange propriétés. Voici une liste de fonctions DDP_ qui échangent des données entrées à l’aide de la page de propriétés de votre contrôle :

Transfert de données de page de propriétés

Nom Description
DDP_CBIndex Lie l’index de la chaîne sélectionnée dans une zone de liste modifiable avec la propriété d’un contrôle.
DDP_CBString Lie la chaîne sélectionnée dans une zone de liste modifiable avec la propriété d’un contrôle. La chaîne sélectionnée peut commencer par les mêmes lettres que la valeur de la propriété, mais elle n’a pas besoin de la correspondre entièrement.
DDP_CBStringExact Lie la chaîne sélectionnée dans une zone de liste modifiable avec la propriété d’un contrôle. La chaîne sélectionnée et la valeur de chaîne de la propriété doivent correspondre exactement.
DDP_Check Lie une case à cocher dans la page de propriétés du contrôle avec la propriété d’un contrôle.
DDP_LBIndex Lie l’index de la chaîne sélectionnée dans une zone de liste avec la propriété d’un contrôle.
DDP_LBString Lie la chaîne sélectionnée dans une zone de liste avec la propriété d’un contrôle. La chaîne sélectionnée peut commencer par les mêmes lettres que la valeur de la propriété, mais elle n’a pas besoin de la correspondre entièrement.
DDP_LBStringExact Lie la chaîne sélectionnée dans une zone de liste avec la propriété d’un contrôle. La chaîne sélectionnée et la valeur de chaîne de la propriété doivent correspondre exactement.
DDP_PostProcessing Termine le transfert des valeurs de propriété à partir de votre contrôle.
DDP_Radio Lie un groupe de cases d’option dans la page de propriétés du contrôle avec la propriété d’un contrôle.
DDP_Text Lie un contrôle dans la page de propriétés du contrôle avec la propriété d’un contrôle. Cette fonction gère plusieurs types de propriétés différents, tels que double, shortBSTR et long.

Pour plus d’informations sur la fonction et les DoDataExchange pages de propriétés, consultez l’article Contrôles ActiveX : Pages de propriétés.

Voici une liste de macros utilisées pour créer et gérer des pages de propriétés pour un contrôle OLE :

Pages de propriétés

Nom Description
BEGIN_PROPPAGEIDS Commence la liste des ID de page de propriétés.
END_PROPPAGEIDS Termine la liste des ID de page de propriétés.
PROPPAGEID Déclare une page de propriétés de la classe de contrôle.

DDP_CBIndex

Appelez cette fonction dans la fonction de votre page de DoDataExchange propriétés pour synchroniser la valeur d’une propriété entière avec l’index de la sélection active dans une zone de liste déroulante de la page de propriétés.

void AFXAPI DDP_CBIndex(
    CDataExchange* pDX,
    int id,
    int& member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de zone de liste modifiable associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec le contrôle de zone de liste modifiable spécifié par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_CBIndex .

Spécifications

En-tête afxctl.h

DDP_CBString

Appelez cette fonction dans la fonction de votre page de DoDataExchange propriétés pour synchroniser la valeur d’une propriété de chaîne avec la sélection actuelle dans une zone de liste déroulante de la page de propriétés.

void AFXAPI DDP_CBString(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de zone de liste modifiable associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec la chaîne de zone de liste modifiable spécifiée par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_CBString .

Spécifications

En-tête afxctl.h

DDP_CBStringExact

Appelez cette fonction dans la fonction de la page de DoDataExchange propriétés pour synchroniser la valeur d’une propriété de chaîne qui correspond exactement à la sélection actuelle dans une zone de liste modifiable de la page de propriétés.

void AFXAPI DDP_CBStringExact(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de zone de liste modifiable associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec la chaîne de zone de liste modifiable spécifiée par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_CBStringExact .

Spécifications

En-tête afxctl.h

DDP_Check

Appelez cette fonction dans la fonction de la page de DoDataExchange propriétés pour synchroniser la valeur de la propriété avec le contrôle de case à cocher de la page de propriétés associée.

void AFXAPI DDP_Check(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de case à cocher associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec le contrôle de case à cocher spécifié par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_Check .

Spécifications

En-tête afxctl.h

DDP_LBIndex

Appelez cette fonction dans la fonction de votre page de DoDataExchange propriétés pour synchroniser la valeur d’une propriété entière avec l’index de la sélection active dans une zone de liste de la page de propriétés.

void AFXAPI DDP_LBIndex(
    CDataExchange* pDX,
    int id,
    int& member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de zone de liste associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec la chaîne de zone de liste spécifiée par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_LBIndex .

Spécifications

En-tête afxctl.h

DDP_LBString

Appelez cette fonction dans la fonction de votre page de DoDataExchange propriétés pour synchroniser la valeur d’une propriété de chaîne avec la sélection actuelle dans une zone de liste de la page de propriétés.

void AFXAPI DDP_LBString(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de zone de liste associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec la chaîne de zone de liste spécifiée par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_LBString .

Spécifications

En-tête afxctl.h

DDP_LBStringExact

Appelez cette fonction dans la fonction de votre page de DoDataExchange propriétés pour synchroniser la valeur d’une propriété de chaîne qui correspond exactement à la sélection actuelle dans une zone de liste de la page de propriétés.

void AFXAPI DDP_LBStringExact(
    CDataExchange* pDX,
    int id,
    CString& member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de zone de liste associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec la chaîne de zone de liste spécifiée par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_LBStringExact .

Spécifications

En-tête afxctl.h

DDP_PostProcessing

Appelez cette fonction dans la fonction de votre page de DoDataExchange propriétés pour terminer le transfert des valeurs de propriété de la page de propriétés vers votre contrôle lorsque les valeurs de propriété sont enregistrées.

void AFXAPI DDP_PostProcessing(CDataExchange * pDX);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

Notes

Cette fonction doit être appelée une fois toutes les fonctions d’échange de données terminées. Par exemple :

void CMyAxPropPage::DoDataExchange(CDataExchange *pDX)
{
   DDP_Text(pDX, IDC_POSITIONEDIT, m_NeedlePosition, _T("NeedlePosition"));
   DDX_Text(pDX, IDC_POSITIONEDIT, m_NeedlePosition);
   DDV_MinMaxInt(pDX, m_NeedlePosition, 0, 3);
   DDP_PostProcessing(pDX);
}

Spécifications

En-tête afxctl.h

DDP_Radio

Appelez cette fonction dans la fonction de DoPropExchange votre contrôle pour synchroniser la valeur de la propriété avec le contrôle de case d’option de page de propriétés associé.

void AFXAPI DDP_Radio(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle de case d’option associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec le contrôle de case d’option spécifié par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_Radio .

Spécifications

En-tête afxctl.h

DDP_Text

Appelez cette fonction dans la fonction de DoDataExchange votre contrôle pour synchroniser la valeur de la propriété avec le contrôle de page de propriétés associé.

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    BYTE & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    int & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    UINT & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    long & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    DWORD & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    float & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    double & member,
    LPCTSTR pszPropName);

void AFXAPI DDP_Text(
    CDataExchange* pDX,
    int id,
    CString & member,
    LPCTSTR pszPropName);

Paramètres

pDX
Pointeur vers un CDataExchange objet. L’infrastructure fournit cet objet pour établir le contexte de l’échange de données, notamment sa direction.

id
ID de ressource du contrôle associé à la propriété de contrôle spécifiée par pszPropName.

member
Variable membre associée au contrôle de page de propriétés spécifié par id et propriété spécifiée par pszPropName.

pszPropName
Nom de propriété de la propriété de contrôle à échanger avec le contrôle spécifié par ID.

Notes

Cette fonction doit être appelée avant l’appel de fonction correspondant DDX_Text .

Spécifications

En-tête afxctl.h

BEGIN_PROPPAGEIDS

Commence la définition de la liste des ID de page de propriétés de votre contrôle.

BEGIN_PROPPAGEIDS(class_name,  count)

Paramètres

class_name
Nom de la classe de contrôle pour laquelle les pages de propriétés sont spécifiées.

count
Nombre de pages de propriétés utilisées par la classe de contrôle.

Notes

Dans le fichier d’implémentation (.cpp) qui définit les fonctions membres de votre classe, démarrez la liste des pages de propriétés avec la macro BEGIN_PROPPAGEIDS, puis ajoutez des entrées de macro pour chacune de vos pages de propriétés, puis terminez la liste des pages de propriétés avec la macro END_PROPPAGEIDS.

Pour plus d’informations sur les pages de propriétés, consultez l’article Contrôles ActiveX : Pages de propriétés.

Spécifications

En-tête afxctl.h

END_PROPPAGEIDS

Termine la définition de votre liste d’ID de page de propriétés.

END_PROPPAGEIDS(class_name)

Paramètres

class_name
Nom de la classe de contrôle propriétaire de la page de propriétés.

Spécifications

En-tête afxctl.h

PROPPAGEID

Ajoute une page de propriétés à utiliser par votre contrôle OLE.

PROPPAGEID(clsid)

Paramètres

clsid
ID de classe unique d’une page de propriétés.

Notes

Toutes les macros PROPPAGEID doivent être placées entre les macros BEGIN_PROPPAGEIDS et END_PROPPAGEIDS dans le fichier d’implémentation de votre contrôle.

Spécifications

En-tête afxctl.h

Voir aussi

Macros et globals