![]() |
TStringGrid transparent
Hallo,
ich möchte gerne ein TStringGrid transparent zeichnen. Ich habe schon Folgendes ausprobiert:
Delphi-Quellcode:
Das klappt aber nicht. Das Rechteck bleibt weiß.
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; Wo liegt der Fehler? |
Re: TStringGrid transparent
Hallo,
was soll denn als Hintergrund dargestellt werden? |
Re: TStringGrid transparent
Ein TImage. :wink:
|
Re: TStringGrid transparent
Hallo,
soll das Image nur im Bereich des StringGrids sichtbar sein, oder bedeckt das StringGrid nur einen Teil des Image? Das onDrawCell wird ja für jede Zelle die gezeichnet werden muss aufgerufen. Also musst du Anhand der Zellkoordinate(die liefert Dir OnDrawCell in der Prozedurvariablen rRect) den entsprechenden Bereich aus dem Image kopieren und in der Zelle mit Canvas... ausgeben. In Deinem Code wird an keiner Stelle etwas gezeichnet, also weiße Fläche(Brush.Color) :wink: Transparent in dem Sinne das das hinterliegende Image "durchscheint" ist imho nicht möglich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz