Как ограничить движения мышки определённой областью?

Для этого можно воспользоваться API функцией ClipCursor(). Например, можно вставить следующий код в обработчик события формы OnMouseDown:
ClipCursor(&BoundsRect);
а следующий код в обработчик события формы OnMouseUp:
ClipCursor(NULL);
Если нажать кнопку мыши на форме и удерживать её, то курсор мышки не сможет покинуть пределы формы.

Взято из http://forum.sources.ru

Сначала определяете ограничивающий прямоугольник, затем используете функцию ClipCursor(), передав ей в качестве параметра указатель на этот прямоугольник. Например, вот так можно по 100 пикселей скостить по краям экрана:

procedure TForm1.Button1Click(Sender: TObject);

var

 r: TRect;

 pr: PRect;

begin

 r.Left := 100;

 r. := 100;

 r.Right := Screen.Width - 100;

 r.Bottom := Screen.Height - 100;

 pr := @r;

 ClipCursor(pr);

end;





Чтобы восстановить:



ClipCursor(NULL);


http://delphiworld.narod.ru/
DelphiWorld 6.0

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...