⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uframgrid.pas

📁 一个会议签到系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:

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 + -