![]() |
Tja, manchmal sieht man vor lauter Bäumen den Wald nicht mal. 8) Ändert mal nur folgende Zeile ziemlich am Anfang des letzten Quelltextes :
Code:
Schon schlimm, daß da keiner draufgekommen ist. :shock: Aber mittlerweile ist ziemlich klar : "Keiner verwendet OOP" Oder zumindest fast keiner.
TRealEdit = class(TLabeledEdit)
Das ganze geht aber erst ab Delphi 6!! |
Hi,
mir geht es hauptsächlich um DB-Komponenten (siehe Anfang). Wegen der großen Resonanz hier, mache ich einen neuen Thread auf, da in der Richtung "nicht - DB"-Komponenten für viele wohl kein Interesse besteht. Seit 9.4.2003 (also 1 Woche) : 458 Aufrufe, 40 Antworten (oder Gegenfragen) und davon ca.30 von mir. Also ca. 2% wirklich Interessierte (10 Antworten von 458 Aufrufen). |
Hi Hansa,
leider muß ich mit dem TlebeledEdit passen, da ich kein D5 habe. Schade. Deine letzte Einschätzung teile ich nicht. Bei mir ist es so, dass meine Zeit leider sehr begrenzt ist (der Job frist mich auf). Da ist es manchmal schwer in so einem Thread mitzuwirken. Das Problem hier steckt in der anderen Art der Diskussion. So schaue ich durch ob ich schnell jemandem helfen kann wo ich sofort eine Antwort habe. Bei Threads wie diesem ist es eher so, dass ich die richtige Antwort in der Regel nicht parat habe, aber mir durchaus zutrauen mit erfolg mitzuwirken. Dazu muß ich aber auch im stillen Kämmerlein probieren. Das nimmt dann leider auch mal 1 bis 2 Tage in Anspruch. Nicht weil ich 48 Stunden rumprobiere, sondern weil ich dann so zwischendurch mal maximal 1 Stunde dafür abzweigen kann. So hänge ich leider zeitlich hinterher. Eine Antwort auf ein Problem eine Seite vorher willst Du aber nicht haben (siehe Tausender-Trennzeichen). Naja, ich bleib trotzdem mal dran. Gruß oki |
Hi Oki,
Zitat:
Dann wurde noch die Frage nach einem Spineit gestellt, fällt mir gerade ein. Das müßte so ähnlich statt von TLabeledEdit oder TEdit von TSpinedit abgeleitet werden. Das Alignment müßte dann so wie bei dem TRealEdit eingebaut werden. |
Hi Hansa,
erst mal hab ich mich vertippt. Ich arbeite natürlich mit D5 und hab kein D6. Ich glaube aber du hast mich richtig verstanden. Jetzt das was ich nicht verstanden habe. Ich kenne kein TLabledEdit und weiß somit nicht wie das aussehen soll. Sag mal kurz wo das Label beim Edit erscheinen und was das anzeigen soll. Gruß oki |
Hi,
also das Label "klebt" an dem TEdit. Das ist mal das wichtigste, dann kann man noch einstellen wo es sich befindet (Above, Left,...) und mit LabelSpacing den Abstand zwischen Label und Edit. Ansonsten ist es wie ein normales Label. |
So.. ich meld mich auch nochmal zu Wort. Ich hab dir doch gestern im ICQ gesagt du sollst die Methode SetParent überschreiben, aber vielleicht hast du den Wink nicht ganz verstanden.
Dein Label vom LabelEdit braucht einen Parent - ganz klar, den braucht jedes Control, das irgendwo angezeigt werden soll! Der Erste Vorschlag war daher Label.Parent := TWinControl(AOwner). Dieser Vorschlag ist nicht nur unelegant und gefährlich (Owner <> Parent) sonder auch noch unflexibel. Wenn der Parent des Edits zur Laufzeit geändert wird kann der Parent des Labels nicht angepasst werden. Ich hab mir gestern mal die Deklaration von TControl angeschaut (die Eigenschaft Parent wird mit dem TControl eingeführt). Die Methode SetParent ist als protected und virtual deklariert und kann daher in abgeleiteten Klassen überschrieben werden (dieser Weg wird auch beim "original" LabeledEdit eingeschlagen)! Des Rätsels Lösung ist also in deinem Code einfach folgende procedure einzufügen (das ist jetzt nur aus dem Kopf, also keine Garantie!):
Delphi-Quellcode:
Das wäre einmal das wichtigste, denn damit erscheint dein Label dann auch auf der Form.. der Rest bleibt dann erstmal dir überlassen.
type
{...} protected procedure SetParent(Value: TWinControl); override; {...} end; procedure TRealEdit.SetParent(Value: TWinControl); begin inherited; if fLabel.Parent <> Value then fLabel.Parent := Value; end; |
Hi,
ich denke erst mal muß das Allignment des Labels als Eigenschaft in die Kompo. Dann muß beim Create Top und Left, sowie High und Wight des Labels in Abhängigkeit der entsprechenden Werte des Edits und des Alingnments des Labels gesetzt werden. Dann müßte nach meiner Meinung nur noch die Änderung der Werte beim Edit automatisch für das Label neu gerechnet werden. Ich mach mich mal an den Code ran. Gruß oki |
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal der erste Ansatz.
Gruß oki |
Hi Hansa,
noch ein kleines Problem. Ich habe keine dcu Variants. Was ist das? Vielleicht kannst du mir die mal eben rübergeben. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 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 by Thomas Breitkreuz