Hallo Marcus,
Zitat von
M. Hassmann:
schade das meine tutorials nicht bei google auffindbar sind?!
In der Tat. Die hab ich nicht bei Google gefunden. Ich habe aber auch nur in englisch gesucht - gewohnheit
Vielen Dank für die Beispiele. Ich habe Sie für mich noch etwas abgewandelt, so daß die Positionen der Spalten mitgespeichert werden.
Wer es gebrauchen kann:
Delphi-Quellcode:
procedure SaveGrid(AIniFile: TTntMemIniFile; ATreeView: TVirtualStringTree;
GridName: WideString);
var
iColNr : integer;
begin
if Assigned(AIniFile) and Assigned(ATreeView) and
(ATreeView.Header.Columns.Count > 0) then
with AIniFile do
for iColNr := 0 to ATreeview.Header.Columns.Count-1 do
begin
AIniFile.WriteInteger(GridName, 'ColWidth'+IntToStr(iColNr),
ATreeView.Header.Columns[iColNr].Width);
AIniFile.WriteInteger(GridName, 'Position'+IntToStr(iColNr),
ATreeView.Header.Columns[iColNr].Position);
end;
end;
procedure LoadGrid(AIniFile: TTntMemIniFile; ATreeView: TVirtualStringTree;
GridName: WideString);
var
iColNr : integer;
begin
if Assigned(AIniFile) and Assigned(ATreeView) then
with AIniFile do
for iColNr := 0 to ATreeview.Header.Columns.Count-1 do
begin
ATreeView.Header.Columns[iColNr].Width := AIniFile.ReadInteger(
GridName, 'ColWidth'+IntToStr(iColNr), ATreeView.Header.Columns[iColNr].Width);
ATreeView.Header.Columns[iColNr].Position := AIniFile.ReadInteger(
GridName, 'Position'+IntToStr(iColNr), ATreeView.Header.Columns[iColNr].Position);
end;
end;
Vorher natürlich Grid und AIni zuweisen. Bei Bedarf TTntMemIni durch TMemIni o.ä. ersetzen. Ist ja nur ein
Unicode Handler.
Jetzt fehlt nur noch das Lesen/Speichern der Nodes in INIs - Hat da auch schon wer etwas "erfunden"?
Gruß winkel79