Autore Topic: X Y di un Form  (Letto 515 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
X Y di un Form
« il: 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

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: X Y di un Form
« Risposta #1 il: 09 Novembre 2010, 01:36:58 »
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...
« Ultima modifica: 09 Novembre 2010, 01:39:35 da perseo »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: X Y di un Form
« Risposta #2 il: 09 Novembre 2010, 02:12:27 »
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


Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: X Y di un Form
« Risposta #3 il: 09 Novembre 2010, 15:14:46 »
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.
Visita il mio sito personale: http://www.leonardomiliani.com

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: X Y di un Form
« Risposta #4 il: 09 Novembre 2010, 16:59:07 »
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.