Sunteți pe pagina 1din 5

Este es un cdigo fuente de un editor de texto muy simple tipo Bloc de notas.

El ejemplo es de lo mas fcil, ya que utiliza el control RichTextBox , y en realidad este control hace casi todo por si solo, por ejemplo para leer un archivo y cargarlo en el RichTextBox se utiliza el mtodo LoadFile, y para Guardar en disco el Mtodo SaveFile ( En el cdigo est mas o menos comentado los parmetros de dichas funciones y mtodos). El ejemplo tiene opciones para Crear , Abrir y Guardar los archivos en varias extenciones ( las soportadas por el RichTextBox). Los comandos clsicos de Cortar , Copiar, Pegar texto etc... Tambin para Colorear la fuente seleccionada en el control, Imprimir el documento, Aplicar algunos Atributos al texto ( Negrita, subrayado, Cursiva), en fin, se le pueden agregar infinidad de opciones extras. Nota: Lo ideal es crearle un men clsico " Men Archivo ", " Men Edicin " etc..., y los botones hacerlos con un Toolbar por ejemplo, ya sea utilizando el control toolBar del visual basic o fabricandose una barra propia, ya que el ejemplo solo utiliza botones CommandButton para las opciones, para que sea un poco mas entendible. Y otra cosa tambin usar un formulario MDI para tener multiples documentos abiertos en la misma aplicacin

A continuacin se describen los pasos para crear el ejemplo:


Agregar los siguiente controles en un formulario:

Un control Commondialog llamado Commondialog Un control RichTextBox llamado RichTextBox Un CommandButton llamado cmdOpcion, y en la propiedad index colocarle el valor 0, para formar un array y poder crear los dems en tiempo de ejecucin

Nota: Colocar los controles en cualquier posicin de la pantalla y no colocarles nada en el Caption ni el tamao ni nada, ya que se hace por cdigo, es decir se les asigna el caption y se redimensionan en tiempo de ejecucin .

Pegar el cdigo en el formulario Texto planoImprimir 1. Option Explicit 2. 3. 4. Const FILTRO_EXTENSIONES As String = "Archivos de texto (txt)|*.txt|" & _ 5. "Rich Text Formato (RTF)|*.rtf|" & _ 6. "Archivos INI|*.ini|Archivos HTML|" & _ 7. "*.htm|Todos los archivos|*.*" 8. 9. Private Sub Iniciar() 10. Dim i As Integer 11. 12. 'Acomodamos el primer botn en la esquina superior izquierda 13. cmdOpcion(0).Move 50, 10, 1000, 250 14. 15. For i = 1 To 10 16. Load cmdOpcion(i) 17. cmdOpcion(i).Visible = True 18. Next 19. 20. 'Caption de los CommandButton para las opciones 21. With cmdOpcion 22. .Item(0).Caption = "Nuevo" 23. .Item(1).Caption = "Abrir" 24. .Item(2).Caption = "Guardar" 25. .Item(3).Caption = "Cortar" 26. .Item(4).Caption = "Copiar" 27. .Item(5).Caption = "Pegar" 28. .Item(6).Caption = "Bold" 29. .Item(7).Caption = "Italic" 30. .Item(8).Caption = "Underlined" 31. .Item(9).Caption = "Imprimir" 32. .Item(10).Caption = "Color" 33. End With 34. 35. ' Va posicionando un botn al lado del otro 36. For i = 1 To cmdOpcion.Count - 1 37. cmdOpcion(i).Move cmdOpcion(i - 1).Width * i, 10, 1000, 250 38. Next 39. End Sub 40. 41. Private Sub cmdOpcion_Click(Index As Integer) 42. On Error GoTo men 43.

44. Dim ret As VbMsgBoxResult, cnt As Long 45. 46. Select Case Index 47. ' crear un Nuevo archivo 48. ''''''''''''''''''''''''' 49. Case 0 50. ret = MsgBox("Guardar el archivo?", vbQuestion + vbYesNo, App.Title) 51. If ret = vbYes Then 52. RichTextBox.Text = "" 53. 'guardamos el archivo 54. GuardarArchivo 55. End If 56. 'Limpiamos el RichTextBox 57. RichTextBox.Text = "" 58. 59. 'Para Abrir un Archivo con el CommonDialog 60. ''''''''''''''''''''''''''''''''''''''''''''' 61. Case 1 62. Call Abrir_Archivo 63. 'Para Guardar un Archivo 64. ''''''''''''''''''''''''''' 65. Case 2 66. Call GuardarArchivo 67. 'Opcin Para cortar el Texto del RichTexBox Seleccionado 68. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 69. Case 3 70. 'Pegamos en el portapapeles de windows con ClipBoard 71. Clipboard.SetText RichTextBox.SelText 72. 'Eliminamos lo seleccionado en el RichTextBox 73. RichTextBox.SelText = "" 74. 'Copiar al Clipboard 75. ''''''''''''''''''''''''' 76. Case 4 77. Clipboard.SetText RichTextBox.SelText 78. 'Pegar el contenido del portapapeles en el RichTextBox 79. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 80. Case 5 81. RichTextBox.SelText = Clipboard.GetText 82. 'Texto en negrita con la propiedad SelBold 83. '''''''''''''''''''''''''''''''''''''''''''' 84. Case 6 85. RichTextBox.SelBold = Not RichTextBox.SelBold 86. ' Aplica Italic al texto seleccionado 87. '''''''''''''''''''''''''''''''''''''''' 88. Case 7 89. RichTextBox.SelItalic = Not RichTextBox.SelItalic 90. ' Aplica Underline al texto seleccionado

91. ''''''''''''''''''''''''''''''''''''''''' 92. Case 8 93. ' Texto en cursiva 94. RichTextBox.SelUnderline = Not RichTextBox.SelUnderline 95. ' Imprimir el contenido del RichTextBox 96. ''''''''''''''''''''''''''''''''''''''''' 97. Case 9 98. 'Titulo del dilogo Imprimir 99. CommonDialog.DialogTitle = "Seleccionar impresora" 100. ' Abre el commondialog para seleccionar impresora 101. CommonDialog.ShowPrinter 102. ' imprimimos el archivo 103. RichTextBox.SelPrint CommonDialog.PrinterDefault, rtfText 104. 105. 'Color del texto 106. '''''''''''''''''''''' 107. Case 10 108. On Error Resume Next 109. CommonDialog.DialogTitle = "Seleccionar color para el texto" 110. 'Abrimos el commondialog 111. CommonDialog.ShowColor 112. 'Establecemos el color en el Texto seleccionado del RichTextBox 113. RichTextBox.SelColor = CommonDialog.Color 114. End Select 115. 116. Exit Sub 117. men: 118. If Err.Number = 424 Then Resume Next 119. End Sub 120. 121. '* Subrutia para guardar el archivo en disco 122. ''''''''''''''''''''''''''''''''''''''''''''''''''''''' 123. Private Sub GuardarArchivo() 124. 125. 'Titulo del cuadro de dilogo y otras opciones 126. With CommonDialog 127. .DialogTitle = "Guardar Archivo" 128. .Filter = FILTRO_EXTENSIONES 129. 130. 'Abre el Common Dialog guardar 131. .ShowSave 132. If .FileName = "" Then Exit Sub 133. If .FilterIndex = 2 Then 134. RichTextBox.SaveFile .FileName 135. Else 136. RichTextBox.SaveFile .FileName, rtfText 137. End If

138. 139. 140. 141. 142. 143. 144. 145. 146. 147. ) 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176.

End With End Sub '* Sub para Abrir un archivo del disco ''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub Abrir_Archivo() Dim ret As VbMsgBoxResult If RichTextBox <> "" Then ret = MsgBox(" Guardar el archivo ?", vbQuestion + vbYesNo, App.Title 'Si elegimos si, entonces guardamos el archivo If ret = vbYes Then GuardarArchivo End If With CommonDialog .DialogTitle = "Abrir Archivo" ' Extenciones del Commondialog .Filter = FILTRO_EXTENSIONES ' Abrimos el Commondialog .ShowOpen If .FileName = "" Then Exit Sub 'Si es un vbNullstring salimos ' Cargamos el fichero en el RichTextBox con el mtodo LoadFile RichTextBox.LoadFile .FileName End With End Sub

Private Sub Form_Load() Call Iniciar End Sub Private Sub Form_Resize() 'Redimensionamos el control RichTextBox al tamao _ del formulario usando el mtodo Move del mismo. RichTextBox.Move 0, cmdOpcion(0).Top + cmdOpcion(0).Height, _ ScaleWidth, ScaleHeight End Sub

S-ar putea să vă placă și