![]() |
TMonthCalendar - kein Ereignis für Änderungen / OnChange
Hallo.
Ich habe einen TMonthCalendar. Wenn ich den mit der Maus bediene, wird ein OnClick-Event ausgelöst. Wenn man TabStop auf True setzt und mit der Tastatur das Ding fokussiert (es ist nicht möglich, die Maus zu benutzen, um einen TMonthCalendar zu fokussieren!) kriege ich das nicht mit. Dass TabStop standardmäßig False ist und dass man das Ding nur mit der Tastatur fokussieren kann, sagt schon viel aus. Aber auch im Standardzustand besitzt das Ding ein Kontextmenü mit "Gehe zu Heute", von dessen Nutzung und der resultierenden Änderung ein Programm ebenfalls nichts mitbekommen kann. Nun könnte man sagen: „Ja, aber es ist ja ein OnClick-Event.“ Stimmt, aber bei TCheckBox wird das Event auch per Tastatur ausgelöst. Bei TComboBox existiert ein OnClick-Event, dessen Benennung zu den größten ungeklärten Fragen der Menschheit gehört, da es zwar in allen möglichen Fällen ausgelöst wird – aber nicht beim Klicken auf das Steuerelement. Ich habe mir dann einen Fix für die Methode
Delphi-Quellcode:
geschrieben, wo das Event (falls zugewiesen) beim Fall
procedure TMonthCalendar.CNNotify(var Message: TWMNotifyMC);
Delphi-Quellcode:
aufgerufen wird. Windows löst dieses neue OnChange-Event dann aus, wenn man die Tastatur benutzt oder besagtes Kontextmenüitem benutzt. Programmatische Änderungen an Date lösen es nicht aus.
MCN_SELECT, MCN_SELCHANGE:
Ich finde das aber von Delphi aus nicht normal. Wäre das ein Fall für QC? (Getestet mit Delphi 2010 und 10.4.) |
AW: TMonthCalendar - kein Ereignis für Änderungen / OnChange
Zitat:
|
AW: TMonthCalendar - kein Ereignis für Änderungen / OnChange
Okay, danke. Ist im QP
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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-2025 by Thomas Breitkreuz