• Sábado 27 de Abril de 2024, 07:06

Autor Tema:  Imprimir En Masm32  (Leído 2623 veces)

Wiliam

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Imprimir En Masm32
« en: Miércoles 18 de Agosto de 2004, 16:06 »
0
Hola a todos, estoy programando en MASM32 (apenas estoy aprendiendo) y tengo un programa que dibuja una grafica en la ventana, pero ahora mi mastro quiere que el porgrama imprima esa grafica en una hoja de papel tamaño carta. Ya busque en la API de windows pero realmente no encontre nada, y quisiera saber si alguien pude de favor ponerme un ejemplo o no se algun enlace donde se explique algo de este tema, el problema en si consiste en imprimir el contenido del area cliente de la ventana, y no se si se pueda ajustar a  tamaño carta, bueno en realidad no se mucho de esto todavia.

De antemano muchas gracias.  :hola:

ORDENALPHABETIX

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Imprimir En Masm32
« Respuesta #1 en: Sábado 21 de Agosto de 2004, 13:09 »
0
Buenas,


          Pues busca bien, porque en la API esta la respuesta. Busca "StartDoc" y "EndDoc". Hay mas funciones relacionadas con la impresion, pero esas son las importantes.

          En resumen, el imprimir no es mas que realizar una imagen y direccionarla a la impresora. La imagen la has de generar en un DC compatible con la impresora. Si has realizado el grafico, creo que esto no te sonara a chino, si no, avisa.


P.D.: Aqui tiene un link al foro www.masmforum.com sobre imprimir una ventana completa, que si revisas el codigo que aportan, podras desarroyar el tuyo propio.

http://www.masmforum.com/viewtopic.php?t=3...highlight=print

Wiliam

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Imprimir En Masm32
« Respuesta #2 en: Viernes 27 de Agosto de 2004, 16:52 »
0
Hola, primeramente muchas gracias por contestar.  No habia tenido tiempo de decirte como me fue por la escuela, las tareas tu sabes. Pero bueno ya intente hacer lo que tu me dijiste pero no entiendo muy bien la funcion Startdoc. Mas concretamente no se llenar la estructura DOCINFO, lo del DC es lo mismo que para poner el bitmap en el area cliente, o no?. Bueno de todos modos espero que puedas ponerme una pista por favor. conrespecto a lo del programa que viene en el foro esta muy bien, imprime la ventana pero no le entiendo nada  :( . Bueno muchas gracias por tu atencion.

Wiliam

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Imprimir En Masm32
« Respuesta #3 en: Viernes 27 de Agosto de 2004, 17:43 »
0
Aqui pongo un poco de codigo, por si alguien sabe que estoy haciendo mal que por cierto casi estoy seguro que es por que pongo a null la estructura docinfo, pero pues no supe llenarla.  :P

LOCAL pdc:HDC
LOCAL mempdc:HDC
LOCAL region:HRGN

.ELSEIF eax==104   // se selecciono el menu imprimir
        invoke CreateDC,NULL,addr printername,NULL,NULL
        mov pdc,eax
        invoke CreateCompatibleDC,pdc
        mov mempdc,eax
        invoke CreateRectRgn,0,0,300,300
        mov region,eax
        invoke SelectObject,mempdc,region
        invoke BitBlt,pdc,0,0,300,300,mempdc,0,0,SRCCOPY
        invoke StartDoc,pdc,NULL
        invoke EndDoc,pdc
        invoke DeleteDC,mempdc

Si se ve que mande a imprimir a la impresora seleccionada pero me cancela la impresion. Bueno hasta luego y gracias