![]() |
Delphi-Version: XE2
Text-Property von abgeleiteter Komponente überschreiben
Hallo,
ich hab eine von TCustomMaskEdit abgeleitete Komponente. Nun möchte ich in der Komponente die Property Text überschreiben. Wenn EditMask z. B. #,99 ist und ich nur eine 1 eingebe, dann lautet die Property Text "1," und die Property EditText "1,__". Ich würde gerne die Text-Property modifizieren, so dass das Komma verschwindet. Die Logik dazu hab ich schon. Aber egal wie ich Text beschreibe, nach "aussen" hin wird immer das "Standardtext" verwendet. Wie kann ich die Text-Property nach meinen Wünschen überschreiben |
AW: Text-Property von abgeleiteter Komponente überschreiben
Was willst du mit der EditMask "#,99" denn eigentlich erreichen?
|
AW: Text-Property von abgeleiteter Komponente überschreiben
Zitat:
(kann auch sein, dass die Angabe hier im Editor von EditMask jetzt falsch ist, habs aus dem Gedächtnis geschrieben) |
AW: Text-Property von abgeleiteter Komponente überschreiben
...
ich verstehe Helmi so, dass eine ganzzahlige Eingabe hinterher auch ohne Komma dastehen soll. Das sollte m.E. mit getEditText und setEditText gehen. Die Maske an sich ist ja eigentlich dafür da, ein bestimmtes Format der Eingabe zu erzwingen, auch wenn es während der Eingabe mitunter unschön aussieht. Gruß Geronimo. |
AW: Text-Property von abgeleiteter Komponente überschreiben
Hallo,
das Problem ist nicht wie Logik selbst - die steht. Nur möchte ich die Text-Property überschreiben. Wenn ich eine z. B. 2 Vorkommastellen hab, aber keine Nachkommestellen, so gibt
Delphi-Quellcode:
die Vorkommastellen + Komma aus.
Text
Delphi-Quellcode:
Vorkommmastellen + Komma + Unterstrich.
EditText
Ich möchte nun die Text-Property überschreiben. |
AW: Text-Property von abgeleiteter Komponente überschreiben
Soweit ich das sehe kannst du das nicht überschreiben, da weder SetText noch GetText virtual sind.
Du könntest aber versuchen deine eigenen SetText und GetText in deiner Ableitung zu erstellen. Damit "versteckst" du die in der Basisklasse, aber Code wie TCustomMaksEdit(MeinEdit).Text würde nicht deine Version aufrufen sondern die der Basisklasse. MeinEdit.Text hingegen würde deine Version aufrufen.
Delphi-Quellcode:
TMeinEdit = class(TCustomMaskEdit)
private function GetText: TMaskedText; procedure SetText(const Value: TMaskedText); public property Text: TMaskedText read GetText write SetText; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 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