使用帮助对象 二

时间:2010-04-22 16:13:51  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:用AddObject或InsertObject方法可一步实现将串及其关联的对象加入列表。IndexOfObject返回列表中第一个与指定对象关联的串的索引。Delete、Clear和Move方法都对串和对象同时进行操作;例如,删除一个串就删除了相应的对象(如果存在)。  为了将对象与现有的串关联,在Objects属性中分配给该对象与串相同的索引。不能只添加对象而不添加相应的串。2.5.3 Windows注册表和INI...
  正文:

 4. 把对象与串列表联系起来
  串列表除使用Strings属性保存串之外,还可使用Objects属性维护对对象的引用。与Strings相同,Objects也是带有零基准索引的数组。Objects最常见的用途是为属主绘制控件把位图与串联系起来。
  使用AddObject或InsertObject方法可一步实现将串及其关联的对象加入列表。IndexOfObject返回列表中第一个与指定对象关联的串的索引。Delete、Clear和Move方法都对串和对象同时进行操作;例如,删除一个串就删除了相应的对象(如果存在)。
  为了将对象与现有的串关联,在Objects属性中分配给该对象与串相同的索引。不能只添加对象而不添加相应的串。

2.5.3 Windows注册表和INI文件
  Windows系统注册表是一种层次数据库,应用程序可用来存储配置信息。VCL类TRegistry提供读写注册表的方法。
  直到Windows95之前,应用程序通常将配置信息存储在扩展名为.INI的初始化文件中。VCL提供下列类帮助维护或移植使用INI文件的程序:
· TRegistry处理注册表。
· TIniFile或TMemIniFile处理Windows3.x的INI文件。
· TRegistryIniFile既可处理注册表,也可处理INI文件。除了读写系统注册表外,TRegistryIniFile的属性和方法与TIniFile相类似。通过使用TCustomIniFile(TIniFile、TMemIniFile和TRegistryIniFile共同的祖先)类型的变量,可编写根据不同的调用地点决定是访问注册表或是访问INI文件的通用代码
  1.使用TINIFile
  INI文件格式仍然被广泛使用,C++Builder配置文件(如DSKDesktop设置文件)也使用了这种格式。因为这种文件格式相当流行,VCL提供了一种类来使读写这些文件变得非常容易。在初始化INIFile对象时,将INI文件名作为参数传入构造函数。如文件不存在,则自动创建一个。然后就可使用ReadString、ReadInteger或ReadBool来随意阅读INI文件。若需阅读整个INI文件,可使用ReadSection方法。同样,可使用WriteBool、WriteInteger或WriteString进行写操作。下例是在窗体构造时从INI文件中读配置信息而在OnClose事件处理程序中写配置信息。


  每个Read例程需要三个参数。第一个参数给出INI文件的节;第二个参数给出需读的值;第三个参数是一缺省值,防止该节或值不处于INI文件之中。同样,若节或值不存在,Write例程可创建节和/或值。
  下例的代码新创建一个INI文件:


  应用程序执行时,在创建窗体时读INI文件窗体并在OnClose事件处理程序中写INI文件。
  2.使用TRegistry
  大多数32-位应用程序将其信息存储在注册表而不是INI文件中,因为注册表是层次结构,更加合理,并且没有INI文件中的尺寸限制。TRegistry对象包含一些方法来打开、关闭、保存移动、复制和删除键值。下例从注册表输入检索值:


  3.使用TRegINIFile
  如果你习惯INI文件但要将配置信息改为存储到注册表,可使用TRegINIFile类。TRegINIFile设计为使注册表项看上去像INI文件项。所有的TINIFile的方法(读和写)都存在于TRegINIFile。当构造TRegINIFile对象时,传入的参数(对INIFile对象来说是文件名)成为注册表根部的用户键值,所有节及值都由此分支。实际上,该对象极大地简化了注册表的接口,因此更多信息参见VCL帮助TReyINfile主题。可以根本不用改变现有代码就可用它来代替TRegistry组件。



  4.使用TCanvas
  TCanvas封装了Windows设备场境,可处理窗体、可视化容器(如面板)的绘制及打印机对象(在下节讲述)等。使用TCanvas对象,你可不再担心如何分配绘图笔、画刷、调色板等,所有的分配和释放的工作都由TCanvas对象完成。
  TCanvas包含大量的图形例程用来绘制线、几何形状、多边形、字体等所有包含于TCanvas中的控件。下例是一个按钮事件处理程序,它从左上方顶点画一条线到窗体中间,并且在窗体中输出一些文本:


  TCanvas对象还可防止Windows图形错误,如它可将设备场境,绘图笔,画刷等还原到绘图操作之前的状态。在C++Builder中,任何需要或可能绘图的地方都会用到TCanvas,并且使用它也是最简单可靠的绘图方法。

  5.使用TPrinter
  TPrinter对象封装Windows打印机详细信息。使用Printers属性可得到已安装和可用的打印机的列表。该打印机对象使用一种TCanvas(等同于窗体的TCanvas),可使任何能在窗体绘制的都能被打印。为打印图像,在任何需打印的画布图形(包括以TextOut方法输出的文本)后调用BeginDoc,并通过调用EndDoc方法将任务分发给打印机。
使用帮助对象 二》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/VC/2010-04-22/13739.html


关键字:

关于《使用帮助对象 二》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td