Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dynamische Steuerelemente in CBuilder

Empfohlene Antworten

Veröffentlicht

Hi,

Wie kann man in CBuilder ein Steuerelement (z.b. einen Button) per Quellcode erzeugen?

mfg

Chris

Ganz einfach:

TButton *OrffiButton;

OrffiButton = new TButton (this);

OrffiButton -> Parent = this;

OrffiButton -> Caption = "Orffi Button";

HTH

Jan

Und wie kann ich dem Button ein Ereignis (bzw. eine Funktion) zuweisen, die ausgeführt wird, wenn auf den Button geklickt wird?

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

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

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

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.

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.

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

@Orffi

So gehts. Danke nochmal für deine Antworten.

Und mein Button heist natürlich nicht OrffiButton *g*

mfg

Chris

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.