![]() |
eine neue Klasse mit Komponenten der Komponentenpalette
Hallo nochmal an alle,
Habe eine Frage zu der Erzeugung von Klassen. Hab bei einem Kollegen gesehen, der C# programmiert, dass er eine Art "Komponente" in einer Unit erzeugen kann. Diese Klasse kann mehrere Komponenten der C#-Komponentenpalette haben und diese über Proceduren miteinander verknüpfen. Diese Komponente, kann er dann einfach auf seine Form ziehen und dort wird sie wie eine vorgefertigte Komponente behandelt. Gibt es in Delphi eine ähnliche Möglichkeit? Wenn ja habt ihr mal ein kurzes "Beispiel-Programm" oder ist dies nur in C# möglich? Allgemein würde ich mal gern wissen, ob man eine Komponente aus mehreren Komponenten zusammensetzen kann. Hab dazu noch nichts gefunden. Vielen Dank BAMatze |
Re: eine neue Klasse mit Komponenten der Komponentenpalette
Zitat:
Und natürlich kannst du auch Komponenten schreiben, die du auf deine form ziehen kannst ;) Dazu musst du nur in die Unit der Komponente
Delphi-Quellcode:
im implementation-Teil einfügen. Wenn es sich um eine nichtvisuelle Komponente handelt, bekommst du dann so ein kleines Quadrat auf dem Formular, wie man es z.B. vom Timer oder den Indys kennt. Und wenn es sich um eine visualle handelt, also allles was von visuellen Komponenten oder anderen visuellen Basisklassen abgeleitet ist, siehst du halt die Komponente ;)
procedure Register;
begin RegisterComponents( [ComponentClass], 'Tab name'); end; Dazu musst du dann allerdings erst noch die Unit in ein Package einfügen und das PAckage installieren :stupid: zum weiteren Lesen: ![]() |
Re: eine neue Klasse mit Komponenten der Komponentenpalette
Zitat:
Was ich mir auch mit deiner Erklärung noch nicht vorstellen kann, was meiner Meinung nach auch komplett offen bleibt, ist wie kann ich das mit mehreren Komponenten machen. Vieleicht hast du ja mal ein kleines Beispiel, was nicht so aufwändig ist, wie z.B. ein Panel mit Button (als eine Komponente), wo das Panel einfach die Farbe wechselt, wenn der Button gedrückt wird. Einfach ein kleines Bsp, wäre gut. Danke BAMatze |
Re: eine neue Klasse mit Komponenten der Komponentenpalette
Zitat:
1. Du leitest deine Komponente von TPanel ab. 2. In der Komponente deklarierst du ein Feld MyButton vom Typ TButton. 3. Im Konstruktor des Panels erzeugst du den Button und weißt ihm als Parent das Panel (also self vermutlich) zu. Dann musst du ihn noch mit Top und LEft relativ zur linken oberen Ecke des Panels platzieren und schwuppdiwupp solletst du ein Panel mit Button haben. Versuchs erstmal soweit, bevor du noch versuchst, den Button auch noch was machen zu lassen ;) |
Re: eine neue Klasse mit Komponenten der Komponentenpalette
Hallo,
vielleicht suchst du Informationen über composite controls. Ray Konopka zeigt in einem 45-minütigen Flash-Video, wie man solche Controls erstellt. Du findest das Video neben zahlreichen anderen auf ![]() ![]() Gruß Hawkeye |
Re: eine neue Klasse mit Komponenten der Komponentenpalette
Würden Frames nicht eine ähnliche Funktionalität unterstützen?
|
Re: eine neue Klasse mit Komponenten der Komponentenpalette
Hallo alzaimar,
Zitat:
Die composite controls können auf Frames basieren und vereinen dann die Vorteile der Frames (z.B. visuelles Design) mit den Vorteilen der Komponenten (z.B. einfache Weitergabe an andere Entwickler). Sie erlauben es auch auf recht einfache Weise, weitere Eigenschaften für die Frames im Objektinspektor sichtbar zu machen. Ray Konopka zeigt dies alles im Video sehr schön am Beispiel einer Ein-/Ausgabemaske für Datenbanken. Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 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