Auf TMonthCalendar-Button-Click reagieren



  • Hallo,

    ich habe eine TMonthCalendar-Instanz (MonthCalendar1), jetzt will ich wenn auf die Methode geklickt wird wissen, ob auf einen der beiden Buttons geklickt wurde oder nicht.

    Ich hatte es so versucht.

    void __fastcall TForm1::MonthCalendar1Click(TObject *Sender)
    {
             TButton *test = dynamic_cast<TButton*>(Sender);
             if(test) {
                    ShowMessage(test->Name);
             } else {
                    ShowMessage("Kein Button.");
             }
             delete test;
    }
    

    Leider weiß ich nicht ob das überhaupt Buttons in TMonthCalendar sind und den Quellcode hab ich auch nicht gefunden.

    Danke,
    Enrico



  • Enrico Stahn schrieb:

    delete test;

    AUA!!!



  • WebFritzi schrieb:

    AUA!!!

    Hilfreich und witzig, wie schaffst Du das nur immer wieder 😛



  • Was willst du denn von den Buttons? Interessant ist doch eigentlich nur, ob der Monat gewechselt wurde, und das erfährst du über das GetMonthInfo-Event. Aber beachte, dass dieses bei jedem Wechsel dreimal ausgelöst wird, nämlich zusätzlich noch für den jeweilige Vor- und Nachmonat.



  • Dir solte Klar sein, dass du mit

    delete test;
    

    den Button ins jenseits schickst....

    in deinen Fall ist das aber nicht unbedingt gewünscht. Glaub ich zumindest.

    §1: Zerstöre nur was du selbst erstellt hast
    §2: Zerstöre immer was du selbst erstellt hast

    Wenn du Komponeten zerstörst, die von der IDE erzeugt werden, wird dir der BCB das Formular beim Beenden des Programms um die Ohren hauen.



  • Enrico Stahn schrieb:

    WebFritzi schrieb:

    AUA!!!

    Hilfreich und witzig, wie schaffst Du das nur immer wieder 😛

    Tja, ich bin halt ein Tausendsassa! Es sollte ein Denkanstoß für dich sein. Ich finde, wenn man den gewaltigen BCB benutzen will, sollte man schon mit dem Speicher umgehen können.



  • AndreasW schrieb:

    wird dir der BCB das Formular beim Beenden des Programms um die Ohren hauen.

    Hat er nicht gemacht. War auch nur schneller Testcode.
    Aber jeder hängt sich irgendwie an dem delete auf anstatt mir meine Frage zu beantworten.

    Jansen schrieb:

    Interessant ist doch eigentlich nur, ob der Monat gewechselt wurde

    Ok, versuch ich mal. Danke Dir.


Anmelden zum Antworten