// ScanSetDlg.cpp : ʵÏÖÎļþ
|
//
|
|
#include "stdafx.h"
|
#include "BlVisionPro.h"
|
#include "ScanSetDlg.h"
|
#include "afxdialogex.h"
|
#include "VisionRecipe.h"
|
#include "TranformCoordinate.h"
|
|
|
// CScanSetDlg ¶Ô»°¿ò
|
|
IMPLEMENT_DYNAMIC(CScanSetDlg, CDialogEx)
|
|
CScanSetDlg::CScanSetDlg(CWnd* pParent /*=NULL*/)
|
: CDialogEx(IDD_DIALOG_SCAN_SET, pParent)
|
{
|
|
}
|
|
CScanSetDlg::~CScanSetDlg()
|
{
|
}
|
|
void CScanSetDlg::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialogEx::DoDataExchange(pDX);
|
DDX_Control(pDX, IDC_COMBO_STD_POINT_SCAN, m_combStdPoint);
|
DDX_Control(pDX, IDC_COMBO_POINT1_SCAN, m_combScanPoint1);
|
DDX_Control(pDX, IDC_COMBO_POINT2_SCAN, m_combScanPoint2);
|
DDX_Control(pDX, IDC_COMBO_POINT3_SCAN, m_combScanPoint3);
|
DDX_Control(pDX, IDC_COMBO_POINT4_SCAN, m_combScanPoint4);
|
DDX_Control(pDX, IDC_COMBO_LENTH_SCAN, m_combLengthScan);
|
DDX_Control(pDX, IDC_COMBO_SHORT_SCAN, m_combShortScan);
|
DDX_Control(pDX, IDC_COMBO1, m_combScanEdge);
|
}
|
|
|
BEGIN_MESSAGE_MAP(CScanSetDlg, CDialogEx)
|
ON_BN_CLICKED(IDC_BUTTON_CANCEL_SCAN, &CScanSetDlg::OnBnClickedButtonCancelScan)
|
ON_BN_CLICKED(IDC_BUTTON_SAVE_SCAN, &CScanSetDlg::OnBnClickedButtonSaveScan)
|
ON_WM_CLOSE()
|
ON_BN_CLICKED(IDC_BUTTON_TEST_SCAN, &CScanSetDlg::OnBnClickedButtonTestScan)
|
END_MESSAGE_MAP()
|
|
|
// CScanSetDlg ÏûÏ¢´¦Àí³ÌÐò
|
|
|
BOOL CScanSetDlg::PreTranslateMessage(MSG* pMsg)
|
{
|
// TODO: ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà
|
if (pMsg->message == WM_KEYDOWN) {
|
if ((pMsg->wParam == VK_RETURN) || (pMsg->wParam == VK_ESCAPE)) {
|
return TRUE;
|
}
|
}
|
|
return CDialogEx::PreTranslateMessage(pMsg);
|
}
|
|
|
BOOL CScanSetDlg::OnInitDialog()
|
{
|
CDialogEx::OnInitDialog();
|
|
// TODO: ÔÚ´ËÌí¼Ó¶îÍâµÄ³õʼ»¯
|
InitWindowUi();
|
|
SetParamsUi();
|
|
this->SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// Òì³£: OCX ÊôÐÔÒ³Ó¦·µ»Ø FALSE
|
}
|
|
void CScanSetDlg::InitWindowUi(void) {
|
/* code */
|
m_combStdPoint.InsertString(0, _T("C1"));
|
m_combStdPoint.InsertString(1, _T("C2"));
|
m_combStdPoint.InsertString(2, _T("C3"));
|
m_combStdPoint.InsertString(3, _T("C4"));
|
|
m_combScanPoint1.InsertString(0, _T("C1"));
|
m_combScanPoint1.InsertString(1, _T("C2"));
|
m_combScanPoint1.InsertString(2, _T("C3"));
|
m_combScanPoint1.InsertString(3, _T("C4"));
|
|
m_combScanPoint2.InsertString(0, _T("C1"));
|
m_combScanPoint2.InsertString(1, _T("C2"));
|
m_combScanPoint2.InsertString(2, _T("C3"));
|
m_combScanPoint2.InsertString(3, _T("C4"));
|
|
m_combScanPoint3.InsertString(0, _T("C1"));
|
m_combScanPoint3.InsertString(1, _T("C2"));
|
m_combScanPoint3.InsertString(2, _T("C3"));
|
m_combScanPoint3.InsertString(3, _T("C4"));
|
|
m_combScanPoint4.InsertString(0, _T("C1"));
|
m_combScanPoint4.InsertString(1, _T("C2"));
|
m_combScanPoint4.InsertString(2, _T("C3"));
|
m_combScanPoint4.InsertString(3, _T("C4"));
|
|
m_combLengthScan.InsertString(0, _T("Move Left"));
|
m_combLengthScan.InsertString(1, _T("Move Right"));
|
|
m_combShortScan.InsertString(0, _T("Move Down"));
|
m_combShortScan.InsertString(1, _T("Move Up"));
|
|
m_combScanEdge.InsertString(0, _T("TopA"));
|
m_combScanEdge.InsertString(1, _T("TopB"));
|
m_combScanEdge.InsertString(2, _T("TopC"));
|
m_combScanEdge.InsertString(3, _T("TopD"));
|
m_combScanEdge.InsertString(4, _T("BotA"));
|
m_combScanEdge.InsertString(5, _T("BotB"));
|
m_combScanEdge.InsertString(6, _T("BotC"));
|
m_combScanEdge.InsertString(7, _T("BotD"));
|
m_combScanEdge.SetCurSel(1);
|
SetDlgItemInt(IDC_EDIT_POSX_SCAN, 100);
|
SetDlgItemInt(IDC_EDIT_POSY_SCAN, 50);
|
}
|
|
void CScanSetDlg::SetParamsUi(void) {
|
/* code */
|
ScanSetting inf = CVisionRecipe::getInstance()->getScanSetting();
|
|
m_combStdPoint.SetCurSel(inf.nStdIndex);
|
m_combScanPoint1.SetCurSel(inf.nIndex0);
|
m_combScanPoint2.SetCurSel(inf.nIndex1);
|
m_combScanPoint3.SetCurSel(inf.nIndex2);
|
m_combScanPoint4.SetCurSel(inf.nIndex3);
|
m_combLengthScan.SetCurSel(inf.nLengthScan);
|
m_combShortScan.SetCurSel(inf.nShortScan);
|
SetDlgItemInt(IDC_EDIT_LENGTH_PRODUCT, inf.lengthSize);
|
SetDlgItemInt(IDC_EDIT_SHORT_PRODUCT, inf.shortSize);
|
}
|
|
|
void CScanSetDlg::OnBnClickedButtonCancelScan()
|
{
|
// TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë
|
SetParamsUi();
|
}
|
|
void CScanSetDlg::SaveParams(void) {
|
/* code */
|
ScanSetting inf;
|
inf.nStdIndex = m_combStdPoint.GetCurSel();
|
inf.nIndex0 = m_combScanPoint1.GetCurSel();
|
inf.nIndex1 = m_combScanPoint2.GetCurSel();
|
inf.nIndex2 = m_combScanPoint3.GetCurSel();
|
inf.nIndex3 = m_combScanPoint4.GetCurSel();
|
inf.nLengthScan = m_combLengthScan.GetCurSel();
|
inf.nShortScan = m_combShortScan.GetCurSel();
|
inf.lengthSize = GetDlgItemInt(IDC_EDIT_LENGTH_PRODUCT);
|
inf.shortSize = GetDlgItemInt(IDC_EDIT_SHORT_PRODUCT);
|
CVisionRecipe::getInstance()->setScanSetting(inf);
|
}
|
|
|
void CScanSetDlg::OnBnClickedButtonSaveScan()
|
{
|
// TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë
|
SaveParams();
|
|
CVisionRecipe::getInstance()->saveVisionConfig();
|
}
|
|
|
void CScanSetDlg::OnClose()
|
{
|
// TODO: ÔÚ´ËÌí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂëºÍ/»òµ÷ÓÃĬÈÏÖµ
|
|
CDialogEx::OnClose();
|
}
|
|
|
void CScanSetDlg::OnBnClickedButtonTestScan()
|
{
|
// TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë
|
SaveParams();
|
Point2I pose;
|
pose.x = GetDlgItemInt(IDC_EDIT_POSX_SCAN);
|
pose.y = GetDlgItemInt(IDC_EDIT_POSY_SCAN);
|
CTranformCoordinate tf;
|
Point2I result = tf.tfPose((DimensionDir)m_combScanEdge.GetCurSel(), pose);
|
Log_GetDebug()->TraceInfo("Result %d: (%d, %d), %d", m_combScanEdge.GetCurSel(), result.x, result.y, __LINE__);
|
|
}
|