📄 u_frmrjp.pas
字号:
unit U_FrmRJP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls, Buttons, strutils;
procedure Bind_RJP(sender: Tedit);
procedure Show_RJP(sender: Tedit);
type
TfrmRJP = class(TForm)
Image1: TImage;
SpeedButton1: TSpeedButton;
pubButton: TSpeedButton;
Bevel1: TBevel;
btnDel: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
btnEnter: TSpeedButton;
SpeedButton55: TSpeedButton;
btnCancel: TSpeedButton;
btnClear: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton27: TSpeedButton;
SpeedButton28: TSpeedButton;
SpeedButton29: TSpeedButton;
SpeedButton30: TSpeedButton;
SpeedButton31: TSpeedButton;
SpeedButton32: TSpeedButton;
SpeedButton33: TSpeedButton;
SpeedButton34: TSpeedButton;
SpeedButton35: TSpeedButton;
SpeedButton36: TSpeedButton;
SpeedButton37: TSpeedButton;
SpeedButton38: TSpeedButton;
SpeedButton39: TSpeedButton;
SpeedButton40: TSpeedButton;
procedure pubButtonClick(Sender: TObject);
procedure BindTxtExit(Sender: TObject);
procedure BindTxtEnter(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure FormDeactivate(Sender: TObject);
private
{ Private declarations }
public
bindEditCtl: Tedit;
{ Public declarations }
end;
var
frmRJP: TfrmRJP;
implementation
{$R *.dfm}
procedure Show_RJP(sender: Tedit);
begin
if not (Assigned(sender)) then
exit;
if not Assigned (sender.OnEnter) then
exit;
sender.OnEnter(sender);
end;
procedure Bind_RJP(sender: Tedit);
var
_frmTmpRJP: TfrmRJP;
begin
if not (Assigned(sender)) then
exit;
_frmTmpRJP := TfrmRJP.Create(nil);
_frmTmpRJP.bindEditCtl := sender;
sender.OnEnter := _frmTmpRJP.BindTxtEnter;
sender.OnExit := _frmTmpRJP.BindTxtExit;
sender.OnDblClick := _frmTmpRJP.BindTxtEnter;
end;
procedure TfrmRJP.BindTxtExit(Sender: TObject);
begin
self.Hide();
end;
procedure TfrmRJP.BindTxtEnter(Sender: TObject);
var
edit: Tedit;
pt: TPoint;
x, y: integer;
begin
if not (Assigned(sender)) then
exit;
edit := sender as Tedit;
pt := edit.ClientToScreen(Point(0, edit.Height));
if (pt.Y+self.ClientHeight)> screen.Height then
begin
self.top := pt.Y-self.Height-edit.Height;
end
else
begin
self.top := pt.Y;
end;
if (pt.X+self.ClientWidth)> screen.Width then
begin
self.Left := screen.Width-self.ClientWidth;
end
else
begin
self.Left := pt.X;
end;
self.Show();
end;
procedure TfrmRJP.pubButtonClick(Sender: TObject);
var
_ctl: TSpeedButton;
_intTmp: integer;
_strTmp:string;
_strTmpValue:string;
begin
try
_ctl := sender as TSpeedButton;
if not _ctl.Visible then
exit;
if _ctl=self.btnEnter then
begin
self.Close();
self.bindEditCtl.SelLength:=0;
exit;
end;
if _ctl=self.btnCancel then
begin
self.Close();
self.bindEditCtl.SelLength:=0;
exit;
end;
if _ctl=self.btnDel then
begin
_intTmp := length(self.bindEditCtl.Text);
if (_intTmp > 0) then
self.bindEditCtl.Text := LeftStr(self.bindEditCtl.Text, _intTmp - 1);
self.bindEditCtl.SelStart := length(self.bindEditCtl.Text);
self.bindEditCtl.Perform(EM_SCROLLCARET, 0, 0);
exit;
end;
if _ctl=self.btnClear then
begin
self.bindEditCtl.Text := '';
exit;
end;
if _ctl.Hint='TAB' then
_ctl.Hint:=' ';
_strTmp:=_ctl.Hint;
_strTmpValue:= _strTmp;
self.bindEditCtl.Text := self.bindEditCtl.Text + _strTmpValue;
self.bindEditCtl.SelStart := length(self.bindEditCtl.Text);
self.bindEditCtl.Perform(EM_SCROLLCARET, 0, 0);
self.bindEditCtl.HideSelection:=false;
self.bindEditCtl.SelectAll;
except
end;
end;
procedure TfrmRJP.Image1Click(Sender: TObject);
begin
self.Close();
self.bindEditCtl.SelLength:=0;
end;
procedure TfrmRJP.FormDeactivate(Sender: TObject);
begin
self.Close();
self.bindEditCtl.SelLength:=0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -