AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi - StringGrid-Zelle färben

Ein Thema von jsphde · begonnen am 31. Jan 2018 · letzter Beitrag vom 31. Jan 2018
Antwort Antwort
jsphde

Registriert seit: 14. Nov 2017
14 Beiträge
 
#1

Delphi - StringGrid-Zelle färben

  Alt 31. Jan 2018, 18:11
Delphi-Version: 7
Guten Abend allerseits,

ich habe zwar zu diesem Thema viele Beiträge im Internet gelesen, jedoch noch nichts eindeutiges gefunden.

Meine Idee/Vorhaben:
Eine Zelle eines StringGrids färben (Farben sind in einem Array gespeichert), wenn man auf die jeweilige Zelle klickt.
Mir ist bekannt, dass man dafür das OnDrawCell-Event benutzt. Jedoch wird das Event anscheinend beim Öffnen/Erstellen des
Formulars aufgerufen.

Ich habe an eine Prozedur gedacht, wo man die Zeile, Spalte und die Farbe angeben muss. Jedoch habe ich keinen festen Ansatz,
um dies zu realisieren

Vielleicht hat jemand einen Ansatz für mich.

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.167 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Delphi - StringGrid-Zelle färben

  Alt 31. Jan 2018, 18:24
Das Event wird beim Neuzeichnen des Stringgrids aufgerufen. D.h. wenn du mit einem anderen Fenster über das Stringgrid fährst oder sich am Stringgrid etwas ändert usw. ODER wenn du manuell Stringgrid.Repaint bzw. Stringgrid.Invalidate aufrufst.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.023 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Delphi - StringGrid-Zelle färben

  Alt 31. Jan 2018, 18:33
Hallo,
du kannst das OnDrawCell manuell anwerfen im OnClick durch

Delphi-Quellcode:
Grid.Invalidate;
*
Besser wäre InvalidateRect, weil dann nur eine bestimmte Zelle aktualisiert wird,
aber probier erst mal Invalidate.
Heiko

Geändert von hoika (31. Jan 2018 um 18:35 Uhr)
  Mit Zitat antworten Zitat
jsphde

Registriert seit: 14. Nov 2017
14 Beiträge
 
#4

AW: Delphi - StringGrid-Zelle färben

  Alt 31. Jan 2018, 19:59
Vielen Dank für eure Antworten.
Aber leider wird mir daraus nicht wirklich ersichtlich, wie ich es am besten anstellen kann, nur eine einzige Zelle bei einem Klick zu färben.

MfG

Geändert von jsphde (31. Jan 2018 um 20:03 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
1.950 Beiträge
 
Delphi 7 Professional
 
#5

AW: Delphi - StringGrid-Zelle färben

  Alt 31. Jan 2018, 20:15
Das StringGrid hat das Ereignis OnSelectCell, in dem kann man dann der Zelle 'ne andere Farbe geben.

StringGrid1.ColorCell[Col,Row] := clRed;

Oder im Ereignis OnDrawCell könnte man sowas machen:
Delphi-Quellcode:
if StringGrid1.Cells[Col,Row] = '1234then begin
  StringGrid1.ColorCell[Col,Row] := clRed;
end else begin
  StringGrid1.ColorCell[Col,Row] := clGreen;
end;
  Mit Zitat antworten Zitat
jsphde

Registriert seit: 14. Nov 2017
14 Beiträge
 
#6

AW: Delphi - StringGrid-Zelle färben

  Alt 31. Jan 2018, 21:06
Vielen Dank!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf