單元二、基本的windows程式
2.1 選單製作
-
- 開啟一個新個專案,選取 File|New Application。
- 加入MainMenu元件。
- 雙擊MainMenu元件以開啟選單設計工具。
- 加入選項的方法:(以製作檔案選單為例)
-
- 輸入選單的名稱:於Caption處填入『檔案(&F)』,將特性Name處改為「miFile1」。
- 接著點選選單設計工具中檔案下方的新方塊,於Caption處填入『開新檔案(&N)』,將特性Name處改為「miNew1」。
- 設計選單時常用的按鍵
- Ins鍵:在選單的左側或選項的上方加入一個新的選項。
- Del鍵:刪除目前的選項。
- Ctrl+Del鍵:刪除一個空白的選項。
- Ctrl+→鍵:插入一個新的巢狀選單。
- 依上面步驟繼續完成下表的檔案選單。
Caption | Name | ShortCut |
檔案(&F) | miFile1 | |
開新檔案(&N) | miNew1 | |
開啟舊檔(&O) | miOpen1 | Ctrl+O |
儲存檔案(&S) | miSave1 | Ctrl+S |
另存新檔(&A) | miSaveAs1 | Ctrl+A |
- | N1 | |
列印(&P) | miPrint1 | Ctrl+P |
印表機設定…(&R) | miPrisntSetup1 | |
- | N2 | |
結束(&X) | miExit1 | Ctrl+X |
-
- 指定加速鍵(Accelerator key):在該快速鍵的字母前加上「&」符號,例如:檔案(&F)。
-
- 指定快捷鍵(Shortcut):在選項的ShortCut特性中指定按鍵組合。
- 指定分隔線:在Caption特性中輸入「-」。
-
- 從樣版中插入選單:按滑鼠右鍵,選「Insert From Template…」。我們可以先插入樣版中的選項後,再增減選項來符合我們的需要。
- 製作其他選單
-
- 於檔案選單右邊加編輯選單。在選單設計工具中,按滑鼠右鍵,選「Insert From Template…」,然後選「編輯功能表」按OK插入。
- 於編輯選單右邊加檢視選單,並按下表加入兩個選項。
Caption | Name | Checked |
顯示工具列(&T) | miViewToolsBar | True |
顯示狀態列(&S) | miViewStatusBar | True |
- 於檢視選單右邊加說明選單。
- 關閉選單設計工具。
2.2 製作工具列
2.2.1 傳統方法製作工具列
-
- 加入Bevel元件(在Additional頁次或由Alt_VL開啟component list視窗),Align = alTop,Height=4,Shape = bsTopLine。
- 加入Panel元件,Align = alTop,BevelOut = bvNone,清除Caption。
- 加入ScrollBox,Align = alClient,Color = clWindow。
- 加入8個SpeedButton,並按照下表更改其特性。其中Glyph特性所需的BMP檔可以在 Delph 3/Images/Buttons目錄中找到。
Name | Left | Top | Enabled | Glyph |
sbNew | 0 | 2 | True | FILENEW.BMP |
sbOPen | 25 | 2 | True | FILEOPEN.BMP |
sbSave | 50 | 2 | True | FILESAVE.BMP |
sbCut | 85 | 2 | False | CUT.BMP |
sbCopy | 110 | 2 | False | COPY.BMP |
sbPaste | 135 | 2 | False | PASTE.BMP |
sbPrint | 170 | 2 | True | PRINT.BMP |
sbHelp | 195 | 2 | True | HELP.BMP |
2.2.2 使用工具列元件製作工具列
-
- 加入ToolBar。
-
- 按鈕共有下面五種,其差別在於Style特性不同。
- Button (Style = tbsButton): 一般按鈕。
- Separator:不會對滑鼠產生反應。
- Divider:類似Separator,用來在按鈕間畫出分隔線。
- Check:按下時會停再按下的狀態。
- DropDown:按下時會把DropdownMenu所指定的選單顯示出來。
-
- 按右鍵選New Button來製作按鈕。使用New Button加入三個Button、一個Separator,然後在三個Button、一個Separator,最後在兩個Button。
- 將工具列的Flat特性設成True。(此為新式按鈕的設定,當滑鼠經過按鈕時會自動將匡邊顯示出來)
- 加入ImageList元件。
- 雙擊ImageList來啟動ImageList編輯器,將前面八個按鈕的圖像依序加入。。(當編輯器要求將其分成兩個圖檔時,回答要,然後將無作用之圖形刪除)
- 將此ImageList指定到工具列的Image特性中。
- 將Cut、Copy、Paste這三個Button的Enabled特性設成False。
2.3 製作狀態列
-
- 將ScrollBox的Align改為alNone,將其往上移一點,留出空間給StatusBar用。然後加入StatusBar元件。
- 把ScrollBox的Align回復為alClient。
-
- 在物件檢視器中找到StatusBar的Panels,雙擊右側的省略按鈕,將出現一個Status Panels Editor對話方塊。
- 連續按五次Add按鈕,將第一個區塊的寬度設成250,其餘50,前四個區塊的Text分別設為「Ready」、「Num」、「Cap」和「Scrl」。
2.4 回應Windows的事件
- 撰寫事件處理程序:先找到該事件相關的物件,然後找到要處理的事件,最後在該事件處加上所要處理的程式碼。步驟如下:
-
- 選取要處理的元件。
- 到Event頁次找到要處理的事件,雙擊右側的特性欄。此時,Delphi將自動產生事件處理程序的頭尾,並在該類別的宣告部份加上一行該處理程序的宣告。
- 加入該處理程序的程式碼。
2.4.1為檔案選單結束選項加上事件處理程序
-
- 開啟選單設計工具,選取結束的選項。
- 在Events頁次選到OnClick事件,雙擊右邊的空白處以產生事件處理程序。
- 在該程序中加入表格物件的Close方法。
Procedure TForm1.Exit1Click(Sender: TObject); Begin Close; end; |
- 執行程式。
2.4.2檢視選單的事件處理程序
- 在選單設計工具中找到檢視選單,雙擊第一個項目『顯示工具列』。
- 加入下面的程式碼
Procedure TForm1.miViewToolsBarClick(Sender: TObject); Begin // 反向調整顯示工具列的選項 miViewToolsBar.Checked := not miViewToolsBar.Checked; // 按所選取的方式, 來決定是否顯示工具列 ToolBar1.Visible := miViewToolsBar.Checked; End; |
-
- 執行程式,選取檢視|顯示工具列試試。
-
- 用同樣的方法為檢視|顯示狀態列加上處理的程式碼。
2.4.5 Delphi提供的輔助編輯工具:Code Insight
- Code Completion:當輸入物件的名稱後,再輸入句點,稍待一會兒,Delphi會列出一個方塊顯示這個物件所有的特性、方法和事件。
-
- Code Parameters:在輸入方法的呼叫時,在輸入左括弧後,稍待一會兒,Delphi會列出一個方塊顯示該方法之所有參數及其型態。
-
- Code Template:按Ctrl+j鍵,Delphi會列出所有已經定義好的程式碼樣版。