Delphi XE2 之 FireMonkey 入门(34) - 控件基础: TFmxObject: 克隆对象 有两个和克隆相关的方法: Clone().CloneChildFromStream(). Clone() 很好用, 但 CloneChildFromStream() 的源码很明显地写错了(是小问题, 谁外语好去报一下). procedure TForm1.FormCreate(Sender: TObject); var   i: Integer; begin   do     List…
Delphi XE2 之 FireMonkey 入门(35) - 控件基础: TFmxObject: 其它 TFmxObject 增加了 TagObject.TagFloat.TagString, 算上从 TComponent 继承的 Tag, 可以暂存多种类型的数据了. ChildrenCount.Children[] 代替了之前的 ControlCount.Controls[].有增删 Children 的几个方法: AddObject().InsertObject().RemoveObje…
Delphi XE2 之 FireMonkey 入门(33) - 控件基础: TFmxObject: SaveToStream.LoadFromStream.SaveToBinStream.LoadFromBinStream SaveToStream().LoadFromStream() 对应文本流;SaveToBinStream().LoadFromBinStream() 对应二进制流; 相对文本流, 二进制流会小一些. 有这几个方法, 控件数据与状态的序列化就太容易了. 示例:1.控件: L…
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> TTreeView 子项类型是 TTreeViewItem. 测试, 先在窗体上放一个 TTreeView, 并需要它的 OnChange 事件: unit Unit1; interface uses   System.SysUtils, System.Types, System.UITypes, Sys…
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1.它们的列对象分别是: TStringColumn.TColumn;2.TStringGrid 比 TGrid 多出了 Cells[] 属性. 因为 TGrid 没有 Cells[] 属性, 暂时不方便使用; 我尝试取其当前单元值时竟然用了这样的代码:(Grid1.Columns[Grid1.Col…
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditListBox;TComboBox.TComboEdit 虽不是不是从它们继承, 但分别包含了它们, 所以使用起来都有点像 TListBox. TComboBox 更像 TListBox, 比 TComboEdit 多出了 Selected 等成员;TComboEdit 是从 TCustomEdit…
Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项是 TListBoxItem 类型. TListBox 的功能在 TCustomListBox 里就完成了. 值得注意的变化是: 1.复选框(相关属性: ShowCheckboxes.TListBoxItem.IsChecked)2.交替背景(通过继承还可以调整交替的背景色)3.TListBoxItem 可调…
Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo 值得注意的变化: 1.其父类 TScrollBox 的许多特性也很有用处, 如:   Memo1.UseSmallScrollBars := True; 2.内部使用了一个栈列表管理动作, 现在可以执行多步撤销(UnDo). 3.使用了一个新的结构体 TCaretPosition 来描述当前位置, 并为该结构提供了一个公用的快速构造函数 ComposeCaretPos().   TCaretPosition…
Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox.TVertScrollBox.TFramedScrollBox.TFramedVertScrollBox TScrollBox 是不少控件(TMemo.TListBox.TStringGrid.TTreeView.TImageViewer 等)的基础, 所以先学. TVertScrollBox 只比 TScrollBox 少了竖滚动条. TFramedScrollBox.TFramedVertSc…
Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopupMenu.TMainMenu; 它们都是要包含 TMenuItem; 在设计时添加 TMenuItem 很容易.其中的 TMainMenu 暂不能应用其他样式; TMenuBar 只有一个值得注意 UseOSMenu 属性. 控件 PopupMenu 属性用于指定右键菜单. 暂时无法直接为窗体指定右…