Hallo.
Danke für den Tipp. Leider hab ich hier ein Problem mit der Umsetzung:
Delphi-Quellcode:
private
OriginalCalendarWindowProc: TWndMethod;
procedure CalendarWindowProcEx(var Message: TMessage);
procedure TForm1.CalendarWindowProcEx(var Message: TMessage);
begin
if Message.Msg = CN_NOTIFY then
begin
memo1.lines.add('Message CN_NOTIFY ('+inttostr(message.Msg)+')');
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OriginalCalendarWindowProc := MonthCalendar1.WindowProc;
// EOSError: Ein Aufruf einer Betriebssystemfunktion ist fehlgeschlagen
MonthCalendar1.WindowProc := CalendarWindowProcEx;
end;
Ich hab mir dieses CN_NOTIFY Modell von folgendem Tutorial abgeleitet:
http://delphi.about.com/od/delphitip...iewchecked.htm
Im Delphi-Quelltext ist TMonthCalendar.WindowProc folgendermaßen deklariert:
Delphi-Quellcode:
property WindowProc: TWndMethod read FWindowProc write FWindowProc;
type
TWndMethod = procedure(var Message: TMessage) of object;
Ich denke also, dass die Funktion CalendarWindowProcEx korrekt deklariert ist. Aber was soll der Fehler bedeuten?
Gruß
blackdrake