Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: - 20 Settembre 2009, 12:16:05

Titolo: impaginazione form
Inserito da: - 20 Settembre 2009, 12:16:05
Ciao a tutti..

vi chiedo una cosa strana eheh

io ho un form e ho impostato il Maximize=true per avere a schermo intero

ho 3 componenti, una textbox, un pulsante e una barra di avanzamento

come posso fare in modo che mi si ridimensionino automaticamente a 1/3 1/3 e 1/3 a secondo del monitor? se apro il programma su un 1024x768 o su 1280x1024 mi sballerebbe tutto tenendo coordinate standard..

spero di essermi spiegato xke non è facile da descrivere eheh
Titolo: Re: impaginazione form
Inserito da: fsurfing - 20 Settembre 2009, 13:13:03
a parte che avere textbox , pulsante e barra così grandi secondo me è orrendo! devi utilizzare i metodi  .whidth , .heigth dei vari componenti per definirne le dimensioni

e i metodi .X  e .Y per definirne la posizione


Codice: [Seleziona]

PUBLIC SUB Form_Resize()

DIM bordo AS Integer = 10 ' definisce la grandezza del bordo tra un componente e l' altro


  Button1.w = FMain.w - bordo
  Button1.h = (FMain.h - bordo * 4) / 3
 
  ProgressBar1.w = FMain.w - bordo
  ProgressBar1.h = (FMain.h - bordo * 4) / 3
 
  TextBox1.w = FMain.w - bordo
  TextBox1.h = (FMain.h - bordo * 4) / 3
 
  Button1.x = bordo / 2
  ProgressBar1.x = bordo / 2
  TextBox1.x = bordo / 2
 
  Button1.y = bordo
  TextBox1.y = Button1.y + bordo + Button1.H
  ProgressBar1.y = TextBox1.y + bordo + TextBox1.h
 
END
 
Titolo: Re: impaginazione form
Inserito da: - 20 Settembre 2009, 13:16:54
no ho detto textbox pulsante e barra per semplificare ehehe in realtà sono un embedder, una fila di pulsanti e un text di output... ora che ho la traccia ci lavoro..

grazie mille
Titolo: Re: impaginazione form
Inserito da: fsurfing - 20 Settembre 2009, 13:19:18
:-o
Titolo: Re: impaginazione form
Inserito da: - 20 Settembre 2009, 13:49:15
ottimo risolto ogni mio quesito addattando questo codice:

Codice: [Seleziona]

DIM bordo AS Integer = 30 ' definisce la grandezza del bordo tra un componente e l' altro
DIM bordo1 AS Integer = 1 ' definisce la grandezza del bordo tra un componente e l' altro
PictureBox1.w = 600
PictureBox1.h = 600
PictureBox1.x = (FMain.h - bordo1 * 4) / 3
PictureBox1.y = (FMain.h - bordo1 * 4) / 3



  Embedder1.w = FMain.w - bordo
  Embedder1.h = (FMain.h - bordo * 4) / 3
 
  WebBrowser1.w = FMain.w - bordo
  WebBrowser1.h = (FMain.h - bordo * 4) / 3
 
 ' Button2.w = FMain.w - bordo
  'Button2.h = (FMain.h - bordo * 4) / 3
 
  Embedder1.x = bordo / 2
  WebBrowser1.x = bordo / 2
  'Button2.x = bordo / 2
 
  Embedder1.y = bordo
  WebBrowser1.y = Embedder1.y + bordo + Embedder1.h
  Button2.y = WebBrowser1.y + bordo + WebBrowser1.h
 
END


abbiamo:

una immagine di sfondo... (cosi non mi viene proprio al centro come potre fare per fala contrata?)

un embedder che assume altezza 1/3 e larghezza totale dello schermo

un webbrowser che assume altezza 1/3 e larghezza totale dello schermo

e un pulsante, che assume le sue dimensioni ma che viene posizionato nell'ultimo terzo disponibile del form...

grande grazie mille!!!
Titolo: Re: impaginazione form
Inserito da: fsurfing - 20 Settembre 2009, 16:24:02
per l' immagine poi fare


picturebox1.x=(fmain.w-picturebox1.w)/2

naturalmente cabiando dimensioni della picture box dovrai cambiare anche le dimensioni dell' immagine da metterci dentro altrimenti la vedrai sempre in alto a destra della picture
Titolo: Re: impaginazione form
Inserito da: Ceskho - 20 Settembre 2009, 16:32:33
Esiste la proprietà Stretch che adatta l'immagine ala picturebox così non ha problemi......