![]() |
StringGrid -> Selektierte Zeile nur umranden nicht ausfül
Hallo zusammen,
wie kann ich bei einem StringGrid die selektierte Zeile nur umranden und nicht ausfüllen ? Gruss Holger |
Re: StringGrid -> Selektierte Zeile nur umranden nicht au
Hallo Holger,
wenn du die Selektion nicht farbig hervorgehoben sehen willst, dann hast du wahrscheinlich RangeSelect abgeschaltet:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.StringGridSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean); begin with Sender as TStringGrid do Selection := TGridRect(Rect(-1, -1, -1, -1)); end; |
Re: StringGrid -> Selektierte Zeile nur umranden nicht au
Danke, aber egal obe ich RangeSelect abgeschaltet habe oder nicht, inkl. deinem Code bleibt die selektierte Zeile ausgefüllt.
Gruss Holger |
Re: StringGrid -> Selektierte Zeile nur umranden nicht au
Hallo,
was verstehst du unter Umranden und was unter Ausfüllen? Ich habe dein Umranden mit FocusRect gleichgesetzt und Ausfüllen mit der hervorgehobenen Selektion. Wenn du RangeSelect eingeschaltet (default) hast, dann benötigst du eine visuelle Hervorhebung. Hast du diese Option abgeschaltet, dann brauchst du meinen Code garnicht, solange das Grid den Fokus hat, da eine einzelne Zelle nie farblich hervor gehoben wird. Kannst du etwas mehr erklären? Freundliche Grüße |
Re: StringGrid -> Selektierte Zeile nur umranden nicht au
... habe RangeSelect auf True,
... und RowSelect auf True, damit füllt und umrandet er alle Spalten in der selektierten Zeile. ... jetzt will ich aber die Füllung nicht haben. Gruss Holger P.S.: Sorry, wenn ich mich nicht deutlich ausgedrückt habe ;) |
Re: StringGrid -> Selektierte Zeile nur umranden nicht au
Hallo Holger,
wenn es sehr schön aussehen soll, dann wirst du alles selbst zeichnen müssen. Einfach nur das HighLighting des Auswahlbereiches kannst du so eliminieren:
Delphi-Quellcode:
Freundliche Grüße
procedure TDemoForm.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin with Sender as TStringGrid do if (gdSelected in State) then begin Canvas.Brush.Color := Color; Canvas.FillRect(Rect); end; end; |
Re: StringGrid -> Selektierte Zeile nur umranden nicht au
Alles klar,
mit der "einfachen Elliminierung" reicht mir schon. Danke und Gruss Holger |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 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