procedure TFormMain.WriteControlPlacement;
var
iniFile : TIniFile;
idx : integer;
ctrl : TControl;
listview:TListView;
i:Integer;
begin
iniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
for idx := 0 to -1 + Self.ComponentCount do
begin
if Components[idx] is TControl then
begin
ctrl := TControl(Components[idx]) ;
iniFile.WriteInteger(ctrl.Name,'Top',ctrl.Top) ;
iniFile.WriteInteger(ctrl.Name,'Left',ctrl.Left) ;
iniFile.WriteInteger(ctrl.Name,'Width',ctrl.Width) ;
iniFile.WriteInteger(ctrl.Name,'Height',ctrl.Height) ;
end;
if Components[idx] is TListView then
begin
listview:= Components[idx] as TListView ;
//iniFile.WriteInteger(ctrl.Name,'ColumnCount',listview.Columns.Count) ;
for I := 0 to listview.Columns.Count-1 do
begin
iniFile.WriteInteger(ctrl.Name,'ColWidth'+Inttostr(I),listview.Columns[i].Width) ;
end;
end;
end;
finally
FreeAndNil(iniFile) ;
end;
end; (*WriteControlPlacement*)
procedure TFormMain.ReadControlPlacement;
var
iniFile : TIniFile;
idx : integer;
ctrl : TControl;
listview:TListView;
i:Integer;
begin
iniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
for idx := 0 to -1 + Self.ComponentCount do
begin
if Components[idx] is TControl then
begin
ctrl := TControl(Components[idx]) ;
ctrl.Top := iniFile.ReadInteger(ctrl.Name,'Top',ctrl.Top) ;
ctrl.Left := iniFile.ReadInteger(ctrl.Name,'Left',ctrl.Left) ;
ctrl.Width := iniFile.ReadInteger(ctrl.Name,'Width',ctrl.Width) ;
ctrl.Height := iniFile.ReadInteger(ctrl.Name,'Height',ctrl.Height) ;
end;
if Components[idx] is TListView then
begin
listview:= Components[idx] as TListView ;
//iniFile.WriteInteger(ctrl.Name,'ColumnCount',listview.Columns.Count) ;
for I := 0 to listview.Columns.Count-1 do
begin
listview.Columns[i].Width:= iniFile.ReadInteger(ctrl.Name,'ColWidth'+Inttostr(I),100) ;
end;
end;
end;
finally
FreeAndNil(iniFile) ;
end;
end; (*ReadControlPlacement*)
//注:在窗体的OnCreate事件处理程序中调用ReadControlPlacement。
//在窗体的OnClose或OnDestroy事件处理程序中调用WriteControlPlacement。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。