




已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第1章窗體設計技法在任何一個應用系統(tǒng)中,如果要實現(xiàn)人機交流,基本上都是通過界面來實現(xiàn)的。本章將主要介紹窗體設計及應用的各種技法。1.1 窗體的功能分類窗體是目前管理系統(tǒng)中應用最為廣泛的一種人機交流方式,通過窗體可以查詢需要的數(shù)據(jù),錄入相應的信息,還可以實現(xiàn)對系統(tǒng)進行設置。例如,我們常用的Word就是一個用于編輯文檔的窗體,不僅可以實現(xiàn)編輯文檔,而且可以對文檔的格式進行設置和修改,這些功能都是通過窗體來實現(xiàn)的。根據(jù)窗體在實際中的應用,按其功能可簡略分為3類:主窗體、文檔編輯類窗體和對話框類窗體。 主窗體主要用于管理其他窗體,如通過菜單欄或工具欄中的命令來打開其他窗體。對于一個工程來說,主窗體就是這個工程的主要管理部分。 文檔編輯類窗體主要用于編輯文檔。 對話框類窗體在這里是指所有通過文本框進行錄入,以及通過其他控件進行設置的窗體,這是一個籠統(tǒng)的說法,也可以說包括了所有可實現(xiàn)人機對話的窗體。我們在這一節(jié)對窗體進行分類,是為了便于對其技法的整理和介紹。本章主要介紹工程及窗體的創(chuàng)建和設置技法以及窗體的打開與關閉技法。對窗體的功能實現(xiàn)將在后面的章節(jié)介紹。1.2 主窗體的創(chuàng)建技法在開發(fā)的管理系統(tǒng)中,多數(shù)情況下都有一個主窗體用來管理系統(tǒng)內(nèi)的各個界面。這里把主窗體的創(chuàng)建技法分為兩種情況來介紹:一種是常規(guī)主窗體的創(chuàng)建,另一種是多文檔主窗體(MDI)的創(chuàng)建。1.2.1 常規(guī)主窗體的創(chuàng)建技法這里說的常規(guī)主窗體是在管理系統(tǒng)中較為常用的一種窗體,只用于調(diào)用系統(tǒng)內(nèi)各個窗體。這類主窗體可使用兩種技法進行創(chuàng)建,一種是通過自定義的方法創(chuàng)建,另一種是通過向?qū)У姆椒ㄟM行創(chuàng)建。1自定義創(chuàng)建技法自定義創(chuàng)建主窗體法是指根據(jù)應用程序的需要,手動向窗體中添加各種組件,如菜單組件、工具欄組件、狀態(tài)欄組件等。我們通過一個實例來說明此種技法的使用方法,圖1-1為該實例的設計圖?!炯挤ㄒ蟆肯虼绑w中手動添加組件(如菜單、工具欄等組件),根據(jù)自己的需要來設計主窗體的布局和顏色。下面將簡單介紹一下一般主窗體的設計步驟及方法。 啟動Delphi后,通常都有一個默認的應用程序窗體,我們也可以執(zhí)行FileNewApplication命令創(chuàng)建應用程序。 設置主窗體標題。即窗體Form1的Caption屬性值,如“圖書信息管理系統(tǒng)”。 設置主窗體圖標。單擊窗體Form1的屬性Icon行的按鈕,彈出Picture Editor對話框,如圖1-2所示,在該對話框中可加載窗體Form1所需要的圖標。 圖1-1圖1-2 通過Form1的Color屬性可設置窗體的背景色,WindowState屬性可設置系統(tǒng)啟動的主窗體的初始狀態(tài),例如設置wsMaximized,則在系統(tǒng)啟動后主窗體處于最大狀態(tài)。 向Form1窗體中添加菜單組件MainMenu,并根據(jù)需要設置菜單項,菜單項的設置和使用方法請參考第3.2節(jié)的內(nèi)容。 向窗體Form1中添加工具欄組件ToolBar,并根據(jù)需要添加按鈕,工具欄中按鈕的添加與設置方法請參考第3.3節(jié)的內(nèi)容。 主窗體設置完成后,可以在工具欄中單擊按鈕來添加其他窗體。 保存應用程序,其工程文件的格式為dpr,單元文件的格式為pas。讀者可以根據(jù)自己的愛好進一步美化主窗體,如設置背景圖片、文字字幕(可參考第6章)等,還可以在標題欄中動態(tài)改變標題以動態(tài)顯示時間。例如,如果要在圖1-1中動態(tài)顯示系統(tǒng)時間,可在窗體Form1中添加定時器組件Timer,并通過OnTimer事件來實現(xiàn),其代碼如下。procedure TForm1.Timer1Timer(Sender: TObject);begin form1.Caption:=圖書信息管理系統(tǒng)+ 現(xiàn)在是:+timetostr(time);end;讀者還可以通過許多方法來美化主窗體,上面的代碼僅供參考,這里就不再一一介紹。2使用向?qū)?chuàng)建技法使用向?qū)Х▌?chuàng)建應用程序主窗體是一種較為快捷的方法,可根據(jù)不同的需要通過向?qū)Ы缑娑ㄖ撇藛?。下面通過一個小實例來說明使用向?qū)?chuàng)建主窗體的方法,圖1-3為該實例設計圖?!炯挤ㄒ蟆渴褂孟?qū)?chuàng)建主窗體。下面是使用向?qū)?chuàng)建主窗體的一般步驟。 在Delphi界面中執(zhí)行FileNewOther命令或在工具欄中單擊按鈕,打開New Items窗口,并切換到Projects選項卡,如圖1-4所示。 圖1-3圖1-4 在Projects選項卡中選擇Application Wizard項,并單擊OK按鈕,彈出Application Wizard窗口,如圖1-5所示,在該窗口中可設置主窗體所需要的系統(tǒng)菜單項。 在圖1-5中選擇菜單項后,如果選擇File menu項,則單擊Next按鈕后,進入打開與保存對話框中默認文件格式設置窗口,如圖1-6所示。在該窗口中單擊Add按鈕后,彈出文件擴展名設置對話框,在Desciption文本框中設置文件擴展名描述信息,在Extension(s)文本框中設置擴展名,然后單擊OK按鈕。 在圖1-6中設置完成后,單擊Next按鈕進入工具欄按鈕設置窗口,如圖1-7所示。如果在圖1-5中不選擇File menu項,可直接進入此窗口。在該窗口中的菜單列表中選擇需要向工具欄中添加的菜單項,然后單擊Insert按鈕即可。圖1-5圖1-6圖1-7如果要刪除按鈕可在工具欄預覽框中選擇相應的按鈕,然后單擊Remove按鈕。若單擊Space按鈕則添加分隔線。 在圖1-7中單擊Next按鈕進入存儲路徑及其他項設置窗口,如圖1-8所示,在該窗口中的第一個文本框中可設置應用程序的名稱,單擊Browse按鈕設置應用程序保存的路徑。如果選擇Create MDI application復選框則為多文檔應用程序;如果選擇Create a status line復選框則在主窗體中添加狀態(tài)欄;如果選擇Enable hints復選框則顯示相應的提示。圖1-8 單擊Finish按鈕即可保存應用程序,并顯示自動生成的界面,如圖1-3所示。從圖1-3中可了解到,使用向?qū)?chuàng)建法生成的主窗體多數(shù)用于創(chuàng)建文檔型應用程序的主窗體,如果我們開發(fā)的是某個管理系統(tǒng),則多數(shù)使用自定義法創(chuàng)建主窗體。1.2.2 MDI主窗體的創(chuàng)建技法MDI主窗體與常規(guī)主窗體的區(qū)別是窗體的風格不同,在常規(guī)主窗體中打開的其他窗體單獨存在,而在MDI主窗體中打開的其他窗體則顯示在MDI主窗體的內(nèi)部,MDI主窗體就像一個容器用于存放其他窗體。本小節(jié)將主要介紹創(chuàng)建MDI主窗體的各種技法。1自定義創(chuàng)建技法自定義創(chuàng)建MDI主窗體主要體現(xiàn)在對主窗體的屬性設置,而它的創(chuàng)建方法與常規(guī)主窗體的創(chuàng)建方法基本相同。因此我們在圖1-1的基礎上來介紹自定義MDI主窗體的創(chuàng)建技法,下面是修改的方法及MDI窗體運行后的效果。 打開圖1-1的應用程序,設置主窗體Form1的FormStyle屬性為fsMDIForm。 創(chuàng)建一子窗體。單擊按鈕添加一窗體Form2,如圖1-9所示,其屬性FormStyle設置為fsMDIChild,其他屬性請讀者自己設置。 運行程序后,F(xiàn)orm2窗體只能在Form1窗體內(nèi)部移動,圖1-10為MDI主窗體的效果。MDI主窗體中打開與關閉其子窗體的功能實現(xiàn)代碼與常規(guī)窗體有些不同,其功能具體實現(xiàn)請參考1.4節(jié)的內(nèi)容。 圖1-9圖1-102使用模板創(chuàng)建MDI窗體技法使用模板創(chuàng)建的MDI應用程序采用了系統(tǒng)默認的菜單和工具欄,在創(chuàng)建后還需要根據(jù)我們應用的實際情況進行修改。而且使用模板創(chuàng)建的MDI應用程序還提供部分功能,如新建、保存等功能。下面簡單介紹一下使用模板創(chuàng)建MDI應用程序的一般步驟。 在工具欄中單擊按鈕打開New Items窗口,并切換到Projects選項卡,如圖1-4所示。 在該選項卡中選擇MDI Application項,并單擊OK按鈕,彈出存放路徑設置對話框,如圖1-11所示。 路徑設置完成后,單擊OK按鈕即可創(chuàng)建MDI應用程序,其最終界面如圖1-12所示。下一步就可以使用用模板創(chuàng)建的MDI應用程序,然后再根據(jù)需要對菜單及其工具欄進行修改。這里我們重點看一下圖1-12中新建和打開功能實現(xiàn)的代碼,對我們自定義創(chuàng)建MDI應用程序時非常有幫助。我們先看一下新建功能實現(xiàn)的代碼,它通過自定義CreateMDIChild過程來創(chuàng)建子窗體,而新建命令只調(diào)用定義的過程即可,請看下面的代碼。 圖1-11圖1-12procedure TMainForm.CreateMDIChild(const Name: string);var Child: TMDIChild;begin create a new MDI child window Child := TMDIChild.Create(Application); /新建子窗體 Child.Caption := Name; /定義子窗體名稱 if FileExists(Name) then /實現(xiàn)打開文件Child.Memo1.Lines.LoadFromFile(Name);end;procedure TMainForm.FileNew1Execute(Sender: TObject);begin /調(diào)用新建子窗體過程,并返回子窗體名稱 CreateMDIChild(NONAME + IntToStr(MDIChildCount + 1);end;在圖1-12中,打開功能實現(xiàn)的代碼如下。procedure TMainForm.FileOpen1Execute(Sender: TObject);begin if OpenDialog.Execute then /選擇并打開文件 CreateMDIChild(OpenDialog.FileName);end;1.2.3 應用程序設置在開發(fā)應用程序中,可以根據(jù)需要來重新設置應用程序的主窗體以及應用程序的標題、圖標和版本信息等。1定義主窗體及不可用窗體對創(chuàng)建的應用程序,可以根據(jù)需要修改其主窗體,下面以圖1-10為例來介紹如何重新定義應用程序的主窗體。執(zhí)行ProjectOptions命令,打開Project Options對話框,并切換到Forms選項卡,如圖1-13所示。在Forms選項卡的Main form下拉列表框中可重新選擇應用程序的主窗體。在Auto-create forms列表中顯示了當前應用程序的所有可用窗體,在Available forms列表中當前應用程序中不可用的窗體。圖1-13對于常規(guī)的應用程序,在運行程序后只顯示主窗體而不會顯示其他窗體。對于MDI應用程序除了主窗體外,還包括所有可用的子窗體,因此如果不想在運行程序后顯示MDI應用程序的子窗體,把它添加到Auto-create forms列表即可,如Form2。2設置應用程序圖標及標題在開發(fā)應用程序時,通常都要為應用程序設置一個圖標及標題,圖標是可執(zhí)行文件的圖標,標題則是顯示在操作系統(tǒng)任務欄中。在圖1-13中切換到Application選項卡,如圖1-14所示。在Title文本框中輸入當前應用程序的標題,單擊Load Icon按鈕則可為應用程序選擇適當?shù)膱D標。3設置版本信息對一個應用程序的版本信息可在Project Options對話框的Version Info選項卡中進行設置,如圖1-15所示。對圖中各項這里就不再詳細說明,若有興趣可參考其他相關書籍。 圖1-14圖1-151.3 其他窗體的創(chuàng)建技法除了主窗體外,還需要許多其他窗體,以便使應用程序?qū)崿F(xiàn)人機交互。本節(jié)將簡單介紹這類窗體的各種創(chuàng)建技法。1.3.1 子窗體的創(chuàng)建技法這里的子窗體是指除主窗體之外的其他窗體,這些窗體的創(chuàng)建多數(shù)都可使用模板和自定義兩種技法來實現(xiàn),如普通對話框類窗體等。 1使用模板創(chuàng)建子窗體使用模板創(chuàng)建子窗體較為方便,有些模板還提供實現(xiàn)某些功能的代碼,我們只要稍作修改即可使用,請看下面一個小實例,該實例是使用模板創(chuàng)建一個列表選擇的對話框,其實現(xiàn)步驟如下。 在Delphi的工具欄中單擊按鈕,打開New Items對話框并切換到Forms選項卡,如圖1-16所示。 選擇Dual list box項,并單擊OK按鈕即可創(chuàng)建窗體,如圖1-17所示。 修改窗體的Caption屬性值為“列表選擇對話框”,并分別修改兩個Label組件的Caption屬性為“源列表”和“目標列表”。 圖1-16圖1-17 選擇左邊列表框,并在屬性面板中選擇Items屬性,并單擊其按鈕,彈出String List Editor對話框,在該對話框中可修改該列表中顯示的數(shù)據(jù),然后單擊OK按鈕即可,修改后數(shù)據(jù)如圖1-18所示。 在圖1-17中的“”、“”和“”4個按鈕功能實現(xiàn)的代碼在模板中已經(jīng)提供,因此我們只需要修改左邊列表中數(shù)據(jù)即可使用。圖1-19為該實例運行后的效果。 圖1-18圖1-19如果使用“目標列表”中的數(shù)據(jù),還需要對OK按鈕實現(xiàn)的功能編輯代碼,這不屬于本章的內(nèi)容,請讀者根據(jù)所使用的環(huán)境參考第2章的相關內(nèi)容。除了在Forms選項卡中圖1-19所示的窗體創(chuàng)建外,還提供了About box窗體和Tabbed pages窗體。在Dialogs選項卡中提供各種對話框窗體的模板,這些模板在使用時需要添加相應組件及其功能實現(xiàn)的代碼。請讀者自己嘗試著創(chuàng)建,這里就不再一一說明。2自定義法創(chuàng)建子窗體自定義創(chuàng)建子窗體是指在一個空白窗體中根據(jù)需要添加組件,這種技法應用靈活,可設計出極具個性的窗體。下面通過一個小實例來說明自定義創(chuàng)建窗體的方法,該實例是用戶設置密碼的界面,圖1-20為該實例的設計圖。圖1-20下面是該實例中子窗體創(chuàng)建的一般步驟。 在當前應用程序中單擊工具欄中的按鈕,創(chuàng)建窗體Form2,設置其Caption屬性為“密碼設置”,BorderStyle為bsDialog,Color為clSkyBlue,Position為poScreenCenter,并調(diào)整窗體的寬和高。 在Form2窗體中添加Panel組件,并放置到適當?shù)奈恢?,并調(diào)整其寬和高,設置其屬性BevelInner和BevelOuter都為bvLowered,Color為clGradientActiveCaption。 在Panel組件中添加3個Label組件,其Caption屬性值如圖1-20中所示。 在Panel組件中添加3個Edit組件,其中Edit2和Edit3的PasswordChar屬性值設置為*。 在Form2窗體中添加兩個Button組件,其中Button1組件的Caption屬性設置為“確定”,Button2組件的Caption屬性設置為“取消”。 密碼設置窗體界面設計已經(jīng)完成,隨后就編輯其他功能實現(xiàn)的代碼,請讀者參考第2章相關內(nèi)容,來完成代碼編輯,這里就不再詳細介紹了。使用自定義法創(chuàng)建窗體,無非是在一個空白的窗體中添加各種需要的組件,再設置其屬性以達到美化界面的目的。1.3.2 使用向?qū)?chuàng)建數(shù)據(jù)瀏覽窗體在管理系統(tǒng)中,數(shù)據(jù)窗體也是最為常用的一種界面,它主要用于管理和瀏覽數(shù)據(jù)表中的數(shù)據(jù)。數(shù)據(jù)窗體可通過自定義和向?qū)煞N技法來實現(xiàn),其中自定義創(chuàng)建窗體也是向空白窗體中添加組件,這里就不再介紹了。本節(jié)將重點介紹如何使用向?qū)?chuàng)建數(shù)據(jù)瀏覽窗體,下面是使用向?qū)?chuàng)建數(shù)據(jù)瀏覽窗體的一般步驟。 在當前應用程序中,執(zhí)行DatabaseForm Wizard命令,打開Database Form Wizard對話框,如圖1-21所示,在該對話框中的Form Options組中選擇創(chuàng)建窗體的樣式,在DataSet Opeions組件中選擇在數(shù)據(jù)窗體中使用的數(shù)據(jù)組件。圖1-21 設置完成后,單擊Next按鈕進入數(shù)據(jù)表選擇界面,如圖1-22所示,在該界面中可選擇需要的數(shù)據(jù)表應用在窗體中。圖1-22 數(shù)據(jù)表設置完成后,單擊Next按鈕,進入字段設置界面,如圖1-23所示,在該界面中可設置將在窗體中顯示的字段。圖1-23 單擊圖1-23中的Next按鈕,進入字段在窗體中的布局設置界面,如圖1-24所示,在該界面中提供了三種字段布局方式,其中Horizontally表示字段在窗體中水平對齊放置,Vertically表示字段在窗體中垂直對齊放置,In a grid表示字段數(shù)據(jù)通過表格顯示。圖1-24 字段布局方式設置完成后,單擊Next按鈕進入標簽位置設置界面,如圖1-25所示,在該界面中Left表示標簽放置在文本框的左邊,Top表示標簽放置在文本框的右邊。圖1-25 窗體布局設置完成后,單擊Next按鈕進入數(shù)據(jù)窗體向?qū)瓿山缑妫鐖D1-26所示,在該界面中如果選擇Generate a main form復選框,則產(chǎn)生的窗體將作為當前應用程序的主窗體,如果選擇Form and DataModule項,將產(chǎn)生一個窗體和一個數(shù)據(jù)模塊,本例選擇如圖1-26中所示。圖1-26 在圖1-26中單擊Finish按鈕,將生成如圖1-27所示的窗體,該窗體中的組件放置有些凌亂,我們需要重新調(diào)整各組件的位置,并修改該窗體及其組件的屬性。圖1-27 修改Form2的Caption屬性值為“數(shù)據(jù)瀏覽窗口”,并重新調(diào)整各組件的位置,然后運行程序并測試其效果,如圖1-28所示。圖1-28使用向?qū)?chuàng)建數(shù)據(jù)窗體,多數(shù)用于簡單的數(shù)據(jù)瀏覽,而且界面樣式固定,對于較為復雜的數(shù)據(jù)瀏覽就不太適合。因此建議讀者自己動手設計窗體,既可增強自己的熟練程度,也可設計出有特色的界面。1.4 窗體的打開與關閉技法窗體的打開與關閉可分為兩種情況:一種是可用窗體的打開與關閉,另一種是不可用窗體的打開與關閉。在圖1-13中左邊列表中的窗體為當前應用程序的可用窗體,右邊列表中的窗體為當前窗體中的不可用窗體,本節(jié)將介紹這兩種情況的窗體打開與關閉的技法。1.4.1 可用窗體的打開與關閉當應用程序運行時,其他看不到的可用窗體其實并沒有真正關閉,只是以某種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年甘肅白銀市初中學業(yè)水平考試生物試卷真題(含答案詳解)
- 初中語文名著閱讀教學中的情感體驗與價值引領研究論文
- 藝考生集訓管理制度
- 蘇聯(lián)式戶口管理制度
- 茶水間就餐管理制度
- 融資租賃的會計處理和稅務處理
- 萍鄉(xiāng)市幼兒園教師招聘幼兒考試試題及答案
- 邯鄲叢臺小學語文五班班級學習簡報第5期
- 服裝導購技巧實戰(zhàn)培訓
- 設備租賃合同書
- 鋼琴課件教學課件
- 國家開放大學《四史通講》形考作業(yè)1-3+大作業(yè)試卷ABC答案
- 電氣施工管理
- 【MOOC】天文探秘-南京大學 中國大學慕課MOOC答案
- FES手冊完整版本
- 云南省保山市(2024年-2025年小學六年級語文)部編版小升初模擬((上下)學期)試卷及答案
- 2024年西藏初中學業(yè)水平考試地理卷試題真題(含答案解析)
- 2024年廣西職業(yè)院校技能大賽高職組《供應鏈管理》賽項規(guī)程
- 一年級口算題卡大全(80套口算練習題直接打印版)
- 手術室儀器設備管理制度
- 高速列車安全性能提升
評論
0/150
提交評論