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

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * REUSE.H
  3.  * COM Reusability Demo, Chapter 2
  4.  *
  5.  * Definitions, classes, and prototypes
  6.  *
  7.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  8.  *
  9.  * Kraig Brockschmidt, Microsoft
  10.  * Internet  :  kraigb@microsoft.com
  11.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  12.  */
  13. #ifndef _REUSE_H_
  14. #define _REUSE_H_
  15. #define CHAPTER2
  16. #include <inole.h>
  17. #ifndef RC_INVOKED
  18. #include "interfac.h"
  19. #endif
  20. //Menu Resource ID and Commands
  21. #define IDR_MENU                    1
  22. #define IDM_CREATECONTAINMENT               100
  23. #define IDM_CREATEAGGREGATION               101
  24. #define IDM_ANIMALEAT                       102
  25. #define IDM_ANIMALSLEEP                     103
  26. #define IDM_ANIMALPROCREATE                 104
  27. #define IDM_KOALACLIMBEUCALYPTUSTREES       105
  28. #define IDM_KOALAPOUCHOPENSDOWN             106
  29. #define IDM_KOALASLEEPFORHOURSAFTEREATING   107
  30. #define IDM_RELEASE                         108
  31. #define IDM_EXIT                            109
  32. //Global creation functions
  33. BOOL    CreateKoalaContainment(IUnknown **);
  34. BOOL    CreateKoalaAggregation(IUnknown **);
  35. HRESULT CreateAnimal(IUnknown *, REFIID, void **);
  36. //REUSE.CPP
  37. LRESULT APIENTRY ReuseWndProc(HWND, UINT, WPARAM, LPARAM);
  38. class CApp
  39.     {
  40.     friend LRESULT APIENTRY ReuseWndProc(HWND, UINT, WPARAM, LPARAM);
  41.     protected:
  42.         HINSTANCE       m_hInst;            //WinMain parameters
  43.         HINSTANCE       m_hInstPrev;
  44.         UINT            m_nCmdShow;
  45.         HWND            m_hWnd;             //Main window handle
  46.         IUnknown       *m_pIUnknown;        //Current object
  47.     public:
  48.         CApp(HINSTANCE, HINSTANCE, UINT);
  49.         ~CApp(void);
  50.         BOOL        Init(void);
  51.         BOOL        GetInterface(REFIID, void **);
  52.         void inline Message(LPTSTR);
  53.     };
  54. typedef CApp *PAPP;
  55. #define CBWNDEXTRA          sizeof(PAPP)
  56. #define REUSEWL_STRUCTURE   0
  57. #endif //_REUSE_H_