Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Effetto Calamita su 2 finestre

Ciao a tutti !
Mio figlio sta realizzando un programmino per il gioco
del 21 e ha un problema al quale non ho proprio saputo
rispondere....
Il problema e' questo:
Il suo gioco si svolge su un form, che ne richiama un
altro con dei dati statistici.   Tutto e' ok, e ora vorrebbe
far si che muovendo questo secondo form questo si
'attacchi' al primo quando e' nelle vicinanze.   E' riuscito
nell'intento utilizzando un timer e verificando le proprieta'
di posizione della finestra, modificandole di conseguenza.
Io gli ho detto che era brutto usare un timer in quel caso
e ora mi son tagliato i marroni da solo perche' devo
proporre una soluzione migliore.
Non mi pare pero' che al movimento di un form sul video
si generi alcun evento....
Come si puo' fare a rilevare il movimento di un form?
Grazie !
--
Frogman
indirizzo e-mail corretto: 
be...@reboot.to

 Come si puo' fare a rilevare il movimento di un form?
Tramite le API e il subclassing del form. Il messaggio che dovresti
elaborare è il WM_MOVING che viene spedito alla WindowProcedure ad ogni
movimento del rettangolo trascinamento; lParam contiene l'indirizzo della
struttura RECT con le coordinate del rettangolo di trascinamento. Cambiando
i membri di questa struttura dovresti riuscire ad ancorare il tuo form in
qualunque posizione.
Interessanti sono anche i messaggi WM_ENTERSIZEMOVE e WM_EXITSIZEMOVE con i
quali credo puoi addirittura bloccare la possibilità di spostare il form
(stò pensando ad una bella voce di menù tipo "Blocca ancoraggi" :-))
Spero di esserti stato utile. Ciao.
--
Princi, 
princ...@programmer.net
--------------------------------------------------------------------------
"Tutti sanno che una cosa è impossibile da realizzare,
finché arriva uno sprovveduto che non lo sa e la inventa." A.E.

 Princi, 
princ...@programmer.net
Utilissimo, grazie.   E ti ringrazio anche per la tua risposta al mio
post precedente.
Per quello, bene, andro' a guardare, la documentazione non mi
manca...  solo che come spesso accade, bisogna cercare l'ago
nel pagliaio.   Adesso so quale pagliaio....
Per la seconda, dicevo che e' brutto perche' con la programmaz.
a eventi di windows non ci si puo' ridurre a questo modo, e' come
il vecchio sistema di polling dei prog di dieci anni fa...
Preferisco insegnare anche un po' di etica all'erede, meglio
rinunciare ad una funzionalita' piuttosto che fare schifezze.
(Per la serie 'meglio la morte che il peccato' :-) )
Comunque buono a sapersi, anche se per il livello attuale delle
cognizioni dell'erede, mi sembra prematuro metterlo a lavorare
con le api... potrebbe essere punto!   :-(
Grazie ancora e buon lavoro


rinunciare ad una funzionalita' piuttosto che fare schifezze.
Finalmente qualcuno che ne capisce!
Sono commosso :)

 wrote in message
news:8nhcr9$s34$1...@nslave1.tin.it...

siamo + di quanto credi... :))
Ciao
Enrico

 Grazie !



Grazie !  Ma.. scusa l'ignoranza...  cos'e' vb2themax ? Un sito ?
provero' con www .
vb2themax.com
 . Se non e' cosi' mi mandi
l'indirizzo giusto ?
Cia'
--
Frogman
indirizzo e-mail corretto: 
be...@reboot.to
----------------------------------------------
Grazie dei fiori, anch'io ti faro' un mazzo cosi'
----------------------------------------------

 ha scritto nel messaggio
news:8njqc0$93f$1...@fe2.cs.interbusiness.it...
