How to show Page Setup Dialog using API
Posted on January 4, 2009
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 'System & API - How to show Page Setup Dialog using API Option Explicit 'PageSetupDlg flags Public Const PSD_DEFAULTMINMARGINS = &H0 Public Const PSD_DISABLEMARGINS = &H10 Public Const PSD_DISABLEORIENTATION = &H100 Public Const PSD_DISABLEPAGEPAINTING = &H80000 Public Const PSD_DISABLEPAPER = &H200 Public Const PSD_DISABLEPRINTER = &H20 Public Const PSD_ENABLEPAGEPAINTHOOK = &H40000 Public Const PSD_ENABLEPAGESETUPHOOK = &H2000 Public Const PSD_ENABLEPAGESETUPTEMPLATE = &H8000 Public Const PSD_ENABLEPAGESETUPTEMPLATEHANDLE = &H20000 Public Const PSD_INHUNDREDTHSOFMILLIMETERS = &H8 Public Const PSD_INTHOUSANDTHSOFINCHES = &H4 Public Const PSD_INWININIINTLMEASURE = &H0 Public Const PSD_MARGINS = &H2 Public Const PSD_MINMARGINS = &H1 Public Const PSD_NOWARNING = &H80 Public Const PSD_RETURNDEFAULT = &H400 Public Const PSD_SHOWHELP = &H800 Type POINTAPI x As Long y As Long End Type Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Type PAGESETUPDLG lStructSize As Long hWndOwner As Long hDevMode As Long hDevNames As Long flags As Long ptPaperSize As POINTAPI rtMinMargin As RECT rtMargin As RECT hInstance As Long lCustData As Long lpfnPageSetupHook As Long lpfnPagePaintHook As Long lpPageSetupTemplateName As String hPageSetupTemplate As Long End Type Declare Function PAGESETUPDLG Lib "comdlg32.dll" Alias "PageSetupDlgA" _ (pPagesetupdlg As PAGESETUPDLG) As Long Global PSD As PAGESETUPDLG 'Use the OR operator for multiple flags 'ex: nFlags = PSD_DEFAULTMINMARGINS Or PSD_RETURNDEFAULT Public Function ShowPageSetupDlg(ByVal hWndOwner As Long, Optional ByVal nFlags As Long) As Long PSD.lStructSize = Len(PSD) PSD.hWndOwner = hWndOwner PSD.hInstance = App.hInstance PSD.flags = nFlags If PAGESETUPDLG(PSD) Then ShowPageSetupDlg = 0 Else ShowPageSetupDlg = -1 End If End Function |