Truco: Propiedades de Fuente en DrawControlInLayoutEditor para Proyectos Mobile

A continuación encontrarás traducido al castellano el artículo escrito por Martin T. y publicado originalmente en el Blog oficial de Xojo.

En el nuevo evento DrawControlInLayoutEditor de Xojo, disponible para MobileCanvas, AndroidMobileUserControl y iOSMobileUserControl, se encuentran disponibles algunas propiedades que no existen en la clase Graphics de los proyectos mobile.

En concreto, se encuentran las siguientes propiedades:

  • Graphics.FontName
  • Graphics.FontSize
  • Graphics.FontAscent

Dichas propiedades son bien conocidas en otros destinos de compilación de Xojo (por ejemplo Desktop), pero no existe una API oficial para Mobile mostrada por el autocompletado. De hecho no se pueden utilizar fuera de este evento.

Por otra parte, la propiedad Graphics.Font de la API mobile no se puede utilizar en el evento DrawControlInLayoutEditor. El uso está limitado de forma estricta al evento DrawControlInLayoutEditor. De hecho el uso de dichas propiedades en tiempo de ejecución resultará en una serie de errores.

Estas propiedades permiten realizar un renderizado más preciso del texto en el editor de diseño; por ejemplo en los controles personalizados donde han de tenerse en cuenta las métricas de las fuentes.

Aunque estas propiedades no forman parte de la API mobile, pueden utilizarse de forma selectiva en el contexto del editor de diseño.

Este código funcionará correctamente en el evento DrawControlInLayoutEditor de tus controles mobile:

Var s As String = "Happy coding!"
Var x As Double = g.Width / 2 - g.TextWidth(s) / 2
Var y As Double = g.Height / 2 - g.TextHeight / 2 + g.FontAscent
 
g.DrawingColor = Color.Red
g.DrawOval(0, 0, g.Width, g.Height)
 
g.DrawingColor = TextColor
g.Bold = True
g.FontName = "Times New Roman"
g.FontSize = 16
g.DrawText(s, x, y)

¡Feliz programación con Xojo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *