程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi 使用顏色編輯對話框

Delphi 使用顏色編輯對話框

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

  ColorDialog1.Execute;

  Shape1.Brush.Color := ColorDialog1.Color;

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

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

1.9 例程運行結果

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

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

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

1.3.1 常用的文本相關部件

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

1.3.1.1 Label部件

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

1.3.1.2 Edit、MaskEditMemo部件

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

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved