Avatar billede tommya Nybegynder
28. august 2005 - 03:10 Der er 6 kommentarer og
1 løsning

Spore når musen forlader en vcl kontrol

Jeg vil gerne vide hvornår musen forlader et image objekt med navnet img1. Der findes ingen events der angiver dette, og jeg ønsker ikke at benytte en timer der tjekker musens position med et interval. Findes der en måde at få at vide hvornår musen har flyttet sig væk fra kontrollen, og hvis ja, hvilken?
Avatar billede tommya Nybegynder
28. august 2005 - 03:11 #1
Jeg glemte at fortælle at jeg bruger Borland (hvilket nok kan ses ved VCL kontrol ;)) Borland C++ Builder 6
Avatar billede bertelbrander Novice
28. august 2005 - 13:20 #2
Hvis ikke det var BCB ville man bruge WM_MOUSELEAVE og TrackMouseEvent.
Jeg kan ikke finde noget tilsvarende med BCB 5.0 :-( Men det findes måske i 6.0
Avatar billede tommya Nybegynder
28. august 2005 - 14:41 #3
er WM_MOUSELEAVE og TrackMouseEvent ikke når musen forlader formen, og ikke den enkelte kontrol? Jeg har prøvet at intercepte CM_MOUSEENTER og CM_MOUSELEAVE, men mens CM_MOUSEENTER bliver kaldt, bliver CM_MOUSELEAVE aldrig.
Avatar billede bertelbrander Novice
28. august 2005 - 22:27 #4
Som jeg forstår det skal du kalde TrackMouseEvent for at få WM_MOUSELEAVE.
I kaldet til TrackMouseEvent angiver man en TRACKMOUSEEVENT structur som parameter, denne har en hwndTrack som angiver hvilket vindue det skal gælde for, så du burde kunne få beskeden for en kontrol, og ikke kun for hele formen.
Avatar billede tommya Nybegynder
29. august 2005 - 01:59 #5
Det lykkedes mig at få det til at virke, jeg benyttede metoden med at intercepte CM_MOUSEENTER og CM_MOUSELEAVE som er beskrevet her: http://www.bcbjournal.org/bcbcaq/mini_caq.html#Q4.7

Grunden til at jeg ikke kunne få det til at virke før var at jeg lod musen køre uden for formen, hvilket man altså også skal tjekke på. Jeg takker for hjælpen, jeg er ret sikker på at man kan bruge den metode du nævner undersøgte det og det ser rigtigt ud, men fik det alligevel til at virke på den anden måde, så holder mig til den.

Hvis du smider svar så acceptere jeg :)
Avatar billede bertelbrander Novice
29. august 2005 - 02:01 #6
Jeg samler ikke på point.
Avatar billede tommya Nybegynder
29. august 2005 - 16:10 #7
Jeg siger tak for hjælpen så.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester