Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

cuadro dialogo impresora

Estas en el tema de cuadro dialogo impresora en el foro de Visual Basic clásico en Foros del Web. Hola, tengo esta rutina para imprimir un listado, funciona, pero tengo 2 problemas, uno es que no me muestra la primera palabara del encabezado de ...
  #1 (permalink)  
Antiguo 28/04/2008, 11:43
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
cuadro dialogo impresora

Hola, tengo esta rutina para imprimir un listado, funciona, pero tengo 2 problemas, uno es que no me muestra la primera palabara del encabezado de la lista, y otra y mas complicada es que necesito el cuadro de dialogo para imprimir de un impresora que yo seleccione
a ver quien me puede ayudar.... gracias de antemano

'A esta función se le envía el control LV a imprimir
Public Sub Imprimir_ListView(ListView As ListView)

Dim i As Integer, AnchoCol As Single, Espacio As Integer, X As Integer

AnchoCol = 0
'Recorremos desde la primer columna hasta la última para almacenar el ancho total
For i = 1 To Lv1.ColumnHeaders.Count
AnchoCol = AnchoCol + Lv1.ColumnHeaders(i).Width
Next

Espacio = 0

'Encabezado de ejemplo
Printer.Print "Listado de Tipos de Comprobantes "

Printer.Print

'Imprime una línea
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)

With ListView

'Acá se imprimen los encabezados del ListView
For i = 1 To .ColumnHeaders.Count
Espacio = Espacio + CInt(.ColumnHeaders(i).Width * Printer.ScaleWidth / AnchoCol)
Printer.Print Lv1.ColumnHeaders(i).Text;
Printer.CurrentX = Espacio
Next

Printer.Print

'Imprime una línea
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)

'Imprime Línea en blanco
Printer.Print

'Este bucle recorre los items y subitems del ListView y los imprime
For i = 1 To .ListItems.Count
Espacio = 0

Set Item = .ListItems(i)
Printer.Print Item.Text;
'Recorremos las columnas
For X = 1 To .ColumnHeaders.Count - 1
Espacio = Espacio + CInt(.ColumnHeaders(X).Width * Printer.ScaleWidth / AnchoCol)
Printer.CurrentX = Espacio
Printer.Print Item.SubItems(X);
Next

'Otro espacio en blanco
Printer.Print
Next

End With

Printer.Print
'Imprime la línea de final de impresión
Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
Printer.Print
'Texto del pie
Printer.Print " Fin de Listado "

'Comenzamos la impresión
Printer.EndDoc
MsgBox ("Impresion en Progreso, Por Favor Aguarde")
End Sub

End Sub
  #2 (permalink)  
Antiguo 28/04/2008, 11:48
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Re: cuadro dialogo impresora

Con e objeto commondialogs si no mal recuerdo obtienes el de la impresora. Intenta dejar una linea en blanco antes de la primera palabra a ver si eso soluciona el problema de no mostrartela.
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #3 (permalink)  
Antiguo 28/04/2008, 12:45
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Re: cuadro dialogo impresora

hola, le agregue el commondialog.showprinter y me pone la lista, pero le ponga cancelar o imprimir me lo imprime igual
  #4 (permalink)  
Antiguo 29/04/2008, 14:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Re: cuadro dialogo impresora

Cita:
Iniciado por analoyra Ver Mensaje
hola, le agregue el commondialog.showprinter y me pone la lista, pero le ponga cancelar o imprimir me lo imprime igual
Puedes cambiar la propiedad CancelError del Dialog a True. Así, cuando se seleccione Cancelar producirá un error que puedes controlar con:
Código:
 
On Error Resume Next
Dialog.ShowPrinter
If Err > 0 Then Exit Sub
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 29/04/2008, 16:44
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: cuadro dialogo impresora

Hola,lo podes mostrar con api's tambien,asi no usas un control ocx mas...claro que es mas largo..

Commondialog de imprimir y configurar página

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #6 (permalink)  
Antiguo 29/04/2008, 16:46
 
Fecha de Ingreso: abril-2008
Mensajes: 425
Antigüedad: 16 años
Puntos: 2
Re: cuadro dialogo impresora

Buenisimo., funciono, muchas gracias!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:37.