![]() |
TComboBox erweitern und einbinden
Hallo,
Ich möchte gerne die Komponente TComboBox erweitern. Somit habe ich in einer Unit eine Klasse TMyComboBox erstellt, die von der Klasse TCombobox abgeleitet ist. Jedoch habe ich das Problem, diese Komponente in ein Formular einzubinden. Wie kann ich solceh Komponenten Nutzen? Einfach den Typ einer TCombobox auf TMyComboBox zu ändern hat leider nicht funktioniert. Hat jemand einen Tipp? Vielen Dank, Alexander |
Re: TComboBox erweitern und einbinden
ist dein Problem "MyCombobox" auf dem formular zu plazieren oder darum das sie nicht funktioniert?? Wenns nicht funktioniert, was kommt für eine Fehlermeldung?? Bischen Source wäre nicht schlecht...
|
Re: TComboBox erweitern und einbinden
Hallo,
Source in dem Sinne gibt es immo nicht. Ich habe bis jetzt lediglich die TMyComboBox erstellt und diese von TComboBox abgeleitet. Somit sind die beiden immo identisch. Ich habe die Unit mit der neuen Klasse in die FormularUnit eingebunden, eine TComboBox Erstellt und manuel den Typ auf TMyComboBox umgestellt. Sowohl in der FormularUnit selber als auch in den Initialisierungsinformationen. Die Fehlermeldung lautet: Klasse TMyComboBox nicht gefunden. Fehler Ignorieren oder ... Die Unit mit der TMyComboBox ist aber in der FormUnit eingebunden. Gruß, Alexander |
Re: TComboBox erweitern und einbinden
*hust* Das geht doch nicht!! *g* Du kannst nicht einfach in der Formularunit rumändern. Die MyCombobox ist Delphi doch noch gar nicht als Componente diesbezüglich bekannt, oder findest du die schon auf der Palette wo auch die andere sich befindet (oder auf ner anderen registrierkarte wie Samples). Wenn dem nicht der Fall ist musst du die componente erst noch in ein Packet stopfen und zu Palette hinzufügen oder du setzt die gar nicht aufs formular sondern schreibst alles in den Quelltext (position, parent etc.)
|
Re: TComboBox erweitern und einbinden
Du solltest vielleicht mal die Komponente auch installieren.
Dazu ist auch der Registerteil in der neuen Unit schon autom. angelegt, sieht etwa so aus:
Delphi-Quellcode:
Für Dich dann halt so:
procedure Register;
implementation procedure Register; begin RegisterComponents('Setsuna Labs', [TSLEdit]); end;
Delphi-Quellcode:
Dann installierst Du die Kompo und sie erscheint oben bei den ganzen Komponenten, auf dem Reiter DibaDibaDuu, dann nimmst Du sie und setzt sie ganz normal auf Formular und schon geht alles.
procedure Register;
implementation procedure Register; begin RegisterComponents('DibaDibaDuu', [TMyComboBox]); end; |
Re: TComboBox erweitern und einbinden
Ok, wurde schon grad beantwortet während ich dies Schrieb.
Hmm, dann muß ich auf jeden fall die CodeVariante nehmen. Da das ein TestatProgramm für die Uni wird, darf ich keine Komponenten zu Delphi hinzufügen. Bzw. würde es nichts bringen, da ich das dann auf jedem Rechner in der Uni machen müsste. :-( Hast Du vielleich ein Codebeispiel für solch eine CodeImplementierung?
Delphi-Quellcode:
funktioniert leider nicht. Keine entsprechende Komponente . :-0 ComboBox1 := TMyComboBox.Create(Self); ComboBox1.Top := 100; CombpBox1.Left := 100; Wie Du merkst, bin ich da noch ein wenig Grün hinter den Ohren ;-) Gruß, Alexander |
Re: TComboBox erweitern und einbinden
So weit stimmts schon, fehlt nur noch
CombpBox1.Parent = Self; und halt der restliche kleinkram |
Re: TComboBox erweitern und einbinden
Delphi-Quellcode:
und nicht vergessen die unit einzubinden.
type
TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private-Deklarationen } combobox1:TMyComboBox; public { Public-Deklarationen } end; var Form1:TForm; implementation procedure TForm1.FormCreate(...); begin comboBox1:=TMyComboBox1.Create(Aowner; comboBox1.parent:=self; .... end; raik |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz