tak ja k w tytule chce ustawić kursor na środku okna... jak to zrobić?
MapWindowPoints... nie do końca zrozumiałem jak mam z tego korzystać.... mała podpowiedź?
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
Raz masz windowsize, drugi raz jakieś windowdistance?
- robisz GetClientRect po czym wyliczasz współrzędne środka okna ze średniej w pionie i w poziomie
- robisz MapWindowPoints na tym wyliczonym punkcie (mapować powinieneś z hwnd do NULL, a u ciebie jest odwrotnie)
- 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.
aaahaaaa... thx
mój angielski nie jest jeszcze zbyt dobry(2 gimbaza) i angielskie strony zbytnio nie pomagają
... teraz pojawia sie kursor z drugiej strony... cały czas problem z wyliczeniem odległości okna od krawędzi pulpitu
Windowdistance to odległość okna od pulpitu, zmienna typu point. .. jak poprawnie sprawdzić odległość okna od pulpitu?
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);