黃易群俠傳M脫機外掛應用程式黃易神行
2843
0

Delphi快速入門教程(三)

玄天小志 發表於 2009-3-31 19:26:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |
  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部件則是分立的,您可以同時選中其中的幾個,也可以一個都不選。
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-11-25 10:57 , Processed in 0.071332 second(s), 18 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?