Hola, espero que realmente puedas ayudarme, estoy manejando visual basic 5 y estoy utilizando el treeview ya lo puedo generar y ponerle los nodos que yo quiera y los títulos, pero lo que quisiera que me ayudaras es a como imprimir un treeview, osea, al presionar un botón quisiera que el contenido del treeview que ya genere se imprima. Por tu atención y dedicación aunque sea para leer este mail gracias.
Respuesta de orande
1
1
orande, Amplios conocimientos y experiencia en Visual Basic, SQL Server y...
Para probar, pon un botón con este código: Private Sub Command1_Click() If fbImprimirTreeView(TreeView1.Nodes("A0"), Empty) Then MsgBox "Correcto" End If End Sub Private Function fbImprimirTreeView(ByVal miNodo As MSComctlLib.Node, ByVal Margen As Variant) As Boolean On Error GoTo TratarError Debug.Print Margen & miNodo.Text If miNodo.Children > 0 Then If Not fbImprimirTreeView(miNodo.Child, Margen & vbTab) Then Exit Function End If Set miNodo = miNodo.Next If Not (miNodo Is Nothing) Then If Not fbImprimirTreeView(miNodo, Margen) Then Exit Function End If fbImprimirTreeView = True TratarError: If Err.Number <> 0 Then MsgBox Err.Description, vbExclamation, Err.Source Err.Clear End If End Function Tienes que substituir el nodo "A0" por el primer nodo de tu árbol (o utiliza el SelectedItem para imprimir a partir del nodo seleccionado). Ahora mismo, si lo pruebas y no hay errores, tendrás el árbol impreso en el inmediato (Ctrl+G). He utilizado el vbTab para hacer un margen, pero al imprimir se puede mejorar. Para imprimir substituye el Debug.Print por Printer.Print y el codigo del Command1: Private Sub Command1_Click() If fbImprimirTreeView(TreeView1.Nodes("A0"), Empty) Then Printer.EndDoc Else Printer.KillDoc End If End Sub