网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
通过实例看VCL组件开发全过程(二)
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

(接上文)

组件的代码由于假设你已经熟悉delphi开发(它和一般开发没什么不同),我们就直接贴出来并加上适当的注释:



unit Clock;



interface



uses

  SysUtils, Classes, Controls, StdCtrls,ExtCtrls;



type

  TState=(StClock,StRunClock,StBackClock);//定义枚举类表示控件的3种状态:时钟、跑表、倒计时钟



  TClock = class(TCustomLabel)

  private

    fState:TState;

    fTimer:TTimer;//为什么使用这个组件作为我们组件的私有成员就不用说了吧

    RCD:array[1..8] of integer;//跑表中的各个数位。

    fBeginTime:string;//到计时时的开始时钟,之所以没用TTime类型是为了在后面演示属性编辑器

    fWakeTime:string;//闹钟时间,出于和上面同样的理由

    fAllowWake:boolean;//是否开启闹钟功能

    fOnWakeUp:TNotifyEvent;//为了使组件更加完美,我们允许组件用户能够响应闹钟到来时的时件

    fOnTimeUp:TNotifyEvent;//同上能够响应倒计时种完成时的事件,我们将发布这两个事件

    function GetActive:boolean;//控制Timer是否工作以控制3种状态的钟是否工作

    procedure SetActive(Value:boolean);

    procedure SetState(Value:TState);

    procedure SetBeginTime(Value:string);

    procedure SetWakeTime(Value:string);

  protected

    procedure WalkClock(sender:TObject);//作为时钟时走种的事件

    procedure RunClock(sender:TObject); //跑表

    procedure BackClock(sender:TObject);//倒计时

  public

    constructor Create(AOwner:TComponent);override;//完成一些初始化工作

    procedure ReSetRunClock; //跑表和倒计时都需要一个复位方法给组件使用者调用

    procedure ReSetBackClock;

  published

    property State:TState read fState write SetState default StClock;//默认为时钟状态

    property Active:boolean read GetActive write SetActive;//控制3种状态的钟是否工作

    property BeginTime:string read fBeginTime write SetBeginTime;

    property WakeTime:string read fWakeTime write SetWakeTime;

    property AllowWake:boolean read fAllowWake write fAllowWake;

    property OnWakeUp:TNotifyEvent read fOnWakeUp write fOnWakeUp;

    property OnTimeUp:TNotifyEvent read fOnTimeUp write fOnTimeUp;

    //最后我们再发布一些被TCustomLabel所隐藏而我们又需要的属性

    property Align;

    property Alignment;

    property Color;

    property Font;

    property ParentColor;

    property ParentFont;

    property ParentShowHint;

    property PopupMenu;

    property ShowHint;

   &n

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号