我想创建一个新类,从Tbutton类继承,新增一些属性和方法,总之是做一个想qq头像按钮那样的可以动态生成和存储用户信息和响应事件的类或组件,不知道该怎么做,小弟太菜了,又没有时间现去翻书了,各位大虾救急,先谢过了

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    type Tbutton=class(StdCtrls.TButton)
      private
        fMMouseEnter:TNotifyEvent;
        fMMouseLeave:TNotifyEvent;
        procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
        procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
      Public
        property OnMMouseEnter:TNotifyEvent read fMMouseEnter write fMMouseEnter;
        property OnMMouseLeave:TNotifyEvent read fMMouseLeave write fMMouseLeave;
    end;
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        procedure Button1ONMouseEnter(Sender: TObject);
        procedure Button1ONMouseLeave(Sender: TObject);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation
    {$R *.dfm}
    procedure Tbutton.CMMouseEnter(var Message: TMessage);
    begin
      if assigned(fMMouseEnter) then fMMouseEnter(Self);
    end;
    procedure Tbutton.CMMouseLeave(var Message: TMessage);
    begin
      if assigned(fMMouseLeave) then fMMouseLeave(Self);
    end;procedure TForm1.Button1ONMouseEnter(Sender: TObject);
    begin
      caption:='移入';
    end;
    procedure TForm1.Button1ONMouseLeave(Sender: TObject);
    begin
      caption:='移出';
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Button1.Height:=100;
      Button1.Width:=200;
      Button1.OnMMouseEnter:=Button1ONMouseEnter;
      Button1.OnMMouseLeave:=Button1ONMouseLeave;
    end;end.
      

  2.   

    不好意思,老板催得急,又找不到现成的,只好如此了,只是希望做过类似程序的给点建议或是copy一段代码给小弟研究研究,小弟现在也正在翻书呢,还是要谢谢各位