// DlgReviewPopUp.cpp: 구현 파일
|
//
|
|
//#include "pch.h"
|
#include "stdafx.h"
|
#include "ReviewSystem.h"
|
#include "DlgReviewPopUp.h"
|
#include "DlgReviewCamera.h"
|
#include "CHImageControls/CHImageProcess.h"
|
#include "afxdialogex.h"
|
|
|
// DlgReviewPopUp 대화 상자
|
|
IMPLEMENT_DYNAMIC(DlgReviewPopUp, CDialogEx)
|
|
DlgReviewPopUp::DlgReviewPopUp(CWnd* pParent, int nIndex)
|
: CDialogEx(IDD_DLG_REVIEW_POPUP, pParent), m_pCIV2P(NULL)
|
, m_nCameraNum(0)
|
{
|
m_pCameraView = NULL;
|
m_nModuleIndex = nIndex;
|
isGrab = FALSE;
|
Reset();
|
}
|
|
DlgReviewPopUp::~DlgReviewPopUp()
|
{
|
Reset();
|
}
|
|
void DlgReviewPopUp::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialogEx::DoDataExchange(pDX);
|
DDX_Text(pDX, IDC_EDIT1, m_nCameraNum);
|
DDX_Control(pDX, IDC_BT_CAMERA_GRAB, m_BtCrtlCameraGrab);
|
}
|
|
|
BEGIN_MESSAGE_MAP(DlgReviewPopUp, CDialogEx)
|
ON_WM_TIMER()
|
ON_WM_CLOSE()
|
ON_BN_CLICKED(IDC_BT_CAMERA_GRAB, &DlgReviewPopUp::OnBnClickedBtCameraGrab)
|
END_MESSAGE_MAP()
|
|
|
// DlgReviewPopUp 메시지 처리기
|
//************************************
|
// Method: Reset
|
// FullName: ::Reset
|
// Access: public
|
// Returns: void
|
// Qualifier:
|
//************************************
|
void DlgReviewPopUp::Reset()
|
{
|
if (m_pCameraView) delete m_pCameraView;
|
m_pCameraView = NULL;
|
|
m_pDRC2P = NULL;
|
}
|
|
BOOL DlgReviewPopUp::OnInitDialog()
|
{
|
CDialogEx::OnInitDialog();
|
|
m_pCameraView = new CCameraViewReview(this);
|
//CRect curSize;
|
//curSize.left = 0;
|
//curSize.top = 0;
|
//curSize.right = curSize.left + CAMERA_WINDOW_SIZE_X +5;
|
//curSize.bottom = curSize.top + CAMERA_WINDOW_SIZE_Y - 35;
|
//this->GetWindowRect(curSize);
|
|
|
if (m_pCameraView)
|
{
|
CRect rect;
|
rect.left = 0;
|
rect.top = 0;
|
rect.right = rect.left + CAMERA_WINDOW_SIZE_X;
|
rect.bottom = rect.top + CAMERA_WINDOW_SIZE_Y - 40;
|
m_pCameraView->Create(NULL, NULL, WS_CHILD | WS_VISIBLE | LBS_NOTIFY, rect, this, 0);
|
m_pCameraView->SetViewName(_T("Review Camera"));
|
m_pCameraView->SetDrawMode(1);
|
m_pCameraView->ShowWindow(SW_SHOW);
|
|
m_pCameraView->SetCIV2P(m_pCIV2P);
|
}
|
//수정하기
|
m_SharedImageData.CreateMemory(4);
|
|
SetTimer(444, 100, NULL);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// 예외: OCX 속성 페이지는 FALSE를 반환해야 합니다.
|
}
|
|
|
BOOL DlgReviewPopUp::DestroyWindow()
|
{
|
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
|
// TODO: 여기에 특수화된 코드를 추가 및/또는 기본 클래스를 호출합니다.
|
if (m_pCameraView) m_pCameraView->DestroyWindow();
|
|
m_SharedImageData.DeleteMemory();
|
|
return __super::DestroyWindow();
|
|
}
|
|
|
void DlgReviewPopUp::OnTimer(UINT_PTR nIDEvent)
|
{
|
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
|
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
|
if (nIDEvent == 444 && m_pCameraView)
|
{
|
KillTimer(nIDEvent);
|
|
if (m_SharedImageData.GetUpdated(m_nModuleIndex))
|
{
|
if (m_SharedImageData.LockImageData(m_nModuleIndex))
|
{
|
m_nCameraNum = m_nModuleIndex;
|
UpdateData(FALSE);
|
const SSharedImageInfo* pImageInfo = m_SharedImageData.GetImageInfo(m_nModuleIndex);
|
|
const BYTE* pImageData = m_SharedImageData.GetImageData(m_nModuleIndex);
|
|
if (pImageInfo && pImageData)
|
{
|
if (m_pCameraView->SetOriginImage(pImageInfo->nImageWidth, pImageInfo->nImageHeight, pImageInfo->nImageChannels, pImageInfo->nImageWidthStep, pImageData))
|
{
|
m_pCameraView->SetRulerGab(pImageInfo->dRulerGab);
|
m_pCameraView->SetResolution(pImageInfo->dResolution); // um
|
|
m_pCameraView->Invalidate(TRUE);
|
}
|
}
|
|
m_SharedImageData.UnlockImageData(m_nModuleIndex);
|
}
|
}
|
|
SetTimer(444, 100, NULL);
|
}
|
|
__super::OnTimer(nIDEvent);
|
}
|
|
|
void DlgReviewPopUp::OnClose()
|
{
|
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
|
m_pDRC2P->DC2P_ShowReviewPopUP();
|
CDialogEx::OnClose();
|
}
|
|
|
void DlgReviewPopUp::OnBnClickedBtCameraGrab()
|
{
|
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
|
if (isGrab==FALSE)
|
{
|
isGrab = TRUE;
|
m_BtCrtlCameraGrab.SetWindowText(_T("Stop"));
|
m_pDRC2P->DC2P_SetCameraControl(m_nModuleIndex, CameraControlLive);
|
}
|
else
|
{
|
isGrab = FALSE;
|
m_BtCrtlCameraGrab.SetWindowText(_T("Grab"));
|
m_pDRC2P->DC2P_SetCameraControl(m_nModuleIndex, CameraControlStop);
|
|
}
|
|
}
|