随笔分类 -  XE2 与 FireMonkey

上一页 1 2 3 下一页
Delphi XE2 之 FireMonkey 入门(29) - 数据绑定: TBindingsList: 表达式的 Evaluate() 方法
摘要:TBindingsList 中可能不止一个表达式, 通过表达式的 Evaluate 方法可单独提交绑定, 并可在 Active = False 时提交.在 TBindExprItems 中对应的方法是 EvaluateFormat.测试设想: Label1、Label2 的绑定源同是 Edit1, 分别提交绑定.1、在窗体上加控件: Label1、Label2、Edit1、BindingsList1;2、激活 Edit1 的 OnKeyUp、OnChange 事件, 还有窗体的默认事件.unit Unit1;interfaceuses System.SysUtils, System.Type. 阅读全文
posted @ 2011-10-03 12:51 万一 阅读(3268) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(28) - 数据绑定: TBindingsList: 表达式函数测试: SelectedText()、CheckedState()
摘要:示例构想: 用 Label1 显示 ListBox1 的选项, 用 Label2 显示 CheckBox1 的状态.1、放控件: Label1、Label2、ListBox1、CheckBox1、BindingsList1、BindScope1;2、激活 ListBox1 的 OnClick 事件和窗体的默认事件.unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms,.. 阅读全文
posted @ 2011-10-03 10:43 万一 阅读(3754) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(27) - 数据绑定: TBindingsList: TBindScope
摘要:如果在编写表达式时, 如果能够随意指认需要的控件就好了(通过 Owner 也可以勉强做到), TBindScope 就是解决这个问题的.示例设想: 把三个 TEdit 的 Text 绑定到一个 TLabel.在窗体上添加 Label1、Edit1、Edit2、Edit3、BindingsList1、BindScope1; 激活 Edit1 和窗体的默认事件.unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FM.. 阅读全文
posted @ 2011-10-03 09:49 万一 阅读(3328) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(26) - 数据绑定: TBindingsList: TBindExprItems
摘要:如果要给一对 "源控件" 和 "目标控件" 写多个表达式, 使用 TBindExpression 就不如 TBindExprItems 了.TBindExprItems 中的表达式又分两组: FormatExpressions、ClearExpressions, 后者是在断开绑定时的表达式.示例设想:1、TrackBar1 为源, 把其 Value 值绑定给 Edit1.Text 和 Edit1.Width 和 Label1.Text;2、断开绑定时, 在 Edit1 中显示 "已断开绑定".先在窗体上添加: TrackBar1、Ed 阅读全文
posted @ 2011-10-02 23:05 万一 阅读(3348) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(25) - 数据绑定: TBindingsList: 表达式的灵活性及表达式函数
摘要:绑定表达式中可以有简单的运算和字符串连接, 但字符串需放在双引号中.还可以使用 TBindingsList.Methods 提供的一组表达式函数(分别来自 System.Bindings.Methods 和 Data.Bind.EngExt 单元):ToStr()ToVariant()Round()Format()UpperCase()LowerCase()FormatDateTime()StrToDateTime()Max()Min()CheckedState()SelectedItem()SelectedText()示例: 用三个 TLabel 分别呈现窗体的宽度、高度、面积.现在窗体上添 阅读全文
posted @ 2011-10-02 18:25 万一 阅读(3967) 评论(8) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(24) - 数据绑定: TBindingsList: TBindExpression.Direction
摘要:在学习 BindingSource 属性时, 可以让两个控件互为绑定源; TBindExpression 对应的功能是 Direction 属性.先在窗体上添加 Edit1、Edit2、BindingsList1; 然后激活 Edit1、Edit2 和窗体的默认事件.procedure TForm1.FormCreate(Sender: TObject);begin with TBindExpression.Create(BindingsList1) do begin ControlComponent := Edit2; ControlExpression := 'Text'; 阅读全文
posted @ 2011-10-02 14:12 万一 阅读(3686) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(23) - 数据绑定: TBindingsList: TBindExpression
摘要:准备用 TBindingsList 重做上一个例子.可以先把 TBindingsList 理解为是一组绑定表达式(TBindExpression)的集合;官方应该是提倡在设计时完成 TBindExpression 的建立与参数设置, 但我觉得看运行时的代码会更容易理解.1、先在窗体上添加 TrackBar1、Edit1、Label1、BindingsList1;2、激活窗体和 TrackBar1 的默认事件;3、然后将通过代码把 TrackBar1.Value 分别绑定到 Edit1.Text、Label1.Text, (这里把 TrackBar1 做源控件, 把 Edit1、Label1 做 阅读全文
posted @ 2011-10-02 11:24 万一 阅读(6334) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(22) - 数据绑定: BindingSource、BindingName、FindBinding()、Binding[]
摘要:在窗体上添加 TrackBar1、Edit1、Label1, 然后设置属性(可在设计时):procedure TForm1.FormCreate(Sender: TObject);begin Edit1.BindingSource := TrackBar1; //将 TrackBar1 的值绑定在 Edit1 Label1.BindingSource := TrackBar1; //将 TrackBar1 的值绑定在 Label1end;{之后, Edit1.Text 和 Label1.Text 会同步 TrackBar1.Value 值}不同类型值的沟通, 我想应该是依赖于 FM 组件... 阅读全文
posted @ 2011-10-01 12:31 万一 阅读(6437) 评论(3) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(21) - 和 FMX 相关的类(表)
摘要:TObject TPersistent TComponent IInterface, IInterfaceComponentReference TBasicAction TControlActionLink TApplication TBindNavigatorController TPlatform TPlatformCocoa ... 阅读全文
posted @ 2011-09-30 15:13 万一 阅读(5432) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(20) - TStyleBook(皮肤、样式相关)
摘要:我觉得叫 "皮肤" 不如叫 "样式" 或 "风格", 因为它可以包含和动作关联的动画.在 FMX 下, 控件可以任意绘制, 各部件个性化的属性可以统一保存成一个 *.style 文件. XE2 在 "...\Program Files\Embarcadero\RAD Studio\9.0\Redist\styles\Fmx\" 下提供了如下样式文件:Air.StyleAmakrits.StyleAquaGraphite.styleBlend.Styledark.styleFMX.Platform.iOS.style 阅读全文
posted @ 2011-09-30 10:43 万一 阅读(12153) 评论(6) 推荐(1) 编辑
Delphi XE2 之 FireMonkey 入门(19) - TFmxObject 的子类们(表)
摘要:参考: 和 FMX 相关的类(表) TFmxObject IFreeNotification TAnimation TBitmapAnimation TBitmapListAnimation TColorAnimation TCol... 阅读全文
posted @ 2011-09-29 11:43 万一 阅读(6702) 评论(7) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(18) - TLang(多语言切换的实现)
摘要:一个小小的 TLang 类, 实现多语言切换, 挺好的. 它的工作思路是:1、首先通过 AddLang('语言代码') 添加语言类别, 如: AddLang('en')、AddLang('cn').2、每个语言代码对应一个 TStrings 列表, 获取方式如: LangStr['en']、LangStr['cn'].3、可以手动填充这些数据、可以通过 LoadFromFile() 方法载入之前 SaveToFile() 的数据(*.lng)、还可以在设计时提供的界面中操作这些数据.4、切换时修改 Lang 属性即 阅读全文
posted @ 2011-09-28 13:27 万一 阅读(7935) 评论(12) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(17) - 特效
摘要:刚打开 XE2 时, 就从 Tool Palette 窗口的 Effects 组中发现洋洋洒洒的六十多个特效...每个特效分别对应一个类, 分别来自 FMX.Effects 和 FMX.Filter.Effects 单元.FMX.Effects 中的特效属于附加特效, FMX.Filter.Effects 中的特效只是某种滤镜效果; 它们都是滤镜的一种快捷应用.每个特效有不同的参数; 因都是直接或间接地继承与 FMX.Types 中的 TEffect, 也都拥有 Trigger、Enabled、GetDisablePaint 等功能.测试: 在窗体上放一个 TPanel{ 为 Panel1 设 阅读全文
posted @ 2011-09-28 10:19 万一 阅读(7287) 评论(4) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(16) - 滤镜: 实例测试
摘要:窗体上需要 TImage、TOpenDialog 和六个按钮.unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Objects;type TForm1 = class(TForm) Image1: TImage; OpenDialog1: TOpenDialog; Button1: TButton; B... 阅读全文
posted @ 2011-09-27 19:32 万一 阅读(6074) 评论(4) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(15) - 滤镜: 获取滤镜信息
摘要:滤镜类的继承关系:TObject -> TPersistent -> TFilter -> TShaderFilter -> { 具体的滤镜类 }//下面例子首先会用到 FMX.Filter 单元的四个公用方法:procedure FillCategory(AList: TStrings);procedure FillFiltersInCategory(const Category: string; AList: TStrings);function FilterByName(const AName: string): TFilter;function FilterCl 阅读全文
posted @ 2011-09-27 16:08 万一 阅读(4420) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(14) - 滤镜: 概览
摘要:相关单元:FMX.FilterFMX.FilterCatBlurFMX.FilterCatGeometryFMX.FilterCatTransitionFMX_FilterCatColorFMX_FilterCatColorAdjustFMX_FilterCatCompositeFMX_FilterCatGeneratorFMX_FilterCatStyleFMX_FilterCatTilesFMX.FilterCatDistortionFM 提供了 10 个类别的滤镜:{ 分类名称 实现单元 } Blur //FMX.FilterCatBlur Geometr... 阅读全文
posted @ 2011-09-27 15:27 万一 阅读(5701) 评论(1) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(13) - 动画(下)
摘要:TAnimation 类的主要成员:protected function NormalizedTime: Single; // procedure ProcessAnimation; virtual; //其子类们主要通过覆盖此方法来实现不同的动画 procedure Loaded; override; //public procedure Start; virtual; //播放 procedure Stop; virtual; //停止 procedure StopAtCurrent; virtu... 阅读全文
posted @ 2011-09-26 18:23 万一 阅读(9526) 评论(3) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(12) - 动画(上)
摘要:在 HD 窗体上添加一个 TAniIndicator, 修改其 Enabled 属性为 True, 动画完成了.这是最简单的动画相关的控件了, 只有两个值得注意的属性:Enabled: Boolean; //Style: TAniIndicatorStyle; //TAniIndicatorStyle = (aiLinear, aiCircular);{例}AniIndicator1.Style := TAniIndicatorStyle.aiCircular; 它是怎么动起来的? 追源码, 发现它有一个 FAni: TFloatAnimation; 内部变量.再就追出 TF... 阅读全文
posted @ 2011-09-26 13:50 万一 阅读(13215) 评论(3) 推荐(1) 编辑
Delphi XE2 之 FireMonkey 入门(11) - 控件居中、旋转、透明
摘要:RotationAngle、RotationCenter、Opacity 属性继承自 TControl(FMX.Types), 这些新属性成了控件的基本功能.先在 HD 窗体上添加 TRectangle 和两个按钮...procedure TForm1.FormCreate(Sender: TObject);begin Rectangle1.Width := 100; Rectangle1.Height := 100; Rectangle1.Fill.Color := claYellow; Rectangle1.Stroke.Color := claRed; {居中; 喜欢这种带枚举... 阅读全文
posted @ 2011-09-26 10:51 万一 阅读(8180) 评论(3) 推荐(1) 编辑
Delphi XE2 之 FireMonkey 入门(10) - 常用结构 TPoint、TPointF、TSmallPoint、TSize、TRect、TRectF 及相关方法
摘要:它们都是结构, TPointF、TRectF 属新增, 其它也都有升级; 现在都拥有丰富的方法和方便的运算符重载; 且有一组相关的公共函数.这组内容重要的是它们都来自 System.Types 单元, 也就是不仅仅在 FM 中可用.TPoint:Create(); //{运算符重载}Equal; // =NotEqual; // Add; // +Subtract; // -Implicit; // 可从 TSmallPoint 隐身转换到 TPointExplicit; // 可显示转换到 TSmallPo... 阅读全文
posted @ 2011-09-23 15:15 万一 阅读(8713) 评论(0) 推荐(0) 编辑

上一页 1 2 3 下一页