Altezza statictext dinamica

di il
2 risposte

Altezza statictext dinamica

Che voi sappiate ce un modo per settare dinamicamente l'altezza di un tstatictext?
Per dinamicamente intendo in base al testo che ci va scritto dentro.

Ho una finestra "popup" in cui ho un statictext e un bottone per chiudere la finestra.

Una funzione assegna un determinato testo alla caption dello statictext che ha come anchor left,right,bottom, in modo che si adatta alla dimensione della finestra.

Pero' io dovrei fare in modo che l altezza della finestra (e quindi dello statictext) si adatti al contenuto,
non posso mettere autoalign perchè potrebbe diventare una riga sola piu lunga del width della finestra.

se per esempio ho una riga senza "return" molto lunga, vedo il testo si piu righe, ma se il numero di righe in sostanza supera l altezza dello static text.... quelle righe non le vedo e quindi dovrei aumentare l altezza della finestra...
Ce un modo per fare questo?, non ce un modo per vedere di quante "righe" il testo scende al di sotto dell'altezza dello statictext?

spero di esser riuscito a spiegarmi
grazie.

2 Risposte

  • Re: Altezza statictext dinamica

    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!
  • Re: Altezza statictext dinamica

    Ti ringrazio, vedo allora se ci capisco qualcosa col canvas e TextExtent
Devi accedere o registrarti per scrivere nel forum
2 risposte