Autore Topic: Resize Form  (Letto 1386 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Resize Form
« il: 22 Luglio 2014, 21:57:14 »
Buonasera a tutti,
è da un pò che non frequento e non utilizzo Gambas, quindi mi scuso in anticipo per eventuali miei strafalcioni,
devo scrollarmi da dosso un pò di ruggine, spero con il vostro aiuto.
Come da oggetto del post ho problemi a far funzionare correttamente il resize
delle Form e gli oggetti che contengono (un problema che mi porto dietro da tempo).
Avendo letto praticamente tutti i messaggi sul forum a riguardo ancora non riesco a comprendere a pieno
la logica che lo gestisce.
Se avete la pazienza di provare l'esempio che ho allegato noterete che gli oggetti
direttamente disegnati sul Form eseguono bene o male il ridimensionamento, ma le due
TextBox inserite sul Frame1 posto all'interno dell'IconPanel1 non si ridimensionano.
Ho provato in tutti i modi ma non ci sono riuscito.
Grazie per eventuali suggerimenti e un saluto ai "vecchi" del forum e un ben trovati
ai molti nuovi che si sono iscritti.  :ciao:
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #1 il: 22 Luglio 2014, 23:23:36 »
Nelle linne 13 e 54 della classe FMain.Class sostituisci:
Codice: [Seleziona]
Me.Children
con
Codice: [Seleziona]
Me.Controls

La differenza tra le due proprietà consiste nel fatto che Children non agisce sugli oggetti contennuti in contenitori
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Resize Form
« Risposta #2 il: 23 Luglio 2014, 21:37:26 »
Ciao sotema,
il suggerimento che mi hai dato migliora un pò il ridimensionamento, ma non del tutto.
Se dai uno sguardo allo screenshot che ho allegato, i vari oggetti mantengono le proporzioni ma
la TextBox che ho indicato con una freccia no.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #3 il: 24 Luglio 2014, 14:27:58 »
Ciao Tornu,
vedi se ti va bene come ho modificato le proprietà dell'oggetto Hpanel3, quello contenente la IconView, ed i suoi figli.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Resize Form
« Risposta #4 il: 24 Luglio 2014, 21:19:04 »
Ciao sotema,
è una soluzione a cui ero arrivato anchio nelle mie tante prove prima di esporre il problema al forum, ma non risolve il mio problema,
nel senso che è vero che così tutti gli oggetti si  ridimensionano in modo proporzionale ma le due TextBox vengono visualizzate in una posizione
che non è quella iniziale che volevo io.
Tieni presente che questo è solo un test che mi serve per capire il Resize, ma metti il caso che all'interno dell' IconPanel in una applicazione
ci siano posizionati in modo preciso più di due TextBox e altri oggetti, con questa soluzione verrebbero visualizzati in un modo completamente
diverso (incolonnati) da come vengono inizialmente posizionati.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #5 il: 24 Luglio 2014, 21:33:22 »
ma metti il caso che all'interno dell' IconPanel in una applicazione
ci siano posizionati in modo preciso più di due TextBox e altri oggetti, con questa soluzione verrebbero visualizzati in un modo completamente diverso (incolonnati) da come vengono inizialmente posizionati.
potresti inserire gli oggetti in contenitori HBOX, organizzati in modo logico.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Resize Form
« Risposta #6 il: 28 Luglio 2014, 21:47:43 »
potresti inserire gli oggetti in contenitori HBOX, organizzati in modo logico.

Ho seguito il tuo consiglio, provato in tutti i modi, niente da fare, gli oggetti non restano posizionati
come voglio io ridimensionando la Form.
Girando sul web ho notato che comunque solo "giocando" con le proprietà degli oggetti ed utlizzando
i vari contenitori disponibili su Gambas mi pare di aver intuito che difficilmente riuscirò a ottenere un
risultato soddisfacente, la maggior parte degli utilizzatori vanno a incidere su posizione e dimensione
tramite codice, quindi ne deduco che su un progetto un "pò complesso" ci sia da scrivere parecchio.
Naturalmente premetto che settando le proprietà dei vari contenitori sicuramente avrò fatto parecchia
confusione, se avete suggerimenti che mi indichino un uso corretto vi ringrazio anticipatamente.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #7 il: 29 Luglio 2014, 11:30:05 »
Ho seguito il tuo consiglio, provato in tutti i modi, niente da fare, gli oggetti non restano posizionati
come voglio io ridimensionando la Form.
Girando sul web ho notato che comunque solo "giocando" con le proprietà degli oggetti ed utlizzando
i vari contenitori disponibili su Gambas mi pare di aver intuito che difficilmente riuscirò a ottenere un
risultato soddisfacente, la maggior parte degli utilizzatori vanno a incidere su posizione e dimensione
tramite codice, quindi ne deduco che su un progetto un "pò complesso" ci sia da scrivere parecchio.
Naturalmente premetto che settando le proprietà dei vari contenitori sicuramente avrò fatto parecchia
confusione, se avete suggerimenti che mi indichino un uso corretto vi ringrazio anticipatamente.

Non avendo il progetto reale non riesco ad immaginare quanti e quali oggetti tu debba inserire e gestirne il dimensionamento; una soluzione potrebbe essere quella di stabilire la dimensione iniziale della form, con tutti gli oggetti posizionati correttamente, quindi impostarne la proprietà Utility a True. Tale proprietà impedisce che la dimensione della form sia impostata ad un valore inferiore a quello iniziale. Questo ti permette quindi di aumentare la superficie occupata dalla form ma non di ridurla. In questo modo forse riesci a gestire la posizione degli oggetti.
Per quanto rigurda poi l'utilizzo dei contenitori, puoi dare uno sguardo alla maschera FOption dell'ide di Gambas.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Resize Form
« Risposta #8 il: 29 Luglio 2014, 21:52:31 »
Ciao sotema,
prima di tutto grazie per la pazienza.
Ti posto il progetto al quale stò cercando di applicare il resize, sono presenti tutte le form
che faranno parte del progetto finale.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #9 il: 29 Luglio 2014, 22:35:54 »
Ciao sotema,
prima di tutto grazie per la pazienza.

Scherzi? A questo serve il forum!
Domani ci guardo.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #10 il: 03 Agosto 2014, 19:03:00 »
Ciao Tornu, scusa se rispondo solo oggi, è stata una settimana impegnativa.
Ho messo mano al tuo progetto; non so se ho trovato la risposta che cercavi, magari nel frattempo hai risolto il tuo problema, ho modificato la classe FMain con alcune procedure che trovi commentate. Nel caso ti piaccia bisogna modificare le procedure in modo che gestiscano il cambio scheda dell' Iconpanel (così com'è ora al cambio dimensiona in modo errato la nuova maschera).
Fammi sapere se la strada è quella giusta.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Resize Form
« Risposta #11 il: 04 Agosto 2014, 21:47:41 »
Ciao sotema,
figurati, anche io in questo periodo sono molto impegnato dal lavoro, cerco di ritagliarmi dei momenti per le poche (purtroppo)
passioni che posso coltivare per mancanza di tempo, tra cui la programmazione.
Le modifiche che hai fatto alla FMain funzionano perfettamente, ed era quello che tentavo di ottenere. Ho dato uno squardo al codice
che hai inserito ma sinceramente non è che ci abbia capito molto. Se hai la pazienza di modificare anche il Resize al cambio di almeno
una altra Form ed inserire qualche spiegazione in più, cercherò di studiarmelo per capirne la logica ed applicarla a tutto il progetto.
Le tue indicazioni comunque confermano il mio dubbio riguardo il fatto che per effettuare un ridimensionamento corretto non basta
settare solamente le prorietà degli oggetti ma è neccessario mettere mano al codice è in modo differente a seconda dei contenitori
usati per disegnare le interfacce. Grazie
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #12 il: 05 Agosto 2014, 21:21:34 »
Ciao Tornu, purtroppo ti chiedo di avere tu pazienza, prometto che farò del mio meglio per darti una soluzione o perlomeno un tracciato.
Abbi fede.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: Resize Form
« Risposta #13 il: 05 Agosto 2014, 21:50:48 »
Ciao Tornu, purtroppo ti chiedo di avere tu pazienza, prometto che farò del mio meglio per darti una soluzione o perlomeno un tracciato.
Abbi fede.

Ci mancherebbe, aspetto tranquillamente continuando nel mio intento di capire, fai con calma, nessun problema.
Ci sentiamo quando avrai novità.
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Resize Form
« Risposta #14 il: 14 Agosto 2014, 15:31:00 »
Le tanto sospirate ferie sono arrivate; prima di ritirarmi nel mio Maso in località impervia dove il cellulare non arriva ( e nemmeno i turisti della domenica),
ho messo mano a GDP. Ti allego il risultato, commentato al meglio. Spero di avere raggiunto l'effetto desiderato.
Se ti servono delucidazioni chiedi pure. Ogni 3/4 giorni scendo a valle per controllare la posta.

Non è propria la mia ma ci assomiglia molto...
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein