Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Stringgrid blaue Zelle


Uli Schoch - Do 13.05.04 08:40
Titel: Stringgrid blaue Zelle
Hallo
In einem Formular (Delphi 3) habe ich ein Stringgrid, in welchem ich Daten anzeige, die von der Schnittstelle eingelesen werden. In diesem Stringgrid ist immer die Zelle oben links blau hinterlegt, alle anderen sind weiss. Kann man das "blau" ausschalten? Von Hand muss ich nie Daten ins Stringgrid eingeben.

Gruss Uli


bms - Do 13.05.04 08:58

Meinst du die fixen Zeilen und Spalten?


Sven - Do 13.05.04 09:27

bms hat folgendes geschrieben:
Meinst du die fixen Zeilen und Spalten?


Nein, die aktuell ausgewählte Zelle!


Aton - Do 13.05.04 09:51

Hallo du,

hatte dieses Problem auch mal. :P

Leider habe ich noch eine Lösung "hingebogen bekommen": :(

Also:
1. Du setzt die selektierte Zelle auch 0,0. Da sind i.d.R. die 3d-Balken und es wird nicht blau gezeichnet.


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormActivate(Sender: TObject);
begin
  StringGrid1.Row := 0;
  StringGrid1.Col := 0;
end;


2. Bei onSelectCell kannst du noch einstellen, dass niemals eine Zelle selektiert werden darf.


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  CanSelect := False;
end;


3. Beim StringGrid: Options/goRangeSelect auf False stellen.

Wie gesagt, ist nur hingebogen. Wenn es eine bessere Lösung gibt, das blaue Feld verschwinden zu lassen, würde mich das auch interessieren. :wink:

Gruß Jens.


Uli Schoch - Do 13.05.04 13:34

Hallo Jens
Deine "hingebogenen" Vorschläge funktionieren leider nicht! Hast du oder sonst jemand andere Lösungen? Wäre schön.

Gruss
Uli


Sven - Do 13.05.04 13:39

Tja, ich glaube da mußt Du dann die Zellen bei OnDrawCell selber zeichnen. Gegebenenfalls OwnerDraw auf true stellen.


smiegel - Do 13.05.04 13:51

Hallo,

wenn Du in Options goEditing auf False setzt, funktioniert folgendes:


Delphi-Quelltext
1:
2:
3:
4:
// in der OnCreate des Formulars:
...
StringGrid1.Selection:=TGridRect(Bounds(-1, -100));
...


Uli Schoch - Do 13.05.04 19:13

Salü Smiegel
Das mit dem Bounds funktioniert, ich weiss zwar nicht warum, aber jetzt siehts echt schön aus.

Vielen Dank
Uli


Freeman_6 - Mo 18.10.04 17:41

hi,

hat in der zwischenzeit auch jemand eine lösung für goedit := true gefunden?

könnte das wirklich gut gebrauchen.


Delete - So 26.02.06 16:24

Heureka!!!! [http://de.wikipedia.org/wiki/Heureka]

bei stringgrid optionen: goediting und alwaysshoweditor auf true

mfg
µaTh

P.S. ich weiß der thread ist ewas alt, aber ich hab es trotzdem rausgefunden :dance: :dance2: :beer: