Partager via


PAGESETUPDLGW, structure (commdlg.h)

Contient des informations sur la fonction PageSetupDlg utilise pour initialiser la boîte de dialogue Mise en page. Une fois que l’utilisateur ferme 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 tagPSDW {
  DWORD           lStructSize;
  HWND            hwndOwner;
  HGLOBAL         hDevMode;
  HGLOBAL         hDevNames;
  DWORD           Flags;
  POINT           ptPaperSize;
  RECT            rtMinMargin;
  RECT            rtMargin;
  HINSTANCE       hInstance;
  LPARAM          lCustData;
  LPPAGESETUPHOOK lpfnPageSetupHook;
  LPPAGEPAINTHOOK lpfnPagePaintHook;
  LPCWSTR         lpPageSetupTemplateName;
  HGLOBAL         hPageSetupTemplate;
} PAGESETUPDLGW, *LPPAGESETUPDLGW;

Membres

lStructSize

Type : DWORD

Taille, en octets, de cette structure.

hwndOwner

Type : HWND

Handle de la fenêtre propriétaire 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 aucun 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. En sortie, la boîte de dialogue définit hDevMode à un handle de mémoire global dans 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 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 correspondantes sont utilisées pour initialiser des contrôles dans la boîte de dialogue. En sortie, la boîte de dialogue définit hDevNames à un handle de mémoire globale à 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 PagePaintHook hook, vous pouvez toujours dessiner le contenu de l’exemple de page.
PSD_DISABLEPAPER
0x00000200
Désactive les contrôles papier, empêchant l’utilisateur de définir des paramètres de page tels que la taille du papier et la source.
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 hook spécifiée dans le membre lpfnPagePaintHook.
PSD_ENABLEPAGESETUPHOOK
0x00002000
Active la procédure de hook 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 la taille du papier. Les valeurs durtMargin , rtMinMarginet ptPaperSize membres 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 la taille du papier. Les valeurs durtMargin , rtMinMarginet ptPaperSize membres sont en milliers 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
Provoque l’utilisation des valeurs spécifiées dans le rtMargin membre comme largeur initiale 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
Provoque l’utilisation des 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 sur celles 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 lorsqu’il n’existe aucune 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 à gérer sur DEVMODE et structures DEVNAMES initialisées pour l’imprimante système par défaut. PageSetupDlg renvoie une erreur si hDevNames ou hDevMode n’est pas NULL.

PSD_SHOWHELP
0x00000800
Provoque l’affichage de la boîte de dialogue bouton Aide. 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 pour l’instance d’application ou de module 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 raccordement identifiée par le membre lpfnPageSetupHook membre. Lorsque le système envoie le message WM_INITDIALOG à la procédure de raccordement, 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 raccordement peut utiliser ce pointeur pour obtenir la valeur lCustData.

lpfnPageSetupHook

Type : LPPAGESETUPHOOK

Pointeur vers une procédure de hook 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 hook PagePaintHook qui reçoit WM_PSD_* messages 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 des indicateurs de .

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 de 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 vers 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 la taille du papier.

Si hDevNames et hDevMode ont des handles valides et que le nom de l’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.

Note

L’en-tête commdlg.h définit PAGESETUPDLG comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
d’en-tête commdlg.h (include Windows.h)

Voir aussi

bibliothèque de boîtes de dialogue courante

conceptuelle

DEVMODE

DEVNAMES

MAKEINTRESOURCE

autres ressources

pagePaintHook

PageSetupDlg

pageSetupHook

de référence

WM_INITDIALOG