我建了一个Panel控件.在它的mousemove事件中:Panel1.width := 100;我想做到当鼠标离开该控件的时候.它的宽度变为10;但它好像没有mouseleave事件.我应该怎么写.
我知道有一种方法.就是在窗体的mousemove事件中写:Panel1.width := 10;还有其他方法吗?请各位高手赐教.

解决方案 »

  1.   

    procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    Panel1.width := 100;
    end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    Panel1.width := 10;  
    end;
      

  2.   

    有其他方法,不过要复杂点,自己继承PANEL,处理它的MouseMove和MouseLeave消息就可以了
      

  3.   

    用api函数应该可以的,具体是什么函数自己找找把