📄 uframgrid.pas
字号:
procedure TFramGrid.EdtFloatBEnter(Sender: TObject);
begin
inherited;
MyConEnter(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtFloatAEnter(Sender: TObject);
begin
inherited;
MyConEnter(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtIntEnter(Sender: TObject);
begin
MyConEnter(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtStrCExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtStrBExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtStrAExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtIntExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtFloatAExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtFloatBExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.CmbStrAExit(Sender: TObject);
begin
MyConExit(TComboBox(Sender),Self.FxGrid);
end;
procedure TFramGrid.CmbStrBExit(Sender: TObject);
begin
MyConExit(TComboBox(Sender),Self.FxGrid);
end;
procedure TFramGrid.CmbIntExit(Sender: TObject);
begin
MyConExit(TComboBox(Sender),Self.FxGrid);
end;
procedure TFramGrid.CmbStrAEnter(Sender: TObject);
begin
inherited;
MyConEnter(TComboBox(Sender),Self.FxGrid);
end;
procedure TFramGrid.CmbStrBEnter(Sender: TObject);
begin
inherited;
MyConEnter(TComboBox(Sender),Self.FxGrid);
end;
procedure TFramGrid.CmbIntEnter(Sender: TObject);
begin
inherited;
MyConEnter(TComboBox(Sender),Self.FxGrid);
end;
procedure TFramGrid.DTPBEnter(Sender: TObject);
begin
MyConEnter(DTPB,Self.FxGrid);
end;
procedure TFramGrid.DTPAEnter(Sender: TObject);
begin
inherited;
MyConEnter(DTPA,Self.FxGrid);
end;
procedure TFramGrid.DTPBExit(Sender: TObject);
begin
inherited;
MyConExit(DTPB,Self.FxGrid);
end;
procedure TFramGrid.DTPAExit(Sender: TObject);
begin
inherited;
MyConExit(DTPA,Self.FxGrid);
end;
procedure TFramGrid.EdtStrAKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl)
end;
procedure TFramGrid.EdtStrBKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.EdtStrCKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.EdtIntKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.EdtFloatAKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.EdtFloatBKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.CmbStrAKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.CmbStrBKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.CmbIntKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.DTPBKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.DTPAKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
Exit;
end;
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
end;
procedure TFramGrid.EdtBtnAChange(Sender: TObject);
begin
Self.FxGrid.Text:=Self.EdtBtnA.text;
if High(iaMaxLength) < FxGrid.Col then Exit;
if iaMaxLength[FxGrid.Col] = 0 then Exit;
EdtBtnA.MaxLength:=iaMaxLength[FxGrid.Col];
end;
procedure TFramGrid.EdtBtnBChange(Sender: TObject);
begin
Self.FxGrid.Text:=Self.EdtBtnB.text;
if High(iaMaxLength) < FxGrid.Col then Exit;
if iaMaxLength[FxGrid.Col] = 0 then Exit;
EdtBtnB.MaxLength:=iaMaxLength[FxGrid.Col];
end;
procedure TFramGrid.EdtBtnAEnter(Sender: TObject);
begin
MyConEnter(TEdit(Sender),Self.FxGrid);
SBtnEdtA.Visible:=True;
PBingDingBtnToEdit();
end;
procedure TFramGrid.EdtBtnBEnter(Sender: TObject);
begin
MyConEnter(TEdit(Sender),Self.FxGrid);
SBtnEdtB.Visible:=True;
PBingDingBtnToEdit();
end;
procedure TFramGrid.EdtBtnAExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtBtnBExit(Sender: TObject);
begin
MyConExit(TEdit(Sender),Self.FxGrid);
end;
procedure TFramGrid.EdtBtnAKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F8 then SBtnEdtA.OnClick(Sender);
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
end else
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
SBtnEdtA.Visible:=True;
PBingDingBtnToEdit();
end;
procedure TFramGrid.EdtBtnBKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F8 then SBtnEdtB.OnClick(Sender);
if iClickLastRowAddOneRow = 888 then begin
FZReturncol(Key,Sender,True,False,Self.FxGrid,Self.GridControl);
end else
FZReturncol(Key,Sender,True,True,Self.FxGrid,Self.GridControl);
SBtnEdtB.Visible:=True;
PBingDingBtnToEdit();
end;
{oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo}
{oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo}
{*******************************************************************************
* 初始化 Fram上的表格
* 15 列 是绑定的极限
*ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
* 可以在填充标题的时候调用 对外有少了一个 步子
* 能简化就最简化
*******************************************************************************}
procedure TFramGrid.PInitFramGrid;
begin
Self.Align:=alClient;
SetLength(Self.GridControl,15);
MySetGridEditCol([false,false,false,false,false,false,false,false,false,false,
false,false,false,false],
[nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil],
Self.GridControl);
InitGridB(Self.FxGrid,1);
SBtnEdtA.Parent:=EdtBtnA;
SBtnEdtB.Parent:=EdtBtnB;
end;
procedure TFramGrid.EdtIntKeyPress(Sender: TObject; var Key: Char);
begin
Key:=MyEnterNumberA(EdtInt,Key,0);
if key = #13 then Key:=#0;//去掉声音
end;
{*******************************************************************************
* 因为一个 错误看来是暂时的办法
********************************用于绑定控件************************************
* GridControl:array of TGridColCon; 这个属性不能被外界访问
* 只有出这个下册 20030408 符林
*******************************************************************************}
{ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
* 有的变量外部访问 出现很怪的语法错误 >>>GridControl
* 这个函数 就更简单了 既解决了问题 又 简化了 MySetGridEditCol 函数
* 实现 Fram的最简化 20030410 符林
*-------------------------------------------------------------------------------
* 这个函数有问题 用了 在窗体释放的时候就报地址访问出错
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo}
procedure TFramGrid.PBingDingCtrlA(iaColNo: array of Integer;
caControl: array of TWincontrol);
var
I,II,iColCount:Integer;
baBingDing:array of Boolean;
caControlX: array of TWincontrol;
begin
if High(iaColNo) <> High(caControl) then begin
DlgWarningA('Call PBingDingCtrl() Error 数组长度不等');
Exit;
end;
iColCount:=FxGrid.Cols;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -