StringGrid einfärben?
-
Hallo,
ich wollte die Zellen vom StringGrid unterschiedlich einfärben, habe folgende Funktion benutzt:
Es Funktioniert aber nicht. Was mach ich falsch?
void __fastcall TForm3::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect)
{// Zelle färben
StringGrid1->Canvas->Brush->Color = clYellow; //gelbe Zelle
StringGrid1->Canvas->Font->Color = clBlack; //schwarze Schrift
StringGrid1->Canvas->FillRect(Rect);
StringGrid1->Canvas->TextOut(Rect.Left+2, Rect.Top+2, StringGrid1->Cells[ACol][ARow]);// Text ausrichten
int hAlign; // text align, 0/1/2 - Left/Center/Right
if (ACol % 2) hAlign = 1;
else hAlign = 2;StringGrid1->Canvas->FillRect(Rect); // Hintergrund übermalen
DrawText(StringGrid1->Canvas->Handle, StringGrid1->Cells[ACol][ARow].c_str(), -1, &Rect, DT_SINGLELINE | DT_VCENTER | hAlign);
}
-
Hast Du TCustomGrid::DefaultDrawing entsprechend gesetzt ?
-
DefaultDrawing steht auf true, sonst ist kein Eintrag vorhanden.
-
Was steht denn in der BCB Hilfe zu DefaultDrawing
-
Muss ich dann jede Zelle selber zeichnen?
-
Hallo
schau dir dochmal die Hilfe dazu an
bzw suche im Forum hier danachMfG
Klaus
-
Hab was passendes gefunden, es tut