Gambas-it

Gambas3 => Programmazione => Topic aperto da: ilinty74 - 29 Novembre 2017, 16:05:41

Titolo: salve e info su form ridimensionabili
Inserito da: ilinty74 - 29 Novembre 2017, 16:05:41
Salve

trovo che gambas sia veramente un progetto interessante!
Sto sviluppando un piccolo applicativo, qualcuno mi può aiutare ?
vorrei fare delle form ridimensionabili . C'è un modo semplice di fare questa cosa ?
Io ho usato del codice del tipo:

Public Sub Form_Resize()
 
  SerialBuffer.Width = Me.Width - 16
  SerialBuffer.Height = Me.Height - SerialBuffer.Y - 10
  Graph.X = SerialBuffer.X + SerialBuffer.Width - 10 - Graph.Width
  LabelX.Text = Me.Width
  LabelY.Text = Me.Height
 
  If (Me.Height < 320) Then Me.Height = 320
  If (Me.Width < 370) Then Me.Width = 370
 
   
 
End


funziona, ma la parte in cui vorrei limitare le dimensioni minime della form, non funziona!
Qualche suggerimento ??

Grazie
Titolo: Re:salve e info su form ridimensionabili
Inserito da: Gianluigi - 29 Novembre 2017, 16:47:36
Ciao e bentrovato,
Se fai così come postato sbagli, perché la vera forza di Gambas è proprio quella di creare con pochi passaggi finestre ridimensionabili senza scrivere una sola riga di codice.
Ti devi armare di pazienza e cercare di capire come funzionano i contenitori, si gioca tutto con quelli per avere un'idea ti potresti scaricare dalla Farm > Esempi il mio progettino DynamicMatrixExample e vedere come sono inseriti i contenitori.
Una buona idea mentre si studia è quella di colorare i vari contenitori per vederne il funzionamento.
Ricordati che devi provare con la proprietà Arrangement della finestra nelle varie posizioni.

Buon divertimento, prova e se hai domande specifiche chiedi pure.

 :ciao:
Titolo: Re:salve e info su form ridimensionabili
Inserito da: ilinty74 - 29 Novembre 2017, 16:57:43
Grazie.

Il dubbio mi era venuto.
farò come dici, mi scarico l'esempio e cerco di capire.
Per intanto, mille grazie!!!  :ok: :ok: :ok:
Titolo: Re:salve e info su form ridimensionabili
Inserito da: Gianluigi - 29 Novembre 2017, 18:30:02
Rivedendo i contenitori di DynamicMatrixExample avrei potuto fare anche meglio  ;D comunque un'idea la danno.
Ti allego un piccolo esempio di finestra in cui ho giocato con pochi contenitori e che non si ridimensiona al di sotto di una certa misura.
Non trovi che assomiglia a un quadro?

 :ciao:
Titolo: Re:salve e info su form ridimensionabili
Inserito da: allegfede - 29 Novembre 2017, 18:55:57
a me sta cosa del ridimensionamento dinamico non ha mai funzionato :D

sull'ide e' sempre un casino di rettangoli colorati ... indi per cui faccio sempre a form fissi. Ma e' un approccio tutto personale e non lo consiglio a nessuno D:

comunque si, esistono degli oggetti "atti allo scopo" :D
Titolo: Re:salve e info su form ridimensionabili
Inserito da: vuott - 29 Novembre 2017, 20:01:52
...ma non è che ilinty74 vuole una cosa di questo genere ?   :-X

Codice: [Seleziona]
Public Sub Form_Resize()

  If (Me.W < 370) Or (Me.H < 320) Then
    With Me
      .Resizable = False
      .W = 370
      .H = 320
      .Resizable = True
    End With
  Endif

End
Titolo: Re:salve e info su form ridimensionabili
Inserito da: Gianluigi - 29 Novembre 2017, 22:01:16
 :ciao:
Nel file che avevo allegato c'è esattamente lo stesso codice cambiano solo le misure  ;D
Titolo: Re:salve e info su form ridimensionabili
Inserito da: Gianluigi - 30 Novembre 2017, 09:36:29
AH si, ho notato che è un po diverso.
Lo hai provato con il mio progettino di sopra?
A me blocca la grafica e devo fare il reboot.  :-X

Occorre dire che Benoit ne aveva discusso con Tobias e aveva detto che l'impostazione di misure minime era riservata alle finestre di dialogo.
Pertanto eviterei di metterle anche se il codice di Sotema funziona discretamente e non da problemi (almeno che io sappia).

 :ciao:
Titolo: Re:salve e info su form ridimensionabili
Inserito da: vuott - 30 Novembre 2017, 22:03:00
A me blocca la grafica e devo fare il reboot.  :-X

A me questo grave blocco del sistema avviene con il mio codice così modificato:

Codice: [Seleziona]
Public Sub Form_Resize()

  If (Me.W < 370) Or (Me.H < 320) Then
    With Me
      .Resizable = False
      .Resizable = True
      .W = 370
      .H = 320
    End With
  Endif

End
Titolo: Re:salve e info su form ridimensionabili
Inserito da: Gianluigi - 30 Novembre 2017, 23:28:34
Credo che a questo punto, anche sulla base di quanto dice lo stesso Minisini, sia inutile cercare di forzare il resize.
Del resto parliamo della finestra principale e chi sarebbe così scemo da ridimensionarla tanto da farla sparire?
Comunque si da dei tasti rapidi per la chiusura (Ctrl+Q) e si potrebbe fare un settings per il riavvio che non vada al di sotto di una certa misura(H x W).

 :ciao:
Titolo: Re:salve e info su form ridimensionabili
Inserito da: ilinty74 - 01 Dicembre 2017, 15:14:23
Grazie a tutti. Ho risolto i problemi di Layout !  ;D

Faccio un'altra domanda ma in un nuovo post....  :coder:


Titolo: Re:salve e info su form ridimensionabili
Inserito da: vuott - 01 Dicembre 2017, 16:05:51
Ho risolto i problemi di Layout ! 

Puoi descrivere come hai fatto ?
Titolo: Re:salve e info su form ridimensionabili
Inserito da: ilinty74 - 01 Dicembre 2017, 16:26:40
Ciao Vuott.  :)

Come suggeritomi da Gianluigi ho usato i containers (VBOX,HBOX e PANEL principalmente), per inserire gli oggetti che mi interessavano e poi giocando sulle Proprietà Arrangment e Resizeable di Form e Containers ho ottenuto il layout che mi interessava. L'esempio di Gianluigi è un ottimo punto da cui partire!

Per limitare la dimensione minima delle form ho invece usato il codice di seguito:

Public Sub Form_Resize()
 
   If (Me.Height < 280) Then Me.Height = 280
  If (Me.Width < 350) Then Me.Width = 350
 
End

Unica accortezza è utilizzare le components "gb.qt5" (in proprietà del proggetto) perché con le "gtk" il codice di sopra ha problemi!  :coder: :ok: