- Tipos de objetos y características de la especificación de sus coordenadas
- Objetos vinculados a tiempo y precio
- Objetos vinculados a coordenadas de pantalla
- Crear objetos
- Borrar objetos
- Encontrar objetos
- Visión general de las funciones de acceso a las propiedades de los objetos
- Propiedades principales de los objetos
- Coordenadas de tiempo y precio
- Anclar la esquina de la ventana y las coordenadas de la pantalla
- Definir el punto de anclaje en el objeto
- Gestión del estado de los objetos
- Prioridad de los objetos (orden Z)
- Ajustes de visualización de objetos: color, estilo y marco
- Ajustes de fuente
- Rotar un texto en un ángulo arbitrario
- Determinar ancho y alto del objeto
- Visibilidad de los objetos en el contexto de marcos temporales
- Asignar un código de carácter a una etiqueta
- Propiedades de los rayos para objetos con líneas rectas
- Gestionar el estado pulsado de los objetos
- Ajustar imágenes en objetos bitmap
- Recortar (dar salida a parte) de una imagen
- Propiedades de los campos de entrada: alineación y sólo lectura
- Anchura del canal de desviación estándar
- Establecer niveles en objetos de nivel
- Propiedades adicionales de los objetos de Gann, Fibonacci y Elliot
- Objeto gráfico
- Mover objetos
- Obtener hora o precio en puntos de línea especificados
Ajustes de fuente
Todos los tipos de objetos permiten establecer determinados textos para ellos (OBJPROP_TEXT). Muchos de ellos muestran el texto especificado directamente en el gráfico, para el resto se convierte en una parte informativa de la información sobre herramientas.
Cuando se muestra texto dentro de un objeto (para los tipos OBJ_TEXT, OBJ_LABEL, OBJ_BUTTON y OBJ_EDIT), puede elegir un nombre y tamaño de fuente. Para los objetos de otros tipos no se aplican los ajustes de fuente: sus descripciones se muestran siempre en la fuente estándar del gráfico.
Identificador |
Descripción |
Tipo |
---|---|---|
OBJPROP_FONTSIZE |
Tamaño de fuente en píxeles |
int |
OBJPROP_FONT |
Fuente |
string |
No se puede ajustar el tamaño de la fuente en puntos de impresión aquí.
El script de prueba ObjectFont.mq5 crea objetos con texto y cambia el nombre y el tamaño de la fuente. Utilicemos la clase ObjectBuilder del script anterior.
Al principio de OnStart, el script calcula el centro de la ventana tanto en coordenadas de pantalla como en los ejes tiempo/precio. Esto es necesario porque los objetos de distintos tipos que participan en la prueba utilizan sistemas de coordenadas diferentes.
void OnStart()
|
La lista de tipos de objetos comprobados se especifica en el array types. Para algunos de ellos, en particular OBJ_HLINE y OBJ_VLINE, la configuración de la fuente no tendrá ningún efecto, aunque el texto de las descripciones aparecerá en la pantalla (para asegurarnos de ello, activamos el modo CHART_SHOW_OBJECT_DESCR).
ChartSetInteger(0, CHART_SHOW_OBJECT_DESCR, true);
|
La variable t se utilizará para cambiar secuencialmente de un tipo a otro.
El array fonts contiene las fuentes estándar más populares de Windows.
string fonts[] =
|
Iteraremos en ellas utilizando la variable f.
Dentro del bucle de demostración, ordenamos a ObjectBuilder que cree un objeto del tipo actual types[t] en el centro de la ventana (por unificación, las coordenadas se especifican en ambos sistemas de coordenadas, a fin de no hacer diferencias en el código dependiendo del tipo: las coordenadas no admitidas por el objeto simplemente no tendrán efecto).
while(!IsStopped())
|
A continuación, configuramos el texto y la fuente (el tamaño se elige al azar).
const int size = rand() * 15 / 32767 + 8;
|
Para la siguiente pasada, movemos los cursores en los arrays de tipos de objeto y nombres de fuente.
t = ++t % ArraySize(types);
|
Por último, actualizamos el gráfico, esperamos 1 segundo y borramos el objeto para crear otro.
ChartRedraw();
|
En la siguiente imagen se muestra el momento en que se ejecuta el script.
Botón con configuración de fuente personalizada