Hirdetés

Új hozzászólás Aktív témák

  • killerjohn

    addikt

    válasz Divi #696 üzenetére

    Elég egyszerű, csak csinálni kell hozzá egy új komponenst, melyet így kell megcsinálni (pl TButton esetében, de másnál is müxik...)

    Bocsi, de sietve dobtam össze... nem biztos, hogy fullosan OK.

    ---------------------------

    Uses SysUtils, Classes, Controls, Messages, Graphics, ExtCtrls, Windows, Forms;

    Type
    TMyButton = class(TButton)
    private
    FOnMouseEnter : TNotifyEvent;
    FOnMouseLeave : TNotifyEvent;
    protected
    Procedure msgMouseEnter(Var Msg: TMessage); message CM_MouseEnter;
    Procedure msgMouseLeave(Var Msg: TMessage); message CM_MouseLeave;
    public
    Constructor Create(AOwner: TComponent); override;
    published
    Property OnMouseEnter : TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
    Property OnMouseLeave : TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
    End;



    constructor TMyButton.Create(AOwner: TComponent);
    begin
    inherited;
    FOnMouseEnter := nil;
    FOnMouseLeave := nil;
    end;

    procedure TMyButton.msgMouseEnter(var Msg: TMessage);
    begin
    If csDesigning in Self.ComponentState Then EXIT;
    If Assigned(FOnMouseEnter) Then FOnMouseEnter(Self);
    End;

    procedure TMyButton.msgMouseLeave(var Msg: TMessage);
    begin
    If csDesigning in Self.ComponentState Then EXIT;
    If Assigned(FOnMouseLeave) Then FOnMouseLeave(Self);
    end;

Új hozzászólás Aktív témák