// KeyVisionSetDlg.cpp : ʵÏÖÎļþ // #include "stdafx.h" #include "BlVisionPro.h" #include "KeyVisionSetDlg.h" #include "afxdialogex.h" #include "ScanSetDlg.h" #include "SoftVisionApp.h" #include "FileRecipe.h" #include "VisionBufferPro.h" // CKeyVisionSetDlg ¶Ô»°¿ò IMPLEMENT_DYNAMIC(CKeyVisionSetDlg, CDialogEx) CKeyVisionSetDlg::CKeyVisionSetDlg(CWnd* pParent /*=NULL*/) : CDialogEx(IDD_DIALOG1, pParent) , m_strPassword(_T("")) { } CKeyVisionSetDlg::~CKeyVisionSetDlg() { } void CKeyVisionSetDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_CHECK_VISION_DISPLAY, m_btnVisionDisplay); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE, m_btnVisionUse[0]); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE2, m_btnVisionUse[1]); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE3, m_btnVisionUse[2]); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE4, m_btnVisionUse[3]); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE5, m_btnVisionUse[4]); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE6, m_btnVisionUse[5]); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE7, m_btnVisionUse[6]); DDX_Control(pDX, IDC_CHECK_VISION_TOP_USE8, m_btnVisionUse[7]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE, m_btnLocUse[0]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE2, m_btnLocUse[1]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE3, m_btnLocUse[2]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE4, m_btnLocUse[3]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE5, m_btnLocUse[4]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE6, m_btnLocUse[5]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE7, m_btnLocUse[6]); DDX_Control(pDX, IDC_CHECK_LOC_TOP_USE8, m_btnLocUse[7]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE, m_btnDistUse[0]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE2, m_btnDistUse[1]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE3, m_btnDistUse[2]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE4, m_btnDistUse[3]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE5, m_btnDistUse[4]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE6, m_btnDistUse[5]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE7, m_btnDistUse[6]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE8, m_btnDistUse[7]); DDX_Control(pDX, IDC_CHECK_DIST_TOP_USE9, m_btnDistUse[8]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE, m_btnRcutUse[0]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE2, m_btnRcutUse[1]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE3, m_btnRcutUse[2]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE4, m_btnRcutUse[3]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE5, m_btnRcutUse[4]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE6, m_btnRcutUse[5]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE7, m_btnRcutUse[6]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE8, m_btnRcutUse[7]); DDX_Control(pDX, IDC_CHECK_RCUT_TOP_USE9, m_btnRcutUse[8]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE, m_btnGrindUse[0]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE2, m_btnGrindUse[1]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE3, m_btnGrindUse[2]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE4, m_btnGrindUse[3]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE5, m_btnGrindUse[4]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE6, m_btnGrindUse[5]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE7, m_btnGrindUse[6]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE8, m_btnGrindUse[7]); DDX_Control(pDX, IDC_CHECK_GRIND_TOP_USE9, m_btnGrindUse[8]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE, m_btnCutUse[0]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE2, m_btnCutUse[1]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE3, m_btnCutUse[2]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE4, m_btnCutUse[3]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE5, m_btnCutUse[4]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE6, m_btnCutUse[5]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE7, m_btnCutUse[6]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE8, m_btnCutUse[7]); DDX_Control(pDX, IDC_CHECK_CUT_TOP_USE9, m_btnCutUse[8]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE, m_btnThresUse[0]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE2, m_btnThresUse[1]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE3, m_btnThresUse[2]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE4, m_btnThresUse[3]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE5, m_btnThresUse[4]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE6, m_btnThresUse[5]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE7, m_btnThresUse[6]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE8, m_btnThresUse[7]); DDX_Control(pDX, IDC_CHECK_THRES_TOP_USE9, m_btnThresUse[8]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE, m_btnHoleUse[0]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE2, m_btnHoleUse[1]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE3, m_btnHoleUse[2]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE4, m_btnHoleUse[3]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE5, m_btnHoleUse[4]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE6, m_btnHoleUse[5]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE7, m_btnHoleUse[6]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE8, m_btnHoleUse[7]); DDX_Control(pDX, IDC_CHECK_HOLE_TOP_USE9, m_btnHoleUse[8]); DDX_Control(pDX, IDC_CHECK_DEBUG_TOOL_KEY, m_btnDebugKey[0]); DDX_Control(pDX, IDC_CHECK_DEBUG_KEY, m_btnDebugKey[1]); DDX_Control(pDX, IDC_CHECK_DEBUG_KEY2, m_btnDebugKey[2]); DDX_Control(pDX, IDC_CHECK_DEBUG_KEY3, m_btnDebugKey[3]); DDX_Control(pDX, IDC_CHECK_DEBUG_KEY4, m_btnDebugKey[4]); DDX_Control(pDX, IDC_CHECK_DEBUG_KEY5, m_btnDebugKey[5]); DDX_Control(pDX, IDC_CHECK_DEBUG_KEY6, m_btnDebugKey[6]); DDX_Text(pDX, IDC_EDIT_PWD_KEY, m_strPassword); } BEGIN_MESSAGE_MAP(CKeyVisionSetDlg, CDialogEx) ON_WM_CLOSE() ON_BN_CLICKED(IDC_BUTTON_SAVE_RECIPE, &CKeyVisionSetDlg::OnBnClickedButtonSaveRecipe) ON_BN_CLICKED(IDC_BUTTON_LOAD_RECIPE, &CKeyVisionSetDlg::OnBnClickedButtonLoadRecipe) ON_BN_CLICKED(IDC_BUTTON_PROCESS_KEY, &CKeyVisionSetDlg::OnBnClickedButtonProcessKey) ON_BN_CLICKED(IDC_CHECK_DEBUG_TOOL_KEY, &CKeyVisionSetDlg::OnBnClickedCheckDebugToolKey) ON_BN_CLICKED(IDC_BUTTON_DEBUG_MODE_KEY, &CKeyVisionSetDlg::OnBnClickedButtonDebugModeKey) END_MESSAGE_MAP() // CKeyVisionSetDlg ÏûÏ¢´¦Àí³ÌÐò BOOL CKeyVisionSetDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: ÔÚ´ËÌí¼Ó¶îÍâµÄ³õʼ»¯ LockBtn(TRUE); ShowUiParams(); 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 CKeyVisionSetDlg::ShowUiParams(void) { /* code */ CVisionRecipe* pInstance = CVisionRecipe::getInstance(); if (NULL == pInstance) return; VisionDisplayInfo infDisplay = pInstance->getVisionDisplay(); m_btnVisionDisplay.SetCheck(infDisplay.isVisionDisplay); m_btnDistUse[8].SetCheck(infDisplay.isDistDisplay); m_btnRcutUse[8].SetCheck(infDisplay.isRcutDisplay); m_btnGrindUse[8].SetCheck(infDisplay.isGrindDisplay); m_btnCutUse[8].SetCheck(infDisplay.isCutDisplay); m_btnThresUse[8].SetCheck(infDisplay.isThresDisplay); m_btnHoleUse[8].SetCheck(infDisplay.isHoleDisplay); for (int i = 0; i < 8; i++) { VisionUseInfo inf = pInstance->getVisionUse((DimensionDir)i); m_btnVisionUse[i].SetCheck(inf.isVisionUse); m_btnLocUse[i].SetCheck(inf.isLocUse); m_btnDistUse[i].SetCheck(inf.isDistUse); m_btnRcutUse[i].SetCheck(inf.isRcutUse); m_btnGrindUse[i].SetCheck(inf.isGrindUse); m_btnCutUse[i].SetCheck(inf.isCutUse); m_btnThresUse[i].SetCheck(inf.isThresUse); m_btnHoleUse[i].SetCheck(inf.isHoleUse); } KeyDebugInfo info = CVisionRecipe::getInstance()->getKeyInfo(); m_btnDebugKey[0].SetCheck(info.isDebugTool); m_btnDebugKey[1].SetCheck(info.isInspectKey); m_btnDebugKey[2].SetCheck(info.isLocKey); m_btnDebugKey[3].SetCheck(info.isGrindKey); m_btnDebugKey[4].SetCheck(info.isDistKey); m_btnDebugKey[5].SetCheck(info.isCutLineKey); m_btnDebugKey[6].SetCheck(info.isRcutKey); LockBtn(!m_btnDebugKey[0].GetCheck()); CString strText; CBlSideData* pSide1 = pInstance->getSideData(DimensionDir(0)); if (nullptr != pSide1) { strText.Format(_T("%.4f"), pSide1->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX1, strText); strText.Format(_T("%.4f"), pSide1->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY1, strText); } CBlSideData* pSide2 = pInstance->getSideData(DimensionDir(1)); if (nullptr != pSide2) { strText.Format(_T("%.4f"), pSide2->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX2, strText); strText.Format(_T("%.4f"), pSide2->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY2, strText); } CBlSideData* pSide3 = pInstance->getSideData(DimensionDir(2)); if (nullptr != pSide3) { strText.Format(_T("%.4f"), pSide3->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX3, strText); strText.Format(_T("%.4f"), pSide3->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY3, strText); } CBlSideData* pSide4 = pInstance->getSideData(DimensionDir(3)); if (nullptr != pSide4) { strText.Format(_T("%.4f"), pSide4->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX4, strText); strText.Format(_T("%.4f"), pSide4->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY4, strText); } CBlSideData* pSide5 = pInstance->getSideData(DimensionDir(4)); if (nullptr != pSide5) { strText.Format(_T("%.4f"), pSide5->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX5, strText); strText.Format(_T("%.4f"), pSide5->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY5, strText); } CBlSideData* pSide6 = pInstance->getSideData(DimensionDir(5)); if (nullptr != pSide6) { strText.Format(_T("%.4f"), pSide6->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX6, strText); strText.Format(_T("%.4f"), pSide6->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY6, strText); } CBlSideData* pSide7 = pInstance->getSideData(DimensionDir(6)); if (nullptr != pSide7) { strText.Format(_T("%.4f"), pSide7->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX7, strText); strText.Format(_T("%.4f"), pSide7->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY7, strText); } CBlSideData* pSide8 = pInstance->getSideData(DimensionDir(7)); if (nullptr != pSide8) { strText.Format(_T("%.4f"), pSide8->m_dPixelSizeX); SetDlgItemText(IDC_EDT_MMVSPX8, strText); strText.Format(_T("%.4f"), pSide8->m_dPixelSizeY); SetDlgItemText(IDC_EDT_MMVSPY8, strText); } } void CKeyVisionSetDlg::OnClose() { // TODO: ÔÚ´ËÌí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂëºÍ/»òµ÷ÓÃĬÈÏÖµ SaveUiParam(); CDialogEx::OnClose(); } void CKeyVisionSetDlg::SaveUiParam(void) { /* code */ CVisionRecipe* pInstance = CVisionRecipe::getInstance(); if (NULL == pInstance) return; VisionDisplayInfo infDisplay; infDisplay.isVisionDisplay = (1 == m_btnVisionDisplay.GetCheck()); infDisplay.isDistDisplay = (1 == m_btnDistUse[8].GetCheck()); infDisplay.isRcutDisplay = (1 == m_btnRcutUse[8].GetCheck()); infDisplay.isGrindDisplay = (1 == m_btnGrindUse[8].GetCheck()); infDisplay.isCutDisplay = (1 == m_btnCutUse[8].GetCheck()); infDisplay.isThresDisplay = (1 == m_btnThresUse[8].GetCheck()); infDisplay.isHoleDisplay = (1 == m_btnHoleUse[8].GetCheck()); pInstance->setVisionDisplay(infDisplay); for (int i = 0; i < 8; i++) { VisionUseInfo inf; inf.isVisionUse = (1 == m_btnVisionUse[i].GetCheck()); inf.isLocUse = (1 == m_btnLocUse[i].GetCheck()); inf.isDistUse = (1 == m_btnDistUse[i].GetCheck()); inf.isRcutUse = (1 == m_btnRcutUse[i].GetCheck()); inf.isGrindUse = (1 == m_btnGrindUse[i].GetCheck()); inf.isCutUse = (1 == m_btnCutUse[i].GetCheck()); inf.isThresUse = (1 == m_btnThresUse[i].GetCheck()); inf.isHoleUse = (1 == m_btnHoleUse[i].GetCheck()); pInstance->setVisionUse(inf, (DimensionDir)i); } KeyDebugInfo info = CVisionRecipe::getInstance()->getKeyInfo(); info.isDebugTool = (1 == m_btnDebugKey[0].GetCheck()); info.isInspectKey = (1 == m_btnDebugKey[1].GetCheck()); info.isLocKey = (1 == m_btnDebugKey[2].GetCheck()); info.isGrindKey = (1 == m_btnDebugKey[3].GetCheck()); info.isDistKey = (1 == m_btnDebugKey[4].GetCheck()); info.isCutLineKey = (1 == m_btnDebugKey[5].GetCheck()); info.isRcutKey = (1 == m_btnDebugKey[6].GetCheck()); pInstance->setKeyInfo(info); CString strTextX, strTextY; GetDlgItemText(IDC_EDT_MMVSPX1, strTextX); GetDlgItemText(IDC_EDT_MMVSPY1, strTextY); CBlSideData* pSide1 = pInstance->getSideData(DimensionDir(0)); if (nullptr != pSide1) { pSide1->m_dPixelSizeX = _wtof(strTextX); pSide1->m_dPixelSizeY = _wtof(strTextY); } GetDlgItemText(IDC_EDT_MMVSPX2, strTextX); GetDlgItemText(IDC_EDT_MMVSPY2, strTextY); CBlSideData* pSide2 = pInstance->getSideData(DimensionDir(1)); if (nullptr != pSide2) { pSide2->m_dPixelSizeX = _wtof(strTextX); pSide2->m_dPixelSizeY = _wtof(strTextY); } GetDlgItemText(IDC_EDT_MMVSPX3, strTextX); GetDlgItemText(IDC_EDT_MMVSPY3, strTextY); CBlSideData* pSide3 = pInstance->getSideData(DimensionDir(2)); if (nullptr != pSide3) { pSide3->m_dPixelSizeX = _wtof(strTextX); pSide3->m_dPixelSizeY = _wtof(strTextY); } GetDlgItemText(IDC_EDT_MMVSPX4, strTextX); GetDlgItemText(IDC_EDT_MMVSPY4, strTextY); CBlSideData* pSide4 = pInstance->getSideData(DimensionDir(3)); if (nullptr != pSide4) { pSide4->m_dPixelSizeX = _wtof(strTextX); pSide4->m_dPixelSizeY = _wtof(strTextY); } GetDlgItemText(IDC_EDT_MMVSPX5, strTextX); GetDlgItemText(IDC_EDT_MMVSPY5, strTextY); CBlSideData* pSide5 = pInstance->getSideData(DimensionDir(4)); if (nullptr != pSide5) { pSide5->m_dPixelSizeX = _wtof(strTextX); pSide5->m_dPixelSizeY = _wtof(strTextY); } GetDlgItemText(IDC_EDT_MMVSPX6, strTextX); GetDlgItemText(IDC_EDT_MMVSPY6, strTextY); CBlSideData* pSide6 = pInstance->getSideData(DimensionDir(5)); if (nullptr != pSide6) { pSide6->m_dPixelSizeX = _wtof(strTextX); pSide6->m_dPixelSizeY = _wtof(strTextY); } GetDlgItemText(IDC_EDT_MMVSPX7, strTextX); GetDlgItemText(IDC_EDT_MMVSPY7, strTextY); CBlSideData* pSide7 = pInstance->getSideData(DimensionDir(6)); if (nullptr != pSide7) { pSide7->m_dPixelSizeX = _wtof(strTextX); pSide7->m_dPixelSizeY = _wtof(strTextY); } GetDlgItemText(IDC_EDT_MMVSPX8, strTextX); GetDlgItemText(IDC_EDT_MMVSPY8, strTextY); CBlSideData* pSide8 = pInstance->getSideData(DimensionDir(7)); if (nullptr != pSide8) { pSide8->m_dPixelSizeX = _wtof(strTextX); pSide8->m_dPixelSizeY = _wtof(strTextY); } pInstance->saveVisionConfig(); pInstance->saveResolution(); } BOOL CKeyVisionSetDlg::PreTranslateMessage(MSG* pMsg) { // TODO: ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà if (pMsg->message == WM_KEYDOWN) { if ((pMsg->wParam == VK_RETURN) || (pMsg->wParam == VK_ESCAPE)) { return TRUE; } } return CDialogEx::PreTranslateMessage(pMsg); } void CKeyVisionSetDlg::OnBnClickedButtonSaveRecipe() { // TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë //std::string filePath = "E:\\EI Workspace\\Recipe\\Test\\"; //CVisionRecipe::getInstance()->setWorkDir(filePath.c_str()); //std::string strName = "Test"; //CVisionRecipe::getInstance()->setVisionName(strName.c_str()); CVisionRecipe::getInstance()->save(); } void CKeyVisionSetDlg::OnBnClickedButtonLoadRecipe() { // TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë //std::string filePath = "E:\\EI Workspace\\Recipe\\Test\\"; //CVisionRecipe::getInstance()->setWorkDir(filePath.c_str()); //std::string strName = "Test"; //CVisionRecipe::getInstance()->setVisionName(strName.c_str()); CVisionRecipe::getInstance()->open(); } void CKeyVisionSetDlg::OnBnClickedButtonProcessKey() { // TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë for (int i = 0; i < 1000; i++) { Log_GetDebug()->TraceInfo("Start Save Recipe %d: %d", i, __LINE__); { //std::string filePath = "E:\\EI Workspace\\Recipe\\Test\\"; //CVisionRecipe::getInstance()->setWorkDir(filePath.c_str()); //std::string strName = "Test"; //CVisionRecipe::getInstance()->setVisionName(strName.c_str()); CVisionRecipe::getInstance()->save(); } Log_GetDebug()->TraceInfo("End Save Recipe %d: %d", i, __LINE__); Sleep(1000); Log_GetDebug()->TraceInfo("Start Load Recipe %d: %d", i, __LINE__); { //std::string filePath = "E:\\EI Workspace\\Recipe\\Test\\"; //CVisionRecipe::getInstance()->setWorkDir(filePath.c_str()); //std::string strName = "Test"; //CVisionRecipe::getInstance()->setVisionName(strName.c_str()); CVisionRecipe::getInstance()->open(); } Log_GetDebug()->TraceInfo("Start End Recipe %d: %d", i, __LINE__); Sleep(1000); Log_GetDebug()->TraceInfo("Start Vision Inspect %d: %d", i, __LINE__); for (int i = 0; i < 8; i++) { NgInfo ngInf[NG_INF_NUM]; CSoftVisionApp::getInstance()->Execute(i, ngInf); } Log_GetDebug()->TraceInfo("End Vision Inspect %d: %d", i, __LINE__); Sleep(1000); } } void CKeyVisionSetDlg::OnBnClickedCheckDebugToolKey() { // TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë UpdateData(TRUE); SaveUiParam(); LockBtn(!m_btnDebugKey[0].GetCheck()); } void CKeyVisionSetDlg::LockBtn(BOOL isLock) { /* code */ if (isLock) { for (int i = 1; i < 7; i++) { m_btnDebugKey[i].ShowWindow(SW_HIDE); } GetDlgItem(IDC_BUTTON_SAVE_RECIPE)->ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTTON_LOAD_RECIPE)->ShowWindow(SW_HIDE); GetDlgItem(IDC_BUTTON_PROCESS_KEY)->ShowWindow(SW_HIDE); GetDlgItem(IDC_STATIC_DEBUG_GROUND)->ShowWindow(SW_HIDE); } else { for (int i = 1; i < 7; i++) { m_btnDebugKey[i].ShowWindow(SW_SHOW); } GetDlgItem(IDC_BUTTON_SAVE_RECIPE)->ShowWindow(SW_SHOW); GetDlgItem(IDC_BUTTON_LOAD_RECIPE)->ShowWindow(SW_SHOW); GetDlgItem(IDC_BUTTON_PROCESS_KEY)->ShowWindow(SW_SHOW); GetDlgItem(IDC_STATIC_DEBUG_GROUND)->ShowWindow(SW_SHOW); } } void CKeyVisionSetDlg::OnBnClickedButtonDebugModeKey() { // TODO: ÔÚ´ËÌí¼Ó¿Ø¼þ֪ͨ´¦Àí³ÌÐò´úÂë UpdateData(TRUE); if (m_strPassword != _T("31415926535")) { GetDlgItem(IDC_CHECK_DEBUG_TOOL_KEY)->ShowWindow(SW_HIDE); return; } GetDlgItem(IDC_CHECK_DEBUG_TOOL_KEY)->ShowWindow(SW_SHOW); }