0

如何为按钮制作鼠标悬停图像?我曾经制作 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 中制作?

4

1 回答 1

2

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

结构 查看图片

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

为和事件的其中一个TImage组件创建一个事件处理程序,然后将这些处理程序分配给这两个组件:OnMouseEnterOnMouseLeaveTImage

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;
于 2014-02-16T05:07:56.377 回答