📄 regform.pas
字号:
unit RegForm;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs, Registry;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
private
IniFile: TRegIniFile;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
Status: Integer;
begin
IniFile := TRegIniFile.Create ('IniOne.ini');
{try to read a value and test if it exists}
Status := IniFile.ReadInteger ('MainForm', 'Status', 0);
if Status <> 0 then
begin
{read position and size using current values as default}
Top := IniFile.ReadInteger ('MainForm', 'Top', Top);
Left := IniFile.ReadInteger ('MainForm', 'Left', Left);
Width := IniFile.ReadInteger ('MainForm', 'Width', Width);
Height := IniFile.ReadInteger ('MainForm', 'Height', Height);
{set the minimized or maximized status}
case Status of
{1: WindowState := wsNormal; {this is already the default}
2: PostMessage (Form1.Handle,
wm_SysCommand, sc_Minimize, 0);
3: WindowState := wsMaximized;
end;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
Status: Integer;
begin
if MessageDlg ('Save the current status of the form?',
mtConfirmation, [mbYes, mbNo], 0) = IdYes then
begin
Status := 1; // default
case WindowState of
wsNormal: begin
{save position and size only if the state is normal}
IniFile.WriteInteger ('MainForm', 'Top', Top);
IniFile.WriteInteger ('MainForm', 'Left', Left);
IniFile.WriteInteger ('MainForm', 'Width', Width);
IniFile.WriteInteger ('MainForm', 'Height', Height);
end;
wsMinimized: Status := 2; {useless: this value is not set!}
wsMaximized: Status := 3;
end;
{check if the window is minimized, that is, if the form
is hidden and not active}
if not Active then
Status := 2;
{write status information}
IniFile.WriteInteger ('MainForm', 'Status', Status);
end;
{in any case destroy the IniFile object}
IniFile.Destroy;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -