// BarROpt.cpp : implementation file // #include "stdafx.h" #include "BarCode.h" #include "BarROpt.h" #include "resource.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CBarReadOpt dialog CBarReadOpt::CBarReadOpt(CWnd* pParent /*=NULL*/, L_INT nSymbolType /*=BARCODE_LINEAR*/, pBARCODEREADOPT pBarROpt /*= NULL*/, BARCODE1D L_FAR * pBarCode1D /*=NULL*/, BARCODEREADPDF L_FAR *pBarCodePDF /*=NULL*/) : CDialog(CBarReadOpt::IDD, pParent) { //{{AFX_DATA_INIT(CBarReadOpt) m_nMultipleMax = 0; m_nWidth = 0; m_nStartY = 0; m_nStartX = 0; m_nHeight = 0; m_nMinLength = 3; m_nGranularity = 4; m_bType1 = FALSE; m_bType2 = FALSE; m_bType3 = FALSE; m_bType4 = FALSE; m_bType5 = FALSE; m_bType6 = FALSE; m_bType7 = FALSE; m_bType8 = FALSE; m_bDirTopToBtm = FALSE; m_bDirRightToLeft = FALSE; m_bDirLefToRight = FALSE; m_bDirBtmToTop = FALSE; m_bSearchAll = FALSE; m_bErrDigit = FALSE; m_bUseRgn = FALSE; m_bUseColors = FALSE; m_bType9 = FALSE; m_bDirSkew = FALSE; m_bDirHorizantal = FALSE; m_bDirVertical = FALSE; m_bDirDiagonal = FALSE; m_nWhiteLines = 3; m_bInit = FALSE; m_nUnits = BARCODE_SCANLINES_PER_PIXELS; m_bType10 = FALSE; //}}AFX_DATA_INIT if (pBarROpt) { m_nMultipleMax = pBarROpt->nMultipleMax; m_nUnits = pBarROpt->nUnits; m_bUseRgn = pBarROpt->bUseRgn; m_nStartX = pBarROpt->rcSearch.left; m_nStartY = pBarROpt->rcSearch.top; m_nWidth = pBarROpt->rcSearch.right - pBarROpt->rcSearch.left; m_nHeight = pBarROpt->rcSearch.bottom - pBarROpt->rcSearch.left; m_bUseColors = ((pBarROpt->ulFlags & BARCODE_USECOLORS) == BARCODE_USECOLORS); m_BarColor.dwColorBar = pBarROpt->BarColor.dwColorBar; m_BarColor.dwColorSpace = pBarROpt->BarColor.dwColorSpace; } else { m_BarColor.dwColorBar = RGB(0, 0, 0); m_BarColor.dwColorSpace = RGB(255, 255, 255); } m_nSymbolType = nSymbolType; switch (m_nSymbolType) { #ifndef UNICODE case BARCODE_LINEAR: if(pBarCode1D) { m_bErrDigit = pBarCode1D->bErrorCheck; m_nMinLength = pBarCode1D->nMinLength; m_nGranularity = pBarCode1D->nGranularity; m_nWhiteLines = pBarCode1D->nWhiteLines; } if(pBarCode1D->nDirection & BARCODE_DIR_RIGHT_TO_LEFT) m_bDirRightToLeft = TRUE; if(pBarCode1D->nDirection & BARCODE_DIR_LEFT_TO_RIGHT) m_bDirLefToRight = TRUE; if(pBarCode1D->nDirection & BARCODE_DIR_BOTTOM_TO_TOP) m_bDirBtmToTop = TRUE; if(pBarCode1D->nDirection & BARCODE_DIR_TOP_TO_BOTTOM) m_bDirTopToBtm = TRUE; if(pBarCode1D->nDirection & BARCODE_DIR_SKEW) m_bDirSkew = TRUE; if(pBarCode1D->nDirection & BARCODE_DIR_HORIZONTAL) m_bDirHorizantal = TRUE; if(pBarCode1D->nDirection & BARCODE_DIR_VERTICAL) m_bDirVertical = TRUE; if(pBarCode1D->nDirection & BARCODE_DIR_DIAGONAL) m_bDirDiagonal = TRUE; if (pBarROpt) { if (pBarROpt->ulSearchType == BARCODE_1D_READ_ANYTYPE) m_bSearchAll = TRUE; else { if(pBarROpt->ulSearchType & BARCODE_1D_EAN_13) m_bType1 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_EAN_8) m_bType2 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_UPC_A) m_bType3 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_UPC_E) m_bType4 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_CODE_3_OF_9) m_bType5 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_CODE_128) m_bType6 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_CODE_I2_OF_5) m_bType7 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_CODA_BAR) m_bType8 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_UCCEAN_128) m_bType9 = TRUE; if(pBarROpt->ulSearchType & BARCODE_1D_CODE_93) m_bType10= TRUE; } } break; #endif case BARCODE_DATAMATRIX: if (pBarROpt) { if(pBarROpt->ulSearchType & BARCODE_DM_READ_SQUARE) m_bType1 = TRUE; if(pBarROpt->ulSearchType & BARCODE_DM_READ_RECTANGLE) m_bType2 = TRUE; if(pBarROpt->ulSearchType & BARCODE_DM_READ_SMALL) m_bType3 = TRUE; if (m_bType1 && m_bType2 && m_bType3) { m_bSearchAll = TRUE; m_bType1 = m_bType2 = m_bType3 = FALSE; } } break; case BARCODE_PDF: if(pBarCodePDF) { if(pBarCodePDF->nDirection & BARCODE_DIR_RIGHT_TO_LEFT) m_bDirRightToLeft = TRUE; if(pBarCodePDF->nDirection & BARCODE_DIR_LEFT_TO_RIGHT) m_bDirLefToRight = TRUE; if(pBarCodePDF->nDirection & BARCODE_DIR_BOTTOM_TO_TOP) m_bDirBtmToTop = TRUE; if(pBarCodePDF->nDirection & BARCODE_DIR_TOP_TO_BOTTOM) m_bDirTopToBtm = TRUE; if(pBarCodePDF->nDirection & BARCODE_DIR_SKEW) m_bDirSkew = TRUE; if(pBarCodePDF->nDirection & BARCODE_DIR_HORIZONTAL) m_bDirHorizantal = TRUE; if(pBarCodePDF->nDirection & BARCODE_DIR_VERTICAL) m_bDirVertical = TRUE; if(pBarCodePDF->nDirection & BARCODE_DIR_DIAGONAL) m_bDirDiagonal = TRUE; } break; } } void CBarReadOpt::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CBarReadOpt) DDX_Control(pDX, IDC_SEARCH_TYPE10, m_BtnType10); DDX_Control(pDX, IDC_WHITE_LINES, m_EditWhiteLines); DDX_Control(pDX, IDC_CHK_DIR_VERTICAL, m_BtnDirVert); DDX_Control(pDX, IDC_CHK_DIR_HORIZANTAL, m_BtnDirHoriz); DDX_Control(pDX, IDC_CHK_DIR_SKEW, m_BtnDirSkew); DDX_Control(pDX, IDC_CHK_DIR_DIAGONAL, m_BtnDirDiagonal); DDX_Control(pDX, IDC_SEARCH_TYPE9, m_BtnType9); DDX_Control(pDX, IDC_BAR_COLOR_DLG, m_BtnBarColor); DDX_Control(pDX, IDC_SPACE_COLOR_DLG, m_BtnSpaceColor); DDX_Control(pDX, IDC_CHK_USERGN, m_ChkUseRgn); DDX_Control(pDX, IDC_SEARCH_ANY, m_ChkSearchAll); DDX_Control(pDX, IDC_MULTIPLE_MAX, m_EditMultipleMax); DDX_Text(pDX, IDC_MULTIPLE_MAX, m_nMultipleMax); DDX_Control(pDX, IDC_LOC_WIDTH, m_EditWidth); DDX_Text(pDX, IDC_LOC_WIDTH, m_nWidth); DDX_Control(pDX, IDC_LOC_START_Y, m_EditStartY); DDX_Text(pDX, IDC_LOC_START_Y, m_nStartY); DDX_Control(pDX, IDC_LOC_START_X, m_EditStartX); DDX_Text(pDX, IDC_LOC_START_X, m_nStartX); DDX_Control(pDX, IDC_LOC_HEIGHT, m_EditHeight); DDX_Text(pDX, IDC_LOC_HEIGHT, m_nHeight); DDX_Control(pDX, IDC_MIN_LENGTH, m_EditMinLength); DDX_Text(pDX, IDC_MIN_LENGTH, m_nMinLength); DDV_MinMaxInt(pDX, m_nMinLength, 1, 63); DDX_Control(pDX, IDC_GRANULARITY, m_EditGranulaity); DDX_Text(pDX, IDC_GRANULARITY, m_nGranularity); DDV_MinMaxInt(pDX, m_nGranularity, 1, 256); DDX_Control(pDX, IDC_SEARCH_TYPE1, m_BtnType1); DDX_Check(pDX, IDC_SEARCH_TYPE1, m_bType1); DDX_Control(pDX, IDC_SEARCH_TYPE2, m_BtnType2); DDX_Check(pDX, IDC_SEARCH_TYPE2, m_bType2); DDX_Control(pDX, IDC_SEARCH_TYPE3, m_BtnType3); DDX_Check(pDX, IDC_SEARCH_TYPE3, m_bType3); DDX_Control(pDX, IDC_SEARCH_TYPE4, m_BtnType4); DDX_Check(pDX, IDC_SEARCH_TYPE4, m_bType4); DDX_Control(pDX, IDC_SEARCH_TYPE5, m_BtnType5); DDX_Check(pDX, IDC_SEARCH_TYPE5, m_bType5); DDX_Control(pDX, IDC_SEARCH_TYPE6, m_BtnType6); DDX_Check(pDX, IDC_SEARCH_TYPE6, m_bType6); DDX_Control(pDX, IDC_SEARCH_TYPE7, m_BtnType7); DDX_Check(pDX, IDC_SEARCH_TYPE7, m_bType7); DDX_Control(pDX, IDC_SEARCH_TYPE8, m_BtnType8); DDX_Check(pDX, IDC_SEARCH_TYPE8, m_bType8); DDX_Control(pDX, IDC_CHK_TOP_TO_BOTTOM, m_BtnDirTopToBtm); DDX_Check(pDX, IDC_CHK_TOP_TO_BOTTOM, m_bDirTopToBtm); DDX_Control(pDX, IDC_CHK_RIGHT_TO_LEFT, m_BtnDirRightToLeft); DDX_Check(pDX, IDC_CHK_RIGHT_TO_LEFT, m_bDirRightToLeft); DDX_Control(pDX, IDC_CHK_LEFT_TO_RIGHT, m_BtnDirLeftToRight); DDX_Check(pDX, IDC_CHK_LEFT_TO_RIGHT, m_bDirLefToRight); DDX_Control(pDX, IDC_CHK_ERR_DIGIT, m_BtnErrDigit); DDX_Control(pDX, IDC_CHK_BOTTOM_TO_TOP, m_BtnDirBtmToTop); DDX_Check(pDX, IDC_CHK_BOTTOM_TO_TOP, m_bDirBtmToTop); DDX_Control(pDX, IDC_SYMB_TYPE, m_CmbSymbolType); DDX_Control(pDX, IDC_UNITS, m_CmbUnits); DDX_Control(pDX, IDOK, m_BtnOk); DDX_Check(pDX, IDC_SEARCH_ANY, m_bSearchAll); DDX_Check(pDX, IDC_CHK_ERR_DIGIT, m_bErrDigit); DDX_Check(pDX, IDC_CHK_USERGN, m_bUseRgn); DDX_Check(pDX, IDC_USE_COLORS, m_bUseColors); DDX_Check(pDX, IDC_SEARCH_TYPE9, m_bType9); DDX_Check(pDX, IDC_CHK_DIR_SKEW, m_bDirSkew); DDX_Check(pDX, IDC_CHK_DIR_HORIZANTAL, m_bDirHorizantal); DDX_Check(pDX, IDC_CHK_DIR_VERTICAL, m_bDirVertical); DDX_Check(pDX, IDC_CHK_DIR_DIAGONAL, m_bDirDiagonal); DDX_Text(pDX, IDC_WHITE_LINES, m_nWhiteLines); DDX_Check(pDX, IDC_SEARCH_TYPE10, m_bType10); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CBarReadOpt, CDialog) //{{AFX_MSG_MAP(CBarReadOpt) ON_BN_CLICKED(IDC_SEARCH_ANY, OnSearchAllClick) ON_CBN_SELCHANGE(IDC_SYMB_TYPE, OnSelChangeSymbType) ON_EN_CHANGE(IDC_GRANULARITY, OnChangeGranularity) ON_EN_CHANGE(IDC_LOC_START_X, OnChangeLocStartX) ON_EN_CHANGE(IDC_LOC_START_Y, OnChangeLocStartY) ON_EN_CHANGE(IDC_LOC_WIDTH, OnChangeLocWidth) ON_EN_CHANGE(IDC_LOC_HEIGHT, OnChangeLocHeight) ON_EN_CHANGE(IDC_MIN_LENGTH, OnChangeMinLength) ON_EN_CHANGE(IDC_MULTIPLE_MAX, OnChangeMultipleMax) ON_BN_CLICKED(IDC_CHK_USERGN, OnChkUseRgn) ON_BN_CLICKED(IDC_BAR_COLOR_DLG, OnBarColorDlg) ON_BN_CLICKED(IDC_USE_COLORS, OnUseColors) ON_BN_CLICKED(IDC_SPACE_COLOR_DLG, OnSpaceColorDlg) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CBarReadOpt message handlers BOOL CBarReadOpt::OnInitDialog() { CDialog::OnInitDialog(); m_CmbUnits.AddString(_T("Scans/Pixels")); m_CmbUnits.AddString(_T("Inches")); m_CmbUnits.AddString(_T("MiliMeters")); m_CmbUnits.SetItemData(0, BARCODE_SCANLINES_PER_PIXELS); m_CmbUnits.SetItemData(1, BARCODE_INCHES); m_CmbUnits.SetItemData(2, BARCODE_MILLIMETERS); m_CmbUnits.SetCurSel(m_nUnits); #ifndef UNICODE m_CmbSymbolType.AddString(_T("Bar Codes")); #endif m_CmbSymbolType.AddString(_T("PDF417")); m_CmbSymbolType.AddString(_T("Data Matrix")); m_CmbSymbolType.AddString(_T("QR")); #ifndef UNICODE m_CmbSymbolType.SetItemData(0, BARCODE_LINEAR); m_CmbSymbolType.SetItemData(1, BARCODE_PDF); m_CmbSymbolType.SetItemData(2, BARCODE_DATAMATRIX); m_CmbSymbolType.SetItemData(3, BARCODE_QR); m_CmbSymbolType.SetCurSel((m_nSymbolType == BARCODE_LINEAR) ? m_nSymbolType : m_nSymbolType -1); #else m_CmbSymbolType.SetItemData(0, BARCODE_PDF); m_CmbSymbolType.SetItemData(1, BARCODE_DATAMATRIX); m_CmbSymbolType.SetItemData(2, BARCODE_QR); m_CmbSymbolType.SetCurSel(m_nSymbolType-2); #endif m_BtnType1.SetWindowText(_T("EAN 13")); m_BtnType2.SetWindowText(_T("EAN 8")); m_BtnType3.SetWindowText(_T("UPC A")); m_BtnType4.SetWindowText(_T("UPC E")); m_BtnType5.SetWindowText(_T("Code 3 of 9")); m_BtnType6.SetWindowText(_T("Code 128")); m_BtnType7.SetWindowText(_T("Code I 2 of 5")); m_BtnType8.SetWindowText(_T("CODABAR")); m_BtnType9.SetWindowText(_T("UCCEAN 128")); m_BtnType10.SetWindowText(_T("Code 93")); m_bInit=TRUE; OnSearchAllClick(); OnSelChangeSymbType(); OnChkUseRgn(); OnUseColors(); m_bInit=FALSE; return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CBarReadOpt::OnSearchAllClick() { if(!m_bInit) m_bSearchAll = !m_bSearchAll; m_ChkSearchAll.SetCheck((m_bSearchAll) ? 1:0); m_BtnType1.EnableWindow(!m_bSearchAll); m_BtnType2.EnableWindow(!m_bSearchAll); m_BtnType3.EnableWindow(!m_bSearchAll); m_BtnType4.EnableWindow(!m_bSearchAll); m_BtnType5.EnableWindow(!m_bSearchAll); m_BtnType6.EnableWindow(!m_bSearchAll); m_BtnType7.EnableWindow(!m_bSearchAll); m_BtnType8.EnableWindow(!m_bSearchAll); m_BtnType9.EnableWindow(!m_bSearchAll); m_BtnType10.EnableWindow(!m_bSearchAll); } void CBarReadOpt::OnSelChangeSymbType() { DWORD dwSymbType = m_CmbSymbolType.GetItemData(m_CmbSymbolType.GetCurSel()); switch (dwSymbType) { #ifndef UNICODE case BARCODE_LINEAR: m_BtnType1.ShowWindow(SW_SHOW); m_BtnType2.ShowWindow(SW_SHOW); m_BtnType3.ShowWindow(SW_SHOW); m_BtnType4.ShowWindow(SW_SHOW); m_BtnType5.ShowWindow(SW_SHOW); m_BtnType6.ShowWindow(SW_SHOW); m_BtnType7.ShowWindow(SW_SHOW); m_BtnType8.ShowWindow(SW_SHOW); m_BtnType9.ShowWindow(SW_SHOW); m_BtnType10.ShowWindow(SW_SHOW); m_BtnType1.SetWindowText(_T("EAN 13")); m_BtnType2.SetWindowText(_T("EAN 8")); m_BtnType3.SetWindowText(_T("UPC A")); m_BtnType4.SetWindowText(_T("UPC E")); m_BtnType5.SetWindowText(_T("Code 3 of 9")); m_BtnType6.SetWindowText(_T("Code 128")); m_BtnType7.SetWindowText(_T("Code I 2 of 5")); m_BtnType8.SetWindowText(_T("CODABAR")); m_BtnType9.SetWindowText(_T("UCCEAN 128")); m_BtnType10.SetWindowText(_T("Code 93")); m_BtnErrDigit.EnableWindow(); m_EditMinLength.EnableWindow(); m_EditGranulaity.EnableWindow(); m_EditWhiteLines.EnableWindow(); m_BtnDirLeftToRight.EnableWindow(); m_BtnDirRightToLeft.EnableWindow(); m_BtnDirTopToBtm.EnableWindow(); m_BtnDirBtmToTop.EnableWindow(); m_BtnDirVert.EnableWindow(); m_BtnDirSkew.EnableWindow(); m_BtnDirHoriz.EnableWindow(); m_BtnDirDiagonal.EnableWindow(); break; #endif case BARCODE_PDF: m_BtnType1.ShowWindow(SW_HIDE); m_BtnType2.ShowWindow(SW_HIDE); m_BtnType3.ShowWindow(SW_HIDE); m_BtnType4.ShowWindow(SW_HIDE); m_BtnType5.ShowWindow(SW_HIDE); m_BtnType6.ShowWindow(SW_HIDE); m_BtnType7.ShowWindow(SW_HIDE); m_BtnType8.ShowWindow(SW_HIDE); m_BtnType9.ShowWindow(SW_HIDE); m_BtnType10.ShowWindow(SW_HIDE); m_BtnErrDigit.EnableWindow(FALSE); m_EditMinLength.EnableWindow(FALSE); m_EditGranulaity.EnableWindow(FALSE); m_EditWhiteLines.EnableWindow(FALSE); m_BtnDirLeftToRight.EnableWindow(); m_BtnDirRightToLeft.EnableWindow(); m_BtnDirTopToBtm.EnableWindow(); m_BtnDirBtmToTop.EnableWindow(); m_BtnDirVert.EnableWindow(); m_BtnDirSkew.EnableWindow(); m_BtnDirHoriz.EnableWindow(); m_BtnDirDiagonal.EnableWindow(); break; case BARCODE_DATAMATRIX: m_BtnType1.ShowWindow(SW_SHOW); m_BtnType2.ShowWindow(SW_SHOW); m_BtnType3.ShowWindow(SW_SHOW); m_BtnType4.ShowWindow(SW_HIDE); m_BtnType5.ShowWindow(SW_HIDE); m_BtnType6.ShowWindow(SW_HIDE); m_BtnType7.ShowWindow(SW_HIDE); m_BtnType8.ShowWindow(SW_HIDE); m_BtnType9.ShowWindow(SW_HIDE); m_BtnType10.ShowWindow(SW_HIDE); m_BtnType1.SetWindowText(_T("Square")); m_BtnType2.SetWindowText(_T("Rectangle")); m_BtnType3.SetWindowText(_T("Small")); m_BtnErrDigit.EnableWindow(FALSE); m_EditMinLength.EnableWindow(FALSE); m_EditGranulaity.EnableWindow(FALSE); m_EditWhiteLines.EnableWindow(FALSE); m_BtnDirLeftToRight.EnableWindow(FALSE); m_BtnDirRightToLeft.EnableWindow(FALSE); m_BtnDirTopToBtm.EnableWindow(FALSE); m_BtnDirBtmToTop.EnableWindow(FALSE); m_BtnDirVert.EnableWindow(FALSE); m_BtnDirSkew.EnableWindow(FALSE); m_BtnDirHoriz.EnableWindow(FALSE); m_BtnDirDiagonal.EnableWindow(FALSE); break; case BARCODE_QR: m_BtnType1.ShowWindow(SW_HIDE); m_BtnType2.ShowWindow(SW_HIDE); m_BtnType3.ShowWindow(SW_HIDE); m_BtnType4.ShowWindow(SW_HIDE); m_BtnType5.ShowWindow(SW_HIDE); m_BtnType6.ShowWindow(SW_HIDE); m_BtnType7.ShowWindow(SW_HIDE); m_BtnType8.ShowWindow(SW_HIDE); m_BtnType9.ShowWindow(SW_HIDE); m_BtnType10.ShowWindow(SW_HIDE); m_BtnErrDigit.EnableWindow(FALSE); m_EditMinLength.EnableWindow(FALSE); m_EditGranulaity.EnableWindow(FALSE); m_EditWhiteLines.EnableWindow(FALSE); m_BtnDirLeftToRight.EnableWindow(FALSE); m_BtnDirRightToLeft.EnableWindow(FALSE); m_BtnDirTopToBtm.EnableWindow(FALSE); m_BtnDirBtmToTop.EnableWindow(FALSE); m_BtnDirVert.EnableWindow(FALSE); m_BtnDirSkew.EnableWindow(FALSE); m_BtnDirHoriz.EnableWindow(FALSE); m_BtnDirDiagonal.EnableWindow(FALSE); break; } } void CBarReadOpt::OnChangeGranularity() { m_BtnOk.EnableWindow(CheckOkBtnState()); } void CBarReadOpt::OnChangeLocStartX() { m_BtnOk.EnableWindow(CheckOkBtnState()); } void CBarReadOpt::OnChangeLocStartY() { m_BtnOk.EnableWindow(CheckOkBtnState()); } void CBarReadOpt::OnChangeLocWidth() { m_BtnOk.EnableWindow(CheckOkBtnState()); } void CBarReadOpt::OnChangeLocHeight() { m_BtnOk.EnableWindow(CheckOkBtnState()); } void CBarReadOpt::OnChangeMinLength() { m_BtnOk.EnableWindow(CheckOkBtnState()); } void CBarReadOpt::OnChangeMultipleMax() { m_BtnOk.EnableWindow(CheckOkBtnState()); } L_BOOL CBarReadOpt::CheckOkBtnState() { CString strMulltipleMax; CString strMinLen; CString strHeight; CString strWidth; CString strStartY; CString strStartX; CString strGranularity; CString strWhiteLines; m_EditMultipleMax.GetWindowText(strMulltipleMax); m_EditMinLength.GetWindowText(strMinLen); m_EditHeight.GetWindowText(strHeight); m_EditWidth.GetWindowText(strWidth); m_EditStartY.GetWindowText(strStartY); m_EditStartX.GetWindowText(strStartX); m_EditGranulaity.GetWindowText(strGranularity); m_EditWhiteLines.GetWindowText(strWhiteLines); if ((strMulltipleMax.IsEmpty()) || (strMinLen.IsEmpty()) || (strHeight.IsEmpty()) || (strWidth.IsEmpty()) || (strStartY.IsEmpty())|| (strStartX.IsEmpty())|| (strGranularity.IsEmpty()) || (strWhiteLines.IsEmpty())) return FALSE; else return TRUE; } void CBarReadOpt::OnOK() { m_nUnits = m_CmbUnits.GetItemData(m_CmbUnits.GetCurSel()); m_nSymbolType = m_CmbSymbolType.GetItemData(m_CmbSymbolType.GetCurSel()); CDialog::OnOK(); } void CBarReadOpt::OnChkUseRgn() { if(!m_bInit) m_bUseRgn = !m_bUseRgn; m_ChkUseRgn.SetCheck((m_bUseRgn) ? 1:0); m_EditHeight.EnableWindow(!m_bUseRgn); m_EditWidth.EnableWindow(!m_bUseRgn); m_EditStartY.EnableWindow(!m_bUseRgn); m_EditStartX.EnableWindow(!m_bUseRgn); } void CBarReadOpt::OnUseColors() { if(!m_bInit) m_bUseColors = !m_bUseColors; m_BtnBarColor.EnableWindow(m_bUseColors); m_BtnSpaceColor.EnableWindow(m_bUseColors); } void CBarReadOpt::OnBarColorDlg() { CColorDialog ccDlg(m_BarColor.dwColorBar, CC_RGBINIT, this); if (ccDlg.DoModal() == IDOK) m_BarColor.dwColorBar = ccDlg.GetColor(); } void CBarReadOpt::OnSpaceColorDlg() { CColorDialog ccDlg(m_BarColor.dwColorSpace, CC_RGBINIT, this); if (ccDlg.DoModal() == IDOK) m_BarColor.dwColorSpace = ccDlg.GetColor(); }