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 + -
显示快捷键?