den eigenen Namen herausfinden

buran

Grünschnabel
Hallo,

Wie kann ich erfahren wer die Prozedur aufgerufen hat?
zum Beispiel:

Mehrere Buttons wird die gleiche OnClik Prozedur zugewiesen:

Code:
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
if ("Hier mein name"->Brush->Color==clRed){ Beep(); }
}

nun soll aber jeder auf sich selber zurückgeifen können.

Vielen Dank buran
 
Über Sender wird doch mitgeteilt, welches Objekt die Methode aufruft. Einfach zureckcasten und benutzen. (Über deinen Codeabschnitt musste ich ein wenig schmunzeln :) ).
 
Hallo Dudadida,
ich dachte mir schon, dass es einfach sein wird wenn man weiss wie. Danke das du trozdem so freundlich antwortest (ist leider nicht selbstverständlich).
Was meinst du mit zureckcasten?
Grüsse buran
 
Oh sorry, "zurechtcasten" und entschuldige für meine "wie man leicht sieht"-Erklärung. Also soweit ich weiß dürften bspw. TButton und TEdit und die andern von TObject abgeleitet sein, ergo kann die mehr oder weniger (mit bestimmten Einschränkungen, mal über Vererbung schlau machen) in einander umwandeln, oder "casten" und dann auf Methoden bzw. Variablen zugreifen, die sowohl in der Tochter-, als auch in der Mutterklasse zu finden sind. Also Bsp.:

Code:
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
  if ((TButton*)Sender->Caption == "Hallo"){ Beep(); }
  //oder
  if ((TButton*)Sender == Button1) { MessageBox(0,"asdasd","asdas",0); } 
  //... wenn irgendwo eine Variable vom Typ TButton* existiert
}
 

Neue Beiträge

Zurück