/*[]=====================================================================[]*/ /*[] LeadTools Run Time Library - Version 13 []*/ /*[] []*/ /*[] []*/ /*[] Copyright (c) 1991-2003 by LEAD Technologies, Inc. []*/ /*[] All Rights Reserved. []*/ /*[]=====================================================================[]*/ #define STRICT #include #include #include "BarCode.h" L_VOID InitReadDialog (HWND hWnd); L_VOID OnSelChangeSymbType (HWND hWnd); L_VOID OnSearchAllClick (HWND hWnd); L_VOID OnChkUseRgn (HWND hWnd); L_INT ValidateReadDialog (HWND hWnd, L_BOOL bOkPress); L_VOID OnUseColorsClick (HWND hWnd); L_VOID OnShowBarColorDlg (HWND hWnd); L_VOID OnShowSpaceColorDlg (HWND hWnd); L_BOOL CALLBACK ReadDlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { L_INT nRet; UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: InitReadDialog(hDlg); return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_SYMB_TYPE: switch (HIWORD(wParam)) { case CBN_SELCHANGE: OnSelChangeSymbType(hDlg); break; } return TRUE; case IDC_MULTIPLE_MAX: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_LOC_START_X: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_LOC_START_Y: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_LOC_WIDTH: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_LOC_HEIGHT: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_MIN_LENGTH: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_WHITE_LINES: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_GRANULARITY: switch (HIWORD(wParam)) { case EN_CHANGE: ValidateReadDialog(hDlg, FALSE); break; } return TRUE; case IDC_CHK_USERGN: switch (HIWORD(wParam)) { case BN_CLICKED: OnChkUseRgn(hDlg); break; } return TRUE; case IDC_SEARCH_ANY: switch (HIWORD(wParam)) { case BN_CLICKED: OnSearchAllClick(hDlg); break; } return TRUE; case IDC_USE_COLORS: switch (HIWORD(wParam)) { case BN_CLICKED: OnUseColorsClick(hDlg); break; } return TRUE; case IDC_BAR_COLOR_DLG: switch (HIWORD(wParam)) { case BN_CLICKED: OnShowBarColorDlg(hDlg); break; } return TRUE; case IDC_SPACE_COLOR_DLG: switch (HIWORD(wParam)) { case BN_CLICKED: OnShowSpaceColorDlg(hDlg); break; } return TRUE; case IDOK: nRet = ValidateReadDialog(hDlg, TRUE); if (nRet == SUCCESS) EndDialog (hDlg, IDOK); return TRUE; case IDCANCEL: EndDialog (hDlg, IDCANCEL); return TRUE; } } return FALSE; } L_VOID OnSelChangeSymbType(HWND hWnd) { HWND hwndCtrl; DWORD dwSymbType; hwndCtrl = GetDlgItem(hWnd, IDC_SYMB_TYPE); dwSymbType = ComboBox_GetItemData(hwndCtrl, ComboBox_GetCurSel(hwndCtrl)); switch (dwSymbType) { #ifndef UNICODE case BAR_CODE_1D: hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE1); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("EAN 13")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE2); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("EAN 8")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE3); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("UPC A")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE4); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("UPC E")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE5); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("Code 3 of 9")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE6); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("Code 128")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE7); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("Code I 2 of 5")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE8); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("CODABAR")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE9); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("UCCEAN 128")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE10); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("Code 93")); hwndCtrl = GetDlgItem(hWnd, IDC_MIN_LENGTH); EnableWindow(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_WHITE_LINES); EnableWindow(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_GRANULARITY); EnableWindow(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_ERR_DIGIT); EnableWindow(hwndCtrl, TRUE); Button_SetCheck(hwndCtrl, Bar1D.bErrorCheck); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RETURN_CHECKDIGIT); EnableWindow(hwndCtrl, TRUE); Button_SetCheck(hwndCtrl, bReturnCheckDigit); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_LEFT_TO_RIGHT); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_LEFT_TO_RIGHT) == BARCODE_DIR_LEFT_TO_RIGHT)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RIGHT_TO_LEFT); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_RIGHT_TO_LEFT) == BARCODE_DIR_RIGHT_TO_LEFT)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_TOP_TO_BOTTOM); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_TOP_TO_BOTTOM) == BARCODE_DIR_TOP_TO_BOTTOM)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_BOTTOM_TO_TOP); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_BOTTOM_TO_TOP) == BARCODE_DIR_BOTTOM_TO_TOP)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_SKEW); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_SKEW) == BARCODE_DIR_SKEW)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_HORIZANTAL); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_HORIZONTAL) == BARCODE_DIR_HORIZONTAL)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_VERTICAL); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_VERTICAL) == BARCODE_DIR_VERTICAL)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_DIAGONAL); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_DIAGONAL) == BARCODE_DIR_DIAGONAL)) Button_SetCheck(hwndCtrl, TRUE); break; #endif case BAR_CODE_DM: hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE1); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("Square")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE2); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("Rectangle")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE3); ShowWindow(hwndCtrl, SW_SHOW); SetWindowText(hwndCtrl, TEXT("Small")); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE4); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE5); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE6); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE7); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE8); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE9); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE10); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_MIN_LENGTH); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_WHITE_LINES); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_GRANULARITY); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_ERR_DIGIT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RETURN_CHECKDIGIT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_LEFT_TO_RIGHT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RIGHT_TO_LEFT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_TOP_TO_BOTTOM); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_BOTTOM_TO_TOP); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_SKEW); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_HORIZANTAL); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_VERTICAL); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_DIAGONAL); EnableWindow(hwndCtrl, FALSE); break; case BAR_CODE_PDF: hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE1); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE2); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE3); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE4); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE5); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE6); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE7); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE8); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE9); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE10); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_MIN_LENGTH); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_WHITE_LINES); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_GRANULARITY); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_ERR_DIGIT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RETURN_CHECKDIGIT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_LEFT_TO_RIGHT); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((BarRPDF.nDirection & BARCODE_DIR_LEFT_TO_RIGHT) == BARCODE_DIR_LEFT_TO_RIGHT)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RIGHT_TO_LEFT); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((BarRPDF.nDirection & BARCODE_DIR_RIGHT_TO_LEFT) == BARCODE_DIR_RIGHT_TO_LEFT)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_TOP_TO_BOTTOM); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((BarRPDF.nDirection & BARCODE_DIR_TOP_TO_BOTTOM) == BARCODE_DIR_TOP_TO_BOTTOM)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_BOTTOM_TO_TOP); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((BarRPDF.nDirection & BARCODE_DIR_BOTTOM_TO_TOP) == BARCODE_DIR_BOTTOM_TO_TOP)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_SKEW); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_SKEW) == BARCODE_DIR_SKEW)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_HORIZANTAL); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_HORIZONTAL) == BARCODE_DIR_HORIZONTAL)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_VERTICAL); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_VERTICAL) == BARCODE_DIR_VERTICAL)) Button_SetCheck(hwndCtrl, TRUE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_DIAGONAL); EnableWindow(hwndCtrl, TRUE); if ((bInitDlg) && ((Bar1D.nDirection & BARCODE_DIR_DIAGONAL) == BARCODE_DIR_DIAGONAL)) Button_SetCheck(hwndCtrl, TRUE); break; case BAR_CODE_QR: hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE1); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE2); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE3); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE4); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE5); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE6); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE7); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE8); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE9); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE10); ShowWindow(hwndCtrl, SW_HIDE); hwndCtrl = GetDlgItem(hWnd, IDC_MIN_LENGTH); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_WHITE_LINES); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_GRANULARITY); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_ERR_DIGIT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RETURN_CHECKDIGIT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_LEFT_TO_RIGHT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RIGHT_TO_LEFT); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_TOP_TO_BOTTOM); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_BOTTOM_TO_TOP); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_SKEW); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_HORIZANTAL); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_VERTICAL); EnableWindow(hwndCtrl, FALSE); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_DIAGONAL); EnableWindow(hwndCtrl, FALSE); break; } } L_VOID OnSearchAllClick(HWND hWnd) { HWND hwndCtrl; if (!bInitDlg) bSearchAll = !bSearchAll; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_ANY); Button_SetCheck(hwndCtrl, bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE1); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE2); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE3); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE4); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE5); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE6); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE7); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE8); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE9); EnableWindow(hwndCtrl, !bSearchAll); hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE10); EnableWindow(hwndCtrl, !bSearchAll); } L_VOID OnChkUseRgn(HWND hWnd) { HWND hwndCtrl; if (!bInitDlg) bUseRgn = !bUseRgn; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_USERGN); Button_SetCheck(hwndCtrl, bUseRgn); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_START_X); EnableWindow(hwndCtrl, !bUseRgn); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_START_Y); EnableWindow(hwndCtrl, !bUseRgn); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_WIDTH); EnableWindow(hwndCtrl, !bUseRgn); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_HEIGHT); EnableWindow(hwndCtrl, !bUseRgn); } L_INT ValidateReadDialog(HWND hWnd, L_BOOL bOkPress) { HWND hwndCtrl; HWND hwndOKBtn; L_TCHAR szText[MAX_BUFFER_SIZE]; L_BOOL bDirFlag; L_BOOL bBarCheck; hwndOKBtn= GetDlgItem(hWnd, IDOK); hwndCtrl = GetDlgItem(hWnd, IDC_MULTIPLE_MAX); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else nMultiMax = _ttoi(szText); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_START_X); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else rcBarSearch.left = _ttoi(szText); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_START_Y); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else rcBarSearch.top = _ttoi(szText); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_WIDTH); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else rcBarSearch.right = _ttoi(szText) + rcBarSearch.left; hwndCtrl = GetDlgItem(hWnd, IDC_LOC_HEIGHT); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else rcBarSearch.bottom = _ttoi(szText) + rcBarSearch.top; hwndCtrl = GetDlgItem(hWnd, IDC_MIN_LENGTH); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else { if (_ttoi(szText) > 63 || _ttoi(szText) < 1) MessageBox(hWnd, TEXT("Invalid value, please enter value between 1 - 63"), TEXT("Notice"), MB_OK); else Bar1D.nMinLength = _ttoi(szText); } hwndCtrl = GetDlgItem(hWnd, IDC_WHITE_LINES); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else Bar1D.nWhiteLines = _ttoi(szText); hwndCtrl = GetDlgItem(hWnd, IDC_GRANULARITY); memset(szText, 0, MAX_BUFFER_SIZE); GetWindowText(hwndCtrl, szText, MAX_BUFFER_SIZE); if (lstrlen(szText) == 0) { EnableWindow(hwndOKBtn, FALSE); return FAILURE; } else { if (_ttoi(szText) > 256 || _ttoi(szText) < 1) MessageBox(hWnd, TEXT("Invalid value, please enter value between 1 - 256"), TEXT("Notice"), MB_OK); else Bar1D.nGranularity = _ttoi(szText); } if (bOkPress) { hwndCtrl = GetDlgItem(hWnd, IDC_SYMB_TYPE); nRCurSelSymbType = ComboBox_GetItemData(hwndCtrl, ComboBox_GetCurSel(hwndCtrl)); hwndCtrl = GetDlgItem(hWnd, IDC_UNITS); nRUnits = ComboBox_GetItemData(hwndCtrl, ComboBox_GetCurSel(hwndCtrl)); ulSearchType = 0; switch (nRCurSelSymbType) { #ifndef UNICODE case BAR_CODE_1D: if (bSearchAll) ulSearchType = BARCODE_1D_READ_ANYTYPE; else { hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE1); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_EAN_13; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE2); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_EAN_8; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE3); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_UPC_A; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE4); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_UPC_E; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE5); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_CODE_3_OF_9; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE6); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_CODE_128; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE7); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_CODE_I2_OF_5; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE8); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_CODA_BAR; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE9); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_UCCEAN_128; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE10); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_1D_CODE_93; } hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RETURN_CHECKDIGIT); EnableWindow(hwndCtrl, TRUE); bReturnCheckDigit = Button_GetCheck(hwndCtrl); hwndCtrl = GetDlgItem(hWnd, IDC_CHK_ERR_DIGIT); Bar1D.bErrorCheck = Button_GetCheck(hwndCtrl); Bar1D.nDirection = 0; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_BOTTOM_TO_TOP); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_BOTTOM_TO_TOP; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_LEFT_TO_RIGHT); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_LEFT_TO_RIGHT; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RIGHT_TO_LEFT); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_RIGHT_TO_LEFT; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_TOP_TO_BOTTOM); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_TOP_TO_BOTTOM; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_SKEW); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_SKEW; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_HORIZANTAL); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_HORIZONTAL; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_VERTICAL); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_VERTICAL; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_DIAGONAL); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) Bar1D.nDirection |= BARCODE_DIR_DIAGONAL; break; #endif case BAR_CODE_DM: hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE1); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_DM_READ_SQUARE; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE2); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_DM_READ_RECTANGLE; hwndCtrl = GetDlgItem(hWnd, IDC_SEARCH_TYPE3); bBarCheck = Button_GetCheck(hwndCtrl); if (bBarCheck) ulSearchType |= BARCODE_DM_READ_SMALL; if (bSearchAll) { ulSearchType = BARCODE_DM_READ_SMALL | BARCODE_DM_READ_RECTANGLE | BARCODE_DM_READ_SQUARE; } break; case BAR_CODE_PDF: ulSearchType = BARCODE_PDF417; BarRPDF.nDirection = 0; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_BOTTOM_TO_TOP); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_BOTTOM_TO_TOP; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_LEFT_TO_RIGHT); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_LEFT_TO_RIGHT; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_RIGHT_TO_LEFT); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_RIGHT_TO_LEFT; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_TOP_TO_BOTTOM); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_TOP_TO_BOTTOM; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_SKEW); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_SKEW; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_HORIZANTAL); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_HORIZONTAL; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_VERTICAL); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_VERTICAL; hwndCtrl = GetDlgItem(hWnd, IDC_CHK_DIR_DIAGONAL); bDirFlag = Button_GetCheck(hwndCtrl); if (bDirFlag) BarRPDF.nDirection |= BARCODE_DIR_DIAGONAL; break; case BAR_CODE_QR: ulSearchType = BARCODE_QR_CODE; break; } ulRFlags = (bRUseColors) ? BARCODE_USECOLORS : 0; if (bReturnCheckDigit) ulRFlags |= BARCODE_RETURNCHECK; } else EnableWindow(hwndOKBtn, TRUE); return SUCCESS; } L_VOID InitReadDialog(HWND hWnd) { HWND hwndCtrl; L_TCHAR szText[MAX_BUFFER_SIZE]; hwndCtrl = GetDlgItem(hWnd, IDC_SYMB_TYPE); #ifndef UNICODE ComboBox_AddString (hwndCtrl, TEXT("Bar Codes")); #endif ComboBox_AddString (hwndCtrl, TEXT("PDF417")); ComboBox_AddString (hwndCtrl, TEXT("Data Matrix")); ComboBox_AddString (hwndCtrl, TEXT("QR")); #ifndef UNICODE ComboBox_SetItemData (hwndCtrl, 0, BAR_CODE_1D); ComboBox_SetItemData (hwndCtrl, 1, BAR_CODE_PDF); ComboBox_SetItemData (hwndCtrl, 2, BAR_CODE_DM); ComboBox_SetItemData (hwndCtrl, 3, BAR_CODE_QR); ComboBox_SetCurSel (hwndCtrl, nRCurSelSymbType); #else ComboBox_SetItemData (hwndCtrl, 0, BAR_CODE_PDF); ComboBox_SetItemData (hwndCtrl, 1, BAR_CODE_DM); ComboBox_SetItemData (hwndCtrl, 2, BAR_CODE_QR); ComboBox_SetCurSel (hwndCtrl, nRCurSelSymbType - 1); #endif hwndCtrl = GetDlgItem(hWnd, IDC_UNITS); ComboBox_AddString(hwndCtrl, TEXT("Scans/Pixels")); ComboBox_AddString(hwndCtrl, TEXT("Inches")); ComboBox_AddString(hwndCtrl, TEXT("MiliMeters")); ComboBox_SetItemData(hwndCtrl, 0, BARCODE_SCANLINES_PER_PIXELS); ComboBox_SetItemData(hwndCtrl, 1, BARCODE_INCHES); ComboBox_SetItemData(hwndCtrl, 2, BARCODE_MILLIMETERS); ComboBox_SetCurSel(hwndCtrl, nRUnits); hwndCtrl = GetDlgItem(hWnd, IDC_MULTIPLE_MAX); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), nMultiMax); SetWindowText(hwndCtrl, szText); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_START_X); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), rcBarSearch.left); SetWindowText(hwndCtrl, szText); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_START_Y); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), rcBarSearch.top); SetWindowText(hwndCtrl, szText); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_WIDTH); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), abs(rcBarSearch.right - rcBarSearch.left)); SetWindowText(hwndCtrl, szText); hwndCtrl = GetDlgItem(hWnd, IDC_LOC_HEIGHT); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), abs(rcBarSearch.bottom - rcBarSearch.top)); SetWindowText(hwndCtrl, szText); hwndCtrl = GetDlgItem(hWnd, IDC_MIN_LENGTH); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), Bar1D.nMinLength); SetWindowText(hwndCtrl, szText); hwndCtrl = GetDlgItem(hWnd, IDC_WHITE_LINES); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), Bar1D.nWhiteLines); SetWindowText(hwndCtrl, szText); hwndCtrl = GetDlgItem(hWnd, IDC_GRANULARITY); memset(szText, 0, MAX_BUFFER_SIZE); wsprintf(szText, TEXT("%d"), Bar1D.nGranularity); SetWindowText(hwndCtrl, szText); bInitDlg = TRUE; OnSelChangeSymbType(hWnd); OnSearchAllClick(hWnd); OnChkUseRgn(hWnd); OnUseColorsClick(hWnd); bInitDlg = FALSE; } L_VOID OnUseColorsClick(HWND hWnd) { HWND hwndCtrl; if (!bInitDlg) bRUseColors = !bRUseColors; hwndCtrl = GetDlgItem(hWnd, IDC_USE_COLORS); Button_SetCheck(hwndCtrl, bRUseColors); hwndCtrl = GetDlgItem(hWnd, IDC_BAR_COLOR_DLG); EnableWindow(hwndCtrl, bRUseColors); hwndCtrl = GetDlgItem(hWnd, IDC_SPACE_COLOR_DLG); EnableWindow(hwndCtrl, bRUseColors); } L_VOID OnShowBarColorDlg(HWND hWnd) { COLORREF crCust[16]; CHOOSECOLOR cc; memset(&cc, 0, sizeof(CHOOSECOLOR)); cc.lStructSize = sizeof(CHOOSECOLOR); cc.hwndOwner = hWnd; cc.hInstance = (HWND)hInstMain; cc.rgbResult = BarRColor.dwColorBar; cc.lpCustColors = crCust; cc.Flags = CC_RGBINIT; if (ChooseColor(&cc)) BarRColor.dwColorBar = cc.rgbResult; } L_VOID OnShowSpaceColorDlg(HWND hWnd) { COLORREF crCust[16]; CHOOSECOLOR cc; memset(&cc, 0, sizeof(CHOOSECOLOR)); cc.lStructSize = sizeof(CHOOSECOLOR); cc.hwndOwner = hWnd; cc.hInstance = (HWND)hInstMain; cc.rgbResult = BarRColor.dwColorSpace; cc.lpCustColors = crCust; cc.Flags = CC_RGBINIT; if (ChooseColor(&cc)) BarRColor.dwColorSpace = cc.rgbResult; }