Zugriff auf mehrere Komponenten mit einer einzelnen Funktion



  • Hallo,

    ich habe mehrere Chart-Komponenten(TeeChart), und möchte das setzen(Canvas) von Stiftgrößen, Fonts usw. in einer einzelnen Funktion zusammenfassen. Momentan geschieht das noch in separaten AfterDraw-Ereignissen(in denen ich Grenzwerte einzeichne)

    Wie kann ich nun in einer gemeinsamen Funktion auf die einzelnen TCharts zugreifen?

    z.B. anstatt Chart1->Canvas->Pen->Color=clRed;
    -> Chartx->Canvas->Pen->Color=clRed;

    Bin auch gern für andere Lösungen offen.

    Grüße

    antan



  • Hallo

    Der Event liefert dir das paassende TChart in dem Parameter Sender. Du must es nur noch in den Typ TChart zurückcasten.

    bis bald
    akari



  • Hallo akari,

    Danke für Deine schnelle Antwort!

    Ich hab mir jetzt die Finger wund gegoogelt und finde Partout einfach nix über zurückcasten. Ist es Dir möglich mir kurz zu schreiben, wie ich von Sender auf TChart zurückcaste?

    Und wenn Du schon dabei bist, wie der englische Fachausdruck dafür heisst, damit ich da was nachlesen kann.

    Gruß

    antan



  • Hallo

    // Wenn du dir sicher bist, das der Event auf jeden Fall nur von einem TTeeChart aufgerufen wird
    TTeeChart* Chart = static_cast<TTeeChart*>(Sender);
    ...
    
    // Wenn du dir nicht sicher bist, das der Event nur von einem TTeeChart aufgerufen wird
    TTeeChart* Chart = dynamic_cast<TTeeChart*>(Sender);
    if (Chart)
    {
      ...
    }
    

    Casten ist der Fachbegriff. In diesem Fall explizites casten.

    bis bald
    akari



  • Genau das was ich gebraucht habe!

    Dickes Danke Schön!

    Gruß

    antan


Anmelden zum Antworten