1.3 Delphi 2.0的可視化部件用法簡介
本節(jié)中,我們將較為深入地講解Delphi的部件。這是編制大型復(fù)雜應(yīng)用程序的必由之路。下面,我們將對各種部件分類進行簡單的介紹,以便于您在編程時能夠較快地了解有哪些部件可能會滿足您的要求,并對其重要的方法、屬性等有一個大致的了解。
基本技巧、工具的介紹在本章的第4節(jié)中,交互閱讀這兩部分,多創(chuàng)制幾個試驗程序,有助于您迅速進入Delphi世界,盡早將這一精妙軟件用于實際工作中。
1.3.1 常用的文本相關(guān)部件
以下的部件以各種格式顯示文本,其中有些是文本和數(shù)據(jù)輸入的途徑。它們是Label(標(biāo)簽)、Edit(文本編輯)、MaskEdit(格式編輯)、Memo(備注)、List Box(列表框)、Combo Box(組合框)。除了MaskEdit在Additional頁之外,其它的都在Standard頁中。
1.3.1.1 Label部件
Label(標(biāo)簽)一般放在對象的旁邊,用來標(biāo)記這些對象,從而對用戶的操作進行提示,也可以用來顯示其它信息。您可以在標(biāo)簽中設(shè)置熱鍵,也即在Caption屬性值段中輸入含有“&”的字串,當(dāng)用戶使用“Alt+關(guān)鍵字母”時,將自動選中它所指向的對象。方法是設(shè)置Label部件的FocusControl屬性,在值段中,選用與它關(guān)聯(lián)對象的對象名。
1.3.1.2 Edit、MaskEdit和Memo部件
Edit、MaskEdit、Memo部件都是用作接收、顯示用戶輸入文本的。它們具有一些相同的屬性。ReadOnly在運行時間內(nèi)控制對象是否可以進行Windows的操作,當(dāng)此值為False時,該框內(nèi)的文本就不能被復(fù)制到剪貼板上。MaxLength可以設(shè)置輸入文本的長度限制。用PasswordChar屬性可以按照顯示隱蔽密碼的方法顯示用戶輸入文本,例如,它的缺省值為“*”,運行時,您的輸入將用“*”來顯示,從而提供了一種安全措施。您可能也發(fā)現(xiàn)了,當(dāng)一個字段被加上高亮度顯示時,按鍵操作會將這一字段刪除,替換成當(dāng)前的鍵盤輸入。這種設(shè)置為操作提供了方便,您不必每次先刪除原來的文本;但也可能會導(dǎo)致誤刪文本。將AutoSelect屬性設(shè)置成False,這種替代功能就被取消了。
MaskEdit是格式文本輸入對象。它的EditMask屬性為它提供了過濾文本的格式。點動這一屬性的省略按鈕,會彈出過濾編輯對話框,除了Delphi為您提供的幾種屏蔽格式,您也可以自己編寫,查閱“幫助”,會為您提供更詳細的用法介紹。
Memo是備注框,與以上對象不同的是,它可以接收多行文本輸入。將ScrollBars設(shè)置成ssVertical,可以為它加上一個垂直的滾行條。Align屬性調(diào)整該對象在窗口中的對齊情況,有alNone(無對齊指定)、alBottom(底部對齊)、alClient(全窗口顯示)等可以選擇;而Alignment屬性則決定了文本在框中的對齊顯示格式。Lines屬性訪問的文本被存儲在一個TStrings對象中,按動它的省略按鈕,可以通過對話框向它增加文本,也可以用程序?qū)@一屬性進行操作,以達到修改或增加備注文本的目的。
1.3.1.3 List Box和Combo Box部件
List Box(列表框)和Combo Box(組合框)都顯示列表項目,所不同的是組合框占用較少的空間。常見的Windows操作系統(tǒng)中,顯示可用磁盤驅(qū)動器時,用的就是組合框。列表框則提供了一個項目列表以供選擇,如Windows打開文件操作時顯示文件列表的就是List Box。
下列程序段將Edit1的文本加入到ListBox1中,并清空Edit1中的文本:
procedure TForm1.AddButtonClick(Sender:TObject);
begin
ListBox1.Items.Add(Edit1.text);
Edit1.Text := ‘’;
end;
常見的組合框初始化用以下的語句可以實現(xiàn),它用下拉式列表框的第一項來初始化組合框的缺省值:
procedure TForm1.ComboBox1Text(Sender:TObject);
begin
if ComboBox1.Text = ‘’then
ComboBox1.Text := ComboBox1.Items.String[1] ;
end;
以上就是文本輸入的基本部件。
1.3.2 按鈕和檢查框部件
1.3.2.1 Button和BitBtn部件
按鈕是Windows常用的部件,前文的例程中我們已經(jīng)基本掌握了Button和BitBtn的主要用法。它們一般用在對話框中,做為執(zhí)行某種功能的指示。您也可以為它們設(shè)置內(nèi)置返回功能,將ModelResult屬性加以匹配,可以不用編程,直接實現(xiàn)系統(tǒng)內(nèi)置的功能,這一點上和Kind屬性頗類似!
1.3.2.2 Speed Button部件
Speed Button(加速按鈕)部件在Additional頁上,是進行工具條快速設(shè)計的理想部件。它只有一個位圖,沒有標(biāo)題。需要提起讀者注意的是,用多個Speed Button制作一個工具條時,必須先放置一個窗口類部件,如Panel(操作板)、Group Box(群組框)等。否則試圖將加速按鈕先制作好再移上去,您會發(fā)現(xiàn)它會總是處于窗口類部件下面不可見。當(dāng)然,您可以對加速按鈕進行復(fù)制、粘貼到窗口類部件上處理,那就另當(dāng)別論了。
1.3.2.3 Check Box與Radio Button部件
Check Box(檢查框)和Radio Button(無線按鈕)部件通常是相提并論的,多用作接收用戶“是”或“否”的輸入判別。它們一般都是成組的放置在Radio Group或Group Box部件中。所不同的是,成組的Radio Button是“互鎖”的,用戶選擇定一個后,其它的將自動設(shè)置為不選;而Check Box部件則是分立的,您可以同時選中其中的幾個,也可以一個都不選。
1.3.3 分組、分界部件
分組部件把其它的部件組合成一組,例如上述的無線按鈕部件Radio Button,就需要放入以下的成組部件中。分界部件用于在窗口中產(chǎn)生邊界和區(qū)域,以區(qū)別于其它區(qū)域。
1.3.3.1 Group Box、Radio Group及Panel部件
Group Box(群組框)、Radio Group(選項按鈕組)部件都可以將部件分類、成組。它們都有標(biāo)題,可以用文字表征成組部件的標(biāo)題或信息。Radio Group可以進行Column和Item屬性的設(shè)定,以決定其上的無線按鈕的提示文本及顯示格式。Panel部件也可以達到將部件分組的目的。通過編程向窗口加一個操作板部件,以書寫提示和幫助信息,也不失為一種好方法。以上三個部件都在Standard頁。
1.3.3.2 NoteBook、TabSet及TabbedNoteBook部件
記事本部件NoteBook一般和標(biāo)簽集部件TabSet共同使用,用來創(chuàng)制含有標(biāo)簽的重疊多窗體窗口。Pages屬性包含了一個頁名列表,在編程時,將TabSet的Tabs屬性設(shè)置成NoteBook的Pages屬性,就可以使頁標(biāo)簽和相應(yīng)的窗體對應(yīng)起來。
另外一個部件TabbedNoteBook是帶有標(biāo)簽的多窗體窗口,不過,它的頁標(biāo)簽設(shè)在窗口的上面。它們相當(dāng)于多個分組部件的集合,每次查看其中的一頁。以上三個部件在Win 3.1頁。
在Win95頁上還有TabControl、PageControl等部件。它們對于生成Windows 95風(fēng)格的標(biāo)簽集是很重要的。 來
1.3.3.3 分界部件
在Win 3.1頁上,還有Header(表頭)部件,它在窗口中產(chǎn)生一個凸起的題條,提供了一個可視化的文本顯示區(qū)域。Additional頁的Bevel(立體框)部件提供了一個方框,它的單一線條或整個邊框都可以通過Style屬性設(shè)置為外凸或內(nèi)凹,可以美化窗口。在Win95頁上,HeaderControl、StatusBar等部件,為您使用Winows95風(fēng)格的界面提供了重要元素。
1.3.4 圖形、圖象部件
1.3.4.1 Image部件
圖象部件Image在Additional頁上,用來在窗口中顯示一幅圖片,可以在picture屬性中調(diào)入圖象文件。Delphi支持位圖(.BMP)、圖標(biāo)(.ICO)、圖元(.WFM)三種文件格式。比較重要的屬性是Autosize和Strech。它們決定了圖象在窗口中的顯示尺寸。Autosize屬性為True表示按原尺寸顯示,Strech屬性為True表示圖象按對象圖框的大小顯示,這時圖象的大小可以人為改變。
1.3.4.2 Shape部件
圖形部件Shape在前文中我們已有了解,它可以處理多種幾何形狀,通過設(shè)置Pen和Brush的嵌套屬性,可以設(shè)置圖形邊框顏色、線型及圖形的風(fēng)格、填充方式、貼圖方式等。
1.3.4.3 PaintBox部件
在System頁上還有一個PaintBox(繪圖框)部件,它在窗體上為您提供一塊可供繪圖的區(qū)域。這一部件需要編程實現(xiàn)它的功能,一個只有在運行時才有效的重要屬性Canvas是完成繪圖的關(guān)鍵。PaintBox部件不能單獨存在于窗體中,必須把它放在固定的分組部件中。
1.3.5 關(guān)系圖、文件列表部件
1.3.5.1 OutLine部件
OutLine(略圖)部件在Win 3.1頁上,它適用于顯示分層的數(shù)據(jù)、文本。在Delphi中,略圖部件具有很寬的設(shè)置范圍。它的Lines屬性可以設(shè)置每一詞條的文本或數(shù)據(jù)。一般一個空格相當(dāng)于一個層次,如果在項目前加一個空格則表示它處于樹的下一層。所以在進行Lines屬性編輯的時候不能用Tab鍵。在編程時用Lines和Items屬性來訪問略圖的名稱、索引及完整的路徑名。OutLineStyle屬性用來配置顯示時關(guān)系圖的風(fēng)格,您可以選定用旁邊有圖標(biāo)的縮進方式,也可以選擇連線方式。
1.3.5.2 目錄訪問部件
Delphi為您提供了強大的文件目錄訪問部件。您可以針對具體的用途設(shè)計自定義的文件對話框。在部件選項板上選中System頁,您將發(fā)現(xiàn)這些部件,它們是文件列表框FileListBox、目錄列表框DirectoryListBox、驅(qū)動器下拉式列表框DriveComboBox和過濾式下拉列表框FilterComboBox部件。
文件列表框部件FileListBox顯示當(dāng)前目錄中的文件,缺省的設(shè)置是顯示所有文件。通過改變Mask屬性來設(shè)置過濾器,可以適用DOS的標(biāo)準(zhǔn)通配方式,選擇要顯示的文件名。當(dāng)指定多個過濾器時,之間用“;”隔開。
目錄列表框部件DirectoryListBox顯示當(dāng)前驅(qū)動器內(nèi)的目錄,并且允許用戶在程序執(zhí)行時切換目錄。Column屬性決定目錄在窗口中用多少列進行顯示,當(dāng)窗體空間不夠時,用幾列進行顯示將有助于全面地顯示目錄信息。在Delphi中,當(dāng)窗口空間顯示不下全部信息時,將自動加上滾行條,以方便用戶的操作。
驅(qū)動器下拉式列表框部件DriveComboBox顯示當(dāng)前所在的驅(qū)動器,并且在執(zhí)行時允許用戶在驅(qū)動器之間切換。作為程序員在應(yīng)用這一部件時,應(yīng)考慮當(dāng)用戶選擇到不存在的驅(qū)動器時,進行容錯、提示處理。
FilterComboBox(過濾式下拉文件列表框)部件顯示當(dāng)前文件過濾器類型,例如*.*,*.pas等。在執(zhí)行時允許用戶在下拉列表中選擇要顯示的文件類型。對Filter屬性進行初始化,就會得到下拉式列表。
除了以上的四個部件外,在Sample頁上,Delphi還提供了一個目錄略圖部件DirectoryOutline。它將當(dāng)前磁盤中的目錄結(jié)構(gòu)顯示成一個多層次的略圖,也允許用戶在運行時進行目錄的層次顯示切換。
相關(guān)推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |