Kalenderfelder Formatieren



  • Hallo Zusammen.

    Leider muss ich schon wieder eine Frage stellen.

    Wie kann ich im Standardkalender von C++Builder 2007 einzelne Datumsfelder formatieren.

    So das z.B. der 2 September rot umrahmt ist und der 5 September zum Beispiel gelb und Fett.

    Ich wäre wirklich sehr dankbar auf eine Antwort.





  • Hallo und danke für den Tipp.

    Jedoch funktioniert das Ganze bei mir nicht.

    void __fastcall TF_Hauptformular::KalenderGetMonthInfo(TObject *Sender,
          DWORD Month, DWORD &MonthBoldInfo)
    {
    TCommonCalendar *Calendar = dynamic_cast <TCommonCalendar *> (Sender); 
    unsigned bdays[5] = {2,4,6,8,10}; 
    Kalender->BoldDays(bdays, sizeof(bdays)/sizeof(bdays[4]),(unsigned) MonthBoldInfo);
    }
    

    Es kommt immer der Fehler:
    [BCC32 Fehler] Pen_Planer.cpp(658): E2357 Eine mit 'unsigned int' initialisierte Referenz-Variable muß einen L-Wert des Typs 'unsigned int' haben.

    Kann mir jemand Helfen 😕



  • Hallo

    Bei meinem BCB5 kompiliert das Fehlerfrei. Kann es sein das du einen neueren Builder hast?
    Das Problem dürfte der letzte Parameter sein, bei dem eine Referenz auf unsigned int gefordert wird. Offenbar akzeptiert er keinen temporär in unsigned int gecasteten DWORD. Dann sollte aber das hier funktionieren

    TCommonCalendar *Calendar = dynamic_cast <TCommonCalendar *> (Sender);
    unsigned bdays[5] = {2,4,6,8,10};
    unsigned int x = MonthBoldInfo;
    Calendar->BoldDays(bdays, sizeof(bdays)/sizeof(bdays[4]), x);
    MonthBoldInfo = x;
    

    bis bald
    akari



  • Danke.

    Ich werde das ganze Testen, sobald ich kann. (Heut Abend :))

    Betreffend des Builders.
    Zurzeit verwende ich den C++Builder 2007 von CodeGear (Borland).



  • Hey Danke das war der Fehler.

    Nun habe ich jedoch noch ein 2tes Problem.
    Bei meinem Kalender werden 4 Monate gleichzeitig angezeigt.

    Und durch diesen Code, werden die Daten aller Monate Fett markiert.
    Wie kann ich das ganze für jeden Monat individuell darstellen.



  • Hallo zusammen.

    Ich bin es wieder.
    Und es tut mir leid, diesen alten Thread wieder hervorzuholen.

    Jedoch kriege ich dieses eine Problem einfach nicht in den Griff.

    Es geht darum die BoldDays während der Laufzeit des Programmes zu ändern.

    Ich habe es mit repaint, refresh,...
    und den Aufruf der Funktion probiert, jedoch hilft nichts.
    Es will die Bolddays einfach nicht ändern.

    Gibt es da eine Lösund oder ist dies garnicht machbar?


Anmelden zum Antworten