下面是简单的例子,不知道该如何OVERRIDE 事件!
我想在LABEL 的OnMouseEnter事件中改变 COLOR:=clBlue;
我该怎么写???
请大侠帮忙!!!unit MyLabel;interfaceuses
  SysUtils, Classes, Controls, StdCtrls,Graphics;type
  TMyLabel = class(TLabel)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }    //Events OnMouseEnter;override;
    Constructor Create(AOwer:TComponent);override;
  published
    { Published declarations }
  end;procedure Register;implementationprocedure Register;
begin
  RegisterComponents('MyComponent', [TMyLabel]);
end;constructor TMyLabel.Create(AOwer: TComponent);
begin
  inherited Create(AOwer);
  color:=clRed;end;end.

解决方案 »

  1.   

    在published中加入
    property CMENTER(var msg: TMessage);message CM_MOUSEENTER
    proeprty CNLEVEL(var msg: TMessage);message CM_MOUSELEVEL然后再后事件中的代码。
      

  2.   

    上面的代码继承自TLABEL 组件,
    但我并不想再发布任何的属性和方法!! 
    我只是想OVERRIDE LABEL 的ONMouseEnter 事件!!!
      

  3.   

    试试我的代码,比较简单,但可以是你的要求。unit labelex;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;type
      tlabelex = class(tlabel)
      private
       procedure wndproc(var Message: TMessage);override;{ Private declarations }
      protected
        { Protected declarations }
      public
        { Public declarations }
      published
        { Published declarations }
      end;procedure Register;implementationprocedure Register;
    begin
      RegisterComponents('Samples', [tlabelex]);
    end;{ tlabelex }
    { tlabelex }procedure tlabelex.wndproc(var Message: TMessage);
    begin
      inherited;
      if message.Msg=WM_MOUSEMOVE then self.Color:=clred;
    end;end.ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
    ﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏
        →不积跬步,无至千里←      
    ﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋
       ㊣ 〆Chang Chun HVST Soft Time ゞ 
    ˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ
                 ゛ ♂ghyghostヾ℡       
    〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
      

  4.   

    TO  CoolSlob(我拿青春赌明天) 
     彼此,你也有答案,也是为了论坛:)