Delphi快速入門(三)

第一章 Delphi快速入門(三)

1.2.4.3 漢化界面及字體選取 

如果您的Windows95系統中安裝了中文系統,對界面做漢化是極其方便的。例如,您可以將Button1的Caption屬性改成“&R矩形”,同樣地可改變其它部件的屬性,將窗體做成中文的操作界面。

若對中、西文字體不滿意,則可以調整Font屬性以滿足您的要求。Font屬性的前面,有一個小小的“+”號,這說明它表徵的是集屬性,也即屬性不再是一個單值,而是一個屬性的集合。雙擊Font,Object Inspector將在下面擴充顯示它的其它屬性。Color用來表示文本的顏色,Name定義了字體名,如System,MsSerif,Arial,宋體,黑體等。Style下又擁有四個屬性:fsBold,fsItalic,fsUnderline和fsTrikeOut。如果想讓字體有其中的某種風格,可把相應的屬性值設成True。

Font對話框可以更爲直接地設定以上屬性。Font屬性右側值段有帶省略號的按鈕,單擊它可以激活Font對話框,如圖1.7所示:

這一對話框中包含了上述的全部屬性,使得調整字形更爲直接方便。但要申明的是,對於窗體Form來講,Font屬性改變的是窗體中其它部件的顯示字形,它本身的標題字體是缺省的System字體,不能通過屬性來改變。

1.2.4.4使用圖形編輯對話框 

最後,我們用圖標按鈕BitBtn1來控制Shape部件的顏色。選中圖標按鈕,將它的Caption屬性改爲“&Color”(或“&C顏色”)。可以在按鈕中加入一個圖標來形象地表述它的功能。選用Object Inspector中的Glyph屬性,點動值段的三點按鈕,彈出圖形編輯對話框。

您可以通過圖形編輯對話框裝入圖標,在本例程中,按動Load按鈕,選擇//Delphi 2.0//Images//Buttons//Brush.bmp文件裝入,Bitbtn1就成爲一個圖標按鈕。另外,Delphi還爲您提供了豐富的Windows標準圖標按鈕。想運用它們,改變BitBtn的Kind屬性。用戶不妨嘗試一下,選擇其它值可以生成漂亮的標準按鈕,如OK,Cancel等等。這會使您在以後的程序開發中受益匪淺。

至此,界面的設計工作就已完成了。運行一下觀察效果,別忘記保存您的庫單元文件、工程文件。 

1.2.5 編寫事件處理過程 

完成用戶界面,只是建立了一個“骨架”,下面要做的便是給程序加入“靈魂”,也即,使它能夠完成所要求的功能。 

1.2.5.1 爲用戶操作建立“事件”

單擊窗體上的“Rectangle”按鈕,在Object Inspector中,點動“Events”頁標籤,出現事件窗口。在本例程中,我們只關心OnClick事件,即按鈕接收到左鍵單擊時應用程序所作出的反應。在Object Inspector窗口中雙擊OnClick事件右端的值段,會使得Delphi激活庫代碼編輯器,並將光標停在該按鈕所對應的過程的begin...end之間。“Rectangle”按鈕的功能是使Shape部件的形狀爲矩形。聯繫前文我們查看過的Shape部件的“Shape”屬性,現在,我們要做的是在程序中控制部件的屬性。

在光標處鍵入以下的程序段: 

  Shape1.Shape := stRectangle; 

用同樣的方法,在Button2和Button3的OnClick事件響應內複製以上語句,並分別將賦值號後的屬性值改爲stRoundRect和stEllipse。爲防止輸入錯誤導致程序運行出錯,建議您使Shape1部件的Object Inspector可見,檢視屬性Shape的各個值並對應輸入。

  在代碼編輯器中,Delphi自動建立的過程以關鍵字Procedure開頭,用戶可以在begin…end之間加入自己的程序,也可以定義變量。這個程序塊對用戶的外部事件(此例中是按動按鈕)進行響應。我們稱之爲事件處理過程。 

1.2.5.2 使用顏色編輯對話框 

圖標按鈕“Color”要控制部件Shape1的顏色,我們可以調入顏色編輯對話框,用以選擇要變成的顏色。這時就要用到運行時不可視的部件ColorDialog了。同樣地使圖標按鈕BitBtn1響應OnClick事件,在它的過程中加入以下的語句:

  ColorDialog1.Execute;

  Shape1.Brush.Color := ColorDialog1.Color; 

這樣,圖標按鈕的功能也就完成了。

初學者可能對這樣的程序段不能理解。其實也是十分簡單的。查看ColorDialog的Brush屬性,就會發現它是個集屬性,在其下還有一個Color選項,正是我們想改變的屬性。既然我們想將圖形的顏色變得更加豐富多彩,它本身提供的幾種顏色就已不能滿足要求了。用顏色編輯器可以得到更多的色彩。程序的第一句用Execute方法,使得ColorDialog運行它本身。當用戶在對話框中進行操作,選定了一種顏色時,即使得TColorDialog對象的一個屬性Color置爲選定顏色的值。將此值賦給Shape1的Brush屬性的子屬性Color,就將選定的顏色加到了圖形上。

讀者的要求可能會是,怎樣儘快的瞭解這些這些方法、屬性和域呢?下文對使用聯機幫助的簡單介紹可能會對您有所裨益。 

1.2.6 使用聯機幫助Help 

事實上,使用聯機幫助是您全面地瞭解可用的方法、對象的域、屬性等信息的最快捷途徑。您還可以參考Delphi給定的例程。較爲簡單有效的方法是使用Help中的搜索功能。如果您對一個對象知之甚少,選用主菜單中的Help|Help Topics項,在彈出的幫助對話框,選用Indexes(“索引”)頁,Delphi 2.0會提示您輸入要檢索的主題。以您想用的部件的對象名作爲檢索主題詞,可以參閱很多基本的信息。例如,上文的例程中,在編輯框中鍵入對象的名稱TColorDialog,在詞條中就會出現該主題,按動Display按鈕顯示出TColorDialog的幫助信息。查看method,可以找到能應用在CclorDialog1上的方法Execute;仔細閱讀它的功能,上述的編程便不難理解了。Properties中提供了部件的所有屬性,在關鍵屬性Key Properties前加上了“金鑰匙”,提供了詳盡的說明。在Task中您可以查閱該對象的其它相關主題,還可以參閱Example中的應用例程。用幫助窗口的Edit各種功能進行復制、剪貼等操作。

如果您已經對對象有一定的瞭解,想查閱它的具體方法、域等,可以直接用主題詞進行檢索。 

以上,我們已經完成了簡單的例程。運行您的程序,選用各個按鈕改變圖形的顏色和形狀。如圖1.9所示。雖然它只是一個“小玩具”,卻直觀地給您一個用Delphi編程的印象。對比一下您親手編制的程序量和程序的功能,您就會理解Delphi爲程序員提供了怎樣的方便。

1.3 Delphi 2.0的可視化部件用法簡介 

本節中,我們將較爲深入地講解Delphi的部件。這是編制大型複雜應用程序的必由之路。下面,我們將對各種部件分類進行簡單的介紹,以便於您在編程時能夠較快地瞭解有哪些部件可能會滿足您的要求,並對其重要的方法、屬性等有一個大致的瞭解。

  基本技巧、工具的介紹在本章的第4節中,交互閱讀這兩部分,多創制幾個試驗程序,有助於您迅速進入Delphi世界,儘早將這一精妙軟件用於實際工作中。 

1.3.1 常用的文本相關部件 

以下的部件以各種格式顯示文本,其中有些是文本和數據輸入的途徑。它們是Label(標籤)、Edit(文本編輯)、MaskEdit(格式編輯)、Memo(備註)、List Box(列表框)、Combo Box(組合框)。除了MaskEdit在Additional頁之外,其它的都在Standard頁中。 

1.3.1.1 Label部件 

Label(標籤)一般放在對象的旁邊,用來標記這些對象,從而對用戶的操作進行提示,也可以用來顯示其它信息。您可以在標籤中設置熱鍵,也即在Caption屬性值段中輸入含有“&”的字串,當用戶使用“Alt+關鍵字母”時,將自動選中它所指向的對象。方法是設置Label部件的FocusControl屬性,在值段中,選用與它關聯對象的對象名。 

1.3.1.2 Edit、MaskEdit和Memo部件  

Edit、MaskEdit、Memo部件都是用作接收、顯示用戶輸入文本的。它們具有一些相同的屬性。ReadOnly在運行時間內控制對象是否可以進行Windows的操作,當此值爲False時,該框內的文本就不能被複制到剪貼板上。MaxLength可以設置輸入文本的長度限制。用PasswordChar屬性可以按照顯示隱蔽密碼的方法顯示用戶輸入文本,例如,它的缺省值爲“*”,運行時,您的輸入將用“*”來顯示,從而提供了一種安全措施。您可能也發現了,當一個字段被加上高亮度顯示時,按鍵操作會將這一字段刪除,替換成當前的鍵盤輸入。這種設置爲操作提供了方便,您不必每次先刪除原來的文本;但也可能會導致誤刪文本。將AutoSelect屬性設置成False,這種替代功能就被取消了。

MaskEdit是格式文本輸入對象。它的EditMask屬性爲它提供了過濾文本的格式。點動這一屬性的省略按鈕,會彈出過濾編輯對話框,除了Delphi爲您提供的幾種屏蔽格式,您也可以自己編寫,查閱“幫助”,會爲您提供更詳細的用法介紹。

Memo是備註框,與以上對象不同的是,它可以接收多行文本輸入。將ScrollBars設置成ssVertical,可以爲它加上一個垂直的滾行條。Align屬性調整該對象在窗口中的對齊情況,有alNone(無對齊指定)、alBottom(底部對齊)、alClient(全窗口顯示)等可以選擇;而Alignment屬性則決定了文本在框中的對齊顯示格式。Lines屬性訪問的文本被存儲在一個TStrings對象中,按動它的省略按鈕,可以通過對話框向它增加文本,也可以用程序對這一屬性進行操作,以達到修改或增加備註文本的目的。 

1.3.1.3 List Box和Combo Box部件 

List Box(列表框)和Combo Box(組合框)都顯示列表項目,所不同的是組合框佔用較少的空間。常見的Windows操作系統中,顯示可用磁盤驅動器時,用的就是組合框。列表框則提供了一個項目列表以供選擇,如Windows打開文件操作時顯示文件列表的就是List Box。

  下列程序段將Edit1的文本加入到ListBox1中,並清空Edit1中的文本: 

 procedure TForm1.AddButtonClick(Sender:TObject);

 begin

ListBox1.Items.Add(Edit1.text);

Edit1.Text := ‘’;

 end; 

常見的組合框初始化用以下的語句可以實現,它用下拉式列表框的第一項來初始化組合框的缺省值: 

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常用的部件,前文的例程中我們已經基本掌握了Button和BitBtn的主要用法。它們一般用在對話框中,做爲執行某種功能的指示。您也可以爲它們設置內置返回功能,將ModelResult屬性加以匹配,可以不用編程,直接實現系統內置的功能,這一點上和Kind屬性頗類似。 

1.3.2.2 Speed Button部件 

Speed Button(加速按鈕)部件在Additional頁上,是進行工具條快速設計的理想部件。它只有一個位圖,沒有標題。需要提起讀者注意的是,用多個Speed Button製作一個工具條時,必須先放置一個窗口類部件,如Panel(操作板)、Group Box(羣組框)等。否則試圖將加速按鈕先製作好再移上去,您會發現它會總是處於窗口類部件下面不可見。當然,您可以對加速按鈕進行復制、粘貼到窗口類部件上處理,那就另當別論了。 

1.3.2.3 Check Box與Radio Button部件 

Check Box(檢查框)和Radio Button(無線按鈕)部件通常是相提並論的,多用作接收用戶“是”或“否”的輸入判別。它們一般都是成組的放置在Radio Group或Group Box部件中。所不同的是,成組的Radio Button是“互鎖”的,用戶選擇定一個後,其它的將自動設置爲不選;而Check Box部件則是分立的,您可以同時選中其中的幾個,也可以一個都不選。 

1.3.3 分組、分界部件 

分組部件把其它的部件組合成一組,例如上述的無線按鈕部件Radio Button,就需要放入以下的成組部件中。分界部件用於在窗口中產生邊界和區域,以區別於其它區域。 

1.3.3.1 Group Box、Radio Group及Panel部件 

Group Box(羣組框)、Radio Group(選項按鈕組)部件都可以將部件分類、成組。它們都有標題,可以用文字表徵成組部件的標題或信息。Radio Group可以進行Column和Item屬性的設定,以決定其上的無線按鈕的提示文本及顯示格式。Panel部件也可以達到將部件分組的目的。通過編程向窗口加一個操作板部件,以書寫提示和幫助信息,也不失爲一種好方法。以上三個部件都在Standard頁。 

1.3.3.2 NoteBook、TabSet及TabbedNoteBook部件 

記事本部件NoteBook一般和標籤集部件TabSet共同使用,用來創制含有標籤的重疊多窗體窗口。Pages屬性包含了一個頁名列表,在編程時,將TabSet的Tabs屬性設置成NoteBook的Pages屬性,就可以使頁標籤和相應的窗體對應起來。

另外一個部件TabbedNoteBook是帶有標籤的多窗體窗口,不過,它的頁標籤設在窗口的上面。它們相當於多個分組部件的集合,每次查看其中的一頁。以上三個部件在Win 3.1頁。

在Win95頁上還有TabControl、PageControl等部件。它們對於生成Windows 95風格的標籤集是很重要的。 

1.3.3.3 分界部件 

在Win 3.1頁上,還有Header(表頭)部件,它在窗口中產生一個凸起的題條,提供了一個可視化的文本顯示區域。Additional頁的Bevel(立體框)部件提供了一個方框,它的單一線條或整個邊框都可以通過Style屬性設置爲外凸或內凹,可以美化窗口。在Win95頁上,HeaderControl、StatusBar等部件,爲您使用Winows95風格的界面提供了重要元素。 

1.3.4 圖形、圖象部件 

1.3.4.1 Image部件


圖象部件Image在Additional頁上,用來在窗口中顯示一幅圖片,可以在picture屬性中調入圖象文件。Delphi支持位圖(.BMP)、圖標(.ICO)、圖元(.WFM)三種文件格式。比較重要的屬性是Autosize和Strech。它們決定了圖象在窗口中的顯示尺寸。Autosize屬性爲True表示按原尺寸顯示,Strech屬性爲True表示圖象按對象圖框的大小顯示,這時圖象的大小可以人爲改變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章