Newsgroup: it.comp.lang.delphi
Titolo: Pulsanti grafici attivi

Sto implementando un pulsante grafico che si attiva al passaggio del
mouse e si disattiva quando il cursore ne abbandona l'area. In
JavaScript esisteva l'evento per ognuna delle due situazioni ma come
fare in Delphi?
Grazie!

"Ukyo":

c'e' gia' un thread aperto, cmq devi intercettare
CM_MOUSEENTER e CM_MOUSELEAVE
ps: perche' non inseriscono questi eventi di default in Delphi?
Ciao,
Alan Solo

 ha scritto nel messaggio
news:8s9s56$jk4b7$1...@ID-44131.news.cis.dfn.de...

... e poi puoi scaricare i componenti "YuPack" da Torry (
torry.rimini.com
) o
da DSP: pulsanti grafici, con colore sfumato, labels cliccabili, ecc. I
pulsanti YuPack sono in grado di conferire ad un programma lo stile già
apprezzato in Norton CrashGuard (vedi esempio allegato a YuPack)
Ciao.
Matteo (M.Dev Software)
 -70 a ZipGenius 1.4: 
http://zipgenius.web-page.net

apprezzato in Norton CrashGuard (vedi esempio allegato a YuPack)
Ti ringrazio ma lo scopo era proprio di intercettare gli eventi di
ingresso e di uscita sul controllo. Il componente già fatto mi serve a
poco dal momento che non devo solamente rendere attivi i pulsanti!
Grazie lo stesso, prenderò cmq in considerazione le URL che mi hai
inviato.
Ciàh...!

CM_MOUSEENTER e CM_MOUSELEAVE
forse xché li hanno reputati inutili. Scusa la domanda da ignorante:
come faccio a intercettarli? In VC++ sono già definiti ma in Delphi
non mi dovrebbe dare errore dal momento che non esistono?
Grazie!
Ciàh...!

"Ukyo":

il metodo migliore e farti un oggettino ereditato da TButton
  TMioButton=class(Tbutton)
  private
    ....
    procedure MouseEnter(var Message); message CM_MOUSEENTER;
    procedure MouseLeave(var Message); message CM_MOUSELEAVE;
    ...
voi vedi tu come implementarli, potresti icapsulare tutto all'interno
oppure farti due proprieta' (eventi) OnMouseEnter e OnMouseLeave
e renderli published, cosi' il programmatore che usera' quell'oggetto
gestira' gli eventi come meglio crede..
Ciao!
Alan Solo

 CM_MOUSEENTER e CM_MOUSELEAVE
che cosa sono queste costanti?
nell'API toolshield che ho non ci sono, ma ci sono invece WM_MOUSEHOVER e
WM_MOUSELEAVE, e comunque se provo a filtrare questi messaggi nel message
loop il compilatore mi dice:
test.cpp(81) : error C2065: 'WM_MOUSEHOVER' : undeclared identifier
p.s.: sono un po' OT... sto usando Visual C++ 6.0, ma visto che si parla di
API... :)
--
ciao
xAERO

"xAERO":
| > c'e' gia' un thread aperto, cmq devi intercettare
| > CM_MOUSEENTER e CM_MOUSELEAVE
|
| che cosa sono queste costanti?
sono dei Control Messages,
in delphi sono definiti come costanti nella unit Controls,
probabilmente c'e' qualcosa di simile in VC++
#include controls.h ?? :)
cmq i valori sono questi
  CM_BASE                   = $B000;
  CM_MOUSEENTER             = CM_BASE + 19; // ovvero $B019
  CM_MOUSELEAVE             = CM_BASE + 20; // ovvero $B020
Ciao!
Alan Solo

Thank you!!!
Ciàh...!

Aiuto, ho appena finito di leggere il capitolo sulle API del manuale
di VC++... 
Capi..ano s.iam. a..ondando, abb..amo perso ..........................
Questo mi succede ogni volta che mi diletto nella lettura del manuale
di VC 6. :-P

 ha scritto nel messaggio
news:39ea2a7b...@news.libero.it...


dell'exe 32bit...
No, ancora non sono arrivato al capitolo sulle famigerate Microsoft
Fundation Classes, anche perché notereste un altro tipo di delirio!!!
Davvero? Il mio professore di sistemi conosceva a memoria tutti i
codici esadecimali delle istruzioni dello Z80  ;-)
Non credo che sia possibile fare la stessa cosa per i processori Intel
(dal momento che la sigla CISC - Complessi Incasitati SCatole di
plastica piene di bug - è più che meritata).
Ciàh...!