Как узнать, что курсор мыши над моей формой?

Вопрос:
Как узнать, что курсор мыши над моей формой?
Ответ:
Можно использовать функцию GetCapture() из Windows API.

Примечание: Cм. документацию Windows для информации об ограничениях функции 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.Top,Form1.Left + Form1.Width,
			Form1.Top + Form1.Height), ClientToScreen(Point(x, y))) then
		Form1.Caption := 'Мышка над формой!'
	else
		Form1.Caption := 'Мышка вне формы...';
end;

Комментариев Нет.

Написать Ответ

Вы должны войти чтобы оставить комментарий.