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: bestimmte Spalten nicht editierbar einstellen (https://www.delphipraxis.net/128198-stringgrid-bestimmte-spalten-nicht-editierbar-einstellen.html)

Helmi 26. Jan 2009 07:53


StringGrid: bestimmte Spalten nicht editierbar einstellen
 
Hallo,

ich hab eine StringGrid die als Option "goEditing" hat.
Nun möchte ich aber, dass zwei Spalten nicht editierbar sind.

Wie kann ich das realisieren?

Ich habs mal probiert im OnDrawCell, aber dann flattert die StringGrid.

Delphi-Quellcode:
procedure TEinstellungenForm.StringGrid_ZugzieleDrawCell(Sender: TObject;
  ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  If (ACol = 0) then
   StringGrid_Zugziele.Options := StringGrid_Zugziele.Options - [goEditing]
  else
   StringGrid_Zugziele.Options := StringGrid_Zugziele.Options + [goEditing];
end;

himitsu 26. Jan 2009 08:06

Re: StringGrid: bestimmte Spalten nicht editierbar einstelle
 
ja klar, denn dieses wird immer aufgeruden, wenn die Celle gezeichnet wird
und wenn du die Optionen änderst, dann wird ein komlettes Neuzeichnen angestoßen.
Abgesehn davon, daß du dort nur die Zelle erfährst, welche Zelle grad gezeichnet werden soll und nicht welche Aktiv ist.

OnSelectCell ist dein Freund

Delphi-Quellcode:
procedure TForm1.StringGrid_ZugzieleSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  If ACol in [1, 3{die Spalten}] then
   StringGrid_Zugziele.Options := StringGrid_Zugziele.Options - [goEditing]
  else
   StringGrid_Zugziele.Options := StringGrid_Zugziele.Options + [goEditing];
end;

Helmi 26. Jan 2009 10:05

Re: StringGrid: bestimmte Spalten nicht editierbar einstelle
 
Macht irgendwie Sinn OnSelectCell zu verwenden.

Danke für den Tip :-)


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