Newsgroup: it.comp.lang.c++
Titolo: Come posso fare ?

Sono alle prime armi con il c++. Sto smanettando con il visual c++ 6. Chiedo
subito scusa se la domanda che sto per fare potrà apparire elementare ai più
esperti.
Immaginando di avere una finestra di dialogo con al centro un pulsante,
vorrei sapere se è possibile prevedere fra i messaggi di sistema della
finestra (mi interessa in particolare WM_MOUSEMOVE) un messaggio specifico
relativo al pulsante (cioè un WM_MOUSEMOVE specifico del pulsante).
L'obiettivo è che se il mouse viene mosso nell'ambito della finestra si
attivi il messaggio WM_MOUSEMOVE della finestra appunto mentre, se il mouse
entra nell'area del pulsante viene attivato un secondo messaggio
WM_MOUSEMOVE quest'ultimo però relativo soltantoa questo pulsante.
Ho notato che questo messaggio viene previsto dal classwizard SOLTANTO per
la finestra (che è una classe appunto) mentre gli unici messaggi riservati
al pulsante sono BN_CLICKED e BN_DOUBLECLICKED. Non capisco questo. Ma il
pulsante non è comunque una "finestra", cioè derivata da questa classe ?
Potete spiegarmi come fare ad ottenere questo risultato ?
Grazie
Salvo L.P.

 wrote in
news:NuKU8.104943$
j65.2...@twister1.libero.it
: 

Il pulsante, proprio perchè è una finestra, ha una sua window procedure 
che gestisce i vari messaggi di "pertinenza" del pulsante, compreso il 
WM_MOUSEMOVE.
Per intercettare il messaggio devi sostituire alla window procedure del 
tuo pulsante una tua funzione che vada a intercettare il messaggio 
WM_MOUSEMOVE e passi poi i messaggi alla wndproc originale. Per 
leggere/scrivere la wndproc di una finestra puoi utilizzare 
GetWindowLong con GWL_WNDPROC come indice.
Tieni presente che il messaggio WM_MOUSEMOVE è sicuramente gestito dal 
pulsante nel momento in cui viene premuto il tasto sinistro del mouse e 
quindi, se vuoi che l'utente possa comunque usare il pulsante, la tua 
wndproc dovrebbe richiamare sempre la wndproc originale del pulsante.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 WM_MOUSEMOVE.
Non rispondiamo agli OT, please!
-- 
Luc.

...

Io non conosco bene l'ambiente RAD VC++ ma dovrebbero esserci una
serie di eventi  legati all'oggetto pulsante, uno di questi dovrebbe
essere "OnMouseOver" o "OnMouseMove" che ti danno le informazioni
riguardo al passaggio del mouse sul tal oggetto...
Spero di esserti stato utile ... fammi sapere

Ciao,
Questo newsgroup si occupa del linguaggio C++ in quanto tale, e non di
aspetti specifici di particolari implementazioni. Per questo non e' il
posto piu' adatto per porre domande specifiche come la tua.
Potresti avere piu' fortuna su uno dei seguenti gruppi:
Per Win32 (95, 98, NT): it.comp.programmare.win32
Per Dos/Win 3.x: it.comp.os.dos
Per Linux:      it.comp.os.linux.development
Per C++Builder: i gruppi borland.public.cppbuilder.*, disponibili sul
                server 
newsgroups.borland.com
 (prevalentemente in 
                inglese, ma si puo' postare anche in italiano)
Grazie,
Nicola Musatti

Ti ringrazio per i chiarimenti.
Alcuni termin che hai usatoi però non mi sono molto chiari. Magari un
piccolissimo esempio pratico potrebbe essermi di aiuto.
Puoi contattarmi, privatamente, a questo indirizzo: 
artu...@tiscalinet.it
 ?
Grazie Valter.
P.S. Chiedo scusa per la richiesta OT.
"Valter Minute" <vmi...@REMOVEMEinwind.it> ha scritto nel messaggio
news:Xns92416025A7A...@212.110.0.170...
