Structure PAGESETUPDLGW (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 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 qui possède la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, ou il peut avoir la valeur NULL si la boîte de dialogue n’a pas de propriétaire.
hDevMode
Type : HGLOBAL
Handle d’un objet de mémoire globale qui contient une structure DEVMODE . En 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 globale 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. En 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. À la sortie, la boîte de dialogue définit hDevNames sur un handle de mémoire globale 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 retourne, 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 |
---|---|
|
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. |
|
Désactive les contrôles de marge, empêchant l’utilisateur de définir les marges. |
|
Désactive les contrôles d’orientation, empêchant l’utilisateur de définir l’orientation de la page. |
|
Empêche la boîte de dialogue de dessiner le contenu de l’exemple de page. Si vous activez une procédure de crochet PagePaintHook , vous pouvez toujours dessiner le contenu de l’exemple de page. |
|
Désactive les contrôles de papier, empêchant l’utilisateur de définir des paramètres de page tels que le format du papier et la source. |
|
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. |
|
Active la procédure de hook spécifiée dans le membre lpfnPagePaintHook . |
|
Active la procédure de hook spécifiée dans le membre lpfnPageSetupHook . |
|
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. |
|
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é. |
|
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 retourne, la boîte de dialogue définit cet indicateur pour indiquer les unités utilisées. |
|
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 retourne, la boîte de dialogue définit cet indicateur pour indiquer les unités utilisées. |
|
Réservé. |
|
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. |
|
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 au minimum spécifié. Si PSD_MINMARGINS n’est pas spécifié, le système définit les largeurs minimales autorisées par l’imprimante. |
|
Masque et désactive le bouton Réseau . |
|
Empêche le système d’afficher un message d’avertissement en l’absence d’imprimante par défaut. |
|
PageSetupDlg n’affiche pas la boîte de dialogue. Au lieu de cela, il définit les membres hDevNames et hDevMode sur les handles sur les 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. |
|
La boîte de dialogue affiche le 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 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 raccordement identifiée par le membre lpfnPageSetupHook . 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 du 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 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 raccordement 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 pour un objet mémoire contenant un modèle de boîte de dialogue.
Remarques
Si les indicateurs de PSD_INHUNDREDTHSOFMILLIMETERS et de PSD_INTHOUSANDTHSOFINCHES ne sont pas spécifiés, le système interroge la valeur de 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 de 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 le même que celui 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 en tant qu’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. La combinaison 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
Autres ressources
Référence