unit UnMsPaintBox;interface
uses  Windows, Messages, SysUtils, Classes, Controls, StdCtrls, ExtCtrls;
type
TMsPaintBox = class(TPaintBox)
private
    fMouseEnter: TNotifyEvent;    
    fMouseLeave: TNotifyEvent;  
  protected
    procedure cmMouseLeave(var msg: TMessage); message cm_MouseLeave;
    procedure cmMouseEnter(var msg: TMessage); message cm_MouseEnter;
    procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
  public
   { Public declarations }
  published
    property OnMouseEnter: TNotifyEvent read fMouseEnter write fMouseEnter;
    property OnMouseLeave: TNotifyEvent read fMouseLeave write fMouseLeave;
end;procedure Register;
implementationprocedure Register;
begin
RegisterComponents('Standard', [TMsPaintBox]);
end;procedure TMsPaintBox.cmMouseEnter(var msg: TMessage);
begin
if Assigned(fMouseEnter) then
fMouseEnter(self);
end;procedure TMsPaintBox.cmMouseLeave(var msg: TMessage);
begin
if Assigned(fMouseLeave) then
fMouseLeave(self);
end;procedure TMsPaintBox.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
  Message.Result := 1;
end;end.

========================================================
我本来想做移到和移开paintbox就切换图片,但现在仅仅调用一个空的paintBox,移到上面就闪烁不停,请问为什么?请问这样的功能可以怎样做到?