Newsgroup: it.comp.lang.visual-basic
Titolo: Scrollbar su Form

Salve,
ho l'esigenza di aggiungere uno scrollbar orizzontale e verticale in tutti i
miei form, perchè con basse risoluzioni video, molti pulsanti non riesco a
visualizzarli.
Come è possibile inserirle?
Grazie,
Gregor.

 ha scritto nel messaggio
news:BnuL7.11148$BA4.3...@news1.tin.it...

Perchè non usi una MDI?

 Perchè non usi una MDI?
Mi spieghi bene? Non vorrei però dover ricreare i form.
Grazie.
Gregor.

 > Perchè non usi una MDI?
Sono molto preoccupato!
Ho visto i FormMID......significa che devo rifarli tutti vero? ;(
Gregor.

 wrote in message
| > > Perchè non usi una MDI?
| Sono molto preoccupato!
| Ho visto i FormMID......significa che devo rifarli tutti vero? ;(
No. Ne devi solo aggiungere un MDIForm.
Agli altri imposti la proprietà MDIChild a True.

 Agli altri imposti la proprietà MDIChild a True.
Ho provato, ma così creo finestre dentro finestre...e mi complico un pò la
vita.
Non sarebbe possibile che le finestre si adattassero alle risoluzioni? E'
chiedere troppo?
Grazie.
Gregor.

 ha scritto
| "Jabba The Hutt" <Jabba....@Alderaan.SW> wrote in message
| > No. Ne devi solo aggiungere un MDIForm.
| > Agli altri imposti la proprietà MDIChild a True.
|
| Ho provato, ma così creo finestre dentro finestre...e mi complico un pò la
| vita.
Vero, inoltre non era una vera e propria soluzione al problema originario.
| Non sarebbe possibile che le finestre si adattassero alle risoluzioni?
Si. E' possibile (con le scrollbar).
| E' chiedere troppo?
Se pensi di chiedere troppo alle tue capacità, allora non programmare +.
Se pensi di chiedere troppo a qualcuno del NG: si. Il tuo problema e' il problema di tutti quanti
programmano con le interfacce grafiche. E non e' semplice da risolvere. Per fortuna che altri
abbiano già abbozzato una soluzione (magari non efficente, ma funzionale). Per questo ti consiglio
di cercare ai link qui sotto riportati (usa le parole chiavi "form resize" per eventuali ricerche
sui siti americani):
5) Quinta fonte di informazione: cercate tra i sorgenti già scritti e pronti che al 99%
risolvono quello su cui state lavorando e con minime modifiche.
*  
http://www.it-lang-vb.net/
  (Sezione sorgenti)
*  
http://www.planet-source-code.com/vb/
*  
http://www.vbcode.com
Ciao,
Jabba

 sui siti americani):
Esaminerò i link, grazie!
Preciso solamente che il mio "E' chiedere troppo?" era riferito a VB ;),
cioè mi (e vi) domandavo se era chiedere troppo a VB un ridimensionamento
naturale delle finestre in base alle dimensioni impostate per il desktop.
Gregor.

 Grazie.
preciso: ho visto la spiegazione che hai dato dopo di 'chiedere troppo'.
si', e' chiedere troppo a vb, e mi sa anche ad altri linguaggi. se
rimpicciolisci word, che penso sia scritto in c, ti ridimensiona si' e no,
se hai impostato lo zoom a 'larghezza', il controllo testo. ma toolbar,
barra menu ecc. le vai a coprire.
per il tuo problema: esistono controlli (ocx e dll) anche free di resize. ma
a mio parere il risultato e' sempre e comunque una porcata. se un form e'
impostato per ms sans serif 8, con ms sans serif 24 fara' vomitare. e
qualunque controllo usi, sappi che potrai avere problemi di compatibilita' e
comportamenti o proprio errori inaspettati. un minimo di lavoro di codice
fara' bene a te e al tuo programma.
tenendo sempre presente che se un form e' _molto_ grande probabilmente lo
puoi ripensare, eventualmente scindendolo, hai due soluzioni
1. metti i tuoi controlli in un picture, e fai scorrere quello. soluzione
per me bruttina, e infatti dispendiosa.
2. usi un mdi, come ti hanno detto. e' la cosa piu' naturale. ora che office
ha cambiato faccia, puoi vedere photoshop, per esempio. devi solo ripensare
un attimo a come visualizzare le finestre, tenendo presente che
probabilmente alcune _non_ dovranno/potranno diventare children. ma se nel
tuo programma ne hai molte e' la cosa migliore. mi sembra che negli gli
esempi di vb tu possa anche usare l'opzione mdi, giusto per vedere com'e' la
gestione via codice, salvo rari casi abbastanza semplice.
ciao e buon lavoro, a.
--
http://www.comune.modena.it/cittadini/apal/
http://digilander.iol.it/javalab
http://digilander.iol.it/chappi

 visualizzarli.
Consiglio: invece di ScrollBar usa un controllo schede (Ms Tab o TabStrip):
č molto piů elegante e soprattutto comodo per l'utente e consente di
visualizzare semplicemente molti controlli su uno stesso Form. Inoltre
permette di raggrupparli logicamente, che non č banale!
HTH
Ciao,
Carlo.

 "Gregor" ha scritto:
Questi problemi potrei anche lasciarli perdere, però mi è capitato di far
girare il mio programma su un Pc che aveva una risoluzione diversa e le
dimensioni delle icone molto grandi. Il risultato è stato che compariva a
video un form contenente griglie, label ma visibile solo per 1/3.
Da lì è nata l'idea di ovviare al problema inserendo delle scrollbar.
Il punto è questo, il mio progetto è completo (al 99%), una soluzione che mi
costringa a rifare i form la escludo, alla peggio ridimensiono le icone del
Pc (anche se può essere scomodo).
Il TabStrip posso aggiungerlo a ciò che esiste già, oppure (solito discorso)
devo modificare radicalmente il progetto?
Grazie a tutti.
Gregor.

 devo modificare radicalmente il progetto?
Se il problema è questo, la soluzione migliore è di gestire il tutto (cioè
il ridimensionamento automatico del form e il riposizionamento di tutti i
controlli) con l'evento Form_Resize. E' più laborioso, ma il risultato
ripaga decisamente, perché il tuo programma sarà sempre bello e comodo da
usare con qualunque risoluzione.
Ciao,
Carlo.

 ha scritto
| Il TabStrip posso aggiungerlo a ciò che esiste già, oppure (solito discorso)
| devo modificare radicalmente il progetto?
Certo! Con il tabstrip dovrai aggiungere anche tanti frame quante sono le sezioni (pannelli) del
tabstrip, sezioni che possono essere sufficientemente piccole da essere visibili totalemente a basse
risoluzioni. Poi non fai altro che spostare i vari controlli all'interno dei frame (organizzandoli
logicamente) e l'unica cosa che ti rimarrà da fare e' gestire la comparsa/scomparsa dei vari frame
al momento di cambiare sezione (a run-time).
Ciao,
Jabba

Si. E' possibile (con le scrollbar).
E' possibile ma non si fa. "How do I add scrollbars to a dialog?" "You 
don't". Fa schifo: non è funzionale, non è professionale, le scrollbar 
non servono a questo
Considererei il completo ridisegno dell'interfaccia (appropò, Gregor, 
posso vederne uno screenshot?)
-- 
Nato nel vizio, morto nel supplizio
Nato nel peccato, ad entrare sia invitato

 non servono a questo
[cut]
Ho optato per lasciare tutto così.
Magari un gg (quando avrò più dimestichezza con VB) prenderò in
considerazione i MDIForm
Grazie a tutti.
Gregor.

 Certo! Con il tabstrip dovrai aggiungere anche tanti frame quante sono le
sezioni (pannelli) del
[cut]
Sono interessanti, grazie per la segnalazione.
Per il momento però non posso (per questione di tempo) ridisegnare il
progetto.
Gregor.