Delphi中自制动态显示的控件

Delphi以其优秀的界面和简单的用法深受广大程序员的喜爱.笔者经过摸索,自制了一个具有动态显示特性的控件。只需在主程序中调用该控件的一个方法即可实现动态显示。

在动态显示的同时,为了不影响主程序做其他的事情,笔者采用了比较流行的线程技术。

一.方案

自制一个父类为TEdit的控件,应该有一个Text属性,能自由地输入要动态显示的内容; 并且有一个MoveShow方法,使的Text的内容能动态的显示。在主程序中创建一个线程,启动线程时,调用该控件的MoveShow方法。

二.制作控件

启动New Component,选Tedit为父类,建立L_Tedit1类,并创建L_edit.pas. 再编写L_edit.pas 如下:

unit L_Edit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs,
StdCtrls;
type
L_TEdit1 = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner:TComponent); override;
procedure MoveShow;
published
{ Published declarations }
property Text;
end;
procedure Register;
implementation
constructor L_TEdit1.Create(AOwner:TComponent);
begin
inherited create(aowner);
color:=clblue;
font.Color:=clyellow;
font.Size:=12;
font.Name:= '@仿宋_GB2312';
tabstop:=false;
update;
end;
procedure L_TEdit1.MoveShow;
var
edit_length,i:integer;
edit_char:char;
chars: string;
begin
chars:='';
if (length(text)=0) then
text:=’Welcom you to use the software!’;
edit_length:=length(text);
for i:=1 to edit_length do
begin
edit_char:=text[1];
if (Ord(edit_char) >127) then
if length(chars) >1 then
begin
text:=copy(text,2,edit_length-2)+chars;
chars:='';
end
else
begin
chars:=copy(text,1,2);
text:=copy(text,2,edit_length-1);
end
else
begin
text:=copy(text,2,edit_length-1)+edit_char;
end;
update;
sleep(100);
end;
end;
procedure Register;
begin
RegisterComponents('Samples', [L_TEdit1]);
end;
end.
再保存该文件。

启动Image Editor 创建L_Edit.dcr , 选New- >Bitmap,自己做一个图标,保存名为L_TEDIT1(与新建的类同名)。注意L_Edit.dcr 与L_Edit.pas 要在同一个目录中(缺省为\delphi\lib目录中。再单击Install Component. 选Into new package属性页,填上L_Edit.pas 的路径和文件名,并在该路径下新建L_Edit1.dpk 文件。之后一直单击OK即可。此时我们可以在Delphi 的工具栏Sample 一项中看到自己创建的图标。

时间: 2024-10-05 13:44:38

Delphi中自制动态显示的控件的相关文章

Delphi中继承方式使用控件

以前写代码, 总是把主单元弄得满满当当; 现在更喜欢把控件比较独立的功能写成一个单元, 改写属性. 重载方法...哪怕只有一点点和默认不同, 也喜欢独立出来. 刚刚用到 TListBox, 需要能拖动元素.双击删除.   unit ListBox2; interfaceuses System.Classes, Vcl.Controls, Vcl.StdCtrls, System.Types; type TListBox2 = class(TCustomListBox) protectedproc

在Delphi中编制软件版权保护控件

一.概述 软件作为一种人类智力劳动成果的一种表现形式,融会了设计者和开发者辛勤的劳动和汗水,然而,由于用户观念上的差异和盗版软件的泛滥,软件开发者的权益往往得不到有效的保护,因此,作为必要的手段-----软件的自身保护也就在特定的环境下被重视起来. 然而,正所谓,"魔高一尺,道高一丈",保护和破解的矛盾关系在始终持续着,要想找到一种万能的保护方法,却也不是那么简单的事.但是,如果开发者使用的保护手段连一般用户都能破解的话(如:修改系统日期),这样的保护则显然达不到保护软件版权的目的.

asp.net中td中的两个控件左右并排好了,但是如何上下居中,怎么弄都不得,大神帮看看

问题描述 asp.net中td中的两个控件左右并排好了,但是如何上下居中,怎么弄都不得,大神帮看看 /asp:TextBox 如何让这个TextBox控件和ImageButton控件都是并排的上下居中吖,我用了valign="middle" 还是不得,各位大神,帮帮我吧,我弄了一个早上了,明天要交作业了 解决方案 td不够宽导致另外控件换行了吧,td宽度设置大一点能容下2个按钮 解决方案二: 长度是足够长的,会不会是我的TextBox小了?因为我的图片比那个TextBox大,可以再帮我

深聊软件设计中最基础的控件元素

  控件作为组织界面最基础的元素,相信大家都不会陌生,今天想谈谈这个不起眼的话题.文章从现实的控件过渡到软件界面,再用三大输入法的控件作为实际案例解说,全文干货满满,来收! 一.现实世界的控件 "放学铃一响,小明立刻飞奔回家,到家后一手换鞋一手开灯,随即又躺在沙发上将风扇调至最大档." 开门进屋.拨动开关.调节风速--一连串动作中的门把.灯挚.旋钮都是我们所说的控件.那控件究竟是什么呢?从字面上解释,控件(Widgets/Controls)就是可以通过直接操作而实现控制的物件. 如果从

抢先试用ASP.NET 2.0中的新型安全控件

asp.net|安全|控件 一. 引言 与ASP.NET 2.0一同上市的有几个新的安全控件-它们位于工具的Login选项卡中(见图1)-这些控件大大简化了Web开发人员的工作.通过使用这些新的安全控件,现在你可以执行例如用户登录.注册.口令改变等的任务:而且,为此做出的努力仅是拖放相应的控件到你的Web表单上去.在本文中,我将向你展示怎样使用这些新控件来实现用户认证. 首先,让我们探索一下LoginView.LoginStatus和LoginName三个控件的使用.首先,让我们使用Visual

在.NET开发中灵活使用TreeView控件

treeview|控件 ASP.NET真正有用的特性就是其可扩充性.世界各地的开发人员都可以创建自己的自定义控件,这种自定义控件可以方便地在你自己的过程中进行定义.其中,Internet Explorer Web Controls就是由微软公司在标准的ASP.NET控件之外创建的这样一个集合. Windows资源管理器中的驱动器和其下的文件及文件夹就是按照一种层次结构来安排的,在这个控件集中有一个treeview控件为我们提供了一种按层次结构显示信息的方式.treeview控件包含了称做"节点&

从在 Internet Explorer 中使用 Windows 窗体控件开始谈Smart Client

client|window|控件 首先引用Microsoft Windows 窗体快速入门教程上的文章"在 Internet Explorer 中使用 Windows 窗体控件":(如果引用的一些信息无法正常显示,请直接上面上的链接查看) 本主题描述如何在 Internet Explorer (IE) 内成功地执行 Windows 窗体控件.IE 内的 Windows 窗体控件无需用户提示即可激活,它不要求注册,而且利用公共语言运行库 (CLR) 代码访问安全性. 在 Internet

在asp.net中为Web用户控件添加属性和事件

asp.net|web|控件 在asp.net中为Web用户控件添加属性和事件 在90年代初,Microsoft为Web程序员提供的 Active Server Pages(ASP)革命性地改变了Web的编程.它可以利用十分易用的模型在Web服务器上动态生成HTML,并且很容易的实现了对数据库的访问,就当时来说,这是一项多么吸引人的技术,包括现在Internet上的许多web站点都是用Asp写的,我的同事前辈们更是玩Asp的高手,经历这么多年而不衰,可见他的成功. 但是,技术是在不断的发展着,引

在IE浏览器中使用Windows窗体控件(一)

window|控件|浏览器 在IE浏览器中使用Windows窗体控件(一) 作者::Thiru Thangarathinam 翻译:秋枫 引言 在过去,Web程序员经常在他们的Web程序中使用ActiveX控件来实现一些胖客户端才具有的功能.不过现在开发者可以很容易的通过Microsoft.NET Framework来简洁和安全的建立对象,并且方便的在IE浏览器中切入使用.通过在IE浏览器中创建Windows窗体控件,开发者可以实现丰富的web客户端.在这篇文章中,我们将会知道怎样创建Windo