Newsgroup: it.comp.lang.visual-basic
Titolo: cambio di risoluzione

salve a tutti
volevo chiedere dei consigli su un problema che penso sia stato preso in 
considerazione dalla maggioranza di chi usa vb.
Allora , ho scritto un prog in vb su winXP e con risoluzione 1024x768 e 
se intallo su pc con con la stessa risoluzione tutto bene , ma se la 
risoluzione cambia cambiano form e gli oggetti interni(proprio un gran 
casino). Ho risolto dando le coordinate e le dimensioni ad ogni 
oggetto,ma se questo va bene per prog con 1-2 form per prog + grandi 
diventa una cosa assurda. Qualcuno ha già affrontato questo problema?
Inoltre perche se compilo su XP il prog non va su 98?
grazie a tutti
ciao fabio

Io ho riscontrato lo stesso problema con risoluzione identica ma "tema" di
windows diverso....
... non ho ancora trovato una soluzione...
Ciao,
TN.

Sul sito comune cerca "cambio risoluzione"
Ciao Gab 

 Inoltre perche se compilo su XP il prog non va su 98?
Eh... Questo dipende da cosa c'è nel programma...
Antonio Mirarchi 

 ha scritto nel messaggio
news:JGz%c.3569$LV3....@nntpserver.swip.net...


 ciň, il mio programma c'ha 400 controlli!
Fai una ricerca per "resize" sul Sito Comune, ci sono una classe
e una dll per il ridimensionamento dinamico anche a run-time :-).
Bye, G.

Ciao,
ho letto i vostri post e utilizzerò sicuramente il vostro codice.
Tuttavia, come avevo scritto all'inizio, a me (e a questo punto non capisco
come mai...) non si verificano problemi  nel form quando viene utilizzato in
un monitor con risoluzione diversa, mi capita invece che si sposti tutto
quando il programma viene fatto girare su una macchina in cui siano stati
settati nelle proprietà del monitor, ad esempio, i caratteri grandi (mentre
io utilizzo la dimensione standard).
Qualche consiglio a proposito?
Grazie ciao,
TN.

 ha scritto nel messaggio
news:chrm8b$cr7$1...@newsreader.mailgate.org...

I problemi infatti non nascono quando si cambia risoluzione e basta ma quando si
modificano le impostazioni DPI dello schermo, settando un valore diverso da 96
DPI che corrisponde a "dimensioni normali".
Il mio consiglio è... sconsigliare caldamente l'utilizzo di simili impostazioni
(che a mio avviso oltretutto rendono piuttosto bruttino e "grossolano" l'aspetto
di tutti i programmi).
In caso non se ne possa fare assolutamente a meno ci sono due strade, secondo
me:
1. Un design dell'interfaccia utente quanto più possibile "equilibrato", in modo
da apparire decente sia a 96 DPI che con valori più grandi. Ma non sempre questo
è fattiibile.
2. L'adeguamento automatico di posizione e dimensioni dei vari controlli, come
negli esempi dei post precedenti. Va però fatta una piccola modifica riguardante
il
coefficiente di ridimensionamento, che in questo caso dovrà essere calcolato
così:
VSR = Screen.TwipsPerPixelY / 15
Infatti a 96 DPI Screen.TwipsPerPixelY vale 15, a 120 DPI ("caratteri grandi")
vale 12.
Bye
Raf


Lungi da me farti soffrire, ripeto, non sarà il sistema più elegante, ma
funziona.
Però in effetti mi sono scordato di dire che poi tanto il file quanto le
istruzioni di servizio le devi cancellare. Servono soltanto a creare il file
che materialmente scrive delle righe di codice che vai ad incollare. Una
volta fatto questo cestini il file che non ti serve più e soprattutto le
righe di codice che hanno scritto il file. Altrimenti ogni volta che il
povero utente fà partire il programma si ritrova il FileServizio.txt sul suo
desktop!!
Ciao
Claudio

Io ti consiglierei di creare programmi che girino a 800x600 (se proprio 
vuoi farla sporca progettali per 640x480) e stop.
Usa un po' di spazio fra i controlli in modo da pararti il c**o quando 
qualcuno aumenta il DPI nelle impostazioni di Win.
Quasi tutti i programmi adottano questa tecnica (Word, Excel, PaintShop 
Pro e compagnia bella).
Poi volendo rendi le forms Sizable=True e nell'evento Resize 
allunghi/accorci le flexgrid o le listview che ci sono dentro (vedi 
programmi di posta elettronica).
-- 
Quando noi ignoranti eravamo di più,
tutto era più bello...
(Adriano Celentano)

 Non sarà il sistema più elegante, ma funziona.
Non è questione (solo) di eleganza, ma di efficienza. Forse
non mi sono spiegato bene. Se tu aggiungi un paio di controlli,
o anche solo li rinomini, poi cosa ti tocca fare ?
Devi ricreare tutto da capo e modificare il programma,
giusto ? Invece con il sistema che ti ho suggerito, è tutto
automatico, non devi passare da un file esterno e non devi
cancellare né modificare niente.
Di più: se metti quella proc nel form_resize, con le dovute
modifiche, funziona anche se ridimensioni il form a run-time. :-))
Bye, G.

Hai perfettamente ragione, e questo è il motivo per cui frequento il
newsgroup. Io da programmatore per hobby trovo delle soluzioni, ma poi qui
scopro spesso che esistono vie più efficaci, e quindi cresco anche io, ed i
miei programmi con me.
Alla prossima.
Claudio Facciolo

Cos'č il Sito Comune?
Grazie

 Cos'è il Sito Comune?
Il sito creato e gestito (beh, non molto, ultimamente, ma
questa è un'altra storia) dai partecipanti al newsgroup:
http://www.it-lang-vb.net/
Bye, G.