如何为按钮制作鼠标悬停图像?
我曾经在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中更容易制作?
答案 0 :(得分:2)
在按钮上放置两个单独的TImage
控件(将它们拖到结构视图中的按钮上):
调整它们的大小以适合按钮,并使用MultiResBitmap
属性编辑器为每个图像分别提供单独的图像。
为TImage
和OnMouseEnter
事件的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;