StringGrid DrawCell



  • Hallo,

    ich markiere abhängig von einem Datum einzelne Zeilen im StringGrid:

    objGrid->Canvas->Brush->Color = clYellow;
    		  DrawText(objGrid->Canvas->Handle, objGrid->Cells[ACol][ARow].c_str(), -1, &Rect, DT_SINGLELINE | DT_VCENTER);
    

    Zwei Nachfraqen - ich würde gerne die ganze Zeile markieren oder alternativ nur den Text in der entsprechenden Spalte. Jetzt wird in der betreffenden Zeile nur der Text gelb.

    Das wichtigere - wenn ich in die StringGrid Zeile klicke sehe ich den Text nicht mehr sondern nur gelbe Balken an Stelle des Textes (goRowSelect ist auf true).

    Danke !



  • Canvas-Font-Color setzen?
    Habe keinen Builder zur Hand aber sieh dir mal das FAQ-Beispiel an.



  • Vor dem DrawText solltest du noch den Zeichenmodus setzen (und eventuell noch die Textfarbe):

    ::SetTextColor( objGrid->Canvas->Handle, ColorToRGB( clBlack ) );
    ::SetBkMode( objGrid->Canvas->Handle, TRANSPARENT );
    ::DrawText( objGrid->Canvas->Handle, objGrid->Cells[ACol][ARow].c_str(), -1, &Rect, DT_SINGLELINE | DT_VCENTER | DT_CENTER );
    

Anmelden zum Antworten