TPanel bzw. TCustomPanel ---- Verständnissproblem bei Vererbung ........
-
Hi!
Ich habe angefagen mit dem C++ Builder 5 eine kleine Datenbankanwendung zu basteln. Solange ich nur mit den verfügbaren Controls und Komponenten gebaut habe ist auch alles einwandfrei von sich gegangen.
Ich will mir eine Klasse dazuprogrammieren, die mir folgende Leistung zur Verfügung stellt: Einen viereckigen Rahmen (TPanel), in dem sich ein Textfeld (TEdit) und ein List (TListBox) befindet. Diesen Rahmen möchte ich z.B. mit SetBounds() beliebig in einem Form platzieren, das Textfeld mit einem Text füllen und dem Listfeld neue Items hinzufügen bzw. wegnehmen. Das Textfeld und die Listbox sollen immer die gleiche Größe statisch behalten. Aufgrund dieser Klasse möchte ich je nach Fall eines und oft auch mehrere dieser Objekte auf dem Bildschirm stehen haben.
Die grundlegene Technik ist mir klar. Darüber habe ich schon viel theoretisches gelesen, aber leider nichts praktisches gesehen. Es fehlt mir nur das Verständnis dafür wie man das jetzt mit der Vererbung des TPanel funktioniert und wie ich auf dieses Panel, dann das Textfeld und die Listbox angezeigt bekomme.
Für mein Verständnis würde mir auch ein einfaches Beispiel reichen, in dem eine Klasse TLabel erbt und die aus der Beispielklasse die Funktionen eines TLabel unterstützen. Ich habe ein paar Beispiele gesehen, in denen neue Komponenten erstellt werden. Ich will aber unbedingt nur eine Klasse in meinem Code dafür verwenden. Die Gedanken aus den Komponentenbeispielen schaffe ich irgendwie nicht in eine normale Klasse zu packen.
Bitte!!! Hilfe!!! Link!!! Beispiel!!!
Schönen Gruß!
Bronks
-
Bronks,
hier ein kleiner (ungetesteter) Denkanstoss:class TMyPanel : public TPanel { public: __fastcall TMyPanel(TComponent* Owner); TEdit* PanelEdit; TListBox* PanelListBox; }; __fastcall TMyPanel::TMyPanel(TComponent* Owner) :TMyPanel(Owner) { PanelEdit = NULL; PanelListBox = NULL; PanelEdit = new TEdit(this); ... }
-
@dschensky:
Super! Vielen Dank! Ich habs verstanden und es funktioniert!