📄 fladsview.cpp
字号:
// FLADSView.cpp : implementation of the CFLADSView class
//
#include "stdafx.h"
#include "FLADS.h"
#include "MainFrm.h"
#include "FLADSDoc.h"
#include "FLADSView.h"
#include "ParaWndDlg.h"
#include "WarnWndDlg.h"
#include "TestWndDlg.h"
#include "SetWndDlg.h"
#include "InfoWndDlg.h"
#include "CurveWndDlg.h"
#include "ConWndDlg.h"
#include "LogonDlg.h"
#include "PlcWndDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFLADSView
IMPLEMENT_DYNCREATE(CFLADSView, CFormView)
BEGIN_MESSAGE_MAP(CFLADSView, CFormView)
//{{AFX_MSG_MAP(CFLADSView)
ON_COMMAND(ID_SET_WINDOWS, OnSetWindows)
ON_COMMAND(IDC_CONTROL_WINDOWS, OnControlWindows)
ON_COMMAND(ID_CALLMAINMENU, OnCallmainmenu)
ON_COMMAND(ID_PARA_WINDOWS, OnParaWindows)
ON_COMMAND(ID_TEST_WINDOWS, OnTestWindows)
ON_COMMAND(ID_INFO_WINDOWS, OnInfoWindows)
ON_COMMAND(ID_WARN_WINDOWS, OnWarnWindows)
ON_COMMAND(IDC_CURVE_WINDOWS, OnCurveWindows)
ON_COMMAND(ID_STOP_ALERT, OnStopAlert)
ON_COMMAND(ID_CLEARFLASHCOUNT, OnClearflashcount)
ON_WM_DESTROY()
ON_WM_CREATE()
ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
ON_COMMAND(ID_OPEN_FLOPPY, OnOpenFloppy)
ON_COMMAND(ID_FILE_SAVE_IN, OnFileSaveIn)
ON_COMMAND(ID_FILE_NEW, OnFileNew)
ON_COMMAND(ID_FILE_SAVE, OnFileSave)
ON_COMMAND(ID_ALLCLEAR, OnAllclear)
ON_COMMAND(ID_DNPAGE, OnDnpage)
ON_COMMAND(ID_UPPAGE, OnUppage)
ON_COMMAND(ID_START_SAMPLE, OnStartSample)
ON_COMMAND(ID_STOP_SAMPLE, OnStopSample)
ON_COMMAND(ID_LEVEL, OnLevel)
ON_COMMAND(ID_VERITY, OnVerity)
ON_COMMAND(ID_ESC, OnEsc)
ON_COMMAND(ID_LOGON_SET, OnLogonSet)
ON_COMMAND(ID_LOGON_PARA, OnLogonPara)
ON_COMMAND(ID_LOGON_EXIT, OnLogonExit)
ON_COMMAND(ID_PLC, OnPlc)
ON_MESSAGE(WM_FLASHPLC,OnFlashPlc)
//}}AFX_MSG_MAP
ON_UPDATE_COMMAND_UI(ID_INDICATOR_POSITION, OnUpdateIndicatorPosition)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_TYPE,OnUpdateIndicatorType)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_TIMER,OnUpdateIndicatorTimer)
ON_UPDATE_COMMAND_UI(ID_INDICATOR_TEL,OnUpdateIndicatorTel)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFLADSView construction/destruction
extern CFLADSApp theApp;
CFLADSView::CFLADSView()
: CFormView((LPCTSTR)NULL)
{
//{{AFX_DATA_INIT(CFLADSView)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// TODO: add construction code here
}
CFLADSView::~CFLADSView()
{
}
void CFLADSView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFLADSView)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BOOL CFLADSView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CFormView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CFLADSView diagnostics
#ifdef _DEBUG
void CFLADSView::AssertValid() const
{
CFormView::AssertValid();
}
void CFLADSView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CFLADSDoc* CFLADSView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CFLADSDoc)));
return (CFLADSDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CFLADSView message handlers
void CFLADSView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
pDlg->ShowWindow(SW_SHOW);
SetScaleToFitSize(CSize(1, 1));
}
BOOL CFLADSView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
ASSERT(pParentWnd != NULL);
ASSERT_KINDOF(CFrameWnd, pParentWnd);
BOOL bl;
if (!CWnd::Create(lpszClassName, lpszWindowName, dwStyle | WS_CLIPCHILDREN,
rect, pParentWnd, nID, pContext))
{
return FALSE;
}
pParentWnd->ShowWindow(SW_SHOWMAXIMIZED);
pDlg = new CConWndDlg;
bl=pDlg->Create(IDD_CON_FORM,this);
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->pFladsView=this;
return bl;
// return CFormView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
}
void CFLADSView::OnSetWindows()
{//设置窗
// TODO: Add your command handler code here
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_SETFRAME);
m_pMainWnd->pFladsView=this;
if(theApp.m_UserPower.KeepTime>0)
{
if( theApp.m_UserPower.Operators[theApp.m_UserPower.CurOperatorid].set_enable!=0)
{
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CSetWndDlg;
pDlg->Create(IDD_SET_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
return;
}else
{
AfxMessageBox(_T("No Power!"));
}
}else
{//请登录
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->SendMessage(WM_COMMAND,IDC_LOGON);
}
}
void CFLADSView::OnControlWindows()
{//主控窗
// TODO: Add your command handler code here
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_MAINFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CConWndDlg;
pDlg->Create(IDD_CON_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
}
void CFLADSView::OnCallmainmenu()
{
// TODO: Add your command handler code here
OnControlWindows();
}
void CFLADSView::OnParaWindows()
{//参数窗
// TODO: Add your command handler code here
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
if(theApp.m_UserPower.KeepTime>0)
{
if( theApp.m_UserPower.Operators[theApp.m_UserPower.CurOperatorid].para_enable!=0)
{
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_PARAFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CParaWndDlg;
pDlg->Create(IDD_PARA_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
return;
}else
{
AfxMessageBox(_T("No Power!"));
}
}else
{//请登录
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->SendMessage(WM_COMMAND,IDC_LOGON);
}
/* if(theApp.pass_para==2494923)
{
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_PARAFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CParaWndDlg;
pDlg->Create(IDD_PARA_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
return;
}else
{
CLogonDlg dlg;
theApp.logontype=1;
dlg.DoModal();
}
if(theApp.pass_para==2494923)
{
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_PARAFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CParaWndDlg;
pDlg->Create(IDD_PARA_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
}
*/
}
void CFLADSView::OnTestWindows()
{//测试窗
// TODO: Add your command handler code here
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_TESTFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CTestWndDlg;
pDlg->Create(IDD_TEST_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
}
void CFLADSView::OnInfoWindows()
{//信息窗
// TODO: Add your command handler code here
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_INFOFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CInfoWndDlg;
pDlg->Create(IDD_INFO_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
}
void CFLADSView::OnWarnWindows()
{//告警窗
// TODO: Add your command handler code here
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_WARNFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CWarnWndDlg;
pDlg->Create(IDD_WARN_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
}
void CFLADSView::OnCurveWindows()
{//曲线窗
// TODO: Add your command handler code here
CMainFrame* m_pMainWnd=(CMainFrame*)AfxGetMainWnd();
m_pMainWnd->m_wndToolBar.LoadToolBar(IDR_CURVEFRAME);
pDlg->DestroyWindow();
if(pDlg!=NULL) delete pDlg;
pDlg = new CCurveWndDlg;
pDlg->Create(IDD_CURVE_FORM,this);
pDlg->ShowWindow(SW_SHOWMAXIMIZED);
}
void CFLADSView::OnStopAlert()
{//停止报警
// TODO: Add your command handler code here
}
void CFLADSView::OnClearflashcount()
{//复位
// TODO: Add your command handler code here
int i,j;
double dx,dy,dt;
theApp.ResetRecord();
pDlg->PostMessage(WM_TIMER);
theApp.SETRSCASE=0x08;
theApp.Red_Light_Type=0x00;
for(i=0;i<5;i++)
{
theApp.WeekRunFlag[theApp.sel_week][i]=0;
theApp.WeekStopFlag[theApp.sel_week][i]=0;
}
theApp.reset_mulse=0xff;
theApp.reset_count=0;
theApp.yxtask.BitSetChar(theApp.yxtask.krbuf,126);
theApp.YKOUTPUT(YK_RED_LED,YKOFF);
/* for(i=0;i<5;i++)
{
if(theApp.WeekSetPM[theApp.sel_week][i]!=0)
{
dt=(double)(theApp.Hour*60+theApp.Minute);
dx=theApp.WeekSetON[theApp.sel_week][i];//开机
dy=theApp.WeekSetOF[theApp.sel_week][i];//关机
if((dx<=dt)&&(dt<dy))
{//开机
theApp.WeekRunFlag[theApp.sel_week][i]=0xff;
theApp.WeekStopFlag[theApp.sel_week][i]=0;
}else
{//关机
if(theApp.WeekStopFlag[theApp.sel_week][i]==0)
{
theApp.WeekStopFlag[theApp.sel_week][i]=0xff;
}
}
}
}
*/
}
void CFLADSView::OnDestroy()
{
CFormView::OnDestroy();
// TODO: Add your message handler code here
}
int CFLADSView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFormView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
return 0;
}
void CFLADSView::OnUpdateIndicatorPosition(CCmdUI* pCmdUI)
{
GetCursorPos(&m_ptCursorPos);
CString stat;
stat.Format(_T("Ln %03d, Col %03d"), m_ptCursorPos.y + 1, m_ptCursorPos.x + 1);
pCmdUI->SetText(stat);
}
void CFLADSView::OnUpdateIndicatorType(CCmdUI* pCmdUI)
{
CString stat;
switch(theApp.ControlMode)
{
case MainControl_Window:stat=_T("ConWnd");
break;
case Set_Window: stat=_T("SetWnd");
break;
case Para_Window: stat=_T("ParaWnd");
break;
case Test_Window: stat=_T("TestWnd");
break;
case Info_Window: stat=_T("InfoWnd");
break;
case Warn_Window: stat=_T("WarnWnd");
break;
case Curve_Window: stat=_T("CurveWnd");
break;
default: stat=_T(" ");
break;
}
pCmdUI->SetText(stat);
}
void CFLADSView::OnUpdateIndicatorTimer(CCmdUI* pCmdUI)
{
CString str,string;
str.Format(_T("%02d"),theApp.Year);
string=str+_T(":");
str.Format(_T("%02d"), theApp.Month);
string=string+str+_T(":");
str.Format(_T("%02d"), theApp.Day);
string=string+str+_T(" ");
str.Format(_T("%02d"), theApp.Hour);
string=string+str+_T(":");
str.Format(_T("%02d"), theApp.Minute);
string=string+str+_T(":");
str.Format(_T("%02d "), theApp.Second);
string=string+str;
switch(theApp.Week)
{
case 0x00:str=_T(" Monday ");
// theApp.WeekPageNo=0;
break;
case 0x01:str=_T("Tuesday ");
// theApp.WeekPageNo=1;
break;
case 0x02:str=_T("Wednesday");
// theApp.WeekPageNo=2;
break;
case 0x03:str=_T("Thursday");
// theApp.WeekPageNo=3;
break;
case 0x04:str=_T(" Friday ");
// theApp.WeekPageNo=4;
break;
case 0x05:str=_T("Saturday");
// theApp.WeekPageNo=5;
break;
case 0x06:str=_T(" Sunday ");
// theApp.WeekPageNo=6;
break;
}
string=string+str;
pCmdUI->SetText(string);
}
void CFLADSView::OnUpdateIndicatorTel(CCmdUI* pCmdUI)
{
CString str;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -