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
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
pq napisał:
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.
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
Waldi napisał:
>Jakoś w obiekt inspektorze nie ma takich zdarzeń dla labela mam delphi 4 client serwer
>
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
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
Waldi napisał:
>Nie dziala inne pomysły??
>
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
pq napisał:
Waldi napisał:
>>Nie dziala inne pomysły??
>>
>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???
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
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
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