Newsgroup: it.comp.appl.access
Titolo: Coordinate mouse sez. corpo: saltano i controlli

In una sezione corpo con n controlli, inserendo
sull'evento spostamento mouse del corpo, un codice che
mi scrive le coordinate del medesimo, si verifica che
quando il mouse passa sopra il controllo non č
piu sensibile alle coordinate (che quindi si bloccano
sull'ultimo valore) per poi essere riprese quando
esco dal controllo.
C'č un modo per fare in modo che i controlli non
"buchino" il riferimento delle coordinate.
N.B. Se i controlli sono pochi, si possono riallineare
le coordinate di ogni controllo con quelle del corpo.
Solo che ho tanti piccoli controlli.
By By

"buchino" il riferimento delle coordinate.
I tuoi controlli sono read only?
Se si' ci piazzi sopra un bel rettangolone trasparente e usi
l'evento mouse su quello, se no... ciccia.
--
Lorenzo Coronati
--
<<Si perché forse Ilbo (ed altri come lui) sono 
convinti che noi poveri principianti (nel senso 
ironico) scrivano le domande senza pensare.>>
(Ivan Lelli, 25/08/2000)
--

Purtroppo sono attivabili a seguito di click.
Quindi ciccia, o ...............
sto ipotizzando: se all'evento pulsante giù disabilito
il rettangolo (o lo porto in secondo piano, però non so se
è possibile), quindi il click agisce sul pulsante e poi sull'evento
su del pulsante riabilito la casella!!! Funzionerà????
Lo proverò quanto prima.
Comunque visto che tali coordinate mi sarebbero servite per
spostare due linee: una orizzontale e una verticale
al fine di simulare il puntatore a croce di autocad (n.b. le linee
si estendono per tutta la form) ho sempre in base ad un post
che ho ricevuto la possibilità di crearmi con API un mouse del
genere.
Solo che non so minimamente cos'è un api, se effetivamene è il
metodo giusto per costruire un puntatore personalizzato del genere
e come si fa a farlo. Esempi di utilizzo di API (ammesso che sia adatto)
Gradite delucidazioni in merito e suggerimenti ulteriori.
(Il post è puntatore + tipo Autocad) dom 17.35
By By (non mi arrendo)

spostare due linee: una orizzontale e una verticale
Quindi sotto ci stanno dei pulsanti?
Puoi sapere su quale pulsante sei dalle coordinate o no?
Io uso questo metodo per una griglia di 13x16 ctl: con mouse
down ricavo le coordinate e con click gestisco l'evento.
Va che e' una meraviglia e mi sono evitato 208 routine click
:-)


continua a non essermi chiaro.
Invece di gestire un evento per ogni controllo, ho solo il
click sul rettangolo. Sapendo che a certe coordinate x y
corrisponde il pulsante a, mi regolo di conseguenza.


 corrisponde il pulsante a, mi regolo di conseguenza.
Scusa, non mi è chiara una cosa
Per certe coordinate x y intendi da un xiniziale a un xfinale
e da un yiniziale ad un yfinale?
Cioè, quando io mi sposto con il mouse, per ogni punto
a video ho una x ed una y (date dall'evento mousespostato);
ma in realtà un rettangolo è una superficie e quindi
io dovrei considerare l'intervallo di tutte
le coordinate comprese dentro tale superficie.
Altrimenti, dovrei beccare con il mouse, il punto esatto
dentro al rettangolo.
Non mi vorrei sbagliare ma:
le x e y te le da l'evento mousemove,
quindi, in base a tali valori, se fai click si ha l'azione
corrispondente a quelle coordinate.
Scusa la mia ignoranza, ma come si fa a riprodurre
tale azione (dentro al mousemove), evitando inoltre che però
il click stesso non cada dentro la casella di testo trasparente (tu, mi
sembra
avevi indicato un rettangolo trasparente, però come spiegato
nel post precedente non funziona)
Piccola sintesi:
Ho una form con 5 pulsanti.
Se uso direttamente il mousemove della sezione corpo,
quando con il mouse passo sopra i pulsanti, perdo
le coordinate del mouse move.
Siccome tali coordinate spostano due linee (una orizz. e una verticale)
che simulano un puntatore a croce, ho un buco di coordinate sopra i
pulsanti (quindi il mouse passa, ma le linee no, perchè non ho le
coordinate)
Tua soluzione(se non erro):
Mettere un controllo rettangolo trasparente sopra la form
ed usare il suo mouse move per avere le coordinate che spostano
le 2 linee.
Come coordinate però ho solo quelle del perimetro.
Allora ho usato una casella di testo con sfondo trasparente
ed ho usato le coordinate del mousemove.
Tutto ok per lo spostamento delle 2 linee.
Il problema è che: sopra ad un pulsante se clicco, in realtà
sto cliccando dentro la casella di testo e quindi mi si attiva
la stessa (diventa tutta bianca e lampeggia il cursore testo).
Quindi, riassumendo i problemi:
1- il pulsante (o rettangolo come usi tu)
è una superficie e quindi devo considerare un intervallo
di x ed y (sbaglio?).
2- come fai a far partire il click del pulsante, dentro
il codice dell'evento, quando fai effettivamente click
dentro la casella di testo, visto che tale azione si verrebbe a
trovare dentro un'altra azione.
3 Siccome poi il click mi attiva la casella di testo ed ho tutto
bianco, come fai ad evitare ciò?
n.b. Non ho capito se usi esattamente questo metodo.
Eventualmente, dov' è diverso?
O è proprio tutto diverso?
Thank you
By By