Red de conocimiento informático - Problemas con los teléfonos móviles - VB VSPrinter importa un archivo emf desde el exterior para configurar la impresión en papel A4 y luego lo guarda como formato de archivo pdf.

VB VSPrinter importa un archivo emf desde el exterior para configurar la impresión en papel A4 y luego lo guarda como formato de archivo pdf.

Cree un PictureBox1 y haga referencia a la API en el formulario. Cuando se obtenga CDN_SELCHANGE, llame a GetFilesName para obtener el archivo seleccionado por el usuario. El código es el siguiente:

Función privada GetFilesName. (hWindow As Long) Como cadena

Atenuar hParent As Long

Atenuar lRetValue As Long

Atenuar theFileName(1024) Como byte

Para i = 0 Para UBound(theFileName)

theFileName(i) = 0

Siguiente

hParent = GetParent(hWindow)

lRetValue = SendMessage(hParent, CDM_GETFILEPATH, 1024, theFileName(0))

GetFilesName = StrConv(theFileName, vbUnicode)

Función final

El método de llamada La API GetOpenFileName es la siguiente:

p>

Función pública ShowOpenFileDlg(hParent As Long) As Long

En caso de error, GoTo lblExit

STRFilter estático como cadena

strFilter = "Todas las imágenes" & Chr(0) & "*.bmp;*.dib;*.jpg;*.gif;*.wmf;*.emf;*.ico;*.cur" & Chr(0) & _

"Mapa de bits (*.bmp;*.dib)" & Chr(0) & "*.bmp;*.dib" & Chr (0) & _

"JPEG (*.jpg )" & Chr(0) & "*.jpg" & Chr(0) & _

"GIF (*.gif)" & Chr(0) & "*.gif" & Chr(0 ) & _

"Metaarchivo (*.wmf;*.emf)" & Chr(0) & "*.wmf;*.emf" & Chr( 0) & _

"Iconos (*.ico;*.cur)" & Chr(0) & "*.ico;*.cur" & Chr (0) & _

"Todos los archivos (*.*) " & Chr(0) & "*.*" & Chr(0) & Chr (0)

FrmPreview.Hide

puntero = GetProcAddr(AddressOf wndProc)

Atenuar MyID siempre

Con openfile

.lStructSize = Len(openfile)

.hwndOwner = hPadre

> .hInstance = App.hInstance

.lpstrFilter = strFilter

.lpstrCustomFilter = ""

.nMaxCustFilter = 0

.nFilterIndex = 0

  .lpstrFile = nombre de archivo

  .nMaxFile = 1023

  .lpstrFileTitle = ""

  .nMaxFileTitle = 0

  .lpstrInitialDir = ""

  .lpstrTitle = ""

  .flags = OFN_ENABLEHOOK + OFN_HIDEREADONLY + OFN_ENABLETEMPLATE + OFN_EXPLORER

  .nFileOffset = 0

  .nFileExtension = 0

  .lpstrDefExt = ""

  .lCustData = 0

  .lpfnHook = puntero

.lpTemplateName = "DLGOPENTEMP"

Terminar con

ShowOpenFileDlg = GetOpenFileName(openfile)

lblExit:

Finalizar función

Módulo de función LLAMADA en el formulario para cargar imágenes en VSPrint, el código de configuración es el siguiente:

'------------------- --Vista previa del informe

VSPrinter1.StartDoc

VSPrinter1.Zoom = 100 'La relación de visualización es 100%

VSPrinter1.RenderControl = Form1.Picture1.hWnd p>

'---------------------Configuración

Con VSPrinter1

'Establecer título

p>

.FontSize = 16

.FontBold = True

.TextAlign = taCenterMiddle

.Paragraph = "Impreso por : Zhang San"

.Footer = "Imprimir fecha: " & Formato(Fecha, "aaaa/mm/dd ") & " No." & ipage & "page,*** " & páginas & "página"

.FontBold = True

.FontSize = 10

.TextAlign = taRightTop

.Paragraph = " "

.FontBold = Falso

.FontSize = 10

Terminar con

VSPrinter1.EndDoc