// FreezeCellDlg.cpp : implementation file // #include "stdafx.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CFreezeCellDlg dialog CFreezeCellDlg::CFreezeCellDlg(LImageViewer * pImageViewer, CWnd* pParent /*=NULL*/) : CDialog(CFreezeCellDlg::IDD, pParent) { //{{AFX_DATA_INIT(CFreezeCellDlg) m_nCellIndex = 0; m_bFreeze = TRUE; m_nApplyAll = 0; m_pImageViewer = pImageViewer; m_nCellCount = m_pImageViewer->GetCellCount(0) > 0 ? m_pImageViewer->GetCellCount(0)-1 : 0; //}}AFX_DATA_INIT } void CFreezeCellDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CFreezeCellDlg) DDX_Control(pDX, IDCMB_FREEZECELL_ACTION, m_cmbAction); DDX_Text(pDX, IDEDT_FREEZECELL_INDEX, m_nCellIndex); DDX_Radio(pDX, IDRAD_FREEZECELL_ALL, m_nApplyAll); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CFreezeCellDlg, CDialog) //{{AFX_MSG_MAP(CFreezeCellDlg) ON_BN_CLICKED(IDRAD_FREEZCELL_ALL, OnFreezeAllCells) ON_BN_CLICKED(IDRAD_FREEZCELL_CELL, OnFreezCell) ON_BN_CLICKED(IDAPPLY, OnApply) ON_CBN_SELCHANGE(IDCMB_FREEZECELL_ACTION, OnSelChangeFreeze) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CFreezeCellDlg message handlers BOOL CFreezeCellDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(TRUE); m_nCellIndex = 0; m_nApplyAll = 0; GetDlgItem(IDEDT_FREEZCELL_INDEX)->EnableWindow(FALSE); GetDlgItem(IDSTC_FREEZCELL_INDEX)->EnableWindow(FALSE); m_cmbAction.AddString(TEXT("Freeze")); m_cmbAction.SetItemData(0, 1); m_cmbAction.AddString(TEXT("Unfreeze")); m_cmbAction.SetItemData(1, 0); m_cmbAction.SetCurSel(0); m_nCellIndex = m_nCellCount; UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CFreezeCellDlg::OnFreezeAllCells() { GetDlgItem(IDSTC_FREEZECELL_INDEX)->EnableWindow(FALSE); GetDlgItem(IDEDT_FREEZECELL_INDEX)->EnableWindow(FALSE); } void CFreezeCellDlg::OnFreezCell() { GetDlgItem(IDSTC_FREEZECELL_INDEX)->EnableWindow(TRUE); GetDlgItem(IDEDT_FREEZECELL_INDEX)->EnableWindow(TRUE); } void CFreezeCellDlg::OnApply() { UpdateData(TRUE); m_pImageViewer->FreezeCell((m_nApplyAll ? m_nCellIndex : -1), m_bFreeze, 0); } void CFreezeCellDlg::OnOK() { OnApply(); CDialog::OnOK(); } void CFreezeCellDlg::OnSelChangeFreeze() { m_bFreeze = !m_cmbAction.GetCurSel(); } BOOL CFreezeCellDlg::GetFreeze() { return m_bFreeze; }