![]() |
AW: Komponenten zu labeled Komponenten "wandeln"
Hallo Helmi,
wunderschön. Sowas habe ich ja auch vor. Mit dem Unterschied, daß ich nicht für jede weitere gelabelte Komponente den gleichen Code kopieren möchte. Da muss es doch was von Ratioph...äh von den Freunden aus der GoF geben. Ich dachte eben an das Decorator Pattern, weil ich (eventuell zu bildlich denkend) das Label für die Dekoration eines Controls halte. Ich setze mich heute wieder ran, und schau ob ich es nicht doch noch hinbekomme. Ich will ja auch was lernen ;) ISt ja eigentlich fast fertig, es fehlt schließlich nur die Anzeige des Labels. Sherlock |
AW: Komponenten zu labeled Komponenten "wandeln"
Wenn es darum geht das Decorator Pattern hier zu verwenden, ist mein Ansatz wahrscheinlich falsch.
Aber waren die Frames nicht auch dazu gedacht, genau so was zu realisieren? Ein Frame der ein TLabel und ein TxxxxEdit enthält - samt der ganzen Logik die dazu benötigt wird? Grüße wo |
AW: Komponenten zu labeled Komponenten "wandeln"
Liste der Anhänge anzeigen (Anzahl: 1)
Falls Du es mal testen willst, hier doch mal mein Ansatz.
(Einfach die Formulargröße soweit verkleinern dass die Contros zusammengeschoben werden und mehrfach Button4 drücken.) Es werden Rahmen- bzw. Beschriftungscontrols dynamisch hinter die eigentlichen Controls platziert, ohne dass diese in irgendeiner Weise verändert werden. Die Umschaltung des "Beschriftungsstiles" war grundsätzlich in einem Komponenteneditor zur Designtime vorgesehen. Die Eigentliche Komponente wird in meinem Fall verkleinert, so dass sie in den Rahmen passt (und die Komponente incl. Rahmen immer den gleichen Platz in ihrem Umfeld braucht). Im Formular werden die dynamisch erzeugten "Rahmenkomponten" nicht gespeichert, sondern nur die Regeln, die für das Ausrichten und Beschriften gelten sollen. Zur Laufzeit klappte das alles super. Innerhalb der IDE nicht so. Es ist also m.E. nicht ganz so einfach, das dynamisch zu lösen, ohne Controlderivate zu verwenden. Immerhin musst Du ja auch den Beschriftungstext und die Ausrichtung irgendwie im Formular speichern. Zeig mal ein paar Screenshots, wenn Du´s fertig hast... |
AW: Komponenten zu labeled Komponenten "wandeln"
Ich habe das Thema begraben, da es mit dem decorator pattern nicht mit vertretbaren Aufwand umsetzbar ist. Im Prinzip liegt es an der VCL. Es wäre ein Interface für TWinControl nötig, das als Grundlage für den Decorator dienen würde. Oder aber es müsste Mehrfachvererbung in Delphi geben...auch das gibts nicht. Also hab ich es beiseite gelegt und würde es über die althergebrachte Methode machen. Dabei werde ich halt versuchen so viel code wie möglich wiederzuverwenden, aber... elegant ist anders.
Ich danke Euch für Eure Ideen! :thumb: Sherlock |
AW: Komponenten zu labeled Komponenten "wandeln"
Bau dir doch einen Container (abgeleitet von
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 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