// ColumnDividerPage.cpp : implementation file // #include "stdafx.h" #include "resource.h" #include "ColumnDividerPage.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CColumnDividerPage property page IMPLEMENT_DYNCREATE(CColumnDividerPage, CDividerPage) CColumnDividerPage::CColumnDividerPage() : CDividerPage(CColumnDividerPage::IDD) { //{{AFX_DATA_INIT(CColumnDividerPage) m_bInheritSheet = FALSE; //}}AFX_DATA_INIT } CColumnDividerPage::~CColumnDividerPage() { } void CColumnDividerPage::DoDataExchange(CDataExchange* pDX) { CDividerPage::DoDataExchange(pDX); //{{AFX_DATA_MAP(CColumnDividerPage) DDX_Check(pDX, IDC_INHERIT_SHEET, m_bInheritSheet); //}}AFX_DATA_MAP if(!pDX->m_bSaveAndValidate) { if(m_bInheritSheet) { GetDlgItem(IDC_DIVIDER_COLOR)->EnableWindow(FALSE); GetDlgItem(IDC_DIVIDER_LINETYPE)->EnableWindow(FALSE); GetDlgItem(IDC_DIVIDER_LINEWIDTH)->EnableWindow(FALSE); GetDlgItem(IDC_NODIVIDER)->EnableWindow(FALSE); } else { GetDlgItem(IDC_NODIVIDER)->EnableWindow(TRUE); } } } BEGIN_MESSAGE_MAP(CColumnDividerPage, CDividerPage) //{{AFX_MSG_MAP(CColumnDividerPage) ON_BN_CLICKED(IDC_INHERIT_SHEET, OnInheritSheet) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CColumnDividerPage message handlers void CColumnDividerPage::Obj2Dlg(const TSheetColumn &col, const TDividerStyle &styleParent) { const TDividerStyle ÷r=col.GetDividerStyle(); m_parentDivider=styleParent; if(divider.GetDividerFlag()==TDividerStyle::kParent) { CDividerPage::Obj2Dlg(m_parentDivider); m_bInheritSheet=TRUE; } else { CDividerPage::Obj2Dlg(divider); m_bInheritSheet=FALSE; } } void CColumnDividerPage::Dlg2Obj(TSheetColumn &col) const { TDividerStyle ÷r=col.GetDividerStyle(); if(m_bInheritSheet) { CopyObject(m_parentDivider, divider); divider.SetDividerFlag(TDividerStyle::kParent); } else { CDividerPage::Dlg2Obj(divider); if(divider.GetDividerFlag()==TDividerStyle::kParent) divider.SetDividerFlag(TDividerStyle::kLocal); } } void CColumnDividerPage::OnInheritSheet() { UpdateData(TRUE); UpdateData(FALSE); }