?? 011.htm
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基礎教程-->第三章 字符串列表及應用(二)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基礎教程 第三章 字符串列表及應用(二)">
<META NAME="description" CONTENT=" - 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 background="bg.gif" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" background="bg.gif"><strong><A HREF="012.htm" ><FONT style="FONT-SIZE: 9pt">后一頁</font></A><BR>
<A HREF="010.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" background="bg.gif" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">第三章 字符串列表及應用(二)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p>3.1.4 <font face="宋體" lang="ZH-CN">往字符串列表中加入對象 </p>
<p> 字符串列表除了能在</font>Strings<font face="宋體" lang="ZH-CN">屬性中貯存字符串外,還可以在</font>Objects<font
face="宋體" lang="ZH-CN">屬性中貯存對象。與</font>Stings<font face="宋體"
lang="ZH-CN">一樣,</font>Objects<font face="宋體" lang="ZH-CN">也是可以索引的,它是對象的索引。</p>
<p> 在應用程序使用列表中的字符串與列表中是否有對象沒有多大關系。除非程序特地訪問對象,否則</font>Objects<font
face="宋體" lang="ZH-CN">中的內容不變,</font>Delphi<font face="宋體"
lang="ZH-CN">只是保存了這些信息,應用程序在必要時對其進行操作。</p>
<p> 有些字符串列表忽略加入的對象。如</font>TMemo<font face="宋體"
lang="ZH-CN">部件中代表行的列表對加入其中的對象不保存。還有一些字符串列表,把對象與字符串聯系起來,如</font>TNotebook<font
face="宋體" lang="ZH-CN">部件的</font>Pages<font face="宋體" lang="ZH-CN">屬性,它同時保存著頁的名字和代表頁的對象。如果應用程序往</font>Pages<font
face="宋體" lang="ZH-CN">中加入或刪除字符串,</font>Delphi<font face="宋體"
lang="ZH-CN">自動的加入或刪除與之相應的對象。</p>
<p> 雖然程序可分配任何類型的對象到列表中,但最常用的是在自畫式控制中把位圖與字符串聯系起來,注意位圖與字符串成對使用。</p>
<p> </font>Delphi<font face="宋體" lang="ZH-CN">在釋放對象的內存空間時并不破壞與之相應的字符串。 </p>
</font><p>3.1.4.1 <font face="宋體" lang="ZH-CN">操作字符串列表中的對象 </p>
<p> 對于字符串的每一種操作方法,列表中的對象均有相應的方法。例如,應用程序可利用對象的索引來訪問對象。與字符串不同的是,不能省略</font>Objects<font
face="宋體" lang="ZH-CN">,因為</font>Strings<font face="宋體" lang="ZH-CN">才是列表的缺省屬性。</p>
<p> 表</font>3.1<font face="宋體" lang="ZH-CN">中總結了字符串對字符串和對象操作的方法。 </p>
</font><p><font face="宋體" lang="ZH-CN">表</font>3.1 TStrings<font face="宋體"
lang="ZH-CN">的字符串屬性和對象操作屬性的方法</font> </p>
<font face="宋體" lang="ZH-CN"><p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ </p>
</font><p><font face="宋體" lang="ZH-CN">
操</font>
<font face="宋體" lang="ZH-CN">作</font> <font face="宋體" lang="ZH-CN"> 字 符 串 對 象</font></p>
<p><font face="宋體" lang="ZH-CN">───────────────────────────────</p>
<p> </font> <font face="宋體" lang="ZH-CN"> 訪 問 </font>
Strings<font face="宋體" lang="ZH-CN">屬性</font>
Objects<font
face="宋體" lang="ZH-CN">屬性</p>
<p> </font> <font face="宋體" lang="ZH-CN">加入項目 </font> Add <font
face="宋體" lang="ZH-CN">方法 </font> AddObjects<font face="宋體"
lang="ZH-CN">方法</p>
<p> </font> <font face="宋體" lang="ZH-CN"> 插入項目 </font>
Insert<font face="宋體" lang="ZH-CN">方法 </font>InsertObjects<font
face="宋體" lang="ZH-CN">方法</font></p>
<p><font face="宋體" lang="ZH-CN">
項目定位 </font> <font
face="宋體" lang="ZH-CN"> </font> Indexof<font face="宋體" lang="ZH-CN">方法</font>
IndexofObject<font
face="宋體" lang="ZH-CN">方法</font></p>
<p><font face="宋體" lang="ZH-CN">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ </p>
<p> </font>Delete,Clear,More<font face="宋體" lang="ZH-CN">操作整個項目,即刪除字符串時把相應的對象也刪除了。但</font>LoadFromFile,SaveToFile<font
face="宋體" lang="ZH-CN">方法只對字符串進行操作。 </p>
</font><p>3.1.4.2 <font face="宋體" lang="ZH-CN">加入對象 </p>
<p> 如果把對象與已存在的字符串聯系起來,</font>Delphi<font
face="宋體" lang="ZH-CN">將分配給該對象同樣的索引號。例如,一個叫</font>Fruits<font
face="宋體" lang="ZH-CN">的列表中有字符串</font>('apple')<font face="宋體"
lang="ZH-CN">,程序可將名為</font>AppleBitmap<font face="宋體" lang="ZH-CN">的位圖與</font>apple<font
face="宋體" lang="ZH-CN">字符相聯系。 </p>
<p> </font>With Fruits do Objects[Indexof('apple')]:=AppleBitmap; </p>
<p><font face="宋體" lang="ZH-CN">另一種方法是調用列表的</font>AddObject<font
face="宋體" lang="ZH-CN">方法,</font>AddObject<font face="宋體" lang="ZH-CN">有兩個參數:字符串和對象,如下: </p>
<p> </font>Fruits AddObject('Apple',AppleBitmap); </p>
<p>3.2 <font face="宋體" lang="ZH-CN">字符串列表應用 </p>
</font><p> Delphi<font face="宋體"
lang="ZH-CN">應用程序經常要用到字符串列表,我們編寫的</font>strlist.
dpr<font face="宋體" lang="ZH-CN">是應用字符串列表的簡單程序。程序運行狀態如圖</font>3.2<font
face="宋體" lang="ZH-CN">所示。列表框列出了屏幕支持的各種字體名稱,并且以名稱所代表的字體顯示在列表中;</font>Tabs<font
face="宋體" lang="ZH-CN">的標簽不只以字符串來表示,而且附有位圖。這就是所謂的自畫式控制。下面介紹字符串列表在自畫式控制中的應用。</font>
</p>
<p><font face="宋體" lang="ZH-CN">
列表框、組合框、</font>Tabset<font
face="宋體" lang="ZH-CN">部件中有一個叫“自畫</font>(Ownerdraw)<font
face="宋體" lang="ZH-CN">”的風格,它能替代</font>Windows<font face="宋體"
lang="ZH-CN">的文本輸出,部件的自畫式控制在運行狀態對每個項目進行重新繪制。最常用的是用圖像代替文本輸出。</p>
<p> 自畫式控制有一個共同特點:它們都包含有項目列表,缺省情況下這些列表就是字符串列表,</font>Windows<font
face="宋體" lang="ZH-CN">把它們當成文本顯示。</font>Delphi<font face="宋體"
lang="ZH-CN">可以把字符串列表與某一對象相聯系,這就使得應用程序能用對象來繪制項目。</p>
<p> 通常,創建自畫式控制有以下三個步驟:</p>
<p> </font>1. <font face="宋體" lang="ZH-CN">設置自畫風格;</p>
<p> </font>2. <font face="宋體" lang="ZH-CN">把圖像對象加入字符串列表中;</p>
<p> </font>3. <font face="宋體" lang="ZH-CN">繪制自畫項目。 </p>
</font><p>3.2.1 <font face="宋體" lang="ZH-CN">設置自畫風格 </p>
<p> 每個能進行自畫式控制的部件都有一個叫</font>Style<font
face="宋體" lang="ZH-CN">的屬性,</font>Style<font face="宋體" lang="ZH-CN">決定部件是以缺省方式還是以自畫方式繪制項目。</p>
<p> 對于列表框和組合框,也有自畫式風格選項,表</font>3.2<font
face="宋體" lang="ZH-CN">列出了</font>Style<font face="宋體" lang="ZH-CN">的取值及含義。 </p>
</font><p><font face="宋體" lang="ZH-CN">表</font>3.2 Style<font face="宋體"
lang="ZH-CN">的取值及含義</p>
<p>━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<p> </font></p>
<p><font face="宋體" lang="ZH-CN"> </font>Style <font face="宋體" lang="ZH-CN">
含 義
舉 例</font></p>
<p><font face="宋體" lang="ZH-CN">─────────────────────────────────</p>
<p> </p>
<p> </font>Fixed <font face="宋體" lang="ZH-CN">
每個項目有相同的高度</font> <font
face="宋體" lang="ZH-CN"> </font>1bOwnerDrawFixed</p>
<p> </p>
<font face="宋體" lang="ZH-CN"><p> </font> <font face="宋體"
lang="ZH-CN">高度由</font>ItenHeight<font face="宋體" lang="ZH-CN">屬性決定 </font>
csOwnerDrawFixed</p>
<p>Varible <font face="宋體" lang="ZH-CN">
每個項目有不同的高度</font> <font
face="宋體" lang="ZH-CN"> </font> 1bOwnweDrawVarible</p>
<p> </p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -