?? 005.htm
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基礎教程-->第一章 Delphi快速入門(五)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基礎教程 第一章 Delphi快速入門(五)">
<META NAME="description" CONTENT=" - DELPHI基礎教程 - 第一章 Delphi快速入門(五)">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" bgcolor="#e0e0e0"><strong><A HREF="006.htm"><FONT style="FONT-SIZE: 9pt">后一頁</font></A><BR>
<A HREF="004.htm"><FONT style="FONT-SIZE: 9pt">前一頁</font></A><BR>
<A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR>
<A HREF="../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首頁</font></A><BR>
</strong>
</TD>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">第一章 Delphi快速入門(五)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p>1.4.3.1 <font face="宋體" lang="ZH-CN">調用標準對話框 </p>
</font><p><font face="宋體" lang="ZH-CN">
您可以發現,除了</font>Font,Find,Replace<font face="宋體" lang="ZH-CN">對話框之外,其余標準對話框的</font>Events<font
face="宋體" lang="ZH-CN">頁都是空白的。因為它們本身是不可視的對話框形式,所以不能響應標準的鼠標鍵盤操作,只能在程序中調用它們。在本章第一節的</font>Demo<font
face="宋體" lang="ZH-CN">程序中,我們已經對用</font>Color<font face="宋體"
lang="ZH-CN">對話框有了了解,在程序的適當位置加入對話框所屬的</font>Execute<font
face="宋體" lang="ZH-CN">方法,可以執行標準對話框。</font></p>
<p><font face="宋體" lang="ZH-CN">
在編制應用程序時,您可以先設計好主菜單。在需要使用標準對話框的菜單項的事件處理過程中,調用標準對話框的</font>Execute<font
face="宋體" lang="ZH-CN">等方法,以滿足設計需求,即響應菜單命令彈出標準對話框。 </font></p>
<p>1.4.3.2 OpenDialog<font face="宋體" lang="ZH-CN">和</font>SaveDialog<font
face="宋體" lang="ZH-CN">部件 </p>
</font><p> OpenDialog(<font face="宋體"
lang="ZH-CN">文件的打開</font>)<font face="宋體" lang="ZH-CN">和</font>SaveDialog(<font
face="宋體" lang="ZH-CN">保存對話框</font>)<font face="宋體" lang="ZH-CN">部件處理文件的打開與存儲,它們擁有完全相同的屬性域。</font>DefaultExt<font
face="宋體" lang="ZH-CN">屬性表示缺省擴展名。當用戶沒有輸入文件的后綴時,可以為用戶文件自動加擴展名。</font>FileName<font
face="宋體" lang="ZH-CN">屬性指定出現在</font>FileName<font face="宋體"
lang="ZH-CN">正文框中的缺省文件名。</font>Filter<font face="宋體"
lang="ZH-CN">屬性提供了文件過濾器。</font>FileEditStyle<font face="宋體"
lang="ZH-CN">決定在輸入文件名時用</font>Edit<font face="宋體" lang="ZH-CN">還是</font>Combo-
Box<font face="宋體" lang="ZH-CN">;設置為</font>fsComboBox<font face="宋體"
lang="ZH-CN">時,允許使用歷史列表</font>HistoryList<font face="宋體"
lang="ZH-CN">屬性,這在應用程序需要經常選擇文件時,可以節約大量的時間。</font>HistoryList<font
face="宋體" lang="ZH-CN">屬性保存有在</font>File Name<font face="宋體"
lang="ZH-CN">下拉式編輯框中顯示的文件名,使用</font>[TStrings]<font
face="宋體" lang="ZH-CN">的省略按鈕可以編輯歷史列表。您也可以編程實現將</font>HistoryList<font
face="宋體" lang="ZH-CN">屬性設為以前用</font>OpenDialog<font face="宋體"
lang="ZH-CN">打開的文件名歷史列表。下列程序段可以實現自動歷史文件名加載: </p>
</font><p>if OpenDialog1.Execute then</p>
<p>OpenDialog1.HistoryList.Insert(0,OpenDialog1.FileName); </p>
<p>1.4.3.3 ColorDialog<font face="宋體" lang="ZH-CN">和</font>FontDialog </p>
<p><font face="宋體" lang="ZH-CN"> 顏色對話框</font>ColorDialog<font
face="宋體" lang="ZH-CN">我們在前文的例程中已經用過,其更詳細的功能如</font>Options<font
face="宋體" lang="ZH-CN">的設定請查閱在線幫助。</font></p>
<p><font face="宋體" lang="ZH-CN"> 字體對話框</font>Font<font
face="宋體" lang="ZH-CN">可以幫助用戶獲取各種方式的字體。使用</font>OnApply<font
face="宋體" lang="ZH-CN">事件,可以使得</font>Font<font face="宋體"
lang="ZH-CN">對話框中包含一個</font>Apply<font face="宋體" lang="ZH-CN">按鈕,按動它,對話框中設定的字體會立即應用到指定的對象中,而對話框仍然是打開的,這樣更便于觀察修改的結果。</font></p>
<p><font face="宋體" lang="ZH-CN">
以下的例程在窗體中先放置一個按鈕</font>Button1<font face="宋體"
lang="ZH-CN">,調用字體對話框來改變按鈕上的</font>Caption<font
face="宋體" lang="ZH-CN">屬性顯示的字體: </p>
</font><p>Procedure TForm1.Button1Click(Sender:TObject);</p>
<p>begin</p>
<p>FontDialog1.Execute; </p>
<p>end; </p>
<p>Procedure TForm1.FontDlgApply(Sender:Tobject);</p>
<p>begin</p>
<p>Button1.Font:= FontDialog1.Font;</p>
<p>end; </p>
<p>1.4.3.4 PrintDialog<font face="宋體" lang="ZH-CN">和</font>PrintSetupDiaog </p>
<p><font face="宋體" lang="ZH-CN"> 打印對話框</font>PrintDialog<font
face="宋體" lang="ZH-CN">和打印設置對話框</font>PrintSetupDialog<font
face="宋體" lang="ZH-CN">可以顯示標準打印、打印設置對話框,支持打印文件和打印設置功能,設置它的</font>Options<font
face="宋體" lang="ZH-CN">屬性可以規定對話框的表現形式 </p>
</font><p>1.4.3.5 FindDialog<font face="宋體" lang="ZH-CN">和</font>ReplaceDialog </p>
<p> FindDialog<font face="宋體" lang="ZH-CN">和</font>ReplaceDialog<font
face="宋體" lang="ZH-CN">提供了查找、替換兩個對話框部件,對于尋找和替換文本是極其有用的。在</font>FindDialog<font
face="宋體" lang="ZH-CN">和</font>ReplaceDialog<font face="宋體" lang="ZH-CN">中都有</font>OnFind<font
face="宋體" lang="ZH-CN">事件,當用戶單擊尋找對話框中的</font>Find Next<font
face="宋體" lang="ZH-CN">按鈕時將觸發這一事件。</font>FindText<font
face="宋體" lang="ZH-CN">屬性中保存了用戶在</font>Find What<font face="宋體"
lang="ZH-CN">編輯框中輸入的文本。在</font>ReplaceDialog<font face="宋體"
lang="ZH-CN">中還有</font>OnReplace<font face="宋體" lang="ZH-CN">事件,當用戶單擊替換對話框中的</font>Replace<font
face="宋體" lang="ZH-CN">和</font>Replace All<font face="宋體" lang="ZH-CN">按鈕時,將觸發</font>OnReplace<font
face="宋體" lang="ZH-CN">事件。</font>FindText<font face="宋體" lang="ZH-CN">和</font>ReplaceText<font
face="宋體" lang="ZH-CN">屬性分別保存了用戶在</font>Find What<font
face="宋體" lang="ZH-CN">和</font>Replace With<font face="宋體" lang="ZH-CN">編輯框中輸入的文本。 </p>
</font><p>1.5 <font face="宋體" lang="ZH-CN">使用</font>Delphi<font face="宋體"
lang="ZH-CN">的工程管理、設計工具 </p>
</font><p> Delphi 2.0<font face="宋體" lang="ZH-CN">是完備的工程設計系統,除提供了大量的可視化編程部件和簡單方便的設計方法外,還備有功能強大的工程管理、窗口設計工具。 </p>
</font><p>1.5.1 <font face="宋體" lang="ZH-CN">創建多窗體工程項目 </p>
</font><p><font face="宋體" lang="ZH-CN">
絕大多數的應用程序都用到不只一個窗口,</font>Delphi<font face="宋體"
lang="ZH-CN">允許用戶創建多文檔界面</font>(MDI)<font face="宋體" lang="ZH-CN">應用程序。應用自動創建窗體、窗體樣板、對話框專家、應用專家等,可以使得創建應用程序更為方便快捷,而且可重復利用,大大地降低了工作量。 </p>
</font><p>1.5.1.1 <font face="宋體" lang="ZH-CN">創建一個含有</font>About<font
face="宋體" lang="ZH-CN">框的例程 </p>
</font><p><font face="宋體" lang="ZH-CN">
作為例子,我們先創建一個含主窗體和簡單的</font>About<font
face="宋體" lang="ZH-CN">框的應用程序:</font></p>
<p><font face="宋體" lang="ZH-CN"> 在</font>Delphi<font
face="宋體" lang="ZH-CN">中創建一個新工程,并為空窗口增加一個</font>Button<font
face="宋體" lang="ZH-CN">部件。我們把它作為主窗體,目的是當按動按鈕部件時,調出</font>About<font
face="宋體" lang="ZH-CN">窗口。下面我們直接進行</font>About<font
face="宋體" lang="ZH-CN">窗口的創制。</font></p>
<p><font face="宋體" lang="ZH-CN"> 選用主菜單的</font>File|New<font
face="宋體" lang="ZH-CN">項,在</font>New<font face="宋體" lang="ZH-CN">頁中,選用</font>Form<font
face="宋體" lang="ZH-CN">樣板,</font>Delphi<font face="宋體" lang="ZH-CN">會自動創建一個空窗體</font>Form2<font
face="宋體" lang="ZH-CN">。您可以在其上進行</font>About<font face="宋體"
lang="ZH-CN">框的設計,例如加入標簽以顯示各種信息、加入圖片幫助說明等。將</font>Form2<font
face="宋體" lang="ZH-CN">的</font>BorderStyle<font face="宋體" lang="ZH-CN">屬性設置為</font>bsDialog<font
face="宋體" lang="ZH-CN">,則窗口成為運行時不能改變大小的對話框。</font></p>
<p><font face="宋體" lang="ZH-CN">
下面編程實現主窗體對</font>About<font face="宋體" lang="ZH-CN">框的顯示控制。很可能在設計時,兩個窗體出現重疊,</font>Form1<font
face="宋體" lang="ZH-CN">被</font>About<font face="宋體" lang="ZH-CN">遮住。用</font>Shift+F12<font
face="宋體" lang="ZH-CN">產生</font>View Form<font face="宋體" lang="ZH-CN">對話框,可以選擇窗口的名字,調出所需的窗體</font>Form1<font
face="宋體" lang="ZH-CN">,雙擊其上的按鈕部件,在事件處理過程加入以下的程序: </p>
</font><p>procedure TForm1.Button1Click(Sender: TObject); </p>
<p>begin</p>
<p>Form2.Show;</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN"> 由于</font>Form1<font
face="宋體" lang="ZH-CN">窗體調用</font>About<font face="宋體" lang="ZH-CN">窗體,所以必須在</font>Form1<font
face="宋體" lang="ZH-CN">的庫單元程序中對引用</font>About<font face="宋體"
lang="ZH-CN">進行說明。在</font>Unit1<font face="宋體" lang="ZH-CN">的</font>Uses<font
face="宋體" lang="ZH-CN">后面加入</font>About<font face="宋體" lang="ZH-CN">的庫單元名</font>Unit2<font
face="宋體" lang="ZH-CN">。運行程序,在主窗體上按動按鈕,可以出現</font>About<font
face="宋體" lang="ZH-CN">框。在框外單擊鼠標,會回到主窗體中。</font></p>
<p><font face="宋體" lang="ZH-CN"> 在</font>About<font
face="宋體" lang="ZH-CN">窗體中加入一個按鈕,并將按鈕的</font>ModalResult<font
face="宋體" lang="ZH-CN">屬性設置為</font>mrOK<font face="宋體" lang="ZH-CN">,同時將按鈕的標簽的</font>Caption<font
face="宋體" lang="ZH-CN">改為</font>OK<font face="宋體" lang="ZH-CN">。這樣一個有模式的</font>About<font
face="宋體" lang="ZH-CN">框已經建成了。將窗體</font>Form1<font face="宋體"
lang="ZH-CN">中</font>Button1<font face="宋體" lang="ZH-CN">的</font>OnClick<font
face="宋體" lang="ZH-CN">處理過程的代碼改變如下: </p>
</font><p>Form2.ShowModal; </p>
<p><font face="宋體" lang="ZH-CN">
再運行程序,除了與上述功能相同顯示</font>About<font face="宋體"
lang="ZH-CN">對話框外,該程序只有當用戶按動</font>About<font face="宋體"
lang="ZH-CN">框的按鈕或被</font>About<font face="宋體" lang="ZH-CN">窗控制圖標關閉窗口后,才會回到主窗體中,而不能與第一個窗體發生交互行為。這就是方法</font>Show<font
face="宋體" lang="ZH-CN">和</font>ShowModal<font face="宋體" lang="ZH-CN">的主要不同之處。 </p>
</font><p>1.5.1.2 <font face="宋體" lang="ZH-CN">指定自動創建窗體 </p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -