FMXUI - UI.Dialog 示例
在 FMXUI 开源库,增加了 UI.Dialog 单元。此单元实现了跨平台的基础对话框组件。使用时引用 UI.Dialog 即可。如果需要自定义对话框的样式, 可以添加一个 TDialogStyleManager 组件在主窗体中。
GIT: https://github.com/yangyxd/FMXUI
对话框效果演示图(默认样式,Windows平台):
此 Demo 已经包含在源码库中,主要代码如下:

- uses
- UI.Dialog, UI.Async;
- { TFrmaeDialog }
- procedure TFrmaeDialog.ButtonView1Click(Sender: TObject);
- begin
- TDialogBuilder.Create(Self)
- .SetMessage('我是一个消息框。')
- .Show;
- end;
- procedure TFrmaeDialog.ButtonView2Click(Sender: TObject);
- begin
- TDialogBuilder.Create(Self)
- .SetMessage('我是一个消息框。这里显示消息内容')
- .SetNegativeButton('Negative',
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint(Dialog.Builder.NegativeButtonText);
- end
- )
- .SetNeutralButton('Neutral',
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint(Dialog.Builder.NeutralButtonText);
- end
- )
- .SetPositiveButton('Positive',
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint(Dialog.Builder.PositiveButtonText);
- end
- )
- .Show;
- end;
- procedure TFrmaeDialog.ButtonView3Click(Sender: TObject);
- begin
- TDialogBuilder.Create(Self)
- .SetTitle('我是标题文本')
- .SetMessage('我是一个消息框。这里显示消息内容')
- .SetNegativeButton('Negative',
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint(Dialog.Builder.NegativeButtonText);
- end
- )
- .SetPositiveButton('Positive',
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint(Dialog.Builder.PositiveButtonText);
- end
- )
- .Show;
- end;
- procedure TFrmaeDialog.ButtonView4Click(Sender: TObject);
- begin
- TDialogBuilder.Create(Self)
- .SetTitle('我是标题文本')
- .SetItems(['列表项 - 1', '列表项 - 2', '列表项 - 3', '列表项 - 4', '列表项 - 5'],
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint(Dialog.Builder.ItemArray[Which]);
- end
- )
- .Show;
- end;
- procedure TFrmaeDialog.ButtonView5Click(Sender: TObject);
- begin
- TDialogBuilder.Create(Self)
- .SetTitle('我是标题文本')
- .SetSingleChoiceItems(['列表项 - 1', '列表项 - 2', '列表项 - 3', '列表项 - 4', '列表项 - 5'], 1)
- .SetPositiveButton('取消')
- .SetNegativeButton('确定',
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint('选择了: ' + Dialog.Builder.ItemArray[Dialog.Builder.CheckedItem]);
- end
- )
- .Show;
- end;
- procedure TFrmaeDialog.ButtonView6Click(Sender: TObject);
- begin
- TDialogBuilder.Create(Self)
- .SetTitle('我是标题文本')
- .SetMultiChoiceItems(['列表项 - 1', '列表项 - 2', '列表项 - 3', '列表项 - 4', '列表项 - 5'], [])
- .SetPositiveButton('取消')
- .SetNegativeButton('确定',
- procedure (Dialog: IDialog; Which: Integer) begin
- Hint(Format('选择了 %d 项.', [Dialog.Builder.CheckedCount]));
- end
- )
- .Show;
- end;
- procedure TFrmaeDialog.ButtonView7Click(Sender: TObject);
- begin
- ShowWaitDialog('正在执行任务...', False);
- TAsync.Create()
- .SetExecute(
- procedure (Async: TAsync) begin
- Sleep(3000);
- end
- )
- .SetExecuteComplete(
- procedure (Async: TAsync) begin
- HideWaitDialog;
- end
- ).Start;
- end;
- procedure TFrmaeDialog.ButtonView8Click(Sender: TObject);
- begin
- ShowWaitDialog('正在执行任务...',
- procedure (Dialog: IDialog) begin
- Hint('任务被取消');
- end
- );
- TAsync.Create()
- .SetExecute(
- procedure (Async: TAsync) begin
- Sleep(5000);
- end
- )
- .SetExecuteComplete(
- procedure (Async: TAsync) begin
- if not IsWaitDismiss then // 如果任务没有被中断
- Hint('任务执行完成.');
- HideWaitDialog;
- end
- ).Start;
- end;
- procedure TFrmaeDialog.DoShow;
- begin
- inherited;
- tvTitle.Text := Title;
- end;
- procedure TFrmaeDialog.SpeedButton1Click(Sender: TObject);
- begin
- Finish;
- end;

http://www.cnblogs.com/yangyxd/articles/5877638.html
FMXUI - UI.Dialog 示例的更多相关文章
- FMXUI - UI.Dialog 示例(比较漂亮)
在 FMXUI 开源库,增加了 UI.Dialog 单元.此单元实现了跨平台的基础对话框组件.使用时引用 UI.Dialog 即可.如果需要自定义对话框的样式, 可以添加一个 TDialogStyle ...
- jQuery UI dialog 参数说明
前段时间碰到个问题 jquery UI dialog弹出层 弹出多个层是 比如弹出两个层A和B B层如果显示的数据表格太大,伸到了A层的外面,那伸到A层之外的部分就看不到了,因为B层是在A层上弹出的 ...
- js插件---Amaze UI dialog如何使用
js插件---Amaze UI dialog如何使用 一.总结 一句话总结:别人给你列出来的参考手册照着用先 1.在哪里去找插件参考资料或者使用手册(一般位置找不到的时候)? github上面啊,非常 ...
- 解决Select2控件不能在jQuery UI Dialog中不能搜索的bug
本文使用博客园Markdown编辑器进行编辑 1.问题呈现 项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面.逻辑是修改一个广告的图片和标题. 效果截图如 ...
- [转]jQuery UI Dialog Modal Popup Yes No Confirm example in ASP.Net
本文转自:http://www.aspsnippets.com/Articles/jQuery-UI-Dialog-Modal-Popup-Yes-No-Confirm-example-in-ASPN ...
- API分析——Jquery UI Dialog
1.阅读API文档的一般方法? 通常地, API由三部分构成:属性.方法.事件. 属性表示参数配置,作为一个组件的微调,或者功能的开启与关闭: 方法表示组件能够发生的动作,或者组件的状态监测: 事件表 ...
- jQuery UI dialog 的使用
今天用到了客户端的对话框,把 jQuery UI 中的对话框学习了一下. 准备 jQuery 环境 首先,我们创建一个按钮,点击这个按钮的时候,将会弹出一个对话框. 1 <input type= ...
- jQuery UI dialog 參数说明
前段时间碰到个问题 jquery UI dialog弹出层 弹出多个层是 比方弹出两个层A和B B层假设显示的数据表格太大,伸到了A层的外面,那伸到A层之外的部分就看不到了,由于B层是在A层上弹出的 ...
- Jquery - UI - Dialog(转)
jQuery UI Dialog常用的参数有: 1.autoOpen:默认true,即dialog方法创建就显示对话框 2.buttons:默认无,用于设置显示的按钮,可以是JSON和Array形式: ...
随机推荐
- Nginx 之二: nginx.conf 配置及基本优化
一:常用功能优化: 1:网络连接的优化: 只能在events模块设置,用于防止在同一一个时刻只有一个请求的情况下,出现多个睡眠进程会被唤醒但只能有一个进程可获得请求的尴尬,如果不优化,在多进程的ngi ...
- 2013 南京邀请赛 C count the carries
/** 大意: 给定区间(a,b), 将其转化为二进制 计算从a+(a+1)+(a+2)....+(a+b-1),一共有多少次进位 思路: 将(a,b)区间内的数,转化为二进制后,看其每一位一共有多少 ...
- Android Dalvik 虚拟机
简介 Android 平台虽然是使用java语言来开发应用程序,但Android程序却不是运行在标准java虚拟机上的.谷歌专门为Android平台设计了一套虚拟机来运行Android程序.它就是Da ...
- python异常处理URLError,HTTPError,Wrapping,
们在使用爬虫来抓取网页内容的时候,HTTP异常是必须要注意的一项,所以本文,我们来详细探寻一下HTTP异常处理的相关内容,通过一些具体的实例来分析一下,非常的简单,但是却很实用. 先来说一说HTT ...
- Android最新源码4.3下载-教程 2013-11
Android最新源码4.3下载-教程 有的下载会出现问题: 需要 修改manifest.xml中的fetch: "git://Android.git.linaro.org/" ...
- Apache 2.2 到 2.4的不同
1.权限设定方式变更 2.2使用Order Deny / Allow的方式,2.4改用Require apache2.2: Order deny,allowDeny from allapache2.4 ...
- Matrix Factorization, Algorithms, Applications, and Avaliable packages
矩阵分解 来源:http://www.cvchina.info/2011/09/05/matrix-factorization-jungle/ 美帝的有心人士收集了市面上的矩阵分解的差点儿全部算法和应 ...
- JAVA 软件升级版本号比较
简单版本号比较: public class CompareVersion { public static void main(String[] args) { // TODO Auto-gener ...
- 树莓派deian的linux常用命令
Linux系统,这个强大的系统,现在树莓派也要用到.给大家普及一下. 那些常用的Linux命令 linux的文件结构 / 根目录下的目录 /bin /home /dev /usr /opt /et ...
- IE6多出一只猪的经典bug
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...