日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

  一、屬性和Object Inspector

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

Tip

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

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

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

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

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

  New Term

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

  二、改變屬性值

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

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

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

  Left := 200;

  就Left屬性而言,VCL將移動(dòng)和重畫此窗體。

  New Term

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

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

  當(dāng)引用一個(gè)屬性時(shí)(把屬性放在等號(hào)右邊),就會(huì)存取讀說(shuō)明符:

  X := Form1.Left;

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

  三、屬性的性質(zhì)

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

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

  四、屬性類型

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

Note

  省略號(hào)按鈕表示此屬性可以用屬性編輯器編輯。通過點(diǎn)擊省略號(hào)按鈕或雙擊屬性值,就可以帶出屬性編輯器。

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

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

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

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

  運(yùn)行Delphi 7,新建一個(gè)Application,然后花些時(shí)間來(lái)體驗(yàn)一些不同組件和它們的屬性。

  屬性規(guī)則

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

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

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

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

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

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

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

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


標(biāo)題名稱:淺談Delphi7下VCL組件屬性
標(biāo)題來(lái)源:http://www.5511xx.com/article/djedssd.html