UDF > WinAPIEx > Dialog >


_WinAPI_PageSetupDlg

Crée une boîte de dialogue Page Setup qui permet à l'utilisateur de spécifier les attributs de la page à imprimer

#include <WinAPIDlg.au3>
_WinAPI_PageSetupDlg ( ByRef $tPAGESETUPDLG )

Paramètre

$tPAGESETUPDLG La structure $tagPAGESETUPDLG qui contient des informations utilisées pour initialiser la boîte de dialogue Page Setup.
La structure reçoit des informations sur les sélections de l'utilisateur lorsque la fonction retourne, et doit être initialisé avant l'appel de fonction.
(Voir MSDN pour plus d'informations)

Valeur de retour

Succès: Retourne True.
Échec: Retourne False et définit @error <> 0, @extended contient le code d'erreur de la boîte de dialogue.

Remarques

Notez que les valeurs des membres "hDevMode" et "hDevNames" dans $tagPAGESETUPDLG peuvent changer quand ils sont passés dans _WinAPI_PageSetupDlg(). C'est parce que ces membres sont remplis à la fois en entrée et en sortie.

À partir de Windows Vista, _WinAPI_PageSetupDlg() ne contient pas le bouton "Printer". Pour basculer la sélection de l'imprimante, utilisez _WinAPI_PrintDlg() ou _WinAPI_PrintDlgEx().

En relation

_WinAPI_PrintDlg, _WinAPI_PrintDlgEx

Voir aussi

Consultez PageSetupDlg dans la librairie MSDN.

Exemple

#include <APIDlgConstants.au3>
#include <Memory.au3>
#include <WinAPIDlg.au3>

; Crée la structure PageSetupDlg et définit les valeurs de marges initiales à 10,00 mm
Local $tPAGESETUPDLG = DllStructCreate($tagPAGESETUPDLG)
DllStructSetData($tPAGESETUPDLG, 'Size', DllStructGetSize($tPAGESETUPDLG))
DllStructSetData($tPAGESETUPDLG, 'Flags', BitOR($PSD_INHUNDREDTHSOFMILLIMETERS, $PSD_MARGINS))
DllStructSetData($tPAGESETUPDLG, 'MarginLeft', 10 * 100)
DllStructSetData($tPAGESETUPDLG, 'MarginTop', 10 * 100)
DllStructSetData($tPAGESETUPDLG, 'MarginRight', 10 * 100)
DllStructSetData($tPAGESETUPDLG, 'MarginBottom', 10 * 100)

; Crée une boîte de dialogue Page Setup
If Not _WinAPI_PageSetupDlg($tPAGESETUPDLG) Then
    Exit
EndIf

; Affiche les résultats
ConsoleWrite('Largeur papier: '& DllStructGetData($tPAGESETUPDLG, 'PaperWidth') / 100 & 'mm'& @CRLF)
ConsoleWrite('Hauteur papier: '& DllStructGetData($tPAGESETUPDLG, 'PaperHeight') / 100 & 'mm'& @CRLF)
ConsoleWrite('Marge gauche: '& DllStructGetData($tPAGESETUPDLG, 'MarginLeft') / 100 & 'mm'& @CRLF)
ConsoleWrite('Marge haute: '& DllStructGetData($tPAGESETUPDLG, 'MarginTop') / 100 & 'mm'& @CRLF)
ConsoleWrite('Marge droite: '& DllStructGetData($tPAGESETUPDLG, 'MarginRight') / 100 & 'mm'& @CRLF)
ConsoleWrite('Marge basse: '& DllStructGetData($tPAGESETUPDLG, 'MarginBottom') / 100 & 'mm'& @CRLF)

; Libère les objets qui contiennent les structures DEVMODE et DEVNAMES
_MemGlobalFree(DllStructGetData($tPAGESETUPDLG, 'hDevMode'))
_MemGlobalFree(DllStructGetData($tPAGESETUPDLG, 'hDevNames'))