?? ghswatch.h
字號:
// GHSwatch.h : Declaration of the CGHSwatch
#pragma once
#include "resource.h" // main symbols
#include "GHSwatchSystem.h"
#include "SwatchData.h"
#include <list>
#include <atlcomtime.h>
// CGHSwatch
class ATL_NO_VTABLE CGHSwatch :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CGHSwatch, &CLSID_GHSwatch>,
public IDispatchImpl<IGHSwatch, &IID_IGHSwatch, &LIBID_GHSwatchSystemLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IPersistStreamInitImpl<CGHSwatch>,
public IPersistStorageImpl<CGHSwatch>
{
public:
CGHSwatch():m_bRequiresSave(FALSE),m_cpIndexs(NULL),m_Name(""),m_Description("")
{
m_CreatedDate=COleDateTime::GetCurrentTime();
}
DECLARE_REGISTRY_RESOURCEID(IDR_GHSWATCH)
BEGIN_PROP_MAP(CGHSwatch)
PROP_ENTRY("SwatchName",1,CLSID_GHSwatch)
PROP_ENTRY("SwatchDescription",2,CLSID_GHSwatch)
PROP_DATA_ENTRY("SwatchData",m_CreatedDate,VT_DATE)
END_PROP_MAP()
BEGIN_COM_MAP(CGHSwatch)
COM_INTERFACE_ENTRY(IGHSwatch)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IPersistStreamInit)
COM_INTERFACE_ENTRY(IPersistStorage)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
HRESULT FinalConstruct()
{
return S_OK;
}
void FinalRelease()
{
for (std::list<CSwatchData*>::iterator pos=m_listSwatch.begin();pos!=m_listSwatch.end();++pos)
delete (*pos);
}
public:
STDMETHOD(get_Name)(BSTR* pVal);
STDMETHOD(put_Name)(BSTR newVal);
STDMETHOD(get_Description)(BSTR* pVal);
STDMETHOD(put_Description)(BSTR newVal);
STDMETHOD(get_CreatedDate)(DATE* pVal);
STDMETHOD(get_IndexSystem)(IGHIndexs** pVal);
STDMETHOD(put_IndexSystem)(IGHIndexs* newVal);
STDMETHOD(get_FieldCount)(LONG* pVal);
STDMETHOD(get_RowCount)(LONG* pVal);
STDMETHOD(CreateRow)(IGHRow** row);
STDMETHOD(Search)(VARIANT_BOOL Recycling, IGHSwatchCursor** cursor);
STDMETHOD(Update)(VARIANT_BOOL Recycling, IGHSwatchCursor** cursor);
STDMETHOD(FindIndex)(BSTR IndexName,LONG *lIndex);
STDMETHOD(AddIndex)(IGHIndex* pVal);
STDMETHOD(DeleteIndex)(IGHIndex* pVal);
STDMETHOD(get_FilePath)(BSTR* pVal);
STDMETHOD(put_FilePath)(BSTR newVal);
public:
HRESULT IPersistStreamInit_Load(LPSTREAM pStm, ATL_PROPMAP_ENTRY* pMap);
HRESULT IPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty, ATL_PROPMAP_ENTRY* pMap);
STDMETHOD(GetSizeMax)(ULARGE_INTEGER* pcbSize);
public:
std::list<CSwatchData*> m_listSwatch;
BOOL m_bRequiresSave;
CComPtr<IGHIndexs> m_cpIndexs;
private:
CComBSTR m_Name;
CComBSTR m_Description;
DATE m_CreatedDate;
CComBSTR m_FilePath;
};
OBJECT_ENTRY_AUTO(__uuidof(GHSwatch), CGHSwatch)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -