Śledzenie położenia myszy po wciśnięciu przycisku

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Awatar użytkownika
mariuszl2
Posty: 17
Rejestracja: 05 lip 2011 11:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: PolSl

Śledzenie położenia myszy po wciśnięciu przycisku

Post autor: mariuszl2 »

Czy istnieje możliwość śledzenia współrzędnych myszy po wykryciu wciśnięcia przycisku za pomocą struktury event?
Na przykład mam program który za pomocą struktury event wykrywa mouse down na jakimś obszarze VI`a. W odpowiedzialnej za to ramce struktury event mogę sobie wyciągnąć współrzędne wciśnięcia.
W ramce odpowiedzialnej za event mouse up odczytuje współrzędne wyciśnięcia. Mam wtedy dwie wartości - początek i koniec trzymania wciśniętego przycisku myszy nad daną kontrolką.
Co zrobić jednak jeśli chcę śledzić ruch myszy nad tą kontrolką? Nieustanny polling w środku struktury event jest oczywiście do niczego bo wiesza się wtedy program.
PiDi
Posty: 641
Rejestracja: 31 gru 2010 01:36
Wersja środowiska: LabVIEW 2017
Lokalizacja: Katowice

Re: Śledzenie położenia myszy po wciśnięciu przycisku

Post autor: PiDi »

mariuszl2 pisze:Nieustanny polling w środku struktury event jest oczywiście do niczego bo wiesza się wtedy program.
Co to znaczy: wiesza się? Czyli co robi?
ObrazekObrazekObrazekObrazek
Awatar użytkownika
mariuszl2
Posty: 17
Rejestracja: 05 lip 2011 11:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: PolSl

Re: Śledzenie położenia myszy po wciśnięciu przycisku

Post autor: mariuszl2 »

Program przestaje wtedy odpowiadać i muszę zamknąć labview przez menadżera zadań.
Zapomniałem dodać, że problem występuje wewnątrz facade Xcontrolki.
Gpiotr
Posty: 17
Rejestracja: 18 lis 2010 08:50
Wersja środowiska: LabVIEW 2012
Lokalizacja: Katowice

Śledzenie położenia myszy po wciśnięciu przycisku

Post autor: Gpiotr »

Myślę, że problemem może być tutaj to, że event 'Mouse Move' obsługuje każde przemieszczenie kursora (nawet te występujące w trakcie obsługi event'u). Musiałbyś odfiltrować zdarzenia, które cie nie interesują (np. obsługiwać tylko eventy występujące co jakiś konkretny czas). Inną opcją mogłaby być optymalizacja kodu w even'cie 'Mouse Move'.
Certified LabVIEW Architect
ODPOWIEDZ