property.h

来自「Thinkinc++English 电子书籍,英文版」· C头文件 代码 · 共 51 行

H
51
字号
// Property.h : Declaration of the CProperty

#ifndef __PROPERTY_H_
#define __PROPERTY_H_

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CProperty
class ATL_NO_VTABLE CProperty : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CProperty, &CLSID_Property>,
	public IDispatchImpl<IProperty, &IID_IProperty, &LIBID_SIMPLE18Lib>,
	public IPersistPropertyBagImpl<CProperty>
{
public:
	CProperty()
	{
		m_bRequiresSave = false;
		m_integer = 0;
	}

DECLARE_REGISTRY_RESOURCEID(IDR_PROPERTY)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CProperty)
	COM_INTERFACE_ENTRY(IProperty)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(IPersistPropertyBag)
END_COM_MAP()

BEGIN_PROP_MAP(CProperty)
	// 参数:"属性名称", 接口属性序号(见IDL文件), 属性页对话窗
	PROP_ENTRY("str", 1, CLSID_NULL)
	PROP_ENTRY("integer", 2, CLSID_NULL)
END_PROP_MAP()
// IProperty
public:
	STDMETHOD(get_str)(/*[out, retval]*/ BSTR *pVal);
	STDMETHOD(put_str)(/*[in]*/ BSTR newVal);
	STDMETHOD(get_integer)(/*[out, retval]*/ long *pVal);
	STDMETHOD(put_integer)(/*[in]*/ long newVal);

	bool m_bRequiresSave;
	CComBSTR m_str;
	long m_integer;
};

#endif //__PROPERTY_H_

⌨️ 快捷键说明

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