Trucos Mostrar el diálogo "Preparar página"

Para mostrar el diálogo "Preparar página" (como el del programa WordPad) :

Declaramos en un módulo:
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
Const PSD_RETURNDEFAULT = &H400
Const PSD_DEFAULTMINMARGINS = &H0
Const PSD_DISABLEMARGINS = &H10
Const PSD_DISABLEORIENTATION = &H100
Const PSD_DISABLEPAGEPAINTING = &H80000
Const PSD_DISABLEPAPER = &H200
Const PSD_DISABLEPRINTER = &H20
Const PSD_ENABLEPAGEPAINTHOOK = &H40000
Const PSD_ENABLEPAGESETUPHOOK = &H2000
Const PSD_ENABLEPAGESETUPTEMPLATE = &H8000
Const PSD_ENABLEPAGESETUPTEMPLATEHANDLE = &H20000
Const PSD_INHUNDREDTHSOFMILLIMETERS = &H8
Const PSD_INTHOUSANDTHSOFINCHES = &H4
Const PSD_INWININIINTLMEASURE = &H0
Const PSD_MARGINS = &H2
Const PSD_MINMARGINS = &H1
Const PSD_NOWARNING = &H80
Const PSD_SHOWHELP = &H800
Declare Function PAGESETUPDLG Lib "comdlg32.dll" Alias "PageSetupDlgA" (pPagesetupdlg As PAGESETUPDLG) As Long

Y ahora para sacar el diálogo :

Dim l As Long, page As PAGESETUPDLG
Dim hDevNames As Long, hDevMode As Long

page.lStructSize = 84
page.hwndOwner = Me.hwnd
page.hDevNames = 0&
page.hDevMode = 0&
' para que nos devuelva las variables hDevNames y hDevMode
' inicializadas para la impresora por defecto
page.flags = PSD_RETURNDEFAULT
l = PAGESETUPDLG(page)
page.flags = 0
' sacamos el diálogo
l = PAGESETUPDLG(page)

Podemos usar las constantes vistas anteriormente para configurar qué opciones queremos del diálogo.
En la variable page nos devuelve lo que haya seleccionado el usuario.



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com