unit MyEdit;interfaceuses
Windows, Messages, SysUtils, Classes, Controls, StdCtrls,Graphics,INIFiles;type
TMyEdit = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
{ Public declarations }
published
{ Published declarations }
end;procedure Register;implementationconstructor TMyEdit.Create(AOwner:TComponent);
var
tmpINI:TINIFile;
begin
inherited Create(AOwner);
tmpINI:=TINIFile.Create('c:\component.ini');
Text:=tmpINI.ReadString('Label','Name','无标题');
tmpINI.Free;
end;destructor TMYEdit.Destroy;
var
tmpINI:TINIFile;
begin
tmpINI:=TINIFile.Create('c:\component.ini');
tmpINI.WriteString('Label','Name',self.Text);
tmpINI.Free;
inherited Destroy;
end;procedure Register;
begin
RegisterComponents('Samples', [TMyEdit]);
end;end.
Windows, Messages, SysUtils, Classes, Controls, StdCtrls,Graphics,INIFiles;type
TMyEdit = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
{ Public declarations }
published
{ Published declarations }
end;procedure Register;implementationconstructor TMyEdit.Create(AOwner:TComponent);
var
tmpINI:TINIFile;
begin
inherited Create(AOwner);
tmpINI:=TINIFile.Create('c:\component.ini');
Text:=tmpINI.ReadString('Label','Name','无标题');
tmpINI.Free;
end;destructor TMYEdit.Destroy;
var
tmpINI:TINIFile;
begin
tmpINI:=TINIFile.Create('c:\component.ini');
tmpINI.WriteString('Label','Name',self.Text);
tmpINI.Free;
inherited Destroy;
end;procedure Register;
begin
RegisterComponents('Samples', [TMyEdit]);
end;end.
unit MyEdit;interfaceuses
dialogs,Windows, Messages, SysUtils, Classes, Controls, StdCtrls,Graphics,INIFiles;type
TMyEdit = class(TEdit)
private
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
procedure onchg(Sender: TObject);
{ Public declarations }
published
{ Published declarations }
end;procedure Register;var s : string;
implementationconstructor TMyEdit.Create(AOwner:TComponent);
var
tmpINI:TINIFile;
begin
inherited Create(AOwner);
tmpINI:=TINIFile.Create('c:\component.txt');
Text:=tmpINI.ReadString('Label','Name','无标题');
tmpINI.Free;
onchange:=onchg;
end;
procedure TMyEdit.onchg(Sender: TObject);
begin
s:=text;
end;destructor TMYEdit.Destroy;
var
tmpINI:TINIFile;
begin
tmpINI:=TINIFile.Create('c:\component.ini');
tmpINI.WriteString('Label','Name',s);
tmpINI.Free;
inherited Destroy;
end;procedure Register;
begin
RegisterComponents('Samples', [TMyEdit]);
end;end.
可是onchg是自己定义的过程,并不是OnChange?
Windows, Messages, SysUtils, Classes, Controls, StdCtrls,Graphics,INIFiles;type
TMyEdit = class(TEdit)
private
{ Private declarations }
IniText:String; //增加一私有变量
protected
{ Protected declarations }
public
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
procedure Change;override; //重载该过程;
public
{ Public declarations }
published
{ Published declarations }
end;procedure Register;implementationprocedure TMyEdit.Change; //重载过程,将改变后的值记录下。
begin
inherited;
IniText:=self.Text;
end;constructor TMyEdit.Create(AOwner:TComponent);
var
tmpINI:TINIFile;
begin
inherited Create(AOwner);
tmpINI:=TINIFile.Create('c:\component.ini');
Text:=tmpINI.ReadString('Label','Name','无标题');
tmpINI.Free;
end;destructor TMYEdit.Destroy;
var
tmpINI:TINIFile;
begin
tmpINI:=TINIFile.Create('c:\component.ini');
tmpINI.WriteString('Label','Name',IniText); //将记录下的值写回Ini文件
tmpINI.Free;
inherited Destroy;
end;procedure Register;
begin
RegisterComponents('Samples', [TMyEdit]);
end;end.