scalef.pas

来自「精彩编程百例26~50 其中有 控制任务栏 windows底层任务控制 屏保预览」· PAS 代码 · 共 79 行

PAS
79
字号

unit ScaleF;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls, Spin, Mask, ComCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    ScaleButton: TButton;
    RestoreButton: TButton;
    Label1: TLabel;
    Edit1: TEdit;
    UpDown1: TUpDown;
    RichEdit1: TRichEdit;
    procedure ScaleButtonClick(Sender: TObject);
    procedure RestoreButtonClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    AmountScaled: Integer;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
uses unit2,unit3;
{$R *.DFM}

procedure TForm1.ScaleButtonClick(Sender: TObject); //窗体缩放
begin
  AmountScaled := UpDown1.Position;
  ScaleBy (AmountScaled, 100); //窗体原大小
  UpDown1.Height := Edit1.Height;
  ScaleButton.Enabled := False;  //缩放按钮实现
  RestoreButton.Enabled := True; //激活恢复原状按钮
end;


procedure TForm1.RestoreButtonClick(Sender: TObject); //恢复窗体原大小
begin
  ScaleBy (100, AmountScaled);
  UpDown1.Height := Edit1.Height;
  ScaleButton.Enabled := True;  //激活ScaleButton按钮
  RestoreButton.Enabled := False;  //恢复原状大小按钮RestoreButton失效
end;

procedure TForm1.FormCreate(Sender: TObject); //初始化UpDown控件
begin
  UpDown1.Min:=30;
  UpDown1.max:=300;
  UpDown1.Associate:=edit1;
  UpDown1.Increment:=10;
  UpDown1.Position:=100;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Form1.Hide; //隐藏主窗口
  Form3:=TForm3.Create(Form1);
  Form3.Show; //显示退出画面
  Form3.Update;
  Application.CreateForm(TForm1,Form1); //创建工程窗口
  Sleep(1000);  //退出画面显示一秒钟
  Form3.Hide;   //隐藏退出画面
  Form3.Free;   //释放退出画面窗口
end;


end.


⌨️ 快捷键说明

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