CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

继承TPANEL问题

楼主notruiyi(什么乱七八糟的)2006-07-03 17:48:06 在 Delphi / VCL组件开发及应用 提问

我继承了一个PANEL,然后在一个PANEL中添加我新继承的对象,使用的方法是INSERTCONTROL,  
  提示我类型错误,说我的类不是TCONTROL.我明明是从TPANEL继承的,为什么呢? 问题点数:100、回复次数:10Top

1 楼linzhengqun(风。我回来了)回复于 2006-07-03 19:30:09 得分 20

不般不要调用INSERTCONTRO,而是将你的Panel的Parent设为那个Panel即可。  
  VCL会自动调用INSERTCONTRO的Top

2 楼notruiyi(什么乱七八糟的)回复于 2006-07-04 09:35:15 得分 0

这样也不行.要求的PARENT要求将是TWidgetControl,现在设置成TPanel提示类型不匹配Top

3 楼notruiyi(什么乱七八糟的)回复于 2006-07-04 10:45:25 得分 0

人呢,实在没人顶一下我也好送分Top

4 楼dabaicai(烈士暮年)回复于 2006-07-04 10:49:18 得分 20

先顶,给分,呵呵  
  你是先通过继承panal写了个控件?   然后再在一个panal控件上面放一个你写的这个控件吗?  
  这样的话你先手工放一个试试,不要用语句看看结果Top

5 楼wudi_1982(向伴水学习|胃出血,住院中)回复于 2006-07-04 10:51:05 得分 5

贴出来部分代码看看。。。Top

6 楼wudi_1982(向伴水学习|胃出血,住院中)回复于 2006-07-04 10:59:28 得分 45

unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,  
      Dialogs,   StdCtrls,   ExtCtrls;  
   
  type  
      tp   =   class(TPanel)  
          public  
              lb   :   TLabel;  
              constructor   Create(AOwner:   TComponent);   override;  
      end;  
      TForm1   =   class(TForm)  
          Memo1:   TMemo;  
          Button1:   TButton;  
          Panel1:   TPanel;  
          procedure   Button1Click(Sender:   TObject);  
      private  
          {   Private   declarations   }  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.dfm}  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var  
      a   :tp;  
  begin  
        a   :=   tp.Create(nil);  
        a.Parent   :=   Form1;  
        a.Left   :=   100;  
        a.Top   :=   200;  
        a.Caption   :=   'adsfasf';  
  end;  
   
  {   tp   }  
   
  constructor   tp.Create(AOwner:   TComponent);  
  begin  
      inherited;  
      lb   :=   TLabel.Create(AOwner);  
      lb.Parent   :=   Self;  
      lb.Left   :=   10;  
      lb.Top   :=   10;  
      lb.Caption   :=   'haha';  
  end;  
   
  end.  
  WINXP   D7下测试通过Top

7 楼notruiyi(什么乱七八糟的)回复于 2006-07-04 13:33:08 得分 0

我要的是我从TPANEL继承出来一个类,然后在其他PANEL上通过InsertControl方法插入数目不要定的新定义的类的对象Top

8 楼notruiyi(什么乱七八糟的)回复于 2006-07-05 16:02:01 得分 0

人呢  
  ?Top

9 楼torrentwang(代码工人)回复于 2006-07-05 16:07:09 得分 10

TPanel(yourcomponent)   强制转化一下试验看看Top

10 楼notruiyi(什么乱七八糟的)回复于 2006-07-05 16:26:06 得分 0

强制转换会出现错误Top

相关问题

关键词

得分解答快速导航

  • 帖主:notruiyi
  • linzhengqun
  • dabaicai
  • wudi_1982
  • wudi_1982
  • torrentwang

相关链接

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

广告也精彩

反馈

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