[delphi] OnMouseEnter i OnMouseExit

0

Komponent label nie posiada takich zdarzeń to jak zrobić aby po najechaniu na labela np kolor sie zmienił??--Pozdrowienia {hello}
Waldi Koronowo
[email protected]
Zdarza sie że pisze e przed i nie zwracajcie uwagi na to:D

0

Waldi napisał:
Komponent label nie posiada takich zdarzeń to jak zrobić aby po najechaniu na labela np kolor sie zmienił??

Oczywiscie ze ma takie zdarzenia, dokladniej: OnMouseEnter i OnMouseLeave. Nawet opis w helpie mowi o zmienianiu koloru labela, tak jak Ty chcesz.

--
Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
Waldi napisał:
&gtKomponent label nie posiada takich zdarzeń to jak zrobić aby po najechaniu na labela np kolor sie zmienił??
&gt
&gtOczywiscie ze ma takie zdarzenia, dokladniej: OnMouseEnter i OnMouseLeave. Nawet opis w helpie mowi o zmienianiu koloru labela, tak jak Ty chcesz.

Jakoś w obiekt inspektorze nie ma takich zdarzeń dla labela mam delphi 4 client serwer--Pozdrowienia {hello}
Waldi Koronowo
[email protected]
Zdarza sie że pisze e przed i nie zwracajcie uwagi na to:D

0

Waldi napisał:

&gtJakoś w obiekt inspektorze nie ma takich zdarzeń dla labela mam delphi 4 client serwer
&gt
Moze dlatego ze D4, w D6 jest.

Daj zmiane koloru w OnMouseMove labela i przywrocenie koloru w OnMouseMove formy albo tego na czym label lezy.--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

procedure TForm1.Label2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label2.Color:=clwhite;
PlaySound('move.wav', 0, SND_FILENAME);
end;

Nie dziala inne pomysły??

--
Pozdrowienia {hello}
Waldi Koronowo
[email protected]
Zdarza sie że pisze e przed i nie zwracajcie uwagi na to:D

0

Waldi napisał:
&gtNie dziala inne pomysły??
&gt
o! szkoda ze nie dziala. u mnie nastepujacy kod dziala:

procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label1.Font.Color:=clRed;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label1.Font.Color:=clGreen;
end;

jak wpadne na inny pomysl to dam znac. ale dziwne. skoro jest MouseMove to chyba to powinno dzialac... no nie wiem. powodzenia

PS. a dzwiek slychac???

Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

pq napisał:
Waldi napisał:
&gt&gtNie dziala inne pomysły??
&gt&gt
&gto! szkoda ze nie dziala. u mnie nastepujacy kod dziala:
&gt
&gtprocedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
&gt Y: Integer);
&gtbegin
&gt Label1.Font.Color:=clRed;
&gtend;
&gt
&gtprocedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
&gt Y: Integer);
&gtbegin
&gt Label1.Font.Color:=clGreen;
&gtend;
&gt
&gtjak wpadne na inny pomysl to dam znac. ale dziwne. skoro jest MouseMove to chyba to powinno dzialac... no nie wiem. powodzenia
&gt
&gtPS. a dzwiek slychac???

Przez moje roztargnienie napisałem label1.color a nie label1.font.color; dzięki pq [browar] się należy--Pozdrowienia {hello}
Waldi Koronowo
[email protected]
Zdarza sie że pisze e przed i nie zwracajcie uwagi na to:D

0

Na boga, ludzie przeciez Adaś Boduch napisal taki komponent dotyczacy najechania myszka na obrazek. Chyba nie bedzie zbyt wielkiem problemem przerobienie tego na labela?;) (nie, nie bedzie bo sam tak zrobilem :-P ).--take care,

Wodzu

0

A oto kodzik dla leniwych;)

unit MojLabel;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type
TMojLabel = class(TLabel)

private
Over, Out : TNotifyEvent;
*Komunikat, ktory obsluguje wejscie i wyjscie myszy
procedure MouseEnter(var Message:TMessage);message cm_MouseEnter;
procedure MouseLeave(var Message:TMessage);message cm_MouseLeave;

published
*W tej sekcji sa procedure, ktore widoczne beda w inspektorze
*obiektow ( Object Inspektor )
property OnMouseEnter: TNotifyEvent read Over write Over;
property OnMouseLeave: TNotifyEvent read Out write Out;

end;

procedure Register;

implementation

procedure TMojLabel.MouseEnter(var Message:TMessage);
begin
(* Jezeli kursor jest na labelu wykonywana zostaje
procedura OnMouseEnter *)
if Assigned(Over) then OnMouseEnter(Self);
Message.Result:=1;
end;

procedure TMojLabel.MouseLeave(var Message:TMessage);
begin
(* Tak j/w *)
if Assigned(Out)then OnMouseLeave(Self);
Message.Result:=1;
end;

procedure Register;
begin *Rejestrowanie komponentu
RegisterComponents('Samples', [TMojLabel]);
end;

end.

[cya] --take care,

Wodzu

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