




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件技術(shù)軟件技術(shù)專業(yè)剖析報(bào)告專業(yè)剖析報(bào)告 軟件教研室軟件教研室 李李 萍萍2019年年5月月 第第3章章 可視化編程、窗體與組件可視化編程、窗體與組件授課教師:周志德授課教師:周志德可視化程序設(shè)計(jì)可視化程序設(shè)計(jì)可視化編程可視化編程組件布局組件布局組件組件可視組件可視組件不可視組件不可視組件設(shè)計(jì)界面設(shè)計(jì)界面設(shè)置屬性設(shè)置屬性編寫代碼編寫代碼窗體組件窗體組件容器類組件容器類組件按鈕組件按鈕組件復(fù)選框復(fù)選框單選按鈕單選按鈕列表框列表框組合列表框組合列表框組件程序設(shè)計(jì)組件程序設(shè)計(jì)設(shè)置屬性設(shè)置屬性組件的方法組件的方法事件處理代碼編寫事件處理代碼編寫Alignment Palete面板面板Parent屬性屬
2、性布局屬性布局屬性Align與與AnchorSplitter組件組件圖圖3.1 學(xué)生檔案管理系統(tǒng)查詢界面設(shè)計(jì)學(xué)生檔案管理系統(tǒng)查詢界面設(shè)計(jì)Label組件組件Edit組件組件Memo組件組件ComboBox組件組件Panel組件組件RadioGroup組件組件RadioButton組組件件SpeedButton組組件件CheckBox組件組件BitBtn組件組件Bevel組件組件Image組件組件Form組件組件引例:用窗體與組件設(shè)計(jì)學(xué)生檔案管理主界面引例:用窗體與組件設(shè)計(jì)學(xué)生檔案管理主界面 3.1.1 可視化程序設(shè)計(jì)的概念可視化程序設(shè)計(jì)的概念 1、可視化程序設(shè)計(jì):用窗體與組件設(shè)計(jì)程序界面,編、可
3、視化程序設(shè)計(jì):用窗體與組件設(shè)計(jì)程序界面,編寫事件處理代碼寫事件處理代碼,完成事件處理功能的程序設(shè)計(jì)方法。完成事件處理功能的程序設(shè)計(jì)方法。 可視化程序設(shè)計(jì)采用面向?qū)ο?、事件?qū)動(dòng)的程序設(shè)計(jì)方可視化程序設(shè)計(jì)采用面向?qū)ο蟆⑹录?qū)動(dòng)的程序設(shè)計(jì)方法。法。 2、事件驅(qū)動(dòng)的程序設(shè)計(jì):按工作要求編寫各組件的事、事件驅(qū)動(dòng)的程序設(shè)計(jì):按工作要求編寫各組件的事件驅(qū)動(dòng)程序,當(dāng)用戶觸發(fā)組件事件時(shí)執(zhí)行相關(guān)的事件件驅(qū)動(dòng)程序,當(dāng)用戶觸發(fā)組件事件時(shí)執(zhí)行相關(guān)的事件驅(qū)動(dòng)程序,完成規(guī)定任務(wù)的程序設(shè)計(jì)方法稱為事件驅(qū)驅(qū)動(dòng)程序,完成規(guī)定任務(wù)的程序設(shè)計(jì)方法稱為事件驅(qū)動(dòng)的程序設(shè)計(jì)。動(dòng)的程序設(shè)計(jì)。 3.1 可視化程序設(shè)計(jì)可視化程序設(shè)計(jì) 3、可視化
4、編程的主要任務(wù)、可視化編程的主要任務(wù)(1設(shè)計(jì)界面:將組件面板中要用的組件放入窗體;設(shè)計(jì)界面:將組件面板中要用的組件放入窗體;(2設(shè)置屬性:設(shè)置窗體與組件等對(duì)象的屬性;設(shè)置屬性:設(shè)置窗體與組件等對(duì)象的屬性;(3編寫代碼:在窗體與組件的事件處理過(guò)程中輸入代碼。編寫代碼:在窗體與組件的事件處理過(guò)程中輸入代碼。 3.1.1 可視化程序設(shè)計(jì)的概念可視化程序設(shè)計(jì)的概念3.1.2 可視化編程的步驟可視化編程的步驟4、可視化程序設(shè)計(jì)的步驟、可視化程序設(shè)計(jì)的步驟(1創(chuàng)建一個(gè)工程創(chuàng)建一個(gè)工程 新建一個(gè)工程:新建一個(gè)工程:File | New | Application 新建工程包含一個(gè)缺省的窗體新建工程包含一個(gè)缺
5、省的窗體Form1與一個(gè)單元文件與一個(gè)單元文件Unit1??筛鶕?jù)工程的需要添加多個(gè)窗體與單元??筛鶕?jù)工程的需要添加多個(gè)窗體與單元。 添加窗體與單元添加窗體與單元 File | New | Form 或或 Unit 。(2添加組件添加組件 單擊組件板中的組件圖標(biāo);單擊組件板中的組件圖標(biāo); 在窗體適當(dāng)位置按下鼠標(biāo)左鍵,并拖動(dòng)鼠標(biāo)即可畫出相在窗體適當(dāng)位置按下鼠標(biāo)左鍵,并拖動(dòng)鼠標(biāo)即可畫出相應(yīng)的對(duì)象。應(yīng)的對(duì)象。3.1.3 可視化編程的步驟可視化編程的步驟(3設(shè)置屬性設(shè)置屬性 在窗體中選擇組件對(duì)象;在窗體中選擇組件對(duì)象; 在對(duì)象監(jiān)視器中設(shè)置組件的屬性,如字體、大小、顏色在對(duì)象監(jiān)視器中設(shè)置組件的屬性,如字體
6、、大小、顏色等。等。(4編寫代碼編寫代碼 在窗體中選擇組件對(duì)象;在窗體中選擇組件對(duì)象; 在對(duì)象監(jiān)視器中選擇事件,雙擊事件進(jìn)入代碼編輯器,在對(duì)象監(jiān)視器中選擇事件,雙擊事件進(jìn)入代碼編輯器,在事件處理過(guò)程的在事件處理過(guò)程的begin 與與end;之間輸入程序代碼。之間輸入程序代碼。(5窗體、對(duì)象監(jiān)視器與代碼編輯器的打開與轉(zhuǎn)換窗體、對(duì)象監(jiān)視器與代碼編輯器的打開與轉(zhuǎn)換 打開窗體:打開窗體:View | Form (或或View工具欄中工具欄中 “View Form”),從彈出式菜單可選擇所需打開的窗體;從彈出式菜單可選擇所需打開的窗體; 打開單元:打開單元:View | Unit (或(或View工具欄
7、中工具欄中 “View Unit”),),從彈出式菜單可選擇所需打開的單元;從彈出式菜單可選擇所需打開的單元; 打開對(duì)象監(jiān)視器:打開對(duì)象監(jiān)視器:View | Object Inspector 打開對(duì)象樹形列表:打開對(duì)象樹形列表:View | Object ViewTree 按按F11鍵可在三者之間相互轉(zhuǎn)換;鍵可在三者之間相互轉(zhuǎn)換; 按按View工具欄中的工具欄中的“Unit/Form” (或或F12鍵鍵)可在窗體與代碼可在窗體與代碼編輯器之間的轉(zhuǎn)換。編輯器之間的轉(zhuǎn)換。3.1.2 可視化編程的步驟可視化編程的步驟(6保存工程保存工程 保存工程文件:保存工程文件:File | Save All;系
8、統(tǒng)提示先輸入各單元文;系統(tǒng)提示先輸入各單元文件名,最后輸入工程文件名。件名,最后輸入工程文件名。留意:工程名與單元名不能相同。留意:工程名與單元名不能相同。 保存單元文件:保存單元文件:File |Save ; 輸入單元文件名。輸入單元文件名。第一次保存后,以后可以隨時(shí)通過(guò)第一次保存后,以后可以隨時(shí)通過(guò)SpeedBar中的中的“SaveAll和和“Savefile來(lái)保存工程文件和庫(kù)單元文件。來(lái)保存工程文件和庫(kù)單元文件。3.1.2 可視化編程的步驟可視化編程的步驟(7編譯和運(yùn)行工程編譯和運(yùn)行工程Run | Run 或者或者 Debug工具條上工具條上“Run或者或者“F9”,系統(tǒng)將,系統(tǒng)將開始編
9、譯、連接運(yùn)行工程文件。若有錯(cuò)誤則將錯(cuò)誤通過(guò)代開始編譯、連接運(yùn)行工程文件。若有錯(cuò)誤則將錯(cuò)誤通過(guò)代碼編輯器返回。否則,生成碼編輯器返回。否則,生成.exe的可執(zhí)行文件,并執(zhí)行它。的可執(zhí)行文件,并執(zhí)行它。(8關(guān)閉工程和關(guān)閉工程和Delphi 關(guān)閉工程:關(guān)閉工程:File | Close All ; 關(guān)閉關(guān)閉Delphi:File | Exit。3.1.3 可視化編程的步驟可視化編程的步驟3.2 窗體與組件窗體與組件3.2.1 窗體和組件窗體和組件1窗體和組件的關(guān)系窗體和組件的關(guān)系窗體和組件之間有一種包容關(guān)系,這是指窗體是一種容器,窗體和組件之間有一種包容關(guān)系,這是指窗體是一種容器,組件就像是容器中包
10、容的對(duì)象。組件就像是容器中包容的對(duì)象。例如,在窗體上放一個(gè)標(biāo)簽、一個(gè)編輯框、一個(gè)按鈕時(shí),例如,在窗體上放一個(gè)標(biāo)簽、一個(gè)編輯框、一個(gè)按鈕時(shí),單元文件中有關(guān)窗體類的定義如下:?jiǎn)卧募杏嘘P(guān)窗體類的定義如下:type TForm1 = class(TForm) /定義窗體類型定義窗體類型 Label1: TLabel; /定義窗體類的定義窗體類的Label成員成員 Edit1: TEdit; /定義窗體類的定義窗體類的Edit成員成員 Button1: TButton; /定義窗體類的定義窗體類的Button成員成員 private Private declarations /私有過(guò)程與函數(shù)的說(shuō)明私
11、有過(guò)程與函數(shù)的說(shuō)明 public Public declarations /公有過(guò)程與函數(shù)的說(shuō)明公有過(guò)程與函數(shù)的說(shuō)明 end;var Form1: TForm1; /定義一個(gè)窗體實(shí)例變量)定義一個(gè)窗體實(shí)例變量)闡明闡明1上述代碼是由系統(tǒng)自動(dòng)完成的。上述代碼是由系統(tǒng)自動(dòng)完成的。 (2通常通常“T開始的類型均為類類型。開始的類型均為類類型。3.2.1 窗體與組件窗體與組件2組件的屬性、方法與事件組件的屬性、方法與事件(1屬性:是描述組件特性的參數(shù),如名稱、長(zhǎng)度、寬屬性:是描述組件特性的參數(shù),如名稱、長(zhǎng)度、寬度、顏色、字體等。屬性可通過(guò)對(duì)象監(jiān)視器設(shè)置。也可度、顏色、字體等。屬性可通過(guò)對(duì)象監(jiān)視器設(shè)置。
12、也可通過(guò)程序代碼進(jìn)行設(shè)置。通過(guò)程序代碼進(jìn)行設(shè)置。(2方法:是組件的過(guò)程或函數(shù)。應(yīng)用程序可通調(diào)用組方法:是組件的過(guò)程或函數(shù)。應(yīng)用程序可通調(diào)用組件方法,完成指定動(dòng)作。件方法,完成指定動(dòng)作。(3事件:是組件事件驅(qū)動(dòng)程序設(shè)計(jì),即當(dāng)用戶在應(yīng)用事件:是組件事件驅(qū)動(dòng)程序設(shè)計(jì),即當(dāng)用戶在應(yīng)用程序的窗口界面中,用輸入設(shè)備向組件發(fā)出動(dòng)作時(shí),觸程序的窗口界面中,用輸入設(shè)備向組件發(fā)出動(dòng)作時(shí),觸發(fā)該組件的事件處理程序,完成事先規(guī)定操作。發(fā)該組件的事件處理程序,完成事先規(guī)定操作。3.2.1 窗體與組件窗體與組件3組件庫(kù)組件庫(kù)VCLDelphi提供了可視化組件庫(kù)提供了可視化組件庫(kù)VCLVisual Component Li
13、brary),),VCL提供了大量的功能各異的可見和不可見提供了大量的功能各異的可見和不可見組件。組件。(1可見的組件控件):程序運(yùn)行仍可見的組件??梢姷慕M件控件):程序運(yùn)行仍可見的組件。 在程序運(yùn)行時(shí)用戶可以與控件進(jìn)行交互。在程序運(yùn)行時(shí)用戶可以與控件進(jìn)行交互??丶谠O(shè)計(jì)階段與運(yùn)行階段的外觀是相同的。控件在設(shè)計(jì)階段與運(yùn)行階段的外觀是相同的。3.2.1 窗體與組件窗體與組件(2不可見組件:是用戶無(wú)法與其進(jìn)行交互的組件。不可見組件:是用戶無(wú)法與其進(jìn)行交互的組件。設(shè)計(jì)階段表現(xiàn)為小圖標(biāo),通過(guò)該圖標(biāo)可以設(shè)置組件的屬性、設(shè)計(jì)階段表現(xiàn)為小圖標(biāo),通過(guò)該圖標(biāo)可以設(shè)置組件的屬性、方法等。這些組件主要用于完成各種不
14、同的任務(wù),為應(yīng)用方法等。這些組件主要用于完成各種不同的任務(wù),為應(yīng)用程序運(yùn)行時(shí)提供后臺(tái)服務(wù),如菜單組件、定時(shí)器組件等程序運(yùn)行時(shí)提供后臺(tái)服務(wù),如菜單組件、定時(shí)器組件等舉例)。舉例)。4組件分類組件分類在在Delphi中組件可按功能分成若干類如學(xué)生檔案查詢),中組件可按功能分成若干類如學(xué)生檔案查詢),如表如表3.1所示。所示。3.2.1 窗體與組件窗體與組件表表3.1 3.1 組件分類表組件分類表功能功能組件組件數(shù)據(jù)輸入與數(shù)據(jù)輸入與處理處理Edit,Memo,MaskEdit,RichEdit,DBEdit,DBText,DBMemo,DBRichEdit按鈕輸入按鈕輸入和選擇選項(xiàng)和選擇選項(xiàng)Butt
15、on,CheckBox,RadioButton,BitBtn,SpeedButton,DBCheckBox,DBRadioButton,TabSet,ToolBar,CoolBar,MainMenu,PopupMenu列表列表ComboBox,TreeView,ListView,DBListbox,DBLookupListBox, CheckListBox,DBLookUpComboBox,Data/Time Picker,DBCombobox,ActionList分組分組GroupBox,RadioGroup,Panel,ScrollBox, TabControl,PageControl,H
16、eaderConctrol,DBRadioGroup反饋信息反饋信息Label,ProgressBar,StatusBar表格表格StringGrid,GrawGrid,DBGrid,DBControlGrid圖形圖形Image,Shape,Bevel,ImageList,PaintBox,Animate,常用對(duì)話框常用對(duì)話框OpenDialog,SaveDialog,FontDialog,ColorDialog, FindDialog,ReplaceDialog,PrintDialog,PrinterSetupDialog,OpenPictureDialog,SavePictrueDialo
17、g3.2.2 窗體屬性窗體屬性1窗體位置與大小窗體位置與大小(1Left、Top:窗體左上角坐標(biāo):窗體左上角坐標(biāo)(2Width、Height:窗體寬與高單位為像素):窗體寬與高單位為像素)(3ClientWidth、ClientHeight:窗體客戶區(qū)的寬度和高:窗體客戶區(qū)的寬度和高度。當(dāng)用鼠標(biāo)改變窗體大小時(shí),這些參數(shù)會(huì)直接反映到對(duì)度。當(dāng)用鼠標(biāo)改變窗體大小時(shí),這些參數(shù)會(huì)直接反映到對(duì)象監(jiān)視器中。象監(jiān)視器中。(4Position:窗體位置在運(yùn)行時(shí)的表現(xiàn),如表:窗體位置在運(yùn)行時(shí)的表現(xiàn),如表3.3所示。所示。表表3.3 Position屬性值及其含義屬性值及其含義屬性值屬性值說(shuō)說(shuō) 明明poDesign
18、ed由設(shè)計(jì)時(shí)的由設(shè)計(jì)時(shí)的Left、Top、Width、Height來(lái)確定來(lái)確定(默認(rèn)值)(默認(rèn)值)poDefault由由Windows確定。每次顯示窗體會(huì)向右下角低一確定。每次顯示窗體會(huì)向右下角低一點(diǎn),點(diǎn),Delphi自動(dòng)調(diào)整其大小,使右邊、底邊與屏幕自動(dòng)調(diào)整其大小,使右邊、底邊與屏幕切平,與屏幕的分辨率無(wú)關(guān)切平,與屏幕的分辨率無(wú)關(guān)poDefaultPosOnly窗體的大小由設(shè)計(jì)時(shí)的值確定,位置由窗體的大小由設(shè)計(jì)時(shí)的值確定,位置由Windows確定。每次顯示窗體會(huì)向右下角低一點(diǎn)確定。每次顯示窗體會(huì)向右下角低一點(diǎn)poScreenCenter窗體的大小由設(shè)計(jì)時(shí)的值確定,位置在屏幕的正窗體的大小由設(shè)
19、計(jì)時(shí)的值確定,位置在屏幕的正中央中央3.2.2 窗體屬性窗體屬性3.2.2 窗體屬性窗體屬性2窗體的顏色窗體的顏色窗體的背景顏色是由窗體的背景顏色是由Color屬性來(lái)控制的。屬性來(lái)控制的。3窗體的外觀與樣式窗體的外觀與樣式與窗體的外觀樣式有關(guān)的屬性有:與窗體的外觀樣式有關(guān)的屬性有:BorderIcons、BorderStyle、Caption、Ctrl3D屬性等。屬性等。(1Caption屬性屬性 :指定窗體標(biāo)題欄中的標(biāo)題。:指定窗體標(biāo)題欄中的標(biāo)題。(2BorderIcons屬性集合型):確定窗體標(biāo)題欄上的屬性集合型):確定窗體標(biāo)題欄上的圖標(biāo)??稍O(shè)置下列數(shù)值:圖標(biāo)??稍O(shè)置下列數(shù)值:表表3.4
20、BorderStyle屬性值及其含義屬性值及其含義屬性值屬性值說(shuō)明說(shuō)明bsDialog窗體為標(biāo)準(zhǔn)的對(duì)話框,邊框大小不可以改變。窗體為標(biāo)準(zhǔn)的對(duì)話框,邊框大小不可以改變。bsSingle窗體具有單線邊框,大小不可以改變。窗體具有單線邊框,大小不可以改變。bsNone窗體沒有邊框,也沒有標(biāo)題欄,邊界的大小不可以改變。窗體沒有邊框,也沒有標(biāo)題欄,邊界的大小不可以改變。bsSizeable邊框大小可變的標(biāo)準(zhǔn)窗體。邊框大小可變的標(biāo)準(zhǔn)窗體。bsToolWindow風(fēng)格與風(fēng)格與bsSingle相同,只是標(biāo)題欄比較小。相同,只是標(biāo)題欄比較小。屬性屬性BorderIcons中設(shè)置的中設(shè)置的biMinimize和和
21、biMaximize不起不起作用。作用。bsSizeToolWin風(fēng)格與風(fēng)格與bsSizeable相同,只是標(biāo)題欄比較小。相同,只是標(biāo)題欄比較小。BorderIcons中設(shè)置的中設(shè)置的biMinimize和和biMaximize不起作用。不起作用。3.2.2 窗體屬性窗體屬性4窗體的狀態(tài)設(shè)定窗體的狀態(tài)設(shè)定窗體的狀態(tài)一般由表窗體的狀態(tài)一般由表3.5中所列屬性確定。中所列屬性確定。屬性屬性說(shuō)明說(shuō)明Enabled確定窗體是否有效,在有效時(shí)才能接受鼠標(biāo)與鍵盤的控制信息。確定窗體是否有效,在有效時(shí)才能接受鼠標(biāo)與鍵盤的控制信息。Visible確定窗體上的組件是否可見。確定窗體上的組件是否可見。Window
22、sState描述窗體的初始狀態(tài):描述窗體的初始狀態(tài):wsNormal正常、正常、wsMinimized最小化。最小化。WsMaximized最大化最大化AutoScroll確定窗體是否在必要時(shí)出現(xiàn)滾動(dòng)條確定窗體是否在必要時(shí)出現(xiàn)滾動(dòng)條HorzScrollBar確定垂直滾動(dòng)條的范圍、移動(dòng)刻度、位置、是否可見等確定垂直滾動(dòng)條的范圍、移動(dòng)刻度、位置、是否可見等VertScrollBar確定水平滾動(dòng)條的范圍、移動(dòng)刻度、位置、是否可見等確定水平滾動(dòng)條的范圍、移動(dòng)刻度、位置、是否可見等ShowHint確定是否顯示提示,顯示的內(nèi)容為確定是否顯示提示,顯示的內(nèi)容為Hint屬性的值屬性的值Hint 為窗體顯示提示
23、的內(nèi)容為窗體顯示提示的內(nèi)容3.2.2 窗體屬性窗體屬性5其他重要屬性其他重要屬性(1Name屬性:窗體名,用來(lái)標(biāo)識(shí)工程中的不同窗體,屬性:窗體名,用來(lái)標(biāo)識(shí)工程中的不同窗體,是最重要的屬性。是最重要的屬性。(2Font屬性:設(shè)置窗體中文字的字體、顏色和字號(hào)屬性:設(shè)置窗體中文字的字體、顏色和字號(hào)等。等。在程序設(shè)計(jì)的時(shí)候,為了保持風(fēng)格的統(tǒng)一,先設(shè)置窗體在程序設(shè)計(jì)的時(shí)候,為了保持風(fēng)格的統(tǒng)一,先設(shè)置窗體Font屬性,后將窗體中所有組件的屬性,后將窗體中所有組件的ParentFont屬性設(shè)置為屬性設(shè)置為True,則組件字體與窗體一致。,則組件字體與窗體一致。(3Icon屬性:確定標(biāo)題欄右上角的窗體圖標(biāo)。屬
24、性:確定標(biāo)題欄右上角的窗體圖標(biāo)。3.2.2 窗體屬性窗體屬性事件是一種將發(fā)生的動(dòng)作與代碼相聯(lián)的機(jī)制。當(dāng)用戶對(duì)事件是一種將發(fā)生的動(dòng)作與代碼相聯(lián)的機(jī)制。當(dāng)用戶對(duì)窗體進(jìn)行操作時(shí),會(huì)觸發(fā)相應(yīng)的事件,執(zhí)行相應(yīng)的處理程窗體進(jìn)行操作時(shí),會(huì)觸發(fā)相應(yīng)的事件,執(zhí)行相應(yīng)的處理程序。表序。表3.6列出了一些常用事件。列出了一些常用事件。窗體事件程序設(shè)計(jì)方法:窗體事件程序設(shè)計(jì)方法:(1選定窗體選定窗體 | 單擊事件頁(yè)標(biāo)簽單擊事件頁(yè)標(biāo)簽 | 雙擊事件欄雙擊事件欄| 代碼編代碼編輯器輸入事件處理程序輯器輸入事件處理程序(2在事件欄中用下拉框選擇已事件處理程序。在事件欄中用下拉框選擇已事件處理程序。下面就一些窗體常用的事件或
25、特殊事件進(jìn)行說(shuō)明。下面就一些窗體常用的事件或特殊事件進(jìn)行說(shuō)明。 3.2.3 窗體的事件窗體的事件表表3.6 3.6 組件的通用事件組件的通用事件事件事件功能功能事件事件功能功能OnClick 單擊鼠標(biāo)左鍵時(shí)觸發(fā)單擊鼠標(biāo)左鍵時(shí)觸發(fā)OnDbClick 雙擊鼠標(biāo)左鍵時(shí)觸發(fā)雙擊鼠標(biāo)左鍵時(shí)觸發(fā)OnDragDrop 其他組件拖入此組件其他組件拖入此組件時(shí)觸發(fā)發(fā)時(shí)觸發(fā)發(fā)OnDragOver 其他組件拖動(dòng)經(jīng)過(guò)此組其他組件拖動(dòng)經(jīng)過(guò)此組件時(shí)觸發(fā)件時(shí)觸發(fā)OnEndDrag 拖動(dòng)結(jié)束時(shí)觸發(fā)拖動(dòng)結(jié)束時(shí)觸發(fā)OnEnter 焦點(diǎn)轉(zhuǎn)移到組件時(shí)觸發(fā)焦點(diǎn)轉(zhuǎn)移到組件時(shí)觸發(fā)OnExit 焦點(diǎn)離開組件時(shí)觸發(fā)焦點(diǎn)離開組件時(shí)觸發(fā)OnHid
26、e 組件隱藏時(shí)觸發(fā)組件隱藏時(shí)觸發(fā)OnKeyDown 按下某個(gè)鍵時(shí)觸發(fā)按下某個(gè)鍵時(shí)觸發(fā)OnKeyPress 按下某按下某ASCII碼鍵時(shí)觸碼鍵時(shí)觸發(fā)發(fā)OnKeyUp 松開某個(gè)鍵時(shí)觸發(fā)松開某個(gè)鍵時(shí)觸發(fā)OnMouseDown 單擊鼠標(biāo)時(shí)觸發(fā)單擊鼠標(biāo)時(shí)觸發(fā)OnMouseMove 鼠標(biāo)拖動(dòng)時(shí)觸發(fā)鼠標(biāo)拖動(dòng)時(shí)觸發(fā)OnMouseUp 松開鼠標(biāo)鍵時(shí)觸發(fā)松開鼠標(biāo)鍵時(shí)觸發(fā)OnResize組件改變大小時(shí)觸發(fā)組件改變大小時(shí)觸發(fā)OnStartDrop 拖動(dòng)開始時(shí)觸發(fā)拖動(dòng)開始時(shí)觸發(fā)OnChange組件發(fā)生改變時(shí)觸發(fā)組件發(fā)生改變時(shí)觸發(fā)3.2.3 窗體的事件窗體的事件1OnCreate事件事件創(chuàng)建窗體時(shí)觸發(fā)該事件創(chuàng)建窗體時(shí)觸發(fā)
27、該事件,定義形式:定義形式:procedure TForm1.FormCreate(Sender: TObject);通常初始化工作在通常初始化工作在OnCreate事件中進(jìn)行,如分配所需的資源等。事件中進(jìn)行,如分配所需的資源等。2、OnDestroy事件事件當(dāng)釋放窗體所占用的空間時(shí),觸發(fā)當(dāng)釋放窗體所占用的空間時(shí),觸發(fā)OnDestroy事件,定義形式:事件,定義形式:procedure TForm1.FormDestroy(Sender: TObject);在窗體的在窗體的OnDestroy事件中釋放分配的資源。事件中釋放分配的資源。3.2.3 窗體的事件窗體的事件3OnActivate 事件
28、當(dāng)窗體被激活時(shí),觸發(fā)OnActivate事件;4. OnDeActivate 事件當(dāng)窗體失去焦點(diǎn)時(shí),觸發(fā) OnDeActivate 事件。5OnClose事件當(dāng)Form關(guān)閉時(shí)觸發(fā)OnClose事件。3.2.3 窗體的事件窗體的事件6窗體建立的順序窗體建立的順序當(dāng)窗體建立時(shí),按下列順序依次觸發(fā)窗體事件:當(dāng)窗體建立時(shí),按下列順序依次觸發(fā)窗體事件:(1OnCreate :說(shuō)明正在建立窗體說(shuō)明正在建立窗體(2OnShow :說(shuō)明正在顯示窗體說(shuō)明正在顯示窗體(3OnActivate: 說(shuō)明窗體成為了應(yīng)用程序中的活動(dòng)窗說(shuō)明窗體成為了應(yīng)用程序中的活動(dòng)窗體體(4其他事件其他事件3.2.3 窗體的事件窗體的事件
29、例例3.2 “學(xué)生檔案管理系統(tǒng)的界面設(shè)計(jì)學(xué)生檔案管理系統(tǒng)的界面設(shè)計(jì)窗體設(shè)計(jì)。窗體設(shè)計(jì)。1窗體屬性設(shè)置窗體屬性設(shè)置(1Caption=學(xué)生檔案查詢,學(xué)生檔案查詢,Name=Form_xsda ,(2High=600,width=800,Position= poScreenCenter(3Font=“宋體宋體”、“五號(hào)五號(hào)”、“黑色黑色”3.2.3 窗體的事件窗體的事件 2窗體事件處理程序設(shè)計(jì)窗體事件處理程序設(shè)計(jì)procedure TForm_Xsda.FormCreate(Sender: TObject);begin Caption:=學(xué)生檔案查詢學(xué)生檔案查詢; Name:=Form_xsda;
30、 Height:=600; Width:=800; Position:=poScreenCenter;end;3.2.3 窗體的事件窗體的事件 procedure TForm_Xscx.FormClose(Sender: TObject; var Action: TCloseAction);begin Action:=caFree;end;3.2.3 窗體的事件窗體的事件3.3 容器類組件容器類組件常用容器類組件有:面板常用容器類組件有:面板Panel、組件框、組件框GroupBox、狀態(tài)條、狀態(tài)條StatesBar、工具條、工具條ToolBar等。等。 1.Panel組件組件(1Panel面
31、板:是一個(gè)能以多種三維效果顯示出來(lái)的矩形面板:是一個(gè)能以多種三維效果顯示出來(lái)的矩形區(qū)域。區(qū)域。(2作用:為窗體中的作用:為窗體中的“同類組件進(jìn)行可視化分組。同類組件進(jìn)行可視化分組。(3Panel位于:位于:Standard頁(yè)。頁(yè)。使用注意:當(dāng)用戶向使用注意:當(dāng)用戶向Panel中放置組件時(shí),這些組件的容器中放置組件時(shí),這些組件的容器就是就是Panel稱為父組件),它們不能移出稱為父組件),它們不能移出Panel的客戶區(qū)域。的客戶區(qū)域。 2. GroupBox組件組件(位于位于Standard頁(yè))頁(yè))(1組合框組合框GroupBox:是一個(gè)帶有標(biāo)題的容器組件。:是一個(gè)帶有標(biāo)題的容器組件。(2作用:
32、為一組相關(guān)聯(lián)的組件提供分組,放在分組框中作用:為一組相關(guān)聯(lián)的組件提供分組,放在分組框中的組件就是它的子組件。典型應(yīng)用就是在的組件就是它的子組件。典型應(yīng)用就是在GroupBox中添加中添加一組相關(guān)的單選鈕。一組相關(guān)的單選鈕。3.Bevel組件位于組件位于Additional頁(yè)頁(yè))(1Bevel組件:實(shí)現(xiàn)視覺上的分組效果,美化外觀。組件:實(shí)現(xiàn)視覺上的分組效果,美化外觀。(2作用:作用:Bevel可以產(chǎn)生一個(gè)斜凹下去的方框、框架輪可以產(chǎn)生一個(gè)斜凹下去的方框、框架輪廓或線條。廓或線條。(3使用使用Bevel較節(jié)約資源,但它不是容器。較節(jié)約資源,但它不是容器。 3.3 容器類組件容器類組件 例例3.2
33、“學(xué)生檔案管理系統(tǒng)的界面設(shè)計(jì)學(xué)生檔案管理系統(tǒng)的界面設(shè)計(jì)容器類組件設(shè)容器類組件設(shè)計(jì)。計(jì)。(1Panel組件設(shè)計(jì)組件設(shè)計(jì)在窗體中放置三個(gè)在窗體中放置三個(gè)Panel組件,設(shè)置屬性如下:組件,設(shè)置屬性如下:3.3 容器類組件容器類組件NameCaptionAlignHeightPanel1alTop30Panel2alBottom30Panel3alClient可以得到三維立體效果的面板??梢缘玫饺S立體效果的面板。在此三個(gè)容器組件上可放置各類組件。在此三個(gè)容器組件上可放置各類組件。 (2Bevel設(shè)計(jì)直接打開例子進(jìn)行解釋)設(shè)計(jì)直接打開例子進(jìn)行解釋)Panel3中放置一個(gè)中放置一個(gè)Bevel,設(shè)置它的
34、如下屬性:,設(shè)置它的如下屬性:Left=20、Top=85、Height=105、Width=210、shape=bsBox,其他屬性不改。,其他屬性不改。將它作為將它作為“所屬系部等一組所屬系部等一組8個(gè)組件的框架。個(gè)組件的框架。在在Panel3中放置另一個(gè)中放置另一個(gè)Bevel,設(shè)置它的如下屬性:,設(shè)置它的如下屬性:Left=20、Top=78、Height=2、Width=762、shape=bsBox,其他屬性不改。它將作為一條分隔線出現(xiàn)。其他屬性不改。它將作為一條分隔線出現(xiàn)。(3GroupBox組件設(shè)計(jì)直接打開例子進(jìn)行解釋)組件設(shè)計(jì)直接打開例子進(jìn)行解釋)在在Panel3中放置一個(gè)中放
35、置一個(gè)GroupBox1,設(shè)置,設(shè)置Caption為為“查詢條查詢條件件”。3.3 容器類組件容器類組件3.4 按鈕組件按鈕組件 3.4.1 Button組件組件1作用:?jiǎn)螕舭粹o后執(zhí)行按鈕事件處理程序。作用:?jiǎn)螕舭粹o后執(zhí)行按鈕事件處理程序。2屬性屬性(1Caption:按鈕標(biāo)題;:按鈕標(biāo)題;(2Name:按鈕名;:按鈕名;(3Cancel取消)取消) :為:為True時(shí),按時(shí),按Esc鍵該組件的鍵該組件的OnClick事件處理程序就被執(zhí)行。事件處理程序就被執(zhí)行。(2Default默許):為默許):為True時(shí),按時(shí),按Enter鍵時(shí)該組件的鍵時(shí)該組件的OnClick事件處理程序就被執(zhí)行。事件處
36、理程序就被執(zhí)行。3按鈕單擊事件:按鈕單擊事件:OnClick 事件執(zhí)行條件:事件執(zhí)行條件:(1單擊單擊Button按鈕。按鈕。(2當(dāng)當(dāng)Button按鈕獲得焦點(diǎn)時(shí),按按鈕獲得焦點(diǎn)時(shí),按鍵或空格鍵。鍵或空格鍵。3.4.2 BitBtn組件組件1作用:?jiǎn)螕舭粹o后執(zhí)行按鈕處理程序,可在按鈕表面作用:?jiǎn)螕舭粹o后執(zhí)行按鈕處理程序,可在按鈕表面上顯示位圖上顯示位圖Bitmap)。)。2位置:位置:Additional頁(yè)。頁(yè)。3屬性:屬性:(1Kind屬性:設(shè)置按鈕的種類;屬性:設(shè)置按鈕的種類;(2Glyph屬性:設(shè)置按鈕位圖;屬性:設(shè)置按鈕位圖;(3Layout屬性:設(shè)置位圖與文本的相對(duì)位置;屬性:設(shè)置位圖
37、與文本的相對(duì)位置;(4Spacing屬性:設(shè)置按鈕上的圖像和文字之間的距離,屬性:設(shè)置按鈕上的圖像和文字之間的距離,單位是像素單位是像素pixel)。)。3.4 按鈕組件按鈕組件3.4.3 SpeedButton組件組件1作用:進(jìn)行工具條快速按鈕設(shè)計(jì)。作用:進(jìn)行工具條快速按鈕設(shè)計(jì)。2位置:位置:Additional頁(yè)。頁(yè)。3屬性:屬性: (1Down:True:按下狀態(tài);按下狀態(tài);False:松開狀態(tài)。:松開狀態(tài)。(2Flat:False:外觀呈一般按鈕;:外觀呈一般按鈕;True:正常情況下:正常情況下外觀像外觀像Label,僅當(dāng)鼠標(biāo)移到它的表面時(shí),才會(huì)如按鈕般,僅當(dāng)鼠標(biāo)移到它的表面時(shí),才會(huì)
38、如按鈕般凸現(xiàn)出來(lái)。凸現(xiàn)出來(lái)。(3GroupIndex:若大于:若大于0,則與,則與GroupIndex相同值的相同值的多個(gè)多個(gè)SpeedButton將協(xié)同工作。在同一時(shí)間里,它們中只將協(xié)同工作。在同一時(shí)間里,它們中只有一個(gè)可處于按下狀態(tài)。有一個(gè)可處于按下狀態(tài)。3.4 按鈕組件按鈕組件例例3.2 “學(xué)生檔案管理系統(tǒng)界面設(shè)計(jì)學(xué)生檔案管理系統(tǒng)界面設(shè)計(jì)工具條按鈕組件設(shè)工具條按鈕組件設(shè)計(jì)。計(jì)。(1在窗體在窗體Form_xsda中的中的Panel1中添加一組件快速按鈕構(gòu)中添加一組件快速按鈕構(gòu)成工具條;如圖成工具條;如圖3.1所示,將所示,將GroupIndex屬性設(shè)置為屬性設(shè)置為1。用。用Glyph屬性輸
39、入各種位圖,修改屬性輸入各種位圖,修改Name屬性。屬性。(2在在Panel3右上角中添加右上角中添加“查詢與查詢與“打印圖形按鈕,見打印圖形按鈕,見圖圖3.1。(3編寫退出程序的快速按鈕單擊事件處理程序,代碼如下:編寫退出程序的快速按鈕單擊事件處理程序,代碼如下:procedure TForm_xsda.SpeedButton_ExitClick(Sender: TObject);begin Close;end;3.4 按鈕組件按鈕組件3.5.1 標(biāo)簽標(biāo)簽Label組件組件(1作用:顯示文本;作用:顯示文本;(2位置:位置:Standard頁(yè);頁(yè);(3靜態(tài)設(shè)置:在對(duì)象監(jiān)視器中設(shè)置靜態(tài)設(shè)置:在
40、對(duì)象監(jiān)視器中設(shè)置Caption屬性的值顯示屬性的值顯示文本;文本;(4動(dòng)態(tài)設(shè)置:在事件處理程序中設(shè)置動(dòng)態(tài)設(shè)置:在事件處理程序中設(shè)置Caption屬性的值顯屬性的值顯示文本;示文本;3.5 文本顯示與編輯組件文本顯示與編輯組件1標(biāo)簽組件的屬性標(biāo)簽組件的屬性Alignment:文本的水平對(duì)齊方式左對(duì)齊、居中對(duì)齊和右:文本的水平對(duì)齊方式左對(duì)齊、居中對(duì)齊和右對(duì)齊)。對(duì)齊)。Layout:文本的垂直對(duì)齊方式頂端對(duì)齊、垂直居中和底端:文本的垂直對(duì)齊方式頂端對(duì)齊、垂直居中和底端對(duì)齊)。對(duì)齊)。AutoSize:若設(shè)置為:若設(shè)置為True,則標(biāo)簽就會(huì)自動(dòng)調(diào)整大小,以適,則標(biāo)簽就會(huì)自動(dòng)調(diào)整大小,以適應(yīng)應(yīng)Capt
41、ion的改變。的改變。WordWrap: 為為True表示文本可換行。表示文本可換行。Align:組件與容器的對(duì)齊方式。:組件與容器的對(duì)齊方式。3.5 文本顯示與編輯組件文本顯示與編輯組件2標(biāo)簽組件的事件標(biāo)簽組件的事件標(biāo)簽的事件主要有單擊事件和雙擊事件、鼠標(biāo)按下、標(biāo)簽的事件主要有單擊事件和雙擊事件、鼠標(biāo)按下、拖動(dòng)等事件。例如讀者可以在例拖動(dòng)等事件。例如讀者可以在例3.1中的標(biāo)簽上的單擊事中的標(biāo)簽上的單擊事件中添加以下代碼,以實(shí)現(xiàn)每單擊一次標(biāo)簽,就增加一件中添加以下代碼,以實(shí)現(xiàn)每單擊一次標(biāo)簽,就增加一個(gè)字號(hào)。個(gè)字號(hào)。 Label1.Font.Size:= Label1.Font.Size+1;3
42、.5 文本顯示與編輯組件文本顯示與編輯組件3.5.2 編輯組件編輯組件Edit和掩碼編輯框和掩碼編輯框MaskEdit1編輯組件編輯組件Edit(1作用:輸入單行文本;作用:輸入單行文本;(2位置:位置:Standard頁(yè);頁(yè);(3運(yùn)用:在運(yùn)用:在Text屬性中輸入文本;屬性中輸入文本;(4屬性屬性Text屬性:輸入或顯示文本。屬性:輸入或顯示文本。ReadOnly屬性:值為屬性:值為True時(shí),文本不能修改。時(shí),文本不能修改。PasswordChar屬性:值為屬性:值為“*”時(shí),輸入字符以時(shí),輸入字符以“*”顯示顯示用于輸入口令)。用于輸入口令)。3.5.2 編輯組件編輯組件Edit和掩碼編
43、輯框和掩碼編輯框MaskEdit2MaskEdit組件組件(1作用:用于格式數(shù)據(jù)輸入。作用:用于格式數(shù)據(jù)輸入。(2位置:位置:Additional頁(yè)頁(yè)(3EditMask屬性:用于控制用戶輸入數(shù)據(jù)格式屬性:用于控制用戶輸入數(shù)據(jù)格式分為三部分:如分為三部分:如“9999/99/00;1;_” ,各部分用,各部分用“;”作為分隔作為分隔符;符;第一部分確定數(shù)據(jù)格式;第一部分確定數(shù)據(jù)格式;第二部分確定是否將屏蔽字符作為數(shù)據(jù)的一部分;第二部分確定是否將屏蔽字符作為數(shù)據(jù)的一部分;第三部分用來(lái)確定屏蔽所用的字符;如第三部分用來(lái)確定屏蔽所用的字符;如“-”。EditMask屬性設(shè)置屬性設(shè)置MaskEdit組
44、件運(yùn)行效果組件運(yùn)行效果3.5.2 編輯組件編輯組件Edit和掩碼編輯框和掩碼編輯框MaskEdit(4Text和和EditText屬性屬性當(dāng)屏蔽字符串第二部分為當(dāng)屏蔽字符串第二部分為0時(shí),時(shí),Text表示用戶輸入字符串,表示用戶輸入字符串,EditText表示帶格式的字符串。當(dāng)屏蔽字符第二部分為表示帶格式的字符串。當(dāng)屏蔽字符第二部分為1時(shí),時(shí),Text和和EditText屬性的值是相同的,都是帶格式的字符串。屬性的值是相同的,都是帶格式的字符串。留意:留意:EditText是運(yùn)行時(shí)屬性,在對(duì)象監(jiān)視器中看不見。是運(yùn)行時(shí)屬性,在對(duì)象監(jiān)視器中看不見。例如:例如:MaskEdit1.EditMask:
45、=9999年年99月月99日日;1;_; MaskEdit2.EditMask:=99時(shí)時(shí)99分分99秒秒;1;_; MaskEdit3.EditMask:=9999元元9角角9分分;1;_3編輯組件常用事件編輯組件常用事件:OnChange當(dāng)當(dāng)text文本發(fā)生改變時(shí),執(zhí)行該事件處理程序。文本發(fā)生改變時(shí),執(zhí)行該事件處理程序。例例3.2 “學(xué)生檔案管理系統(tǒng)界面設(shè)計(jì)學(xué)生檔案管理系統(tǒng)界面設(shè)計(jì)標(biāo)簽與編輯組件設(shè)標(biāo)簽與編輯組件設(shè)計(jì)。計(jì)。1完成圖完成圖3.1中所有標(biāo)簽的設(shè)計(jì)工作。中所有標(biāo)簽的設(shè)計(jì)工作。設(shè)計(jì)設(shè)計(jì)“選擇班級(jí)標(biāo)簽組件的步驟如下。選擇班級(jí)標(biāo)簽組件的步驟如下。(1單擊單擊Standard組件頁(yè)中組件頁(yè)
46、中Label組件,然后在組件,然后在Panel3中中單擊,放置一個(gè)標(biāo)簽。單擊,放置一個(gè)標(biāo)簽。(2設(shè)置設(shè)置Label1的屬性:的屬性:Caption=選擇班級(jí)選擇班級(jí)、Font為為“宋體、規(guī)則、五號(hào)、黑色宋體、規(guī)則、五號(hào)、黑色”。3.5.2 編輯組件編輯組件Edit和掩碼編輯框和掩碼編輯框MaskEdit2完成圖完成圖3.1中從中從“姓名到姓名到“家庭電話對(duì)應(yīng)編輯組家庭電話對(duì)應(yīng)編輯組件的設(shè)計(jì)工作。件的設(shè)計(jì)工作。設(shè)計(jì)設(shè)計(jì)“姓名組件的步驟如下。姓名組件的步驟如下。(1單擊單擊Standard組件頁(yè)中組件頁(yè)中Edit組件,然后在組件,然后在Panel3中單擊,放置一個(gè)編輯組件。中單擊,放置一個(gè)編輯組件
47、。(2設(shè)置編輯組件的屬性:設(shè)置編輯組件的屬性:Name=Edit_XMCX,Text= ; 組件的命名規(guī)則為:組件名組件的命名規(guī)則為:組件名_拼音。拼音。3.5.2 編輯組件編輯組件Edit和掩碼編輯框和掩碼編輯框MaskEdit3.5.2 編輯組件編輯組件Edit和掩碼編輯框和掩碼編輯框MaskEdit3完成圖完成圖3.1中所有中所有MaskEdit組件設(shè)計(jì)工作組件設(shè)計(jì)工作“日期右邊放置日期右邊放置MaskEdit編輯框,設(shè)置編輯框,設(shè)置Name屬性為屬性為MaskEdit_RQCX,定制日期的輸入格式為,定制日期的輸入格式為“2021-03-26的形式,則可設(shè)置的形式,則可設(shè)置EditMa
48、sk屬性為:屬性為:!9999/99/00;1;_如要定制日期和時(shí)間的輸入格式分別為如要定制日期和時(shí)間的輸入格式分別為“2009年年03月月26日日09時(shí)時(shí)30分分”,則可設(shè)置,則可設(shè)置EditMask屬性為:屬性為:9999年年99月月99日日99時(shí)時(shí)99分分;1;_如要定制貨幣輸入格式分別為如要定制貨幣輸入格式分別為“2500元元9角角5分分”,則可,則可設(shè)置設(shè)置EditMask屬性為:屬性為:9999元元9角角9分分;1;_4事件處理程序事件處理程序在按姓名查詢編輯框中按回車光標(biāo)跳到按學(xué)號(hào)查詢編在按姓名查詢編輯框中按回車光標(biāo)跳到按學(xué)號(hào)查詢編輯框的輯框的OnKeyPress事件處理程序:事
49、件處理程序:procedure TForm_XSDA.Edit_XMCXKeyPress(Sender: TObject; var Key: Char);begin if key=#13 then Edit_XHCX.SetFocus;end;保存工程文件與單元文件,運(yùn)行程序,在保存工程文件與單元文件,運(yùn)行程序,在Edit_XMCX 中輸入文字,回車,觀察變化。中輸入文字,回車,觀察變化。3.5.2 編輯組件編輯組件Edit和掩碼編輯框和掩碼編輯框MaskEdit3.5.3 Memo組件組件 1作用:輸入多行文本;作用:輸入多行文本;2位置:位置:Standard頁(yè)頁(yè)3屬性屬性(1Scroll
50、Bars:ssVertical垂直滾動(dòng)條)垂直滾動(dòng)條); ssHorizontal(水水平滾動(dòng)條平滾動(dòng)條;ssBoth(程度、垂直滾動(dòng)條程度、垂直滾動(dòng)條)。(2MaxLength:最大輸入字符數(shù)。:最大輸入字符數(shù)。(3Lines:Memo組件的行,按組件的行,按“”按鈕,可通過(guò)對(duì)話框按按鈕,可通過(guò)對(duì)話框按行輸入文本,也可通過(guò)行輸入文本,也可通過(guò)Lines屬性用程序動(dòng)態(tài)輸入文本。屬性用程序動(dòng)態(tài)輸入文本。(4WantReturns屬性:為屬性:為True時(shí)按時(shí)按“Enter回車換行;為回車換行;為False,則要用,則要用Ctrl+Enter才能回車換行。才能回車換行。3.5.3 Memo組件組件
51、 4事件與方法事件與方法Lines對(duì)象的對(duì)象的Add、Delete及及Insert方法方法:添加、刪除及插入文本添加、刪除及插入文本行。例如增加、刪除文本行等的代碼如下:行。例如增加、刪除文本行等的代碼如下:Memo1.Lines.Add(This is a new line); /在最后增加一行在最后增加一行Memo1.Lines.Delete(2); /刪除第刪除第3行,行,Memo1.Lines.Insert(1,second line); /在第在第2行插入新行行插入新行Edit1.Text:=Memo1.Lines.Strings2 ; /將第將第3行賦給行賦給Edit1Memo1.
52、Lines.Clear; /將內(nèi)容清除將內(nèi)容清除3.5.4 RichEdit組件組件 1作用:顯示編輯具有豐富文本格式的文件,如作用:顯示編輯具有豐富文本格式的文件,如.rtf文件。文件。在在RichEdit組件中的文字可以有多種字體、多種顏色、字組件中的文字可以有多種字體、多種顏色、字號(hào)、對(duì)齊方式等,就像號(hào)、對(duì)齊方式等,就像Word中的格式文本一樣。中的格式文本一樣。2位置:位置:Win32頁(yè)頁(yè)3屬性屬性(1Lines屬性:與屬性:與Meno組件相同。組件相同。3.6 復(fù)選框和單選按鈕復(fù)選框和單選按鈕3.6.1 CheckBox組件復(fù)選框)組件復(fù)選框)1作用:表示選中、未選中、部分選中三種狀
53、態(tài);作用:表示選中、未選中、部分選中三種狀態(tài);2位置:位置:Standard頁(yè);頁(yè);3屬性:屬性:(1AllowGrayed:True:有:有“選中選中”、“未選中和未選中和“部分選中三種狀態(tài)。部分選中三種狀態(tài)。False:只需:只需“選中選中”、“未選中兩種狀態(tài)。未選中兩種狀態(tài)。(2Checked。True:表示:表示“選中選中”,F(xiàn)alse:“未選中未選中”。(3State。cbChecked:表示:表示“選中選中”;cbUnchecked:表示:表示“未選中未選中”;cbGrayed:表示:表示“部分選中部分選中”。4常用事件:常用事件:OnClick。3.6.2 RadioButton
54、組件單選按鈕)組件單選按鈕)1作用:?jiǎn)芜x鈕顯示一組互斥的選擇;作用:?jiǎn)芜x鈕顯示一組互斥的選擇;2位置:位置:Standard頁(yè);頁(yè);3Checked屬性。屬性。True:選中:選中; False:未選中。:未選中。4使用方法使用方法使用單選按鈕時(shí)先進(jìn)行分組,在同一組中只能同時(shí)選中一使用單選按鈕時(shí)先進(jìn)行分組,在同一組中只能同時(shí)選中一個(gè)按鈕,其余按鈕自動(dòng)取消選中。實(shí)現(xiàn)單選按鈕分組有兩種個(gè)按鈕,其余按鈕自動(dòng)取消選中。實(shí)現(xiàn)單選按鈕分組有兩種方法:方法:(1利用分組框組件利用分組框組件GroupBox和單選按鈕組件和單選按鈕組件RadioButton實(shí)現(xiàn)。實(shí)現(xiàn)。(2利用單選按鈕分組框利用單選按鈕分組框R
55、adioGroup實(shí)現(xiàn)??梢酝▽?shí)現(xiàn)??梢酝ㄟ^(guò)過(guò)ItemIndex屬性來(lái)確定選中哪一個(gè)單選按鈕。屬性來(lái)確定選中哪一個(gè)單選按鈕。3.6 復(fù)選框和單選按鈕復(fù)選框和單選按鈕3.6.3 RadioGroup組件組件1作用:實(shí)現(xiàn)分組按鈕的單項(xiàng)選擇;作用:實(shí)現(xiàn)分組按鈕的單項(xiàng)選擇;2位置:位置:Standard頁(yè);頁(yè);3屬性:屬性:(1Columns屬性:設(shè)置屬性:設(shè)置RadioButton列數(shù)。它的取值范列數(shù)。它的取值范圍從圍從1到到16,默認(rèn)為,默認(rèn)為1。(2Items屬性:是屬性:是Strings數(shù)組,用于編輯各數(shù)組,用于編輯各RadioButton旁邊的文字提示。旁邊的文字提示。(3ItemIndex
56、屬性:表示當(dāng)前被選中的屬性:表示當(dāng)前被選中的RadioButton的的序號(hào),序號(hào)從序號(hào),序號(hào)從0開始。開始。ItemIndex的默認(rèn)值為的默認(rèn)值為-1,表示所有的,表示所有的RadioButton均未被選中。均未被選中。3.6 復(fù)選框和單選按鈕復(fù)選框和單選按鈕例例3.2 “學(xué)生檔案管理系統(tǒng)界面設(shè)計(jì)學(xué)生檔案管理系統(tǒng)界面設(shè)計(jì)復(fù)選框與單選按鈕復(fù)選框與單選按鈕組件設(shè)計(jì)。組件設(shè)計(jì)。1復(fù)選框復(fù)選框(1放置組件:放置組件:Panel3的右邊放置的右邊放置2個(gè)個(gè)CheckBox組件組件(2設(shè)置屬性設(shè)置屬性Name :CheckBox_bj;Caption=“顯示班級(jí)名稱顯示班級(jí)名稱”;Checked屬性為屬性
57、為True。Name :CheckBox_xb;Caption=“顯示所屬系部顯示所屬系部”;Checked屬性為屬性為False。3.6 復(fù)選框和單選按鈕復(fù)選框和單選按鈕2單元選按鈕單元選按鈕(1放置組件:放置組件:Panel3的右邊放置的右邊放置2個(gè)個(gè)RadioGroup組件。組件。(2設(shè)置屬性:設(shè)置屬性:Name=RadioGroup_xq;Caption=“選擇選擇校區(qū)校區(qū)”;在對(duì)象監(jiān)視器的在對(duì)象監(jiān)視器的Items屬性欄,單擊屬性欄,單擊“”號(hào),在號(hào),在“String List Editor對(duì)話框中輸入如圖所示的三行文字;設(shè)置對(duì)話框中輸入如圖所示的三行文字;設(shè)置ItemIndex屬性值
58、為屬性值為0。同樣方法設(shè)計(jì)。同樣方法設(shè)計(jì)“選擇學(xué)生類別單選選擇學(xué)生類別單選鈕組。鈕組。3.6 復(fù)選框和單選按鈕復(fù)選框和單選按鈕3編寫單選按鈕事件編寫單選按鈕事件procedure TForm_XSCX.RadioGroup_XQClick(Sender: TObject);begin if RadioGroup_XQ.ItemIndex=0 then Edit_XQ.Text:=中橋中橋 else if RadioGroup_XQ.ItemIndex=1 then Edit_XQ.Text:=梅園梅園 else if RadioGroup_XQ.ItemIndex=2 then Edit_XQ
59、.Text:=濱湖濱湖;end;3.6 復(fù)選框和單選按鈕復(fù)選框和單選按鈕procedure TForm_XSCX.RadioButton_ZXClick(Sender: TObject);begin if RadioButton_ZX.Checked then Edit_LB.Text:=在校在校 else if RadioButton_BY.Checked then Edit_LB.Text:=畢業(yè)畢業(yè) else if RadioButton_XX.Checked then Edit_LB.Text:=休學(xué)休學(xué);end;3.6 復(fù)選框和單選按鈕復(fù)選框和單選按鈕3.7.1 ListBox組件組
60、件1作用:提供項(xiàng)目列表供選擇,如打開文件操作時(shí)顯示作用:提供項(xiàng)目列表供選擇,如打開文件操作時(shí)顯示文件列表的就是文件列表的就是ListBox。2位置:位置:Standard頁(yè);頁(yè);3屬性:屬性:(1Items屬性:是屬性:是TStrings數(shù)組,表示數(shù)組,表示ListBox選項(xiàng)對(duì)應(yīng)選項(xiàng)對(duì)應(yīng)的字符串。的字符串。用用ListBox1.Items0表示表示ListBox1中的第中的第1項(xiàng)選字符串。項(xiàng)選字符串。Items類可以使用的方法有增加項(xiàng)類可以使用的方法有增加項(xiàng)Append、插入項(xiàng)、插入項(xiàng) Insert、刪除項(xiàng)刪除項(xiàng)Delete、統(tǒng)計(jì)項(xiàng)數(shù)、統(tǒng)計(jì)項(xiàng)數(shù) Count、清除、清除Clear等。等。3.7
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制造業(yè)項(xiàng)目標(biāo)準(zhǔn)合同模板
- 合同制優(yōu)化保獎(jiǎng)服務(wù)套餐(7型)
- 裝修裝飾工程合同(三)
- 綠色通道綠化合同
- 租賃合同和解協(xié)議書格式示例
- 車輛質(zhì)押借款正式合同
- 公司簽訂安保人員合同范本范例
- 小學(xué)生拓展思維作文課件
- 臨終關(guān)懷服務(wù)的倫理決策案例考核試卷
- 城市配送與物流配送環(huán)節(jié)的風(fēng)險(xiǎn)防范考核試卷
- 大樹移栽合同范本
- 柔性印刷技術(shù)探索-深度研究
- 文化差異下的教育國(guó)外的小學(xué)音樂教育方式探討
- 2025年無(wú)錫科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 七年級(jí)語(yǔ)文上冊(cè)課后習(xí)題參考答案
- 第四單元《紙的前世今生》第一課時(shí)(說(shuō)課稿)-2023-2024學(xué)年五年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)粵教版
- 四川省綿陽(yáng)市2025屆高三第二次診斷性考試英語(yǔ)試題(含答案無(wú)聽力原文及音頻)
- 八大員-勞務(wù)員??荚囶}與答案
- 2024危重癥患兒管飼喂養(yǎng)護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)課件
- 脫硫自動(dòng)化控制-洞察分析
評(píng)論
0/150
提交評(píng)論