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

📄 ufrmtopca.pas

📁 一个会议签到系统
💻 PAS
字号:
{*******************************************************************************
*              用于树不托动的模板        业务模块经常用到 特别是单据类
*              风格:工具条+树+表格      
*ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
*              改进后的窗体 主要是界面上   去掉了标题栏
*              工具条该为 Pannle 制作  更加灵活的 按钮 有 SpeetBtn
*ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
*              标准工具条 Height=30
*              工具条上按钮高 = 25  宽=30  所以如果 PnlTOP 高 = 30  就刚好显示工具条
*              如果  PnlTOP 高 > 30  就可以放 其他控件 制作其他单据等
*ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
*              界面经过改动 已经很完整了 很适用 工作去很大
*              用Panel 代替了工具条  更加 灵活实用
*              200303021  符林
*ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
*              这个积累根据 FrmTopCA 演变而来的  主要是很多窗口上有多个表格
*              所以这个窗口可以很 FramGrid 混合使用   20030402
*******************************************************************************}
unit uFrmTopCA;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  uFrmTop, AppEvnts, ActnList, ExtCtrls, Buttons, ImgList, ComCtrls,
  ToolWin, OleCtrls, MSFlexGridLib_TLB, StdCtrls,uDataSys, Menus;

type
  TFrmTopCA = class(TFrmTop)
    PnlTop: TPanel;
    IMGTree: TImageList;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N5: TMenuItem;
    N9: TMenuItem;
    PopupMenu2: TPopupMenu;
    N4: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    ActTrvVisible: TAction;
    PnlToolBar: TPanel;
    Bevel1: TBevel;
    Bevel2: TBevel;
    SpbtnRefresh: TSpeedButton;
    SpbtnAdd: TSpeedButton;
    SpbtnEdit: TSpeedButton;
    SpbtnDel: TSpeedButton;
    SpbtnSave: TSpeedButton;
    SpbtnCancel: TSpeedButton;
    SpbtnExport: TSpeedButton;
    SpbtnPrint: TSpeedButton;
    SpbtnFirst: TSpeedButton;
    SpbtnPrivor: TSpeedButton;
    SpbtnNext: TSpeedButton;
    SpbtnLast: TSpeedButton;
    SpbtnExit: TSpeedButton;
    Panel7: TPanel;
    SpbtnFind: TSpeedButton;
    Bevel3: TBevel;
    Bevel4: TBevel;
    Bevel5: TBevel;
    Bevel6: TBevel;
    Bevel7: TBevel;
    ActCltrA: TAction;
    ActCltrE: TAction;
    ActCltrS: TAction;
    ActCltrD: TAction;
    procedure TbtExitClick(Sender: TObject);
    procedure SpbtnExitClick(Sender: TObject);
    procedure SpbtnAddClick(Sender: TObject);
    procedure SpbtnEditClick(Sender: TObject);
    procedure SpbtnSaveClick(Sender: TObject);
    procedure SpbtnCancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ActCltrAExecute(Sender: TObject);
    procedure ActCltrDExecute(Sender: TObject);
    procedure ActCltrEExecute(Sender: TObject);
    procedure ActCltrSExecute(Sender: TObject);
    procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);
  private
    procedure PFxGridSetFocus(iEditClass: Integer);
    { Private declarations }
  public
    {用于绑定控件}
    GridControl:Array of TGridColCon;
    iEditSate:Integer;//用语标识 添加 更改的区别
    { Public declarations }
  end;

var
  FrmTopCA: TFrmTopCA;

implementation

uses uFuntionSys;

{$R *.DFM}

procedure TFrmTopCA.TbtExitClick(Sender: TObject);
begin
  inherited;
  Self.Close;
end;

procedure TFrmTopCA.SpbtnExitClick(Sender: TObject);
begin
  inherited;
  Close;
end;
{*******************************************************************************
*         表格控件的焦点设置
*         iEditClass=1 Add 2 Edit 3 Delete 4 保存 0 Cancle
*******************************************************************************}
procedure TFrmTopCA.PFxGridSetFocus(iEditClass: Integer);
begin
  iEditSate:=iEditClass;
   if iEditClass = 1  then begin
      SpbtnAdd.Down:=True;
      SpbtnRefresh.Enabled:=False;
      SpbtnAdd.Enabled:=False;
      SpbtnEdit.Enabled:=False;
      SpbtnSave.Enabled:=True;
      SpbtnCancel.Enabled:=True;

      SpbtnSave.Down:=False;
      SpbtnCancel.Down:=False;
   end;
   if iEditClass = 2 then begin
      SpbtnEdit.Down:=True;
      SpbtnRefresh.Enabled:=False;
      SpbtnAdd.Enabled:=False;
      SpbtnEdit.Enabled:=False;
      SpbtnSave.Enabled:=True;
      SpbtnCancel.Enabled:=True;
     
      SpbtnSave.Down:=False;
      SpbtnCancel.Down:=False;
   end;
   if iEditClass= 3  then begin
      //
   end;
   if iEditClass =4 then begin
      SpbtnRefresh.Enabled:=True;
      SpbtnAdd.Enabled:=True;
      SpbtnEdit.Enabled:=True;
      SpbtnSave.Enabled:=False;
      SpbtnCancel.Enabled:=False;

      SpbtnAdd.Down:=False;
      SpbtnEdit.Down:=False;
      SpbtnSave.Down:=True;
      SpbtnCancel.Down:=True;
   end;
   if iEditClass = 0 then begin
      SpbtnRefresh.Enabled:=True;
      SpbtnAdd.Enabled:=True;
      SpbtnEdit.Enabled:=True;
      SpbtnSave.Enabled:=False;
      SpbtnCancel.Enabled:=False;
    
      SpbtnAdd.Down:=False;
      SpbtnEdit.Down:=False;
      SpbtnSave.Down:=True;
      SpbtnCancel.Down:=True;
   end;
end;

procedure TFrmTopCA.SpbtnAddClick(Sender: TObject);
begin
  PFxGridSetFocus(1);
end;

procedure TFrmTopCA.SpbtnEditClick(Sender: TObject);
begin
  PFxGridSetFocus(2);
end;

procedure TFrmTopCA.SpbtnSaveClick(Sender: TObject);
begin
  PFxGridSetFocus(4);
end;

procedure TFrmTopCA.SpbtnCancelClick(Sender: TObject);
begin
  PFxGridSetFocus(0);
end;

procedure TFrmTopCA.FormShow(Sender: TObject);
begin
  inherited;
  PSetOrderPnlBtn(PnlToolBar);
  PSetToolBarStyle(PnlToolBar,bSYSShowBtnCaption);
  SpbtnSave.Enabled:=False;  //Add 20030811
  SpbtnCancel.Enabled:=False;
  {**设置鼠标}
  Self.PnlToolBar.Cursor:=1;
  {
  if FChangeCursor <> 0 then begin
     Screen.Cursors[1]:=FChangeCursor;//不放在这儿速度其慢
     Self.PnlToolBar.Cursor:=1;
  end;}

  
end;

procedure TFrmTopCA.ActCltrAExecute(Sender: TObject);
var
  Str:String;
begin
  Str:=SpbtnAdd.Hint;
  if not SpbtnAdd.Visible then Exit;
  if not SpbtnAdd.Enabled then Exit;
  if     SpbtnAdd.Down    then Exit;
  if Pos('Ctrl+A',Str) <= 0 then Exit;
  SpbtnAdd.OnClick(Sender);
end;

procedure TFrmTopCA.ActCltrDExecute(Sender: TObject);
var
  Str:String;
begin
  Str:=SpbtnDel.Hint;
  if not SpbtnDel.Visible then Exit;
  if not SpbtnDel.Enabled then Exit;
  if     SpbtnDel.Down    then Exit;
  if Pos('Ctrl+D',Str) <= 0 then Exit;
  SpbtnDel.OnClick(Sender);
end;

procedure TFrmTopCA.ActCltrEExecute(Sender: TObject);
var
  Str:String;
begin
  Str:=SpbtnEdit.Hint;
  if not SpbtnEdit.Visible then Exit;
  if not SpbtnEdit.Enabled then Exit;
  if     SpbtnEdit.Down    then Exit;
  if Pos('Ctrl+E',Str) <= 0 then Exit;
  SpbtnEdit.OnClick(Sender);
end;

procedure TFrmTopCA.ActCltrSExecute(Sender: TObject);
var
  Str:String;
begin
  Str:=SpbtnSave.Hint;
  if not SpbtnSave.Visible then Exit;
  if not SpbtnSave.Enabled then Exit;
  if     SpbtnSave.Down    then Exit;
  if Pos('Ctrl+S',Str) <= 0 then Exit;
  SpbtnSave.OnClick(Sender);
end;

procedure TFrmTopCA.FormShortCut(var Msg: TWMKey; var Handled: Boolean);
begin
  inherited;
  //快截见问题//20030815  Add
  {*******************************************}
  if Msg.CharCode = 27 then begin
       if not SpbtnCancel.Visible then Exit;
       if not SpbtnCancel.Enabled then Exit;
       if     SpbtnCancel.Down    then Exit;
       if Pos('Esc',SpbtnCancel.Hint) <= 0     then Exit;
       SpbtnCancel.OnClick(nil);
  end;
  {*******************************************}
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -