Grid, veränderbares Symbol in Spaltenüberschrift



  • Hallo,

    meine Daten werden in ein StringGrid ausgegeben. Per Klick auf den Spaltenkopf sollen die Daten auf- / absteigend sortiert werden. Also die gleiche Funktionalität wie bei einem Windows-Fenster in Detail Ansicht.

    Mein Ansatz ist - Ermitteln der Klick-Position, bei Spaltenüberschrift Symbol zeichen. War der Sort-Fokus vorher auf einer anderen Spalte, dann aufsteigend mit Symbol PfeilOben, sonst eben entgegengesetzt.

    Wie zeichne ich in den Spaltenkopf ? Läßt sich der Klick darauf auswerten ?

    Danke,

    Iatros



  • Zeichnen des Spaltenkopfes in dem Ereignis

    void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
    		int ARow, TRect &Rect, TGridDrawState State)
    

    Prüfen welche Zelle gerade dran ist, wenn es dein Kopf ist ->zeichnen

    Klick mit dem Ereignis

    void __fastcall TForm1::StringGrid1Click(TObject *Sender)
    

    und der Methode
    MouseToCell



  • Windows verwendet keine StringGrids sondern ListViews. Zum Thema Sortieren und Zeichnen von StringGrids findest du in den FAQ Beispiele.



  • http://bytesandmore.de/rad/cpp/snipp/sc02039.php
    zieh dir mal das project.
    unter der Draw funktion findest du wie man ein Bild zeichnet


Anmelden zum Antworten