Das sieht sehr gut aus!
Für die Komponentenentwicklung gibt es zuhauf Tutorials im Netz, wenn nicht sogar hier irgendwo im Forum. Mit den IW-Kompos habe ich keine Erfahrung, inwieweit man bei denen auf spezielle Dinge achten muß, vllt findet sich dazu ein Kollege hier

In der
VCL hätte ich mir den Kalender ungefähr (sehr unvollständig) so gedacht:
Delphi-Quellcode:
interface
uses ...
type
TMyLabel = class(TLabel)
private
FDate: TDate;
procedure SetDate(AValue: TDate); // beim Ändern des Datums wird auch die Caption angepaßt
published
property Date: TDate read FDate read SetDate;
end;
TMyDayPanel = class(TPanel)
private
FDate : TDate;
FDateLabel : TMyLabel;
FDayLabel : TMyLabel;
FCountLabel: TMyLabel;
procedure SetDate(AValue: TDate); // schreibt das Datum auch in die Labels
public
constructor Create(AOwner: TComponent); // erzeugt auch die Labels
published
property Date : TDate read FDate read SetDate;
property DateLabel : TMyLabel read FDateLabel;
property DayLabel : TMyLabel read FDayLabel;
property CountLabel: TMyLabel read FCountLabel;
end;
TMyDayArray = array[1..365] of TMyDayPanel; // Panels müssen erzeugt/freigegeben werden werden
... oder ...
TMyDayList = TList<TMyDayPanel>;
TMyCalendar = class(TPanel)
private
FDays: TMyDayArray;
... etc ...
end;
HTH CmL