/*[]=====================================================================[]*/ /*[] LeadTools Run Time Library - Version 14 []*/ /*[] []*/ /*[] []*/ /*[] Copyright (c) 1991-2004 LEAD Technologies, Inc. []*/ /*[] All Rights Reserved. []*/ /*[]=====================================================================[]*/ /*------------------------------------------------------------------------- We have made the assumption that the user has the knowledge of programming in C and Windows. --------------------------------------------------------------------------*/ #include "ImgConVw.h" DISPCELLPROPERTIES CellProps; static L_BOOL CellsDlg_OnCommand (HWND hWnd, L_INT nID, HWND hWndCtl, L_UINT codeNotify); static L_BOOL CellsDlg_OnInitDialog (HWND hWnd, HWND hWndFocus, LPARAM lParam); L_BOOL CALLBACK CellsDlgProc (HWND hWnd, L_UINT uMessage, WPARAM wParam, LPARAM lParam) { switch(uMessage) { HANDLE_MSG (hWnd, WM_COMMAND, CellsDlg_OnCommand); HANDLE_MSG (hWnd, WM_INITDIALOG, CellsDlg_OnInitDialog); } return FALSE; } static L_BOOL CellsDlg_OnInitDialog(HWND hWnd, HWND hWndFocus, LPARAM lParam) { HDISPCONTAINER hCon = (HDISPCONTAINER)lParam; L_INT nIndex; MoveDialogToMiddle(hWnd); SetWindowLong(hWnd, GWL_USERDATA, (long)lParam); nIndex = SearchForFirstSelectedCell(hCon); nIndex = max(0, nIndex); CellProps.uMask = DCCELLPF_ALL; CellProps.uStructSize = sizeof(DISPCELLPROPERTIES); L_DispContainerGetCellProperties(hCon, nIndex, &CellProps, 0); SetDlgItemInt(hWnd, IDC_CELLPROP_ROWS_EDT, CellProps.uNumRows, FALSE); SetDlgItemInt(hWnd, IDC_CELLPROP_COLS_EDT, CellProps.uNumCols, FALSE); SetNumericEditBox(GetDlgItem(hWnd, IDC_CELLPROP_ROWS_EDT), 1, 4, 1, 0, 0); SetNumericEditBox(GetDlgItem(hWnd, IDC_CELLPROP_COLS_EDT), 1, 8, 1, 0, 0); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_APPLYONALL_CHK), !CellProps.bIndividual); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_FITIMG_CHK), CellProps.bIsFit); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_ONMOVE_CHK), CellProps.bOnMove); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_SHOWTAG_CHK), !CellProps.uShowTags); ComboBox_AddString(GetDlgItem(hWnd, IDC_CELLPROP_SHOWRULER_COM), "None"); ComboBox_AddString(GetDlgItem(hWnd, IDC_CELLPROP_SHOWRULER_COM), "Both"); ComboBox_AddString(GetDlgItem(hWnd, IDC_CELLPROP_SHOWRULER_COM), "Vertical"); ComboBox_AddString(GetDlgItem(hWnd, IDC_CELLPROP_SHOWRULER_COM), "Horizontal"); ComboBox_SetCurSel(GetDlgItem(hWnd, IDC_CELLPROP_SHOWRULER_COM), CellProps.uShowRuler); if (SearchForFirstSelectedCell(hCon) < 0) { Button_Enable(GetDlgItem(hWnd, IDC_CELLPROP_SELECTED_CHK), FALSE); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_ALLCELLS_CHK), BST_CHECKED); } else Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_SELECTED_CHK), BST_CHECKED); return TRUE; } static L_BOOL CellsDlg_OnCommand(HWND hWnd, L_INT nID, HWND hWndCtl, L_UINT codeNotify) { HDISPCONTAINER hCon = (HDISPCONTAINER)GetWindowLong(hWnd, GWL_USERDATA); L_INT nI, nCount; CellProps.uStructSize = sizeof(DISPCELLPROPERTIES); CellProps.uMask = DCCELLPF_ALL; switch (nID) { case IDRESET: ComboBox_SetCurSel(GetDlgItem(hWnd, IDC_CELLPROP_SHOWRULER_COM), DCCELLPF_SHOWRULER_BOTH); SetDlgItemInt(hWnd, IDC_CELLPROP_ROWS_EDT, 1, FALSE); SetDlgItemInt(hWnd, IDC_CELLPROP_COLS_EDT, 1, FALSE); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_APPLYONALL_CHK), TRUE); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_FITIMG_CHK), FALSE); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_ONMOVE_CHK), FALSE); Button_SetCheck(GetDlgItem(hWnd, IDC_CELLPROP_SHOWTAG_CHK), TRUE); CellProps.uShowRuler = DCCELLPF_SHOWRULER_BOTH; CellProps.uNumRows = 1; CellProps.uNumCols = 1; CellProps.bIndividual = FALSE; CellProps.bIsFit = FALSE; CellProps.bOnMove = FALSE; CellProps.uShowTags = DCCELLPF_SHOWTAGS_SHOW; if (Button_GetCheck(GetDlgItem(hWnd, IDC_CELLPROP_ALLCELLS_CHK))) L_DispContainerSetCellProperties(hCon, -1, &CellProps, 0); else { nCount = L_DispContainerGetCellCount(hCon, 0); for (nI = 0; nI < nCount; nI++) { if (L_DispContainerIsCellSelected(hCon, nI, 0)) L_DispContainerSetCellProperties(hCon, nI, &CellProps, 0); } } break; case IDAPPLY: case IDOK: CellProps.uShowRuler = ComboBox_GetCurSel(GetDlgItem(hWnd, IDC_CELLPROP_SHOWRULER_COM)); CellProps.uNumRows = GetDlgItemInt(hWnd, IDC_CELLPROP_ROWS_EDT, NULL, FALSE); CellProps.uNumCols = GetDlgItemInt(hWnd, IDC_CELLPROP_COLS_EDT, NULL, FALSE); CellProps.bIndividual = !Button_GetCheck(GetDlgItem(hWnd, IDC_CELLPROP_APPLYONALL_CHK)); CellProps.bIsFit = Button_GetCheck(GetDlgItem(hWnd, IDC_CELLPROP_FITIMG_CHK)); CellProps.bOnMove = Button_GetCheck(GetDlgItem(hWnd, IDC_CELLPROP_ONMOVE_CHK)); CellProps.uShowTags = !Button_GetCheck(GetDlgItem(hWnd, IDC_CELLPROP_SHOWTAG_CHK)); if (Button_GetCheck(GetDlgItem(hWnd, IDC_CELLPROP_ALLCELLS_CHK))) L_DispContainerSetCellProperties(hCon, -1, &CellProps, 0); else { nCount = L_DispContainerGetCellCount(hCon, 0); for (nI = 0; nI < nCount; nI++) { if (L_DispContainerIsCellSelected(hCon, nI, 0)) L_DispContainerSetCellProperties(hCon, nI, &CellProps, 0); } } if (nID == IDAPPLY) break; EndDialog(hWnd, 1); break; case IDCANCEL: EndDialog(hWnd, 0); break; } return TRUE; }