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 Zellen im Stringgrid in Abhängigkeit einfärben (https://www.delphipraxis.net/35790-zellen-im-stringgrid-abhaengigkeit-einfaerben.html)

Hansa 11. Dez 2004 21:19


Zellen im Stringgrid in Abhängigkeit einfärben
 
Hi,

wie kann ich die Zellen in einem Stringgrid einfärben ? Die WinApi-Funktion aufzurufen ist wohl das einfachste. Es geht mir um folgendes : es ist ein Eingabe-Grid, in dem eventuell in gewissen Zeilen Spalten nicht zur Eingebe geeignet sind. Die sind auch gesperrt für Eingaben. Allerdings erst im OnSelectCell. Geht das auch unabhängig von Maus und Tastatur ?

So nach dem Motto : einmal R/O immer ?

ereetzer 11. Dez 2004 21:23

Re: Zellen im Stringgrid in Abhängigkeit einfärben
 
meinst du sowas?

Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
if (Row = 2)) and not (gdFixed in State) then
with StringGrid1 do  
begin
Canvas.Brush.Color := clRed;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left+2, Rect.Top+2, Cells[ACol, ARow]);
end;
end;

Hansa 12. Dez 2004 00:05

Re: Zellen im Stringgrid in Abhängigkeit einfärben
 
Tip ist nicht schlecht. An State des Grids habe ich gar nicht gedacht. Aber es gibt ja nur 3 verschiedene Möglichkeiten: gdFocused, gdSelected und gdFixed.

Allerdings nützt mich das nichts, da es um Cells geht, die keinen der 3 Bereiche abdecken. Sie sind weder fix, noch sollen sie selektiert oder fokussiert werden können.

Das ganze dient nur zum Anzeigen genau deswegen, daß man eben nichts eingeben soll und zwar bevor man das erst versucht. Deshalb die "Abhängigkeit". Nach Eingabe in Spalte 1 steht fest, ob 4..6 oder nur 4 "frei" ist zur Eingabe. Ist die Zeile abgeschlossen, dann interessiert das eingegebene auch nicht mehr.

kiar 12. Dez 2004 10:59

Re: Zellen im Stringgrid in Abhängigkeit einfärben
 
hallo hansa,

arbeite mit Objecten, damit kannst du ganz gut alles einstellen, was du brauchst und erzeugst immer dann ein object und übergibst es an die zellen.

raik


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