Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TCalendarView - Mehrfarbiger Zellenhintergrund (https://www.delphipraxis.net/200891-tcalendarview-mehrfarbiger-zellenhintergrund.html)

Tim-94 4. Jun 2019 15:06


TCalendarView - Mehrfarbiger Zellenhintergrund
 
Hallo zusammen,

Ich experimentiere gerade mit der Komponente "TCalendarView" und wollte den Hintergrund einer Zelle (eines Tages) jeweils zur Hälfte mit unterschiedlichen Farben füllen, jedoch stehe ich da gerade etwas auf dem Schlauch... Im Ereignis "OnDrawDayItem" ändere ich die Hintergrundfarbe bisher folgendermaßen (bspw. um einen bestimmten Zeitraum anders einzufärben):

Code:
  // Hintergrundfarbe des Zeitraums testweise ändern
  if (CalendarViewViewInfo.Date >= StrToDate('13.06.2019')) and (CalendarViewViewInfo.Date <= StrToDate('17.06.2019')) then
    DrawParams.BkColor := clRed;
Rein vom Verständnis her müsste man doch die Koordinaten des Rects (der Zelle) nehmen und dann mittels Canvas etwas draufzeichnen, oder?
Kann mir da jemand weiterhelfen?

Beste Grüße,
Tim :)

Tim-94 13. Jun 2019 17:51

AW: TCalendarView - Mehrfarbiger Zellenhintergrund
 
Kann mir hier wirklich niemand weiterhelfen?

*push*

hoika 13. Jun 2019 17:54

AW: TCalendarView - Mehrfarbiger Zellenhintergrund
 
Hallo,
was hast Du denn schon?

Ich denke, dass du zuerst inherited oder ähnlich aufrufen musst,
und erst dann zeichnen darfst.
Sonst überschreibt ja das gesetzte DrawParams-Zeugs deine gemaltes wieder.

Tim-94 2. Jul 2019 10:20

AW: TCalendarView - Mehrfarbiger Zellenhintergrund
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo Hoika,

Entschuldige die verspätete Rückmeldung. Ich war in den letzten Wochen sehr viel mit anderen Projekten beschäftigt und hatte deine Antwort schlichtweg verdrängt.
In den letzten Tagen habe ich noch etwas herumexperimentiert und ein kleines Testprojekt geschrieben, welches du im Anhang findest.

Zum Verständnis: Ich möchte eine Art Belegungskalender, in welchem einzelne Buchungen dargestellt werden, realisieren.

In meinem Testprojekt möchte ich nun bspw. die Zelle des Tages 13.07.2019 mit einer weißen Unterteilung in der Mitte rot färben (siehe Bild "rot_rot.png"). Wenn die zweite Buchung nun bspw. nur eine Reservierung wäre, möchte ich die linke Hälfte rot und die rechte Hälfte gelb darstellen (siehe Bild "rot_gelb.png").

Tim-94 16. Jul 2019 14:02

AW: TCalendarView - Mehrfarbiger Zellenhintergrund
 
Schade, dass mir niemand weiterhelfen kann...:(

*push*

hoika 16. Jul 2019 15:02

AW: TCalendarView - Mehrfarbiger Zellenhintergrund
 
Hallo,
tja, dein Wunsch ist einfach zu speziell.

Ich würde Umsteigen auf eine TDrawGrid. Dort kannst/musst du alles selber malen.

Ansonsten musst Du die Komponente erweitern um Deine Wünsche
minimalster Ausgangspunkt, um die Farben-Properties rauszubekommen.
http://docwiki.embarcadero.com/RADSt..._Calendar_View

Der Quellcode ist doch vorhanden?

Tim-94 17. Jul 2019 07:18

AW: TCalendarView - Mehrfarbiger Zellenhintergrund
 
Hallo hoika,

Danke, aber ein TDrawGrid setze ich schon in einer älteren Version meines Programms ein und wollte mal die Komponente wechseln bzw. etwas moderner werden.
Ich werde demnächst mal weiter herumexperimentieren und eine weitere Antwort verfassen, wenn ich eine Lösung herausgefunden habe.

Trotzdem danke :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 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