ziobacco ha scritto:
Che voi sappiate ce un modo per settare dinamicamente l'altezza di un tstatictext?
Se si tratta di dimensionare il controllo
TStaticText alla dimensione del testo contenuto, è sufficiente impostare l'attributo
AutoSize a
True per fare sì che il controllo acquisisca automaticamente le dimensioni ideali per vedere tutto il testo.
La stessa cosa potrebbe essere fatta sul
Form, in modo che al ridimensionarsi dell'etichetta, la finestra subisca le stesse conseguenze, ovvero si adatti alle dimensioni dei controlli all'interno, quindi alle dimensioni dell'etichetta di testo.
Se ci sono altri controlli o sono previsti ancoraggi, allora tutto il passaggio
deve essere fatto manualmente.
Per ottenere le dimensioni del testo, è possibile usare il
Canvas del controllo assieme al metodo
TextExtent per sapere quanto è grande il testo, usando il carattere (
Font) selezionato per il controllo.
E' ovvio che le righe molto lunghe e senza spazi allargano il controllo a dismisura: se si vogliono interrompere, occorre stabilire un criterio valido per l'inserimento forzato di ritorni a capo, oppure lasciare che il testo fuoriesca dal controllo verso destra e/o verso il basso, abbandonando tutti i possibili automatismi.
In generale, vi sono già componenti (inclusi e non) per creare dei "tooltip" o qualcosa di simile... varrebbe magari la pena usare qualcosa di più standard o, in alternativa, creare una GUI che si adatti alla maggior parte dei casi in modo "fisso".
Fai qualche esperimento con le risorse indicate sopra... magari sono sufficienti.
Ciao!