Canvas kursora

0

Chodzi mi o to, żeby program mógł rysować po canvasie warstwy, na której jest umieszczony kursor, a dokładniej, żeby po prostu kursor stale był, nieważne czy jakiś program nad którym się znajduje, tego chce czy nie. To nie musi być windowsowy kursor tylko np. kółko, byle było widoczne. Potrzebne mi to, żeby rozwiązać problem z jednm edytorem poziomów do gry w którym znika kursor nad oknem renderującym teren (chodzi o TES Construction Set do Morrowinda). Jeśli jakiś bzdet będzie stale się wyświetlał niezależnie od windowsa, ale na pozycji kursora, może będę w stanie korzystać z tego edytora, bo teraz nie mogę. Trafienie na ślepo w jakiś obiekt na ekranie to nie jest prosta sprawa... Z góry dziękuję za wszelką pomoc (hehehehe, jak tu teraz nie pomóc? ludzka psyhika ma wiele słabych stron ;))

0

Może spróbuj rysować po pulpicie:

var
Canvas: TCanvas;
Uchwyt: HDC;
begin
Uchwyt := GetDC(0);
Canvas.Handle := Uchwyt;
//Tutaj pobierasz pozycję kursora i rysujesz coś w odpowiednim miejscu na pulpicie
ReleaseDC(Handle, Uchwyt); //albo odwrotnie. Z pamięci
end;

0

Dzięki. Działa. Muszę jeszcze tylko znaleźć sposób na odbieranie ruchów myszy poza formą (może hook na mysz?).

0

Pochwalony!
Aby przechwycić naciskania myszy skorzystaj z HOOK'ów. Opis HOOK'a masz w FAQ, punkt 81, 181, 80, lub 81 :P. Zmień tylko tam z:
{...}
if EM.message = WM_KEYDOWN then
{...}
na :
if EM.message = WM_LBUTTONDOWN then
{...}
Mam nadzieję żew wiesz o co mi chodzi... :)

0

Pochwalony! Kup okulary! :p Mi chodzi o ruch myszą, nie klikanie. Z resztą już se z tym poradziłem.

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