LABOBJ.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // LabObj.h : Declaration of the CLabrador
  2. //
  3. // This is a part of the Active Template Library.
  4. // Copyright (C) 1996-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Active Template Library Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Active Template Library product.
  12. #include "labres.h"       // main symbols
  13. /////////////////////////////////////////////////////////////////////////////
  14. // Beeper
  15. class CLabrador :
  16. public IMammal,
  17. public IDog,
  18. public CComObjectRoot,
  19. public CComCoClass<CLabrador, &CLSID_Labrador>
  20. {
  21. public:
  22. CLabrador();
  23. BEGIN_COM_MAP(CLabrador)
  24. COM_INTERFACE_ENTRY(IMammal)
  25. COM_INTERFACE_ENTRY(IDog)
  26. END_COM_MAP()
  27. DECLARE_NOT_AGGREGATABLE(CLabrador)
  28. DECLARE_REGISTRY(CLabrador, _T("LABRADOR.Labrador.1"), _T("LABRADOR.Labrador.1"), IDS_LABRADOR_DESC, THREADFLAGS_BOTH)
  29. // IDog
  30. STDMETHOD(GetPetName)(MY_BSTR pStr);
  31. STDMETHOD(SetPetName)(MY_BSTR pStr);
  32. STDMETHOD(IsBarking)(BOOL* pBool);
  33. // IMammal
  34. STDMETHOD(GetSpeciesName)(MY_BSTR pStr);
  35. STDMETHOD(IsAlive)(BOOL* pBool);
  36. private:
  37. WCHAR   m_szPetName[32];
  38. WCHAR   m_szSpeciesName[32];
  39. BOOL    m_bIsBarking;
  40. BOOL    m_bIsAlive;
  41. };