鼠标悬停在FMX XE2按钮上的图像

时间:2014-02-15 23:15:10

标签: delphi firemonkey firemonkey-fm2

如何为按钮制作鼠标悬停图像? 我曾经在FMX 2按钮中制作,并用位图填充它。但它有钱。 我找到了属性IsMouseOver

procedure TForm1.Button1Paint(Sender: TObject; Canvas: TCanvas;
  const ARect: TRectF);
begin
if Button1.IsMouseOver  then
begin
  Button1.Text:='yes';
end
else
begin
  Button1.Text:='nono';
end;
end;

但是,我真的不明白如何使用容器,我只想通过之前编写的方法更改填充(我的位图)。有人能给出一个简单的代码吗?

或者在VCL中更容易制作?

1 个答案:

答案 0 :(得分:2)

在按钮上放置两个单独的TImage控件(将它们拖到结构视图中的按钮上):

Structure View image

调整它们的大小以适合按钮,并使用MultiResBitmap属性编辑器为每个图像分别提供单独的图像。

TImageOnMouseEnter事件的OnMouseLeave个组件之一创建事件处理程序,然后将这些处理程序分配给两个TImage组件:

procedure TForm1.Image1MouseEnter(Sender: TObject);
begin
  Image1.Visible := False;
  Image2.Visible := True;
end;

procedure TForm1.Image1MouseLeave(Sender: TObject);
begin
  Image1.Visible := True;
  Image2.Visible := False;
end;