Hallo,
ich möchte gerne ein TStringGrid transparent zeichnen. Ich habe schon Folgendes ausprobiert:
Delphi-Quellcode:
procedure TfrmMain.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
celltext: String;
begin
SetBkMode(StringGrid1.Canvas.Handle, TRANSPARENT);
StringGrid1.Canvas.Brush.Style := bsClear;
StringGrid1.Canvas.Pen.Style := psClear;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.Font.Color := clBlack;
celltext := StringGrid1.Cells[ACol, ARow];
DrawText(StringGrid1.Canvas.Handle, PChar(celltext), Length(celltext), Rect, DT_SINGLELINE);
end;
Das klappt aber nicht. Das Rechteck bleibt weiß.
Wo liegt der Fehler?