AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi StringGrid -> Selektierte Zeile nur umranden nicht ausfüllen
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid -> Selektierte Zeile nur umranden nicht ausfüllen

Ein Thema von HolgerCW · begonnen am 29. Nov 2007 · letzter Beitrag vom 30. Nov 2007
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

StringGrid -> Selektierte Zeile nur umranden nicht ausfül

  Alt 29. Nov 2007, 09:35
Hallo zusammen,

wie kann ich bei einem StringGrid die selektierte Zeile nur umranden und nicht ausfüllen ?

Gruss

Holger
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: StringGrid -> Selektierte Zeile nur umranden nicht au

  Alt 29. Nov 2007, 10:03
Hallo Holger,

wenn du die Selektion nicht farbig hervorgehoben sehen willst, dann hast du wahrscheinlich RangeSelect abgeschaltet:

Delphi-Quellcode:
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;
Grüße vom marabu
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: StringGrid -> Selektierte Zeile nur umranden nicht au

  Alt 29. Nov 2007, 10:21
Danke, aber egal obe ich RangeSelect abgeschaltet habe oder nicht, inkl. deinem Code bleibt die selektierte Zeile ausgefüllt.

Gruss

Holger
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: StringGrid -> Selektierte Zeile nur umranden nicht au

  Alt 29. Nov 2007, 10:54
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
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#5

Re: StringGrid -> Selektierte Zeile nur umranden nicht au

  Alt 30. Nov 2007, 08:43
... 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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: StringGrid -> Selektierte Zeile nur umranden nicht au

  Alt 30. Nov 2007, 09:35
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:
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;
Freundliche Grüße
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#7

Re: StringGrid -> Selektierte Zeile nur umranden nicht au

  Alt 30. Nov 2007, 12:41
Alles klar,

mit der "einfachen Elliminierung" reicht mir schon.

Danke und Gruss

Holger
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz