人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

第3章 字符串下文及應用(二)

第3章 字符串下文及應用(二)

更新時間:2022-07-13 文章作者:未知 信息來源:網絡 閱讀次數:

3.1.4 往字符串列表中加入對象 

  字符串列表除了能在Strings屬性中貯存字符串外,還可以在Objects屬性中貯存對象。與Stings一樣,Objects也是可以索引的,它是對象的索引。

  在應用程序使用列表中的字符串與列表中是否有對象沒有多大關系。除非程序特地訪問對象,否則Objects中的內容不變,Delphi只是保存了這些信息,應用程序在必要時對其進行操作。

  有些字符串列表忽略加入的對象。如TMemo部件中代表行的列表對加入其中的對象不保存。還有一些字符串列表,把對象與字符串聯系起來,如TNotebook部件的Pages屬性,它同時保存著頁的名字和代表頁的對象。如果應用程序往Pages中加入或刪除字符串,Delphi自動的加入或刪除與之相應的對象。

  雖然程序可分配任何類型的對象到列表中,但最常用的是在自畫式控制中把位圖與字符串聯系起來,注意位圖與字符串成對使用。

  Delphi在釋放對象的內存空間時并不破壞與之相應的字符串。 

  3.1.4.1 操作字符串列表中的對象 

  對于字符串的每一種操作方法,列表中的對象均有相應的方法。例如,應用程序可利用對象的索引來訪問對象。與字符串不同的是,不能省略Objects,因為Strings才是列表的缺省屬性。

  表3.1中總結了字符串對字符串和對象操作的方法。 

  表3.1 TStrings的字符串屬性和對象操作屬性的方法

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

   操 作    字 符 串        對   象

  ───────────────────────────────

   訪  問      Strings屬性 Objects屬性

   加入項目      Add 方法       AddObjects方法

    插入項目      Insert方法      InsertObjects方法

   項目定位      Indexof方法 IndexofObject方法

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

  Delete,Clear,More操作整個項目,即刪除字符串時把相應的對象也刪除了。但LoadFromFile,SaveToFile方法只對字符串進行操作。 

  3.1.4.2 加入對象 

  如果把對象與已存在的字符串聯系起來,Delphi將分配給該對象同樣的索引號。例如,一個叫Fruits的列表中有字符串('apple'),程序可將名為AppleBitmap的位圖與apple字符相聯系。 

  With Fruits do Objects[Indexof('apple')]:=AppleBitmap; 

  另一種方法是調用列表的AddObject方法,AddObject有兩個參數:字符串和對象,如下: 

  Fruits AddObject('Apple',AppleBitmap); 

  3.2 字符串列表應用 

   Delphi應用程序經常要用到字符串列表,我們編寫的strlist. dpr是應用字符串列表的簡單程序。程序運行狀態如圖3.2所示。列表框列出了屏幕支持的各種字體名稱,并且以名稱所代表的字體顯示在列表中;Tabs的標簽不只以字符串來表示,而且附有位圖。這就是所謂的自畫式控制。下面介紹字符串列表在自畫式控制中的應用。

   列表框、組合框、Tabset部件中有一個叫“自畫(Ownerdraw)”的風格,它能替代Windows的文本輸出,部件的自畫式控制在運行狀態對每個項目進行重新繪制。最常用的是用圖像代替文本輸出。

  自畫式控制有一個共同特點:它們都包含有項目列表,缺省情況下這些列表就是字符串列表,Windows把它們當成文本顯示。Delphi可以把字符串列表與某一對象相聯系,這就使得應用程序能用對象來繪制項目。

  通常,創建自畫式控制有以下三個步驟:

  1. 設置自畫風格;

  2. 把圖像對象加入字符串列表中;

  3. 繪制自畫項目。 

  3.2.1 設置自畫風格 

  每個能進行自畫式控制的部件都有一個叫Style的屬性,Style決定部件是以缺省方式還是以自畫方式繪制項目。

  對于列表框和組合框,也有自畫式風格選項,表3.2列出了Style的取值及含義。 

  表3.2 Style的取值及含義

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  

  Style 含  義        舉   例

  ─────────────────────────────────

  

  Fixed 每個項目有相同的高度    1bOwnerDrawFixed

  

        高度由ItenHeight屬性決定   csOwnerDrawFixed

  Varible 每個項目有不同的高度     1bOwnweDrawVarible

  

        由運行數據決定   csOwnerDrawVarible

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

  tab-set與字符串網格的Style屬性通常是Varible.

[1] [2]  下一頁

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 额尔古纳市| 宁海县| 望谟县| 武功县| 嘉鱼县| 秦安县| 五峰| 鄂伦春自治旗| 如东县| 启东市| 民和| 静宁县| 厦门市| 漯河市| 孙吴县| 高雄县| 布拖县| 台前县| 西贡区| 崇州市| 东阳市| 田林县| 富阳市| 什邡市| 宣汉县| 福泉市| 嵊泗县| 太仆寺旗| 嘉禾县| 罗平县| 九台市| 绥化市| 许昌县| 武邑县| 阿鲁科尔沁旗| 理塘县| 山阴县| 栾城县| 武功县| 义乌市| 昭苏县|