PAGESETUPDLGA, structure (commdlg.h)

Contient des informations que la fonction PageSetupDlg utilise pour initialiser la boîte de dialogue Mise en page . Une fois que l’utilisateur a fermé la boîte de dialogue, le système retourne des informations sur les paramètres de page définis par l’utilisateur dans cette structure.

Syntaxe

typedef struct tagPSDA {
  DWORD           lStructSize;
  HWND            hwndOwner;
  HGLOBAL         hDevMode;
  HGLOBAL         hDevNames;
  DWORD           Flags;
  POINT           ptPaperSize;
  RECT            rtMinMargin;
  RECT            rtMargin;
  HINSTANCE       hInstance;
  LPARAM          lCustData;
  LPPAGESETUPHOOK lpfnPageSetupHook;
  LPPAGEPAINTHOOK lpfnPagePaintHook;
  LPCSTR          lpPageSetupTemplateName;
  HGLOBAL         hPageSetupTemplate;
} PAGESETUPDLGA, *LPPAGESETUPDLGA;

Membres

lStructSize

Type : DWORD

Taille, en octets, de cette structure.

hwndOwner

Type : HWND

Handle de la fenêtre qui possède la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, ou il peut être NULL si la boîte de dialogue n’a pas de propriétaire.

hDevMode

Type : HGLOBAL

Handle vers un objet de mémoire globale qui contient une structure DEVMODE . Lors de l’entrée, si un handle est spécifié, les valeurs de la structure DEVMODE correspondante sont utilisées pour initialiser les contrôles dans la boîte de dialogue. Lors de la sortie, la boîte de dialogue définit hDevMode sur un handle de mémoire global sur une structure DEVMODE qui contient des valeurs spécifiant les sélections de l’utilisateur. Si les sélections de l’utilisateur ne sont pas disponibles, la boîte de dialogue définit hDevMode sur NULL.

hDevNames

Type : HGLOBAL

Handle vers un objet de mémoire globale qui contient une structure DEVNAMES . Cette structure contient trois chaînes qui spécifient le nom du pilote, le nom de l’imprimante et le nom du port de sortie. Lors de l’entrée, si un handle est spécifié, les chaînes de la structure DEVNAMES correspondante sont utilisées pour initialiser des contrôles dans la boîte de dialogue. Lors de la sortie, la boîte de dialogue définit hDevNames sur un handle de mémoire global sur une structure DEVNAMES qui contient des chaînes spécifiant les sélections de l’utilisateur. Si les sélections de l’utilisateur ne sont pas disponibles, la boîte de dialogue définit hDevNames sur NULL.

Flags

Type : DWORD

Ensemble d’indicateurs de bits que vous pouvez utiliser pour initialiser la boîte de dialogue Mise en page . Lorsque la boîte de dialogue est retournée, elle définit ces indicateurs pour indiquer l’entrée de l’utilisateur. Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
PSD_DEFAULTMINMARGINS
0x00000000
Définit les valeurs minimales que l’utilisateur peut spécifier pour que les marges de page soient les marges minimales autorisées par l’imprimante. Il s’agit de la valeur par défaut. Cet indicateur est ignoré si les indicateurs PSD_MARGINS et PSD_MINMARGINS sont également spécifiés.
PSD_DISABLEMARGINS
0x00000010
Désactive les contrôles de marge, empêchant l’utilisateur de définir les marges.
PSD_DISABLEORIENTATION
0x00000100
Désactive les contrôles d’orientation, empêchant l’utilisateur de définir l’orientation de la page.
PSD_DISABLEPAGEPAINTING
0x00080000
Empêche la boîte de dialogue de dessiner le contenu de l’exemple de page. Si vous activez une procédure de hook PagePaintHook , vous pouvez toujours dessiner le contenu de l’exemple de page.
PSD_DISABLEPAPER
0x00000200
Désactive les contrôles de papier, empêchant l’utilisateur de définir des paramètres de page tels que le format et la source du papier.
PSD_DISABLEPRINTER
0x00000020
Obsolète.

Windows XP/2000 : Désactive le bouton Imprimante , empêchant l’utilisateur d’appeler une boîte de dialogue contenant des informations supplémentaires sur la configuration de l’imprimante.

PSD_ENABLEPAGEPAINTHOOK
0x00040000
Active la procédure de raccordement spécifiée dans le membre lpfnPagePaintHook .
PSD_ENABLEPAGESETUPHOOK
0x00002000
Active la procédure de raccordement spécifiée dans le membre lpfnPageSetupHook .
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
Indique que les membres hInstance et lpPageSetupTemplateName spécifient un modèle de boîte de dialogue à utiliser à la place du modèle par défaut.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Indique que le membre hPageSetupTemplate identifie un bloc de données qui contient un modèle de boîte de dialogue préchargé. Le système ignore le membre lpPageSetupTemplateName si cet indicateur est spécifié.
PSD_INHUNDREDTHSOFMILLIMETERS
0x00000008
Indique que les centièmes de millimètres sont l’unité de mesure pour les marges et le format du papier. Les valeurs des membres rtMargin, rtMinMargin et ptPaperSize sont en centièmes de millimètres. Vous pouvez définir cet indicateur sur l’entrée pour remplacer l’unité de mesure par défaut pour les paramètres régionaux de l’utilisateur. Lorsque la fonction est retournée, la boîte de dialogue définit cet indicateur pour indiquer les unités utilisées.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Indique que les millièmes de pouces sont l’unité de mesure pour les marges et le format du papier. Les valeurs des membres rtMargin, rtMinMargin et ptPaperSize sont en millièmes de pouces. Vous pouvez définir cet indicateur sur l’entrée pour remplacer l’unité de mesure par défaut pour les paramètres régionaux de l’utilisateur. Lorsque la fonction est retournée, la boîte de dialogue définit cet indicateur pour indiquer les unités utilisées.
PSD_INWININIINTLMEASURE
0x00000000
Réservé.
PSD_MARGINS
0x00000002
Oblige le système à utiliser les valeurs spécifiées dans le membre rtMargin comme largeurs initiales pour les marges gauche, supérieure, droite et inférieure. Si PSD_MARGINS n’est pas défini, le système définit les largeurs initiales sur un pouce pour toutes les marges.
PSD_MINMARGINS
0x00000001
Oblige le système à utiliser les valeurs spécifiées dans le membre rtMinMargin comme largeurs minimales autorisées pour les marges gauche, supérieure, droite et inférieure. Le système empêche l’utilisateur d’entrer une largeur inférieure à la valeur minimale spécifiée. Si PSD_MINMARGINS n’est pas spécifié, le système définit les largeurs minimales autorisées par l’imprimante.
PSD_NONETWORKBUTTON
0x00200000
Masque et désactive le bouton Réseau .
PSD_NOWARNING
0x00000080
Empêche le système d’afficher un message d’avertissement en l’absence d’imprimante par défaut.
PSD_RETURNDEFAULT
0x00000400

PageSetupDlg n’affiche pas la boîte de dialogue. Au lieu de cela, il définit les membres hDevNames et hDevMode pour les gérer en structures DEVMODE et DEVNAMES qui sont initialisées pour l’imprimante système par défaut. PageSetupDlg retourne une erreur si hDevNames ou hDevMode n’est pas NULL.

PSD_SHOWHELP
0x00000800
Entraîne l’affichage du bouton Aide dans la boîte de dialogue. Le membre hwndOwner doit spécifier la fenêtre pour recevoir les messages inscrits HELPMSGSTRING que la boîte de dialogue envoie lorsque l’utilisateur clique sur le bouton Aide .

ptPaperSize

Type : POINT

Dimensions du papier sélectionné par l’utilisateur. L’indicateur PSD_INTHOUSANDTHSOFINCHES ou PSD_INHUNDREDTHSOFMILLIMETERS indique les unités de mesure.

rtMinMargin

Type : RECT

Largeurs minimales autorisées pour les marges gauche, supérieure, droite et inférieure. Le système ignore ce membre si l’indicateur PSD_MINMARGINS n’est pas défini. Ces valeurs doivent être inférieures ou égales aux valeurs spécifiées dans le membre rtMargin . L’indicateur PSD_INTHOUSANDTHSOFINCHES ou PSD_INHUNDREDTHSOFMILLIMETERS indique les unités de mesure.

rtMargin

Type : RECT

Largeurs des marges gauche, supérieure, droite et inférieure. Si vous définissez l’indicateur PSD_MARGINS , rtMargin spécifie les valeurs de marge initiales. Lorsque PageSetupDlg retourne, rtMargin contient les largeurs de marge sélectionnées par l’utilisateur. L’indicateur PSD_INHUNDREDTHSOFMILLIMETERS ou PSD_INTHOUSANDTHSOFINCHES indique les unités de mesure.

hInstance

Type : HINSTANCE

Si l’indicateur PSD_ENABLEPAGESETUPTEMPLATE est défini dans le membre Flags, hInstance est un handle de l’application ou du module instance qui contient le modèle de boîte de dialogue nommé par le membre lpPageSetupTemplateName.

lCustData

Type : LPARAM

Données définies par l’application que le système transmet à la procédure de hook identifiée par le membre lpfnPageSetupHook . Lorsque le système envoie le message WM_INITDIALOG à la procédure de hook, le paramètre lParam du message est un pointeur vers la structure PAGESETUPDLG spécifiée lors de la création de la boîte de dialogue. La procédure de hook peut utiliser ce pointeur pour obtenir la valeur lCustData .

lpfnPageSetupHook

Type : LPPAGESETUPHOOK

Pointeur vers une procédure de crochet PageSetupHook qui peut traiter les messages destinés à la boîte de dialogue. Ce membre est ignoré, sauf si l’indicateur PSD_ENABLEPAGESETUPHOOK est défini dans le membre Indicateurs .

lpfnPagePaintHook

Type : LPPAGEPAINTHOOK

Pointeur vers une procédure de crochet PagePaintHook qui reçoit des messages WM_PSD_* de la boîte de dialogue chaque fois que l’exemple de page est redessiné. En traitant les messages, la procédure de hook peut personnaliser l’apparence de l’exemple de page. Ce membre est ignoré, sauf si l’indicateur PSD_ENABLEPAGEPAINTHOOK est défini dans le membre Indicateurs .

lpPageSetupTemplateName

Type : LPCTSTR

Nom de la ressource de modèle de boîte de dialogue dans le module identifié par le membre hInstance . Ce modèle est remplacé par le modèle de boîte de dialogue standard. Pour les ressources de boîte de dialogue numérotées, lpPageSetupTemplateName peut être une valeur retournée par la macro MAKEINTRESOURCE . Ce membre est ignoré, sauf si l’indicateur PSD_ENABLEPAGESETUPTEMPLATE est défini dans le membre Indicateurs .

hPageSetupTemplate

Type : HGLOBAL

Si l’indicateur PSD_ENABLEPAGESETUPTEMPLATEHANDLE est défini dans le membre Flags , hPageSetupTemplate est un handle d’un objet mémoire contenant un modèle de boîte de dialogue.

Remarques

Si les indicateurs PSD_INHUNDREDTHSOFMILLIMETERS et PSD_INTHOUSANDTHSOFINCHES ne sont pas spécifiés, le système interroge la valeur LOCALE_IMEASURE des paramètres régionaux utilisateur par défaut pour déterminer l’unité de mesure (centièmes de millimètres ou millièmes de pouces) pour les largeurs de marge et le format du papier.

Si hDevNames et hDevMode ont des handles valides et que le nom d’imprimante spécifié par le membre wDeviceOffset de la structure DEVNAMES n’est pas identique au nom spécifié par le membre dmDeviceName de la structure DEVMODE , le système utilise le nom spécifié par wDeviceOffset par défaut.

Notes

L’en-tête commdlg.h définit PAGESETUPDLG comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

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]
En-tête commdlg.h (inclure Windows.h)

Voir aussi

Bibliothèque de boîtes de dialogue commune

Conceptuel

DEVMODE

DEVNAMES

MAKEINTRESOURCE

Autres ressources

PagePaintHook

PageSetupDlg

PageSetupHook

Référence

WM_INITDIALOG