Timestamper Class ExtensionTimestampPropPage.h
// Copyright 2006 ESRI
//
// All rights reserved under the copyright laws of the United States
// and applicable international laws, treaties, and conventions.
//
// You may freely redistribute and use this sample code, with or
// without modification, provided you include the original copyright
// notice and use restrictions.
//
// See the use restrictions.
// TimestampPropPage.h : Declaration of the CTimestampPropPage
#ifndef __TIMESTAMPPROPPAGE_H_
#define __TIMESTAMPPROPPAGE_H_
#include "resource.h" // main symbols
#include "TimestampClassExtension.h"
//AtlControls.h provide thin classes for controls
// and comes with the Microsoft ATL sample 'ATLCON'
#include "AtlControls.h"
_COM_SMARTPTR_TYPEDEF(ITimestampClassExtension, __uuidof(ITimestampClassExtension));
EXTERN_C const CLSID CLSID_TimestampPropPage;
/////////////////////////////////////////////////////////////////////////////
// CTimestampPropPage
class ATL_NO_VTABLE CTimestampPropPage :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CTimestampPropPage, &CLSID_TimestampPropPage>,
public IPropertyPageImpl<CTimestampPropPage>,
public IPropertyPageContext,
public CDialogImpl<CTimestampPropPage>
{
public:
CTimestampPropPage()
{
m_dwTitleID = IDS_TITLETimestampPropPage;
m_dwHelpFileID = IDS_HELPFILETimestampPropPage;
m_dwDocStringID = IDS_DOCSTRINGTimestampPropPage;
}
enum {IDD = IDD_TIMESTAMPPROPPAGE};
DECLARE_REGISTRY_RESOURCEID(IDR_TIMESTAMPPROPPAGE)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_CATEGORY_MAP(CTimestampPropPage)
IMPLEMENTED_CATEGORY(__uuidof(CATID_TablePropertyPages))
IMPLEMENTED_CATEGORY(__uuidof(CATID_FeatureClassPropertyPages))
END_CATEGORY_MAP()
BEGIN_COM_MAP(CTimestampPropPage)
COM_INTERFACE_ENTRY(IPropertyPage)
COM_INTERFACE_ENTRY(IPropertyPageContext)
END_COM_MAP()
BEGIN_MSG_MAP(CTimestampPropPage)
CHAIN_MSG_MAP(IPropertyPageImpl<CTimestampPropPage>)
COMMAND_HANDLER(IDC_COMBO_CRE, CBN_EDITUPDATE, OnComboChange)
COMMAND_HANDLER(IDC_COMBO_CRE, CBN_SELCHANGE, OnComboChange)
COMMAND_HANDLER(IDC_COMBO_MOD, CBN_EDITUPDATE, OnComboChange)
COMMAND_HANDLER(IDC_COMBO_MOD, CBN_SELCHANGE, OnComboChange)
COMMAND_HANDLER(IDC_COMBO_USR, CBN_EDITUPDATE, OnComboChange)
COMMAND_HANDLER(IDC_COMBO_USR, CBN_SELCHANGE, OnComboChange)
END_MSG_MAP()
// IPropertyPage
STDMETHOD(Apply)(void);
STDMETHOD(Show)(UINT nCmdShow);
// IPropertyPageContext
STDMETHOD(get_Priority)(LONG * Priority);
STDMETHOD(Applies)(VARIANT unkArray, VARIANT_BOOL * Applies);
STDMETHOD(CreateCompatibleObject)(VARIANT kind, VARIANT * pNewObject);
STDMETHOD(QueryObject)(VARIANT theObject);
STDMETHOD(GetHelpFile)(LONG controlID, BSTR * HelpFile);
STDMETHOD(GetHelpId)(LONG controlID, LONG * helpID);
STDMETHOD(Cancel)();
private:
LRESULT OnComboChange(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
IObjectClassPtr m_ipObjectClass;
ATLControls::CComboBox m_cboCre;
ATLControls::CComboBox m_cboMod;
ATLControls::CComboBox m_cboUsr;
};
#endif //__TIMESTAMPPROPPAGE_H_