📄 main.pas
字号:
StatusBar.Panels[0].Text:=Application.Hint;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
ReceiveCount:=0;
AppInitialize;
Caption:=AppInfo.Title;
FClientInstance := MakeObjectInstance(ClientWndProc);
FPrevClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC));
SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FClientInstance));
Application.OnHint := ShowHint;
Application.OnIdle := ShowStatus;
ControlBarMenu.Visible:=AppInfo.ToolStatus[1]='1';
CoolBarStatus.Visible:=AppInfo.ToolStatus[2]='1';
mnuControlBarMenu.Checked:=ControlBarMenu.Visible;
mnuCoolBarStatus.Checked:=CoolBarStatus.Visible;
ExitNo:=0;
Show;
if GetUserRegister() then
begin
UserInfo:=GetUserName(AppInfo,UserInfo);
end
else
begin
UserInfo.UserName:='';
UserInfo.UserLevel:=0;
end;
if UserInfo.UserName='' then
begin
ExitNo:=13;
Close;
end
else
begin
// MenuControl(UserInfo);
if FileExists(AppInfo.Path+'Help\PKXT.hlp') then
Application.HelpFile :=AppInfo.Path+'Help\PKXT.hlp'
else
Application.MessageBox('PKXT.HLP 帮助文件丢失','警告信息',0);
// Screen.OnActiveFormChange := UpdateMenuItems;
// Screen.OnActiveControlChange := ActiveControlChangeHandle;
// frmMain.Caption:=frmMain.Caption+'--'+GlobalSystem[UserUnitName];
// initMonlist;
end;
RWSyn:=TMultiReadExclusiveWriteSynchronizer.Create;
end;
Procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if ExitNo<>13 Then
begin
if not (MDIChildCount=0) then
begin
MessageDLG(SConfirmDataNotLost+NewLine+SCloseAllWindow,mtWarning,[mbOK],1);
ExitNo:=0;
end
else
ExitNo:=ExitSystem(AppInfo);
case ExitNo of
1:
begin
CanClose:=True;
end;
2:
ExitWindowsEx(EWX_POWEROFF,1);
3:
ExitWindowsEx(EWX_REBOOT,1);
4:
ExitWindowsEx(EWX_SHUTDOWN,1);
5:
ExitWindowsEx(EWX_LOGOFF,1);
else
CanClose:=False;
end;
end
else
CanClose:=True;
end;
Procedure TfrmMain.ShowStatus(Sender: TObject;var Done:Boolean);
begin
StatusBar.Panels[1].Text:=UserInfo.UserName;
if not((GetKeyState(VK_CAPITAL) and 1)=1) then
StatusBar.Panels[2].Text:='Caps'
else
StatusBar.Panels[2].Text:='CapsLock';
if not((GetKeyState(VK_NUMLOCK) and 1)=1) then
StatusBar.Panels[3].Text:='NUM'
else
StatusBar.Panels[3].Text:='NUMLock';
if not((GetKeyState(VK_INSERT) and 1)=1) then
StatusBar.Panels[4].Text:='Insert'
else
StatusBar.Panels[4].Text:='OverWrite';
StatusBar.Panels[5].Text:=DateToStr(Date);
if FileExists(AppInfo.BMPFileName)and(AppInfo.isBMPChanged) then begin
try
imgClient.Picture.LoadFromFile(AppInfo.BMPFileName);
finally
AppInfo.isBMPChanged:=False;
Height:=Height+1;
Height:=Height-1;
RePaint;
end;
end;
ActionSendCommand.Enabled:=not isFormExist(frmMain,'frmSendCommand');
ActionControlPanel.Enabled:=not isFormExist(frmMain,'frmSendCommand');
ActionRealTimeChart.Enabled:=not isFormExist(frmMain,'frmRealChart');
ActionCommParameter.Enabled:=(isFormExist(frmMain,'frmSendCommand'));
ActionHistory.Enabled:=((GProjectInfo.HourseID<>'') and (not isFormExist(frmMain,'frmHirstory'))) ;
ActionGravity.Enabled:=(GProjectInfo.HourseID<>'');
end;
procedure TfrmMain.ActionAboutSystemExecute(Sender: TObject);
begin
About(AppInfo);
end;
procedure TfrmMain.ActionExitSystemExecute(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.ActionUserManagerExecute(Sender: TObject);
begin
UserMaintaince(AppInfo,UserInfo);
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ExitNo=13 then
begin
SendMessage(Handle,WM_DESTROY,0,0);
Action:=caFree;
Application.Terminate;
end;
Action:=caFree;
end;
procedure TfrmMain.mnuChangePasswordClick(Sender: TObject);
begin
UserInfo:=GetNewPassword(AppInfo,UserInfo);
end;
procedure TfrmMain.FormDestroy(Sender: TObject);
begin
AppDestroy(AppInfo);
end;
procedure TfrmMain.ActionPauseJobExecute(Sender: TObject);
begin
SetWorkPause(AppInfo,UserInfo);
end;
procedure TfrmMain.mnuControlBarMenuClick(Sender: TObject);
begin
with Sender as TMenuItem do
begin
Checked := not Checked;
If Checked then
AppInfo.ToolStatus[1]:='1'
else
AppInfo.ToolStatus[1]:='0';
ControlBarMenu.Visible := Checked;
end;
end;
procedure TfrmMain.mnuCoolBarStatusClick(Sender: TObject);
begin
with Sender as TMenuItem do
begin
Checked := not Checked;
If Checked then
AppInfo.ToolStatus[2]:='1'
else
AppInfo.ToolStatus[2]:='0';
CoolBarStatus.Visible := Checked;
end;
end;
procedure TfrmMain.ActionControlPanelExecute(Sender: TObject);
begin
try
frmControlPanel:=TfrmControlPanel.Create(Application);
with frmControlPanel do
begin
Width:=450;
Height:=300;
ShowModal;
end;
finally
frmControlPanel.Free;
end;
end;
procedure TfrmMain.ActionSendCommandExecute(Sender: TObject);
begin
Application.CreateForm(TfrmSendCommand,frmSendCommand);
frmSendCommand.Show;
end;
procedure TfrmMain.ActionRealTimeChartExecute(Sender: TObject);
begin
Application.CreateForm(TfrmRealChart, frmRealChart);
frmRealChart.Show;
end;
procedure TfrmMain.ActionHistoryExecute(Sender: TObject);
begin
Application.CreateForm(TfrmHistory, frmHistory);
frmHistory.Show;
end;
procedure TfrmMain.ActionCommParameterExecute(Sender: TObject);
begin
Application.CreateForm(TfrmCommParameter, frmCommParameter);
frmCommParameter.ShowModal;
end;
procedure TfrmMain.ActionGravityExecute(Sender: TObject);
begin
Application.CreateForm(TfrmStandardGravity, frmStandardGravity);
frmStandardGravity.ShowModal;
end;
procedure TfrmMain.ActionPrintExecute(Sender: TObject);
begin
Application.CreateForm(TfrmDataAnalysis, frmDataAnalysis);
frmDataAnalysis.Show;
end;
procedure TfrmMain.ActionMultiAnalysisExecute(Sender: TObject);
begin
Application.CreateForm(TfrmDataDisp, frmDataDisp);
frmDataDisp.Show;
end;
procedure TfrmMain.ActionViewLogExecute(Sender: TObject);
begin
Application.CreateForm(TfrmLogInfo, frmLogInfo);
frmLogInfo.ShowModal;
end;
procedure TfrmMain.ActionHelpTopicExecute(Sender: TObject);
begin
if FileExists(AppInfo.Path+'Help\PKXT.HLP') then
begin
try
Application.HelpCommand(HELP_INDEX,0);
except
Application.MessageBox('PKXT.HLP 帮助文件损坏','警告信息',0);
end;
end
else
begin
Application.MessageBox('PKXT.HLP 帮助文件丢失','警告信息',0);
end;
end;
procedure TfrmMain.ActionHelpIndexExecute(Sender: TObject);
begin
if FileExists(AppInfo.Path+'Help\PKXT.HLP') then
begin
try
Application.HelpCommand(HELP_FINDER,0);
except
Application.MessageBox('PKXT.HLP 帮助文件损坏','警告信息',0);
end;
end
else
begin
Application.MessageBox('PKXT.HLP 帮助文件丢失','警告信息',0);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -