Einzelnen Beitrag anzeigen

Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: OnMouseLeave für die TPaintbox?

  Alt 27. Mär 2007, 10:32
Hallo,

so geht es bei mir:
Delphi-Quellcode:
  private
    OldPbWindowProc: TWndMethod;
    procedure PbSubClassWndProc(var Message: TMessage);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.PbSubClassWndProc(var Message: TMessage);
begin
  if Message.Msg= CM_MouseLeave then
  begin
    beep;//Demo

  end;
  OldPbWindowProc(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OldPbWindowProc:= PaintBox1.WindowProc;
  PaintBox1.WindowProc:= PbSubClassWndProc;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  PaintBox1.WindowProc:= OldPbWindowProc;
end;
Oder eine eigene PaintBox Komponente erstellen.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat