⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 011.htm

📁 delphi教程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<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 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="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" bgcolor="#F5F8F8" 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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 操</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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 项目定位 </font> <font
face="宋体" lang="ZH-CN">   </font> Indexof<font face="宋体" lang="ZH-CN">方法</font>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 列表框、组合框、</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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 含  义        
举   例</font></p>
<p><font face="宋体" lang="ZH-CN">─────────────────────────────────</p>
<p> </p>
<p> </font>Fixed <font face="宋体" lang="ZH-CN">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个项目有相同的高度</font> <font
face="宋体" lang="ZH-CN">  &nbsp;&nbsp; </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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每个项目有不同的高度</font> <font
face="宋体" lang="ZH-CN">   </font> 1bOwnweDrawVarible</p>
<p> </p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -