Autor Beitrag
Timbo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 166



BeitragVerfasst: Mo 21.08.06 13:10 
Hallo,

der DateTimePicker steht z.B. auf 1.1.2000. Wenn nun er nun zum auswählen aufpoppt, soll er mit dem aktuellen Datum inizialisiert werden.

onClick wird bei aufpoppen leider nicht ausgelöst.

Finde kein Ereignis, das ausgelöst wird, um den Wert zu setzen...

Vielen Dank.
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Mo 21.08.06 18:08 
user profile iconTimbo hat folgendes geschrieben:
der DateTimePicker steht z.B. auf 1.1.2000. Wenn nun er nun zum auswählen aufpoppt, soll er mit dem aktuellen Datum inizialisiert werden.

Hallo! Meinst du das:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.DateTimePicker1DropDown(Sender: TObject);
begin
 DateTimePicker1.Date := Now;
end;

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Timbo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 166



BeitragVerfasst: Mo 21.08.06 21:48 
Vielen Dank schon mal.
Aber damit wird nur das Feld aktualisiert in dem Pop-Up Fenster steht dann noch das alte Datum.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 22.08.06 07:41 
Hallo,

eventuell ist OnEnter besser geeignet.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Timbo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 166



BeitragVerfasst: Di 22.08.06 13:29 
on Enter bringt auch nichts, möchte ja das nur das popUp Datum ändern...
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 22.08.06 21:32 
user profile iconTimbo hat folgendes geschrieben:
der DateTimePicker steht z.B. auf 1.1.2000.

Irgendetwas verstehe ich da jetzt nicht: Wie setzt du das Datum denn auf z.B. 1.1.2000? Genauso setzt du es dann im Dropdown-Ereignis wieder auf das aktuelle Datum!

user profile iconTimbo hat folgendes geschrieben:
Aber damit wird nur das Feld aktualisiert in dem Pop-Up Fenster steht dann noch das alte Datum.

Das meinte ich, verstehe ich nicht - wie ändert man das Datum im Popup-Fenster denn? Jedenfalls genauso änderst du es eben wieder zurück!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Timbo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 166



BeitragVerfasst: Mi 23.08.06 03:57 
also:

im feld steht 1.1.2000
wenn man nur in das feld klickt soll nicht passieren, altes datum bleibt, auch bei verlassen keine änderungen.
wenn man aber auf den pfeil klickt soll in dem popupfenster nicht 1.1.2000 stehen, sonder 22.8.2006...

sonst müßte man sich da komplett durch den kalender wühlen, um zum aktuellen datum zu kommen.
man könnte zwar auf "heute" klicken, aber dann geht der dialog zu.
wenn ich nun aber 31.8.2006 haben wollte muss ich dann wieder auf den pfeil klicken.
einfach mal ausprobieren, voll nervig.
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Mi 23.08.06 18:26 
user profile iconTimbo hat folgendes geschrieben:
im feld steht 1.1.2000
wenn man nur in das feld klickt soll nicht passieren, altes datum bleibt, auch bei verlassen keine änderungen.
wenn man aber auf den pfeil klickt soll in dem popupfenster nicht 1.1.2000 stehen, sonder 22.8.2006...

sonst müßte man sich da komplett durch den kalender wühlen, um zum aktuellen datum zu kommen.
man könnte zwar auf "heute" klicken, aber dann geht der dialog zu.
wenn ich nun aber 31.8.2006 haben wollte muss ich dann wieder auf den pfeil klicken.
einfach mal ausprobieren, voll nervig.


Also möchtest du, dass der Kalender das Datum nur setzt, wenn du auf den Pfeil (welchen von den beiden denn?) klickst? Sonst soll er nichts machen, egal, wohin du klickst?

Naja, DateTimePicker kann das aber nicht, dazu musst du entweder eine andere Komponente verwenden oder eine neue Komponente von TDateTimePicker ableiten. Aber warum verwendest du nicht einfach TMonthCalendar? Das bleibt offen, wenn du auf "Heute" klickst!

//Edit: Ich glaube, Ableiten würde gar nicht funktionieren, weil man ja nichts "wegnehmen" kann, nur hinzufügen, d.h., was eine Komponente kann, kann immer auch ihr Nachfolger. Ist doch so, oder?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: So 27.08.06 18:58 
Hallo,

so wird nur der PopUp-Kalender auf das aktuelle Datum gestellt:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.DateTimePicker1DropDown(Sender: TObject);
var h : THandle;
    aTime : TSystemTime;
begin
  h := DateTime_GetMonthCal(DateTimePicker1.Handle);//Handle besorgen
  DateTimeToSystemTime(now,aTime);
  MonthCal_SetCurSel(h,aTime);
end;


//Edit: Die Unit CommCtrl muss in uses eingebunden werden!

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )