delphi vcl_delphi数据类型

delphi vcl_delphi数据类型[+]窗体和应用程序类表示Form和Application对象,这些类是从TComponent派生而来,它们实际也是组件,单独地把它列举出来,以示与拖到窗体上的控件加以区别。1、TApplication类TApplication类封装了Windows程序的基本操作。TApplication所担负的任务有:管理图标、提供快捷帮助和基本消息处理。每个Delphi应用程序都

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

[+]

窗体和应用程序类表示Form和Application对象,这些类是从TComponent派生而来,它们实际也是组件,单独地把它列举出来,以示与拖到窗体上的控件加以区别。

1、 TApplication类

TApplication类封装了Windows程序的基本操作。TApplication所担负的任务有:管理图标、提供快捷帮助和基本消息处理。每个Delphi应用程序都有一个指向TApplication对象的指针,此指针称为Application,用TApplication类主要执行消息框,管理快捷帮助,为按钮和状态栏设置提示文本。TApplication有点不一样,它的有些属性(Icon,HelpFile和Title)可以通过Project Options对话框的Application页面来进行设置。其继承关系如下:

image

2、TForm类

TForm类封装了VCL中的窗体,窗体可用作主窗体、对话框、辅助窗口以及可以想像出的任何其他类型窗口。TForm是VCL中的主要功能类。其继承关系如下:

image

组件类

这组类包含的类非常广泛,可以进一步把它分成一些独立的分类:

1、 标准组件类

标准组件类是那些封装大部分Windows控件的组件,包括TButton,TEdit,TListBox,TMemo,TMainMenu,TScrollBar,TPopupMenu,TCheckBox,TRadioButton,TRadioGroup,TGroupBox,TPanel和TActionList。

0102

这些类的大部分都封装了一个Windows控件,TMainMenu类封装一个应用程序的主菜单,在设计阶段,双击MainMenu组件的图标就会出现Menu Designer。TMainMenu有一些属性,这些属性能控制菜单选项是否变灰,是否被复选,快捷帮助ID,选项提示文本,以及其他的一些内容,每个菜单选项都有一个OnClick事件,因此可以为选中的菜单选项连接一个事件处理程序。

(1) TPanel组件

New Term

面板(panel)代表窗体上的一个矩形区域,通常它有它自己的组件,可以把它作为一个单元来处理。

Panel组件是一个包容器组件,因此它包含了其他一些组件,Panel有一些属性,这些属性用来控制面板将用什么类型的边缘,控制面板是否凸起、下凹或平放;还可以控制其便捷的宽度,这些属性的组合可以建立起各种多维面板。其继承关系如下:

image

(2) TActionList组件

这个组件用来增加一些命令,并且使这些命令很容易作用于一个组件或者一组组件,例如,一个应用程序通过用Clipboard组件,就可以在菜单、工具栏和快捷菜单上删除、拷贝和传送选项,如果Clipboard中有数据,那么传送的按钮盒菜单选项就会生效。如果Clipboard中没有数据,那么传送的按钮盒菜单项将无效,当用TActionList组件时,所有的控件(工具栏、按钮盒菜单选项)都可以是有效或者无效。其继承关系如下:

image

(3)Addition标签上的组件

它们也是标准控件,在组件选项板的Additional标签中可以找到这些控件,如下图:

0103

TSpeedButton也是一个具有图像的按钮,但这个按钮不是一个真正的按钮,相反它是一个按钮的图形描述,这就使得可以利用大量的此按钮,但不消耗每个按钮的Windows资源。

image

TImage组件能够在窗体放置图像,可以从磁盘上选择这个图像文件。

image

TBevel提供了一个更美观的窗体。

image

TStringGrid和TDrawGrid类提供了一种表示网格信息的方法。

 

image image

2、Win32自定义控件类

0104

VCL有一种组件类,它们封装了很多Windows32位的自定义控件,这些包括TListView,TTreeView,TTrackBar,TProgressBar,TTabControl,TPageControl,TRichEdit,TImageList,TStatusBar,TAnimate,TDateTimePicker,TToolBar,TCoolBar和一些其他的组件。这里的有些组件较复杂,表示它们的VCL类也同样很复杂,但有一点是可以相信的,那就是应用这些通用控件,VCL可以减轻很多工作负担,在充分理解这些类之前,必须花一些时间去熟悉这些类,在以后的使用过程中我们会详细介绍。

3、数据库组件类

VCL还有一组主数据库组件,不但包括可视化组件,也包括非可视化组件,非可视化数据库组件包括TDateSource,TDatabase,TTable和TQuery。这些类封装了幕后数据库操作。

0105

可视化数据库组件是VCL数据库操作的一部分,用户可以查看这些组件并可以与之交互。例如,TDBGrid组件是用来显示网格中的数据库表,在这种情况下,TDBGrid充当用户与数据库的接口,通过TDBGrid,用户可以查看和编辑数据库表。

TDBNavigator组件提供了一些按钮,用这些按钮用户可以移动数据库表,这个类包括的按钮有下一个记录、前一个记录、第一个记录、最后一个记录、取消编辑、接收编辑和继续编辑等。

0106

另一种数据意识(data-aware)组件类把标准Windows控件与数据库字段紧紧地联系在一起,这些类包括TDBText、TDBEdit、TDBList、TDBImage和其他一些类。

4、通用对话类

0107

毫无疑问,Windows用通用对话框来处理诸如打开文件、保存文件、选择字体、选择颜色等事情。VCL在各种类型的类中封装了这些通用对话框,这些类时TOpenDialog、TSaveDialog、TOpenPictureDialog、TSavePictureDialog、TFontDialog、TColorDialog、TPrintDialog和TPrintSetupDialog。VCL也为这个组件组中增加了TFindDialog和TReplaceDialog类,这个组件组中所有组件都是非可视化的,它们没有设计阶段可视化接口,当然在运行阶段显示,对话框是可视的。

5、系统组件类

0108

组件选项面板上的System标签包含了可视化和非可视化组件的混合,TTimer类用来表示Windows系统计时器,它只有一个OnTimer事件,每当计时器启动时,就会调用这个事件,计时器的时间间隔是由Interval属性设置,TTimer是一个非可视化组件。

TMediaPlayer类也包含在这组类中,这个类可以用来处理媒体文件。比如音频、AVI视频和MIDI音频等,媒体不但可以被播放、停止、暂停、定位、而且还有很多其他操作,这个类具有很多属性和事件,这些属性和事件大大简化了Windows Media Control Interface(媒体控制接口MCI)复杂程度。

TPaintBox具有一个空画布,在这个画上可以画出任何喜爱的东西。这个组件有很多潜在的用户。

系统组件组中还包括OLE和动态数据交换DDE类。

6、Win 3.1组件

0109

不要犯这种错误:只因为标签上的名字便放弃这个组件组。这个组件组包含一些功能强大的组件(Win 3.1标签源自Delphi1中)。其中比较好用的是TTabSet和TNotebook组件。这个组件组还包括一些组件,这些组件能帮助读者创建自己拥有的自定义File Open和File Save对话框,如TFileListBox、TDirectoryListBox、TDriveComboBox和TFilterComboBox。

7、Internet组件

0110

这个Internet标签中包含了一些用于Internet编程的组件,这些组件包括HTML、FTP、SMTP、POP3和HTTP等组件,它也包含一些通过API进行的一般网络编程组件,这些组件中的绝大部分本来就是VCL组件,起码有一个组件THTML就是ActiveX控件。

8、样本组件

0111

Samples标签中包含一些用于理解怎样编写组件的组件,它提供了这些组件的源代码,因此可以看出它们是怎样工作的,样本组件包括TGauge、TColorButton、TSpinButton,TSpinEdit,TDirectoryOutline和TCalendar。

9、ActiveX控件

0112

ActiveX标签中包含ActiveX控件,这些控件可用于应用程序,这些控件包括Software FX公司的Chart Ix、Visual Component公司的Visual Speller、以及Bits Per Second公司的Formula One Spreadsheet、Formula One VtChart和Graph控件。

10、GDI类

GDI(图形设备接口)类在Windows GUI应用程序中起很大作用,这些类封装了位图、字体、设备描述环境(DCs)、画笔和笔等应用,它可以通过这些GDI对象把图形和文本在窗口上显示出来。GDI类与一个具体的组件没有联系,但很多类都有这些类的属性实例。例如,编辑控件有一个属性叫Font,它是TFont类的实例。

术语设备描述环境(device context)在传统的Windows程序员中是很著名的,但在VCL中此术语用的并不广泛,这是因为VCL在TCanvas类中封装Windows DC,VCL用术语画布(Canvas)来表示Windows设备描述环境。画布提供了可以用来画画的面,它用的方法是MoveTo、LineTo和TextOut,通过用Draw或StretchDraw方法可以再画布上显示位图。画布可以用来在其上画画。

TCanvas类包含了其他类GDI类的实例。例如,当做MoveTo/LineTo工作时,线是用当前画笔画的,Pen属性用来决定当前笔色,Pen属性是TPen类的一个实例。TPen有一些决定画什么类型线的属性,其类型有:线宽、线的格式(实线、虚线、点线等)和画线的模式。

TBrush类代表画笔,画笔是用来为画布操作填补画案,比如像FillRect,Polygon和Ellipse等画布操作,TBrush属性包括Color,Style和Bitmap。Style属性可以为画笔设置阴影线图案。Bitmap属性可以为填充一个位图。

TBitmap类封装了VCL中的位图操作,其属性包括Palette,Height,Width和TransparentColor,其方法包括LoadFromFile,LoadFromResourceID和SaveToFile,其他组件类也可以用TBitmap,除了TCanvas外诸如TImage、TBitBtn和TSpeedButton等都可以用TBitmap,在大量图形应用程序中通常用脱屏位图,这样可以减少闪动,改善图形质量。

TFont类处理字体操作,其属性包括Color,Height和Style。所有显示文本的组件类都有TFont类。

除了这里列出的GDI类以外,还有一些其他类,在以后的Delphi学习过程中,我们将会学习到更多有关这方面的类,并掌握使用它们。

下图显示了GDI类继承关系:

0113

11、实用类(Utility Class)

VCL包括很多实用类,这些实用类可以用在应用程序中,实用类可以简化一些Windows编程。例如,TIniFile可以方便地使用Windows配置文件读和写(.INI文件),一般常识是在外面用.INI文件,在内部用Registry注册表,为了使用注册表方便,VCL提供了TRegistry和TRegkeyInfo类。

TStringList类可以表示字符串数组,TStringList类可以被很多类用来存储字符串,例如,TMemo类的Lines属性就是一个TStringList对象,通过用LoadFromFile和SaveToFile方法,TStringList可以保存字符串列表文件,或从文件中加载字符串列表,TStringList也可以用来读写文本文件。

另一个VCL实用类就是TList类,这个类可以建立任何想要的类型对象数组。TList类可以存储指针清单,TList类主要优点就是它提供了一种方法,这种方法可以使数组随着增加和删除对象,动态地扩大或缩小。

VCL还包括一些类,这些类可以用来读写数据流(数据流实际上只是数据块)。TStream,TFileStream,TMemoryStream和TResourceStream类都可以读写数据流,TStream是所有数据流类的基类,当处理磁盘上的文件时就会用到TFileStream类,在内存中处理数据时就要用到TMemoryStream类,从EXEs和DLLs中加载二进制资源时就要用到TResourceStream类,这些类还有更高级的用法,当需要它们提供的这些特别功能时,它们是很有用的。更多这些类的详细信息请大家自己看看Delphi VCL Help。

这不是全部

讨论到这里并没有讨论到所有的VCL类,但这里所涉及到的类在应用程序中用到的可能性很大。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190031.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eclipse中文版自动补全设置

    eclipse中文版自动补全设置eclipse中文版自动补全设置如下:

    2022年6月28日
    26
  • jenkins 邮件_un38.3测试报告

    jenkins 邮件_un38.3测试报告前言前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了。安装EmailExtensionPlugin插件jenkins首页-

    2022年7月29日
    5
  • autoconf 手册

    autoconf 手册 AutoconfCreatingAutomaticConfigurationScriptsEdition2.13,forAutoconfversion2.13December1998byDavidMacKenzieandBenElliston   目录介绍创建configure脚本

    2022年5月27日
    26
  • 完全兼容mysql国产_国产的数据库都有哪些?

    完全兼容mysql国产_国产的数据库都有哪些?国内四大单机数据库 武汉达梦 DM 人大金仓 Kingbase 南大通用 Gbase 神通 OSCAR 国产分布式数据库 蚂蚁金服 OceanBase 腾讯 TDSQL 中兴 GoldenDB 华为 GaussDB200 巨杉 SequoiaDB 易鲸捷 EsgynDB 万里开源 GreatDB 星环科技 KunDB 国产云数据库 阿里 AnalyticDB 腾讯 CynosDB 华为 HWSQL 百度 TDB 京东云 DRDS 金山 K

    2026年1月25日
    2
  • add attribute什么意思_addition的用法及短语

    add attribute什么意思_addition的用法及短语Attributes.Add(“javascript事件”,”javascript语句”);如:this.TextBox1.Attributes.add(“onblue”,”window.Label1.style.backgroundColor=’#000000′;”)

    2022年9月26日
    3
  • wing是什么_最短路径floyd算法例题

    wing是什么_最短路径floyd算法例题给定一个由 n 行数字组成的数字梯形如下图所示。梯形的第一行有 m 个数字。从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径。规则 1:从梯形的顶至底的 m 条路径互不相交。规则 2:从梯形的顶至底的 m 条路径仅在数字结点处相交。规则 3:从梯形的顶至底的 m 条路径允许在数字结点相交或边相交。对于给定的数字梯形,分别按照规则 1,规则 2,和规则 3 计算出从梯形的顶至底的 m 条路径,使这 m 条路径经过的数字总和最大。输入格式第 1

    2022年8月9日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号