main.pas

来自「仲裁委仲裁案件计酬程序.有基础资料设置、分级设置」· PAS 代码 · 共 376 行

PAS
376
字号
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms,Dialogs, ImgList, StdActns, ActnList,
  Menus, ComCtrls,StdCtrls, ExtCtrls, ToolWin, Buttons,
  mxOutlookBarPro, DB, ADODB, jpeg;

type
  TMainFrm = class(TForm)
    Panal_Left: TPanel;
    Panel4: TPanel;
    Label3: TLabel;
    BtnClose: TPanel;
    Panel1: TPanel;
    BtnNavigate: TSpeedButton;
    BtnDir: TSpeedButton;
    ToolBar2: TToolBar;
    Btnc: TToolButton;
    BtnV: TToolButton;
    BtnH: TToolButton;
    Panel2: TPanel;
    imgTitle: TImage;
    Panel5: TPanel;
    EQuick: TEdit;
    SBar: TStatusBar;
    MainMenu: TMainMenu;
    File1: TMenuItem;
    FileNewItem: TMenuItem;
    FileCloseItem: TMenuItem;
    FileExitItem: TMenuItem;
    Windows: TMenuItem;
    WindowCascadeItem: TMenuItem;
    WindowTileItem: TMenuItem;
    WindowTileItem2: TMenuItem;
    WindowMinimizeItem: TMenuItem;
    WindowArrangeItem: TMenuItem;
    Help1: TMenuItem;
    HelpAboutItem: TMenuItem;
    ActionList1: TActionList;
    SysInfo: TAction;
    SysExit: TAction;
    WindowCascade1: TWindowCascade;
    WindowTileHorizontal1: TWindowTileHorizontal;
    WindowTileVertical1: TWindowTileVertical;
    WindowMinimizeAll1: TWindowMinimizeAll;
    WindowArrangeAll1: TWindowArrange;
    HelpAbout: TAction;
    ModifyPWD: TAction;
    UserManager: TAction;
    SysNavigate: TAction;
    ImageList: TImageList;
    MainBar: TmxOutlookBarPro;
    GetUser: TADOQuery;
    TaskBar: TToolBar;
    ActJudge: TAction;
    MoneyList: TAction;
    ActCase: TAction;
    HideORShow: TAction;
    N32: TMenuItem;
    N33: TMenuItem;
    AllClosed: TAction;
    ActEmp: TAction;
    ActCaseList: TAction;
    ActSetRate: TAction;
    ActCaseByPerson: TAction;
    ActTaxRate: TAction;
    ActSumByPerson: TAction;
    ActPayRate: TAction;
    ActListByCases: TAction;
    procedure SysExitExecute(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure BtnDirClick(Sender: TObject);
    procedure HideORShowExecute(Sender: TObject);
    procedure AllClosedExecute(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
    procedure ActJudgeExecute(Sender: TObject);
    procedure MoneyListExecute(Sender: TObject);
    procedure ActEmpExecute(Sender: TObject);
    procedure ActCaseExecute(Sender: TObject);
    procedure ActCaseListExecute(Sender: TObject);
    procedure ActSetRateExecute(Sender: TObject);
    procedure ModifyPWDExecute(Sender: TObject);
    procedure ActCaseByPersonExecute(Sender: TObject);
    procedure ActTaxRateExecute(Sender: TObject);
    procedure ActSumByPersonExecute(Sender: TObject);
    procedure ActPayRateExecute(Sender: TObject);
    procedure ActListByCasesExecute(Sender: TObject);
  private
    { Private declarations }
  public
  procedure ActivateWindow(Sender:TObject);
  procedure AddWindow(Sender:TForm; const str:String);
  procedure DelWindow(Sender:TObject);
  procedure TaskBarClick(Sender:TObject);
    { Public declarations }
  end;

var
  MainFrm: TMainFrm;

implementation

{$R *.dfm}
Uses Link,Judge,Emp,Method,FCase,CaseList,RateSet,TaxRateSet,
PWDDlg,Pubdata,CaseByPerson,SumByPerson,PayRateSet,ListByCases;
procedure OpenChildForm(FormClass: TFormClass; var Fm; AOwner:TComponent);
var
  i: integer;
  Child:TForm;
begin
  for i := 0 to Screen.FormCount -1 do
      if Screen.Forms[i].ClassType=FormClass then
      begin
        Child:=Screen.Forms[i];
        if Child.WindowState=wsMinimized then
           ShowWindow(Child.handle,SW_SHOWNORMAL)
        else
           ShowWindow(Child.handle,SW_SHOWNA);
        if (not Child.Visible) then Child.Visible:=True;
        Child.BringToFront;
        Child.Setfocus;
        TForm(Fm):=Child;
        exit;
      end;
  Child:=TForm(FormClass.NewInstance);
  TForm(fm):=Child;
  Child.Create(AOwner);
end;
procedure TMainFrm.ActivateWindow(Sender:TObject);
var
  i: integer;
begin
  with TaskBar do
  for i := ButtonCount - 1 downto 0 do
  with Buttons[i] do
    if TForm(Tag) = Sender then
    begin
      Down := true;
      break;
    end;
end;

procedure TMainFrm.AddWindow(Sender:TForm; const str:String);
begin
  with TToolButton.Create(TaskBar) do
  begin
    AutoSize := true;
    Left := TaskBar.Width;
    Parent := TaskBar;
    Style := tbsCheck;
    Grouped := true;
    AllowAllUp := false;
    OnClick := TaskBarClick;
    Caption := Str;
    ImageIndex:=0;
    Hint := Str;
    Tag := Integer(Sender); { store form in button's tag }
    Down := true;
  end;
  TaskBar.Update;
end;

procedure TMainFrm.DelWindow(Sender:TObject);
var
  i: integer;
begin
  with TaskBar do
  for i := ButtonCount - 1 downto 0 do
    if TForm(Buttons[i].Tag) = Sender then
    begin
      Buttons[i].Free;
      break;
    end;
end;

procedure TMainFrm.TaskBarClick(Sender:TObject);
var
  Frm: TForm;
begin
  if (Sender is TToolButton) then
  begin
    Frm := TForm(TComponent(Sender).Tag);
    with Frm do
      if (Frm <> Self.ActiveMDIChild) or not Visible then
      begin
        BringToFront;
        if WindowState = wsMinimized then
          ShowWindow(Handle, SW_RESTORE);
      end;
  end;
end;
procedure TMainFrm.SysExitExecute(Sender: TObject);
begin
Close
end;

procedure TMainFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
    i: integer;
begin
If MDIChildCount>1 Then
Begin
if Application.MessageBox('确定退出所有打开的窗体,并退出本程序吗?','系统提示',MB_OKCancel+MB_ICONQuestion) =IDOK then
Begin

    //关闭所有MDI子窗体
    for i:=MDIChildCount-1 downto 0 do MDIChildren[i].Close;
 Caption:='程序正在退出,请稍等......';

 CanClose :=true ;
 Application.Terminate;

End
else
 CanClose := false
End
Else
Begin
if Application.MessageBox('确定退出本程序吗?','系统提示',MB_OKCancel+MB_ICONQuestion) =IDOK then
Begin

 Caption:='程序正在退出,请稍等......';

 CanClose :=true ;
 Application.Terminate;

End
else
 CanClose := false
End;
end;

procedure TMainFrm.FormCreate(Sender: TObject);
begin

//Pub.ShowBalloonTip(EQuick, 1, '提示','快速通道,直接输入功能代码', $00E8FFFF, clblue);

//IniFiles.IniFileName:=ExtractFilePath(Application.ExeName)+'\Settings.ini';
SBar.Panels[3].Text:=PubData.SysUser;

Try


Application.CreateForm(TLinkSQL, LinkSQL);

Except
Application.MessageBox('请检查Access文件【仲裁委计酬.mdb】是否存在?','错误提示',MB_ICONQuestion);
Application.Terminate;
end

end;

procedure TMainFrm.BtnDirClick(Sender: TObject);
begin
Panal_Left.Visible := BtnDir.Down;
end;

procedure TMainFrm.HideORShowExecute(Sender: TObject);
begin
If BtnDir.Down Then
Begin
Panal_Left.Visible :=False;
BtnDir.Down:=False
End
Else
Begin
Panal_Left.Visible :=True;
BtnDir.Down:=True
End

end;

procedure TMainFrm.AllClosedExecute(Sender: TObject);
var
    i: integer;
begin
    //关闭所有MDI子窗体
    for i:=MDIChildCount-1 downto 0 do MDIChildren[i].Close;
end;
procedure TMainFrm.BtnCloseClick(Sender: TObject);
begin
Panal_Left.Visible :=False;
BtnDir.Down:=False;
end;

procedure TMainFrm.ActJudgeExecute(Sender: TObject);
Var Frm:TJudgeFrm;
begin
Frm:=TJudgeFrm.Create(Application);
Frm.ShowModal;
end;

procedure TMainFrm.MoneyListExecute(Sender: TObject);
Var Frm:TMethodFrm;
begin
Frm:=TMethodFrm.Create(Application);
Frm.ShowModal;
end;

procedure TMainFrm.ActEmpExecute(Sender: TObject);
Var Frm:TEmpFrm;
begin
Frm:=TEmpFrm.Create(Application);
Frm.ShowModal;

end;

procedure TMainFrm.ActCaseExecute(Sender: TObject);
Var Frm:TCaseFrm;
begin
Frm:=TCaseFrm.Create(Application,0);
Frm.ShowModal;
end;

procedure TMainFrm.ActCaseListExecute(Sender: TObject);
begin
OpenChildForm(TCaseListFrm,CaseListFrm,Application)
end;

procedure TMainFrm.ActSetRateExecute(Sender: TObject);
Var Frm:TRateSetFrm;
begin
Frm:=TRateSetFrm.Create(Application);
Frm.ShowModal;

end;

procedure TMainFrm.ModifyPWDExecute(Sender: TObject);
var
    PWDDlgFrm: TPWDDlgFrm;
begin
    PWDDlgFrm := TPWDDlgFrm.Create(Self);
    try
        PWDDlgFrm.ShowModal;
    finally
        PWDDlgFrm.Free;
    end;
end;

procedure TMainFrm.ActCaseByPersonExecute(Sender: TObject);
begin
OpenChildForm(TCaseByPersonFrm,CaseByPersonFrm,Application)
end;

procedure TMainFrm.ActTaxRateExecute(Sender: TObject);
Var Frm:TTaxRateSetFrm;
begin
Frm:=TTaxRateSetFrm.Create(Application);
Frm.ShowModal;

end;

procedure TMainFrm.ActSumByPersonExecute(Sender: TObject);
begin
OpenChildForm(TSumByPersonFrm,SumByPersonFrm,Application)
end;

procedure TMainFrm.ActPayRateExecute(Sender: TObject);
Var Frm:TPayRateSetFrm;
begin
Frm:=TPayRateSetFrm.Create(Application);
Frm.ShowModal;

end;

procedure TMainFrm.ActListByCasesExecute(Sender: TObject);
begin
OpenChildForm(TListByCasesFrm,ListByCasesFrm,Application)
end;

end.

⌨️ 快捷键说明

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