Newsgroup: it.comp.lang.visual-basic
Titolo: [?] raddoppiare i click

Qualcuno mi sa dire come faccio, magari tramite un parametro dell'api
SENDMESSAGE, a raddoppiare un click? mi spiego:
ho un datarepeater con
tanti oggettini ripetuti, solo che quando un utente cerca di premere un
command button di un oggetto non attivo, l'oggetto viene reso attivo, ma il
command button non viene premuto.
allora io vorrei da DATAREPEATER_Click()
mandare un altro click, cosi' se l'utente voleva clickkare il bottone, ce
la fa.
insomma... il primo click attiva il componente, il secondo, se e'
su un command_button, lo preme.
il messaggio vorrei mandarlo al form in
generale, cosi' si arrangia lui a capire se deve passarlo al bottone o
all'oggetto o a che ne so io.
maccheronica spiegazione, ma spero
esauriente.
poi non vi preoccupate, mi occupero' io di verificare che il
controllo non sia GIA' attivo... ma questa e' un'altra storia.......
p.s. visto che sono in tema di SENDMESSAGE, qualcuno saprebbe dirmi dove
trovo una lista delle costanti di SENDMESSAGE e degli effetti delle stesse?
ciao a tutti e grazie
_JeLoT_
--------------------------------
Inviato via 
http://usenet.iol.it

 SENDMESSAGE, a raddoppiare un click? mi spiego:
[SRRRRRRRAAAAAAAPPPPPP]
prova a pensare qualcosa che utilizzi l'evento drag over....
ciao

prova a
pensare qualcosa che utilizzi l'evento drag over....
Della serie: ogni
volta che il mouse passa su un dato oggetto io lo attivo? 
tutto ok a
parte che se il poveretto attiva un oggetto (sono collegati a dei record,
quindi sceglie un record) poi sposta mesto mesto il suo mouse per clicckare
sul menu "File" - "Esporta..." e mentre sposta il suo mouse si vede
vanificare lo sforzo di aver scelto il record buono, perche' quel scemo del
mouse glie li attiva tutti a turno, uno a uno, potrebbe tirarmi qualche
accidente, e alla vita (e al posto di lavoro) ci tengo.
dai dai dai...
lo so che ce la puoi fare a darmi una mano... sono stato qui a fare
AGGIORNA per 5 lunghi minuti, grazie! :)
cioe'... grazie x la risposta
pronta, ma serve ancora ajutoooooo! :)


 raddoppiare un click? mi spiego:
[STRRRRRAAAAAAAAPPPPPZZZZZZZZZZ]
beh io intendo:
intercetta l'evento mouseup sul commandbutton.....ecc....ecc....non su tutti
i controlli....

i
controlli....
no mo ti spiego come funziona il datarepeater poi capisci.
Praticamente il datarepeater ha solo un repeatedcontrol attivo per volta.
Tutti gli altri controlli sono solo immagini che non sono realmente
controlli. questo velocizza immanemente il datarepeater tanto da
convincermi a usarlo, anche se e' molto ostico, in confronto con una
generazione interna di oggetti in runtime.
Il fatto che tutti i
controlli a parte quello attivo siano solo delle immagini segna-posto,
rende ovvio il fatto che al primo click il datarepeater non fa altro che
andare a sostituire l'immagine del controllo con il controllo stesso.
Quindi se sotto la freccetta del mouse dell'ignaro utente c'e' un bottone,
non succedera' niente, perche' quello non e' un vero bottone, ma solo
l'immagine di esso.
a me quindi sarebbe utile riuscire a dire al
datarepeeater di simulare un altro click, cosi' se bekka una label non me
ne frega niente, ma se becca un bottone, al primo click sostituisce il
bottone fittizio con quello vero, e al secondo click richiama l'evento
bottone_click.
attenzione: non posso richiamare direttamente l'evento
bottone_click ogni volta che l'utente fa click sul datarepeater. Primo
perche' non ho solo un bottone, secondo perche' non mi dice nessuno che
l'utente volesse proprio bekkare il bottone.
ma non li sai proprio i
codici di sendmessage? con senkey si puo' fare? sembra di no ma nelle
costanti VB della tastiera ci sono anche i bottoni del mouse... io intanto
provo.
spero in un tuo (o di altri) lampo di genio
ciao e grazie
_JeLot_


bottone_click.
Ho trovato!!!
trovata l'api, mi sono anche preparato
una funzioncina.
Bekkatevi questo, newsreaderosi!:
Private Declare
Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long,
ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Const
MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const
MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const
MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const
MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Public Sub
ReClick()
        'Simula un click del mouse nella posizione attuale
mouse_event MOUSEEVENTF_LEFTDOWN Or _
             MOUSEEVENTF_LEFTUP, 0&,
0&, 0, 0
End Sub
spero che sia di aiuto a qualcuno prima o poi...
ciao ciao _JeLoT_
(e grazie dev per l'interessamento.... e una boccaccia a
quelli che non mi hanno risposto... ;~p )
