Descrição:
Como posso configurar o tamanho do objeto Texto de um XControl para que ele seja proporcional ao tamanho de um objeto Figura?
Solução:
Para isso, é necessário alterar a subpropriedade oculta Size da propriedade TextFont do objeto Texto. Não é possível acessá-la pelo AppBrowser, apenas por script:
‘esta linha altera o tamanho de um texto qualquer da tela
Screen.Item(“Texto1”).TextFont.Size = 36
Screen.Item(“Texto1”).TextFont.Size = 36
Para configurar essa propriedade conforme o tamanho do objeto, é necessário criar uma fórmula que satisfaça a proporção necessária por script. Por exemplo:
‘Largura do objeto-referência
w = Item(“Figura1”).Width
w = Item(“Figura1”).Width
‘Fórmula
NewSize = w / 75
‘Valor da fonte
Item(“Texto1”).TextFont.Size = int(NewSize)
Nesse exemplo, um objeto figura com largura igual a 1000 teria o tamanho da fonte do texto igual a 13.
Também é possível criar uma propriedade no XControl e adicioná-la à Fórmula no script, permitindo que o usuário faça um ajuste no tamanho do texto:
‘Fórmula
NewSize = w * TextProportion / 75
Agora, ao definir a propriedade TextProportion para 1.2, o tamanho do texto será configurado para 16 (considerando a largura igual a 1000).
Onde executar esse script?
Para executar esse script, podemos inseri-lo no evento CustomConfig do XControl. Configure a propriedade CustomConfigText do XControl conforme for desejado. Por exemplo:
Como resultado, temos o texto proporcional ao tamanho da instância:
NOTAS:
- O tamanho exibido no E3Studio é apenas ilustrativo. Para manter este tamanho ao rodar a aplicação, deve-se inserir o mesmo script no evento OnStartRunning do XControl.
- Em anexo a este artigo, encontra-se uma aplicação exemplo.