我已经找到它但却找不到任何东西。有没有办法用FireMonkey添加提示或工具提示?是否有可用于此的组件?
理想情况下,我正在寻找类似这样的东西(标注类型工具提示):
对于已暂停此问题的版主:我正在寻找有关如何实现此问题的源代码行,而不是购买/使用的软件。目前(AFAIK)没有能够实现此目的的源代码组件,因此不会存在“傻瓜式”或“垃圾邮件”的风险。
答案 0 :(得分:11)
这就是我最终做到的方法:创建一个看起来像这样的Button的提示:
向表单添加按钮。然后添加一个TPopup。在其中放置一个CalloutPanel,并可选择将对齐设置为AlClient。在该CalloutPanel上删除一个TLabel并写下你的提示文本。
您的结构应如下所示:
然后转到TPopup并将PlacementTarget设置为Button1(您的按钮)。接下来,转到Placement并选择BottomCenter:
接下来,在按钮上添加MouseEnter和MouseLeave事件的处理程序:
procedure TForm1.Button1MouseEnter(Sender: TObject);
begin
Popup1.IsOpen := True;
end;
procedure TForm1.Button1MouseLeave(Sender: TObject);
begin
Popup1.IsOpen := False;
end;
应该这样做。
答案 1 :(得分:0)
这"应该这样做"是一个非常好的解决方法,但如果您的鼠标在标注面板内 它像疯了一样闪烁 - 任何关于如何避免它的想法?
我希望firemonkey并不总是处于中途状态 android词有通知但不在windows中
答案 2 :(得分:0)
我是Delphi和FireMonkey的新手。我也想要工具提示。以下是我的想法:FireMonkey没有提供工具提示,这是故意的,有充分的理由。
我认为使用FireMonkey的一个好主意是你开发了一个且只有一个程序。然后,在不更改一行代码的情况下,您编译一个版本以在Windows上运行,另一个版本在Android上运行,另一个版本在Mac OS上运行,等等。因此,即使不更改一行代码,您也可以使用桌面和智能手机版本使用相同的用户界面完全相同。
因此,FireMonkey仅支持智能手机和台式机共有的功能。在智能手机上,没有鼠标,手指或其他东西的悬停。因此,Firemonkey不支持在桌面上悬停。因为没有悬停,所以没有工具提示(Delphi命名法中的“提示”)。
所以你必须决定:你想要一个在Windows和智能手机上完全相同的应用程序,而不需要更改代码而没有单独的代码吗?或者您想要所有桌面功能?如果您想要所有桌面功能,包括工具提示(提示)和所有其他功能,那么您应该使用Embarcadero的VCL(可视组件库)。使用VCL将允许您通过设置文本框,按钮和所有其他控件的“提示”属性来获取工具提示(提示),而无需编写代码。
但如果您想要一款适用于智能手机的应用,则必须使用FireMonkey。 VCL不适用于此。
正如我所提到的,我还是Delphi的新手。所以,当然,我感谢更正 来自经验丰富的Delphi开发人员。
答案 3 :(得分:0)
您可以使用FloatAnimation和Opacity属性进行提示。
向表单添加按钮。然后在里面添加CalloutPanel(或任何形状)。 接下来,在CalloutPanel上放置一个TLabel来编写提示文本。我在Form Creating时将CalloutPanel.Visible属性设置为False。然后将TFloatAnimation附加到CalloutPanel.Opacity属性。
Next set some TFloatAnimation properties:
由于持续时间提示显示顺利。
然后创建Button事件OnMouseEnter和OnMouseLeave。
procedure TForm1.Button1MouseEnter(Sender: TObject);
begin
CalloutPanel1.Visible := true;
end;
procedure TForm1.Button1MouseLeave(Sender: TObject);
begin
CalloutPanel1.Visible := false;
end;