Есть много способов.
Лично я бы создал новый настраиваемый элемент управления специально для этой цели, чтобы его можно было использовать повторно.
Но если вам нужна быстрая версия, вы можно просто использовать события OnMouseEnter
и OnMouseLeave
элемента управления:
procedure TForm1.Image1MouseEnter(Sender: TObject);
var
R: TRect;
begin
R := Image1.BoundsRect;
R.Inflate(6, 6, 6, 6);
Image1.BoundsRect := R;
end;
procedure TForm1.Image1MouseLeave(Sender: TObject);
var
R: TRect;
begin
R := Image1.BoundsRect;
R.Inflate(-6, -6, -6, -6);
Image1.BoundsRect := R;
end;
Пример снимка экрана с эффектом наведения мыши
Это на самом деле более надежно, чем вы думаете. Например, если вы поместите курсор над изображением, чтобы оно было увеличено, а затем нажмите Ctrl + Alt + Del и переместите курсор в сторону, вы обнаружите, что изображение восстановлено до исходного размера, когда вы вернетесь к рабочий стол.