![]() |
Was ist hieran falsch?
sorry für den topic namen, aber mir fällt dafür keine bezeichnung ein. Also es geht darum das ich jedem label eine andere farbe geben möchte sobald die maus drauf ist, aber irgendwie geht das:
Code:
procedure mEnterLabel(Sender: TLabel);
begin with sender do begin Color := $00E1AE7A; Font.Color := $00603A0C; end; end; procedure TForm1.Label5MouseEnter(Sender: TObject); begin mEnterLabel(self); end; der aufruf "mEnterLabel(self);" ist falsch, mit "mEnterLabel(self.label5);" gehts aber.... self ist doch aber schon label5, da das ereignis auf dem label5 stattfindet, oder nicht? also wozu noch .label5 hinter self? dann reicht ja auch "label5" allein oder mach ich ganz was falscH? |
Re: Was ist hieran falsch?
Self ist deine Form1, wenn es eien Methode von TForm1 ist.
Und probier mal
Delphi-Quellcode:
with (Sender as TLable) do
|
Re: Was ist hieran falsch?
hi luckie, das mit "with (Sender as TLabel) do" hatte ich auch, ich habs nur hier um es zu posten gelöscht, da ich dachte das es quatsch ist, denn da: "procedure mEnterLabel(Sender: TLabel); " ist der sender doch schon TLabel, oder?
|
Re: Was ist hieran falsch?
Nein. Das habe ich dir doch gerade gesagt. Da Label1MouseEnter eine Methode von TForm1 ist, bezeichent self das Formular1.
Mach mal einen Button auf dein Formular, Doppelklick darauf und dann schreib mal:
Delphi-Quellcode:
Aber da ich mir schon fast dachte, dass du es nicht hinbekommst, deswegen habe ich dir in der Zwischenzeitz mal schnell was gemacht:
ShowMessage(self.Caption);
Delphi-Quellcode:
Du mußt deinen Labels jetzt nur noch die Methoden MyLabelMouseEnter und MyLabelMouseLeave im OI zuweisen.
type
TForm1 = class(TForm) Label1: TLabel; procedure MyLabelMouseEnter(Sender: TObject); procedure MylableMouseLeave(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.MyLabelMouseEnter(Sender: TObject); begin with (Sender as TLabel) do begin Font.Color := clRed; end; end; procedure TForm1.MylableMouseLeave(Sender: TObject); begin with (Sender as TLabel) do begin FOnt.Color := clBlack; end; end; |
Re: Was ist hieran falsch?
Zitat:
der code funktioniert, die erklärung war auch gut, danke :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz