FireMonkey 平台初探
最为第一个本地化跨平台的框架:FireMonkey需要处理以及融合不同平台的技术非常之多,所以目前的测试仅仅在于表面现象,至于效率问题还不得而知。
从一个程序员的角度来看这个框架,我觉得有以下这些方面FireMonkey以及做的无与伦比了:
1. 任何控件都是容器
a) Acomponent.parent := othercomponent //就可以非常方便的将控件的父类转换.
2. 控件可以通过设置Style来动态(及时是运行时)改变控件的样式,并且样式可以持久化保存
a) RAD提供了很多预设的样式
Application.StyleFileName 来指定应用程序的样式
可以选中控件,点击右键来自定义控件样式
3. FireMonkey支持多种渲染效果,可以给控件非常方便的添加 阴影、外发光、内发光、模糊,高光等……
a) 对于图片,按钮以及一些控件,可以使用Effects控件来指定控件的显示效果。例如要实现下面的效果
i. 需要在窗体中依次添加Timage, RippleEffect控件
ii. 也可以在运行时,通过设置RippleEffect的parent为Timage就能实现效果
4. FireMonkey支持JPG\PGN图片的处理
5. 透明效果设置非常方便
很多控件控件有一个Opacity属性值从0到1 ( 0表示完全透明,1表示完全不透明)
6. FireMonkey在当前富控件开发上非常方便,提供了一个Direct UI的最佳方案,所有控件的绘画不会涉及到子窗口重建的操作,大大加强了界面
a) 控件的绘制不再是VCL模式的子控件创建的方式,而是完完全全在paint消息时,在窗体绘制所有控件
7. 3D程序,通过Tlayout3d非常方便的讲2d窗体或者其他控件嵌入进来。
8. 动画控件的使用,能很简单的创建炫目,动感的界面
a) 每个控件的属性面板有一个电影胶片样式图标表示该属性能够通过动画的方式来创建动态效果
FireMonkey 平台初探的更多相关文章
- 国内物联网平台初探(八):移动云OneNET
国内物联网平台初探(八)——移动云OneNET 平台架构 数据模型 使用场景示意图 服务 IOT Paas 基础服务 为IoT开发者提供智能设备自助开发工具.后台技术支持服务,为您提供物联网专网.短彩 ...
- nginx平台初探(100%)
http://tengine.taobao.org/book/chapter_02.html 初探nginx架构(100%)¶ 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么 ...
- nginx -- nginx平台初探(100%)
初探nginx架构(100%) 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在un ...
- Windows ML,系统内置的机器学习平台初探
人工智能现在很火,虽然最近风头隐隐有被区块链盖过,但仍是未来技术转型的首选方向之一.作为AI核心的机器学习,目前也进化到了可以基于平台自动训练模型的地步,例如Azure Machine Learnin ...
- OneNet平台初探成功
1.经过半个月的研究,终于成功对接OneNet平台,实现远程控制LED灯的亮灭 2.在调试的过程中也遇到了很多问题,做一下总结 3.硬件:STM32F103C8T6的最小系统板,ESP8266-WiF ...
- SOAR平台初探(一)
1.前言 Security Orchestration, Automation and Response(SOAR)安全编排和自动化响应,是Gartner2017年提出的新概念.Gartner预计到2 ...
- Nginx开发从入门到精通 nginx平台初探
初探nginx架构(100%) 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在un ...
- 国外物联网平台初探(六) ——Electric Imp
公司背景 Electric Imp成立于2011年,公司设立在美国加利福尼亚州洛斯阿尔托斯和英国剑桥 公司投资者包括:富士康技术集团.PTI创投.Rampart资本.Redpoint创投 定位 Ele ...
- 国内物联网平台初探(八):中移物联网开放平台OneNet
平台定位 OneNET是中移物联网有限公司搭建的开放.共赢设备云平台,为各种跨平台物联网应用.行业解决方案,提供简便的云端接入.存储.计算和展现,快速打造物联网产品应用,降低开发成本. IoT Paa ...
随机推荐
- TJU 4087. box
题目:Tuhao and his two small partners participated in the tournament.But in the end, they lost the cha ...
- oracle impdp的table_exists_action详解
oracle impdp的table_exists_action详解 分类: [oracle]--[备份与恢复]2012-01-06 22:44 9105人阅读 评论(0) 收藏 举报 tableac ...
- 运行时修改TimerTask的执行周期
java.util.TimerTask类的执行周期period变量的声明如下: /** * Period in milliseconds for repeating tasks. A positive ...
- iOS获取手机相关信息
iOS具体的设备型号: #include <sys/types.h> #include <sys/sysctl.h> - (void)test { //手机型号. size_t ...
- Android中两种设置全屏的方法
设置全屏的两种方法: 第一种:在配置文件里面配置: <?xml version="1.0" encoding="utf-8"?><manife ...
- struts.properties的参数描述
A.2.1 概述 如果我们希望覆盖在default.properties文件里面定义的默认配置,那就可以定义struts.properties文件,在里面设置我们需要的值,当然现在也可以在struts ...
- 最近在看 ASP.NET 5,有关官方实现的 OAuth 2 包
有了官方实现的 OAuth 2 包,再扩展到国内就方便多了(懒得找第三方). 官方实现的有关授权和验证的包:https://github.com/aspnet/Security 根据这些,我就扩展了几 ...
- Jenkins配置基于角色的项目权限管理--转
本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Str ...
- 如何修改Linux系统的TTL值
在网络中,黑客如果用ping命令去探测 一个主机,根据TTL基数可以推测操作系统的类型.对于一个没有经过任何网关和路由的网络, 直接ping对方系统得到的TTL值,被叫做"TTL基数&qu ...
- python 详解re模块
正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可以理解成或的关系.^ 如果放在字 ...