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

刚开始学习做组件,几个小问题请教各位高人。

楼主nnnnyyyy(海洋之心)2006-03-01 19:39:57 在 Delphi / VCL组件开发及应用 提问

由于刚开始学习编写组件,还没入门。所以请兄弟指教:  
   
   
  1、写完组件程序以后不知道如何编译、测试。我每次都是保存程序,然后再把这个组件重新安装。在安装的过程中编译,每改动一次都要装一次,郁闷。有没有好的方法?  
  2、颜色如何递加?     Canvas.Pen.Color   :=   $00a0a0a0;  
  3、想实现这样一种按钮,就是有背景色、还要渐变的。但是装了以后没反应:  
   
  unit   CoolButton;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Classes,   Controls,   ExtCtrls,   Graphics;  
   
  type  
      TCoolButton   =   class(tcustompanel)  
      private  
          {   Private   declarations   }  
   
          //发布基类属性  
          procedure   SetCaption(const   Value:   TCaption);  
      protected  
          {   Protected   declarations   }  
          procedure   Paint();   override;  
      public  
          {   Public   declarations   }  
   
          constructor   Create(AOwner:   TComponent);   override;  
   
          destructor   Destroy();   override;  
      published  
          {   Published   declarations   }  
   
          //发布基类属性  
          property   Caption   write   SetCaption;  
      end;  
   
  procedure   Register;  
   
  implementation  
   
  procedure   Register;  
  begin  
      RegisterComponents('standard',   [TCoolButton]);  
  end;  
   
  {   TCoolButton   }  
   
  constructor   TCoolButton.Create(AOwner:   TComponent);  
  begin  
      inherited   Create(AOwner);  
   
      //初始化基类值  
      Width   :=   75;  
      Height   :=   25;  
   
      Repaint;  
  end;  
   
  destructor   TCoolButton.Destroy;  
  begin  
   
      inherited;  
  end;  
   
  procedure   TCoolButton.Paint;  
  var  
      IHeight:   integer;   //IWidth,  
  begin  
      inherited;  
      Canvas.Pen.Color   :=   $00a0a0a0;  
   
      for   IHeight   :=   Top   to   (Top   +   Height)   do  
          begin  
                Canvas.MoveTo(Top,   Top   +   IHeight);  
                Canvas.LineTo(Top   +   Width,   Top   +   Width   +   IHeight);  
          end;  
  end;  
   
  procedure   TCoolButton.SetCaption(const   Value:   TCaption);  
  begin  
      inherited   Caption   :=   Value;  
  end;  
   
  end.  
   
   
    谢谢大家,不胜感激。 问题点数:100、回复次数:6Top

1 楼lanyus()回复于 2006-03-01 21:34:31 得分 0

偶顶..努力学习中。。。希望能早日能写组件。。。Top

2 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2006-03-01 21:45:34 得分 80

2、颜色如何递加?     Canvas.Pen.Color   :=   $00a0a0a0;  
  color:=rgb(random(255),random(255),random(255));  
  当然,也可     color:=rgb(random(255),random(255),   10   *   i);  
   
  >>3、想实现这样一种按钮,就是有背景色、还要渐变的。但是装了以后没反应:  
   
  inherited;  
      Canvas.Pen.Color   :=   $00a0a0a0;  
   
      for   IHeight   :=   Top   to   (Top   +   Height)   do  
          begin  
                Canvas.MoveTo(Top,   Top   +   IHeight);  
                Canvas.LineTo(Top   +   Width,   Top   +   Width   +   IHeight);  
          end;  
  这样,估计会将caption的文字挡掉  
   
  Top

3 楼nnnnyyyy(海洋之心)回复于 2006-03-02 09:39:56 得分 0

第一问,有哪位高人能救一下火?Top

4 楼netfly(支点)回复于 2006-03-02 13:50:00 得分 10

不用重新安装的,把组件进行一次编译就可以了.     这个是一种方法  
   
  还有就是自己做一个组件测试的工具,其实也不复杂,就是将组件包含入一个项目,然后直接在测试代码里创建就行了,   用多了,这个工具就很有用了Top

5 楼summersky204608()回复于 2006-03-02 14:50:04 得分 0

学校学习!Top

6 楼gflpower(燕赤侠)回复于 2006-03-02 17:05:15 得分 10

 
  如果要实现渐变的话     ,   看一MSND里CBITMAP  
   
  比较我麻烦      
  !Top

相关问题

  • 学习组件
  • 各位大虾推荐推荐学习编写ASP组件的好书!!
  • 深入学习TTreeView组件
  • 开始学习写dll组件,送第一个作品——将DataGrid中的数据写入Excel的类库。
  • 今天开始学习JAVA,望各位高手指教一二
  • 100!开始学习,各位能否给个Demo!
  • 兄弟新近开始学习perl,请各位指点一二。
  • 开始学习PB,请各位老鸟训导
  • 请高手推荐几本学习组件的书
  • 学习ASP.NET安装VS2003.NET都需要安装那些组件?

关键词

  • 组件
  • 渐变
  • 学习
  • 安装
  • 测试
  • top
  • a0a0
  • tcoolbutton
  • iheight
  • aowner

得分解答快速导航

  • 帖主:nnnnyyyy
  • aiirii
  • netfly
  • gflpower

相关链接

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

广告也精彩

反馈

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