Einzelnen Beitrag anzeigen

gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Komponente soll eigene Eigenschaften ändern

  Alt 18. Mai 2006, 18:29
@ Mavarik

Meine Auffassung, dass >self< sich auf das Formular bezieht ist wohl doch richtig:
Delphi-Quellcode:
procedure TWinForm.TextBox3_Enter(sender: System.Object; e: System.EventArgs);
begin
  Self.Width := 500;
  Self.BackColor := System.Drawing.Color.Red;
end;
Hier wird die Breite des Formulars und dessen BackColor verändert.

@ Hawkeye219

Dein Beispiel klappt wunderbar:

Delphi-Quellcode:
procedure TWinForm.TextBox1_Enter(sender: System.Object; e: System.EventArgs);
begin
  (Sender as TextBox).Width := (Sender as TextBox).Width*2;
  (Sender as TextBox).Text := (Sender as TextBox).Tag.ToString;
end;
Das klappt auch, wenn mehrere TextBoxen die gleiche Prozedur verwenden.

Ein Problem ist aber doch noch aufgetaucht:

Delphi-Quellcode:
procedure ChangeColor;
begin
  TextBox3.BackColor := System.Drawing.Color.Yellow; // Fehler: nicht deklarierter Bezeichner TextBox3 ...
  Self.TextB.... // Fehler: nicht deklarierter Bezeichner
end;
Wie kann ich denn auf die Eigenschaften einer Komponente von ausserhalb zugreifen?

Gruß Jürgen
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat