大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 增强Delphi的TStatusBar控件

增强Delphi的TStatusBar控件

时间: 2021-07-31 作者:daque

在office 2000、internet explorer以及netscape 等软硬件中,咱们不妨看到特殊美丽的窗口状况条。更加是netscape communicator,在它的窗口状况条中不只表露有笔墨,并且再有图形、动画、浮动按钮以及进度条。对于delphi编制程序职员来说,为一个窗口创造状况条利害常简单的工作,delphi所供给的tstatusbar可视化控件不妨让咱们赶快地实行状况条。但是令人可惜的是用tstatusbar创造的状况条仅能表露笔墨。正文向大师引见怎样在delphi步调中创造更为美丽的statusbar。 ---- 要创造一致netscape作风的状况条,现有的delphi控件是爱莫能助的了。为了让窗口状况条能包括非文本实质,咱们须要对现有的tstatusbar控件加以矫正。在tstatusbar控件的普通上,咱们编写一个新的delphi控件tstatusbarex。大师领会,delphi的tstatusbar控件是不许接收其它控件的,以是咱们不大概将一个timage、tbutton等放在tstatusbar上。然而咱们接下来要创造的tstatusbarex控件将不妨容纳其它的控件。经过tstatusbarex控件,咱们不妨使delphi创造的状况条跟netscape的状况条一律美丽,让其不妨包括图形、动画、进度条之类。 ---- 在delphi中,一个控件上是否变成其它控件的父控件在于于此控件的controlstyle属性。controlstyle属性是汇合典型的,即使此汇合包括csacceptscontrols元素,则它能接收其它控件;要不,它就不许变成其它控件的父控件。controlstyle属性只能在控件的结构因变量(constructor)中指定,在步调运转时它是不许被变换的。以是即使蓄意窗口状况条上头能包括其它控件,咱们只须要在接受类中重载tstatusbar控件的constructor因变量,而且让控件的汇合属性controlstyle中包括csacceptscontrols即可。 tstatusbarex控件的实行 ---- 以次是实行tstatusbarex控件的delphi源代码,请把这段代码正片下来,而且将其生存到文献statusbarex.pas中去。而后用delphi翻开statusbarex.pas文献,之后采用“component | install component …”,将tstatusbarex控件安置。 //文献名:statusbarex.pas unit statusbarex; interface uses windows, messages, sysutils, classes, graphics, controls, forms, dialogs, comctrls, dsgnintf; type //设置about属性的属性编纂器 tabout = class(tpropertyeditor) public procedure edit; override; function getattributes: tpropertyattributes; override; function getvalue: string; override; end; //设置tstatusbarex控件 tstatusbarex = class(tstatusbar) private { private declarations } fabout:tabout; protected { protected declarations } public { public declarations } constructor create(aowner: tcomponent); override; published { published declarations } property about: tabout read fabout; end; procedure register; implementation constructor tstatusbarex.create(aowner: tcomponent); begin inherited create(aowner); {为了让tstatusbarex控件能接收其它控件,必需 使controlstyle属性(汇合典型)包括csacceptscontrols元素} controlstyle:= controlstyle + [csacceptscontrols]; end; //以次是tabout中的分子因变量的实行 procedure tabout.edit; begin application.messagebox('tstatusbarex for delphi 5'#13#10 +'written by simon liu'#13#10 +'email:simon_liu@263.net', 'about tstatusbarex',mb_iconinformation); end; function tabout.getattributes: tpropertyattributes; begin result := [padialog, pareadonly]; end; function tabout.getvalue: string; begin result := '(simon)'; end; procedure register; begin //将tstatusbarex控件备案到delphi 5控件板的win32页上 registercomponents('win32', [tstatusbarex]); //为about属性备案属性编纂器 registerpropertyeditor(typeinfo(tabout), tstatusbar, 'about', tabout); end; end. ---- 运用tstatusbarex控件,咱们不妨特殊简单地在statusbar上填补其它的实质了。比方,即使想要在状况条上表露一个图片,只有在tstatusbarex控件上放一个image控件;想要增添一个进度条,只需在上头加一个progressbar就行了!

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.