/*[]=====================================================================[]*/ /*[] 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" static L_BOOL StatsDlg_OnCommand (HWND hWnd, L_INT nID, HWND hWndCtl, L_UINT uCodeNotify); static L_BOOL StatsDlg_OnInitDialog (HWND hWnd, HWND hWndFocus, LPARAM lParam); L_BOOL CALLBACK StatsDlgProc (HWND hWnd, L_UINT uMessage, WPARAM wParam, LPARAM lParam) { switch(uMessage) { HANDLE_MSG (hWnd, WM_COMMAND, StatsDlg_OnCommand); HANDLE_MSG (hWnd, WM_INITDIALOG, StatsDlg_OnInitDialog); } return FALSE; } static L_BOOL StatsDlg_OnInitDialog (HWND hWnd, HWND hWndFocus, LPARAM lParam) { HDISPCONTAINER hCon = (HDISPCONTAINER)lParam; L_INT nCount; L_INT nRet; RECT rcRect; L_UINT uRow, uCol; L_TCHAR szText[20] = TEXT("\0"); L_INT nI; L_INT nIndex; MoveDialogToMiddle(hWnd); SetWindowLong(hWnd, GWL_USERDATA, (long)lParam); nIndex = SearchForFirstSelectedCell(hCon); nIndex = max(0, nIndex); L_DispContainerGetActionCount(hCon, &nCount, 0); SetDlgItemInt(hWnd, IDC_STATS_ACTIONCOUNT_TXT, nCount, FALSE); nCount = L_DispContainerGetCellCount(hCon, 0); SetDlgItemInt(hWnd, IDC_STATS_CELLCOUNT_TXT, nCount, FALSE); nRet = L_DispContainerGetCellBounds(hCon, nIndex, &rcRect, 0); if (nRet == SUCCESS) { SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDL_TXT, rcRect.left, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDT_TXT, rcRect.top, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDR_TXT, rcRect.right, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDB_TXT, rcRect.bottom, FALSE); } nRet = L_DispContainerGetCellPosition(hCon, nIndex, &uRow, &uCol, 0); if (nRet == SUCCESS) { SetDlgItemInt(hWnd, IDC_STATS_ROWPOS_TXT, uRow, FALSE); SetDlgItemInt(hWnd, IDC_STATS_COLPOS_TXT, uCol, FALSE); } L_DispContainerGetBounds(hCon, &rcRect, 0); SetDlgItemInt(hWnd, IDC_STATS_CNTR_BNDL_TXT, rcRect.left, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CNTR_BNDT_TXT, rcRect.top, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CNTR_BNDR_TXT, rcRect.right, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CNTR_BNDB_TXT, rcRect.bottom, FALSE); for (nI = 0; nI < nCount; nI++) { #if defined UNICODE _itow(nI, szText, 10); #else _itoa(nI, szText, 10); #endif ComboBox_AddString(GetDlgItem(hWnd, IDC_STATS_INDEX_COM), szText); } ComboBox_SetCurSel(GetDlgItem(hWnd, IDC_STATS_INDEX_COM), nIndex); if (nCount == 0) EnableWindow(GetDlgItem(hWnd, IDC_STATS_INDEX_COM), FALSE); else { SetDlgItemText(hWnd, IDC_STATS_CELL_FRZ_TXT, L_DispContainerIsCellFrozen(hCon, nIndex, 0) ? TEXT("Yes") : TEXT("No")); SetDlgItemText(hWnd, IDC_STATS_CELL_SEL_TXT, L_DispContainerIsCellSelected(hCon, nIndex, 0) ? TEXT("Yes") : TEXT("No")); } ShowWindow(hWnd, SW_SHOW); UpdateWindow(hWnd); SetFocus(GetDlgItem(hWnd, IDC_STATS_INDEX_COM)); return TRUE; } static L_BOOL StatsDlg_OnCommand (HWND hWnd, L_INT nID, HWND hWndCtl, L_UINT uCodeNotify) { HDISPCONTAINER hCon = (HDISPCONTAINER)GetWindowLong(hWnd, GWL_USERDATA); switch(nID) { case IDC_STATS_INDEX_COM: { L_INT nRet; RECT rcRect; L_UINT uRow, uCol; SetDlgItemText(hWnd, IDC_STATS_CELL_SEL_TXT, L_DispContainerIsCellSelected(hCon, ComboBox_GetCurSel(hWndCtl), 0) ? TEXT("Yes") : TEXT("No")); SetDlgItemText(hWnd, IDC_STATS_CELL_FRZ_TXT, L_DispContainerIsCellFrozen(hCon, ComboBox_GetCurSel(hWndCtl), 0) ? TEXT("Yes") : TEXT("No")); nRet = L_DispContainerGetCellBounds(hCon, ComboBox_GetCurSel(hWndCtl), &rcRect, 0); if (nRet == SUCCESS) { SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDL_TXT, rcRect.left, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDT_TXT, rcRect.top, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDR_TXT, rcRect.right, FALSE); SetDlgItemInt(hWnd, IDC_STATS_CELL_BNDB_TXT, rcRect.bottom, FALSE); } nRet = L_DispContainerGetCellPosition(hCon, ComboBox_GetCurSel(hWndCtl), &uRow, &uCol, 0); if (nRet == SUCCESS) { SetDlgItemInt(hWnd, IDC_STATS_ROWPOS_TXT, uRow, FALSE); SetDlgItemInt(hWnd, IDC_STATS_COLPOS_TXT, uCol, FALSE); } } break; case IDCANCEL: case IDOK: EndDialog(hWnd, 1); break; } return TRUE; }