随笔分类 - XE2 与 FireMonkey

1 2 3 下一页
FireMonkey 绘图(1)
摘要:FMX 的 Canvas 在不同的系统上会分别使用:WinVista、Win7: D2D (FMX.Canvas.D2D.pas)WinXP: GDI+ (FMX.Canvas.GDIP.pas)Mac 系列: Core Graphics (FMX.Canvas.Mac.pas)和 HTML5 中的 Canvas 非常类似, 现在的 Canvas 模糊了 Pen 的概念:之前的 Canvas.Pen 对应: Canvas.Stroke;之前的 Canvas.Brush 对应: Canvas.Fill.在 FMX 中, Canvas 无处不在, 其 Canvas.Stroke、Canvas.Fi 阅读全文
posted @ 2011-11-14 10:44 万一 阅读(13303) 评论(25) 推荐(0) 编辑
看看 Delphi XE2 为 VCL 提供的 14 种样式
摘要:其实只提供了 13 个 vsf 样式文件, 还有默认的 Windows 样式, 共 14 种.在空白窗体上添加 ListBox1 等控件, 测试代码:uses IOUtils, Vcl.Styles, vcl.Themes;procedure TForm1.FormCreate(Sender: TObject);var dir, fileName, styleName: string;begin //VCL 的样式文件 *.vsf 在 X:\Program Files\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\ dir := GetEnvi... 阅读全文
posted @ 2011-11-09 19:59 万一 阅读(13843) 评论(29) 推荐(1) 编辑
终于, Delphi XE2 携带 GDI+ 库了
摘要:使用了较早的 http://www.progdigy.comuses Winapi.GDIPAPI, Winapi.GDIPOBJ{, Winapi.GDIPUTIL};procedure TForm1.FormPaint(Sender: TObject);var graphics: TGPGraphics; pen: TGPPen;begin graphics := TGPGraphics.Create(Canvas.Handle); pen := TGPPen.Create(MakeColor(255,0,0)); graphics.DrawRectangle(pen, Make... 阅读全文
posted @ 2011-11-08 22:14 万一 阅读(16291) 评论(12) 推荐(0) 编辑
Delphi XE2 新增 System.Zip 单元, 可用一句话压缩整个文件夹了
摘要:单元内主要就是 TZipFile 类, 最方便使用的是它的类方法:TZipFile.ExtractZipFile() //解压 Zip 文件到指定文件夹TZipFile.IsValid() //判断指定文件是否是有效的 Zip 文件TZipFile.ZipDirectoryContents() //压缩指定路径下的所有文件测试:uses System.Zip;{ 把 C:\Temp\TestDir 下的所有文件压缩到 C:\Temp\Test.zip }procedure TForm1.Button1Click(Sender: TObject);begin... 阅读全文
posted @ 2011-10-09 23:12 万一 阅读(15558) 评论(8) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(45) - 结题与问题
摘要:很喜欢 FMX 的一些新控件, 如: TExpander、TArcDial、TComboTrackBar、TPathLabel 等等, 没时间继续学习了.对 FMX 的整体感觉: 还不成熟, 但肯定有前景; 它的构架师有远见、了不起, 很难估计他开启的是多大一扇门!本将继续学习:1、TCanvas、TBrush、TApplication;2、FMX 中的 GDI+、D2D、DirectX;3、FMX 3D;4、XE2 中新增的其他内容(譬如新增的 TZipFile 类, 已测试过、下帖附上).又要忙其它事情了, 但愿能尽早有时间和心情回来继续学习.正在学习但没有学完的东西是关于拖放的; 现在的 阅读全文
posted @ 2011-10-09 22:53 万一 阅读(6343) 评论(3) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
摘要:TScrollBox -> TCustomTreeView -> TTreeView 子项类型是 TTreeViewItem.测试, 先在窗体上放一个 TTreeView, 并需要它的 OnChange 事件:unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Layouts, FMX.TreeView;type TFor 阅读全文
posted @ 2011-10-09 14:19 万一 阅读(7949) 评论(5) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
摘要:TStringGrid、TGrid 都是从 TCustomGrid 继承; 区别有:1、它们的列对象分别是: TStringColumn、TColumn;2、TStringGrid 比 TGrid 多出了 Cells[] 属性.因为 TGrid 没有 Cells[] 属性, 暂时不方便使用; 我尝试取其当前单元值时竟然用了这样的代码:(Grid1.Columns[Grid1.ColumnIndex].CellControlByRow(Grid1.Selected) as TTextCell).TextTStringGrid 测试:{ 设计时放好 StringGrid1, 运行时填充数据 }pr 阅读全文
posted @ 2011-10-09 11:46 万一 阅读(11082) 评论(21) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit
摘要:TListBox 有两个兄弟 TComboListBox、TComboEditListBox; TComboBox、TComboEdit 虽不是不是从它们继承, 但分别包含了它们, 所以使用起来都有点像 TListBox.TComboBox 更像 TListBox, 比 TComboEdit 多出了 Selected 等成员;TComboEdit 是从 TCustomEdit 继承, 和 TEdit 是兄弟, 比 TComboBox 多出了 Text 等成员. 它们的公共常用属性:DropDownCount //下拉列表行的数ItemHeight //ItemIndex //It... 阅读全文
posted @ 2011-10-08 23:35 万一 阅读(5164) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox
摘要:TScrollBox -> TCustomListBox -> TListBox; 其元素项是 TListBoxItem 类型.TListBox 的功能在 TCustomListBox 里就完成了.值得注意的变化是: 1、复选框(相关属性: ShowCheckboxes、TListBoxItem.IsChecked)2、交替背景(通过继承还可以调整交替的背景色)3、TListBoxItem 可调整大小、容纳其它对象.{ TCustomListBox }public constructor Create(...); override; // destructor Destr... 阅读全文
posted @ 2011-10-08 15:31 万一 阅读(6088) 评论(2) 推荐(1) 编辑
Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo
摘要:值得注意的变化:1、其父类 TScrollBox 的许多特性也很有用处, 如: Memo1.UseSmallScrollBars := True;2、内部使用了一个栈列表管理动作, 现在可以执行多步撤销(UnDo).3、使用了一个新的结构体 TCaretPosition 来描述当前位置, 并为该结构提供了一个公用的快速构造函数 ComposeCaretPos(). TCaretPosition = record Line, Pos: Integer; end;4、提供枚举属性 CharCase 控制大小写. Memo1.CharCase := TEditCharCas... 阅读全文
posted @ 2011-10-08 13:21 万一 阅读(4816) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox
摘要:TScrollBox 是不少控件(TMemo、TListBox、TStringGrid、TTreeView、TImageViewer 等)的基础, 所以先学.TVertScrollBox 只比 TScrollBox 少了竖滚动条.TFramedScrollBox、TFramedVertScrollBox 只是套用了不同的样式, 有可视的框架.{ TScrollBox }public constructor Create(...); override; // destructor Destroy; override; // procedure AddObject(...)... 阅读全文
posted @ 2011-10-07 23:55 万一 阅读(6715) 评论(0) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu
摘要:相关控件: TMenuBar、TPopupMenu、TMainMenu; 它们都是要包含 TMenuItem; 在设计时添加 TMenuItem 很容易.其中的 TMainMenu 暂不能应用其他样式; TMenuBar 只有一个值得注意 UseOSMenu 属性.控件 PopupMenu 属性用于指定右键菜单.暂时无法直接为窗体指定右键菜单, 因为窗体现在没有 PopupMenu 属性; 我想到的办法是在窗体上覆盖一个 TPanel 或 TRectangle:procedure TForm1.FormCreate(Sender: TObject);begin Panel1.Align :=. 阅读全文
posted @ 2011-10-07 16:14 万一 阅读(8290) 评论(1) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览
摘要:{ TControl }public constructor Create(...); override; // destructor Destroy; override; // procedure AddObject(...); override; //添加对象 procedure RemoveObject(...); override; //移除对象 procedure SetNewScene(...); virtual; //设置新场景 procedure SetBounds(...); virtual; //设置位置、大小 fu... 阅读全文
posted @ 2011-10-06 22:54 万一 阅读(4734) 评论(4) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(36) - 控件基础: TForm
摘要:当我第一次读取 Form1.StyleLookup 并期待出现 "formstyle" 时, 给的确是 "backgroundstyle" ...现在明白了, 原来窗体上覆盖着一个 TRectangle 对象:uses FMX.Objects;procedure TForm1.Button1Click(Sender: TObject);begin (Self.Children[0] as TRectangle).Fill.Color := claRed; //默认情况下, 通过 Children[0] 可读出这个矩形, 但其次序(Index)是可变的 S 阅读全文
posted @ 2011-10-06 13:01 万一 阅读(7841) 评论(12) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它
摘要:TFmxObject 增加了 TagObject、TagFloat、TagString, 算上从 TComponent 继承的 Tag, 可以暂存多种类型的数据了.ChildrenCount、Children[] 代替了之前的 ControlCount、Controls[].有增删 Children 的几个方法: AddObject()、InsertObject()、RemoveObject()、Exchange()、DeleteChildren()Index 属性是控件在 Children 队列中的序号, 给它赋值可调整控件的前后次序;SendToBack()、BringToFront() 阅读全文
posted @ 2011-10-05 21:44 万一 阅读(3362) 评论(2) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(34) - 控件基础: TFmxObject: 克隆对象
摘要:有两个和克隆相关的方法: Clone()、CloneChildFromStream().Clone() 很好用, 但 CloneChildFromStream() 的源码很明显地写错了(是小问题, 谁外语好去报一下).procedure TForm1.FormCreate(Sender: TObject);var i: Integer;begin for i := 0 to 9 do ListBox1.Items.Add('Item' + IntToStr(i));end;{把 ListBox1 克隆到 Panel1}procedure TForm1.Button1Click( 阅读全文
posted @ 2011-10-05 19:19 万一 阅读(3215) 评论(4) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(33) - 控件基础: TFmxObject: SaveToStream、LoadFromStream、SaveToBinStream、LoadFromBinStream
摘要:SaveToStream()、LoadFromStream() 对应文本流;SaveToBinStream()、LoadFromBinStream() 对应二进制流; 相对文本流, 二进制流会小一些.有这几个方法, 控件数据与状态的序列化就太容易了.示例:1、控件: ListBox1、Button1、Button22、事件: Button1.OnClick、Button2.OnClick、Form1.OnCreateunit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, S. 阅读全文
posted @ 2011-10-05 14:34 万一 阅读(4713) 评论(4) 推荐(1) 编辑
Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库
摘要:一、全设计时操作:先在窗体上放置控件:DataSource1 : TDataSource;ClientDataSet1 : TClientDataSet;Label1 : TLabel;Edit1 : TEdit;Memo1 : TMemo;ImageControl1 : TImageControl;BindNavigator1 : TBindNavigator;{在连接过程中, 会自动添加下面部件}BindingsList1 : TBindingsList;BindScopeDB1 ... 阅读全文
posted @ 2011-10-03 22:06 万一 阅读(7887) 评论(9) 推荐(0) 编辑
Delphi XE2 之 FireMonkey 入门(30) - 数据绑定: TBindingsList: TBindExpression 的 OnAssigningValue 事件
摘要:表达式中的函数有限, 譬如我想通过绑定输出文本的长度(譬如在 Label1 中绑定输出 Edit1.Text 的长度)就没有相应的函数;这可在 TBindExpression 的 OnAssigningValue 事件中处理.TBindExpression 和它的兄弟们 (TBindExprItems、TBindLink、TBindListLink、TBindGridLink、TBindPosition、TBindList、TBindGridList、TBindDBEditLink、TBindDBTextLink、TBindDBListLink、TBindDBImageLink、TBindDB 阅读全文
posted @ 2011-10-03 14:07 万一 阅读(3448) 评论(0) 推荐(0) 编辑

1 2 3 下一页