Ja, wenn man schon die "richtigen" Werte als Parameter rein bekommt, dann könnte man sie auch benutzen,
vor allem, da OnSelectCell bestimmt vor der Select-Änderung aufgerufen wird (drum ist es hier auch möglich das noch zu verbieten CanSelect := False;
)
und daher die Grid-Property noch die alten Werte haben dürften.
Ja - wobei das irgendwie nicht das verhalten "meiner" ersten Lösung erklärt - denn das Ereignis ist ja das gleiche.
Zitat:
Warum dann nicht direkt
... + StringGrid1.FixedRows;
und schon braucht es keinen unnötigen Kommentar mehr.
Das kannte ich noch nicht
Zitat:
Wenn ich das FormCreate sehe und dort nichts im Code zu finden ist ... Im Designer wurde die Größe des Grids aber schon eingestellt?
Ja klar - da war aber nur FixedRow, ColCount und RowCount eingestellt.
Zitat:
Delphi-Quellcode:
procedure TForm4.FormCreate(Sender: TObject);
begin
for var i := StringGrid1.RowCount - 1 downto 0 do StringGrid1.Rows[i].StrictDelimiter := True; // wirst schon sehn was passiert, wenn du diese Zeile weg lässt (schade, dass Emba das nicht RICHTIG repariert hatte)
StringGrid1.Rows[0].CommaText := 'Spalte 1,Spalte 2,Spalte 3';
StringGrid1.Rows[1].CommaText := 'Apfel,Birne,Pflaume';
...
end;
Sehr viel eleganter - Danke. Ich hoffe ich denke das nächste Mal dran wenn ich es brauche.
Aber ... eine Frage noch aus Interesse:
Zitat:
Delphi-Quellcode:
procedure TForm4.FormCreate(Sender: TObject);
begin
for var i := StringGrid1.RowCount - 1 downto 0 do
Ich sehe das Du nicht extra
schreibst sondern das "var" mitten in die Schleife. Das mag kürzer sein aber ist das nicht unübersichtlicher ?
Gruss
Hans