如要这样子做的话,我还不如在窗体的MOUSEMOVE事件里做好呀!

解决方案 »

  1.   

    先继承该控件!
    TMyPanel = class(TPanel) 
    private 
      procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; 
    end;var MyPanel:TMyPanelprocedure TMyPanel.CMMouseLeave(var Message: TMessage);
    begin
      ......
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      MyPanel:=TMyPanel.Create(self);
      MyPanel.Parent:=Form1;
    end;
      

  2.   

    也可以写个MyPanel控件!
      unit MyPanel; 
      interface 
      uses 
        Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, 
        ExtCtrls; 
      type 
        TMyPanel = class(TPanel) 
        private 
          FOnMouseLeave: TNotifyEvent; 
          procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE; 
        protected 
        public 
        published 
          property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave; 
        end; 
      
      procedure Register; 
      
      implementation 
      
      procedure Register; 
      begin 
        RegisterComponents('Ehomsoft', [TMyPanel]); 
      end; 
      
      procedure TMyPanel.CMMouseLeave(var Message: TMessage); 
      begin 
        inherited; 
        if Assigned(FOnMouseLeave) then FOnMouseLeave(Self); 
      end; 
      
      end.