Delphi XE2 之 FireMonkey 入門(4) – 控制項天生可做容器

1、建立 FM(HD) 工程, 先添加 TLine(預設名稱是 Line1);2、在 Line1 選擇狀態下添加 Button1;3、取消選擇後添加 Button2此時, Button1.Parent 是 Line1; Button2.Parent 是表單.unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types,

Delphi XE2 之 FireMonkey 入門(5) – TAlphaColor

不是 TColor, 是 TAlphaColor 了.TAlphaColor = type Cardinal; 還是一個整數.四個位元組分別是: AA RR GG BB(透明度、紅、綠、藍); 這和 TColor 的顏色序相反, 並增加了透明度.在 HD 表單上添加一個 TRectangle 和三個 TButton, 測試://下面四種賦值方法相同procedure TForm1.Button1Click(Sender: TObject);begin

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;{把

Delphi XE2 之 FireMonkey 入門(39) – 控制項基礎: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertS

TScrollBox 是不少控制項(TMemo、TListBox、TStringGrid、TTreeView、TImageViewer 等)的基礎, 所以先學.TVertScrollBox 只比 TScrollBox 少了豎捲軸.TFramedScrollBox、TFramedVertScrollBox 只是套用了不同的樣式, 有可視的架構.{ TScrollBox }public constructor Create(...); override; // destructor

Delphi XE2 之 FireMonkey 入門(37) – 控制項基礎: TControl 概覽

{ TControl }public constructor Create(...); override; // destructor Destroy; override; // procedure AddObject(...); override; //添加對象 procedure RemoveObject(...); override; //移除對象 procedure SetNewScene(...); virtual; //設定新情境

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,

Delphi XE2 之 FireMonkey 入門(26) – 資料繫結: TBindingsList: TBindExprItems

如果要給一對 "原始檔控制" 和 "目標控制項" 寫多個運算式, 使用 TBindExpression 就不如 TBindExprItems 了.TBindExprItems 中的運算式又分兩組: FormatExpressions、ClearExpressions, 後者是在斷開綁定時的運算式.樣本設想:1、TrackBar1 為源, 把其 Value 值綁定給 Edit1.Text 和 Edit1.Width 和 Label1.Text;2、斷開綁定時, 在 Edit1 中顯示

Delphi XE2 之 FireMonkey 入門(35) – 控制項基礎: TFmxObject: 其它

TFmxObject 增加了 TagObject、TagFloat、TagString, 算上從 TComponent 繼承的 Tag, 可以暫存多種類型的資料了.ChildrenCount、Children[] 代替了之前的 ControlCount、Controls[].有增刪 Children 的幾個方法: AddObject()、InsertObject()、RemoveObject()、Exchange()、DeleteChildren()Index 屬性是控制項在 Children

Delphi XE2 之 FireMonkey 入門(10) – 常用結構 TPoint、TPointF、TSmallPoint、TSize、TRect、TRectF 及相關方法

它們都是結構, TPointF、TRectF 屬新增, 其它也都有升級; 現在都擁有豐富的方法和方便的運算子多載; 且有一組相關的公用函數.這組內容重要的是它們都來自 System.Types 單元, 也就是不僅僅在 FM 中可用.TPoint:Create(); //{運算子多載}Equal; // =NotEqual; // Add; // +Subtract; // -Implicit; // 可從

Delphi XE2 之 FireMonkey 入門(33) – 控制項基礎: TFmxObject: SaveToStream、LoadFromStream、SaveToBinStream

SaveToStream()、LoadFromStream() 對應文字資料流;SaveToBinStream()、LoadFromBinStream() 對應二進位流; 相對文字資料流, 二進位流會小一些.有這幾個方法, 控制項資料與狀態的序列化就太容易了.樣本:1、控制項: ListBox1、Button1、Button22、事件: Button1.OnClick、Button2.OnClick、Form1.OnCreateunit Unit1;interfaceuses

Delphi XE2 之 FireMonkey 入門(40) – 控制項基礎: TMemo

值得注意的變化:1、其父類 TScrollBox 的許多特性也很有用處, 如: Memo1.UseSmallScrollBars := True;2、內部使用了一個棧列表管理動作, 現在可以執行多步撤銷(UnDo).3、使用了一個新的結構體 TCaretPosition 來描述當前位置, 並為該結構提供了一個公用的快速建構函式 ComposeCaretPos(). TCaretPosition = record Line, Pos: Integer;

Delphi XE2 之 FireMonkey 入門(2)

FireMonkey 的控制項都是自己繪製的(而不是基於系統組件), 我想它們應該是基於一些基本圖形; 就從基本圖形開始吧.FMX.Objects 單元給出的類:TShape //基本圖形的基類TLineTRectangleTRoundRectTCalloutRectangleTEllipseTCircleTPieTArcTPathTTextTImageTPaintBoxTSelectionTSelectionPoint添加一個 TRectangle, 先縱觀一下它的可用功能:{

Delphi XE2 之 FireMonkey 入門(38) – 控制項基礎: TPopupMenu、TMenuItem、TMenuBar、TMainMenu

相關控制項: TMenuBar、TPopupMenu、TMainMenu; 它們都是要包含 TMenuItem; 在設計時添加 TMenuItem 很容易.其中的 TMainMenu 暫不能應用其他樣式; TMenuBar 只有一個值得注意 UseOSMenu 屬性.控制項 PopupMenu 屬性用於指定右鍵菜單.暫時無法直接為表單指定右鍵菜單, 因為表單現在沒有 PopupMenu 屬性; 我想到的辦法是在表單上覆蓋一個 TPanel 或 TRectangle:procedure

Delphi XE2 之 FireMonkey 入門(29) – 資料繫結: TBindingsList: 運算式的 Evaluate() 方法

TBindingsList 中可能不止一個運算式, 通過運算式的 Evaluate 方法可單獨提交綁定, 並可在 Active = False 時提交.在 TBindExprItems 中對應的方法是 EvaluateFormat.測試設想: Label1、Label2 的繫結來源同是 Edit1, 分別提交綁定.1、在表單上加控制項: Label1、Label2、Edit1、BindingsList1;2、啟用 Edit1 的 OnKeyUp、OnChange 事件,

Delphi XE2 之 FireMonkey 入門(3) – 關於 TPosition

把 FireMonkey 簡稱為 FM 吧. FM 的表單繼續使用 Left、Top 屬性, 但更多控制項不是了.//FM 控制項的位置控制不再是 Left、Top, 取而代之的是 Position 屬性procedure TForm1.Button1Click(Sender: TObject);begin Rectangle1.Position.X := Rectangle1.Position.X + 10; Rectangle1.Position.Y :=

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,

Delphi XE2 之 FireMonkey 入門(21) – 和 FMX 相關的類(表)

TObjectTPersistentTComponentIInterface, IInterfaceComponentReferenceTBasicActionTControlActionLinkTApplicationTBindNavigatorControllerTPlatform TPlatformCocoaTScreenTFmxObject參見 TFmxObject 的子類們(表)   TBasicBindComponent ->

Delphi XE2 之 FireMonkey 入門(30) – 資料繫結: TBindingsList: TBindExpression 的 OnAssigningValue 事件

運算式中的函數有限, 譬如我想通過綁定輸出文本的長度(譬如在 Label1 中綁定輸出 Edit1.Text 的長度)就沒有相應的函數;這可在 TBindExpression 的 OnAssigningValue 事件中處理.TBindExpression 和它的兄弟們

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 和

Delphi XE2 之 FireMonkey 入門(23) – 資料繫結: TBindingsList: TBindExpression

準備用 TBindingsList 重做上一個例子.可以先把 TBindingsList 理解為是一組綁定運算式(TBindExpression)的集合;官方應該是提倡在設計時完成 TBindExpression 的建立與參數設定, 但我覺得看運行時的代碼會更容易理解.1、先在表單上添加 TrackBar1、Edit1、Label1、BindingsList1;2、啟用表單和 TrackBar1 的預設事件;3、然後將通過代碼把 TrackBar1.Value 分別綁定到 Edit1.Text、

總頁數: 61357 1 .... 4822 4823 4824 4825 4826 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.