// 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__); }