📄 inp.pas
字号:
{$INCLUDE switches}
unit Inp;
interface
uses
ScreenTools,
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
ButtonA, StdCtrls, ButtonB, ButtonBase;
type
TInputDlg = class(TForm)
OKBtn: TButtonA;
EInput: TEdit;
procedure OKBtnClick(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure EInputKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
public
Tex: TTexture;
private
procedure OnEraseBkgnd(var m:TMessage); message WM_ERASEBKGND;
procedure OnHitTest(var Msg:TMessage); message WM_NCHITTEST;
end;
var
InputDlg: TInputDlg;
implementation
{$R *.DFM}
procedure TInputDlg.FormCreate(Sender: TObject);
begin
Left:=(Screen.Width-InputDlg.Width) div 2;
Top:=Screen.Height-InputDlg.Height-113;
Canvas.Font.Assign(UniFont[ftNormal]);
Canvas.Brush.Style:=bsClear;
InitButtons(self);
end;
procedure TInputDlg.FormPaint(Sender: TObject);
begin
Fill(Canvas,3,3,ClientWidth-6,ClientHeight-6,0,0,Tex);
Frame(Canvas,0,0,ClientWidth-1,ClientHeight-1,0,0);
Frame(Canvas,1,1,ClientWidth-2,ClientHeight-2,Tex.clBevelLight,
Tex.clBevelShade);
Frame(Canvas,2,2,ClientWidth-3,ClientHeight-3,Tex.clBevelLight,
Tex.clBevelShade);
EditFrame(Canvas,EInput.BoundsRect,Tex);
BtnFrame(Canvas,OKBtn.BoundsRect,Tex);
RisedTextOut(Canvas,(ClientWidth-Canvas.TextWidth(Caption)) div 2,9,Caption);
{Corner(canvas,1,1,0,Tex);
Corner(canvas,ClientWidth-9,1,1,Tex);
Corner(canvas,1,ClientHeight-9,2,Tex);
Corner(canvas,ClientWidth-9,ClientHeight-9,3,Tex);}
end;
procedure TInputDlg.OnEraseBkgnd(var m:TMessage);
begin
end;
procedure TInputDlg.OnHitTest(var Msg:TMessage);
begin
if Msg.LParamHi>=Top+36 then Msg.result:=HTCLIENT
else Msg.result:=HTCAPTION
end;
procedure TInputDlg.OKBtnClick(Sender: TObject);
begin
if EInput.Text='' then ModalResult:=mrCancel
else ModalResult:=mrOK
end;
procedure TInputDlg.EInputKeyPress(Sender: TObject; var Key: Char);
begin
if (Key=#13) and (EInput.Text<>'') then begin Key:=#0 ; ModalResult:=mrOK end
else if Key=#27 then begin Key:=#0; ModalResult:=mrCancel end
end;
procedure TInputDlg.FormShow(Sender: TObject);
begin
OKBtn.Caption:=Phrases.Lookup('BTN_OK');
EInput.Font.Color:=Tex.clMark;
EInput.SelStart:=0;
EInput.SelLength:=Length(EInput.Text);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -