RichTextBox (Control)

El control RichTextBox permite al usuario escribir y modificar texto al tiempo que proporciona características de formato más avanzadas que el control TextBox convencional.

Sintaxis

RichTextBox

Comentarios

El control RichTextBox proporciona una serie de propiedades que puede usar para aplicar formato a cualquier parte del texto de un control. Para cambiar el formato del texto, debe seleccionarlo previamente. Sólo puede asignar formato de carácter y de párrafo al texto seleccionado. Mediante estas propiedades puede poner el texto en negrita o en cursiva, cambiar el color, y crear superíndices y subíndices. También puede ajustar el formato de párrafo si establece sangrías izquierda y derecha, así como sangrías francesas.

El control RichTextBox también abre y guarda archivos con formato RTF y texto ASCII normal. Puede usar métodos del control (LoadFile y SaveFile) para leer y escribir archivos directamente o usar propiedades del control como SelRTF y TextRTF junto con las instrucciones de entrada y salida de archivos de Visual Basic.

El control RichTextBox admite la incrustación de objetos mediante la colección OLEObjects. Cada objeto insertado en el control está representado por un objeto OLEObject. Esto le permite crear documentos con el control que contenga otros documentos u objetos. Por ejemplo, puede crear un documento que tenga incrustada una hoja de cálculo de Microsoft Excel o un documento de Microsoft Word o cualquier otro objeto OLE que esté registrado en su sistema. Para insertar objetos en el control RichTextBox, simplemente arrastre un archivo (desde el Explorador de Windows 95 por ejemplo) o una parte resaltada de un archivo utilizada en otra aplicación (como Microsoft Word) y coloque el contenido directamente en el control.

El control RichTextBox admite el Portapapeles y permite arrastrar y colocar objetos OLE. Cuando se pega un objeto desde el Portapapeles, se inserta en el punto de inserción actual. Cuando se arrastra un objeto y se coloca en el control, el punto de inserción seguirá al cursor del mouse (ratón) hasta que se suelte el botón del mouse, haciendo que se inserte el objeto. Este comportamiento es el mismo que el de Microsoft Word.

Para imprimir todo o parte de un texto de un control RichTextBox, utilice el método SelPrint.

Puesto que RichTextBox es un control enlazado a datos, puede enlazarlo con un control Data a un campo Binary o Memo en una base de datos de Microsoft Access o un campo de parecida capacidad de otra base de datos (como el campo de tipo de datos TEXT en SQL Server).

El control RichTextBox admite la mayoría de las propiedades, eventos y métodos utilizados con el control TextBox estándar: MaxLength, MultiLine, ScrollBars, SelLength, SelStart y SelText. Las aplicaciones que ya utilizan controles TextBox pueden adaptarse fácilmente para usar los controles RichTextBox. Sin embargo, el control RichTextBox no tiene el mismo límite de capacidad de 64 KB del control TextBox convencional.

Nota para la distribución Para usar el control RichTextBox en su aplicación, deberá agregar el archivo Richtx32.ocx al proyecto. Cuando distribuya la aplicación, instale el archivo Richtx32.ocx en el directorio SYSTEM de Microsoft Windows del usuario. Para obtener más información acerca de cómo agregar un control personalizado a un proyecto, vea el Manual del programador.


No se encuentra el tema

No se halló el tema correspondiente. A continuación enumeramos algunas posibles razones y sus soluciones:

  • El archivo (.chm) que contiene el tema de destino no se encuentra en la ubicación esperada.

    Solución: vuelva a ejecutar la instalación de la Biblioteca MSDN.

  • El archivo (.chm) que contiene el tema actual o el de destino no está actualizado y el vínculo ya no es válido.

    Solución: instale la última versión de la Biblioteca MSDN.

  • El CD de la Biblioteca MSDN no está en la unidad de CD-ROM.

    Solución: inserte el CD en la unidad.


OLEObjects (Colección)

Una colección OLEObjects contiene una colección de objetos OLEObject.

Sintaxis

objeto.OLEObjects(índice)

objeto.OLEObjects.Item(índice)

La sintaxis de la colección OLEObjects consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | El valor de las propiedades Index o Key que identifican de manera exclusiva al objeto OLEObject.

Comentarios

Todos los objetos OLE incrustados creados en el control RichTextBox están representados en la colección OLEObjects. Puede agregar manualmente objetos a la colección OLEObjects en tiempo de diseño mediante el método Add o si arrastra un objeto desde el Explorador de Windows hasta el control RichTextBox.

La colección OLEObjects es una colección estándar y admite los métodos Add, Item y Remove, así como la propiedad Count.


Códigos RTF compatibles

El control RichTextBox reconoce los siguientes códigos RTF (Formato de texto enriquecido). El control pasa por alto los demás códigos RTF al cargar el texto.

Código RTF | Descripción | Código RTF | Descripción
- | OptionalHyphen | objcropl | CropLeft
\n | EndParagraph | objcropr | CropRight
\r | EndParagraph | objcropt | CropTop
_ | NonBreakingHyphen | objdata | ObjectData
| | FormulaCharacter | object | Object
~ | NonBreakingSpace | objemb | ObjectEmbedded
ansi | CharSetAnsi | objh | Height
b | Bold | objicemb | ObjectMacICEmbedder
bin | BinaryData | objlink | ObjectLink
blue | ColorBlue | objname | ObjectName
bullet | Carácter ANSI 149 | objpub | ObjectMacPublisher
cb | ColorBackground | objscalex | ScaleX
cell | Cell | objscaley | ScaleY
cf | ColorForeground | objsetsize | ObjectSetSize
colortbl | ColorTable | objsub | ObjectMacSubscriber
cpg | CodePage | objw | Width
deff | DefaultFont | par | EndParagraph
deflang | DefaultLanguage | pard | ParagraphDefault
deftab | DefaultTabWidth | pc | CharSetPc
deleted | Deleted | pca | CharSetPs2
dibitmap | PictureWindowsDIB | piccropb | CropBottom
dn | Down | piccropl | CropLeft
dy | TimeDay | piccropr | CropRight
emdash | Carácter ANSI 151 | piccropt | CropTop
endash | Carácter ANSI 150 | pich | Height
f | FontSelect | pichgoal | DesiredHeight
fbidi | FontFamilyBidi | picscalex | ScaleX
fchars | FollowingPunct | picscaley | ScaleY
fcharset | CharSet | pict | Picture
fdecor | FontFamilyDecorative | picw | Width
fi | IndentFirst | picwgoal | DesiredWidth
field | Field | plain | CharacterDefault
fldinst | FieldInstruction | pmmetafile | PictureOS2Metafile
fldrslt | FieldResult | pn | ParaNum
fmodern | FontFamilyModern | pnindent | ParaNumIndent
fname | RealFontName | pnlvlblt | ParaNumBullet
fnil | FontFamilyDefault | pntext | ParaNumText
fontemb | FontEmbedded | pntxta | ParaNumAfter
fontfile | FontFile | pntxtb | ParaNumBefore
fonttbl | FontTable | protect | Protect
footer | NullDestination (Pie de página) | qc | AlignCenter
footerf | NullDestination (Pie de página, primero) | ql | AlignLeft
footerl | NullDestination (Pie de página, izquierdo) | qr | AlignRight
footerr | NullDestination (Pie de página, derecho) | rdblquote | Carácter ANSI 34
footnote | NullDestination (Nota al pie) | red | ColorRed
fprq | Pitch | result | ObjectResult
froman | FontFamilyRoman | revauth | RevAuthor
fs | FontSize | revised | Revision
fscript | FontFamilyScript | ri | IndentRight
fswiss | FontFamilySwiss | row | Row
ftech | FontFamilyTechnical | rquote | Carácter ANSI 39
ftncn | NullDestination (Nota al pie cont.) | rtf | Rtf
ftnsep | NullDestination (Nota al pie separ) | rtlch | RightToLeftChars
ftnsepc | NullDestination (Nota al pie cont. separ) | rtldoc | RightToLeftDocument
green | ColorGreen | rtlmark | DisplayRightToLeft
header | NullDestination (Encabezado) | rtlpar | RightToLeftParagraph
headerf | NullDestination (Encabezado, primero) | sec | TimeSecond
headerl | NullDestination (Encabezado, izquierdo) | sect | EndSection
headerr | NullDestination (Encabezado, derecho) | sectd | SectionDefault
horzdoc | HorizontalRender | strike | StrikeOut
hr | TimeHour | stylesheet | StyleSheet
I | Italic | sub | Subscript
info | DocumentArea (Campos Info) | super | Superscript
intbl | InTable | tb | TabPosition
lang | Language | tc | NullDestination (Tabla de contenido)
lchars | LeadingPunct | tx | TabPosition
ldblquote | Carácter ANSI 34 | ul | Underline
li | IndentLeft | uld | UnderlineDotted
line | SoftBreak | uldash | UnderlineDash
lquote | Carácter ANSI 39 | uldashd | UnderlineDashDotted
ltrch | LeftToRightChars | uldashdd | UnderlineDashDotDotted
ltrdoc | LeftToRightDocument | uldb | UnderlineDouble
ltrmark | DisplayLeftToRight | ulhair | UnderlineHairline
ltrpar | LeftToRightParagraph | ulnone | StopUnderline
mac | CharSetMacintosh | ulth | UnderlineThick
macpict | PictureQuickDraw | ulw | UnderlineWord
margl | MarginLeft | ulwave | UnderlineWave
marglsxn | SectionMarginLeft | up | Up
margr | MarginRight | v | HiddenText
margrsxn | SectionMarginRight | vertdoc | VerticalRender
min | TimeMinute | wbitmap | PictureWindowsBitmap
mo | TimeMonth | wbmbitspixel | BitmapBitsPerPixel
nocwrap | NoWordBreak | wbmplanes | BitmapNumPlanes
nooverflow | NoOverflow | wbmwidthbytes | BitmapWidthBytes
nosupersub | NoSuperSub | wmetafile | PictureWindowsMetafile
nowwrap | NoWordWrap | xe | NullDestination (entrada de índice)
objautlink | ObjectAutoLink | yr | TimeYear
objclass | ObjectClass | zwj | ZeroWidthJoiner
objcropb | CropBottom | zwnj | ZeroWidthNonJoiner


Constantes del control RichTextBox

Propiedad Appearance

Constante | Valor | Descripción
rtfFlat | 0 | Uniforme. Pinta sin efectos visuales.
rtfThreeD | 1 | (Predeterminado). 3D. Pinta con efectos tridimensionales.

Método Find

Constante | Valor | Descripción
rtfWholeWord | 2 | Determina si una coincidencia se basa en una palabra completa o en parte de una palabra.
rtfMatchCase | 4 | Determina si una coincidencia se basa en el uso de mayúsculas y minúsculas de la cadena especificada además del texto de la cadena.
rtfNoHighlight | 8 | Determina si una coincidencia aparece resaltada en el control RichTextBox.

Métodos Loadfile y Savefile

Constante | Valor | Descripción
rtfRTF | 0 | (Predeterminado) RTF. El archivo cargado debe ser un archivo .rtf válido (método LoadFile) o el contenido del control se guarda en un archivo .rtf (método SaveFile).
rtfText | 1 | Texto. El control RichTextBox carga cualquier archivo de texto (método LoadFile) o el contenido del control se guarda en un archivo de texto (método SaveFile).

Propiedad Mousepointer

Constante | Valor | Descripción
rtfDefault | 0 | (Predeterminado) La forma está determinada por el objeto.
rtfArrow | 1 | Flecha.
rtfCross | 2 | Cruz (cursor en forma de cruz).
rtfIbeam | 3 | Cursor en forma de I.
rtfIcon | 4 | Icono (cuadrado pequeño dentro de un cuadrado).
rtfSize | 5 | Tamaño (flecha de cuatro puntas que señala al norte, sur, este y oeste).
rtfSizeNESW | 6 | Tamaño NE SO (flecha de dos puntas que señala al nordeste y al sudoeste).
rtfSizeNS | 7 | Tamaño N S (flecha de dos puntas que señala al norte y al sur).
rtfSizeNWSE | 8 | Tamaño NO, SE.
rtfSizeEW | 9 | Tamaño EO (flecha de dos puntas que señala al este y al oeste).
rtfUpArrow | 10 | Flecha hacia arriba.
rtfHourglass | 11 | Reloj de arena (espere).
rtfNoDrop | 12 | No colocar.
rtfArrowHourglass | 13 | Flecha y reloj de arena.
rtfArrowQuestion | 14 | Flecha y signo de interrogación.
rtfSizeAll | 15 | Ajustar todo.
rtfCustom | 99 | Icono personalizado especificado por la propiedad MouseIcon.

Propiedad Selalignment

Constante | Valor | Descripción
rtfLeft | 0 | (Predeterminado) Izquierda. El párrafo se alinea a lo largo del margen izquierdo.
rtfRight | 1 | Derecha. El párrafo se alinea a lo largo del margen derecho.
rtfCenter | 2 | Centro. El párrafo se centra entre los márgenes izquierdo y derecho.

Propiedad Scrollbars

Constante | Valor | Descripción
rtfNone | 0 | (Predeterminado) Ninguna.
rtfHorizontal | 1 | Sólo barra de desplazamiento horizontal.
rtfVertical | 2 | Sólo barra de desplazamiento vertical.
rtfBoth | 3 | Barras de desplazamiento horizontal y vertical.


SelChange (Evento, control RichTextBox)

Se produce cuando ha cambiado la selección actual de texto del control RichTextBox o se ha movido el punto de inserción.

Sintaxis

Private Sub objeto_SelChange([índice As Integer])

La sintaxis del evento SelChange consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Un entero que identifica de manera exclusiva a un control si está en una matriz de controles.

Comentarios

Puede usar el evento SelChange para comprobar las distintas propiedades que proporcionan información acerca de la selección actual (como SelBold) de modo que pueda actualizar los botones de una barra de herramientas, por ejemplo.


Ejemplo del evento SelChange

Este ejemplo comprueba el tamaño de la selección actual para ver si deben activarse los comandos de menú para cortar y copiar texto en el Portapapeles. Para probar este ejemplo, sitúe un control RichTextBox y tres controles Menu en un formulario con el fin de crear un menú con comandos para copiar y cortar. Pegue este código en el evento SelChange del control RichTextBox. A continuación, ejecute el ejemplo.

Private Sub RichTextBox1_SelChange()
   If RichTextBox1.SelLength > 0 Then
      EditCutMenu.Enabled = True
      EditCopyMenu.Enabled = True
   Else
      EditCutMenu.Enabled = False
      EditCopyMenu.Enabled = False
   End If
End Sub


Mensajes de error (Control RichTextBox)

Los errores siguientes corresponden al control RichTextBox, que se encuentra en el archivo RichTx32.OCX:

Constante | Valor | Descripción
rtfInvalidProcedureCall | 5 | Llamada a procedimiento no válida.
rtfOutOfMemory | 7 | Memoria insuficiente.
rtfPathFileAccessError | 75 | No es válido o no es posible tener acceso a la ruta de acceso o al nombre de archivo.
rtfInvalidFileFormat | 321 | Formato de archivo no válido.
rtfInvalidPropertyValue | 380 | El valor de la propiedad no es válido.
rtfInvalidPropertyArrayIndex | 381 | El índice de la matriz de propiedades no es válido.
rtfSetNotSupported | 383 | La propiedad es de sólo lectura.
rtfSetNotPermitted | 387 | No se puede establecer la propiedad.
rtfGetNotSupported | 394 | La propiedad es de sólo escritura.
rtfInvalidObjectUse | 425 | Uso no válido del objeto.
rtfDataObjectLocked | 672 | La lista de formatos de DataObject no se puede borrar o expandir fuera del evento OLEStartDrag.
rtfExpectedAnArgument | 673 | Se esperaba al menos un argumento.
rtfFormatNotByteArray | 674 | Los formatos de arrastrar y colocar OLE no intrínsecos que se usan con SetData necesitan datos en una matriz de Byte. GetData puede devolver más bytes que los proporcionados a SetData.
rtfDataNotSetInFormat | 676 | Los datos solicitados no se han proporcionado al objeto DataObject durante el evento OLESetData.
rtfInvalidCharPosition | 32000 | Posición del carácter no válida.
rtfInvalidHdc | 32001 | HDC no válido.
rtfCannotLoadFile | 32002 | No se puede cargar el archivo especificado.
rtfInvalidKeyName | 32005 | El nombre de la clave falta o no es válido.
rtfInvalidClassName | 32006 | El nombre de la clase OLE falta o no es válido.
rtfKeyNotFound | 32007 | La clave no existe.
rtfOLESourceRquired | 32008 | Falta el documento de origen necesario o el nombre de la clase.
rtfNonUniqueKey | 32009 | La clave no es única en la colección.
rtfInvalidObject | 32010 | El objeto no es válido.
rtfProtected | 32011 | No se puede realizar la operación con texto protegido.
rtfOleCreate | 32012 | No se puede crear el objeto.
rtfOleServer | 32013 | No se puede iniciar la aplicación servidora.


Add (Método, colección OLEObjects)

Agrega un objeto OLEObject a una colección OLEObjects.

Sintaxis

objeto.Add índice, clave, docOrigen, clase

La sintaxis del método Add consta de las siguientes partes:

Parte | Descripción
objeto | Requerido. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
índice | Opcional. Un valor de tipo Integer que identifica un miembro de la colección de objetos. Si se proporciona, el nuevo miembro se insertará después del miembro especificado por el índice.
clave | Opcional. Una expresión de cadena única que puede usarse para tener acceso a un miembro de la colección. Los argumentos clave e índice pueden usarse indistintamente con el método Item de la colección para recuperar el objeto OLEObject.
docOrigen | Requerido. El nombre de archivo de un documento utilizado como plantilla para el objeto incrustado. El control RichTextBox no admite la vinculación, por lo que el contenido del archivo debe copiarse dentro del objeto OLEObject. Debe ser una cadena de longitud cero ("") si no especifica ningún documento de origen.
clase | Opcional. El nombre de clase OLE del objeto para incrustar. Este argumento es el ProgID utilizado por OLE en el registro del sistema. Se pasa por alto este argumento si especifica un nombre de archivo en docOrigen.

Comentarios

El siguiente código agrega una hoja de cálculo de Microsoft Excel a un RichTextBox y asigna a su propiedad Key el valor "DatosVentas":

RichTextBox1.OLEObjects.Add , "DatosVentas", , "Excel.Sheet.5"

Cuando se agrega un objeto a la colección, se activa inmediatamente para que el usuario pueda agregar datos a él.


Ejemplo del método Add (Colección OLEObjects)

El siguiente ejemplo presenta un cuadro de diálogo en el que puede buscar un objeto OLEObject (un mapa de bits) para agregarlo a un control RichTextBox. Para probar este ejemplo, coloque un control CommonDialog y un RichTextBox en un formulario y pegue el código en la sección Declaraciones. Ejecute el ejemplo y haga doble clic en el control.

Private Sub RichTextBox1_DblClick()
   With CommonDialog1
      .Filter = ("Mapa de bits (*.bmp)|*.bmp")
      .ShowOpen
   End With
   RichTextBox1.OLEObjects. _
   Add , , CommonDialog1.filename
End Sub


Find (Método)

Busca una cadena específica en el texto de un control RichTextBox.

Sintaxis

objeto.Find(cadena, inicio, fin, opciones)

La sintaxis del método Find consta de las siguientes partes:

Parte | Descripción
objeto | Necesario. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Necesario. Una expresión de cadena que desea buscar en el control.
inicio | Opcional. Un índice de caracteres de tipo Integer que determina dónde comienza la búsqueda. Cada carácter del control tiene un índice entero que lo identifica de forma exclusiva. El primer carácter de texto del control tiene un índice 0.
fin | Opcional. Un índice entero que determina dónde termina la búsqueda.
opciones | Opcional. Una o más constantes utilizadas para especificar características opcionales, como se describe en Valores.

Valores

Los valores para opciones son:

Constante | Valor | Descripción
rtfWholeWord | 2 | Determina si una coincidencia se basa en una palabra completa o en parte de una palabra.
rtfMatchCase | 4 | Determina si una coincidencia se basa en el uso de mayúsculas y minúsculas de la cadena especificada, además del texto de la cadena.
rtfNoHighlight | 8 | Determina si una coincidencia aparece resaltada en el control RichTextBox.

Puede combinar múltiples opciones si utiliza el operador Or.

Comentarios

Si se encuentra el texto buscado, el método Find resalta el texto especificado y devuelve el índice del primer carácter resaltado. Si no se encuentra el texto especificado, el método Find devuelve –1.

Si utiliza el método Find sin la opción rtfNoHighlight aunque la propiedad HideSelection sea True y el control RichTextBox no tenga el enfoque, el control seguirá resaltando el texto encontrado. Los usos posteriores del método Find sólo buscarán el texto resaltado hasta que se mueva el punto de inserción.

El comportamiento de búsqueda del método Find varía según la combinación de valores especificados para los argumentos inicio y fin. Esta tabla describe los comportamientos posibles:

Inicio | Fin | Comportamiento de búsqueda
Especificado | Especificado | Busca desde la ubicación inicial especificada hasta la ubicación final especificada.
Especificado | Omitido | Busca desde la ubicación inicial especificada hasta el final del texto del control.
Omitido | Especificado | Busca desde el punto de inserción actual hasta la ubicación final especificada.
Omitido | Omitido | Busca en la selección actual si el texto está seleccionado o en todo el contenido del control si no hay texto seleccionado.


Ejemplo del método Find

Este ejemplo busca una cadena en un control RichTextBox basándose en una palabra escrita en un control TextBox. Cuando encuentra la cadena especificada, muestra un cuadro de mensajes que indica el número de línea que contiene la palabra especificada. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control TextBox en un formulario. Cargue un archivo en el RichTextBox y pegue este código en la sección Declaraciones generales del formulario. A continuación, ejecute el ejemplo, escriba una palabra en el TextBox y haga clic en el CommandButton.

Private Sub Command1_Click()
   Dim FoundPos As Integer
   Dim FoundLine As Integer
   ' Busca el texto especificado en el control TextBox.
   FoundPos = RichTextBox1.Find(Text1.Text, , , rtfWholeWord)

   ' Muestra un mensaje si ha encontrado el texto.

   If FoundPos <> -1 Then
      ' Devuelve el número de línea que contiene el
      ' texto hallado.
      FoundLine = RichTextBox1.GetLineFromChar(FoundPos)
      MsgBox "Palabra encontrada en la línea " & CStr(FoundLine)
   Else
      MsgBox "Palabra no encontrada."
   End If
End Sub


GetLineFromChar (Método)

Devuelve el número de la línea que contiene una posición de carácter especificado en un control RichTextBox.

Sintaxis

objeto.GetLineFromChar(posCarácter)

La sintaxis del método GetLineFromChar consta de las siguientes partes:

Parte | Descripción
objeto | Requerido. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
posCarácter | Requerido. Un entero largo que especifica el índice del carácter cuya línea desea identificar. El índice del primer carácter del control RichTextBox es 0.

Comentarios

Utilice el método GetLineFromChar para averiguar qué línea del texto de un control RichTextBox contiene una determinada posición de carácter. Es posible que necesite hacerlo porque puede variar el número de caracteres de cada línea, lo que hace muy difícil averiguar qué línea del texto contiene un determinado carácter, identificado por su posición en el texto.


Ejemplo del método GetLineFromChar

Este ejemplo busca una cadena de un control RichTextBox basándose en una palabra especificada en un control TextBox. Cuando encuentra la cadena especificada, muestra un cuadro de mensajes que indica el número de línea que contiene la palabra indicada. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control TextBox en un formulario. Cargue un archivo en el RichTextBox y pegue este código en la sección Declaraciones generales del formulario. A continuación, ejecute el ejemplo, escriba una palabra en el TextBox y haga clic en el CommandButton.

Private Sub Command1_Click()
   Dim FoundPos As Integer
   Dim FoundLine As Integer
   ' Busca el texto especificado en el control TextBox.
   FoundPos = RichTextBox1.Find(Text1.Text, , , rtfWholeWord)

   ' Muestra un mensaje basándose en si se ha encontrado o no el texto.
   If FoundPos <> -1 Then
      ' Devuelve el número de línea que contiene el
      ' texto hallado
      FoundLine = RichTextBox1.GetLineFromChar(FoundPos)
      MsgBox "Palabra encontrada en la línea " & CStr(FoundLine)
   Else
      MsgBox "Palabra no encontrada."
   End If
End Sub


LoadFile (Método)

Carga un archivo .rtf o un archivo de texto en un control RichTextBox.

Sintaxis

objeto.LoadFile nombreRuta, tipoArchivo

La sintaxis del método LoadFile consta de las siguientes partes:

Parte | Descripción
objeto | Requerido. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
nombreRuta | Requerido. Una expresión de cadena que define la ruta de acceso y el nombre del archivo que se va a cargar en el control.
tipoArchivo | Opcional. Un entero o una constante que especifica el tipo de archivo cargado, como se describe en Valores.

Valores

Los valores admitidos para tipoArchivo son:

Constante | Valor | Descripción
rtfRTF | 0 | (Predeterminado) RTF. El archivo cargado debe ser un archivo .rtf válido.
rtfText | 1 | Texto. El control RichTextBox carga cualquier archivo de texto.

Comentarios

Al cargar un archivo con el método LoadFile, el contenido del archivo cargado reemplaza a todo el contenido del control RichTextBox. Esto hace que cambien los valores de las propiedades Text y RTFText.

También puede usar la función Input en Visual Basic y las propiedades TextRTF y SelRTF del control RichTextBox para leer archivos .rtf. Por ejemplo, puede cargar el contenido de un archivo .rtf en el control RichTextBox de este modo:

Open "mitexto.rtf" For Input As 1

RichTextBox1.TextRTF = Strconv(InputB$(LOF(1), 1), vbUnicode)


Ejemplo del método LoadFile

Este ejemplo muestra un cuadro de diálogo para elegir un archivo .rtf y, a continuación, carga ese archivo en un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control CommonDialog en un formulario. Pegue este código en la sección Declaraciones generales del formulario. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   CommonDialog1.Filter = "Archivos de texto enriquecido|*.rtf"
   CommonDialog1.ShowOpen
   RichTextBox1.LoadFile CommonDialog1.Filename, rtfRTF
End Sub


SaveFile (Método)

Guarda en un archivo el contenido de un control RichTextBox.

Sintaxis

objeto.SaveFile(nombreRuta, tipoArchivo)

La sintaxis del método SaveFile consta de las siguientes partes:

Parte | Descripción
objeto | Requerido. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
nombreRuta | Requerido. Una expresión de cadena que define la ruta de acceso y el nombre del archivo que va a recibir el contenido del control.
tipoArchivo | Opcional. Un entero o una constante que especifica el tipo de archivo cargado, como se describe en Valores.

Valores

Los valores admitidos para tipoArchivo son:

Constante | Valor | Descripción
rtfRTF | 0 | (Predeterminado) RTF. El control RichTextBox guarda su contenido como un archivo .rtf.
rtfText | 1 | Texto. El control RichTextBox guarda su contenido como un archivo de texto.

Comentarios

Puede usar la función Write en Visual Basic y las propiedades TextRTF y SelRTF del control RichTextBox para escribir archivos .rtf. Por ejemplo, puede guardar en un archivo .rtf el contenido resaltado de un control RichTextBox de este modo:

Open "mitexto.rtf" For Output As 1

Print #1, RichTextBox1.SelRTF


Ejemplo del método SaveFile

Este ejemplo muestra un cuadro de diálogo para elegir un archivo .rtf en el que guardará el contenido de un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control CommonDialog en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   CommonDialog1.ShowSave
   RichTextBox1.SaveFile CommonDialog1.Filename, rtfRTF
End Sub


SelPrint (Método)

Envía texto con formato de un control RichTextBox a un dispositivo de impresión.

Sintaxis

objeto.SelPrint(hdc)

La sintaxis del método SelPrint consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
hdc | El contexto de dispositivo del dispositivo que va a usar para imprimir el contenido del control.

Comentarios

Si hay texto seleccionado en el control RichTextBox, el método SelPrint sólo enviará el texto seleccionado al dispositivo de destino. Si no hay texto seleccionado, se enviará todo el contenido del control RichTextBox al dispositivo.

El método SelPrint no imprime texto desde el control RichTextBox. En su lugar, envía una copia del texto con formato a un dispositivo que pueda imprimirlo. Por ejemplo, puede enviar el texto al objeto Printer mediante código como éste:

RichTextBox1.SelPrint(Printer.hDC)

Observe que se utiliza la propiedad hDC del objeto Printer para especificar el argumento de contexto de dispositivo del método SelPrint.

Nota Si utiliza el objeto Printer como destino del texto desde el control RichTextBox, deberá inicializar en primer lugar el contexto de dispositivo del objeto Printer; para ello, imprima algo como una cadena de longitud cero.


Ejemplo del método SelPrint

Este ejemplo imprime el texto con formato en un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox, un control CommonDialog y un control CommandButton en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   CommonDialog1.Flags = cdlPDReturnDC + cdlPDNoPageNums
   If RichTextBox1.SelLength = 0 Then
      CommonDialog1.Flags = CommonDialog1.Flags + cdlPDAllPages
   Else
      CommonDialog1.Flags = CommonDialog1.Flags + cdlPDSelection
   End If
   CommonDialog1.ShowPrinter
   Printer.Print ""
   RichTextBox1.SelPrint CommonDialog1.hDC
End Sub


Span (Método)

Selecciona texto en un control RichTextBox basándose en un conjunto de caracteres especificado.

Sintaxis

objeto.Span juegoCaracteres, haciaAdelante, negado

La sintaxis del método Span consta de las siguientes partes:

Parte | Descripción
objeto | Requerido. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
juegoCaracteres | Requerido. Una expresión de cadena que especifica el juego de caracteres que se va a buscar al ampliar la selección, basándose en el valor de negado.
haciaAdelante | Opcional. Una expresión booleana que determina en qué sentido se mueve el punto de inserción, como se describe en Valores.
negado | Opcional. Una expresión booleana que determina si los caracteres de juegoCaracteres definen el conjunto de caracteres de destino o se excluyen del conjunto de caracteres de destino, como se describe en Valores.

Valores

Los valores para haciaAdelante son:

Valor | Descripción
True | (Predeterminado) Selecciona texto desde el punto de inserción actual o desde el principio de la selección actual hacia delante, hacia el final del texto.
False | Selecciona texto desde el punto de inserción actual o el principio de la selección actual hacia atrás, hacia el principio del texto.

Los valores para negado son:

Valor | Descripción
True | Los caracteres incluidos en la selección son los que no aparecen en el argumento juegoCaracteres. La selección se detiene en el primer carácter encontrado que aparece en el argumento juegoCaracteres.
False | (Predeterminado) Los caracteres incluidos en la selección son los que aparecen en el argumento juegoCaracteres. La selección se detiene en el primer carácter encontrado que no aparece en el argumento juegoCaracteres.

Comentarios

El método Span se utiliza principalmente para seleccionar fácilmente una palabra o una frase en el control RichTextBox.

Si el método Span no encuentra los caracteres especificados basándose en los valores de los argumentos, el punto de inserción o la selección actual permanecer sin cambios.

El método Span no devuelve datos.


Ejemplo del método Span

Este ejemplo define un par de métodos abreviados de teclado que selecciona texto en un control RichTextBox hasta el final de una frase (Ctrl-S) o de una palabra (Ctrl-W). Para probar este ejemplo, sitúe un control RichTextBox en un formulario. Pegue este código en el evento KeyUp del control RichTextBox. A continuación, ejecute el ejemplo.

Private Sub RichTextBox1_KeyUp (KeyCode As Integer, Shift As Integer)
   If Shift = vbCtrlMask Then
      Select Case KeyCode
         ' Si Ctrl-S:
         Case vbKeyS
            ' Selecciona hasta el final de la frase.
            RichTextBox1.Span ".?!:", True, True
            ' Amplía la selección para incluir signos de puntuación.
            RichTextBox1.SelLength = RichTextBox1.SelLength + 1
         ' Si Ctrl-W:
         Case vbKeyW
            ' Selecciona hasta el final de la palabra.
            RichTextBox1.Span " ,;:.?!", True, True
      End Select
   End If
End Sub


Upto (Método)

Mueve el punto de inserción hasta el primer carácter (sin incluirlo) que sea miembro del conjunto de caracteres especificado en un control RichTextBox.

Sintaxis

objeto.Upto(juegoCaracteres, haciaAdelante, negado)

La sintaxis del método Upto consta de las siguientes partes:

Parte | Descripción
objeto | Requerido. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
juegoCaracteres | Requerido. Una expresión de cadena que especifica el conjunto de caracteres que se va a buscar al mover el punto de inserción, basándose en el valor de negado.
haciaAdelante | Opcional. Una expresión booleana que determina en qué sentido se mueve el punto de inserción, como se describe en Valores.
negado | Opcional. Una expresión booleana que determina si los caracteres de juegoCaracteres definen el conjunto de caracteres de destino o se excluyen del conjunto de caracteres de destino, como se describe en Valores.

Valores

Los valores de haciaAdelante son:

Valor | Descripción
True | (Predeterminado) Mueve el punto de inserción hacia delante, hacia el final del texto.
False | Mueve el punto de inserción hacia atrás, hacia el principio del texto.

Los valores para negado son:

Valor | Descripción
True | Los caracteres no especificados en el argumento juegoCaracteres se utilizan para mover el punto de inserción.
False | (Predeterminado) Los caracteres especificados en el argumento juegoCaracteres se utilizan para mover el punto de inserción.


Ejemplo del método Upto

Este ejemplo define un par de métodos abreviados de teclado que mueve el punto de inserción de un control RichTextBox hasta el final de una frase (Alt-S) o de una palabra (Alt-W). Para probar este ejemplo, sitúe un control RichTextBox en un formulario. Pegue este código en el evento KeyUp del control RichTextBox. A continuación, ejecute el ejemplo.

Private Sub RichTextBox1_KeyUp (KeyCode As Integer, Shift As Integer)
   If Shift = vbAltMask Then
      Select Case KeyCode
         ' Si Alt-S:
         Case vbKeyS
            ' Mueve el punto de inserción hasta el final de la frase.
               RichTextBox1.Upto ".?!:", True, False
         ' Si Alt-W:
         Case vbkeyW
            ' Mueve el punto de inserción hasta el final de la palabra.
               RichTextBox1.Upto " .?!:", True, False
      End Select
   End If
End Sub


OLEObject (Objeto)

Un objeto OLEObject representa un objeto insertable dentro de un objeto RichTextBox.

Comentarios

El control RichTextBox permite insertar objetos en un archivo RTF. Los objetos insertables están representados por el objeto OLEObject.

Cada objeto OLEObject incrustado cuenta como un carácter en el control RichTextbox. Es decir, cuando se cuenta desde el inicio del control, el objeto ocupará una posición de carácter. El usuario puede resaltar, cortar o copiar los objetos OLE, pero no permiten las propiedades Selxxx (por ejemplo, SelBold, SelItalic, etc.).

Cada objeto acepta un menú contextual que contiene los comandos estándar Cortar, Copiar, Pegar y Eliminar, así como Abrir y Editar. Abrir hará que la aplicación del objeto se abra en su propia ventana para que se pueda modificar el objeto, mientras que Editar hará que el objeto se active en contexto, si admite esta característica.

Puede agregar manualmente objetos OLEObject a la colección OLEObjects en tiempo de ejecución mediante el método Add o si arrastra un objeto desde el Explorador de Windows al control RichTextBox.


AutoVerbMenu (Propiedad, control RichTextBox)

Devuelve o establece un valor que determina si se muestra un menú emergente que contiene los verbos de los objetos seleccionados cuando el usuario hace clic en el objeto OLE con el botón secundario del mouse (ratón).

Sintaxis

objeto.AutoVerbMenu [ = valor ]

La propiedad AutoVerbMenu consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un control RichTextBox.
valor | Una expresión booleana que especifica si se muestra un menú, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Valor | Descripción
True | Se muestra un menú emergente cuando el usuario hace clic con el botón secundario del mouse en el objeto.
False | No se muestra ningún menú emergente.

Comentarios

Cuando esta propiedad es True, no se producen los eventos Click y MouseDown en el control RichTextBox cuando se hace clic en el objeto OLE con el botón secundario del mouse. Cualquier otra región del control generará los eventos correctos.


Class (Propiedad, objeto OLEObject)

Devuelve o establece el nombre de clase de un objeto incrustado.

Sintaxis

objeto.Class

El argumento objeto es una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

El nombre de la clase define el tipo de objeto. Las aplicaciones que aceptan OLE o Automatización identifican de forma completa los nombres de clase de sus objetos mediante una de las siguientes sintaxis:

aplicación.tipoObjeto.versión
tipoObjeto.versión

La sintaxis de los nombres de clase OLE consta de las siguientes partes:

Parte | Descripción
aplicación | El nombre de la aplicación que suministra el objeto.
tipoObjeto | El nombre del objeto como se define en la biblioteca de objetos.
versión | El número de versión del objeto o la aplicación que suministra el objeto.

Por ejemplo, Microsoft Excel versión 5.0 acepta una serie de objetos, incluyendo hojas de cálculo y gráficos. Sus nombres de clase son Excel.Sheet.5 y Excel.Chart.5. Microsoft WordArt versión 2.0 acepta un único objeto con el nombre de clase MSWordArt.2.

Nota Alguna documentación sobre programación OLE hace referencia al nombre de clase como Id. de programa (ProgID).

La creación de un objeto mediante el método Add de la colección OLEObjects establece automáticamente la propiedad Class del objeto OLEObject.


DisableNoScroll (Propiedad)

Devuelve o establece un valor que determina si están desactivadas las barras de desplazamiento en el control RichTextBox.

Sintaxis

objeto.DisableNoScroll [= booleano]

La sintaxis de la propiedad DisableNoScroll consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
booleano | Una expresión booleana que especifica si las barras de desplazamiento están activadas o no, como se describe en Valores.

Valores

Los valores de booleano son:

Valor | Descripción
False | (Predeterminado) Las barras de desplazamiento aparecen normalmente cuando se muestran.
True | Las barras de desplazamiento aparecen atenuadas cuando se muestran.

Comentarios

Se pasa por alto la propiedad DisableNoScroll cuando la propiedad ScrollBars tiene el valor 0 (None, ninguna). Sin embargo, cuando ScrollBars tiene el valor 1 (Horizontal), 2 (Vertical) o 3 (Both, ambas), hay barras de desplazamiento individuales desactivadas cuando hay muy pocas líneas de texto para desplazarse verticalmente o muy pocos caracteres para desplazarse horizontalmente en el control RichTextBox.


DisplayType (Propiedad, objeto OLEObject)

Devuelve o establece un valor que indica si un objeto presenta su contenido o un icono.

Sintaxis

objeto.DisplayType [ = valor]

La sintaxis de la propiedad DisplayType consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o una constante que especifica si un objeto presenta su contenido o un icono, como se describe en Valores.

Valores

Los valores válidos para valor son:

Constante | Valor | Descripción
rtfDisplayContent | 0 | Contenido. Cuando el control RichTextBox contiene un objeto, se presentan en el control los datos del objeto.
rtfDisplayIcon | 1 | Icono. Cuando el control RichTextBox contiene un objeto, se presenta en el control el icono del objeto.

Comentarios

Después de agregar el objeto a la colección OLEObjects, utilice la propiedad DisplayType para cambiar la forma en que se presenta el objeto.


DoVerb (Método, objeto OLEObject)

Abre un objeto para realizar una determinada operación, como modificación.

Sintaxis

objeto.DoVerb (verbo)

La sintaxis del método DoVerb consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
verbo | Opcional. El verbo del objeto OLEObject que se va a ejecutar dentro del control RichTextBox. Si no se especifica, se ejecuta el verbo predeterminado. El valor de este argumento puede ser uno de los verbos estándar compatibles con todos los objetos o un índice de la matriz de propiedades ObjectVerbs.

Comentarios

El método DoVerb ejecuta un verbo del objeto OLEObject especificado. El argumento verbo es un índice de uno de los verbos enumerados en la matriz de propiedades ObjectVerbs o de uno de los verbos mostrados abajo.

Cada objeto puede aceptar su propio conjunto de verbos. Los siguientes valores representan verbos estándar aceptados por todos los objetos:

Constante | Valor | Descripción
vbOLEPrimary | 0 | La acción predeterminada del objeto.
vbOLEShow | -1 | Activa el objeto para su modificación. Si la aplicación que creó el objeto acepta la activación en contexto, se activa el objeto dentro del control RichTextBox.
vbOLEOpen | -2 | Abre el objeto en una ventana de aplicación distinta. Si la aplicación que creó el objeto acepta activación en contexto, se activa el objeto en su propia ventana.
vbOLEHide | -3 | En objetos incrustados, oculta la aplicación que creó el objeto.
vbOLEUIActivate | -4 | Si el objeto acepta activación en contexto, activa el objeto para su activación en contexto y muestra las herramientas de la interfaz de usuario. Si el objeto no acepta activación en contexto, no se activa el objeto y se produce un error.
vbOLEInPlaceActivate | -5 | Si el usuario mueve el enfoque al objeto incrustado, se crea una ventana para el objeto y se prepara éste para su modificación. Se produce un error si el objeto no admite la activación con un único clic del mouse.
vbOLEDiscardUndoState | -6 | Se usa cuando el objeto se activa para su modificación para descartar el registro de los cambios que la aplicación del objeto puede deshacer.

Nota Estos verbos pueden no estar enumerados en la matriz de propiedades ObjectVerbs.


FileName (Propiedad, control RichTextBox)

Devuelve o establece el nombre del archivo cargado en el control RichTextBox.

Sintaxis

objeto.FileName [= rutaAcceso]

La sintaxis de la propiedad FileName consta de las siguientes partes:

Parte | Descripción
objeto | Necesario. Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
rutaAcceso | Cadena. La ruta de acceso de un archivo válido

Valores

Sólo puede especificar los nombres de archivos de texto o archivos .rtf válidos para esta propiedad.


MaxLength (Propiedad, control RichTextBox)

Devuelve o establece un valor que indica si hay un número máximo de caracteres que pueda contener un control RichTextBox; si es así, especifica el número máximo de caracteres.

Sintaxis

objeto.MaxLength [= long]

La sintaxis de la propiedad MaxLength consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un control RichTextBox.
long | Un valor entero de tipo Long que especifica el número máximo de caracteres que puede escribir un usuario en el control. El valor predeterminado de la propiedad MaxLength es 0, que indica que no hay ningún valor máximo aparte del generado por las restricciones de memoria del sistema del usuario. Cualquier valor mayor que cero indica el máximo número de caracteres.

Comentarios

Utilice la propiedad MaxLength para limitar el número de caracteres que un usuario puede escribir en un control RichTextBox.

Si asigna desde código texto que excede el valor de la propiedad MaxLength al control RichTextBox, no se producirá un error; sin embargo, sólo se asigna a la propiedad Text el número máximo de caracteres, por lo que se truncan los caracteres adicionales. Si cambia esta propiedad no afectará al contenido actual de un RichTextBox, pero sí afectará a cualquier cambio subsiguiente del contenido.


MultiLine (Propiedad, control RichTextBox)

Devuelve o establece un valor que indica si un control RichTextBox puede aceptar y mostrar múltiples líneas de texto. Es de sólo lectura en tiempo de ejecución.

Sintaxis

objeto.MultiLine

El marcador de posición objeto representa una expresión de objeto que da como resultado un control RichTextBox.

Valores

Los valores de la propiedad MultiLine son:

Valor | Descripción
True | Permite múltiples líneas de texto.
False | (Predeterminada) Pasa por alto los retornos de carro y restringe los datos a una única línea.

Comentarios

Un control RichTextBox de múltiples líneas ajusta el texto a medida que el usuario escribe texto, extendiéndolo más allá del cuadro de texto.

También puede agregar barras de desplazamiento a un control RichTextBox grande mediante la propiedad ScrollBars. Si no se especifica ningún control HScrollBar (barra de desplazamiento horizontal), se ajustará automáticamente el texto de un control RichTextBox de múltiples líneas.

Nota En un formulario sin botón predeterminado, si presiona ENTRAR en un control RichTextBox de múltiples líneas se mueve el enfoque a la siguiente línea. Si existe un botón predeterminado, debe presionar Ctrl-Entrar para ir a la siguiente línea.


BulletIndent (Propiedad)

Devuelve o establece la cantidad de sangría utilizada en un control RichTextBox cuando SelBullet tiene el valor True.

Sintaxis

objeto.BulletIndent [= entero]

La sintaxis de la propiedad BulletIndent consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
entero | Un entero que determina la cantidad de sangría. Estas propiedades utilizan las unidades de modo de escala del objeto Form que contiene el control RichTextBox.

Comentarios

La propiedad BulletIndent devuelve Null si la selección abarca múltiples párrafos con distintos ajustes de margen.


ObjectVerbFlags (Propiedad, objeto OLEObject)

Devuelve el estado del menú para cada verbo de la matriz ObjectVerbs.

Sintaxis

objeto.ObjectVerbFlags(valor)

La sintaxis de la propiedad ObjectVerbFlags consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Una expresión numérica que indica el elemento de la matriz.

Valores que devuelve

La propiedad ObjectVerbFlags devuelve los siguientes valores:

Constante | Valor | Descripción
vbOLEFlagChecked | &H0008 | El elemento del menú está verificado.
vbOLEFlagDisabled | &H0002 | El elemento del menú está deshabilitado (pero no atenuado).
vbOLEFlagEnabled | &H0000 | El elemento del menú está habilitado.
vbOLEFlagGrayed | &H0001 | El elemento del menú está atenuado.
vbOLEFlagSeparator | &H0800 | El elemento del menú es una barra separadora.

Nota Estas constantes se enumeran en la biblioteca de objetos de Visual Basic (VB) del Examinador de objetos.

Comentarios

El primer verbo de la matriz ObjectVerbs es el verbo predeterminado. El resto de los verbos de esta matriz pueden presentarse en un menú. La matriz ObjectVerbFlags contiene información acerca del estado del menú (como atenuado, verificado, etc.) de cada verbo de la matriz ObjectVerbs.

Cuando se presente un menú que contenga los verbos del objeto, compruebe el valor de esta propiedad para ver cómo se presenta cada elemento.


ObjectVerbsCount (Propiedad, objeto OLEObject)

Devuelve el número de verbos aceptados por un objeto.

Sintaxis

objeto.ObjectVerbsCount

El marcador de posición objeto es una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

Esta propiedad se usa para determinar el número de elementos de la matriz de propiedades ObjectVerbs.

La lista de verbos que un objeto acepta puede variar, dependiendo del estado del objeto.


ObjectVerbs (Propiedad, objeto OLEObject)

Devuelve la lista de verbos compatibles con un objeto.

Sintaxis

objeto.ObjectVerbs(valor)

La sintaxis de la propiedad ObjectVerbs consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Una expresión numérica que indica un elemento de la matriz.

Comentarios

ObjectVerbs es una matriz de cadenas basada en cero. Utilice esta propiedad junto con la propiedad ObjectVerbsCount para obtener los verbos compatibles con un objeto. Estos verbos se utilizan para determinar la acción que se va a ejecutar cuando se active un objeto con el método DoVerb. La lista de verbos de la matriz varía de un objeto a otro y depende de las condiciones actuales.

Cada objeto puede aceptar su propio conjunto de verbos. Los siguientes valores representan verbos estándar compatibles con todos los objetos:

Constante | Valor | Descripción
vbOLEPrimary | 0 | La acción predeterminada del objeto.
vbOLEShow | -1 | Activa el objeto para su modificación. Si la aplicación que creó el objeto acepta la activación en contexto, el objeto se activa dentro del control RichTextBox.
vbOLEOpen | -2 | Abre el objeto en una ventana de aplicación distinta. Si la aplicación que creó el objeto acepta activación en contexto, el objeto se activará en su propia ventana.
vbOLEHide | -3 | En objetos incrustados, oculta la aplicación que creó el objeto.
vbOLEUIActivate | -4 | Si el objeto acepta activación en contexto, activa el objeto para activación en contexto y muestra las herramientas de la interfaz de usuario. Si el objeto no acepta activación en contexto, el objeto no se activa y se produce un error.
vbOLEInPlaceActivate | -5 | Si el usuario cambia el enfoque al objeto incrustado, crea una ventana para el objeto y prepara el objeto para su modificación. Si el objeto no acepta activación por un clic con el mouse se produce un error.
vbOLEDiscardUndoState | -6 | Se usa cuando el objeto se activa para su modificación para descartar el registro de los cambios que la aplicación del objeto puede deshacer.

Nota Estos verbos pueden no estar enumerados en la matriz de propiedades ObjectVerbs.

El primer verbo de la matriz ObjectVerbs, ObjectVerbs(0), es el verbo predeterminado. A menos que se especifique lo contrario, este verbo activa el objeto.

Los restantes verbos de la matriz pueden presentarse en un menú. Si se considera apropiado presentar el verbo predeterminado en un menú, el verbo predeterminado tiene dos entradas en la matriz ObjectVerbs.

Las aplicaciones que presentan objetos incluyen normalmente un comando Objeto en el menú Edición. Cuando el usuario elige Edición Objeto, un menú presenta los verbos del objeto. Utilice las propiedades ObjectVerbs, ObjectVerbsCount y ObjectVerbFlags para crear dicho menú en tiempo de ejecución.

Para presentar automáticamente los verbos de la matriz ObjectVerbs en un menú emergente cuando el usuario haga clic en un objeto con el botón secundario del mouse, asigne a la propiedad AutoVerbMenu el valor True.


OLEObjects (Propiedad)

Devuelve una referencia a la colección OLEObjects.

Sintaxis

objeto.OLEObjects

El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a.

Comentarios

La colección OLEObjects contiene objetos que pueden insertarse en el control RichTextBox, incluyendo texto, mapa de bits u otros archivos.


Locked (Propiedad, control RichTextBox)

Devuelve o establece un valor que indica si puede modificarse el contenido de un control RichTextBox.

Sintaxis

objeto.Locked [= booleano]

La sintaxis de la propiedad Locked consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un control RichTextBox.
booleano | Una expresión booleana que especifica si el contenido de un control puede modificarse, como se describe en Valores.

Valores

Los valores de booleano son:

Valor | Descripción
True | Puede desplazar y resaltar el texto del control, pero no puede modificarlo. El programa todavía puede modificar el texto mediante el cambio de la propiedad Text.
False | (Predeterminado) Puede modificar el texto del control.


RightMargin (Propiedad)

Devuelve o establece el margen derecho del texto en un control RichTextBox.

Sintaxis

objeto.RightMargin [ = valor]

La sintaxis de la propiedad RightMargin consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un control RichTextBox.
valor | Una expresión numérica que especifica la sangría en twips desde el margen derecho del texto al margen derecho del control, como se describe en Valores.

Comentarios

La propiedad RightMargin se utiliza para establecer el límite derecho para ajustar texto, centrarlo y aplicarle sangría. Para centrar un párrafo se basa en la parte situada más a la izquierda del texto (sin incluir los bordes) de un control RichTextBox y la propiedad RightMargin. Además, cuando se establece la propiedad SelRightIndent, ésta se basa en el valor actual de la propiedad RightMargin.

El valor predeterminado para la propiedad RightMargin es 0 y hará que el ajuste del texto sea igual al margen derecho del control RichTextBox para que sea visible todo el texto.

Nota Cuando calcule un valor para la propiedad RightMargin, debe tener en cuenta el ancho de los bordes de un control RichTextBox si BorderStyle es rtfFixedSingle.


ScrollBars (Propiedad, control RichTextBox)

Devuelve o establece un valor que indica si un control RichTextBox tiene barras de desplazamiento horizontal o vertical. Es de sólo lectura en tiempo de ejecución.

Sintaxis

objeto.ScrollBars

El marcador de posición objeto representa una expresión de objeto que da como resultado un control RichTextBox.

Valores

Los valores de la propiedad ScrollBars son:

Constante | Valor | Descripción
rtfNone | 0 | (Predeterminado) No se muestran barras de desplazamiento.
rtfHorizontal | 1 | Sólo barra de desplazamiento horizontal.
rtfVertical | 2 | Sólo barra de desplazamiento vertical.
rtfBoth | 3 | Se muestran barras de desplazamiento horizontal y vertical.

Comentarios

Para un control RichTextBox con un valor 1 (horizontal), 2 (vertical) o 3 (ambas), debe asignar a la propiedad MultiLine el valor True.

En tiempo de ejecución, el entorno operativo Microsoft Windows implementa automáticamente una interfaz de teclado estándar para permitirle desplazarse en los controles RichTextBox con las teclas de dirección (FLECHA ARRIBA, FLECHA ABAJO, FLECHA IZQUIERDA y FLECHA DERECHA), las teclas INICIO, FIN, etc.

Las barras de desplazamiento sólo se muestran si el contenido del control RichTextBox se extiende más allá de los bordes del control. Si ScrollBars es False, el control no tendrá barras de desplazamiento, cualquiera que sea su contenido.

Una barra de desplazamiento horizontal sólo aparecerá cuando la propiedad RightMargin se establece a un valor mayor que la anchura del control. (El valor también puede ser igual o ligeramente menor que la anchura del control.)


SelAlignment (Propiedad)

Devuelve o establece un valor que controla la alineación de los párrafos de un control RichTextBox. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelAlignment [= valor]

La sintaxis de la propiedad SelAlignment consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o una constante que determina la alineación del párrafo, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Constante | Valor | Descripción
 | Null | Ninguno. La selección actual abarca más de un párrafo con distintas alineaciones.
rtfLeft | 0 | (Predeterminado) Izquierda. El párrafo se alinea a lo largo del margen izquierdo.
rtfRight | 1 | Derecha. El párrafo se alinea a lo largo del margen derecho.
rtfCenter | 2 | Centro. El párrafo se centra entre los márgenes izquierdo y derecho.

Comentarios

La propiedad SelAlignment determina la alineación de todos los párrafos que tienen texto en la selección actual o del párrafo que contiene el punto de inserción si no hay texto seleccionado.

Para distinguir entre los valores de Null y 0 al leer esta propiedad en tiempo de ejecución, use la función IsNull con la instrucción If...Then...Else. Por ejemplo:

If IsNull(RichTextBox1.SelAlignment) = True Then
   ' Código que se ejecuta cuando la selección es mixta.
ElseIf RichTextBox1.SelAlignment = 0 Then
   ' Código que se ejecuta cuando la selección está alineada a la izquierda.
...
End If


Ejemplo de la propiedad SelAlignment

Este ejemplo utiliza una matriz de controles OptionButton para cambiar la alineación de párrafo del texto seleccionado en un control RichTextBox, pero sólo si hay texto seleccionado. Los índices de los controles de la matriz corresponden a los valores de la propiedad SelAlignment. Para probar este ejemplo, sitúe un control RichTextBox y tres controles OptionButton en un formulario. Asigne el mismo nombre a los tres controles OptionButton y asigne a Index los valores 0, 1 y 2. Pegue este código en el evento Click del control OptionButton. A continuación, ejecute el ejemplo.

Private Sub Option1_Click(Index As Integer)
   If RichTextBox1.SelLength > 0 Then
      RichTextBox1.SelAlignment = Index
   End If
End Sub


SelBold, SelItalic, SelStrikethru, SelUnderline (Propiedades)

Devuelven o establecen estilos de fuente del texto seleccionado actualmente en un control RichTextBox. Los estilos de fuente incluyen los formatos siguientes: Negrita, Cursiva, Tachado y Subrayado. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelBold [= valor]

objeto.SelItalic [= valor]

objeto.SelStrikethru [= valor]

objeto.SelUnderline [= valor]

Las sintaxis de las propiedades SelBold, SelItalic, SelStrikethru y SelUnderline constan de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Una expresión booleana o una constante que determina el estilo de fuente, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Valor | Descripción
Null | Ninguno. La selección o el carácter que sigue al punto de inserción contiene caracteres con una mezcla de estilos de fuente apropiados.
True | Todos los caracteres de la selección o el carácter que sigue al punto de inserción tienen el estilo de fuente apropiado.
False | (Predeterminado) Ninguno de los caracteres de la selección o el carácter que sigue al punto de inserción tiene el estilo de fuente apropiado.

Comentarios

Estas propiedades se comportan como las propiedades Bold, Italic, Strikethru y Underline de un objeto Font. El control RichTextBox tiene una propiedad Font y, por tanto, la capacidad de aplicar estilos de fuente a todo el texto del control mediante las propiedades del objeto Font del control. Utilice estas propiedades para aplicar estilos de fuente al texto seleccionado o los caracteres escritos después del punto de inserción.

Generalmente se tiene acceso a estas propiedades mediante la creación de una barra de herramientas en la aplicación con botones para alternar estas propiedades individualmente.

Para distinguir entre los valores de Null y False al leer estas propiedades en tiempo de ejecución, utilice la función IsNull con la instrucción If...Then...Else. Por ejemplo:

If IsNull(RichTextBox1.SelBold) = True Then
   ' Código que se ejecuta cuando la selección es mixta.
ElseIf RichTextBox1.SelBold = False Then
   ' Código que se ejecuta cuando la selección no es negrita.
...
End If


SelCharOffset (Propiedad)

Devuelve o establece un valor que determina si el texto del control RichTextBox aparece en la línea base (normal), como un superíndice sobre la línea base o como un subíndice por debajo de la línea base. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelCharOffset [= desplazamiento]

La sintaxis de la propiedad SelCharOffset consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
desplazamiento | Un entero que determina a qué distancia de la línea base del texto se sitúan los caracteres de la selección actual o que siguen al punto de inserción, como se describe en Valores.

Valores

Los valores de desplazamiento son:

Valor | Descripción
Null | Ninguno. La selección tiene una mezcla de caracteres con desplazamientos diferentes.
0 | (Predeterminado) Normal. Todos los caracteres aparecen en la línea base de texto normal.
Entero positivo | Superíndice. Los caracteres aparecen por encima de la línea base en el número de twips especificado.
Entero negativo | Subíndice. Los caracteres aparecen por debajo de la línea base en el número de twips especificado.

Comentarios

Para distinguir entre los valores de Null y 0 al leer esta propiedad en tiempo de ejecución, utilice la función IsNull con la instrucción If...Then...Else. Por ejemplo:

If IsNull(RichTextBox1.SelCharOffset) = True Then
   ' Código que se ejecuta cuando la selección es mixta.
ElseIf RichTextBox1.SelCharOffset = 0 Then
   ' Código que se ejecuta cuando toda la selección está en la línea base.
...
End If


Ejemplo de la propiedad SelCharOffset

Este ejemplo utiliza una barra de desplazamiento para mover el texto seleccionado encima o debajo de la línea base. La cantidad mínima y máxima de desplazamiento se establece mediante el tamaño de fuente del texto del control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox y un control VScrollBar en un formulario. Pegue este código en el evento Change del control VScrollBar. A continuación, ejecute el ejemplo.

Private Sub VScroll1_Change()
   VScroll1.Max = RichTextBox1.SelFontSize
   VScroll1.Min = -(VScroll1.Max)
   RichTextBox1.SelCharOffset = VScroll1.Value
End Sub


SelColor (Propiedad)

Devuelve o establece un valor que determina el color del texto del control RichTextBox. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelColor [= color]

La sintaxis de la propiedad SelColor consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
color | Un valor que especifica un color, como se describe en Valores.

Valores

Los valores para color son:

Valor | Descripción
Null | El texto contiene una mezcla de distintos valores de color.
Colores RGB | Los colores especificados en el código con las funciones RGB o QBColor.
Sistema | Los colores especificados con las constantes de color del sistema en la biblioteca de objetos de Visual Basic del Examinador de objetos. A continuación, el color del texto coincidirá con la selección del usuario para la constante especificada en el Panel de control de Windows.

Comentarios

Si no hay texto seleccionado en el control RichTextBox, al establecer esta propiedad se determinará el color del texto nuevo que se escriba en el punto de inserción.


Ejemplo de la propiedad SelColor

Este ejemplo muestra un cuadro de diálogo de color en un control CommonDialog para especificar el color del texto seleccionado en un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control CommonDialog en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   CommonDialog1.ShowColor
   RichTextBox1.SelColor = CommonDialog1.Color
End Sub


SelFontName (Propiedad)

Devuelve o establece la fuente usada para mostrar el texto seleccionado actualmente o los caracteres que siguen inmediatamente al punto de inserción en el control RichTextBox. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelFontName [= cadena]

La sintaxis de la propiedad SelFontName consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Una expresión de cadena que identifica una fuente instalada en el sistema.

Comentarios

La propiedad SelFontName devuelve Null si el texto seleccionado contiene fuentes distintas.


Ejemplo de la propiedad SelFontName

Este ejemplo muestra un cuadro de diálogo de fuente en un control CommonDialog para especificar atributos de fuente del texto seleccionado en un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control CommonDialog en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   CommonDialog1.Flags = cdlCFBoth
   CommonDialog1.ShowFont
   With RichTextBox1
      .SelFontName = CommonDialog1.FontName
      .SelFontSize = CommonDialog1.FontSize
      .SelBold = CommonDialog1.FontBold
      .SelItalic = CommonDialog1.FontItalic
      .SelStrikethru = CommonDialog1.FontStrikethru
      .SelUnderline = CommonDialog1.FontUnderline
   End With
End Sub


SelFontSize (Propiedad)

Devuelve o establece un valor que especifica el tamaño de la fuente usada para mostrar texto en un control RichTextBox. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelFontSize [= puntos]

La sintaxis de la propiedad SelFontSize consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
puntos | Un entero que especifica el tamaño en puntos del texto seleccionado actualmente o los caracteres que siguen inmediatamente al punto de inserción.

Comentarios

El valor máximo de SelFontSize es 2160 puntos.

En general, deberá cambiar la propiedad SelFontName antes de establecer los atributos de tamaño y estilo. Sin embargo, cuando defina fuentes TrueType como menores de 8 puntos, deberá establecer un tamaño de 3 puntos con la propiedad SelFontSize y, a continuación, establecer la propiedad SelFontName y de nuevo el tamaño con la propiedad SelFontSize.

Nota Las fuentes disponibles dependen de la configuración del sistema, los dispositivos de presentación y los de impresión y, por tanto, pueden variar de un sistema a otro.

La propiedad SelFontSize devuelve Null si el texto seleccionado contiene distintos tamaños de fuente.


Ejemplo de la propiedad SelFontSize

Este ejemplo muestra un cuadro de diálogo de fuentes en un control CommonDialog para especificar atributos de fuente del texto seleccionado en un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control CommonDialog en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   CommonDialog1.Flags = Both
   CommonDialog1.ShowFont
   With RichTextBox1
      .SelFontName = CommonDialog1.FontName
      .SelFontSize = CommonDialog1.FontSize
      .SelBold = CommonDialog1.FontBold
      .SelItalic = CommonDialog1.FontItalic
      .SelStrikethru = CommonDialog1.FontStrikethru
      .SelUnderline = CommonDialog1.FontUnderline
   End With
End Sub


SelHangingIndent, SelIndent, SelRightIndent (Propiedades)

Devuelve o establece los márgenes del párrafo o los párrafos de un control RichTextBox que contienen la selección actual o se agregan en el punto de inserción actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelHangingIndent [= entero]

objeto.SelIndent [= entero]

objeto.SelRightIndent [= entero]

Las sintaxis de las propiedades SelHangingIndent, SelIndent y SelRightIndent constan de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
entero | Un entero que determina la cantidad de sangría. Estas propiedades utilizan las unidades de modo de escala del objeto Form que contiene el control RichTextBox.

Comentarios

Para el párrafo o los párrafos afectados, la propiedad SelIndent especifica la distancia entre el borde izquierdo del control RichTextBox y el borde izquierdo del texto que se ha seleccionado o agregado. Del mismo modo, la propiedad SelRightIndent especifica la distancia entre el borde derecho del control RichTextBox y el borde derecho del texto que se ha seleccionado o agregado.

La propiedad SelHangingIndent especifica la distancia entre el borde izquierdo de la primera línea de texto del párrafo o los párrafos seleccionados (según especifique la propiedad SelIndent) y el borde izquierdo de las líneas de texto siguientes del mismo párrafo o párrafos.

Estas propiedades devuelven cero (0) si la selección abarca varios párrafos con distintos ajustes de margen.


Ejemplo de las propiedades SelHangingIndent, SelIndent, SelRIghtIndent

Este ejemplo selecciona todo el texto de un control RichTextBox y, a continuación, establece las sangrías izquierda y derecha para crear márgenes. Para probar este ejemplo, sitúe un control RichTextBox, un control CommandButton y un control TextBox en un formulario. Cargue un archivo en el RichTextBox y pegue este código en la sección Declaraciones generales del formulario. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   Dim Margins As Integer
   Margins = CInt(Text1.Text)
   With RichTextBox1
      .SelStart = 1
      .SelLength = Len(RichTextBox1.Text)
      .SelIndent = Margins
      .SelRightIndent = Margins
   End With
End Sub


SelBullet (Propiedad)

Devuelve o establece un valor que determina si un párrafo del control RichTextBox que contiene la selección actual o el punto de inserción tiene el estilo de viñeta. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelBullet [= valor]

La propiedad SelBullet consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
valor | Un entero o una constante que determina el estilo de viñeta del párrafo o los párrafos, como se describe en Valores.

Valores

Los valores admitidos para valor son:

Valor | Descripción
Null | Ninguno. La selección abarca más de un párrafo y contiene una mezcla de estilos de viñeta y no-viñeta.
True | Los párrafos de la selección tienen estilo de viñeta.
False | (Predeterminado) Los párrafos de la selección no tienen estilo de viñeta.

Comentarios

Utilice la propiedad SelBullet para elaborar una lista de elementos con viñeta en un control RichTextBox.

Para distinguir entre los valores de Null y False al leer esta propiedad en tiempo de ejecución, utilice la función IsNull con la instrucción If...Then...Else. Por ejemplo:

If IsNull(RichTextBox1.SelBullet) = True Then
   ' Código que se ejecuta cuando la selección es mixta.
ElseIf RichTextBox1.SelBullet = False Then
   ' Código que se ejecuta cuando la selección no tiene estilo de viñeta.
...
End If


Ejemplo de la propiedad SelBullet

Este ejemplo cambia el estado de un control CheckBox de un formulario para mostrar el estado de viñeta del texto seleccionado en un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox y un control CheckBox en un formulario. Pegue este código en el evento SelChange del control RichTextBox. A continuación, ejecute el ejemplo.

Private Sub RichTextBox1_SelChange()
   If IsNull(RichTextBox1.SelBullet) = True Then
      Check1.Value = vbGrayed
   ElseIf RichTextBox1.SelBullet = True Then
      Check1.Value = vbChecked
   ElseIf RichTextBox1.SelBullet = False Then
      Check1.Value = vbUnchecked
   End If
End Sub


SelProtected (Propiedad)

Devuelve o establece un valor que determina si está protegida la selección actual. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelProtected [ = valor ]

La sintaxis de la propiedad SelProtected consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un control RichTextBox.
valor | Un valor de tipo Variant que determina si la selección actual está protegida, como se describe en Valores.

Valores

Valor | Descripción
Null | La selección contiene una mezcla de caracteres protegidos y no protegidos.
True | Todos los caracteres de la selección están protegidos.
False | Ninguno de los caracteres de la selección está protegido.

Comentarios

El texto protegido tiene la misma apariencia que el texto normal, pero el usuario final no puede modificarlo. Es decir, no se puede cambiar el texto en tiempo de ejecución. Esto le permite crear formularios con el control RichTextbox y tener zonas que pueda modificar el usuario final.


SelRTF (Propiedad)

Devuelve o establece el texto (en formato .rtf) de la selección actual de un control RichTextBox. No está disponible en tiempo de diseño.

Sintaxis

objeto.SelRTF [= cadena]

La sintaxis de la propiedad SelRTF consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Una expresión de cadena en formato .rtf.

Comentarios

Al establecer la propiedad SelRTF se reemplazará el texto seleccionado en el control RichTextBox por la nueva cadena. Esta propiedad devuelve una cadena de longitud cero ("") si no hay texto seleccionado en el control.

Puede usar la propiedad SelRTF junto con la función Print para escribir archivos .rtf.


Ejemplo de la propiedad SelRTF

Este ejemplo guarda en un archivo .rtf el contenido resaltado de un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox y un control CommandButton en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   Open "mitexto.rtf" For Output As 1
   Print #1, RichTextBox1.SelRTF
   Close 1

End Sub


SelTabCount, SelTabs (Propiedades)

Devuelven o establecen el número de tabulaciones y las posiciones absolutas de tabulación del texto de un control RichTextBox. No están disponibles en tiempo de diseño.

Sintaxis

objeto.SelTabCount [= contador]

objeto.SelTabs(índice) [= ubicación]

Las sintaxis de las propiedades SelTabCount y SelTabs constan de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
contador | Un entero que determina el número de posiciones de tabulación del párrafo o los párrafos seleccionados o en el párrafo o los párrafos que siguen al punto de inserción.
índice | Un entero que identifica una tabulación específica. La primera ubicación de tabulación tiene un índice cero (0). La última ubicación de tabulación tiene un índice igual a SelTabCount menos 1.
ubicación | Un entero que especifica la ubicación de la tabulación designada. Las unidades empleadas para expresar posiciones de tabulación están determinadas por el modo de escala del objeto Form u otro objeto que contenga el control RichTextBox.

Comentarios

De forma predeterminada, al presionar TAB mientras escribe en un control RichTextBox el enfoque pasa al siguiente control del orden de tabulación, según especifica la propiedad TabIndex. Un modo de insertar una tabulación en el texto consiste en presionar Ctrl-Tab. Sin embargo, a los usuarios habituados a trabajar con procesadores de textos la combinación de teclas Ctrl-Tab puede resultarles extraña. Puede activar el uso de la tecla TAB para insertar una tabulación en un control RichTextBox si cambia temporalmente a False la propiedad TabStop de todos los controles del objeto Form mientras el control RichTextBox tenga el enfoque. Por ejemplo:

Private Sub RichTextBox1_GotFocus()
   ' Pasa por alto los errores de controles sin la propiedad TabStop.
   On Error Resume Next
   ' Desactiva el cambio de enfoque al presionar TAB.
   For Each Control In Controls
      Control.TabStop = False
   Next Control
End Sub

Restablezca la propiedad TabStop de los otros controles cuando el control RichTextBox pierda el enfoque.


Ejemplo de las propiedades SelTabCount, SelTabs

Este ejemplo establece el número de tabulaciones de un control RichTextBox a un total de cinco y, a continuación, establece las posiciones de las tabulaciones en múltiplos de cinco. Para probar este ejemplo, sitúe un control RichTextBox y un control CommandButton en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click()
   With RichTextBox1
      .SelTabCount = 5
      For X = 0 To .SelTabCount - 1
         .SelTabs(X) = 5 * X
      Next X
   End With
End Sub


TextRTF (Propiedad)

Devuelve o establece el texto de un control RichTextBox, incluido todo el código .rtf.

Sintaxis

objeto.TextRTF [= cadena]

La sintaxis de la propiedad TextRTF consta de las siguientes partes:

Parte | Descripción
objeto | Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
cadena | Una expresión de cadena con formato .rtf.

Comentarios

Al establecer la propiedad TextRTF se reemplaza todo el contenido de un control RichTextBox por la nueva cadena.

Puede usar la propiedad TextRTF junto con la función Print para escribir archivos .rtf. Cualquier procesador de textos capaz de leer texto codificado en formato RTF puede leer el archivo resultante.


Ejemplo de la propiedad TextRTF

Este ejemplo guarda en un archivo .rtf todo el contenido de un control RichTextBox. Para probar este ejemplo, sitúe un control RichTextBox y un control CommandButton en un formulario. Pegue este código en el evento Click del control CommandButton. A continuación, ejecute el ejemplo.

Private Sub Command1_Click ()
   Open "mitexto.rtf" For Output As 1
   Print #1, RichTextBox1.TextRTF
   Close 1

End Sub