Autore Topic: salve e info su form ridimensionabili  (Letto 626 volte)

Offline ilinty74

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
salve e info su form ridimensionabili
« il: 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

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #1 il: 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:
« Ultima modifica: 29 Novembre 2017, 16:49:15 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline ilinty74

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #2 il: 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:

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #3 il: 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:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #4 il: 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
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.311
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #5 il: 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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #6 il: 29 Novembre 2017, 22:01:16 »
 :ciao:
Nel file che avevo allegato c'è esattamente lo stesso codice cambiano solo le misure  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #7 il: 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:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.311
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #8 il: 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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #9 il: 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:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline ilinty74

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #10 il: 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:



Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.311
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #11 il: 01 Dicembre 2017, 16:05:51 »
Ho risolto i problemi di Layout ! 

Puoi descrivere come hai fatto ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline ilinty74

  • Gamberetto
  • *
  • Post: 9
    • Mostra profilo
Re:salve e info su form ridimensionabili
« Risposta #12 il: 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: