unit1.pas

来自「《Delphi深度历险》附书源码 Delphi学习书本」· PAS 代码 · 共 70 行

PAS
70
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Registry, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  
var
  Form1: TForm1;
  
implementation

{$R *.DFM}

const
  KEY_REGISTRY = '\Software\Xshadow\PosSize';
  
  SEC_SAVEFORM = 'SaveForm';                 
  
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  with TRegIniFile.Create(KEY_REGISTRY) do
    try
      WriteInteger(SEC_SAVEFORM, ClassName + '_Width', Width);
      WriteInteger(SEC_SAVEFORM, ClassName + '_Height', Height);
      
      WriteInteger(SEC_SAVEFORM, ClassName + '_Top', Top);
      WriteInteger(SEC_SAVEFORM, ClassName + '_Left', Left);
      
      WriteInteger(SEC_SAVEFORM, ClassName + '_WindowState', Ord(WindowState));
      
      WriteBool(SEC_SAVEFORM, ClassName + '_Visible', Visible);
    finally
      Free;
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TRegIniFile.Create(KEY_REGISTRY) do
    try
      Width := ReadInteger(SEC_SAVEFORM, ClassName + '_Width', Width);
      Height := ReadInteger(SEC_SAVEFORM, ClassName + '_Height', Height);
      
      Top := ReadInteger(SEC_SAVEFORM, ClassName + '_Top', Top);
      Left := ReadInteger(SEC_SAVEFORM, ClassName + '_Left', Left);
      
      WindowState := TWindowState(ReadInteger(SEC_SAVEFORM, ClassName + '_WindowState', Ord(WindowState)));
      
      Visible := ReadBool(SEC_SAVEFORM, ClassName + '_Visible', True);
    finally
      Free;
    end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?