// DlgUserCmd.cpp : 구현 파일입니다.
|
//
|
|
#include "stdafx.h"
|
#include "ReviewSystem.h"
|
#include "DlgUserCmd.h"
|
#include "afxdialogex.h"
|
|
|
// CDlgUserCmd 대화 상자입니다.
|
|
IMPLEMENT_DYNAMIC(CDlgUserCmd, CDialog)
|
|
CDlgUserCmd::CDlgUserCmd(CWnd* pParent /*=NULL*/)
|
: CDialog(CDlgUserCmd::IDD, pParent)
|
{
|
m_pDUC2P = NULL;
|
}
|
|
CDlgUserCmd::~CDlgUserCmd()
|
{
|
|
}
|
|
void CDlgUserCmd::DoDataExchange(CDataExchange* pDX)
|
{
|
DDX_Control(pDX, IDC_STATIC_SIGNAL_SIGNAL_LOADING, m_ctrlSignalLoading);
|
DDX_Control(pDX, IDC_STATIC_SIGNAL_SIGNAL_REVIEW_START, m_ctrlSignalReviewStart);
|
DDX_Control(pDX, IDC_STATIC_SIGNAL_SIGNAL_REVIEW_END, m_ctrlSignalReviewEnd);
|
DDX_Control(pDX, IDC_STATIC_SIGNAL_SIGNAL_UNLOADING, m_ctrlSignalUnloading);
|
DDX_Control(pDX, IDC_STATIC_DATE_TIME, m_ctrlDateTime);
|
CDialog::DoDataExchange(pDX);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CDlgUserCmd, CDialog)
|
ON_BN_CLICKED(IDOK, &CDlgUserCmd::OnBnClickedOk)
|
ON_BN_CLICKED(IDCANCEL, &CDlgUserCmd::OnBnClickedCancel)
|
ON_WM_TIMER()
|
ON_STN_DBLCLK(IDC_STATIC_SIGNAL_SIGNAL_LOADING, &CDlgUserCmd::OnStnDblclickStaticPlcSignalLoading)
|
ON_STN_DBLCLK(IDC_STATIC_SIGNAL_SIGNAL_REVIEW_START, &CDlgUserCmd::OnStnDblclickStaticPlcSignalReviewStart)
|
ON_STN_DBLCLK(IDC_STATIC_SIGNAL_SIGNAL_REVIEW_END, &CDlgUserCmd::OnStnDblclickStaticPlcSignalReviewEnd)
|
ON_STN_DBLCLK(IDC_STATIC_SIGNAL_SIGNAL_UNLOADING, &CDlgUserCmd::OnStnDblclickStaticPlcSignalUnloading)
|
ON_MESSAGE(UM_PROCESS_STATUS_UPDATE, &CDlgUserCmd::OnProcessStatusUpdate)
|
END_MESSAGE_MAP()
|
|
|
// CDlgUserCmd 메시지 처리기입니다.
|
|
|
void CDlgUserCmd::OnBnClickedOk()
|
{
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
//CDialog::OnOK();
|
}
|
|
|
void CDlgUserCmd::OnBnClickedCancel()
|
{
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
//CDialog::OnCancel();
|
}
|
|
|
BOOL CDlgUserCmd::OnInitDialog()
|
{
|
CDialog::OnInitDialog();
|
|
// TODO: 여기에 추가 초기화 작업을 추가합니다.
|
CString strFont = _T("MS Sans Serif");
|
m_ctrlSignalLoading.SetFontStatic(strFont, 9, RGB(240,240,240), FS_CENTER | FS_BOLD);
|
m_ctrlSignalLoading.SetBackground(RGB(10,10,10));
|
m_ctrlSignalLoading.SetWindowText(_T("LOADING"));
|
|
m_ctrlSignalReviewStart.SetFontStatic(strFont, 9, RGB(240,240,240), FS_CENTER | FS_BOLD);
|
m_ctrlSignalReviewStart.SetBackground(RGB(10,10,10));
|
m_ctrlSignalReviewStart.SetWindowText(_T("REVIEW START"));
|
|
m_ctrlSignalReviewEnd.SetFontStatic(strFont, 9, RGB(240,240,240), FS_CENTER | FS_BOLD);
|
m_ctrlSignalReviewEnd.SetBackground(RGB(10,10,10));
|
m_ctrlSignalReviewEnd.SetWindowText(_T("REVIEW END"));
|
|
m_ctrlSignalUnloading.SetFontStatic(strFont, 9, RGB(240,240,240), FS_CENTER | FS_BOLD);
|
m_ctrlSignalUnloading.SetBackground(RGB(10,10,10));
|
m_ctrlSignalUnloading.SetWindowText(_T("UNLOADING"));
|
|
m_ctrlDateTime.SetFontStatic(_T("Arial"), 20, RGB(255,255,0), FS_BOLD | FS_ANTIALIAS | FS_CENTER);
|
m_ctrlDateTime.SetBackground(RGB(0,0,0));
|
m_ctrlDateTime.SetWindowText(_T(""));
|
|
SetTimer(100, 1000, NULL);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
|
}
|
|
|
void CDlgUserCmd::OnTimer(UINT_PTR nIDEvent)
|
{
|
CTime time =CTime::GetCurrentTime();
|
|
CString strTime = _T("");
|
strTime.Format(_T("%04d-%02d-%02d %02d:%02d:%02d"), time.GetYear(), time.GetMonth(), time.GetDay(), time.GetHour(), time.GetMinute(), time.GetSecond());
|
m_ctrlDateTime.SetWindowText(strTime);
|
|
CDialog::OnTimer(nIDEvent);
|
}
|
|
void CDlgUserCmd::UpdateProcessStatus(int nLineType, int nMachineType, int nProcessStatus, const CGlassResult* pGlassResult)
|
{
|
if (pGlassResult==NULL) return;
|
|
this->PostMessage(UM_PROCESS_STATUS_UPDATE, (WPARAM)nProcessStatus);
|
}
|
|
LRESULT CDlgUserCmd::OnProcessStatusUpdate(WPARAM wParam, LPARAM lParam)
|
{
|
int nProcessStatus = (int)wParam;
|
|
switch(nProcessStatus)
|
{
|
case PCControlSignal_0:
|
m_ctrlSignalLoading.SetBackground(RGB(0,200,0));
|
m_ctrlSignalReviewStart.SetBackground(RGB(10,10,10));
|
m_ctrlSignalReviewEnd.SetBackground(RGB(10,10,10));
|
m_ctrlSignalUnloading.SetBackground(RGB(10,10,10));
|
break;
|
|
case PCControlSignal_1:
|
m_ctrlSignalReviewStart.SetBackground(RGB(0,200,0));
|
|
m_ctrlSignalLoading.SetBackground(RGB(10,10,10));
|
m_ctrlSignalReviewEnd.SetBackground(RGB(10,10,10));
|
m_ctrlSignalUnloading.SetBackground(RGB(10,10,10));
|
break;
|
|
case PCControlSignal_2:
|
m_ctrlSignalReviewEnd.SetBackground(RGB(0,200,0));
|
|
m_ctrlSignalLoading.SetBackground(RGB(10,10,10));
|
m_ctrlSignalReviewStart.SetBackground(RGB(10,10,10));
|
m_ctrlSignalUnloading.SetBackground(RGB(10,10,10));
|
break;
|
|
case PCControlSignal_3:
|
m_ctrlSignalUnloading.SetBackground(RGB(0,200,0));
|
|
m_ctrlSignalLoading.SetBackground(RGB(10,10,10));
|
m_ctrlSignalReviewStart.SetBackground(RGB(10,10,10));
|
m_ctrlSignalReviewEnd.SetBackground(RGB(10,10,10));
|
break;
|
}
|
|
m_ctrlSignalLoading.Invalidate(TRUE);
|
m_ctrlSignalReviewStart.Invalidate(TRUE);
|
m_ctrlSignalReviewEnd.Invalidate(TRUE);
|
m_ctrlSignalUnloading.Invalidate(TRUE);
|
|
return 0;
|
}
|
|
void CDlgUserCmd::OnStnDblclickStaticPlcSignalLoading()
|
{
|
if (m_pDUC2P)
|
{
|
m_pDUC2P->DUC2P_SetUserCommand(PCControlSignal_4);
|
}
|
}
|
|
void CDlgUserCmd::OnStnDblclickStaticPlcSignalReviewStart()
|
{
|
if (m_pDUC2P)
|
{
|
m_pDUC2P->DUC2P_SetUserCommand(PCControlSignal_5);
|
}
|
}
|
|
|
void CDlgUserCmd::OnStnDblclickStaticPlcSignalReviewEnd()
|
{
|
if (m_pDUC2P)
|
{
|
m_pDUC2P->DUC2P_SetUserCommand(PCControlSignal_6);
|
}
|
}
|
|
void CDlgUserCmd::OnStnDblclickStaticPlcSignalUnloading()
|
{
|
if (m_pDUC2P)
|
{
|
m_pDUC2P->DUC2P_SetUserCommand(PCControlSignal_7);
|
}
|
}
|