delphi完美經典–第十一、十二章

來源:互聯網
上載者:User

第11章 TApplication與TScreen類介紹及應用

一、TApplication類

         用於開發視窗程序的類。此類封裝了一個視窗應用程式,其方法和屬性反映了視窗作業系統在建立、執行、維持以及析構該程式等方面的基本原則。

         Delphi的每個視窗程序都會自動聲明一個Application對象,此變數屬於Tapplication類。

TApplication類對象常用屬性:

ExeName:唯讀,EXE檔案路徑名。

Title:讀寫。標題,即運行時應用程式圖示後的文字。除了直接設定此屬性外,還可通過另一種方式更改:Project->Options->Application。

Icon:讀寫。只有該項目內沒有設定Icon屬性值的表單,它們標題列的表徵圖,都會以代表應用程式的表徵圖作為它們的表徵圖。更改也有兩種方式,同Title。

MainForm:指定該程式的哪個視窗為項目的主視窗。

TApplication類對象常用方法:

CreateForm:在程式中建立一個新的表單。當程式有多個表單時,可將程式中預設建立表單的代碼刪除,等需要時才以動態方式建立它們的實體。除可節省空間的外,當程式表單繁多時,還可節省程式的啟動時間。

MessageBox:此方法屬於Application。而MessageDlg和ShowMessage是全域的方法。

Run:執行此應用程式。Run方法包含了應用程式的主訊息迴圈,因此能讓程式執行,並使它的視窗在執行中能持續顯示畫面,直到程式主訊息迴圈終止。注意:此方法在Unit中無用,僅在Application中才起作用。

Terminate:終止程式執行。此方法會調用Windows API函數PostQuitMessage,依序終止程式。當系統收到程式的WM_QUIT訊息,或程式主表單關閉時,會自動調用Terminate。

二、TScreen類

代表該程式在執行整個時整個螢幕的狀態。此類的屬性記錄了下列相關的內容:

Ø  此程式舉用了何種表單或資料模組。

Ø  什麼是作用中的表單,及該表單內作用中的控制組件。

Ø  該螢幕大小及解析度。

Ø  該程式使用的游標和文字。

Delphi項目中,有一個預設的全域變數:Screen。

TScreen的屬性

ActiveControl:指出螢幕上哪個控制組件現在擁有輸入焦點。只能通過作用中表單的SetFocusedControl來更改。ActiveControl值改變時,會觸發OnActiveControlChange事件。

Fonts:螢幕能支援的所有字型。TStrings類型。通過此屬性,可知道當前Windows安裝了哪些字型。最好不要使用未安裝的字型。

第12章 進階組件介紹

這些進階組件可能是標準組件的加強版,也可能是與標準組件不相干的全新組件。因進階組件數量太多,僅介紹Additional、Win32、System、Dialogs中最常用的組件。

一、Additional選項卡中的常用組件

1、TBitBtn

繼承自TButton,具有和Tbutton幾乎相同的屬性、方法與事件,但它擁有圖形化按鈕表面的特殊功能。允許程式員自己建立圖形,也可使用內建的標準圖形。

Glyph:幾乎是TBitBtn最重要的屬性,用來指定TBitBtn對象顯示於按鈕表明的圖形。此屬性屬於TBitmap類。Glyph屬性按鈕圖形需注意:

1)圖形必須是BMP格式。

2)載入的圖形配合NumGlyphs屬性,可用來指定按鈕不同狀態顯示的圖形,NumGlyphs最大為3,此時,載入的圖形均分為左中右三等分,左圖表示按鈕一般狀態時顯示的圖形,中圖為Enabled為False時顯示的圖形,右圖則為按鈕按下時顯示的圖形。

3)載入的圖形左下角的像素,同時表示此圖形的透明顏色。即按鈕圖形中,任何與此圖形左下角像素顏色相同者,會被設為按鈕底色,產生透明效果。

NumGlyphs:當設定Glyph屬性時,NumGlyphs用來表示該圖形包含集中按鈕狀態。允許值為1~4。4表示按鈕按下且固定住的圖形,TBitButton無此行為。

Kind:設定按鈕類型,是個枚舉類型的值。

Layout:設定圖片與文字的相對位置,是個枚舉類型的值。

Margin:設定圖形(含文字)與按鈕邊界的距離。

Spacing:表示按鈕圖形與文字間的距離。

Style:決定按鈕外觀。

2、TMaskEdit組件

繼承自TCustomEdit,具有和TEdit幾乎一樣的屬性和方法,但它加入了格式化文字的功能,這幾乎是使用它的唯一理由。

EditMask:設定TmaskEdit組件顯示文字的格式化規則。格式化字串由三個欄位組成,並以分號分隔。如“!\(99\)0000-0000;1;_”:第一部分“!\(99\)0000-0000”為主體,其意義如下表,第二部分指定是否儲存非使用者輸入的字元(1儲存,0不儲存),第三部分設定尚未輸入字元的位置的顯示狀態。

要清除格式條件,只需將EditMask設為空白字串即可。

EditText:設定或取得MaskEdit組件顯示的文字。要設定EditText,其字串必須包含未輸入字元的位置的顯示狀態(預設為‘_’),否則其格式化功能運行不正常。

Text:同EditText。但設定時,不需加未輸入字元的位置的顯示狀態。

GetTextLength:取得Text屬性的字串長度。

IsMasked:是否設定MaskEdit屬性。即MaskEdit屬性是否為空白。

3、TImage控制項

常用它來存放圖形或顯示圖形於表單上。其支援的格式包括BMP、ICO、JPEG、WMF、EMF等。

AutoSize:Image組件是否自動縮放為載入的圖形大小。

Stretch:載入的圖片是否會自動縮放為Image組件的大小。

Canvas:對TImages而言,此屬性是唯讀。

Center:圖片是否置中。

IncrementalDisplay:指明圖形檔案是否使用漸進方式顯示。

Picture:設定或取得Image組件顯示的繪圖物件。設定方式或在設計時直接指定此屬性,或在運行時指定此屬性或者通過LoadFormFile、LoadFromClipboard、Format、SaveToFile、SaveToClipboard實現。將此屬性設為nil即可清除顯示圖片。

Proportional:指明圖形文字是否以等比例方式顯示。

Transparent:通過顏色來設定Picture屬性所包含的圖片的透明顏色。其設定方式與TBitBtn的Glyph屬性相同(依左下角像素為基準)。需注意,僅對BMP圖片有效。

4、TShape組件

用來顯示矩形、正方形、圓形、橢圓等基本幾何圖形,因不接受使用者輸入,所有比較節省資源。

Brush:用來設定TShape組件的內容。屬於TBrush類。設計時可設定其子屬性:color和style;運行時可設定其Bitmap屬性。

Pen:用來設定TShape組件的框線。

Shape:設定TShape的顯示外觀。

二、Win32選項卡常用組件

1、TPageControl組件

常用屬性:

ActivePage:設定或取得作用中的TabSheet組件。

ActivePageIndex:設定或取得作用中的TabSheet組件的索引值,當不存在選項卡時,此值為-1。

HotTrack:滑鼠指到選項卡時,選項卡文字是否高亮顯示。

Images:指定選項卡顯示的小表徵圖來源TImageList,選項卡表徵圖與來源TImageList對象間的對應關係,通過各選項卡的TabSheet的ImageIndex指定。

MultiLine:選項卡是否以多列顯示。

PageCount:唯讀。取得選項卡數(即TabSheet總數)。

Pages:唯讀。取得PageControl包含的TabSheet集合。通過Pages可直接操作指定的TabSheet。

RaggedRight:一般用預設值False。選項卡右邊空白是否不填滿。

ScrollOpposite:一般用預設值False。當有多個選項卡時,選擇的選項卡及其右側所有選項卡是否自動佔滿到PageControl的另一端。

Style:設定選項卡外觀。

TabPosition:選項卡相對於PageControl的位置,此屬性僅在Style設為tsTabs時有效。

TabHeight、TabWidth:設定選項卡高度、寬度。

常用方法:

FindNextPage:由指定的TabSheet(CurPage參數),依照指定方向(GoForward參數;往前為True)並指定是否檢查選項卡的Visible(CheckTabVisible),返回CurPage的下一個TabSheet。當CurPage不存在時,則根據GoForward為True或False,分別返回第一個或最好一個TabSheet。

SelectNextPage:將選項卡定位到下一個TabSheet(依GoForward決定向前還是向後)。

常用事件:

OnDrawTab:當選項卡重繪時,觸發這個事件。

OnGetImageIndex:當選項卡正準備顯示其對象的選項卡表徵圖時觸發。當時間一開始觸發時,其TabIndex與ImageIndex參數值相同,可通過變更ImageIndex改變該選項卡的表徵圖。

2、TImageList組件

用來有效管理大量的ICO或BMP圖片。通常通過索引值,提供其他元件圖表標。雖然她也擁有運行時的一些屬性,方法設定,但通常將其視為一個靜態表徵圖數組來源。

TransparentColor:僅用於BMP圖片(因ICO本身已是屏蔽過的圖片)。透明色仍為左下角的像素顏色,但可自行由圖中點選透明顏色。

Fill Color:當指定圖片較小時,可指定填滿顏色。

Options:選項設定中的Cop表示載入的圖片以左上方為基準,Center表示已圖片中心為基準,Stretch則是將圖延伸到跟表徵圖大小一樣的大小。

可直接拖拽圖形來重新排列。

3、TRichEdit控制項

繼承自TMemo,具有標準的格式化文字能力,用來提供類似Word的格式檔案。即支援RichText的格式化(RTF)、列印、搜尋、文字拖拽等功能。

使用此組件時,必須自行建立使用者操作介面,即所有字型變化、縮排等行為,都必須通過程式自行建立操作介面並編寫對應的程式碼。

DefAttributes:運行時自訂TRichEdit組件的預設字型。

HideScrollBar:當不需要捲軸時,是否隱藏捲軸。

HideSelection:當失去焦點時,是否隱藏TRichEdit中選擇的文字。

PageRect:指定列印內容大小。

Paragraph:設定段落。

         SelAttributes:類似DefAttributes,僅作用於選取的文字,或指定位置。

         PlainText:指定讀寫檔案時,是否將RichEdit的文字視為純文字。

FindText方法:尋找文字。

Print方法:列印RichEdit的格式化文字,參數Caption為列印檔案的標題。

4、TDateTimePicker組件

是可視化的日期、時間組件,其顯示格式由系統設定決定。

常用屬性:

CalAlignment:決定顯示日期時,顯示的下拉行事曆群組件相對於日期組件的位置。

Checked:當ShowCheckBox設為True時,顯示的檢查欄是否被選擇。

DateFormat:設定日期格式。dfShort:簡短日期。dfLong:完整日期。

DateMode:設定日期組件右方顯示的外觀。其值為dmComboBox(下拉式箭頭)或dmUpDown x(上下箭頭)。當Kind設定為dtKTime,則此屬性失效。

DroppedDown:唯讀。用來判斷日期組件是否處於下拉狀態。

Format:格式化TDateTimePicker組件日期顯示格式。Format格式字元如下:

Ø  d、dd、ddd、dddd:順序顯示一位日期、兩位日期、簡短星期、完整星期。

Ø  H、HH、h、hh、m、mm、s、ss:依序為時分秒。對小於10的數,一位元時,第一位保留空白,兩位元時前置0。H與h區別:前者24小時,後者12小時。

Ø  M、MM、MMM、MMMM:依序為一位月份、二位月份、簡短月份、完整月份。

Ø  t、tt:顯示am/pm。t顯示格式為“a/p”,tt顯示格式為“am/pm”。

Kind:設定TDateTimePicker組件顯示日期(dkDate)或時間(dkTime)。

ShowCheckbox:是否顯示檢查欄。為True時,Checkbox必須被選擇,才能接受輸入。

常用事件:

OnCloseUp和OnDropDown:下拉日曆關閉時時觸發,TDateTimePicker組件顯示時觸發。

5、TStatusBar

由一些Panel組件(TStatusPanel)組成,且通常位於程式下方。

AutoHint:為True時,Hint屬性的文字會被顯示到第一個Panel中。

Panels:存放管理TStatusPanel的集合。設計時通過Panels可新增、刪除Panel,或改變顯示文字、Panel寬度、浮凸效果(Bevel屬性)。運行時則通過Items屬性的Add、AddItem、Insert等方法管理Panels。

SimplePanel:指定TStatusBar是否僅有單一Panel,當設定為True時,Panels失效。

SimpleText:用來顯示SimplePanel為True時,狀態列的文字。

SizeGrip:狀態列右下方是否顯示三角形斜紋。若TStatusBar右邊的Panel設定為靠右對齊,文字會被此斜紋裁掉。

UseSystemFont:是否使用系統預設字型。設為False時,Font中設定的字型才有效。

FlipChildren:將TStatusBar中的Panels順序反轉。

三、System選項卡常用組件

1、TTimer組件

Enabled:用來控制組件是否每隔Interval所指定的時間,觸發OnTimer事件。

Interval:觸發OnTimer事件的時間間隔。

OnTimer事件。

四、Dialogs選項卡常用組件

1、TOpenDialog組件:用來顯示“選擇檔案”對話方塊。

DefaultExt:預設副檔名用於儲存檔案對話方塊,但其副檔名字串不允許超過3個字元,且字串中不得含有‘.’。

FileName:用來存放包含路徑的檔案名稱字串。

Files:唯讀。用來存放TOpenDialog選取的所有檔案名稱(當Options設定為允許多重選取時,Files包含多個檔案名稱字串)。

Filter:開啟檔案時的“檔案類型”設定。格式為“類型描述|*.副檔名”,其中類型描述可省略。多中檔案類型時,如:OpenDialog1.Filter :='文字檔(*.txt)|*.txt|avi檔案(*.avi)|*.avi'; 此種方式是要麼txt要麼avi。OpenDialog1.Filter := 'bmp(*.bmp),txt(*.txt)|*.bmp;*.txt';此種方式是bmp和txt同時起作用。

FilterIndex:指定開啟檔案對話方塊中的預設檔案類型,其值起始於1。如上述設定的txt和avi格式時,預設為txt,可設定此值為2,則預設顯示avi。

InitialDir:指定預設路徑,當預設路徑不存在時,會以系統預設路徑取代。

Options:設定了開啟、儲存檔案的對話方塊共用選項設定,其常用設定值如下:

Ø  ofAllowMultiSelect:允許多重選取檔案。

Ø  ofCreatePrompt:檔案不存在時,是否提示建立新檔案。

Ø  ofOverridePrompt:檔案存在時,是否提示覆蓋,用於儲存檔案對話方塊。

OptionsEx:只包含ofExNoPlaceBar選項,當ofExNoPlaceBar為False時,TOpenDialog包含中紅色圈出的地區;否則,不包含。

Execute方法:調用對話方塊,通過傳回值來確定是否按下“確定”按鈕。

2、TFontDialog組件

用來顯示“設定字型”對話方塊,也是通過Execute來開啟對話方塊。

         Device:可用字型設定。預設為fdScreen(螢幕字型),其他可能值包括fdPrinter(印表機)、fdBoth(兩者)。

Font:設定、取得字型。

Option屬性:常用設定:fdApplyButton:是否包含“應用”按鈕。

3、TColorDialog組件

用來顯示“顏色”對話方塊,也是通過Execute來開啟對話方塊。

Color:設定、擷取顏色值。

Options:常用設定:cdFullOpen:對話方塊是否完全開啟。cdPreventFullOpen:“規定自訂色彩”按鈕是否為disabled。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.