Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - StringGrid1.Col liefert das falsche Ergebnis


sintec - Mi 13.06.07 10:58
Titel: StringGrid1.Col liefert das falsche Ergebnis
Hallo alle zusammen

Wie schon im Topic beschrieben liefert mir StringGrid.Col was falsches.

in der Zeile:

Delphi-Quelltext
1:
col := stringgrid1.Col;                    

bekomme ich immer eine 1 egal in welcher Spalte ich eine Zelle markiere.

komischerweise funktioniert

Delphi-Quelltext
1:
row := stringgrid1.Row;                    

wunderbar


Damit möchte ich die Koordinaten der markierten Zelle herausfinden.


Kann mir einer sagen warum es nicht funktioniert?


ZeitGeist87 - Mi 13.06.07 11:16

Was gibt StringGrid1.ColCount?


sintec - Mi 13.06.07 11:56

Ach ich habs hingekriegt, musste nur die Eigenschaft goRowSelect auf false stellen.

Das Problem ist jetzt nur, dass es die Zelle selektiert aber nicht blau markiert.

Kann mir eine ein Tipp geben?


ZeitGeist87 - Mi 13.06.07 11:58

user profile iconsintec hat folgendes geschrieben:
Kann mir eine ein Tipp geben?


Da muss ich mich wohl ausschließen --> männlich :)


sintec - Mi 13.06.07 12:07

user profile iconZeitGeist87 hat folgendes geschrieben:
user profile iconsintec hat folgendes geschrieben:
Kann mir eine ein Tipp geben?


Da muss ich mich wohl ausschließen --> männlich :)


sorry, Tastatur klemmt manchmal

sollte natürlich einer heißen :D


Lannes - Mi 13.06.07 12:21

Hallo,
user profile iconsintec hat folgendes geschrieben:
user profile iconZeitGeist87 hat folgendes geschrieben:
user profile iconsintec hat folgendes geschrieben:
Kann mir eine ein Tipp geben?


Da muss ich mich wohl ausschließen --> männlich :)

sorry, Tastatur klemmt manchmal
sollte natürlich einer heißen :D
aber wer wird denn gleich die weiblichen Foren-User ausschließen :mrgreen:

Damit die focussierte Zelle blau wird musst man selbst das Zeichnen übernehmen.
Da bietet sich OnDrawCell an. In dem Event-Handler kannst Du State abfragen und darauf reagieren.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
if gdFocused in State then
  begin
  // Canvas.Brush.Color setzen
  // Zelle mit Fillrect übermalen
  // Text ausgeben z.B. mit TextOut oder DrawText
  end


ZeitGeist87 - Mi 13.06.07 12:22

:P kleiner Scherz am Rande!

Gehst du das Grid ...

natoll :)

Lannes war schneller :P


sintec - Mi 13.06.07 13:17

Vielen Dank an euch beide.

Ich habe es gelöst, in dem ich die Eigenschaft goDrawFocusSelected vom StringGrid auf true gesetzt habe.