AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten zu labeled Komponenten "wandeln"

Ein Thema von Sherlock · begonnen am 7. Mär 2014 · letzter Beitrag vom 11. Mär 2014
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Komponenten zu labeled Komponenten "wandeln"

  Alt 10. Mär 2014, 06:50
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
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Komponenten zu labeled Komponenten "wandeln"

  Alt 10. Mär 2014, 15:14
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
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Komponenten zu labeled Komponenten "wandeln"

  Alt 10. Mär 2014, 15:25
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...
Angehängte Dateien
Dateityp: 7z ssLayoutTest.7z (4,43 MB, 12x aufgerufen)
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (10. Mär 2014 um 15:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Komponenten zu labeled Komponenten "wandeln"

  Alt 11. Mär 2014, 08:29
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!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Komponenten zu labeled Komponenten "wandeln"

  Alt 11. Mär 2014, 08:45
Bau dir doch einen Container (abgeleitet von Delphi-Referenz durchsuchenTCustomPanel) und bestück das mit allem was du benötigst. Die Controls kannst du dann einfach da rein klatschen und gut ist.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz