给你一段用注册表保存的例子,也可用.INI文件保存。//在窗体的 OnShow 事件中加入,读取
Reg := TRegistry.Create;
  try
    if Reg.OpenKey('Software\天盛科技\MainWindows',False) then
    begin
     if Reg.ValueExists('SelectTree') then tv1.Items.Item[Reg.ReadInteger('SelectTree')].Selected := True;
      if Reg.ValueExists('SelectList') then
        if Reg.ReadInteger('SelectList') <> 65535 then
       lv1.Items.Item[Reg.ReadInteger('SelectList')].Selected := True;
      if Reg.ValueExists('WindowsTop') then Top := Reg.ReadInteger('WindowsTop');
    if Reg.ValueExists('WindowsLeft') then Left := Reg.ReadInteger('WindowsLeft');
     if Reg.ValueExists('WindowsWidth') then Width := Reg.ReadInteger('WindowsWidth');
     if Reg.ValueExists('WindowsHeight') then Height := Reg.ReadInteger('WindowsHeight');
      if Reg.ValueExists('WindowState') then WindowState := TWindowState(Reg.ReadInteger('WindowState'));
    if Reg.ValueExists('WindowsTreeWidth') then panel1.Width := Reg.ReadInteger('WindowsTreeWidth');
      if Reg.ValueExists('WindowsListHeight') then Panel5.Height := Reg.ReadInteger('WindowsListHeight');
    end;
finally
    Reg.Free;
  end;//在窗体的 OnDestroy 事件中保存
Reg := TRegistry.Create;
  try
    Reg.OpenKey('Software\天盛科技\MainWindows',True);
    Reg.WriteInteger('SelectTree',tv1.Selected.AbsoluteIndex);
    if lv1.Selected <> nil then
     Reg.WriteInteger('SelectList',lv1.Selected.Index)
    else
      Reg.WriteInteger('SelectList',65535);
    Reg.WriteInteger('WindowState',Ord(WindowState));
    if WindowState <> wsMaximized then
    begin
      Reg.WriteInteger('WindowsTop',Top);
      Reg.WriteInteger('WindowsLeft',Left);
      Reg.WriteInteger('WindowsWidth',Width);
      Reg.WriteInteger('WindowsHeight',Height);
    end;
    Reg.WriteInteger('WindowsTreeWidth',Panel1.Width);
    Reg.WriteInteger('WindowsListHeight',Panel5.Height);
    //Reg.WriteInteger('WindowsTreeHeight',Height);
  finally
    Reg.Free;

解决方案 »

  1.   

    to tssqh:
      如果是每个窗体的每个控件,也可以采取这种方式吗?
      

  2.   

    to tssqh:
       对于字体颜色等,怎样读取呢?好像是不识别的呀?
      

  3.   

    颜色值实际上是一个Integer的数值,不能存为字符串。
      

  4.   

    to tssqh:
      那么字体呢? 它是TFont,难道可以当作Integer or String?
      

  5.   

    看一下Delphi的帮助,TFont有很多的属性,比如Color, Name, size 等,分别存储就行了。