![]() |
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 ? |
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; |
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. |
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 23: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