Delphi FireMonkey 学习笔记 – TPopup 控件的使用

来源:互联网 发布:java正则表达式实例 \ 编辑:程序博客网 时间:2024/06/05 07:49

TPopup 控件可以用于类似菜单或 comboBox 弹出方式显示控件内容,例如下图所示的 CallOutPanel 在点击 button2 之后显示出来,当 CallOutPanel 失去焦点后即会消失。

image

方法很简单,就是将 TPopup 控件放到窗体上,然后,将需要显示的控件拖放到 TPopup 控件里,注意,TPopup 控件必须是它的父级,如下图,在结构树中,需要显示的控件是 TPopup 控件的子控件。

image

另外要注意的一点是:TPopup 控件的位置(Position)很重要,如果位置设置不对,将无法显示出Popup效果,这也许是 Delphi 的一个 Bug,但不管怎样说,你可以选择在向窗体中放置 TPopup 控件时,就放在窗体的左上角 Position 为0,0的的位置,或者在窗体创建的事件里,把TPopup对象实例的 Position 设置为 0, 0。

image

 

TPopup 控件的显示和关闭。

  • 设置 TPopup 控件实例的 IsOpen 属性为 true,即会显示出 TPopup 控件;设置为 false,则会关闭 TPopup 控件,或者,当焦点位置更新时,也会自动关闭已经打开的 TPopup 控件实例。

unit Unit1;interfaceuses  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;type  TForm1 = class(TForm)    ToolBar1: TToolBar;    Popup1: TPopup;    CalloutPanel1: TCalloutPanel;    Label1: TLabel;    Label2: TLabel;    Label3: TLabel;    Button1: TButton;    StyleBook1: TStyleBook;    procedure Button1Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;implementation{$R *.fmx}procedure TForm1.Button1Click(Sender: TObject);begin Popup1.IsOpen:=True;end;end.


原创粉丝点击