📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DB, DBTables, ExtDlgs, ComCtrls, Grids, DBGrids,
StdCtrls, Buttons;
type
TForm1 = class(TForm)
Bevel22: TBevel;
Bevel2: TBevel;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
SpeedButton1: TSpeedButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
SpeedButton2: TSpeedButton;
Image1: TImage;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Bevel21: TBevel;
Label9: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
BitBtn1: TBitBtn;
Edit5: TEdit;
DBGrid1: TDBGrid;
pagecontrol1: TPageControl;
TabSheet1: TTabSheet;
Bevel3: TBevel;
TabSheet2: TTabSheet;
Bevel4: TBevel;
TabSheet3: TTabSheet;
Bevel5: TBevel;
TabSheet4: TTabSheet;
Bevel6: TBevel;
TabSheet5: TTabSheet;
Bevel7: TBevel;
TabSheet6: TTabSheet;
Bevel8: TBevel;
TabSheet7: TTabSheet;
Bevel9: TBevel;
TabSheet8: TTabSheet;
Bevel10: TBevel;
TabSheet9: TTabSheet;
Bevel11: TBevel;
TabSheet10: TTabSheet;
Bevel12: TBevel;
TabSheet11: TTabSheet;
Bevel13: TBevel;
TabSheet12: TTabSheet;
Bevel14: TBevel;
TabSheet13: TTabSheet;
Bevel15: TBevel;
TabSheet14: TTabSheet;
Bevel16: TBevel;
TabSheet15: TTabSheet;
Bevel17: TBevel;
TabSheet16: TTabSheet;
Bevel18: TBevel;
TabSheet17: TTabSheet;
Bevel19: TBevel;
TabSheet18: TTabSheet;
Bevel20: TBevel;
DBGrid2: TDBGrid;
Edit6: TEdit;
BitBtn2: TBitBtn;
FontDialog1: TFontDialog;
OpenPictureDialog1: TOpenPictureDialog;
Query1: TQuery;
UpdateSQL1: TUpdateSQL;
Query2: TQuery;
Query2bh: TStringField;
Query2mc: TStringField;
Query2ywmc: TStringField;
Query2gg: TStringField;
Query2dj: TFloatField;
Query2tcbz: TBooleanField;
Query2lbbm: TStringField;
DataSource1: TDataSource;
DataSource2: TDataSource;
Query3: TQuery;
Query3id: TIntegerField;
Query3lbbm: TStringField;
Query3lbmc: TStringField;
Timer1: TTimer;
Query1id: TIntegerField;
Query1lbbm: TStringField;
Query1mc: TStringField;
Query1ywmc: TStringField;
Query1ys: TIntegerField;
Query1zt: TStringField;
Query1zh: TIntegerField;
Query1bz: TStringField;
Query1dycdbh: TStringField;
Query1zxh: TIntegerField;
Query1cxh: TIntegerField;
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Query3FilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure TabSheet1Show(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TabSheet2Show(Sender: TObject);
procedure TabSheet3Show(Sender: TObject);
procedure TabSheet4Show(Sender: TObject);
procedure TabSheet5Show(Sender: TObject);
procedure TabSheet6Show(Sender: TObject);
procedure TabSheet7Show(Sender: TObject);
procedure TabSheet8Show(Sender: TObject);
procedure TabSheet9Show(Sender: TObject);
procedure TabSheet10Show(Sender: TObject);
procedure TabSheet11Show(Sender: TObject);
procedure TabSheet12Show(Sender: TObject);
procedure TabSheet13Show(Sender: TObject);
procedure TabSheet14Show(Sender: TObject);
procedure TabSheet15Show(Sender: TObject);
procedure TabSheet16Show(Sender: TObject);
procedure TabSheet17Show(Sender: TObject);
procedure TabSheet18Show(Sender: TObject);
private
bt:Tbitbtn;
lb:array[1..18] of string;
btlb:array[1..18,1..42] of Tbitbtn;
ls:string;
rrow,ccol:integer;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses ImageWin;
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
var i:integer;
begin
query1.Open;
query2.Open;
query3.Open;
query3.Filtered:=false;
query3.First;
ls:='';
i:=0;
while not query3.Eof do
begin
pagecontrol1.ActivePageIndex:=i;
pagecontrol1.ActivePage.Caption:=query3lbmc.AsString;
i:=i+1;
lb[i]:=query3lbbm.AsString;
query3.Next;
end;
ls:='aa';
query1.First;
while not query1.Eof do
begin
btlb[query1zxh.AsInteger,query1cxh.AsInteger].Caption:=query1mc.AsString;
btlb[query1zxh.AsInteger,query1cxh.AsInteger].Font.Color:=query1ys.AsInteger;
btlb[query1zxh.AsInteger,query1cxh.AsInteger].Font.Size:=query1zh.AsInteger;
btlb[query1zxh.AsInteger,query1cxh.AsInteger].Font.Name:=query1zt.AsString;
if query1bz.AsString<>'' then btlb[query1zxh.AsInteger,query1cxh.AsInteger].Glyph.LoadFromFile(query1bz.AsString);
query1.Next;
end;
pagecontrol1.ActivePageIndex:=0;
TabSheet1Show(sender);
// timer1.Enabled:=true;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i,j,r,c:integer;
begin
Form1.Left:=0;
Form1.Top:=82;
for i:=1 to 18 do
for j:=1 to 42 do
begin
bt:=Tbitbtn.Create(Self);
case i of
1: bt.Parent:=tabsheet1;
2: bt.Parent:=tabsheet2;
3: bt.Parent:=tabsheet3;
4: bt.Parent:=tabsheet4;
5: bt.Parent:=tabsheet5;
6: bt.Parent:=tabsheet6;
7: bt.Parent:=tabsheet7;
8: bt.Parent:=tabsheet8;
9: bt.Parent:=tabsheet9;
10: bt.Parent:=tabsheet10;
11: bt.Parent:=tabsheet11;
12: bt.Parent:=tabsheet12;
13: bt.Parent:=tabsheet13;
14: bt.Parent:=tabsheet14;
15: bt.Parent:=tabsheet15;
16: bt.Parent:=tabsheet16;
17: bt.Parent:=tabsheet17;
18: bt.Parent:=tabsheet18;
end;
bt.Height:=33;
bt.Width:=80;
bt.Spacing:=4;
if (j>=1) and (j<=6) then r:=1;
if (j>=7) and (j<=12) then r:=2;
if (j>=13) and (j<=18) then r:=3;
if (j>=19) and (j<=24) then r:=4;
if (j>=25) and (j<=30) then r:=5;
if (j>=31) and (j<=36) then r:=6;
if (j>=37) and (j<=42) then r:=7;
c:=j mod 6;
if c=0 then c:=6;
bt.left:=4+(c-1)*84;
bt.Top:=6+(r-1)*35;
bt.Name:='bt_'+inttostr(i)+'_'+inttostr(j);
bt.Visible:=true;
bt.BringToFront;
bt.Caption:='';
bt.OnClick:=timer1timer;
btlb[i,j]:=bt;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
st:string;
begin
if activecontrol.ClassType=Tbitbtn then
if copy(activecontrol.Name,1,3)='bt_' then
begin
st:=trim(copy(activecontrol.Name,4,6));
i:=pos('_',st);
rrow:=strtoint(copy(st,1,i-1));
ccol:=strtoint(copy(st,i+1,2));
edit6.Text:=copy(st,1,i-1);
edit1.Text:=copy(st,i+1,2);
if screen.Cursor=crhelp then begin
if btlb[rrow,ccol].Caption<>'' then
if messagedlg('撤消'+edit6.Text+' 区'+edit1.text+' 键 的设置吗?'+#13+'Yes__撤消 No__保留!'+#13+'请选择!',mtwarning,[mbyes,mbno],0)=mryes then
begin
if query1.Locate('zxh;cxh',vararrayof([edit6.text,edit1.text]),[]) then
begin
query1.Delete;
btlb[rrow,ccol].Caption:='';
btlb[rrow,ccol].Glyph:=nil;
end;
end;
// exit;
end
else if btlb[rrow,ccol].Caption<>'' then
begin
edit2.Text:=btlb[rrow,ccol].Font.Name;
edit3.Text:=inttostr(btlb[rrow,ccol].Font.Size);
label5.Color:=btlb[rrow,ccol].Font.Color;
end
else begin
edit2.Text:='';
edit3.Text:='';
label5.Color:=clbtnface;
end;
edit5.Text:=btlb[rrow,ccol].Caption;
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if screen.Cursor=crdefault then screen.Cursor:=crhelp
else screen.Cursor:=crdefault;
end;
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
if edit6.Text='' then begin
messagedlg('请选择待定义的区域!',mtwarning,[mbok],0);
exit;
end;
if edit1.Text='' then begin
messagedlg('请选择待定义的按键!',mtwarning,[mbok],0);
exit;
end;
if (edit1.Text<>'') and (edit6.Text<>'') then
if query1.Locate('zxh;cxh',vararrayof([edit6.text,edit1.text]),[]) then
begin
query1.Edit;
query1dycdbh.AsString:=query2bh.AsString;
query1mc.AsString:=query2mc.AsString;
query1ywmc.AsString:=query2ywmc.AsString;
query1.Post;
end
else
begin
query1.Append;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -