Koordynaty myszki większy niż ekran

Odpowiedz Nowy wątek
2006-11-19 13:20
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ę)

Pozostało 580 znaków

2006-11-19 18:11
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


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-11-19 19:09
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

Pozostało 580 znaków

2006-11-19 19:14
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


Nie ma ludzi zdrowych psychicznie, są tylko źle zbadani...

Pozostało 580 znaków

2006-11-19 19:41
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ć... ?

Pozostało 580 znaków

2006-11-19 21:18
0

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

Pozostało 580 znaków

2006-11-19 21:32
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?

Pozostało 580 znaków

2006-11-20 12:56
lalalae
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

Pozostało 580 znaków

2006-11-20 15:16
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.

Pozostało 580 znaków

2006-11-20 22:57
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.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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

Robot: CCBot