Autore Topic: [Risolto] Esiste un comando come in VB.NET per ancorare gli elementi?  (Letto 2389 volte)

Offline MrMe

  • Gamberetto
  • *
  • Post: 16
    • Mostra profilo
Ciao a tutti, sono solo da pochi giorni che ho ripreso ad usare ubuntu... ho la versione 14.04 ed uso gambas 3.
dato che su windows usavo VB.NET e mi trovavo molto bene ho cercato su google e ho trovato questo interessante terminale.
Ho fatto un MINI-PROGETTO e quando lo avvio tutto ok, ma il problema sorge quando vado ad espandere la finestra... tutto va a sinistra, gli elementi non si muovono. allora mi sono accorto che non c'e' o almeno io non trovo la proprieta'  :nono: :nono:  :-\ (degli elementi) ANCHOR, che permette, appunto, di decidere se ancorare o meno un elemento e dove ancorarlo TOP, BOTTOM, LEFT, RIGHT.... se esiste, quindi, questa proprieta', potete essere cosi gentili da indicarmela per favore? grazie  :) :) :) ??? :-\
« Ultima modifica: 02 Gennaio 2015, 14:45:33 da MrMe »

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #1 il: 06 Dicembre 2014, 17:23:42 »
C'è la proprietà Alignment, ma dipende da cosa vuoi fare e da cosa hai messo nel form. Dacci qualche info in più. :)
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline MrMe

  • Gamberetto
  • *
  • Post: 16
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #2 il: 06 Dicembre 2014, 17:50:46 »
Praticamente contiene una TEXTBOX e dei bottoni... solo che i bottoni, io volevo farli rimanere o ridotta o massimizzata a DESTA  :nono:, ma così non succede...
e poi la textbox non si estende in base alla grandezza del form ma rimane sempre di quella dimensione...  ??? :'( :-\  :hatecomputer: :hatecomputer: :hatecomputer: aiuto per favore!!!!

Offline Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #3 il: 06 Dicembre 2014, 22:03:48 »
Per la TextBox è facile, se setti la proprietà Arrangment del Form che la contiene a Vertical, la TextBox manterrà la sua larghezza uguale a quella del Form, altrimenti se vuoi mantenere una larghezza minore ma proporzionata, la devi calcolare all'interno dell'evento Resize del form.
La cosa dei bottoni invece non l'ho capita tanto bene, cosa intendi per ridotta massimizzata a destra? I bottoni non si possono ridurre a icona. ??? ???
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #4 il: 07 Dicembre 2014, 01:04:20 »
io non trovo la proprieta'  :nono: :nono:  :-\ (degli elementi) ANCHOR...

Va ricordato che Gambas non è una scopiazzatura di VB, o un adattamento minore per Linux. E' un'altra cosa, che apparentemente può sembrare somigliargli e... viceversa.
Pertanto è possibile che vi siano risorse identiche, simili, o diversamente denominate, in quantità superiore o inferiore rispetto al VB.

Ad ogni modo, a quanto suggerito da TopFuel segnalerei anche queste discussioni:
http://www.gambas-it.org/smf/index.php?topic=2153.0
http://www.gambas-it.org/smf/index.php?topic=3588.0
http://www.gambas-it.org/smf/index.php?topic=1601.0
http://www.gambas-it.org/smf/index.php?topic=1441.0
http://www.gambas-it.org/smf/index.php?topic=832.0
http://www.gambas-it.org/smf/index.php?topic=197.0
« Ultima modifica: 17 Dicembre 2014, 23:09:04 da vuott »
« 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 vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
« 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 MrMe

  • Gamberetto
  • *
  • Post: 16
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #6 il: 17 Dicembre 2014, 18:37:51 »
Grazie mille delle risposte. Io intendo per ANCORAGGIO A DESTRA SOPRA CIOE CHE SE SI RIDIMENSIONA LA FINESTRA IL BOTTONO (O QUALUNQUE ELEMENTE) RIMANE POSIZIONATO SUL LATO DESTRO IN ALTO, O BASSO O SINISTRA IN BASE A CIO' CHE HO SCRITTO IO... non so se esiste anche in gambas e se si chiama in altro modo... grazie attendo risposte :) ;D ;D :ok:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #7 il: 17 Dicembre 2014, 23:18:12 »
Io intendo per ANCORAGGIO A DESTRA SOPRA CIOE CHE SE SI RIDIMENSIONA LA FINESTRA IL BOTTONO (O QUALUNQUE ELEMENTE) RIMANE POSIZIONATO SUL LATO DESTRO IN ALTO, O BASSO O SINISTRA IN BASE A CIO' CHE HO SCRITTO IO...

Dovresti chiarire meglio il "posizionamento".
Non so se hai provato l'esempio presente nella pagina della Wiki da me segnalata.

Per "posizionamento" intendi un posizionamento costante dell'oggetto dai margini ? Ad esempio, o allarghi o restringi la finestra, l'oggetto posto su di essa resta sempre a tot pixel dai margini superiore e destro della finestra medesima e restando così sempre visibile. In tal caso o analogo rinvio nuovamente alla pagina dela Wiki sopra segnalata.
« 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 MrMe

  • Gamberetto
  • *
  • Post: 16
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #8 il: 21 Dicembre 2014, 23:23:28 »
vuott ho letto la pagina del wiki, e ti ringrazio di avermela segnalata :ok: :ok: :ok: :-[ ;D :-*; si, intendo che l'elemento resti a "tot" pixel di un lato della pagina qualora si dovese ridimensionare :) (mi interessa il lato destro in alto) ;) :) :ok:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #9 il: 22 Dicembre 2014, 00:43:45 »
mi interessa il lato destro in alto

Dell'esempio, che ho fatto nella pagina della WIKI, è il caso del Button3 (distanza assoluta dal bordo destro).
« 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 MrMe

  • Gamberetto
  • *
  • Post: 16
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #10 il: 29 Dicembre 2014, 23:35:21 »
vuott... si, come ho già detto precedentemente... ho letto la pagina nel wiki... però non mi è molto chiara. comunque sia, non fa nulla.. ho deciso di cambiare progetto... devo mettere [risolto]? oppure no?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.320
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #11 il: 29 Dicembre 2014, 23:51:48 »
... ho letto la pagina nel wiki... però non mi è molto chiara. comunque sia, non fa nulla..

Non esiste una proprietà o una funzione che - in caso di modifica delle dimensioni del Form - "àncora" un oggetto, posto su quel Form, alle coordinate desiderate.

In Gambas, almeno per ora, questo risultato si ottiene attraverso calcoli matematici all'interno della routine dell'evento Form_Resize() . E' dunque un calcolo che spetta al programmatore effettuare.

Con riferimento al terzo caso, sopra citato, della pagina dell WIKI:
Codice: gambas [Seleziona]
Button3.X = Me.W - (Button3.W + 20)
 Button3.Y = Me.H - (Button3.H + 200)

esso ci dice che in qualunque caso di ridimensionamento del Form la coordinata X del bottone (e più segnatamente l'angolo superiore sinistro del bottone) si porrà - all'interno del Form medesimo - ad una distanza dal margine sinistro del Form uguale:
1) all'intera larghezza del Form -> a questo punto il margine sinistro del Button3 si trova esattamente sul margine destro del Form;
2) meno la larghezza del bottone medesimo ampliata di 20 pixel -> a questo punto abbiamo spostato a sinistra il margine sinistro del Button3 di una quantità di pixel pari a Button3.W + 20 .

Ciò consente - rispetto alla situazione di cui al punto 1) - che il tasto sia sempre visibile.


Discorso analogo per la distanza del tasto (coordinata Y) dal margine superiore del Form.
« Ultima modifica: 02 Gennaio 2015, 15:40:39 da vuott »
« 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 Top Fuel

  • Gran Maestro dei Gamberi
  • *****
  • Post: 960
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #12 il: 30 Dicembre 2014, 00:09:08 »
Oppure, facendo:

Codice: [Seleziona]
Button3.X = Me.W - (Button3.W + Me.W\10)
Button3.Y = Me.H - (Button3.H + Me.H\10)

Si mantiene una distanza dai bordi proporzionale alla dimensione del Form. Ho diviso per 10 ma ovviamente si può mettere un valore qualsiasi.
Dear youtube administrators, your search bar is broken. When I type the letter "J" it appears justin bieber when it should appear Jimi Hendrix. Fix this, please.

Offline MrMe

  • Gamberetto
  • *
  • Post: 16
    • Mostra profilo
Re: Esiste un comando come in VB.NET per ancorare gli elementi?
« Risposta #13 il: 02 Gennaio 2015, 14:44:30 »
ora mi è chiaro  ;) ;) :) grazie top fuel e vuott  :ciao: :ciao:  :ok: :ok: ;D ;D