Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: dex - 09 Novembre 2010, 00:21:08
-
ciao raga
mi serve sapere la Posizione X e Y di un form dopo averlo spostato con il mouse
La cosa strana è che se muovo e ridimensiono il form:
Me.W e Me.H sono relativi alla nuova dimensione mentre
Me.X e Me.Y sono relativi alle posizioni di apertura del form
-
A quanto ho potuto capire le proprietà .X e .Y restituiscono le coordinate native del Form.
Quelle che servono a te credo siano le Me.screenX e Me.screenY... che sono assolute. :)
PS: per avere le coordinate relative di un sub-form rispetto al suo genitore credo che dovrai calcolarle per differenza...
-
Usavo già Me.screenX, ma dato che muovo x da codice, su schermi con altre risoluzioni mi dava posizioni sballate.
Finché i vari form si posizionano da codice tutto funziona, ma se l'utente li posiziona con il mouse poi non corrisponde.
So che sembra arzigolato, in pratica metto tutti i form aperti tipo le carte in mano a un giocatore e appena l'utente passa con il mouse su un form questi si sposta al primo posto e tutti gli altri si riposizionano.
Cmq era quello che temevo, x e y sono coordinate native e devo tentare un'altra strada, calcolarmi il W e H del main e tutti i W e H dei form e in base a quanti ne ho aperti li riposiziono.
sarà una bella sfacchinata :hatecomputer: :hatecomputer:
by alla prossima
-
H e W sono abbrevizioni per Height e Width, l'altezze e la larghezza di un widget, form compreso.
Mi suona strano che tu le possa usare per regolare la posizione del form.
X e Y funzionano ma hanno un problema. Sono le coordinate della posizione "relativamente" all'oggetto genitore. Se è un solo form questo è lo schermo, ma se ne hai più di uno, allora la posizione letta si riferisce alla posizione relativa al genitore di quel particolare form.
-
H e W sono abbrevizioni per Height e Width, l'altezze e la larghezza di un widget, form compreso.
Mi suona strano che tu le possa usare per regolare la posizione del form.
X e Y funzionano ma hanno un problema. Sono le coordinate della posizione "relativamente" all'oggetto genitore. Se è un solo form questo è lo schermo, ma se ne hai più di uno, allora la posizione letta si riferisce alla posizione relativa al genitore di quel particolare form.
il mio progetto ha un main da cui avvio i form, le coordinate mi servono per i form, quando apro un form da main lo faccio aprire in una precisa posizione (x, y ) che sicuramente sono relative al main, poi lo apro con specifiche dimensioni (w, h) che sono del form.
Da codice muovo o dimensiono il form come voglio, muovendolo e dimensionandolo da mouse solo W e H vengono aggiornati, invece a me serviva avere anche le nuove X e Y rispetto al Main e non allo schermo.