AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls TMonthCalendar - kein Ereignis für Änderungen / OnChange
Thema durchsuchen
Ansicht
Themen-Optionen

TMonthCalendar - kein Ereignis für Änderungen / OnChange

Ein Thema von Redeemer · begonnen am 28. Apr 2022 · letzter Beitrag vom 28. Apr 2022
Antwort Antwort
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.018 Beiträge
 
Delphi 2009 Professional
 
#1

TMonthCalendar - kein Ereignis für Änderungen / OnChange

  Alt 28. Apr 2022, 12:01
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 procedure TMonthCalendar.CNNotify(var Message: TWMNotifyMC); geschrieben, wo das Event (falls zugewiesen) beim Fall MCN_SELECT, MCN_SELCHANGE: 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.

Ich finde das aber von Delphi aus nicht normal. Wäre das ein Fall für QC?

(Getestet mit Delphi 2010 und 10.4.)
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.022 Beiträge
 
Delphi 12 Athens
 
#2

AW: TMonthCalendar - kein Ereignis für Änderungen / OnChange

  Alt 28. Apr 2022, 12:19
Wäre das ein Fall für QC?
Zwar eher für QP, aber - ja! Es wird dann aber wohl auf ein New Feature hinauslaufen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.018 Beiträge
 
Delphi 2009 Professional
 
#3

AW: TMonthCalendar - kein Ereignis für Änderungen / OnChange

  Alt 28. Apr 2022, 13:44
Okay, danke. Ist im QP angelegt. Fraglich, ob sich am Ende wer drum kümmert, obwohl es eine "low-hanging fruit" ist (5 Zeilen und du bist dabei).
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz