Stan mouse left button down

0

Jak sprawdzić w zdarzeniu MouseMove lub MouseHover czy lewy przycisk myszy jest wcisniety w momencie gdy myszka znajduje się nad kontrolką ?? Wydawać się to może banalne, z tym wyjątkiem że potrzebuję znać stan przycisku nawet wtedy gdy został wciśnięty nad inną kontrolką od tej na której sprawdzam jego stan.

Próbowałem już:
if ((Control.MouseButtons & MouseButtons.Left) != 0)
oraz
if (GetKeyState(VK_LBUTTON) > 0) zaimportowane z api
<- oba działają tylko na wciśnięcie przycisku w momencie gdy myszka znajduje sie nad kontrolką nad którą sprawdzam stan przycisku (do której mam podpięte zdarzenia)
tzn warunki te sprawdzają czy nastąpoło naciśnięcie przyciku, a nie jego stan - czy jest wciśnięty

0

Można choćby przez

MouseButtons.ToString()=="Left";
0
O_o napisał(a)

Można choćby przez

MouseButtons.ToString()=="Left";

Owszem to zadziała tak jak powyżej podane 2 warunki czyli gdy wcisnę przycisk trzymając kursor nad moją kontrolką,
ALE nie zadziała gdy wcisnę przycisk na innej kontolce np buttonie i najadę kursorem na moją kontrolkę z już wciśniętym przyciskiem.

0

Okay, obejrzałem bliżej problem i kod działa dobrze. Po prostu te zdarzenia nie są wywoływanie gdy myszka jest w trybie "drag".

0

Dzięki za podpowiedź. Dopiero teraz to zauważyłem.

0

Hmm, chcesz dobre rozwiązanie? Gdzieś mam kod który na bieżąco reaguje na wszystko co dotyczy myszki, jak chcesz to mogę odkopać.

0

Tak, bardzo by mi to pomogło.

0

http://code.google.com/p/vcmfsii/source/browse/#svn%2Ftrunk%2FUMDF%2FUMDFtest0%2FUMDFtest0

Wbrew nazwie to wcale nie używa UMDF ( miałem przerobić to na UMDF ale jakoś poszło w niepamięć ), najważniejszy gadżet to RawMouse, kod wykopałem kiedyś w googlu ale musiałem wprowadzić ciut zmian bo z czymś był problem ( albo .NET 4 albo Win7 ).
Da się to zrobić przez globalny hook na gryzonia - wtedy komunikaty ze wszystkich myszy będą zbite w jeden ( ten kod pobiera dane każdej z myszy z osobna ;) )

Kod ma natywne zapożyczenia więc jest tylko na Windowsa.

0

Grobalny Hook? Ehh wiem że tak da się to zrobić.. ale.. w swojej aplikacji mam już 2 kontrolki które z których każda zakłada swój globalny hook na myszkę i miałem nadzieję że da się to zrobić "normalnie" ;(.

1 użytkowników online, w tym zalogowanych: 0, gości: 1