Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Focus im DateTimePicker


GuGl - Mi 13.09.06 09:18
Titel: Focus im DateTimePicker
Hallo,
Wenn der DateTimePicker insgesamt den Fokus erhält, ist immer das zuletzt bearbeitete "Teilfeld" (Tag, Monat, Jahr oder der Kalender) zum Überschreiben im Fokus, ich möchte hingegen immer ganz links den Tag markiert haben, wo die Eingabe des Datums normalerweise beginnt.
Gibt es dafür eine Lösung?

Viele Grüße
GuGl


Raffo - Mi 13.09.06 20:32

Ich benutze diese Compo auch, aber vielleicht ist in deinem Windows das Datumsformat ungewöhnlich?

Normalerweise fängt er hier an >01.02.2006 wenn das Element den Focus bekommt.


GuGl - Fr 15.09.06 08:01

Hallo,
wenn der DateTImePicker das 1. mal den Focus ewrhält ist das auch so.
Ändere ich jetzt z.B. das Jahr oder klicke auf den DropDown, und
komme das nächste mal in den DateTimePicker, ist der Focus immer an der
zueletzt bearbeiteten Stelle im Picker (also am dropDown-Pfeil oder Jahr).
Das habe ich gemeint.


Raffo - Fr 15.09.06 08:29
Titel: DateTimePicker Focus wieder auf das erste Element
Man muss dem Control lediglich sagen, das es ein anderes Datumsformat bekommt. Intern wird das Control destroyed und wieder neu erstellt.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.DateTimePicker1Exit(Sender: TObject);
begin
// ggf. beide Zeilen vertauschen um den Urzustand wiederherzustellen
DateTimePicker1.DateFormat:=dfLong; 
DateTimePicker1.DateFormat:=dfShort;
end;