?? 005.htm
字號(hào):
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基礎(chǔ)教程-->第一章 Delphi快速入門(五)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基礎(chǔ)教程 第一章 Delphi快速入門(五)">
<META NAME="description" CONTENT=" - DELPHI基礎(chǔ)教程 - 第一章 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">后一頁(yè)</font></A><BR>
<A HREF="004.htm"><FONT style="FONT-SIZE: 9pt">前一頁(yè)</font></A><BR>
<A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR>
<A HREF="../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首頁(yè)</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">調(diào)用標(biāo)準(zhǔn)對(duì)話框 </p>
</font><p><font face="宋體" lang="ZH-CN">
您可以發(fā)現(xiàn),除了</font>Font,Find,Replace<font face="宋體" lang="ZH-CN">對(duì)話框之外,其余標(biāo)準(zhǔn)對(duì)話框的</font>Events<font
face="宋體" lang="ZH-CN">頁(yè)都是空白的。因?yàn)樗鼈儽旧硎遣豢梢暤膶?duì)話框形式,所以不能響應(yīng)標(biāo)準(zhǔn)的鼠標(biāo)鍵盤操作,只能在程序中調(diào)用它們。在本章第一節(jié)的</font>Demo<font
face="宋體" lang="ZH-CN">程序中,我們已經(jīng)對(duì)用</font>Color<font face="宋體"
lang="ZH-CN">對(duì)話框有了了解,在程序的適當(dāng)位置加入對(duì)話框所屬的</font>Execute<font
face="宋體" lang="ZH-CN">方法,可以執(zhí)行標(biāo)準(zhǔn)對(duì)話框。</font></p>
<p><font face="宋體" lang="ZH-CN">
在編制應(yīng)用程序時(shí),您可以先設(shè)計(jì)好主菜單。在需要使用標(biāo)準(zhǔn)對(duì)話框的菜單項(xiàng)的事件處理過(guò)程中,調(diào)用標(biāo)準(zhǔn)對(duì)話框的</font>Execute<font
face="宋體" lang="ZH-CN">等方法,以滿足設(shè)計(jì)需求,即響應(yīng)菜單命令彈出標(biāo)準(zhǔn)對(duì)話框。 </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">文件的打開(kāi)</font>)<font face="宋體" lang="ZH-CN">和</font>SaveDialog(<font
face="宋體" lang="ZH-CN">保存對(duì)話框</font>)<font face="宋體" lang="ZH-CN">部件處理文件的打開(kāi)與存儲(chǔ),它們擁有完全相同的屬性域。</font>DefaultExt<font
face="宋體" lang="ZH-CN">屬性表示缺省擴(kuò)展名。當(dāng)用戶沒(méi)有輸入文件的后綴時(shí),可以為用戶文件自動(dòng)加擴(kuò)展名。</font>FileName<font
face="宋體" lang="ZH-CN">屬性指定出現(xiàn)在</font>FileName<font face="宋體"
lang="ZH-CN">正文框中的缺省文件名。</font>Filter<font face="宋體"
lang="ZH-CN">屬性提供了文件過(guò)濾器。</font>FileEditStyle<font face="宋體"
lang="ZH-CN">決定在輸入文件名時(shí)用</font>Edit<font face="宋體" lang="ZH-CN">還是</font>Combo-
Box<font face="宋體" lang="ZH-CN">;設(shè)置為</font>fsComboBox<font face="宋體"
lang="ZH-CN">時(shí),允許使用歷史列表</font>HistoryList<font face="宋體"
lang="ZH-CN">屬性,這在應(yīng)用程序需要經(jīng)常選擇文件時(shí),可以節(jié)約大量的時(shí)間。</font>HistoryList<font
face="宋體" lang="ZH-CN">屬性保存有在</font>File Name<font face="宋體"
lang="ZH-CN">下拉式編輯框中顯示的文件名,使用</font>[TStrings]<font
face="宋體" lang="ZH-CN">的省略按鈕可以編輯歷史列表。您也可以編程實(shí)現(xiàn)將</font>HistoryList<font
face="宋體" lang="ZH-CN">屬性設(shè)為以前用</font>OpenDialog<font face="宋體"
lang="ZH-CN">打開(kāi)的文件名歷史列表。下列程序段可以實(shí)現(xiàn)自動(dòng)歷史文件名加載: </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"> 顏色對(duì)話框</font>ColorDialog<font
face="宋體" lang="ZH-CN">我們?cè)谇拔牡睦讨幸呀?jīng)用過(guò),其更詳細(xì)的功能如</font>Options<font
face="宋體" lang="ZH-CN">的設(shè)定請(qǐng)查閱在線幫助。</font></p>
<p><font face="宋體" lang="ZH-CN"> 字體對(duì)話框</font>Font<font
face="宋體" lang="ZH-CN">可以幫助用戶獲取各種方式的字體。使用</font>OnApply<font
face="宋體" lang="ZH-CN">事件,可以使得</font>Font<font face="宋體"
lang="ZH-CN">對(duì)話框中包含一個(gè)</font>Apply<font face="宋體" lang="ZH-CN">按鈕,按動(dòng)它,對(duì)話框中設(shè)定的字體會(huì)立即應(yīng)用到指定的對(duì)象中,而對(duì)話框仍然是打開(kāi)的,這樣更便于觀察修改的結(jié)果。</font></p>
<p><font face="宋體" lang="ZH-CN">
以下的例程在窗體中先放置一個(gè)按鈕</font>Button1<font face="宋體"
lang="ZH-CN">,調(diào)用字體對(duì)話框來(lái)改變按鈕上的</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"> 打印對(duì)話框</font>PrintDialog<font
face="宋體" lang="ZH-CN">和打印設(shè)置對(duì)話框</font>PrintSetupDialog<font
face="宋體" lang="ZH-CN">可以顯示標(biāo)準(zhǔn)打印、打印設(shè)置對(duì)話框,支持打印文件和打印設(shè)置功能,設(shè)置它的</font>Options<font
face="宋體" lang="ZH-CN">屬性可以規(guī)定對(duì)話框的表現(xiàn)形式 </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">提供了查找、替換兩個(gè)對(duì)話框部件,對(duì)于尋找和替換文本是極其有用的。在</font>FindDialog<font
face="宋體" lang="ZH-CN">和</font>ReplaceDialog<font face="宋體" lang="ZH-CN">中都有</font>OnFind<font
face="宋體" lang="ZH-CN">事件,當(dāng)用戶單擊尋找對(duì)話框中的</font>Find Next<font
face="宋體" lang="ZH-CN">按鈕時(shí)將觸發(fā)這一事件。</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">事件,當(dāng)用戶單擊替換對(duì)話框中的</font>Replace<font
face="宋體" lang="ZH-CN">和</font>Replace All<font face="宋體" lang="ZH-CN">按鈕時(shí),將觸發(fā)</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">的工程管理、設(shè)計(jì)工具 </p>
</font><p> Delphi 2.0<font face="宋體" lang="ZH-CN">是完備的工程設(shè)計(jì)系統(tǒng),除提供了大量的可視化編程部件和簡(jiǎn)單方便的設(shè)計(jì)方法外,還備有功能強(qiáng)大的工程管理、窗口設(shè)計(jì)工具。 </p>
</font><p>1.5.1 <font face="宋體" lang="ZH-CN">創(chuàng)建多窗體工程項(xiàng)目 </p>
</font><p><font face="宋體" lang="ZH-CN">
絕大多數(shù)的應(yīng)用程序都用到不只一個(gè)窗口,</font>Delphi<font face="宋體"
lang="ZH-CN">允許用戶創(chuàng)建多文檔界面</font>(MDI)<font face="宋體" lang="ZH-CN">應(yīng)用程序。應(yīng)用自動(dòng)創(chuàng)建窗體、窗體樣板、對(duì)話框?qū)<摇?yīng)用專家等,可以使得創(chuàng)建應(yīng)用程序更為方便快捷,而且可重復(fù)利用,大大地降低了工作量。 </p>
</font><p>1.5.1.1 <font face="宋體" lang="ZH-CN">創(chuàng)建一個(gè)含有</font>About<font
face="宋體" lang="ZH-CN">框的例程 </p>
</font><p><font face="宋體" lang="ZH-CN">
作為例子,我們先創(chuàng)建一個(gè)含主窗體和簡(jiǎn)單的</font>About<font
face="宋體" lang="ZH-CN">框的應(yīng)用程序:</font></p>
<p><font face="宋體" lang="ZH-CN"> 在</font>Delphi<font
face="宋體" lang="ZH-CN">中創(chuàng)建一個(gè)新工程,并為空窗口增加一個(gè)</font>Button<font
face="宋體" lang="ZH-CN">部件。我們把它作為主窗體,目的是當(dāng)按動(dòng)按鈕部件時(shí),調(diào)出</font>About<font
face="宋體" lang="ZH-CN">窗口。下面我們直接進(jìn)行</font>About<font
face="宋體" lang="ZH-CN">窗口的創(chuàng)制。</font></p>
<p><font face="宋體" lang="ZH-CN"> 選用主菜單的</font>File|New<font
face="宋體" lang="ZH-CN">項(xiàng),在</font>New<font face="宋體" lang="ZH-CN">頁(yè)中,選用</font>Form<font
face="宋體" lang="ZH-CN">樣板,</font>Delphi<font face="宋體" lang="ZH-CN">會(huì)自動(dòng)創(chuàng)建一個(gè)空窗體</font>Form2<font
face="宋體" lang="ZH-CN">。您可以在其上進(jìn)行</font>About<font face="宋體"
lang="ZH-CN">框的設(shè)計(jì),例如加入標(biāo)簽以顯示各種信息、加入圖片幫助說(shuō)明等。將</font>Form2<font
face="宋體" lang="ZH-CN">的</font>BorderStyle<font face="宋體" lang="ZH-CN">屬性設(shè)置為</font>bsDialog<font
face="宋體" lang="ZH-CN">,則窗口成為運(yùn)行時(shí)不能改變大小的對(duì)話框。</font></p>
<p><font face="宋體" lang="ZH-CN">
下面編程實(shí)現(xiàn)主窗體對(duì)</font>About<font face="宋體" lang="ZH-CN">框的顯示控制。很可能在設(shè)計(jì)時(shí),兩個(gè)窗體出現(xiàn)重疊,</font>Form1<font
face="宋體" lang="ZH-CN">被</font>About<font face="宋體" lang="ZH-CN">遮住。用</font>Shift+F12<font
face="宋體" lang="ZH-CN">產(chǎn)生</font>View Form<font face="宋體" lang="ZH-CN">對(duì)話框,可以選擇窗口的名字,調(diào)出所需的窗體</font>Form1<font
face="宋體" lang="ZH-CN">,雙擊其上的按鈕部件,在事件處理過(guò)程加入以下的程序: </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">窗體調(diào)用</font>About<font face="宋體" lang="ZH-CN">窗體,所以必須在</font>Form1<font
face="宋體" lang="ZH-CN">的庫(kù)單元程序中對(duì)引用</font>About<font face="宋體"
lang="ZH-CN">進(jìn)行說(shuō)明。在</font>Unit1<font face="宋體" lang="ZH-CN">的</font>Uses<font
face="宋體" lang="ZH-CN">后面加入</font>About<font face="宋體" lang="ZH-CN">的庫(kù)單元名</font>Unit2<font
face="宋體" lang="ZH-CN">。運(yùn)行程序,在主窗體上按動(dòng)按鈕,可以出現(xiàn)</font>About<font
face="宋體" lang="ZH-CN">框。在框外單擊鼠標(biāo),會(huì)回到主窗體中。</font></p>
<p><font face="宋體" lang="ZH-CN"> 在</font>About<font
face="宋體" lang="ZH-CN">窗體中加入一個(gè)按鈕,并將按鈕的</font>ModalResult<font
face="宋體" lang="ZH-CN">屬性設(shè)置為</font>mrOK<font face="宋體" lang="ZH-CN">,同時(shí)將按鈕的標(biāo)簽的</font>Caption<font
face="宋體" lang="ZH-CN">改為</font>OK<font face="宋體" lang="ZH-CN">。這樣一個(gè)有模式的</font>About<font
face="宋體" lang="ZH-CN">框已經(jīng)建成了。將窗體</font>Form1<font face="宋體"
lang="ZH-CN">中</font>Button1<font face="宋體" lang="ZH-CN">的</font>OnClick<font
face="宋體" lang="ZH-CN">處理過(guò)程的代碼改變?nèi)缦拢骸?lt;/p>
</font><p>Form2.ShowModal; </p>
<p><font face="宋體" lang="ZH-CN">
再運(yùn)行程序,除了與上述功能相同顯示</font>About<font face="宋體"
lang="ZH-CN">對(duì)話框外,該程序只有當(dāng)用戶按動(dòng)</font>About<font face="宋體"
lang="ZH-CN">框的按鈕或被</font>About<font face="宋體" lang="ZH-CN">窗控制圖標(biāo)關(guān)閉窗口后,才會(huì)回到主窗體中,而不能與第一個(gè)窗體發(fā)生交互行為。這就是方法</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">指定自動(dòng)創(chuàng)建窗體 </p>
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -