![]() |
[TStringGrid] Zelle löschen/ausblenden
HiHo
Gibt es eine Möglichkeit dass man eine Zelle (ein Kästchen) mit Rahmen ausbledenden kann? Wenn ja, welche? ![]() |
Re: [TStringGrid] Zelle löschen/ausblenden
Unterbinde im OnDrawCell-Event das Zeichnen des Zellinhalt!
Grüsse! |
Re: [TStringGrid] Zelle löschen/ausblenden
Versteh ich nicht ganz?
Meinst du so?
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if (acol = 4) and (arow = 4) then exit; end; ![]() |
Re: [TStringGrid] Zelle löschen/ausblenden
Eine Möglichkeit wäre es, die Zelle einfach zu überschreiben...
Code:
Grüsse!
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin with StringGrid1.Canvas do begin if (ARow=1) and (ACol=1) then begin Brush.Color:= clWhite; // ggfls. der Hintergrundfarbe der Zelle anpassen Brush.Style:= bsSolid; // ist i.d.R. Default FillRect(Rect); end; end; end; |
Re: [TStringGrid] Zelle löschen/ausblenden
Zwar übernimmt er die Hintergrundfarbe, aber der Rahmen ist noch sichtbar :(
![]() |
Re: [TStringGrid] Zelle löschen/ausblenden
Hallo
was verstehst du unter dem Rahmen? den selectionsfocus? Dann überzeichne Ihn mit Drawfocusrect oder erlaube im Onselectcell erst gar nicht, daß die Zelle selektiert werden kann. Mfg Frank |
Re: [TStringGrid] Zelle löschen/ausblenden
|
Re: [TStringGrid] Zelle löschen/ausblenden
dann verstehe ich den Sinn nicht. ganze Spalten und Zeilen ausblenden ok, das mach ich auch, aber was willst du mit einer einzelnen zelle?
|
Re: [TStringGrid] Zelle löschen/ausblenden
Liste der Anhänge anzeigen (Anzahl: 1)
|
Re: [TStringGrid] Zelle löschen/ausblenden
achso,
denn blende die Linien aus (govertline,gohorizline=false) und zeichne die Linien einfach selbst als Anregung:
Delphi-Quellcode:
Mfg Frank
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin with Sender as Tstringgrid do begin if acol+arow<7 then begin ///Hintergrund noch zeichen ... canvas.pen.Color:=clLtGray; canvas.MoveTo(rect.Right,Rect.Top); canvas.LineTo(rect.Right,Rect.Bottom); canvas.LineTo(rect.Left,Rect.Bottom); ///Text noch zeichen ... end; end; end; procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin CanSelect:=(acol+arow)<7; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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