![]() |
TTimeEdit - TEdit für Zeiteingabe
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
seit einiger Zeit war ich auf der Suche nach einer Komponente, die die Eingabe der Uhrzeit ermöglicht. Da die Kompo MaskEdit zu fehleranfällig ist, konnte ich damit nichts anfangen und Microsoft's Lösung (bei XP: Eigenschaften von Datum und Uhrzeit) mit drei Edits und mehreren Statics mit Doppelpunkten gefiel mir überhaupt nicht. Jedenfalls bin ich kürzlich über diese Komponente gestolpert. Hab sie etwas angepasst und auf die Eingabe von Stunden und Minuten beschränkt. Date : 7.1.2008 Changes : adapted for time input Author : Mariusz Wojtkowski Range : 00:00 to 23:59 Original : Andrey Tebenkov Viel Spaß, Chester |
Re: TTimeEdit - TEdit für Zeiteingabe
Das sieht doch recht gut aus.
Ohne Dir zu nahe treten zu wollen mal drei kleine (!) Kritikpunkte: + Sieht mir nach viel ueberfluessigem Code aus. Da laesst sich bestimmt noch was ausmisten. + STRG-V (Einfuegen) sollte in einem Edit-Feld schon funktionieren. + <ESC> sollte auf die zuletzt eingegebene Zeit zuruecksetzen (Geschmackssache) Dazu vieleicht im OnEnter die letzte Zeit merken.... Nur mal so als Vorschlag |
Re: TTimeEdit - TEdit für Zeiteingabe
Zitat:
Leider hab ich den Fehler bis jetzt nur umgangen. So wird das Menü deaktiviert:
Delphi-Quellcode:
Ich werde das noch versuchen zu ändern. :gruebel:
procedure TForm1.EditContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
begin Handled := True; end; Chester |
Re: TTimeEdit - TEdit für Zeiteingabe
Mir fallen 3 Dinge auf:
* im Sourcecode sind extrem viele Zahlen und Strings hartcodiert also die Methoden KeyPress und ResultTC sind sehr umständlich!! Nichts für ungut; jeder fängt mal klein an. * es fehlt ein Property vom Typ TTime oder TDateTime * das Control TDateTimePicker kann doch auch Uhrzeiten annehmen; man muss nur das Property Kind auf dtkTime setzen |
Re: TTimeEdit - TEdit für Zeiteingabe
Zitat:
Mir gefallen sie nicht, weil sie mit den XP-Designs nicht korrekt dargestellt werden. Das ist aber eher Geschmacksache :zwinker: Außerdem bin ich der Meinung, dass Sekunden bei der Eingabe überflüssig sind. |
Re: TTimeEdit - TEdit für Zeiteingabe
Zitat:
|
Re: TTimeEdit - TEdit für Zeiteingabe
Zitat:
Delphi-Quellcode:
Procedure HideSpinButton(oPicker: TDateTimePicker);
Var oHandle: HWND; Begin If assigned(oPicker) Then Begin oHandle := oPicker.Handle; oHandle := FindWindowEx(oHandle, 0, 'msctls_updown32', Nil); Windows.ShowWindow(oHandle, SW_HIDE); End; End; Procedure TForm1.Button1Click(Sender: TObject); Begin HideSpinButton(DateTimePicker1); End; |
Re: TTimeEdit - TEdit für Zeiteingabe
Auch eine gute Möglichkeit, danke!
Jetzt gefällt mir der DateTimePicker schon wesentlich besser! Mir scheint, meine Kompo ist jetzt überflüssig... :wall: Grüße |
Re: TTimeEdit - TEdit für Zeiteingabe
Zitat:
|
Re: TTimeEdit - TEdit für Zeiteingabe
Hi Leute,
und wie ich was gelernt habe... Danke für eure Hilfe, doch nach ausführlichem Test hat mich der DateTimePicker nicht überzeugt. - Einfügen funktioniert nicht - Zeichenfläche der SpinButtons verdeckt ein Teil des DateTimePickers (sollte so klein wie möglich sein) Jetzt werde ich noch nach einem passenden DateEdit suchen. Grüße, Mariusz |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 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