Newsgroup: it.comp.lang.visual-basic
Titolo: VB6 e risoluzione video

Improbabile che ci possa essere una soluzione
semplice al mio problema, ma ci provo lo stesso.
Quando ho iniziato a fare il mio unico e abbastanza
grosso programma gestionale la risoluzione piů
frequentemente utilizzata era 800x600.
Ho quindi impostato i miei form tenendo conto
di tale risoluzione e col carattere di 8 in tutti i
controlli (dovendo riuscire a mettere parecchi
controlli per ogni form).
Preciso di non aver utilizzato i controlli standard
di VB ma di aver usato dei UserControl (numeri, date,
testi, ecc.)
Ora alcuni clienti usano risoluzioni sempre maggiori
ed i miei form diventano sempre piů piccoli sui monitor
e quindi la lettura dei caratteri piů difficoltosa.
Esiste un modo per risolvere il problema senza dover
riscrivere tutti i programmi?
Grazie e saluti.
Sauro 

"Sauro" ha scritto

Degli aggiustamenti dovrai sempre farli, e non tutti
i controlli sono gestiti, ma ci sono svariate routine
di autoresize in circolazione. Guarda (ovviamente) sul
Sito Comune, ce ne dovrebbero essere almeno un paio:
http://www.it-lang-vb.net/
Bye, G. 

 Bye, G.
Il peggio io l'ho trovato per un programma fatto in 800 x 600
che viene visualizzato perfettamente  ( ha un'immagine di fondo )
solo se non cambi le proprieta' dei FONT  dalle proprieta
dello schermo.
In pratica se mantieni i 96 dpi  va tutto bene se modifichi questa proprietà
( ad esempio a 120 dpi)  la schermata si smembra tutto
sopratutto nei caratteri dei pulsanti e nelle immagini di fondo degli stessi
e del form.
Non ho ancora trocato una soluzione


La soluzione è leggere le impostazioni del sistema all'avvio del 
programma ed impostare l'interfaccia in ragione dei valori rilevati. 
Questo vale non solo per i DPI dello schermo (che posso assicurare non 
rappresentano il problema principale) ma anche per le dimensioni delle 
scrollbar, del bordo delle finestre, l'altezza dei pannnelli delle barre 
di stato, i colori delle componenti dell'interfaccia (quelli dei temi 
sono ostiche da rilevare) ecc.
L'eventuale immagine di fondo non va messa nel form ma in un contenitore 
ridimensionabile, proprio in ragione di questo.
Con una sola routine elementare si possono variare le dimensioni dei 
caratteri dei controlli di una finestra in ragione delle necessità (for 
each control... next).
Con un minimo di nozioni di geometria ed un po' di accortezza è semplice 
ridimensionare le finestre ed i controlli contenuti.
È così che si fa; non ci sono controlli miracolosi, impostazioni 
nascoste o API intergalattiche. Per tutti quelli che sviluppano questo è 
pane quotidiano.
Ho ricordi (anni fa) di un controllo che ridimensionava 
proporzionalmente i contenuti delle finestre. L'effetto non è bello e 
per alcuni controlli è illogico, ma potrebbe essere una soluzione a 
basso costo.
-- 
-> GbC|
www.gbcdepot.com
www.chiappori.com
 

 ha
scritto:

Modi ce nes sono diversi, ti segnalo una DLL che  consente delle operazioni
sulle finestre e sui gruppi di controlli:
http://www.vbaccelerator.com/codelib/ssubtmr/ctrlres.htm
e ti puň servire anche questo:
http://www.devx.com/tips/Tip/12173
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=71996&lngWId=1
--
ciao
  Stefano

>>
[snip]
http://www.resizer.com/index.htm
era questo, ed è a pagamento...


 Non ho ancora trocato una soluzione
Ma cliccare su un link e provare una ricerca è così difficile ?
http://www.it-lang-vb.net/archivio.asp?subMenu=Tutte&FullText=on&TypeRic=AND&keyword=resize&x=0&y=0
Direi che il terzo e quarto risultato possano essere buoni
punti di partenza.
Bye, G.

 Ma cliccare su un link e provare una ricerca č cosě difficile ?
[snipsnap]
l'ottavo nano: clěccolo!


Farò un po' di prove
Gracie a tutti.
Sauro 

 riscrivere tutti i programmi?
Anche senza componenti esterni io uso la classe ClResize trovata sul sito
comune e "upgradata" per le cose che mi servivano.
Se cerchi fra i miei post dovrebbe esserci del codice.

Sauro.....a me è capitato l'opposto!
1024 x 768 ....la segretaria non ci vede me lo mette a 800x600....
a un certo punto uno fa tanto ma poi si arrende: non si può chiedere tutto!
io ce l'ho fatta: allo start legge la risoluzione corrente.... salva il dato delle dimensioni...setta 1024x768....all'uscita ripristina quello che c'era!
Ovviamente in un gestionale si può fare anche se brutto....se lo fà Zucchetti perchè non lo posso fare io???
In 
vb.net
 sti problemi non li hai!
puoi scegliere wpf e tagli la testa al toro per quanto riguarda problemi di risoluzione...ma anche in WinForm ti arrangi bene!

 ha scritto nel messaggio 
news:257ce1b8-23aa-433a...@glegroupsg2000goo.googlegroups.com...

Beh il Vb.net  fa la stessa identica cosa con lo stesso programma in porting 
(wpf non lo conosco)
Se pero' ci sono delle istruzioni particolari non le ho ancora sperimentate 

 Se cerchi fra i miei post dovrebbe esserci del codice.
L'ho provata e funziona per quel che fà.
Io poi avevo la pretesa che anche i caratteri
diventasserò più grandi (per esempio da 8 a 10).
E sarebbe anche stato possibile aggiungere questa
modifica nella classe se avessi usato dei controlli
standard di VB.
Purtroppo, quando ho iniziato a lavorare con VB,
la prima cosa che ho fatto è stata quella di crearmi
dei controlli miei (Numero, Data, Testo, ecc.) ed
ho quindi previsto un'altezza fissa con il carattere
di 8; solo la larghezza è variabile e solo in funzione
del numero dei caratteri che può contenere il
controllo (per esempio ho "battezzato" un controllo
Data gg/mm/aaaa che ha dimensioni fisse e non
può essere ridimensionato quando si crea un form).
Per altri versi si è rivelata un'ottima decisione in quanto
la validazione dei dati inseriti viene effettuata all'interno
del controllo una volta sola.
Per questo problema specifico è stata invece una
pessima decisione.
Dovrò lavorare parecchio sui controlli per poter
utilizzare dei form più grandi.
Tra l'altro ho dimenticato di segnalare che nel mio
programma ho previsto che l'utente non possa
ridimensionare i form e debba sempre vedere
tutti i controlli che un form contiene; questo in quanto
alcuni campi vengono variati se su altri campi vengono
inseriti determinati valori.
Grazie Andrea
Sauro

Adesso, soprattutto chi disegna CAD, usa delle
risoluzioni tipo 1280x960 o forse anche maggiori.
Se usassi il tuo criterio (rovesciato) all'uscita del
programma tute le icone verrebbero spostate.
Poi si è diffusa l'abitudine (che io detesto) di tenere
aperti contemporaneamente non 2 o 3 programmi,
ma addirittura 10 o 12.
Ciao Wodka
Ci vediamo alla prossima mangiata.
Sauro