以下是我的代码...unit epMoveForm1;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  EPCtrls;type
  TepMoveForm1 = class(TepMoveForm)
  private
    { Private declarations }
    FOnMouseDown : TMouseEvent;
WM_LBUTTONDOWN;  protected
    { Protected declarations }
Integer); dynamic;
  public
    { Public declarations }
  published
    { Published declarations }
    property OnMouseDown : TMouseEvent read FOnMouseDown write FOnMouseDown;
  end;procedure Register;implementationprocedure Register;
begin
  RegisterComponents('Self', [TepMoveForm1]);
end;end.加入控件后有了 OnMouseDown 事件但是好像按下鼠标后不起作用。

解决方案 »

  1.   

    我还想知道为什么你这么写就想让控件有反应叻!
    去看看申旻的《Delphi高手突破》里面讲的很清楚了!
      

  2.   

    要在
    OnMouseDown
    写下
    inherited
      

  3.   

    我认为不是少加了什么,而是多加了一些没必要的代码,
       property OnMouseDown : TMouseEvent read FOnMouseDown write FOnMouseDown;
    你重新定义了一个OnMouseDown事件(覆盖了父类的OnMouseDown),但又没有给出响应的代码,
      if Assigned(FonMouseDown) then FonMouseDown(...);
    所以你的OnMouseDown不响应很正常,可以改为
      published
        property OnMouseDown;
      end;
      

  4.   

    他的父类没有 OnMouseDown  怎么办?
      

  5.   

    OnMouseDown是在TControl类中定义的,它的子类都有该事件,只要加上
      published
        property OnMouseDown;
      end;
    声明出来就可以了