Как мне увеличить TImage в Delphi, когда мой курсор находится над ним? - PullRequest
1 голос
/ 03 августа 2020

Я использую приложение VCL в Delphi. У меня есть TImage. Я хочу немного увеличить TImage, когда наведен на него курсор. Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 03 августа 2020

Есть много способов.

Лично я бы создал новый настраиваемый элемент управления специально для этой цели, чтобы его можно было использовать повторно.

Но если вам нужна быстрая версия, вы можно просто использовать события 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 и переместите курсор в сторону, вы обнаружите, что изображение восстановлено до исходного размера, когда вы вернетесь к рабочий стол.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...