⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ghrow.h

📁 VC开发环境下
💻 H
字号:
// GHRow.h : Declaration of the CGHRow

#pragma once
#include "resource.h"       // main symbols

#include "GHSwatchSystem.h"
#include <vector>
#include "SwatchData.h"
#include "GHSwatch.h"

// CGHRow

class ATL_NO_VTABLE CGHRow : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CGHRow, &CLSID_GHRow>,
	public IDispatchImpl<IGHRow, &IID_IGHRow, &LIBID_GHSwatchSystemLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
	//public IPersistStreamInitImpl<CGHRow>
{
public:
	CGHRow():m_SwatchData(NULL),m_pGHSwatch(NULL),m_bRequireDelete(FALSE),m_bReadOnly(TRUE)
	{
	}

DECLARE_REGISTRY_RESOURCEID(IDR_GHROW)

//
//BEGIN_PROP_MAP(CGHRow)
//END_PROP_MAP()

BEGIN_COM_MAP(CGHRow)
	COM_INTERFACE_ENTRY(IGHRow)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()


	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct()
	{
		return S_OK;
	}
	
	void FinalRelease() 
	{
		if (m_bRequireDelete&&m_SwatchData) 
			delete m_SwatchData;

		if(m_pGHSwatch)
			m_pGHSwatch->Release();
	}

public:

	STDMETHOD(get_Value)(LONG lIndex, FLOAT* pVal);
	STDMETHOD(put_Value)(LONG lIndex, FLOAT newVal);
public:
	HRESULT  Initial(CSwatchData *pSwatchData);
	HRESULT  InitialOnce(CComObject<CGHSwatch> *pGHSwatch,BOOL bReadOnly=TRUE);
	HRESULT  CreateNewSwatchData(LONG lSize);
	CSwatchData* Detch(); //Detch m_SwatchData
//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:
//	unsigned m_bRequiresSave:1;
private:
	CSwatchData *m_SwatchData;
	CComObject<CGHSwatch>   *m_pGHSwatch;
	BOOL		 m_bRequireDelete;
	BOOL         m_bReadOnly;
//public:
//	STDMETHOD(get_IndexSystem)(IIndexs** pVal);
};

OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO(__uuidof(GHRow), CGHRow)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -