日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺談Delphi7下VCL組件屬性

  屬性是組件元素,它用來控制組件操作,很多組件都具有相同的屬性,例如,所有可視化組件都有Top和Left屬性,這兩個屬性不但在設(shè)計階段控制組件在窗體上的位置,在運行時間也一樣。所有的組件都有Owner屬性,VCL用此屬性來跟蹤子窗體組件的父窗體或者跟蹤擁有子組件的組件。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:國際域名空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、西夏網(wǎng)站維護、網(wǎng)站推廣。

  一、屬性和Object Inspector

  一個圖形比數(shù)千字的文字說明強好多倍,默認(rèn)情況下啟動Delphi 7 ,會看到一個空白窗體和它的Object Inspector,如下圖:

Tip

  一般情況下我們不希望以開啟Delphi7就自動創(chuàng)建一個空白Application,我們可以通過在Delphi7的快捷圖標(biāo)中設(shè)置,讓它默認(rèn)不創(chuàng)建空白窗體:

  1、在Delphi7的快捷圖標(biāo)上點擊右鍵菜單選擇【屬性】,打開屬性對話框;

  2、在其中的“目標(biāo)”中最后輸入“-np”,代表不創(chuàng)建工程。

  當(dāng)啟動Delphi后,Object Inspector的大小要基于當(dāng)前屏幕的分辨率,一般喜歡使Object Inspector達到屏幕允許的最大高度,這樣一次就可以最大限度地查看屬性。點擊Properties標(biāo)簽,就會顯示當(dāng)前選中組件的屬性,組件屬性是按字母順序排列的。

  每個屬性都有一個與之有關(guān)的基本數(shù)據(jù)字段,但屬性本身不是類數(shù)據(jù)字段,改變屬性常導(dǎo)致幕后的代碼運行。

  New Term

  屬性常系于存取方法(access methods),當(dāng)屬性被修改時,此存取方法就要執(zhí)行。

  二、改變屬性值

  在設(shè)計階段,屬性是可以改變的,并且在運行階段它也是可以改變的。不論在哪種情況下,如果此屬性有一個存取方法,當(dāng)屬性被修改時,此存取方法就會被調(diào)用和執(zhí)行。您可以試著在Object Inspector中改變窗體TForm的Left屬性并觀察窗體在屏幕上的運動,這個就是一個在設(shè)計階段改變屬性的示例。

這就是VCL強大功能之一,在Delphi中使用它的方法為:可以不停地觀看設(shè)計改變的屏幕結(jié)果,但不是所有的屬性在設(shè)計階段都能在窗體上顯示可視變化。

  要改變運行階段屬性,只需簡單地給屬性賦值就可以了。當(dāng)給屬性賦值時,VCL將幕后調(diào)用這個屬性的存取方法。為了改變運行階段Left屬性,代碼如下:

  Left := 200;

  就Left屬性而言,VCL將移動和重畫此窗體。

  New Term

  屬性存取說明符(Property Access Specifiers),屬性有兩個存取說明符,在讀取和修改屬性時就會用它們,這就是讀說明符(read specifier)和寫說明符(write specifier)。

  當(dāng)讀或?qū)憣傩詴r,與之相關(guān)的方法就會自動被調(diào)用。在前面的例子中,當(dāng)給屬性賦值時,就在存取一個寫說明符。實際上,VCL檢查寫說明符是否存在存取方法,如果存在,就會調(diào)用其存取方法,若存取方法不存在,VCL將給與此屬性有關(guān)的數(shù)字段賦一個新值。

  當(dāng)引用一個屬性時(把屬性放在等號右邊),就會存取讀說明符:

  X := Form1.Left;

  在這種情況下,VCL調(diào)用讀說明符來讀取Left屬性的值,在很多情況下,讀說明符都會返回屬性的當(dāng)前值。

  三、屬性的性質(zhì)

  屬性的屬性是由組件編寫者決定的,一個屬性可以是只讀的,一個只讀屬性只能被讀取——它的值也可以被檢查——但不能寫,換句話說,可以獲取屬性的值,但不能改變它的值,在極少情況下,屬性是只寫的(一個只能寫而不能讀的屬性在大部分情況下是沒有意義的),他顯然與只讀屬性是對立的。

  最后,還有一些屬性只能在運行階段聲明,一個唯運行階段聲明的屬性只能在運行階段存取而不能再設(shè)計階段存取,因為唯運行階段屬性在設(shè)計階段不能用,它在Object Inspector上不能顯示,唯運行階段屬性也可以聲明成只讀屬性,這意味著只有要運行階段才能存取它,并且只能讀。

  四、屬性類型

  有些屬性用VCL類的一個實例作為其基本數(shù)據(jù)字段,例如,Delphi組件選項板上的Standard標(biāo)簽中的Memo組件的Line屬性,如下:

Note

  省略號按鈕表示此屬性可以用屬性編輯器編輯。通過點擊省略號按鈕或雙擊屬性值,就可以帶出屬性編輯器。

  Memo組件的Line屬性是TStrings類的一個實例,當(dāng)雙擊Value欄時,就會顯示字符串編輯器,此時可以輸入應(yīng)用程序運行時想要在Memo組件中顯示的字符串。

  Font屬性也是VCL類的一個實例,字體包括字體名稱、顏色和字體大小等內(nèi)容。注意在屬性Font前面有一個加號,這表示這個屬性有一些可分別設(shè)置的子屬性。雙擊Font屬性名,就會擴展開來,如下:

  有些屬性是集合,例如Font屬性中的Style屬性就是集合。Style前面也有一個加號,雙擊就會看到Style中的內(nèi)容。一個集合可以是空集或者是包含一個或多個值。

  有些屬性可以是枚舉類型的,即一個所有可能選擇的清單。枚舉類型和集不一樣,只有一個選項可以選擇,集可以包含空集或者任意數(shù)目的選擇項。例如Cursor屬性就是一個很好的例子,如下:

  運行Delphi 7,新建一個Application,然后花些時間來體驗一些不同組件和它們的屬性。

  屬性規(guī)則

  屬性表現(xiàn)像一個類字段,并且可以像類字段一樣存取。

  屬性不是類字段,它是特殊的類成員。

  當(dāng)寫屬性時(給屬性賦值),屬性經(jīng)常調(diào)用一個存取方法,但并不總是遮掩個,這樣一來此具體組件是怎么被寫的。

  公布的(published)屬性通常有缺省值,一個組件第一次啟用時,其缺省值就是Object Inspector中初始顯示的值,并且如果沒有特別的賦值,它就用這個值。

  屬性可以被設(shè)計成讀/寫、只讀和只寫。

  唯運行階段屬性在Object Inspector中不顯示,并且只能在運行階段修改。

  屬性類型包括簡單數(shù)據(jù)類型、字符串、數(shù)組、集合、枚舉和VCL類對象。

原文鏈接:http://www.cnblogs.com/pchmonster/archive/2012/01/09/2316952.html


本文題目:淺談Delphi7下VCL組件屬性
URL標(biāo)題:http://www.dlmjj.cn/article/djedssd.html