Delphi XE6新增特性及功能


Delphi XE6新增特性及功能 (2014-05-20 01:30:40)轉載▼
標簽: it     分類: DelphiXE6
Delphi 6新增了一些特性並增強了原有的功能,主要有以下幾個方面:

IDE(整合開發環境)

Internet
XML(擴展標記語言)
Compiler(編譯器)
COM/Active X
Database support(數據庫支持)
CORBA
Actions(動作)
Custom Variants(可定義的可變類型)
VCL 單元和特性
RTL單元和特性
Cross-platform development(跨平台開發)
Translation tools(翻譯工具)
Deployment changes(發布機制)

Help system extensibility(擴展的幫助系統)
注意:某些特性不是所有Delphi版本都有。

VCL單元及特性

新的VCL單元以及新的特性(所有版本)
新增組件:
TLabeledEdit 
TLabeledEdit是ExtCtrls.pas單元中新增加的,它演示了如何使用子組件。TLabeledEdit是一個帶有標簽的編輯控件。標簽(Label)是這個控件的屬性之一。
TValueListEditor 
ValueListEditor 是一個自定義的柵格組件,它使用TStrings保存鍵/值配對。它的工作方式類似於對象檢視器(Object Inspector)。
TComboBoxEx 
TComboBoxEx是一個新的組合框控件,它允許在列表文字的旁邊出現圖片。
TColorBox
TcolorBox是一個新的組合框組件,用來選擇各種顏色。

改進的特性包括:
大多數窗口控件(WindowControl)都發布了以下Bevel相關屬性:
BevelEdges 
BevelInner 
BevelOuter 
BevelKind 
BevelWidth

子組件(Subcomponents)
現在,組件可以擁有創建子組件的其他組件。舉例來說,一個組件可以有一個組件引用的屬性,這個被引用的組件,可以是內部的(也就是一個子組件),也可以是外部的(普通的組件引用)。如果引用的是內部的組件,則這個子組件的不被Form所擁有,而是被放置在Form上的組件所擁有。這意味着組件可以將其內部的子組件發布出來,並且能夠被正確的流化。並且,對象檢視器已經被修改為支持查看組件內部的子組件屬性(比如Font屬性)。要創建一個有子組件的組件,需要調用TComponent.SetSubComponent方法。
可發布的接口屬性(Publishable interface properties)
接口屬性(該屬性的類型是一個接口)現在已經可以被發布,當且僅當這個接口的實現的類是一個可以流化的組件。
這意味着現在你可以在對象檢視器中看到接口類型的屬性,並且將會出現一個支持此接口的組件列表以供選擇。

新增單元及變動

CheckLst.pas
TcheckListBox增加了幾個新的屬性,包括AutoComplete,HeaderColor以及HeaderBackGroundColor。

Classes.pas

TList有一個新的Assign方法,不僅完成拷貝功能,也支持一些簡單的集合操作。

TCollection新增兩個受保護的方法,用來允許派生的類對於增加和刪除條目的操作作進一步的處理。這兩個新方法是Added和Deleting,兩者都沒有缺省的實現。為了保持TCollection的精簡,沒有增加OnAdded和OnDeleting事件。然而,在派生類中卻很容易實現這些。此外,TCollection新增一個Owner屬性以便對擁有者進行標識。

TStringList新增屬性CaseSensitive(大小寫敏感),允許你控制子串列表的各項操作(排序,匹配)是否大小寫敏感。

TDataModule從Forms單元移到現在這個單元中(Classes.Pas),去處了對可視化控件的依賴。這使得你可以在不包含用戶界面的情況下寫出更小的服務段應用。

Thread新增FatalException屬性,以標識任何導致線程正常運行的異常。
TStream重載了Seek(搜索)函數,允許Int64類型的值來標識位置。派生的類可以覆蓋其中一個重載,但不能覆蓋所有。

TinterfacedPersistent是一個新的持久對象的基類,不是組件,但是可以實現接口。

ComCtrls.pas
TtreeView的CreateTreeNodes方法是新增加的。
簡單的節點的創建,並且增加了一個事件,使得Tree的使用這不必為了要覆蓋節點的類而去重新創建一個派生類。並且AddNode也作了修改,讓你可以將你想要加入的節點(任何類型)傳遞給它。

增加一個OnAddition事件,該事件在節點被增加時觸發。
TreeView的排序Api作了增強(功能上)和簡化(使用上)。現在你可以對子樹進行遞歸排序,對頂層節點進行非遞歸的排序。TCustomTreeView和TTreeNode類現在對AlphaSort和CustomSort提供了一致的定義,並且這些方法同時被增加到TTreeNodes中。所有的改動都是后台的,與前一版本保持兼容。
增加MultiSelect(多選)相關四個屬性以及八個方法。

TListView新增了CreateListItems方法,該方法與TTreeView的CreateTreeNodes類似。

TStatusBar-可調整大小的夾子現在可以顯示,即使狀態欄的父親不直接是Form。只要狀態條的右下角處於Form的右下角位置,則該夾子顯示。

TDateTimePicker新增Format屬性,用於控制日期值的顯示方式。

THeaderControl新增許多新的屬性和事件以支持列的拖放。一個新屬性HotTrack允許當用戶的鼠標在頂部區域上停留時,該區域以高亮顯示。

TToolBar新增Menu屬性,可以自動在工具條上添加與Menu的菜單項對應的許多按鈕。當用戶使用定制對話框來定制工具條時,會有一系列的事件觸發。

Contnrs.pas
Last(最后)和First(最先)兩個函數(屬性)被增加到TObjectList,TComponentList以及TClassList中。這些函數的返回值依類的不同而不同。

TStack(棧),TQueue(隊列),TObjectStack(對象棧)以及TObjectQueue(對象隊列)的Push現在改為一個函數,簡單的返回被推入到棧(或者隊列)中的對象。就像推入,然后查看一樣。當要推入在推入時剛創建的對象時,這一點非常有用(譯者注:其實這一點,Borland應該早就考慮到才是!)。

TBucketList和TObjectBucketList是簡單的哈希表。

Controls.pas
TCustomListControl是一個新的公用基類,用於表達一組條目的列表控件(比如組合框,列表框和列表視圖等)。它引入了一些新的方法用於操縱將要被子孫類繼承的列表。

TDragObjectEx,TDragControlObjectEx以及TDragDockObjectEx是三個新的拖拽對象,拖拽操作結束后,它們可以自動釋放。他們對應於TDragObject,TDragControlObject和TDragDockObject,區別在於老的版本不能夠在拖放操作完成時自動釋放。

TControl新增兩個方法:ClientToParent和ParentToClient,用來在父親與子女之間換算坐標。工作方式與ClientToScreen和ScreenToClient類似。

TWinControl新增一個重載的方法PaintTo,參數改為Canvas(畫布)而非HDC(設備描述表句柄)。

TModalResult被移至Forms.pas中。此外,增加以下幾個支持函數:

function IsPositiveResult(const AModalResult: TModalResult): Boolean;
function IsNegativeResult(const AModalResult: TModalResult): Boolean;
function IsAbortResult(const AModalResult: TModalResult): Boolean;
function IsAnAllResult(const AModalResult: TModalResult): Boolean;
function StripAllFromResult(const AModalResult: TModalResult): TModalResult;

DbCtrls.pas
TDBLookupListBox和TDBLookupComboBox新增NullValueKey屬性,允許用戶使用空值(Null)賦值。

TDBComboBox新增AutoComplete(自動完成)和AutoDropDown(自動下拉)屬性。

TDBListBox也新增AutoCompelete屬性。

TOpenDialog新增OptionsEx屬性(譯者注:該屬性用來設置是否出現win2000特有的位置工具條),同樣,保存對話框也新增此屬性。

ExtCtrls.pas
TImage-Proportional(比例)屬性被增加,用於控制圖像的高寬比而不論圖像控件的尺寸如何。

Forms.pas
TApplication(以及TApplicationEvents)新增OnSettingChange事件,用來通知系統設置的改變。

 

TForm新增AlphaBlend,AlphaBlendValue,TransparentColor以及TransparentColorValue等屬性以支持分層的Form。

TScreen提供了獲取桌面工作區大小的一系列屬性(WorkAreaRect,WorkAreaTop,WorkAreaLeft,WorkAreaHeight,WorkAreaWidth)。另外,還有一系列的新方法允許你定位哪個監視器更加與點,矩形,或者窗口相匹配。

TMonitor擴展了多監視器的支持,提供了當前的主監視器,WorkareaRect以及BoundsRect等屬性。

新增AutoDragDocking(自動停靠)支持。這一特性允許你關閉應用程序的自動停靠功能。另外,在Delphi的選項設置對話框中允許你修改這么一個標志。

TModalResult聲明被移到Control.pas單元中。

Graphics.pas
新增TFontRecall, TPenRecall 和 TBrushRecall三個新類,允許你快速存取font(字體),pen(畫筆)和brush(刷子)。他們均從TRecall(在Classes單元中聲明)派生而來,TRecall需要與TPersistent一起使用。

系統顏色經過排序便於查找。

在原先16種顏色的基礎上新增4個:

clMoneyGreen 
clSkyBlue 
clCream 
clMedGray 

ImgList.pas
Draw,DrawOverlay和GetIcon方法均被加上Overload(重載)標記,便於你覆蓋圖像列表的屬性設置。

IniFiles.pas
Ini文件開始支持使用流讀寫二進制數據。

TMemIniFile支持控制子串是否大小寫敏感。

THashedStringList是一個新的TStrings的派生類,使用內部的哈希(雜湊)表提高訪問速度。

Masks.pas
EditMask(掩碼編輯框)和文本使用自定義類型因此他們的屬性編輯器更加有用。

Menus.pas
TMenuItem增加一個AutoCheck(自動標記)屬性,用來標記當用戶點及菜單條目時,是否自動在已經標記和未標記之間切換。

Registry.pas
TRegistry開始支持使用流讀寫二進制數據。

StdCtrls.pas
OnCloseUp和OnSelect事件被增加到TCustomComboBox中(TComboBox也一樣)。OnCloseUp事件在組何況的下拉列表關閉時觸發(與OnDropDown觸發的時機相反)。OnSelect在列表的東西被選中時觸發(或者當上下滾動可選值時使得組合框的內容被改變時)。組合框新增AutoCompelete屬性,缺省為True。

TListBox新增對兩個風格的屬性:lbVirtual和lbVirtualOwnerDraw。兩個風格用於支持虛的列表框,即不保存任何條目。通過設置Count屬性可以指定條目的個數,然后在OnData,OnDataFind,和OnDataObject事件中提供條目(以及相關的對象)。

TypInfo.pas
現在調用對象的GetPropInfo方法是安全的了。假如對象沒有任何RTTI信息,則簡單的返回nil。

增加FreeAndNilProperties。它將釋放(free)並且置空(nil)支持RTTI的對象的所有對象屬性。注意它將對所有的對象,包括引用的對象進行此項操作,所以最好先將被引用的對象釋放,置空。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM