-nPrCrZ Geschrieben 26. Februar 2003 Geschrieben 26. Februar 2003 Hi, Wie kann man in CBuilder ein Steuerelement (z.b. einen Button) per Quellcode erzeugen? mfg Chris Zitieren
Orffi Geschrieben 26. Februar 2003 Geschrieben 26. Februar 2003 Ganz einfach: TButton *OrffiButton; OrffiButton = new TButton (this); OrffiButton -> Parent = this; OrffiButton -> Caption = "Orffi Button"; HTH Jan Zitieren
-nPrCrZ Geschrieben 28. Februar 2003 Autor Geschrieben 28. Februar 2003 Und wie kann ich dem Button ein Ereignis (bzw. eine Funktion) zuweisen, die ausgeführt wird, wenn auf den Button geklickt wird? Zitieren
Orffi Geschrieben 28. Februar 2003 Geschrieben 28. Februar 2003 Du brauchst zuerst natürlich ein Funktion, die den Code enthält, der bei einem Klick ausgeführt werden soll. Diese Funktion muß folgendermaßen aussehen: void __fastcall OrffiClick (TObject *Sender) { //Dein Code } OrffiButton -> OnClick = OrffiClick; Natürlich kannst Du OrffiClick auch in eine Klasse packen, was auch Sinn macht, aber ich wollte den Code so kurz wie möglich halten. HTH Jan Zitieren
-nPrCrZ Geschrieben 1. März 2003 Autor Geschrieben 1. März 2003 Danke für deine Antworten @Orffi. Eine Frage habe ich noch. Wie kann ich in der Funktion OrffiClick auf die Eigenschaften des Button zugreifen? mfg Chris Zitieren
SgtBadAzz Geschrieben 3. März 2003 Geschrieben 3. März 2003 Originally posted by $nPrCrZ Danke für deine Antworten @Orffi. Eine Frage habe ich noch. Wie kann ich in der Funktion OrffiClick auf die Eigenschaften des Button zugreifen? mfg Chris Bin zwar kein C++ Builder Experte aber ich würde mal sagen über den Parameter der Handler-Funktion (Sender). Frank Zitieren
-nPrCrZ Geschrieben 3. März 2003 Autor Geschrieben 3. März 2003 Sender ist vom Typ TObject. Da TObject in der Klassenhierarchie vor z.B. TButton kommt, sind die Methoden und Eigenschaften, die ich brauche nicht enthalten. Zitieren
Guybrush Threepwood Geschrieben 3. März 2003 Geschrieben 3. März 2003 Ähm, ich verstehe dein Problem nicht so ganz, du hast doch dein OrffiButton Objekt und darüber kannst du doch auf alles zugreifen. Zitieren
-nPrCrZ Geschrieben 3. März 2003 Autor Geschrieben 3. März 2003 Mein OrffiButton Objekt ist in einem Array, das aus 32 OrffiButton Objekten besteht. In der Funktion muss ich den Button identifizieren, was ich über die Eigenschafte machen will. Zitieren
Guybrush Threepwood Geschrieben 3. März 2003 Geschrieben 3. März 2003 über welche Eigenschaft? Zitieren
Orffi Geschrieben 3. März 2003 Geschrieben 3. März 2003 Ich hoffe, Du hast Deine Buttons nicht wirklich OrffiButton genannt. :-) Du hast recht, Sender ist vom Typ TObject, aber das kannst Du ja zum Typ TButton casten. Mit dynamic_cast zum Beispiel, dann kannst Du Sender wie einen Button ansprechen. Nur sollte Sender dann auch ein Button sein... HTH Jan Zitieren
-nPrCrZ Geschrieben 3. März 2003 Autor Geschrieben 3. März 2003 @Orffi So gehts. Danke nochmal für deine Antworten. Und mein Button heist natürlich nicht OrffiButton *g* mfg Chris Zitieren
SgtBadAzz Geschrieben 5. März 2003 Geschrieben 5. März 2003 Originally posted by $nPrCrZ Sender ist vom Typ TObject. Da TObject in der Klassenhierarchie vor z.B. TButton kommt, sind die Methoden und Eigenschaften, die ich brauche nicht enthalten. Ja, was ist denn in Sender drin, was sagt denn die Doku dazu ? Kann es nicht eher sein, das die das TButton Objekt runtercastest auf ein TObject ? Ist dein Handler ein Member von irgendwas oder wie oder was ? Frank Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.