Newsgroup: it.comp.appl.access
Titolo: ridimensionare controlli ai caratteri consentiti

c'è un modo per ridimensionare automaticamente i controlli di una 
maschera o di un report alla gradezza utile a rappresentare tutti i 
caratteri consentiti dal campo?

Si, la cosa è complessa, ma fattibile, trovi per comodità un Demo
di Stephen Lebans quì(anche se non è proprio quello che chiedi):
http://www.lebans.com/autosizefont.htm
Il problema è definire Leggibile.
Quello che a video può essere non leggibile in stampa lo sarà di
certo
quindi fare quanto chiedi lo trovo personalmente poco sensato.
Es:
Carattere Arial 10pt
Risoluzione 800x600
Direi che lo leggerebbe anche mia nonna....!
Risoluzione 1280x1024
Credo che mia nonna, ma forse anch'io, avrebbe
qualche difficoltà....!
Entrambi in Stampa invece avrebbero la stessa leggibilità.
Alcune volte si utilizza un sistema di Resize delle Form proprio per
compensare le variazioni di Risoluzione, ma non credo sia il tuo caso,
almenon
non è chiaro da quanto dici.
Non saprei che altra soluzione o considerazione intelligente farti.
@Alex

 di Stephen Lebans quì(anche se non è proprio quello che chiedi):
probabilmente la ritieni complessa perchè non mi son spiegato bene.
dato che il report è abbastanza pieno e quindi non ci sarebbe spazio per 
  un campo bello lungo, vorrei far capire subito a chi sta immettendo 
dati quando questi non verranno stampati.
Per fare questo posso impostare le dimensioni limite del campo e poi 
lanciare un msgbox quando il limite viene superato giusto?
Però vorrei avere i controlli delle form di una certa lunghezza, quella 
otteniile dalla somma della lunghezza di ogni carattere * i caratteri 
possibili per quel campo.
un esempio
campo nome ->> max 50 caratteri
mettiamo che 1 carattere è 2 mm
controllo nome-->lunghezza = 50*2 mm = 100 mm

A parte che nei report esiste la proprietà CanGrow (Espandibile) che
solitamente
consente di stampare anche quello che credi non si veda...!
Personalmente sono convinto che tu stia partendo da un'approccio
errato.
Secondo la funzione per far quello che dici, per me non è così
complessa, ma
ti assicuro che non è semplice, il Link che ti ho suggerito contiene
tutto quello che
ti serve per farlo, ma come vedi del codice scritto ne trovi molto, se
riesci a capirlo
vedrai che è abbastanza semplice.
In VB non esiste mm, ma si lavora in Pixels oppure, anzi meglio, in
Twips, e ricavare
le dimensioni di un FONT(Video) condizionate dalla risoluzione
eccc..... spesso
sono cose che non tutti trovano semplici.
Tieni poi presente l'errore di fondo che hai commesso:
1 Carattere=2mm
quindi:
2 Caratteri=4mm
ERRATO...!
La maggiorparte dei Font sono adimensione variabile a seconda del
carattere
così la lettera I occupa pochissimo mentre la M o la O occupano circa
3 volte
in più...!
In realtà ci sono anche Font a dimensione fissa, ma sono quelli non
usati o meno usati...!
Quindi ricapitolando devi ricavarti il Font passare le singole lettere
digitate alla funzione che ne
calcola la dimensione(ovviamente mentre scrivi, quindi su KeyPress)
dopo aver stabilito
la Risoluzione video e la dimensione massima dovuta alla larghezza
della TextBox che
è in Twips ma che per il calcolo della somma dei Font serve in
Pixles...!
Fai pure...!
;-)
@Alex