Veröffentlicht 26. Februar 200322 j Hi, Wie kann man in CBuilder ein Steuerelement (z.b. einen Button) per Quellcode erzeugen? mfg Chris
26. Februar 200322 j Ganz einfach: TButton *OrffiButton; OrffiButton = new TButton (this); OrffiButton -> Parent = this; OrffiButton -> Caption = "Orffi Button"; HTH Jan
28. Februar 200322 j Und wie kann ich dem Button ein Ereignis (bzw. eine Funktion) zuweisen, die ausgeführt wird, wenn auf den Button geklickt wird?
28. Februar 200322 j 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
1. März 200322 j 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
3. März 200322 j 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
3. März 200322 j 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.
3. März 200322 j Ähm, ich verstehe dein Problem nicht so ganz, du hast doch dein OrffiButton Objekt und darüber kannst du doch auf alles zugreifen.
3. März 200322 j 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.
3. März 200322 j 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
3. März 200322 j @Orffi So gehts. Danke nochmal für deine Antworten. Und mein Button heist natürlich nicht OrffiButton *g* mfg Chris
5. März 200322 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.