panle有onmouseenter和onmouseleave事件,并且在该panel上还有其他控件,有什么办法能够使当鼠标移进panel或者移出panel时才触发onmouseenter和onkouseleave事件啊,而当鼠标移进panel内得其它控件并不触发onmouseenter和onmouseleave事件

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons, ExtCtrls;type
      TPanel=class(ExtCtrls.TPanel)
      private
        procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
        procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
      end;  TForm1 = class(TForm)
        Panel1: TPanel;
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TPanel.CMMouseEnter(var Message: TMessage);
    begin
      inherited;
      Caption:= 'Enter panel';
    end;procedure TPanel.CMMouseLeave(var Message: TMessage);
    begin
      inherited;
      Caption:= 'Leave panel';
    end;end.
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls;type
      TPanel=class(ExtCtrls.TPanel)
      private
        procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
        procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
      end;  TForm1 = class(TForm)
        Panel1: TPanel;
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure TPanel.CMMouseEnter(var Message: TMessage);
    begin
      inherited;
      Caption:= '在panel内';
    end;procedure TPanel.CMMouseLeave(var Message: TMessage);
    begin
      inherited;
      Caption:= '离开panel';
    end;end.
    方法同楼上的兄弟一样用CM_MOUSEENTER解决
      

  3.   

    楼主大人呀,你进入Panel中的其它控件,难道不经过Panel?
    就好象你说你进入了一幢大楼的房间,而却又说没进入大楼那么荒唐.
      

  4.   

    >>楼主大人呀,你进入Panel中的其它控件,难道不经过Panel?
    就好象你说你进入了一幢大楼的房间,而却又说没进入大楼那么荒唐.晕,这个意思啊。汗
      

  5.   

    panle有onmouseenter和onmouseleave事件>>>>有吗??不会是三方控件吧
      

  6.   

    我的意思看来大家还没有明白:我要说的是当鼠标移进panel时触发onmouseenter事件,当时当鼠标移进panel中的其他控件时又触发panel的onmouseleave事件,我想要的是只有当鼠标移出panel时才触发panel的onmouseleave事件
      

  7.   

    我的意思看来大家还没有明白:我要说的是当鼠标移进panel时触发onmouseenter事件,当时当鼠标移进panel中的其他控件时又触发panel的onmouseleave事件,我想要的是只有当鼠标移出panel时才触发panel的onmouseleave事件
    -----------------------------
    你再从头看看你贴子主体内容的表达吧,如果当初就是这样子描述,哪有那多问题呢?
      

  8.   

    获取鼠标当前坐标,判断是否移出panel的范围
      

  9.   

    你只要在你的TPANLE里加入自己的事件就可以了啊
      

  10.   

    但是你到PANEL里的控件,总是要经过PANEL的啊