Hola.
He estado montando un control Caja de Texto enriquecido y en mi pelea con las barras de herramientas y el estilo inicial del texto, os comparto el resultado que ha quedado bastante satisfactorio.
1º - Controlar la visualización de las barras de herramientas.
En tiempo de diseño poner la propiedad “Barras de herramientas” = Iconos. Aunque pongamos a false todas las barras, siempre aparece la barra de herramientas de Copiar/Pegar/Deshacer… y no se puede ocultar.
Para arreglarlo he usado el siguiente código del API y funciona perfectamente.
var oForm = theRoot.dataView()
var oTextEdit = oForm.control(“ED_OBSERVACIONES”)
with (oTextEdit) {
showFormatToolBar()
showAlignToolBar()
showListToolBar()
showStyleToolBar()
hideAllToolBars()
}
Viendo el código, parece que no es la forma correcta, pero funciona tal como se muestra en la imagen adjunta. He conseguido mostrar todas las barras excepto la de Copiar/Pegar/Deshacer…
2º - Aplicar estilo a las barras de herramientas.
Quiero independizar el estilo aplicado a las barras del control Caja de Texto enriquecido del aplicado al resto de barras de herramientas del marco Autoexec.
Uso el siguiente estilo CSS aplicado a los botones, la propia barra y a los combos del tipo de letra.
/* Botón /
VTextEdit QToolBar {
spacing: 0px;
}
/ Barra de Herramientas /
VTextEdit QToolBar QToolButton {
margin: 0px;
padding: 0px;
font-family: Arial;
font-size: 10px;
font-weight: normal;
}
/ Combos del tipo de letra */
VTextEdit QToolBar QComboBox {
font-family: verdana, sans-serif;
font-size: 11px;
background: GhostWhite;
padding: 2px 4px;
border: 1px solid DarkGray;
border-radius: 3px;
color: black;
min-width: 2em;
}
3º - Establecer un estilo de letra por defecto
Inicializamos el control Caja de Texto enriquecido en el PRE o POS init del formulario con el siguiente código HTML:
If ( #ID = 0 )
Rem ( Iniciamos el HTML del TextEdit para que coja la Fuente por defecto )
Modificar campo ( OBSERVACIONES, “<html> <head> <style>” + ~APP_TEXTEDIT_INICIAR@0PS_Ejercicios_dat.dat + “</style>
</head> <body><p> </p></body> </html>” )
~APP_TEXTEDIT_INICIAR es una constante con el estilo CSS que determina el estilo de letra por defecto:
Por ejem: body {font:12pt Verdana, sans-serif;} p {margin:0;}
Como véis, con la ancestral técnica de la prueba y error (ante la exasperante falta de documentación de Velneo), logramos tener un control Caja de Texto enriquecido un poco más personalizado.
Saludos
Paco Satué