opengl i ustawianie kursora na środku okna

0

tak ja k w tytule chce ustawić kursor na środku okna... jak to zrobić?

0

MapWindowPoints... nie do końca zrozumiałem jak mam z tego korzystać.... mała podpowiedź?

0

czemu to nie działa?

             if(active==1)
            {
                GetClientRect(hwnd,&windowsize);
                MapWindowPoints(0,hwnd,&windowdistance,1);
                gamemouse_x+=mouse_x-gamemouse_x;
                gamemouse_y+=mouse_y-gamemouse_y;
                SetCursorPos(windowdistance.x+(windowsize.right/2),windowdistance.y+(windowsize.bottom/2));
            }

active=czy zaznaczone jest okno
reszta-chyba logiczne od czego

0

Raz masz windowsize, drugi raz jakieś windowdistance?

  1. robisz GetClientRect po czym wyliczasz współrzędne środka okna ze średniej w pionie i w poziomie
  2. robisz MapWindowPoints na tym wyliczonym punkcie (mapować powinieneś z hwnd do NULL, a u ciebie jest odwrotnie)
  3. SetCursorPos na wynikowy punkt.

MapWindowPoints... nie do końca zrozumiałem jak mam z tego korzystać.... mała podpowiedź?

GetClientRect zwraca współrzędne ale względem wnętrza okna. a SetCursorPos pobiera współrzędne ekranowe.
MapWindowPoints przelicza współrzędne między różnymi układami odniesienia.

0

aaahaaaa... thx
mój angielski nie jest jeszcze zbyt dobry(2 gimbaza) i angielskie strony zbytnio nie pomagają

0

... teraz pojawia sie kursor z drugiej strony... cały czas problem z wyliczeniem odległości okna od krawędzi pulpitu

0

Windowdistance to odległość okna od pulpitu, zmienna typu point. .. jak poprawnie sprawdzić odległość okna od pulpitu?

1

jak poprawnie sprawdzić odległość okna od pulpitu?
a po co i w którą w ogóle stronę mierzysz tę odległość?

					RECT rect;
					GetClientRect(hWnd, &rect);

					POINT point;
					point.x = (rect.left + rect.right) / 2;
					point.y = (rect.top + rect.bottom) / 2;
					MapWindowPoints(hWnd, NULL, &point, 1);
					SetCursorPos(point.x, point.y);

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