// InsertCellDlg1.cpp : implementation file // #include "stdafx.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CInsertCellDlg dialog CInsertCellDlg::CInsertCellDlg(CWnd* pParent /*=NULL*/) : CDialog(CInsertCellDlg::IDD, pParent) { //{{AFX_DATA_INIT(CInsertCellDlg) m_nAppend = 0; m_nCellCount = 0; //}}AFX_DATA_INIT } CInsertCellDlg::CInsertCellDlg(int nCellCount, CWnd* pParent /*=NULL*/) : CDialog(CInsertCellDlg::IDD, pParent) { m_nAppend = 0; m_nIndex = 0; m_nCellCount = nCellCount; } void CInsertCellDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CInsertCellDlg) DDX_Control(pDX, IDEDT_INDEX, m_edtCellIndex); DDX_Radio(pDX, IDRAD_APPEND, m_nAppend); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CInsertCellDlg, CDialog) //{{AFX_MSG_MAP(CInsertCellDlg) ON_BN_CLICKED(IDRAD_APPEND, OnAppend) ON_BN_CLICKED(IDRAD_INSERT, OnInsert) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CInsertCellDlg message handlers BOOL CInsertCellDlg::OnInitDialog() { CDialog::OnInitDialog(); UpdateData(TRUE); m_nAppend = 0; CString strVal; GetDlgItem(IDEDT_INDEX)->EnableWindow(FALSE); GetDlgItem(IDSTC_INDEX)->EnableWindow(FALSE); m_nIndex = m_nCellCount; strVal.Format(TEXT("%d"), m_nIndex); m_edtCellIndex.SetWindowText(strVal); m_edtCellIndex.SetNumericEditBox(0, m_nCellCount - 1, 1, 0, 0); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CInsertCellDlg::OnAppend() { GetDlgItem(IDEDT_INDEX)->EnableWindow(FALSE); GetDlgItem(IDSTC_INDEX)->EnableWindow(FALSE); } void CInsertCellDlg::OnInsert() { GetDlgItem(IDEDT_INDEX)->EnableWindow(TRUE); GetDlgItem(IDSTC_INDEX)->EnableWindow(TRUE); } void CInsertCellDlg::OnOK() { CString strVal; m_edtCellIndex.GetWindowText(strVal); m_nIndex = _ttoi(strVal); CDialog::OnOK(); }