Komunikaty CM_MouseEnter i CM_MouseLeave

0

Cześć. Muszę zrobić coś takiego, że po najechaniu myszką na label zmieni się jego kolor, z po zjechaniu też.

Napisałem sobie własny komponent ze zdarzeniami OnMouseEnter i onMouseLeave. Ale nie mogę go zainstalować(szczegóły w dziale Newbie) i nie mam pojęcia dlaczego.

Więc muszę zrobić to jakimś innym sposobem... Czyli zwykłe komunikaty. Tylko teraz moje pytanie.
Jak sprawdzić, czy kursor myszy wjechał/wyjechał w obszar labela?
Chcę reagować na komunikaty CM_MouseEnter i CM_MouseLeave. Tylko nie wiem, jak mam na nie zareagować... Tzn. jak sprawdzić, że zostały wywołane na rzecz labela.

0

O ile mi dobrze wiadomo TLabel posiada już OnMouseEnter oraz OnMouseLeave więc po co kombinować :)

0
-=PcSA=- napisał(a)

O ile mi dobrze wiadomo TLabel posiada już OnMouseEnter oraz OnMouseLeave więc po co kombinować :)

Proszę Was zaszlachtujcie mnie, zabijcie, pobijcie, ugotujcie, poćwiartujcie... 4 godziny nad tym siedzię i niezauważyłem! ;(

0

przykład (chyba nic nie powaliłem :) )

type
  TLabelek=class(TCustomLabel)
  private
    Over, Out : TNotifyEvent;
    procedure MouseEnter(var Message:TMessage);message cm_MouseEnter;
    procedure MouseLeave(var Message:TMessage);message cm_MouseLeave;
   published
    property OnMouseEnter: TNotifyEvent read Over write Over;
    property OnMouseLeave: TNotifyEvent read Out write Out;
  end;

implementation

procedure TMojImage.MouseEnter(var Message:TMessage);
begin
  if Assigned(Over) then OnMouseEnter(Self);
  Message.Result:=1;
end;

procedure TMojImage.MouseLeave(var Message:TMessage);
begin
  if Assigned(Out) then OnMouseLeave(Self);
  Message.Result:=1;
end; 
{+ jeszcze register i to co tam innego chcesz :) }

pisane na szybko nie wiem czy jeszcze dobrze pamietam, bo sie dawno tym nie bawilem ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1