Autor Beitrag
Daniel L.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140
Erhaltene Danke: 14

W7, W8
TurboD Prof, Delphi Community
BeitragVerfasst: Di 07.12.10 22:48 
Hi,

öffnet man als User in einem DateTimePicker den Kalender, so kan man ihn mit <ESC> wieder verlassen, ohne eventuelle Änderungen zu übernehmen.
Auf dieses Tastaturereigniss würde ich gerne reagieren können, es wird jedoch kein OnKeyDown Ereigniss ausgelöst (dafür aber ein ONChange, obwohl sich ja garnichts geändert hat :?!?: )
Andere Tasten. z. B. die Pfeiltaten, lassen sich in diesem Zusammenhang problemlos abfangen.

Hat jemand eine Idee, wie man da rankommt?
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Mi 08.12.10 01:02 
user profile iconDaniel L. hat folgendes geschrieben Zum zitierten Posting springen:
Auf dieses Tastaturereigniss würde ich gerne reagieren können
Ansatzpunkt (nicht voll ausgetestet):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.DateTimePicker1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = 27 then
    ShowMessage('Escape gedrückt');
end;
Daniel L. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 140
Erhaltene Danke: 14

W7, W8
TurboD Prof, Delphi Community
BeitragVerfasst: Mi 08.12.10 01:25 
Danke dafür - komisch, dass nur ein KeyUp angestossen wird und kein KeyDown.
Jetzt müsste ich nur noch rauskriegen, ob der Tastendruck auf dem Kalender oder auf dem Hautpfenster des Pickers erfolgte - Sender.ClassName ist ja beidemal TDateTimePicker.

edit: man kann es mit OnDropDown und OnCloseUp kombinieren - so sollte es gehen

noch mal Danke + Gruss: Daniel