?? main.pas
字號:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, ImgList, Menus, StdActns, ActnList, ExtCtrls;
type
TMainFrm = class(TForm)
MainMenu1: TMainMenu;
M_System: TMenuItem;
M_Login: TMenuItem;
M_Loginout: TMenuItem;
M_Register: TMenuItem;
M_Separator: TMenuItem;
M_PassModify: TMenuItem;
M_ReleModify: TMenuItem;
M_Quit: TMenuItem;
M_Scheme: TMenuItem;
M_Materiel_Need: TMenuItem;
M_Materiel_Stock: TMenuItem;
M_Help: TMenuItem;
ImageList1: TImageList;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
TB_Scheme: TToolButton;
TB_Masterl_Need: TToolButton;
TB_Materiel_Stock: TToolButton;
StatusBar1: TStatusBar;
M_Windows: TMenuItem;
M_Win_Cascade: TMenuItem;
ActionList1: TActionList;
WindowCascade1: TWindowCascade;
WindowCloseALL: TWindowClose;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
M_Win_Hor: TMenuItem;
M_Win_Ver: TMenuItem;
M_Win_Min: TMenuItem;
M_Win_Close: TMenuItem;
Timer1: TTimer;
procedure M_SchemeClick(Sender: TObject);
procedure TB_SchemeClick(Sender: TObject);
procedure TB_Masterl_NeedClick(Sender: TObject);
procedure WindowCloseALLExecute(Sender: TObject);
procedure WindowCloseALLUpdate(Sender: TObject);
procedure M_Materiel_NeedClick(Sender: TObject);
procedure TB_Materiel_StockClick(Sender: TObject);
procedure M_Materiel_StockClick(Sender: TObject);
procedure M_LoginClick(Sender: TObject);
procedure M_HelpClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure M_QuitClick(Sender: TObject);
procedure M_LoginoutClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Login:boolean;
function CreateForm(CForm:TForm):boolean; //用戶自定義MDIChild子窗體存在判斷函數
end;
var
MainFrm: TMainFrm;
implementation
uses Scheme,Materiel_Need,Materiel_Stock,Login,DataModule,About;
{$R *.dfm}
function TMainFrm.CreateForm(CForm:TForm):boolean;
var
i:integer;
FormExist:boolean;
begin
FormExist:=false;
if(CForm=Nil) then //判斷CFrom是否為空
begin
CreateForm:=false; //函數返回值賦false
exit; //退出本函數
end;
for i:=0 to Screen.FormCount-1 do //判斷窗體是否已經建立起來
begin
if Screen.Forms[i].ClassType=CForm.ClassType then //判斷窗體存在
FormExist:=true;
end;
if FormExist=false then
begin
CreateForm:=false; //函數返回值賦false
exit; //退出本函數
end;
if CForm.WindowState=wsMinimized then
ShowWindow(CForm.Handle,SW_SHOWNORMAL) //顯示窗體
else
ShowWindow(CForm.Handle,SW_SHOWNA); //顯示窗體
if not CForm.Visible then
CForm.Visible:=true;
CForm.BringToFront; //當前窗口顯示在最前面
CForm.SetFocus;
CreateForm:=true;
end;
procedure TMainFrm.M_SchemeClick(Sender: TObject);
begin
if CreateForm(SchemeFrm)=false then //調用CreateForm來判斷生產計劃管理窗口是否存在
Application.CreateForm(TSchemeFrm,SchemeFrm); //動態創建生產計劃管理窗口
DM.AT_Scheme.Active:=true; //生產計劃管理數據源組件處于使能態
end;
procedure TMainFrm.TB_SchemeClick(Sender: TObject);
begin
if CreateForm(SchemeFrm)=false then //調用CreateForm來判斷生產計劃管理窗口是否存在
Application.CreateForm(TSchemeFrm,SchemeFrm); //動態創建生產計劃管理窗口
DM.AT_Scheme.Active:=true; //生產計劃管理數據源組件處于使能態
end;
procedure TMainFrm.TB_Masterl_NeedClick(Sender: TObject);
begin
if CreateForm(Materiel_NeedFrm)=false then
Application.CreateForm(TMateriel_NeedFrm,Materiel_NeedFrm);
DM.AT_Materiel_Need.Active:=true;
end;
//操作列表控件ActionList1中WindowCloseAll操作執行事件
procedure TMainFrm.WindowCloseALLExecute(Sender: TObject);
var
i:integer;
begin
for i:=0 to MDIChildCount-1 do //MDIChildCount取得當前MDI子窗口的個數
MDIChildren[i].Close; //關閉所有MDI子窗口
end;
//操作列表控件ActionList1中WindowCloseAll操作Updata事件
procedure TMainFrm.WindowCloseALLUpdate(Sender: TObject);
begin
if MDIChildCount>0 then //是否有MDI子窗口創建判斷
(Sender As TAction).Enabled:=true //關閉所有MDI子窗口菜單使能
else
(Sender As TAction).Enabled:=false; //關閉所有MDI子窗口菜單非使能
end;
procedure TMainFrm.M_Materiel_NeedClick(Sender: TObject);
begin
if CreateForm(Materiel_NeedFrm)=false then
Application.CreateForm(TMateriel_NeedFrm,Materiel_NeedFrm);
DM.AT_Materiel_Need.Active:=true;
end;
procedure TMainFrm.TB_Materiel_StockClick(Sender: TObject);
begin
if CreateForm(Materiel_StockFrm)=false then
Application.CreateForm(TMateriel_StockFrm,Materiel_StockFrm);
DM.AT_Materiel_Stock.Active:=true;
end;
procedure TMainFrm.M_Materiel_StockClick(Sender: TObject);
begin
if CreateForm(Materiel_StockFrm)=false then
Application.CreateForm(TMateriel_StockFrm,Materiel_StockFrm);
DM.AT_Materiel_Stock.Active:=true;
end;
procedure TMainFrm.M_LoginClick(Sender: TObject);
begin
DM.ADOConnection1.Connected:=true;
DM.AQ_User.Active:=true;
Application.CreateForm(TLoginFrm,LoginFrm);
LoginFrm.ShowModal;
if Login=true then
begin
StatusBar1.Panels[1].Text:='登錄用戶:'+LoginFrm.User;
M_Login.Enabled:=false;
M_Loginout.Enabled:=true;
M_Register.Enabled:=true;
M_PassModify.Enabled:=true;
M_ReleModify.Enabled:=true;
M_Scheme.Enabled:=true;
M_Materiel_Need.Enabled:=true;
M_Materiel_Stock.Enabled:=true;
TB_Scheme.Enabled:=true;
TB_Masterl_Need.Enabled:=true;
TB_Materiel_Stock.Enabled:=true;
end;
end;
procedure TMainFrm.M_HelpClick(Sender: TObject);
begin
Application.CreateForm(TAboutBox,AboutBox);
AboutBox.Show;
try
AboutBox:=TAboutBox.Create(Application);
AboutBox.ShowModal;
Except
on e:exception do
Application.ShowException(e);
end;
end;
procedure TMainFrm.FormCreate(Sender: TObject);
begin
M_Login.Enabled:=true;
M_Loginout.Enabled:=false;
M_Register.Enabled:=false;
M_PassModify.Enabled:=false;
M_ReleModify.Enabled:=false;
M_Scheme.Enabled:=false;
M_Materiel_Need.Enabled:=false;
M_Materiel_Stock.Enabled:=false;
TB_Scheme.Enabled:=false;
TB_Masterl_Need.Enabled:=false;
TB_Materiel_Stock.Enabled:=false;
StatusBar1.Panels[1].Text:='尚未登錄!請按F2登錄。';
end;
procedure TMainFrm.M_QuitClick(Sender: TObject);
begin
MainFrm.Close;
end;
procedure TMainFrm.M_LoginoutClick(Sender: TObject);
begin
M_Login.Enabled:=true;
M_Loginout.Enabled:=false;
M_Register.Enabled:=false;
M_PassModify.Enabled:=false;
M_ReleModify.Enabled:=false;
M_Scheme.Enabled:=false;
M_Materiel_Need.Enabled:=false;
M_Materiel_Stock.Enabled:=false;
TB_Scheme.Enabled:=false;
TB_Masterl_Need.Enabled:=false;
TB_Materiel_Stock.Enabled:=false;
Login:=false;
DM.ADOConnection1.Connected:=false;
DM.AQ_User.Active:=false;
StatusBar1.Panels[1].Text:='尚未登錄!請按F2登錄。';
end;
procedure TMainFrm.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[2].text:=DateTimeToStr(Now); //系統時間
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -