Komponenten werden in der Tool-Palette für die Benutzeroberfläche von Programmen zur Verfügung gestellt. Die meisten von ihnen entsprechen Steuerelementen (Bedienelementen), die man in vielen Windows-Programmen findet: Sie zeigen dem Anwender Informationen an oder nehmen Anweisungen und Informationen von ihm entgegen. Die Komponenten findet man auch in der Online-Hilfe unter ihrem Datentyp eingetragen. Diese Namen beginnen meist mit einem vorangestellten „T“(also z.B. „TEdit“ für die Edit-Komponente).
Wenn man Komponenten aus der Tool-Palette auf ein Formular setzt, werden ihre Namen vom C++Builder der Reihe nach durchnummeriert: Das erste Edit-Fenster
erhält den Namen Edit1, das zweite Edit2 usw. Entsprechend auch für andere Komponententypen: Label erhalten die Namen Label1, Label2 usw. Über diese Namen können dann nicht nur die Komponenten als Ganzes, sondern auch ihre Eigenschaften und Methoden angesprochen werden.
Die vom C++Builder vergebenen Namen können allerdings leicht zu Unklarheiten führen: Steht in Edit1 der Vorname und in Edit2 der Nachname, oder war es gerade umgekehrt? Um solche Unklarheiten zu vermeiden, sollte man den Komponenten aussagekräftige Namen geben wie z.B. Vorname oder Nachname. Eine solche Namensänderung muss immer im Objektinspektor durchgeführt werden, indem man den neuen Namen als Wert der Eigenschaft Name einträgt. Zulässig sind alle Namen, die mit einem Buchstaben „A..Z“ oder einem Unterstrichzeichen „_“ beginnen und von Buchstaben, Ziffern oder Unterstrichzeichen gefolgt werden. Groß- und Kleinbuchstaben werden dabei unterschieden, und Umlaute sind nicht zulässig.
In einer Funktion, die wie Button1Click zu einem Formular gehört, spricht man eine Methode oder Eigenschaft x einer Komponente k des Formulars mit k→x
an.
In der Funktion Button1Click ist Edit1→Color die Eigenschaft Color der Komponente Edit1 dieses Formulars:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Color=clGreen;
}
In einer Funktion, die zu einem Formular f gehört, spricht man eine Methode oder Eigenschaft x des Formulars einfach mit x an oder mit this→x an.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Color=clGreen; // oder this->Color=clGreen
Close(); // oder this->Close();
}
In einer Funktion, die nicht zu einem Formular f gehört, spricht man die Eigenschaft oder Methode x einer Komponente k des Formulars f mit f→k→x an.
void f()
{
Form1->Label3->Width=17;
}
Indem man mittels einer Komponenete in den Quelltexteditor wechselt erscheint eine vorgefertigter Routine(Funktion). Im Gegensatz zur konsolenorientierten
Programmierung bei der eine (selbstverfasste) main-Funktion liegt, können wir hier auf eine ereignisgesteuerte Objektmethoden zurückgreifen.
void __fastcall TForm1::Button1Click(TObject *Sender)
Diese Funktion ist eine Elementfunktion der Klasse. Die einzige Besonderheit besteht darin, dass die C++Builder-Funktionen das Schlüsselwort __fastcall als Aufrufkonvention verwendet. Die Funktion heißt Button1Click und ist ein Element von TFORM1, hat keinen Rückgabewert (void) und besitzt einen Zeiger auf ein Tobject als Parameter. Der Sender ist ein Zeiger auf diejenige Komponente, die die Botschaft verschickt. In manchen Fällen ermöglicht der Sender-Parameter für mehrere Komponenten, ein und dieselbe Funktion zur Ereignisbearbeitung zu verwenden.