![]() |
TStringGrid in Delphi7 und XE
In Delphi7 funktioniert StringGrid1.Cells[] und Form1.StringGrid1.Cells[] einwandfrei. In XE4-5 werden die Werte mit Form1.StringGrid1.Cells[] nicht angezeigt. Gibt es eine Lösung?
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
var n : integer; begin StringGrid1.RowCount:= 5; StringGrid1.ColCount:= 3; StringGrid1.Cells[0,0]:= 'LNr'; for n:= 1 to 4 do begin StringGrid1.Cells[0,n]:= IntToStr(n); StringGrid1.Cells[1,n]:= IntToStr(n*10); StringGrid1.Cells[2,n]:= IntToStr(n*100); end; end; procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Label1.Caption:= StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]; Label2.Caption:= Form1.StringGrid1.Cells[Form1.StringGrid1.Col,Form1.StringGrid1.Row]; end; |
AW: TStringGrid in Delphi7 und XE
Und wenn Du die benannte Instanz weglässt wie in der Zeile darüber auch?
|
AW: TStringGrid in Delphi7 und XE
Also wenn du mit .cells die Zellen füllen kannst, dann kannst du sie genauso auch wieder auslesen. Mir fällt auf, dass du OnMouseUp verwendest und dort X und Y nicht auswertest um die richtige Zelle zu erwischen. Was steht denn in Form1.StringGrid1.Col bzw. Form1.StringGrid1.Row so drin?
|
AW: TStringGrid in Delphi7 und XE
Ohne Instanz ist OK. Das ist nur als Beispiel. Ich brauche aber mit Instanz - Anruf von anderer Unit.
|
AW: TStringGrid in Delphi7 und XE
Stimmt die Instanz? Ist dort auch die korrekte Zelle markiert? Sollte man nicht lieber Logik und Darstellung trennen?
|
AW: TStringGrid in Delphi7 und XE
Zitat:
|
AW: TStringGrid in Delphi7 und XE
In richtigem Programm habe ich public function gemacht, aber das Problem bleibt.
|
AW: TStringGrid in Delphi7 und XE
Delphi-Quellcode:
Woher bekommst Du denn hier die Spalten- und Zeilekoordianten her?
procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin Label1.Caption:= StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]; Label2.Caption:= Form1.StringGrid1.Cells[Form1.StringGrid1.Col,Form1.StringGrid1.Row]; end; Solltest Du die X,Y Werte nicht in GridKoordinaten umwandeln und dann benutzen? Grüße Klaus |
AW: TStringGrid in Delphi7 und XE
Das braucht man nicht.
Es geht nur um Form1.StringGrid1.Cells und StringGrid1.Cells |
AW: TStringGrid in Delphi7 und XE
Hast Du meine Nachfragen aus #5 schon geprüft?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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