已添加2个文件
已修改24个文件
737 ■■■■■ 文件已修改
BlVisionPro/BlVisionPro.rc 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/View/KeyVisionSetDlg.cpp 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/Vision/BlVisionLib.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/Vision/VisionRecipe.cpp 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/Vision/VisionRecipe.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/resource.h 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/BlVisionPro.rc 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/View/KeyVisionSetDlg.cpp 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/Vision/BlVisionLib.cpp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/Vision/VisionRecipe.cpp 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/Vision/VisionRecipe.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Common_Class/BlVisionPro/resource.h 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/ENRIT.rc 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/ENRIT.vcxproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/ENRIT.vcxproj.filters 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/Process/InspectCamera.cpp 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/Recipe/GlassRecipe.cpp 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/Recipe/GlassRecipe.h 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/DlgCoordinateConvert.cpp 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/DlgCoordinateConvert.h 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/ViewRecipeProfileView.cpp 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/ViewRecipeProfileView.h 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/ViewRecipeSetting.cpp 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/ViewScanImage.cpp 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/View/ViewScanImage.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ENRIT/resource.h 补丁 | 查看 | 原始文档 | blame | 历史
BlVisionPro/BlVisionPro.rc
Binary files differ
BlVisionPro/View/KeyVisionSetDlg.cpp
@@ -185,6 +185,71 @@
    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);
    }
}
@@ -234,7 +299,75 @@
    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();
}
BlVisionPro/Vision/BlVisionLib.cpp
@@ -3,7 +3,7 @@
#include "VisionRecipe.h"
#include "SoftVisionApp.h"
#define BLVISION_VERSION    _T("1.0.1.1")
#define BLVISION_VERSION    _T("1.0.2.0")
int BlVision_GetVersion(char *pszVersion, int nBufferSize) {
    /* code */
    // å°†ANSI字符串转换为宽字符串
BlVisionPro/Vision/VisionRecipe.cpp
@@ -113,10 +113,23 @@
    WriteRecipeVisionFile();
//    saveResolution();
    //if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
    //    m_recipeFile.Close();
    //}
    return 0;
}
void CVisionRecipe::saveResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeX", m_pBlSideData[i]->m_dPixelSizeX);
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeY", m_pBlSideData[i]->m_dPixelSizeY);
    }
}
int CVisionRecipe::WriteRecipeVisionFile(void) {
@@ -244,6 +257,9 @@
    ReadRecipeFile();
//    loadResolution();
#if 0
    if (!isExist) {
        if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
@@ -255,6 +271,21 @@
    return 0;
}
void CVisionRecipe::loadResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        double dPixelSizeX = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeX", 0.0);
        double dPixelSizeY = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeY", 0.0);
        if (fabs(dPixelSizeX) > 0.001 || fabs(dPixelSizeY) > 0.001) {
            m_pBlSideData[i]->m_dPixelSizeX = dPixelSizeX;
            m_pBlSideData[i]->m_dPixelSizeY = dPixelSizeY;
        }
    }
}
void CVisionRecipe::ReadRecipeFile(void) {
    /* code */
    std::string strDir = m_workDir + "\\" + m_strVisionName + "\\";
BlVisionPro/Vision/VisionRecipe.h
@@ -132,6 +132,10 @@
    void setStage(int nStage);
    int getStage(void);
    //14. ä¿å­˜åˆ†è¾¨çއ
    void saveResolution(void);
    void loadResolution(void);
private:
    bool m_isInit;
    std::string m_workDir;
BlVisionPro/resource.h
Binary files differ
Common_Class/BlVisionPro/BlVisionPro.rc
Binary files differ
Common_Class/BlVisionPro/View/KeyVisionSetDlg.cpp
@@ -185,6 +185,71 @@
    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);
    }
}
@@ -234,7 +299,75 @@
    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();
}
Common_Class/BlVisionPro/Vision/BlVisionLib.cpp
@@ -3,7 +3,7 @@
#include "VisionRecipe.h"
#include "SoftVisionApp.h"
#define BLVISION_VERSION    _T("1.0.1.1")
#define BLVISION_VERSION    _T("1.0.2.0")
int BlVision_GetVersion(char *pszVersion, int nBufferSize) {
    /* code */
    // å°†ANSI字符串转换为宽字符串
Common_Class/BlVisionPro/Vision/VisionRecipe.cpp
@@ -113,10 +113,23 @@
    WriteRecipeVisionFile();
//    saveResolution();
    //if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
    //    m_recipeFile.Close();
    //}
    return 0;
}
void CVisionRecipe::saveResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeX", m_pBlSideData[i]->m_dPixelSizeX);
        m_configVision.WriteFloat(strSection.c_str(), "Pixel SizeY", m_pBlSideData[i]->m_dPixelSizeY);
    }
}
int CVisionRecipe::WriteRecipeVisionFile(void) {
@@ -244,6 +257,9 @@
    ReadRecipeFile();
//    loadResolution();
#if 0
    if (!isExist) {
        if (CStdioFile::hFileNull != m_recipeFile.m_hFile) {
@@ -255,6 +271,21 @@
    return 0;
}
void CVisionRecipe::loadResolution(void) {
    /* code */
    std::string array_dir_use[8] = { "A TOP","B TOP", "C TOP", "D TOP", "A BOT", "B BOT","C BOT", "D BOT" };
    std::string strSection = "";
    for (int i = 0; i < 8; i++) {
        strSection = array_dir_use[i];
        double dPixelSizeX = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeX", 0.0);
        double dPixelSizeY = m_configVision.ReadFloat(strSection.c_str(), "Pixel SizeY", 0.0);
        if (fabs(dPixelSizeX) > 0.001 || fabs(dPixelSizeY) > 0.001) {
            m_pBlSideData[i]->m_dPixelSizeX = dPixelSizeX;
            m_pBlSideData[i]->m_dPixelSizeY = dPixelSizeY;
        }
    }
}
void CVisionRecipe::ReadRecipeFile(void) {
    /* code */
    std::string strDir = m_workDir + "\\" + m_strVisionName + "\\";
Common_Class/BlVisionPro/Vision/VisionRecipe.h
@@ -132,6 +132,10 @@
    void setStage(int nStage);
    int getStage(void);
    //14. ä¿å­˜åˆ†è¾¨çއ
    void saveResolution(void);
    void loadResolution(void);
private:
    bool m_isInit;
    std::string m_workDir;
Common_Class/BlVisionPro/resource.h
Binary files differ
ENRIT/ENRIT.rc
Binary files differ
ENRIT/ENRIT.vcxproj
@@ -328,6 +328,7 @@
    <ClInclude Include="UITool\surfacecolor.h" />
    <ClInclude Include="UITool\textdescriptor.h" />
    <ClInclude Include="UITool\texture.h" />
    <ClInclude Include="View\DlgCoordinateConvert.h" />
    <ClInclude Include="View\DlgLicenseInfo.h" />
    <ClInclude Include="View\DlgLogin.h" />
    <ClInclude Include="View\FrameImg.h" />
@@ -412,6 +413,7 @@
    <ClCompile Include="UITool\surfacecolor.cpp" />
    <ClCompile Include="UITool\textdescriptor.cpp" />
    <ClCompile Include="UITool\texture.cpp" />
    <ClCompile Include="View\DlgCoordinateConvert.cpp" />
    <ClCompile Include="View\DlgLicenseInfo.cpp" />
    <ClCompile Include="View\DlgLogin.cpp" />
    <ClCompile Include="View\FrameImg.cpp" />
ENRIT/ENRIT.vcxproj.filters
@@ -549,6 +549,9 @@
    <ClInclude Include="IncludeSDK.h">
      <Filter>头文件</Filter>
    </ClInclude>
    <ClInclude Include="View\DlgCoordinateConvert.h">
      <Filter>View</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ClCompile Include="ENRIT.cpp">
@@ -782,6 +785,9 @@
    <ClCompile Include="CLanguageControl.cpp">
      <Filter>Language</Filter>
    </ClCompile>
    <ClCompile Include="View\DlgCoordinateConvert.cpp">
      <Filter>View</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="ENRIT.rc">
ENRIT/Process/InspectCamera.cpp
@@ -4009,12 +4009,22 @@
    if(nStageNo < 0 || nStageNo > 1)
        nStageNo = 0;
    int            nChipInsArea = (int)((double)pChipPrm->m_nChippingInsArea/pCamera->m_dConvResolution[nStageNo]);
    CRect        rectChip = CRect(rectChamfer.CenterPoint().x,0,rectChamfer.CenterPoint().x,rectChamfer.Height());
    int            nCrackInsArea = (int)((double)pChipPrm->m_nCrackINsArea/pCamera->m_dConvResolution[nStageNo]);
    CRect        rectCrack = CRect(rectChamfer.CenterPoint().x,0,rectChamfer.CenterPoint().x,rectChamfer.Height());
    int            nBrokenInsArea = (int)((double)pChipPrm->m_nBrokenInsArea/pCamera->m_dConvResolution[nStageNo]);
    CRect        rectBroken = CRect(rectChamfer.CenterPoint().x,0,rectChamfer.CenterPoint().x,rectChamfer.Height());
    double dConvRes = pCamera->m_dConvResolution[nStageNo];
    if (m_pRecipe != nullptr) {
        CProfileInspect_Prm& profile = m_pRecipe->m_ProfilePrm;
        double dProfileRes = profile.m_dConvResolution[eDim][nStageNo];
        if (dProfileRes > 0.0) {
            dConvRes = dProfileRes;
        }
    }
    int        nChipInsArea = (int)((double)pChipPrm->m_nChippingInsArea / dConvRes);
    CRect    rectChip = CRect(rectChamfer.CenterPoint().x, 0, rectChamfer.CenterPoint().x, rectChamfer.Height());
    int        nCrackInsArea = (int)((double)pChipPrm->m_nCrackINsArea / dConvRes);
    CRect    rectCrack = CRect(rectChamfer.CenterPoint().x, 0, rectChamfer.CenterPoint().x, rectChamfer.Height());
    int        nBrokenInsArea = (int)((double)pChipPrm->m_nBrokenInsArea / dConvRes);
    CRect    rectBroken = CRect(rectChamfer.CenterPoint().x, 0, rectChamfer.CenterPoint().x, rectChamfer.Height());
    rectChip.InflateRect(align_4byte(nChipInsArea)/2,0);    
    rectCrack.InflateRect(align_4byte(nCrackInsArea)/2,0);    
ENRIT/Recipe/GlassRecipe.cpp
@@ -3612,6 +3612,8 @@
    CopyMemory(m_stProfile,rh.m_stProfile,sizeof(ST_PROFILE_SETTING)*MAX_PROFILE_SETTING_COUNT);
    CopyMemory(m_stCamferUp,rh.m_stCamferUp,sizeof(ST_CHAMFER_SETTING)*MAX_PROFILE_SETTING_COUNT);
    CopyMemory(m_stCamferDn,rh.m_stCamferDn,sizeof(ST_CHAMFER_SETTING)*MAX_PROFILE_SETTING_COUNT);
    CopyMemory(m_dConvResolution, rh.m_dConvResolution, sizeof(double) * MAX_DIMENSION_COUNT * MAX_STAGE_HAND_COUNT);
    CopyMemory(m_dScanResolution, rh.m_dScanResolution, sizeof(double) * MAX_DIMENSION_COUNT * MAX_STAGE_HAND_COUNT);
    return *this;
}
@@ -3640,7 +3642,17 @@
        str.Format(_T("CAD_PROFILE_OFFSET_X"));
        pFile->GetItemValue(i,(TCHAR*)(LPCTSTR)str, m_nCADOffsetX[i]);    
        str.Format(_T("CAD_PROFILE_OFFSET_Y"));
        pFile->GetItemValue(i,(TCHAR*)(LPCTSTR)str, m_nCADOffsetY[i]);
        pFile->GetItemValue(i,(TCHAR*)(LPCTSTR)str, m_nCADOffsetY[i]);
        for (int j = 0; j < MAX_STAGE_HAND_COUNT; j++) {
            // Conv Resolution
            str.Format(_T("CONV_RESOLUTION_%d_%d"), i, j);
            pFile->GetItemValue(i, (TCHAR*)(LPCTSTR)str, m_dConvResolution[i][j]);
            // Scan Resolution
            str.Format(_T("SCAN_RESOLUTION_%d_%d"), i, j);
            pFile->GetItemValue(i, (TCHAR*)(LPCTSTR)str, m_dScanResolution[i][j]);
        }
    }
    for(i=0;i<MAX_PROFILE_SETTING_COUNT;i++)
@@ -3702,7 +3714,15 @@
        str.Format(_T("CAD_PROFILE_OFFSET_X"));
        pFile->SetItemValue(i,(TCHAR*)(LPCTSTR)str, m_nCADOffsetX[i]);    
        str.Format(_T("CAD_PROFILE_OFFSET_Y"));
        pFile->SetItemValue(i,(TCHAR*)(LPCTSTR)str, m_nCADOffsetY[i]);
        pFile->SetItemValue(i,(TCHAR*)(LPCTSTR)str, m_nCADOffsetY[i]);
        for (int j = 0; j < MAX_STAGE_HAND_COUNT; j++) {
            str.Format(_T("CONV_RESOLUTION_%d_%d"), i, j);
            pFile->SetItemValue(i, (TCHAR*)(LPCTSTR)str, m_dConvResolution[i][j]);
            str.Format(_T("SCAN_RESOLUTION_%d_%d"), i, j);
            pFile->SetItemValue(i, (TCHAR*)(LPCTSTR)str, m_dScanResolution[i][j]);
        }
    }
    for(i=0;i<MAX_PROFILE_SETTING_COUNT;i++)
@@ -3751,7 +3771,9 @@
    ZeroMemory(m_nCADOffsetX,sizeof(int)*MAX_DIMENSION_COUNT);
    ZeroMemory(m_stProfile,sizeof(ST_PROFILE_SETTING)*MAX_PROFILE_SETTING_COUNT);
    ZeroMemory(m_stCamferUp,sizeof(ST_CHAMFER_SETTING)*MAX_PROFILE_SETTING_COUNT);
    ZeroMemory(m_stCamferDn,sizeof(ST_CHAMFER_SETTING)*MAX_PROFILE_SETTING_COUNT);
    ZeroMemory(m_stCamferDn,sizeof(ST_CHAMFER_SETTING)*MAX_PROFILE_SETTING_COUNT);
    ZeroMemory(m_dConvResolution, sizeof(double) * MAX_DIMENSION_COUNT * MAX_STAGE_HAND_COUNT);
    ZeroMemory(m_dScanResolution, sizeof(double) * MAX_DIMENSION_COUNT * MAX_STAGE_HAND_COUNT);
}
//////////////////////////////////////////////////////////////////////////
ENRIT/Recipe/GlassRecipe.h
@@ -1025,7 +1025,10 @@
    int                m_nCADOffsetY[MAX_DIMENSION_COUNT];
    ST_PROFILE_SETTING    m_stProfile[MAX_PROFILE_SETTING_COUNT];
    ST_CHAMFER_SETTING    m_stCamferUp[MAX_PROFILE_SETTING_COUNT];
    ST_CHAMFER_SETTING    m_stCamferDn[MAX_PROFILE_SETTING_COUNT];
    ST_CHAMFER_SETTING    m_stCamferDn[MAX_PROFILE_SETTING_COUNT];
    double            m_dConvResolution[MAX_DIMENSION_COUNT][MAX_STAGE_HAND_COUNT];
    double            m_dScanResolution[MAX_DIMENSION_COUNT][MAX_STAGE_HAND_COUNT];
};
class CGlassRecipe
ENRIT/View/DlgCoordinateConvert.cpp
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,210 @@
// DlgCoordinateConvert.cpp: å®žçŽ°æ–‡ä»¶
//
#include "stdafx.h"
#include "ENRIT.h"
#include "afxdialogex.h"
#include "DlgCoordinateConvert.h"
// CDlgCoordinateConvert å¯¹è¯æ¡†
const int CAM_COLUMN_COUNT = 5;
const TCHAR* CAM_COLUMN_NAMES[CAM_COLUMN_COUNT] = {
    _T("Dimension"),
    _T("0 Hand Resolution(H)"),
    _T("0 Hand Resolution(V)"),
    _T("1 Hand Resolution(H)"),
    _T("1 Hand Resolution(V)")
};
const int CAM_COLUMN_WIDTHS[CAM_COLUMN_COUNT] = {
    80, 120, 120, 120, 120
};
#define GRID_FIX_COLOR            RGB(144,200,246)
#define GRID_COLOR                RGB(242,242,242)
#define GRID_TEXT_COLOR            RGB(255,255,255)
#define GRID_LINE_COLOR            GRID_FIX_COLOR
IMPLEMENT_DYNAMIC(CDlgCoordinateConvert, CDialogEx)
CDlgCoordinateConvert::CDlgCoordinateConvert(CWnd* pParent /*=nullptr*/)
    : CDialogEx(IDD_DLG_COORD_CONVERT, pParent)
    , m_nCameraCount(0)
    , m_nScanCount(0)
    , m_pDlgRecipe(nullptr)
{
}
CDlgCoordinateConvert::~CDlgCoordinateConvert()
{
}
void CDlgCoordinateConvert::SetRecipe(CGlassRecipe* pRecipe)
{
    m_pDlgRecipe = pRecipe;
}
void CDlgCoordinateConvert::InitCameraGrid()
{
    if (m_gridCameraList.GetSafeHwnd() == NULL) {
        return;
    }
    m_gridCameraList.GetDefaultCell(TRUE, FALSE)->SetBackClr(GRID_FIX_COLOR);
    m_gridCameraList.GetDefaultCell(FALSE, TRUE)->SetBackClr(GRID_FIX_COLOR);
    m_gridCameraList.GetDefaultCell(FALSE, FALSE)->SetBackClr(GRID_COLOR);
    m_gridCameraList.SetFixedBkColor(GRID_FIX_COLOR);
    m_gridCameraList.SetGridLines(GVL_BOTH);
    m_gridCameraList.SetColumnCount(CAM_COLUMN_COUNT);
    m_gridCameraList.SetRowCount(10);
    m_gridCameraList.SetFixedRowCount(1);
    m_gridCameraList.SetFixedColumnCount(0);
    m_gridCameraList.ExpandColumnsToFit();
    CFont* pFont = m_gridCameraList.GetFont();
    if (!pFont) {
        return;
    }
    LOGFONT lf;
    pFont->GetLogFont(&lf);
    lf.lfItalic = 0;
    lf.lfHeight = 14;
    lf.lfWeight = FW_BOLD;
    _tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
    m_gridCameraList.GetDefaultCell(TRUE, FALSE)->SetFont(&lf);
    m_gridCameraList.GetDefaultCell(FALSE, TRUE)->SetFont(&lf);
    m_gridCameraList.GetDefaultCell(TRUE, TRUE)->SetFont(&lf);
    m_gridCameraList.SetEditable(TRUE);
    m_gridCameraList.EnableSelection(TRUE);
    InitCameraGridHeader();
}
void CDlgCoordinateConvert::InitCameraGridHeader()
{
    CString str;
    GV_ITEM Item;
    int        nCol = 0;
    int        iLoop;
    Item.mask = GVIF_TEXT;
    Item.row = 0;
    for (iLoop = 0; iLoop < CAM_COLUMN_COUNT; iLoop++) {
        Item.col = nCol++;
        Item.strText = CAM_COLUMN_NAMES[iLoop];
        m_gridCameraList.SetItem(&Item);
        m_gridCameraList.SetColumnWidth(Item.col, CAM_COLUMN_WIDTHS[iLoop]);
    }
    m_gridCameraList.Invalidate();
}
void CDlgCoordinateConvert::FillCameraGrid()
{
    m_gridCameraList.SetRowCount(MAX_DIMENSION_COUNT + 1);
    CProfileInspect_Prm profile;
    if (m_pDlgRecipe != nullptr) {
        profile = m_pDlgRecipe->m_ProfilePrm;
    }
    else {
        for (int i = 0; i < MAX_DIMENSION_COUNT; i++) {
            profile.m_dConvResolution[i][0] = 0.01;
            profile.m_dConvResolution[i][1] = 0.01;
            profile.m_dScanResolution[i][0] = 0.01;
            profile.m_dScanResolution[i][1] = 0.01;
        }
    }
    CString str;
    const TCHAR* SET_INS_DIMENSION[] = { _T("A Top"),_T("B Top"),_T("C Top"),_T("D Top"),_T("A Bot"),_T("B Bot"),_T("C Bot"),_T("D Bot") };
    for (int i = 0; i < MAX_DIMENSION_COUNT; ++i) {
        int iRow = i + 1;
        m_gridCameraList.SetItemText(iRow, 0, SET_INS_DIMENSION[i]);
        m_gridCameraList.SetItemState(iRow, 0, GVIS_READONLY);
        str.Format(_T("%.10f"), profile.m_dConvResolution[i][0]);
        m_gridCameraList.SetItemText(iRow, 1, str);
        str.Format(_T("%.10f"), profile.m_dConvResolution[i][1]);
        m_gridCameraList.SetItemText(iRow, 2, str);
        str.Format(_T("%.10f"), profile.m_dScanResolution[i][0]);
        m_gridCameraList.SetItemText(iRow, 3, str);
        str.Format(_T("%.10f"), profile.m_dScanResolution[i][1]);
        m_gridCameraList.SetItemText(iRow, 4, str);
    }
    m_gridCameraList.Invalidate();
}
void CDlgCoordinateConvert::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_CAMERA_LIST, m_gridCameraList);
    DDX_Text(pDX, IDC_EDIT_CAMERA_COUNT, m_nCameraCount);
    DDX_Text(pDX, IDC_EDIT_SCAN_COUNT, m_nScanCount);
}
BEGIN_MESSAGE_MAP(CDlgCoordinateConvert, CDialogEx)
END_MESSAGE_MAP()
BEGIN_EVENTSINK_MAP(CDlgCoordinateConvert, CDialogEx)
    ON_EVENT(CDlgCoordinateConvert, IDC_BTN_CONVERT_APPLY, DISPID_CLICK, CDlgCoordinateConvert::OnClickBtnConvertApply, VTS_NONE)
    ON_EVENT(CDlgCoordinateConvert, IDC_BTN_CONVERT_CLOSE, DISPID_CLICK, CDlgCoordinateConvert::OnClickBtnConvertClose, VTS_NONE)
END_EVENTSINK_MAP()
// CDlgCoordinateConvert æ¶ˆæ¯å¤„理程序
BOOL CDlgCoordinateConvert::OnInitDialog()
{
    CDialogEx::OnInitDialog();
    // TODO:  åœ¨æ­¤æ·»åŠ é¢å¤–çš„åˆå§‹åŒ–
    m_nCameraCount = g_pBase->m_nCameraCount;
    m_nScanCount = g_pBase->m_nScanCount;
    InitCameraGrid();
    FillCameraGrid();
    UpdateData(FALSE);
    return TRUE;  // return TRUE unless you set the focus to a control
    // å¼‚常: OCX å±žæ€§é¡µåº”返回 FALSE
}
void CDlgCoordinateConvert::OnClickBtnConvertApply()
{
    if (m_pDlgRecipe != nullptr) {
        for (int i = 0; i < MAX_DIMENSION_COUNT; ++i) {
            int iRow = i + 1;
            CString strVal;
            strVal = m_gridCameraList.GetItemText(iRow, 1);
            m_pDlgRecipe->m_ProfilePrm.m_dConvResolution[i][0] = _tstof(strVal);
            strVal = m_gridCameraList.GetItemText(iRow, 2);
            m_pDlgRecipe->m_ProfilePrm.m_dConvResolution[i][1] = _tstof(strVal);
            strVal = m_gridCameraList.GetItemText(iRow, 3);
            m_pDlgRecipe->m_ProfilePrm.m_dScanResolution[i][0] = _tstof(strVal);
            strVal = m_gridCameraList.GetItemText(iRow, 4);
            m_pDlgRecipe->m_ProfilePrm.m_dScanResolution[i][1] = _tstof(strVal);
        }
    }
    this->EndDialog(IDOK);
}
void CDlgCoordinateConvert::OnClickBtnConvertClose()
{
    this->EndDialog(IDCANCEL);
}
ENRIT/View/DlgCoordinateConvert.h
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
#pragma once
#include "afxdialogex.h"
#include "GlassRecipe.h"
// CDlgCoordinateConvert å¯¹è¯æ¡†
class CDlgCoordinateConvert : public CDialogEx
{
    DECLARE_DYNAMIC(CDlgCoordinateConvert)
public:
    CDlgCoordinateConvert(CWnd* pParent = nullptr);   // æ ‡å‡†æž„造函数
    virtual ~CDlgCoordinateConvert();
    // è®¾ç½®é…æ–¹
    void SetRecipe(CGlassRecipe* pRecipe);
// å¯¹è¯æ¡†æ•°æ®
#ifdef AFX_DESIGN_TIME
    enum { IDD = IDD_DLG_COORD_CONVERT };
#endif
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV æ”¯æŒ
    virtual BOOL OnInitDialog();
    afx_msg void OnClickBtnConvertApply();
    afx_msg void OnClickBtnConvertClose();
    DECLARE_MESSAGE_MAP()
    DECLARE_EVENTSINK_MAP()
private:
    void InitCameraGrid();
    void InitCameraGridHeader();
    void FillCameraGrid();
    int m_nCameraCount;
    int m_nScanCount;
    CGridCtrl m_gridCameraList;
    CGlassRecipe* m_pDlgRecipe;
};
ENRIT/View/ViewRecipeProfileView.cpp
@@ -6,6 +6,7 @@
#include "ViewRecipeProfileView.h"
#include "afxdialogex.h"
#include "Global_Define.h"
#include "DlgCoordinateConvert.h"
// CViewRecipeProfileView æŽªæ‹³ æƒ‘磊涝聪促.
@@ -147,17 +148,15 @@
    CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CViewRecipeProfileView, CDialogEx)
    ON_WM_SHOWWINDOW()
END_MESSAGE_MAP()
BEGIN_EVENTSINK_MAP(CViewRecipeProfileView, CDialogEx)
    ON_EVENT(CViewRecipeProfileView, IDC_BTN_PROFILE_TEST_RUN, DISPID_CLICK, CViewRecipeProfileView::ClickChkButProfileTestRun, VTS_NONE)
    ON_EVENT(CViewRecipeProfileView, IDC_BTN_PROFILE_COORDINATE_CONVERT, DISPID_CLICK, CViewRecipeProfileView::ClickChkButCoordinateConvert, VTS_NONE)
    ON_EVENT(CViewRecipeProfileView, IDC_BTN_PROFILE_MAKECAD, DISPID_CLICK, CViewRecipeProfileView::ClickChkButMakeCAD, VTS_NONE)
    ON_EVENT(CViewRecipeProfileView, IDC_BTN_PROFILE_APPLY, DISPID_CLICK, CViewRecipeProfileView::ClickChkButProfileApplay, VTS_NONE)
    ON_EVENT(CViewRecipeProfileView, IDC_BTN_PROFILE_TEST_RUN, DISPID_CLICK, CViewRecipeProfileView::ClickChkButProfileTestRun, VTS_NONE)
END_EVENTSINK_MAP()
BOOL CViewRecipeProfileView::OnInitDialog()
@@ -218,6 +217,36 @@
    }
    return CDialog::PreTranslateMessage(pMsg);
}
void CViewRecipeProfileView::ClickChkButProfileTestRun()
{
    if (m_pProfileProc == NULL)
        return;
    CString            str = _T("C:\\RCutProject\\Profile\\TEST5_B.prf");
    m_pProfileProc->ReadProfileData(str);
    CPoint        ptFirst, ptSecond;
    ptFirst = CPoint(2160, 32512);
    ptSecond = CPoint(2186, 66030);
    //m_pProfileProc->RotateProfileData(ptFirst,ptSecond);
}
void CViewRecipeProfileView::ClickChkButCoordinateConvert()
{
    if (m_pProfileProc == NULL || m_pDlgRecipe == NULL) {
        return;
    }
    CDlgCoordinateConvert dlg;
    dlg.SetRecipe(m_pDlgRecipe);
    if (dlg.DoModal() == IDOK) {
        g_pLog->DisplayMessage(_T("User applied coordinate conversion!"));
    }
}
void CViewRecipeProfileView::ClickChkButMakeCAD()
@@ -307,6 +336,10 @@
    SetSlashText(GLOBAL_DEFINE::emHide, _T(""), RGB(0,0,0));
}
void CViewRecipeProfileView::ClickChkButProfileApplay()
{
    UpdateData(TRUE);
}
void CViewRecipeProfileView::OnShowWindow(BOOL bShow, UINT nStatus)
{
@@ -314,29 +347,6 @@
    {
        UpdateData(FALSE);                
    }
}
void CViewRecipeProfileView::ClickChkButProfileApplay()
{
    UpdateData(TRUE);
}
void CViewRecipeProfileView::ClickChkButProfileTestRun()
{
    if(m_pProfileProc == NULL)
        return;
    CString            str=_T("C:\\RCutProject\\Profile\\TEST5_B.prf");
    m_pProfileProc->ReadProfileData(str);
    CPoint        ptFirst,ptSecond;
    ptFirst = CPoint(2160,32512);
    ptSecond = CPoint(2186,66030);
    //m_pProfileProc->RotateProfileData(ptFirst,ptSecond);
}
void CViewRecipeProfileView::SetRecipe(CHardwareSettings *pHW,CGlassRecipe *pRecipe)
ENRIT/View/ViewRecipeProfileView.h
@@ -24,9 +24,10 @@
protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV ç˜¤ç›”涝聪促.
    void         ClickChkButProfileTestRun();
    void         ClickChkButCoordinateConvert();
    void         ClickChkButMakeCAD();
    void         ClickChkButProfileApplay();
    void        ClickChkButProfileTestRun();
    afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
    virtual BOOL OnInitDialog();
    virtual BOOL PreTranslateMessage(MSG* pMsg);
@@ -45,7 +46,7 @@
protected:
    CProfileCADProc            *m_pProfileProc;
    CHardwareSettings        *m_pHardware;
    CGlassRecipe        *m_pDlgRecipe;
    CGlassRecipe            *m_pDlgRecipe;
    CSplash                    m_splash;
    CMFCButton                m_chkProfileUse[MAX_PROFILE_SETTING_COUNT];
    CFontControl            m_FontControl;
ENRIT/View/ViewRecipeSetting.cpp
@@ -314,7 +314,7 @@
        return;
    }
    SetButtonSelectSel(eSelView,FALSE);
    SetButtonSelectSel(eSelView, FALSE);
    ChangeSelectView(nViewID);
}
@@ -459,7 +459,7 @@
        InitScrollInfo();
        UINT        eViewID[] = {IDC_RDO_RCP_INSPECT_SETTING,IDC_RDO_RCP_PROFILE_SETTING};
        UINT eViewID[] = { IDC_RDO_RCP_INSPECT_SETTING, IDC_RDO_RCP_PROFILE_SETTING, IDC_RDO_RCP_CHAMFER_SETTING };
        ChangeRcpView(eViewID[m_nCndSelect]);
    }
ENRIT/View/ViewScanImage.cpp
@@ -164,7 +164,6 @@
    ON_EVENT(CViewScanImage, IDC_SAVE_ALL, DISPID_CLICK, CViewScanImage::OnBnClickedSaveAll, VTS_NONE)
    ON_EVENT(CViewScanImage, IDC_BTN_START_BATCH, DISPID_CLICK, CViewScanImage::OnBtnStartBatch, VTS_NONE)
    ON_EVENT(CViewScanImage, IDC_BTN_STOP_BATCH, DISPID_CLICK, CViewScanImage::OnBtnStopBatch, VTS_NONE)
    ON_EVENT(CViewScanImage, IDC_BTN_NEXT_PROCESS, DISPID_CLICK, CViewScanImage::OnClickBtnNextProcess, VTS_NONE)
END_EVENTSINK_MAP()
@@ -1079,7 +1078,7 @@
BOOL CViewScanImage::ManualThreadStart(int nCmd,int nIndex /*= -1*/)
{
    if (m_pManualProcess) {
        DWORD dwWait = ::WaitForSingleObject(m_pManualProcess->m_hThread, 10000);
        DWORD dwWait = ::WaitForSingleObject(m_pManualProcess->m_hThread, 3000);
        if (dwWait == WAIT_TIMEOUT) {
            DWORD dwExitCode;
            if ((::GetExitCodeThread(m_pManualProcess->m_hThread, &dwExitCode)) && (dwExitCode == STILL_ACTIVE)) {
@@ -1533,9 +1532,4 @@
        else
            m_frameImg[i].ResetMode(MODE_AUTO_MEASURE); 
    }
}
void CViewScanImage::OnClickBtnNextProcess()
{
    SendMessage(WM_BATCH_PROCESS_NEXT, NULL, NULL);
}
}
ENRIT/View/ViewScanImage.h
@@ -80,7 +80,6 @@
    void            OnBnClickedSaveAll();
    void            OnBtnStartBatch();
    void            OnBtnStopBatch();
    void            OnClickBtnNextProcess();
protected:
    int                GetSideIdx(int nViewIndex);
ENRIT/resource.h
Binary files differ