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

📄 bm_oficeu.pas

📁 Delphi办公管理系统
💻 PAS
字号:
unit BM_OFICEU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls,printers, shellapi, Buttons, ToolWin,OleServer, Word2000,
  WordXP, ComCtrls;
const 
mousemsg = wm_user + 1; //自定义消息,用于处理用户在图标上点击鼠标的事件 
iid = 100;
type
  TBM_OFFICEF = class(TForm)
    MainMenu1: TMainMenu;
    JB: TMenuItem;
    JB_01: TMenuItem;
    JB_02: TMenuItem;
    JB_08: TMenuItem;
    JB_09: TMenuItem;
    WZ: TMenuItem;
    WZ_01: TMenuItem;
    WZ_02: TMenuItem;
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    Excel1: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    ToolBar1: TToolBar;
    N23: TMenuItem;
    N24: TMenuItem;
    PopupMenu1: TPopupMenu;
    N25: TMenuItem;
    PrinterSetupDialog1: TPrinterSetupDialog;
    N27: TMenuItem;
    N28: TMenuItem;
    FontDialog1: TFontDialog;
    N29: TMenuItem;
    N30: TMenuItem;
    N9: TMenuItem;
    wordApp: TWordApplication;
    N10: TMenuItem;
    N15: TMenuItem;
    N21: TMenuItem;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    N22: TMenuItem;
    N26: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure JB_01Click(Sender: TObject);
    procedure Panel1DockDrop(Sender: TObject; Source: TDragDockObject; X,
      Y: Integer);
    procedure JB_02Click(Sender: TObject);
    procedure JB_08Click(Sender: TObject);
    procedure WZ_01Click(Sender: TObject);
    procedure Excel1Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure N25Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N29Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N13Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure JB_09Click(Sender: TObject);
  private
    { Private declarations }
    procedure mousemessage(var message: tmessage);message mousemsg;
   Procedure EmptyRecycleBin ;
  public
    { Public declarations }
  end;

var
  BM_OFFICEF: TBM_OFFICEF;
  ntida: TNotifyIcondataA;
implementation

uses BM_FLASHU, BM_LOGINU, BM_ZHIYUANU, BM_BUMENU, BM_QUANXIANU, BM_HINTU,
  BM_PRIU, BM_DMU, BM_POSTU, BM_TIMEU, BM_CHANGEFILEU, BM_MONGTHU, BM_TELU,
  BM_EXCELU, BM_ABOUTU, BM_IDU;

{$R *.dfm}

procedure TBM_OFFICEF.FormCreate(Sender: TObject);
begin
 ///////////////////
{ntida.cbSize := sizeof(tnotifyicondataa); //指定ntida的长度
ntida.Wnd := handle; //取应用程序主窗体的句柄
ntida.uID := iid; //用户自定义的一个数值,在uCallbackMessage参数指定的消息中使用
ntida.uFlags := nif_icon + nif_tip + nif_message;//指定在该结构中uCallbackMessage、hIcon、szTip参数都有效 
ntida.uCallbackMessage := mousemsg;//指定的窗口消息 
ntida.hIcon := Application.Icon.handle;//指定系统状态栏显示应用程序的图标句柄 
ntida.szTip := 'Icon'; //当鼠标停留在系统状态栏该图标上时,出现该提示信息 
shell_notifyicona(NIM_ADD, @ntida); //在系统状态栏增加一个新图标
}
//////////////////
BM_flashF.CLOSE;
if not LoginExecute(Tbm_LOGINf) then Application.Terminate;
BM_HINTF:=TBM_HINTF.Create(BM_OFFICEF);

end;

procedure TBM_OFFICEF.JB_01Click(Sender: TObject);
begin

try
BM_OFFICEF.Caption :='北明办公人事管理系统_'+ JB_01.Caption ;
 BM_ZHIYUANF := TBM_ZHIYUANF.Create(Application);
 BM_ZHIYUANF.ManualDock(Panel1, nil, AlClient);

  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;




end;

procedure TBM_OFFICEF.Panel1DockDrop(Sender: TObject;
  Source: TDragDockObject; X, Y: Integer);
var
  i: integer;
begin
  i := 0;

  while (i <= Panel1.ControlCount - 1) and (Panel1.ControlCount > 1) do
  begin
    if Panel1.Controls[i] is TForm then
    begin
       Panel1.Controls[i].Free;
    end
    else
      i := i + 1;
  end;

end;

procedure TBM_OFFICEF.JB_02Click(Sender: TObject);
begin
try
BM_OFFICEF.Caption :='北明办公管理系统_'+ JB_02.Caption ;
 BM_BENMENF := TBM_BENMENF.Create(Application);
 BM_BENMENF.Show ;
 BM_BENMENF.ManualDock(Panel1, nil, AlClient)
  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK + MB_ICONSTOP);
  end;
end;

procedure TBM_OFFICEF.JB_08Click(Sender: TObject);
begin

try
BM_OFFICEF.Caption :='北明办公管理系统_'+ JB_08.Caption ;
 BM_QUANXIANF := TBM_QUANXIANF.Create(Application);
  BM_QUANXIANF.Show ;
 BM_QUANXIANF.ManualDock(Panel1, nil, AlClient)
  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;
end;

procedure TBM_OFFICEF.WZ_01Click(Sender: TObject);
begin

try
BM_OFFICEF.Caption :='北明办公管理系统_'+ WZ_01.Caption ;
 BM_PRIF := TBM_PRIF.Create(Application);
 BM_PRIF.Show ;
 BM_PRIF.ManualDock(Panel1, nil, AlClient);

  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;
end;

procedure TBM_OFFICEF.Excel1Click(Sender: TObject);
begin
ShellExecute(handle,'open','calc.exe','','',SW_SHOWNORMAL);
end;

procedure TBM_OFFICEF.N12Click(Sender: TObject);
begin
 with dm.QALL3 do
   begin
     close;
     sql.Clear ;
     sql.Add('delete from 部门 where 部门编码="01"');
     ExecSQL;
    // UpdateBatch() ;
  end;
end;

procedure TBM_OFFICEF.N24Click(Sender: TObject);
begin
//BM_TIMEF.SHOW;
end;

procedure TBM_OFFICEF.mousemessage(var message: tmessage);
var
mousept: TPoint; //鼠标点击位置 
begin 
inherited;
if message.LParam = wm_rbuttonup then begin //用鼠标右键点击图标 
getcursorpos(mousept); //获取光标位置
popupmenu1.popup(mousept.x, mousept.y); //在光标位置弹出菜单
end; 
if message.LParam = wm_lbuttonup then begin //用鼠标左键点击图标 
//显示应用程序窗口 
ShowWindow(Handle, SW_SHOW); 
//在任务栏上显示应用程序窗口 
ShowWindow(Application.handle, SW_SHOW); 
SetWindowLong(Application.Handle, GWL_EXSTYLE, 
not (GetWindowLong(Application.handle, GWL_EXSTYLE) 
or WS_EX_TOOLWINDOW AND NOT WS_EX_APPWINDOW)); 
end; 
message.Result := 0;

end;

procedure TBM_OFFICEF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
{Action := caNone; //不对窗体进行任何操作
ShowWindow(Handle, SW_HIDE); //隐藏主窗体 
//隐藏应用程序窗口在任务栏上的显示 
ShowWindow(Application.Handle, SW_HIDE); 
SetWindowLong(Application.Handle, GWL_EXSTYLE, 
GetWindowLong(Application.handle, GWL_EXSTYLE)
or WS_EX_TOOLWINDOW AND NOT WS_EX_APPWINDOW); }
end;

procedure TBM_OFFICEF.N25Click(Sender: TObject);
begin
ntida.cbSize := sizeof(tnotifyicondataa); 
ntida.wnd := handle; 
ntida.uID := iid; 
ntida.uFlags := nif_icon + nif_tip + nif_message; 
ntida.uCallbackMessage := mousemsg; 
ntida.hIcon := Application.Icon.handle; 
ntida.szTip := 'Icon'; 
shell_notifyicona(NIM_DELETE, @ntida); //删除已有的应用程序图标
Application.Terminate; //中断应用程序运行,退出应用程序
end;

procedure TBM_OFFICEF.N17Click(Sender: TObject);
begin
try
BM_OFFICEF.Caption :='北明办公人事管理系统_'+ N17.Caption ;
 BM_TELF := TBM_TELF.Create(Application);
 BM_TELF.ManualDock(Panel1, nil, AlClient);
// BM_TELF.Show ;

  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;




  
end;

procedure TBM_OFFICEF.N27Click(Sender: TObject);
begin
printersetupdialog1.Execute ;
end;

procedure TBM_OFFICEF.N28Click(Sender: TObject);
begin
if fontdialog1.Execute then
begin
printer.Canvas.Font.size :=fontdialog1.Font.size ;
printer.Canvas.Font.name :=fontdialog1.Font.name ;
printer.Canvas.Font.style :=fontdialog1.Font.style ;
end;
end;

procedure TBM_OFFICEF.N29Click(Sender: TObject);
begin

try
BM_OFFICEF.Caption :='北明办公管理系统_'+ N29.Caption ;
 BM_CHANGEFILEF := TBM_CHANGEFILEF.Create(Application);
 BM_CHANGEFILEF.ManualDock(Panel1, nil, AlClient);
 BM_CHANGEFILEF.Show ;
  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;
end;

procedure TBM_OFFICEF.N30Click(Sender: TObject);
begin
BM_MONGTHF.Show ;
end;

procedure TBM_OFFICEF.N9Click(Sender: TObject);
begin

try
BM_OFFICEF.Caption :='北明办公管理系统_'+ N9.Caption ;
 BM_POSTF := TBM_POSTF.Create(Application);
 BM_POSTF.ManualDock(Panel1, nil, AlClient);
  BM_POSTF.SHOW;
  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;
end;

procedure TBM_OFFICEF.N7Click(Sender: TObject);
begin

try
BM_OFFICEF.Caption :='北明办公管理系统_'+ N7.Caption ;
 BM_EXCELF := TBM_EXCELF.Create(Application);
 BM_EXCELF.ManualDock(Panel1, nil, AlClient);
 BM_EXCELF.Show ;
  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;
end;

procedure TBM_OFFICEF.N13Click(Sender: TObject);
begin
EmptyRecycleBin;
end;

procedure TBM_OFFICEF.EmptyRecycleBin;
Const
  SHERB_NOCONFIRMATION = $00000001 ;
  SHERB_NOPROGRESSUI   = $00000002 ;
  SHERB_NOSOUND        = $00000004 ;
Type
  TSHEmptyRecycleBin = function (Wnd : HWND;
                                 pszRootPath : PChar;
                                 dwFlags : DWORD
                       ) : HRESULT; stdcall ;
Var 
  SHEmptyRecycleBin : TSHEmptyRecycleBin;
  LibHandle         : THandle; 
Begin  { EmptyRecycleBin } 
  LibHandle := LoadLibrary(PChar('Shell32.dll')) ; 
  if LibHandle <> 0 then
     @SHEmptyRecycleBin := GetProcAddress(LibHandle, 'SHEmptyRecycleBinA') 
  else 
  begin 
     MessageDlg('Failed to load Shell32.dll.', mtError, [mbOK], 0); 
     Exit;
  end; 


  if @SHEmptyRecycleBin <> nil then 
     SHEmptyRecycleBin(Application.Handle,
                       nil,  
                       SHERB_NOCONFIRMATION or SHERB_NOPROGRESSUI or SHERB_NOSOUND); 
  FreeLibrary(LibHandle); 
  @SHEmptyRecycleBin := nil ;

end;

procedure TBM_OFFICEF.N16Click(Sender: TObject);
begin
BM_ABOUTF := TBM_ABOUTF.Create(Application);
BM_ABOUTF.SHOW;
end;

procedure TBM_OFFICEF.N10Click(Sender: TObject);
begin
 ShellExecute(handle,'open','freecell.exe','','',SW_SHOWNORMAL);
end;

procedure TBM_OFFICEF.N15Click(Sender: TObject);
begin
 ShellExecute(handle,'open','winmine.exe','','',SW_SHOWNORMAL);

end;

procedure TBM_OFFICEF.N21Click(Sender: TObject);
begin

try
BM_IDF.Caption :='北明办公管理系统_'+ N21.Caption ;
 BM_IDF := TBM_IDF.Create(Application);
 BM_IDF.Show;
 BM_IDF.ManualDock(Panel1, nil, AlClient);
 
  except
    MessageBox(0, '窗体创建错误', '产生严重例外错误', MB_OK +
      MB_ICONSTOP);
  end;
end;

procedure TBM_OFFICEF.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
//if Key=VK_F2 then JB_01Click(Sender);

end;

procedure TBM_OFFICEF.SpeedButton3Click(Sender: TObject);
begin
JB_01Click(Sender);
end;

procedure TBM_OFFICEF.SpeedButton1Click(Sender: TObject);
begin
if Application.MessageBox('请确认是否退出本系统', '提示信息', mb_iconinformation + mb_YesNo) = id_yes then
begin
  application.Terminate;

end;
end;

procedure TBM_OFFICEF.SpeedButton2Click(Sender: TObject);
begin
N17Click(Sender);
end;

procedure TBM_OFFICEF.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
if Application.MessageBox('请确认是否退出本系统', '提示信息', mb_iconinformation + mb_YesNo) = id_yes then
begin
  application.Terminate;

end
else
 CanClose:=false;
end;

procedure TBM_OFFICEF.JB_09Click(Sender: TObject);
begin
if Application.MessageBox('请确认是否退出本系统', '提示信息', mb_iconinformation + mb_YesNo) = id_yes then
begin
  application.Terminate;
end;
 end;
end.

⌨️ 快捷键说明

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