Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Stringgrid.state ? (https://www.delphipraxis.net/19763-stringgrid-state.html)

kiar 8. Apr 2004 13:58


Stringgrid.state ?
 
hallo,

wo bekomme ich die möglichen Einstellungen, die state zulässt raus.

hintergrund der frage ist, in einer zelle eines stringgrid die Font.Color zu ändern.

alles was ich bisher in Ondrawcell probiert habe, führt dazu das die ganze font.color geändert wird.
Delphi-Quellcode:

if gdselected in state then
   {zelle}.font.color
danke

sakura 8. Apr 2004 14:00

Re: Stringgrid.state ?
 
Zitat:

Zitat von kiar
wo bekomme ich die möglichen Einstellungen, die state zulässt raus.

Du klickst mit der rechten Maustaste in Delphi in der Deklaration vom OnDrawCell im Editor auf TGridDrawState. Da wählst Du den ersten Menüpunkt Deklaration finden

Code:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: [b][color=#ff0000]TGridDrawState[/color][/b]);
begin

end;
Und Du gelangst zu folgender Zeile im Delphi-Source-Code:
Delphi-Quellcode:
  TGridDrawState = set of (gdSelected, gdFocused, gdFixed);
...:cat:...

sakura 8. Apr 2004 14:02

Re: Stringgrid.state ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anbei noch als ScreenShot.

...:cat:...

kiar 8. Apr 2004 14:25

Re: Stringgrid.state ?
 
ist schon peinlich genug :oops:

hättest den ScrennShot nicht noch unbedingt draufsatteln müssen :duck:

trotzdem danke.

und wie ist das mit dem ändern der schriftfarbe für jede zeile?

raik

sakura 8. Apr 2004 14:29

Re: Stringgrid.state ?
 
Zitat:

Zitat von kiar
und wie ist das mit dem ändern der schriftfarbe für jede zeile?

Noch peinlicher :mrgreen:
Delphi-Quellcode:
StringGrid.Font.Color := clBlue
...:cat:...

kiar 8. Apr 2004 14:33

Re: Stringgrid.state ?
 
nein,

unterschiedliche farben , nicht generell :mrgreen:

raik

werde wohl über die ausgewählten zeilen dies einstellen.

sakura 8. Apr 2004 14:35

Re: Stringgrid.state ?
 
Ja, immer im entsprechende OnDrawCell Event setzen ;-)

...:cat:...

Robert_G 8. Apr 2004 14:35

Re: Stringgrid.state ?
 
OnDrawCell wird pro Zelle ausgelöst.
Also kannst du auch pro Zelle das Font bestimmen.

Ryan 9. Apr 2004 09:46

Re: Stringgrid.state ?
 
Hi,


Irgendwie steh ich auf der Leitung - ich hab nämlich so ziemlich das gleiche Problem und irgendwie schnall ichs nicht.

Delphi-Quellcode:
if POS('.',Stringgrid.cells[ACol,ARow])=0 then Stringgrid.font.color := clred;
Das steht in der OnDrawCell - Methode drin.
Das sollte die Schrift aller Zellen, die kein '.' in ihrem Inhalt haben rot färben. Es wird allerdings alles rot. was mache ich falsch?


Bye

Sharky 9. Apr 2004 10:32

Re: Stringgrid.state ?
 
Hai,

schaut euch mal diesen Beitrag aus der Code-Library an.

kiar 9. Apr 2004 13:17

Re: Stringgrid.state ?
 
hallo Sharky,

das mit den zellen ist nachdem ich mich hier so richtig blamiert habe, auch kein problem mehr.

ich müsste jetzt nur noch wissen, wie man es realisieren kann in einer zelle zwei zeilen mit unterschiedlicher farbe zu realisieren.

? möglichkeit die mit Canvas.textout zu realisieren, in dem ich zweimal den textout mit unterschiedlichen parametern aufrufe.

@sakura freue mich wieder auf screenshot's :mrgreen:

nur ein ei gefunden :gruebel: irgend etwas mache ich verkehrt :mrgreen:

raik

sakura 9. Apr 2004 13:18

Re: Stringgrid.state ?
 
Zitat:

Zitat von kiar
möglichkeit die mit Canvas.textout zu realisieren, in dem ich zweimal den textout mit unterschiedlichen parametern aufrufe.

Das wäre der logischste aller Ansätze, oder ;)

...:cat:...

Ryan 9. Apr 2004 14:02

Re: Stringgrid.state ?
 
hi...*seufz*

Entweder ich bin unglaublich dumm oder einfach nur unfähig, oder sonst was, aber ich kriegs nicht hin.
Erbarmt sich mir jemand und schreibt mir den Code für mein Beispiel auf der funktionieren müsste?

kiar 9. Apr 2004 16:04

Re: Stringgrid.state ?
 
hallo ryan,

Delphi-Quellcode:
if pos('.',stringgrid1.cells[acol,arow])=0 then
 stringgrid1.canvas.font.color:=clred;
dein fehler ist, das du mit
Delphi-Quellcode:
stringgrid1.font.color
die schriftfarbe für das ganze grid einstellst.

raik

kiar 10. Apr 2004 12:38

Re: Stringgrid.state ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
@sakura,

das mit
Delphi-Quellcode:
textout
ist zwar das naheliegenste funktioniert aber nicht.

die einzigte Möglichkeit, mit der ich es hinbekommen habe,war drawtext.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:14 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