Newsgroup: it.comp.lang.visual-basic
Titolo: Resizing a diverse risoluzioni

Ciao a tutti,
Stò creando un'applicazione cha fa uso di documenti MDI. Le finestre sono un
pò complesse(griglie textbox combo ecc.) quindi molto grandi, la risoluzione
minima a cui si  può lavorare senza che nessuna di queste esca dallo schermo
è la 800*600.
Il mio problema è che vorrei utilizzare anche la risoluzione 640*480.
Ho pensato quindi che potrei, a seconda della risoluzione utilizzata,
ridefinire tutte le textbox, griglia, combo ecc. e le dimensioni dei
caratteri e delle finestre.
La cosa è abbastanza complicata come potete immaginare....
Le mie domande sono le seguenti:
-Esiste un modo di effettuare un resizing automatico più semplice?
-Come si comportano le applicazioni professionali con questo problema?
  In altre parole c'è un metodo standard?
-Come faccio a sapere da VB come conoscere la risoluzione attuale dello
schermo?
Grazie a tutti quanti avranno la volontà di aiutarmi!!!!
Ciao,
Damiano

schermo?
Io ho creato una sub che richiamo da ogni form che viene caricata.
La sub non è implementata per gestire tutti i controlli perchè il prog a cui
sto attualemente lavorando non ha altro che pulsanti, caselle di testo e
labels.
Però puoi aggiustare questo codice semplicemente aggiungendo le linee
necessarie per ogni controllo (ad esempio non vorrai che un pulsante si
allarghi a tutto lo schermo, mentre lo vorrai per una frame...
Sub riassetta(frm As Form)
Dim NewWidth As Long
Dim NewHeight As Long
Dim NewTop As Long
Dim NewLeft As Long
Dim ctl As Control
NewWidth = Screen.Width * 2 / 3  'setta la form a 2/3 dello schermo
NewHeight = Screen.Height * 2 / 3
For Each ctl In frm.Controls
ctl.Width = NewWidth * ctl.Width / frm.Width
'differenzia per cotrolli che necessitano un resize particolare
If TypeOf ctl Is ListBox Or TypeOf ctl Is Frame Then
ctl.Height = NewHeight * ctl.Height / frm.Height
End If
ctl.Left = (NewWidth * ctl.Left) / frm.Width
ctl.Top = (NewHeight * ctl.Top) / frm.Height
Next ctl
frm.Width = NewWidth
frm.Height = NewHeight
End Sub
Paolo

>Io ho creato una sub che richiamo da ogni form che viene caricata.
mi sono scordato di dirti che la sub funziona riproporzionando la form
rispetto alle nuove dimensioni dello schermo, ma in relazione ai valori di
partenza da te settati di form.width e form.height. Lo setesso per i
controlli.
P.

 Io ho creato una sub che richiamo da ogni form che viene caricata.


 wrote in message 86ip0o$6f0$1...@nslave1.tin.it...


 Damiano
sulla base della mia limitatissima esperienza:
-- 1024 puo' non essere sufficiente. stamattina su un prg mio mi sarebbe
servito 1600... se hai molti form che farebbe comodo avere affiancari puo'
capitare. le interfacce grafiche, il sistema mdi, ecc., ti danno la
possibilita' di fare molto, ma nel caso prevedono soglie minime alte.
-- 800 e' il compromesso medio attuale. qui... visto che un mio amico del
missouri mi continua a inondare di jpeg 1280*1024... io a buon conto *tutte*
le mie immagini le scandisco minimo a 1024 (768 se verticali) e 600dpi
ottici, e in questo modo sono sicuro che terranno qualche anno (oggi ho
stampato in a4 la scansione di un testo ed era piu' che leggibile, mentre
vedo professionisti scandire ancora adesso a 640*480*72, tanto
vanno a video... risultato: sarebbero illeggibili in a6).
morale, se c'e': lavorare in previsione, mai sull'attuale.
-- se un cliente ha ancora dei monitor 640, consigliagli di cambiarli. un
monitor 1024 decente sta intorno o sotto le 200k... inoltre capita che ci
sia una legge (la 641 se non sbaglio). se ci sono in giro monitor e schede
640, ho forti, fortissimi dubbi sulla loro rispondenza alle varie normative
iso e ce. io sto buttando via dei magnifici monitor ibm mca 12" e 14"
640-1024, con
colori che non ho visto neanche negli eizo e nei sony trinitron, soprattutto
perche' non sono marcati ce.
-- e -- se posso darti un consiglio -- usa *sempre* small fonts e ms sans
serif 8 normale, salvo eccezioni che *devono* rimanere tali. a 800*600 ci
sta praticamente qualunque form/tabella. al piu', dovrai prevedere di avere
un form davanti all'altro, anziche' affiancati, che sarebbe spesso comodo.
se a 800 devi usare le barre di scorrimento, forse ti conviene rivedere
qualcosa nella tua interfaccia.
-- magari, se puoi, da' anche un'occhiata a
http://www.iarchitect.com/mshame.htm
ciao, pal

txtbox debba ingrandirsi con un ms s.s.10 o piu'.
e perchč?
Io odio i prog che ti dicono: per funzionare sei obbligato ad usare
una risoluzione di YYY x ZZZ
E se devi veramente andare incontro all'utente non puoi non tenere conto
di tutti i fattori modificabili.
Considera inoltre che l'utente solitamente usa una certa risoluz. e non la
cambia durante l'uso del prog. Per cui eseguendo una piccola (?) sub ad
inizio prog e avendo l'accortezza di nascondere i forms che non usi invece
di scaricarli e poi ricaricarli, non appesantisci di molto l'appl. e rendi
un prog universale.
Paolo
(accccc mi č scappato di nuovo!)

 (accccc mi č scappato di nuovo!)
niente morsi neanche stavolta, suppongo :)
ciao, a.

 x' vanno solo a 640 mentre io dal '91 uso sempre 1024, [...]
Avendo lavorato allo sviluppo di due enciclopedie multimediali, mi sento
direttamente tirato in ballo.
Gestire le risoluzioni multiple in una opera multimediale è un inferno. Hai
a che fare con svariati problemi, legati sia all'impostazione grafica che
all'occupazione di spazio su disco.
Chi decide l'impostazione grafica non è mai un programmatore, ma è il
responsabile d'area di progetto, che visiona dei bozzetti fatti dal grafico.
I grafici tendono sempre a fare pagine molto belle ma fisse. Quando poi gli
parli di rifarle a 3 o 4 risoluzioni diverse, ti guardano come se fossi
scemo.
Malgrado questo, nell'ultima enciclopedia abbiamo gestito nella
visualizzazione del lemma risoluzioni fino a 1024x768, ma visto che le
interfacce devono essere mantenute in alta qualità e quindi non possono
essere compresse, ogni nuova bitmap ha comportato una maggiore occupazione
di spazio sul CD. Se fai conto che in una enciclopedia seria si usano fino a
150/200 bitmap diverse di interfaccia, puoi capire come lo spazio occupato
diventi "importante".
Oltre all'occupazione dello spazio sul CD (che sembra grande, ma quando ci
devi far stare una enciclopedia, finisce subito), c'è il problema di quello
sull'HD.
Le bitmap di interfaccia sono quelle caricate + spesso, quindi è meglio che
vengano copiate su HD, ma il povero utente non deve essere costretto a
cambiare HD per comprarti l'enciclopedia, quindi anche questo fa da calmiere
alla "sagra del resize".
Oltre all'interfaccia, lo stesso problema lo devi moltiplicare per tutti i
filmati, tutte le immagini, tutti i QuicktimeVR, etc. Alla fine non ti
basterebbe un DVD, e  la maggior parte dei dei tuoi utenti (quelli a 640x480
o a 800x600) sarebbero comunque scontenti perchè l'opera sarebbe lenta a
causa della necessità da parte del programma di fare il resize a runtime
delle immagini e dei filmati.
A questi problemi devi sommare, per le opere minori, quello del basso budget
che viene investito. Non c'è lo spazio per fare eccessive finezze o soldi
per pagare troppe elaborazioni grafiche. Se il CD costa poco all'utente è
perchè viene pagato poco lo sviluppo, quindi non ci si può aspettare la
luna.
Scusa la lunga precisazione... 8-)
Ciao
*Roby*

all'occupazione di spazio su disco.
mi sei sembrato + che convincente! :)
Paolo

 Gestire le risoluzioni multiple in una opera multimediale è un inferno.
ti credo perfettamente. speigazione molto dettagliata e convincente.
d'altronde il tuo modo di lavorare lo posso intuire dalle risposte che dai
sul ng, sempre piuttosto qualificate. cio' non toglie che
1. la "sagra"  del multimediale ha fatto concepire e mettere fuori delle
vere schifezze. immagini che non reggono un 2x, ecc.
2. bene, stiamo pure nel 640. capisco il mercato potenziale e le tue
ossservazioni. pero' -- caso tipico cd'arte repubblica-giunti, omnia de
agostini (se non sbaglio e per non far nomi) -- perche' mai un'opera
prevista a 640 deve bloccarmi tutto lo schermo 1024 con un form espanso al
massimo? che gliene frega a loro se io tengo aperto il cd'arte e anche
qualcos'altro, magari un altro cd, magari il ng... posso sempre usare
alt-tab, ma e' inutile fatica in piu'... - questo e' un esempio di quello
che io chiamo programmazione supponente, spocchiosa.
-- ti prego, non dirmi che ci hai lavorato tu... :)
grazie e ciao, a.

usare un 640, affari loro.
questo perchč tu lavori a commissione.
Io sono ancora un principiante e penso di fare shareware da distribuire...
Non ho un committente.
Ma poi, se fai un prog, penso che sia tuo interesse venderlo a quanti piů
clienti possibili, senza doverne variare la gui ogni volta che lo vendi!
Paolo

 -- ti prego, non dirmi che ci hai lavorato tu... :)
Ad Omnia 98 e 99 si. A quella di quest'anno, no. Sono passato alla
concorrenza.
Comunque mi ero occupato per Omnia 99 del CD2 e del telecomando di
visualizzazione dei media. Tutte le parti insomma che andavano a + di
640x480. ;-)
Ciao
*Roby*

 A quella di quest'anno, no. Sono passato alla concorrenza.
me lo sento. non dirmelo, anzi si': rizzoli ? :)
ciao, a.

 beato te! :)
dipende...
nel '91 avevo 12 pollici e 12 decimi...
ora i decimi variano in ragione inversa dei pollici...
comincio a capire j.l. borges che faceva le recensioni ai film pur essendo
praticamente cieco...
ciao, a.

 8-)
^_______________________^
AUGURISSIMI da un altro papà !
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi
    sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
       ... e nell'help in linea !
---------------------------------------------
Real E-address: 
gaet...@hotmail.com

 me lo sento. non dirmelo, anzi si': xxxxxxx ? :)
Nel caso in cui fosse quella, sarei citato nei credits 8-)
Ciao
*Roby*


8-)
COMPLIMENTI!!!
o AUGURI!!!
o cos'altro si dice in questi casi!
Hai fatto bene a dirlo.
In bocca al lupo a Giulia!
(che tra l'altro è uno dei miei nomi preferiti)
P.

 8-)
Benvenuta, Giulia!
Ciao.
Maurizio

8-)
1e99 AUGURI !!!!
Ettore Maronese

-Esiste un modo di effettuare un resizing automatico più semplice?
Ciao,
pochi gioni fa ho scaricato un progetto VB che si occupa proprio di questo.
Nel file .ZIP c'è un demo e sembra funzionare correttamente.
Se ti interessa fammi sapere.
teddy...@hotmail.com
ICQ 7044062
Como - Italy

> AUGURISSIMI da un altro papą !
Grazie a te e a tutti gli altri che ancora non sanno cosa vuole dire. 8-)
Fine dell'OT.
Ciao
*Roby*
________________________________________
Posso anche capire il "tu lavorerai con sudore", ma "tu partorirai con
dolore" č una punizione decisamente esagerata per una cavolo di mela...

 Fine dell'OT.
eh no, mica valido chiudere cosi' un ot quando gli altri sono via :)
quindi --> complimenti e augurissimi a tutta la famiglia !