CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

自定义控件中一点凝问,请帮手……

楼主Ouyangzm(Ouyang)2004-04-04 11:23:13 在 Delphi / VCL组件开发及应用 提问

我想做一个自定义控件,在panel显示时间,设定闹钟的。  
   
  下面是参考书上的一点代码:  
  unit   Clock;  
   
  interface  
   
  uses  
      SysUtils,   Classes,   Controls,   ExtCtrls;  
   
  type  
      Clock   =   class(TPanel)  
      private  
          {   Private   declarations   }  
          Timer1:TTimer;     //时间控件  
          Factive:Boolean;     //时钟控件是否处于激活状态  
          FBeep:Boolean;     //是否报时  
          Fnow:TDateTime;     //存放当前时间  
          procedure   CheckBeep;  
      protected  
          {   Protected   declarations   }  
          procedure   TimeOn(sender:TObject);       //处理的方法程序  
      public  
          {   Public   declarations   }  
          constructor   Create(Owner:TComponent);     //构造方法  
          destructor   destory;override;                   //构析方法  
      published  
          {   Published   declarations   }  
          property   Active:Boolean   read   Factive   write   Factive;     //激活时间  
          property   Beep:Boolean   read   Fbeep   write   FBeep;               //激活闹钟  
      end;  
   
  procedure   Register;  
   
  implementation  
   
  procedure   Register;  
  begin  
      RegisterComponents('Samples',   [Clock]);  
  end;  
   
  {   Clock   }  
   
  procedure   Clock.CheckBeep;  
  var   h,m,s,ss:word;  
  begin  
      DecodeTime(now,h,m,s,ss);     //用函数decode()取时、分、秒、毫秒  
      if   (h=0   and   m=0   and   s=0)or(m=59   and   60>=s+h)   then  
      begin  
          asm   mov   ax   0e07h  
                  int   10h;  
          end;  
      end;  
  end;  
   
  constructor   Clock.Create(Owner:   TComponent);  
  begin  
      inherited   Create(owner);                   有问题???????  
      parent:=Aowner   as   tWinControl;       有问题???????      
      timer:=TTimer.create(self);             有问题???????  
   
  end;  
   
  在上面的代码中:  
  inherited   Create(owner);                   有问题???????  
  parent:=Aowner   as   tWinControl;       有问题???????      
  timer:=TTimer.create(self);             有问题???????  
  1、前两行是什么意思啊?  
  2、为什么在输入inherited   create然后按ctrl+enter时却没有我create的提示出来?  
  3、在第二行和第三行也出现ctrl+enter时却没有找一关键字的内容,如time时按ctrl+enter后却没有出现上面定义的timer啊?  
   
  请高手帮忙上面三个问题。TKS!  
  问题点数:50、回复次数:5Top

1 楼zihan(子寒)回复于 2004-04-04 11:36:01 得分 20

inherited   Create(owner);                   调用父类的该方法  
  parent:=Aowner   as   tWinControl;       设置他的parent位Aowner,不过好像你写错了吧.  
  这个提示不一定都有的,正常.  
  Top

2 楼Ouyangzm(Ouyang)回复于 2004-04-04 11:50:42 得分 0

哦,打错了字,上面的owner全部是Aowner  
  为什么要用Aowner呢?Top

3 楼SydPink(Miss Syd.Barrett)回复于 2004-04-04 11:59:05 得分 15

inherited   Create(Aowner);                   没有问题  
      parent:=Aowner   as   tWinControl;       去掉!!!  
      timer:=TTimer.create(self);             没有问题  
  Top

4 楼SydPink(Miss Syd.Barrett)回复于 2004-04-04 12:00:05 得分 15

构造方法里,记得把Timer1.Enabled:=false;Top

5 楼SydPink(Miss Syd.Barrett)回复于 2004-04-04 12:00:45 得分 0

constructor   Create(Owner:TComponent);     //构造方法  
   
    constructor   Create(Owner:TComponent);     override//构造方法  
   
  Top

相关问题

  • 自定义控件
  • 编写自定义控件
  • 自定义控件问题
  • 自定义控件问题
  • 关于自定义控件
  • 自定义控件问题?
  • 自定义控件赋值???
  • 自定义控件问题
  • 自定义控件问题
  • 自定义控件问题

关键词

  • aowner
  • fbeep
  • ttimer
  • factive
  • clock
  • owner
  • 方法
  • 构造
  • timer
  • tcomponent

得分解答快速导航

  • 帖主:Ouyangzm
  • zihan
  • SydPink
  • SydPink

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo