Koordynaty myszki większy niż ekran

0

Witam,

Zrobiłem coś takiego że do listboxa zapisuje się kolejny koordynat położenia myszki (y) względem czasu. Problem polega na tym, że jak przesuwam myszką na większej długości (niż aktualna rozdzielczość ekranu) to nie zapisuje mi większych koordynatów. Jak zrobić, by było możliwe, żeby przesuwając myszką po stole nawet 1 metr - program zapisywał to do wspomnianego listboxa?

Dziękuję i proszę o podpowiedź.

(W skrócie mówiąc, chodzi o powiedzmy elektroniczną suwmiarkę)

0

ale mysz się dalej nie przesuwa - po prostu staje na skaraju ekranu i tyle. Inaczej - nie da się przesunąć myszy dalej niż ma ekran

0

prawdę mówiąc, da się. Kiedyś miałem coś takiego zrobione, tylko zgubiłem kod... Rzeczywiście w tej chwili program mi działa tak, że zebrane dane są od 0 do 767 (bo mam rozdzielczość 1024/768 a interesuje mnie tylko współrzędna y-kowa). Jeżeli ktoś zna sposób jak to obejść, proszę o odpowiedź. Niewiem, może zmiana rozdzielczości..? Ale to bez sensu... Pomóżcie. Dzięki

0

Może po prostu ustaw sobie zmienną licznik=0 i po prostu w każdym cyklu pętli odczytuj przesuniecie myszki i dodawaj do tej zmiennej, a następnie ustawiaj kursor na środku ekranu ;p

0

hmm, takie rozwiązanie byloby nienajlepsze. Chodzi o kalibrację "suwmiarki" - najpier ustawiam myszkę w jednym położeniu i zczytuje współrzędną, potem przesuwam w drugie położenie i też zczytuje. dzięki temu wiem przy jakim wskazaniu koordynatu jaka jest odległość rzeczywista. Jeżeli natomiast zastosowałbym proponowane rozwiązanie, to tego raczej nie da się zrobić.

A czy jest możliwe, żeby w momencie dojechania do krawędzi ekranu przenieść programowo kursor na przeciwległe skrajne położenie? W końcu jak mamy dwa monitory, to kursor przechodzi płynnie z jednego na drugi.., Co myślicie o tym "przerzucaniu kursora z krawędzi na krawędź? I pytanie jak to zrobić... ?

0

dokladnie to czego potrzebujesz. sciagnij sobie source.
http://delphi.about.com/od/windowsshellapi/a/mousehook.htm

0

Dzięki za link. Kursor przeskakuje po ekranie. Jest tylko problem z tym, że koordynaty myszki zerują się przy przejściu przez ekran... A czy umiałby ktoś zsumować wartości po przeskoczeniu przz ekran?

0

mozna jeszcze zrobic ze jak wyjdzie poza obaszar myszki czyli pixel bedzie dla y lub x = 0 lub = maksymalnej wielkosci to zeby przesunelo go na druga strone ekranu

0

Takie też rozwiązanie podał Cimak, problem w tym, że po przesunięciu wskaźnika myszki na początek ekranu, program widzi koodrynaty od nowa a ni dodaje ich. Mam nadzieje że nie zapłatałem odpowiedzi.

0

no to rany, co za problem?
kilka dodatkowych zmiennych, kilka warunkow i tyle.

ogolny zarys taki:

If polozenie_myszy.y > poprzednie_polozenie_myszy.y then Inc(y);
If polozenie_myszy.y < poprzednie_polozenie_myszy.y then Dec(y);

P.S. w sumie chyba ladniej by wygladalo gdyby ukryc kursor, lub najprosciej przyrownywac go max w prawo.

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