Как узнать, находится ли мышка на форме?
Falk0ner, вс, 06/07/2008 - 15:34.
Для этого можно воспользоваться API функцией GetCapture().
procedure TForm1.FormDeactivate(Sender: TObject);
begin
ReleaseCapture;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
If GetCapture = 0 then
SetCapture(Form1.Handle);
if PtInRect(Rect(Form1.Left,
Form1.,
Form1.Left + Form1.Width,
Form1. + Form1.Height),
ClientToScreen(Point(x, y))) then
Form1.Caption := 'Мышка на форме' else
Form1.Caption := 'Мышка за пределами формы';
end;
begin
ReleaseCapture;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
If GetCapture = 0 then
SetCapture(Form1.Handle);
if PtInRect(Rect(Form1.Left,
Form1.,
Form1.Left + Form1.Width,
Form1. + Form1.Height),
ClientToScreen(Point(x, y))) then
Form1.Caption := 'Мышка на форме' else
Form1.Caption := 'Мышка за пределами формы';
end;
Взято из http://forum.sources.ru
Отправить комментарий