Newsgroup: it.comp.lang.visual-basic
Titolo: ridimensionamento automatico dei fonts di una label

avrei bisogno un sistema per fare in modo che al variare del testo contenuto
in una label, automaticamente il programma verifichi se tutto il testo è
visibile o meno. In caso il testo non sia completamente visibile, riduca le
dimensioni del carattere fino a rendere il testo completamente visibile.
Che proprietà (o altro) della label devo utilizzare.
Grazie a tutti
ciao
Mauro

 tutto il testo č visibile o meno
afaik, ci devi arrivare per tentativi.
usi la proprietą textwidth della maschera, e fai un ciclo, partendo da un
carattere grande e riducendolo progressivamente, fino a che la lunghezza
della stringa stampata č inferiore alla larghezza del controllo, a quel puto
sai che dimensione di carattere utilizzare.
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 della stringa stampata è inferiore alla larghezza del controllo, a quel


 su piu linee!!!
Un po' di fantasia, suvvia...
Se c'è Textwidth, chissà se esiste anche TextHeight...
Hai provato a digitarlo, o a premere F1?
Ciao
Alberto

 ha scritto nel messaggio
news:2odvk5F...@uni-berlin.de...


 che faccio?????
lo usi sulla form, vedi che carattere usare, e poi applichi il carattere
alla label.


 ha scritto nel messaggio
news:2oe1jpF...@uni-berlin.de...


 cmq avrei pensato di
Veramente è esattamente quello che ti ha appena detto Sergio...
Almeno ringrazialo...
Alberto

 ha scritto nel messaggio
news:2oe244F...@uni-berlin.de...


 fare.
[SNIP]
Hai frainteso: Sergio non ti suggeriva di cambiare le dimensioni del form,
ma solo di sfruttarne *il font*; in pratica imposti la property .Font del
form con le stesse caratteristiche del testo che vuoi misurate, usi i metodi
.TextWidth/Height e poi applichi il risultato alla tua Label o altro.
Dato che la property Font della finestre serve esclusivamente se usi il
metodo Print, puoi cambiarla a piacimento per fare i tuoi calcoli senza che
l'utente veda alcun effetto visivo, e non hai quindi bisogno di alcun form
nascosto aggiuntivo.
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 alla tua Label o altro.
effettivamente, č quello che avevo inteso dire.
perň, pensandoci bene, la cosa non č cosě banale.
l'op ha a che fare con una label "multilinea" e la label, se serve, va a
capo da sola, dubito che ciň avvenga anche nel form, per cui, se io scrivo
miaform.textheight unastringamoltolungamasenzaritorniacapoforzati
credo che otterrň come risposta l'altezza di una riga di testo, il che č
oggettivamente poco interessante
quindi, in prima istanza, bisogna stabilire, con un dato carattere, quante
linee di testo occupa, e verificare se questo numero di linee puň essere
contenuto nel textbox.
si tratta sempre di lavorare con textwidth e textheight, ma č sicuramente
piů laborioso.
btw, se ho ragione, cambiare le dimensioni del form, o usarne uno nascosto,
č completamente inutile


 nascosto, è completamente inutile
Con un form non so. Col picturebox invece hai dato la strada giusta.
Ciao
Alberto

 textwidth ottieni la larghezza della riga piů lunga.
ho appena provato.
non č cosě.
se la stringa non ha ritorni a capo espliciti (vbcrlf o vbnewline, per
intenderci) viene stampata su una sola riga, anche se non ci sta, e la
textheight č quella di una singola riga.


 textheight è quella di una singola riga.
Hai ragione.
Mi sono confuso. Io per questa cosa sfrutto un piccolo parser, che non fa
altro che partire dall'inizio della stringa, analizzare il textwidth del
Left$, e inserire un VbNewLine (tornando indietro fino all'ultimo spazio)
quando questo valore supera la Width voluta. Poi, proseguendo, si ottiene
una nuova stringa che ha appunto i VbNewLine esplicitati, e a questo punto
textwidth e textheight sono attendibili.
Se tutto questo gioco è inserito in un loop, dove si varia il font a valori
sempre più piccoli, ad un certo punto si ottiene il valore giusto.
Ciao
Alberto
--
Santo cielo, Magnum, si può sapere cos'è questo baccano?
Higgins, posso spiegarle...
Credo non sia necessario.
Zeus, Apollo, a voi...

 Mi sono confuso.
cazzo.
prima di scrivere, verifica.
mi è toccato di alzarmi, cambiare pc e scrivere cinque righe di codice, per
verificare se mi ricordavo correttamente, o se avevi ragione tu.
sai quanto odio lavorare...
