AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi OOP-TRealEdit von TEdit abgeleitet und Fähigkeiten erweitert
Thema durchsuchen
Ansicht
Themen-Optionen

OOP-TRealEdit von TEdit abgeleitet und Fähigkeiten erweitert

Ein Thema von Hansa · begonnen am 9. Apr 2003 · letzter Beitrag vom 14. Aug 2003
Antwort Antwort
Seite 5 von 12   « Erste     345 67     Letzte »    
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#41
  Alt 16. Apr 2003, 21:31
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:
  TRealEdit = class(TLabeledEdit)
Schon schlimm, daß da keiner draufgekommen ist. Aber mittlerweile ist ziemlich klar : "Keiner verwendet OOP" Oder zumindest fast keiner.

Das ganze geht aber erst ab Delphi 6!!
Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#42
  Alt 16. Apr 2003, 23:45
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).
Gruß
Hansa
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#43
  Alt 17. Apr 2003, 09:27
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
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#44
  Alt 17. Apr 2003, 10:52
Hi Oki,

Zitat von oki:
leider muß ich mit dem TlebeledEdit passen, da ich kein D5 habe. Schade.
Dir gehts nicht alleine so, ich meine mit der Zeit. Mein Glück ist nur, daß ich sie einigermaßen einteilen kann, wie ich will. Aber bei dem TRealEdit gings doch mit darum, so etwas nachzubauen. Wäre das gelungen, hätten auch die nicht D6-Besitzer ein TLabeledEdit. Irgendwo vorher ist ein Screenshot, wie weit ich war. Das Label war im OI drinne, aber mit der Anzeige auf dem Bildschirm und sonstigen "Kleinigkeiten" kam ich nicht weiter. Und sonst wußte auch keiner was zu sagen. Ich warte mal ab, vielleicht kommt noch ein Hinweis.

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.
Gruß
Hansa
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#45
  Alt 17. Apr 2003, 11:02
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
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#46
  Alt 17. Apr 2003, 11:11
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.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#47
  Alt 17. Apr 2003, 11:18
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:
type
  {...}
  protected
    procedure SetParent(Value: TWinControl); override;
  {...}
end;

procedure TRealEdit.SetParent(Value: TWinControl);
begin
  inherited;
  if fLabel.Parent <> Value then
    fLabel.Parent := Value;
end;
Das wäre einmal das wichtigste, denn damit erscheint dein Label dann auch auf der Form.. der Rest bleibt dann erstmal dir überlassen.
Manuel Pöter
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#48
  Alt 17. Apr 2003, 11:21
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
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#49
  Alt 17. Apr 2003, 11:25
Hier mal der erste Ansatz.

Gruß oki
Angehängte Dateien
Dateityp: pas realedit_538.pas (2,6 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#50
  Alt 17. Apr 2003, 11:29
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 12   « Erste     345 67     Letzte »    


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 12:17 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