ďťż

Ładny brzuch

Jak nadać pozycję wskaźnika myszy.

Powiedzmy, że chce żeby po naciśnięciu jakiegoś przycisku kursor znalazł się w pozycji ekranu: 100,100.



O ile dobrze pamiętam to:SetCursorPos(100,100);

To ustawia pozycję na całym ekranie a jak ograniczyć się tylko do obszaru jednego komponentu np Image.

Problem w tym, że poruszam się po Image i chce żeby myszka skakała co 4 piksele (komponent image nie wypełnia całego obszaru formy).

SetCursorPos(FORMA.Left + IMG.Left + 100,FORMA.Top + IMG.Top + 100);

FORMA : TForm;
IMG : TImage;

Jak chcesz zrobił przeskoki co 4pix?(popatrz na szybkość i ekonomie bo ja tego nie widze :P )




SetCursorPos(FORMA.Left + IMG.Left + 100,FORMA.Top + IMG.Top + 100);

FORMA : TForm;
IMG : TImage;

Jak chcesz zrobił przeskoki co 4pix?(popatrz na szybkość i ekonomie bo ja tego nie widze :P )



No niestety to nie działa dobrze


No sprawdziłem i rzeczywiście - pasek ma chyba 32pix ale pewien nie jestem.

Lepszym rozwiązaniem będzie obliczanie punktów wg. Left i Top TForm na onmove TImage.

//+30pix w pionie w XP
////+4pix w poziomie w XP

IMO jak chodzi tylko o jeden komponent to po co odowływać sie do współrzędnych formy, jak można odwołać sie do współrzędnych teo obrazka i problem z paskiem znika ;-).

A ClientHeight nie jest wysokoscia okna bez paska? :> jesli jest wystarczy odjac go od Height i otrzymamy wysokosc paska tytulowego ;]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •