?? bm_oficeu.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 + -