![]() |
Selected Cell nach Focuswechsel nicht einfärben
Hallo,
ich habe eine Frage zu TStringGrid Wenn mein StrigGrid den Focus verlieht möchte ich das die SelectedCell nicht blau mit weißer Schrift eingefärbt wird. Habe mir schon einiges hier angesehen (OnDrawCell ...) aber keine passende Antwort gefunden :cyclops: |
Re: Selected Cell nach Focuswechsel nicht einfärben
Hallo,
wenn du keine eigene Zeichenroutine einsetzen möchtest, dann kannst du auch einfach die Selection entfernen, sobald das Grid verlassen wird:
Delphi-Quellcode:
Grüße vom marabu
type
TDemoForm = class(TForm) StringGrid: TStringGrid; procedure StringGridExit(Sender: TObject); procedure StringGridEnter(Sender: TObject); procedure FormCreate(Sender: TObject); private GridRect: TGridRect; end; { ... } procedure TDemoForm.FormCreate(Sender: TObject); begin StringGridExit(StringGrid); end; procedure TDemoForm.StringGridExit(Sender: TObject); begin with Sender as TStringGrid do begin GridRect := Selection; Selection := TGridRect(Rect(-1,-1,-1,-1)); end; end; procedure TDemoForm.StringGridEnter(Sender: TObject); begin with Sender as TStringGrid do Selection := GridRect; end; |
Re: Selected Cell nach Focuswechsel nicht einfärben
Danke für die Hilfe, das Thema hatte sich mitterweile erledigt, weil ich es aus Versehen zweimal erstellt hatte.
|
Re: Selected Cell nach Focuswechsel nicht einfärben
Ich habe den Programmcode von Marabu gerade ausprobiert. Leider funktioniert es aber nicht.
Beim Starten zeigt Delphi ein Fehlermeldung an folgender Stelle: Zitat:
Lg |
Re: Selected Cell nach Focuswechsel nicht einfärben
Das steht bei mir im Source :
Delphi-Quellcode:
Aber ohne Gewähr, dass das auch bei dir geht. 8)
procedure Tfrm.sg(Sender: TObject);
begin sg.EditorMode := true; // sonst blau markiert end; |
Re: Selected Cell nach Focuswechsel nicht einfärben
tschuldigung, dass ich so blöd frage. Aber wo muss das denn jetzt hin und was steht dann dementsprechend bei type und so?
|
Re: Selected Cell nach Focuswechsel nicht einfärben
Hallo,
wie lautet die Fehlermeldung? Prinzipiell sollte das so, wie es marabu beschrieben hat, funktionieren. Beim Verlassen wird die aktuelle Selektion zwischengespeichert und gelöscht - beim erneuten Betreten dann gesetzt. Bei mehreren Grids würde sich anbieten, das direkt in die Komponente zu implementieren, also eine neue Komponente zu erzeugen, die das kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz