如何在窗体关闭时,保存控件的配置信息?(100分)

  • 主题发起人 主题发起人 tinyint
  • 开始时间 开始时间
T

tinyint

Unregistered / Unconfirmed
GUEST, unregistred user!
自己写了一个控件,想在窗体关闭时,保存控件的配置信息(位置大小颜色等),
这些代码应该放在控件的什么事件中?
 
在这个事件里面似乎不行,我以前试过了。
 
似乎不行??
 
就是不行。 :)
 
写在.ini文件,下次运行时在读取应该可以的
 
保存配置的代码和恢复配置的代码都没问题,
我现在是在窗体的onclose事件中,添加上mycontrols.saveconfig;
但我想要作到窗体关闭时,在控件的内部代码中自动保存,即在某个事件中加上saveconfig。
我在destroy事件中加上这句代码,不起作用。
 
同意楼上的
 
同意几楼的呀?请先把我的问题看清楚了。
我的控件中已经有了两个方法:saveconfig,loadconfig
loadconfig是放在控件的onload事件中的,工作正常,
但saveconfig放在destroy事件中没有作用,我现在是在窗体的onclose事件中手工添加
mycontrols.saveconfig,可是窗体很多,每个窗体上有很多这个控件,
没次手工添加也是件麻烦的事,我想把这个代码放到控件中去,该怎么作?没人知道吗?
 
怎么回不行呢,先试试着个函数到底行不行,放在button.onclick中,如果可以再说其他问题
 
ini
Registry
__
例如:
unit SaveStatusForms;
interface
uses
Forms, IniFiles, SysUtils;
type
TSaveStatusForm = class (TForm)
protected
procedure do
Create;
override;
procedure do
Destroy;
override;
end;

implementation
{ TSaveStatusForm }
procedure TSaveStatusForm.DoCreate;
var
Ini: TIniFile;
begin
inherited;
Ini := TIniFile.Create (ExtractFileName (Application.ExeName));
Left := Ini.ReadInteger(Caption, 'Left', Left);
Top := Ini.ReadInteger(Caption, 'Top', Top);
Width := Ini.ReadInteger(Caption, 'Width', Width);
Height := Ini.ReadInteger(Caption, 'Height', Height);
Ini.Free;
end;

procedure TSaveStatusForm.DoDestroy;
var
Ini: TIniFile;
begin
Ini := TIniFile.Create (ExtractFileName (Application.ExeName));
Ini.WriteInteger(Caption, 'Left', Left);
Ini.WriteInteger(Caption, 'Top', Top);
Ini.WriteInteger(Caption, 'Width', Width);
Ini.WriteInteger(Caption, 'Height', Height);
Ini.Free;
inherited;
end;

end.
 
后退
顶部