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

Windows编程

开发平台:

Visual C++

  1. //**********************************************************************
  2. // File name: app.h
  3. //
  4. //      Definition of CSimpSvrApp
  5. //
  6. // Copyright (c) 1993-1997 Microsoft Corporation. All rights reserved.
  7. //**********************************************************************
  8. #if !defined( _APP_H_)
  9. #define _APP_H_
  10. #include <stablize.h>
  11. class CSimpSvrDoc;
  12. interface CClassFactory;
  13. class CSimpSvrApp : public IUnknown, public CSafeRefCount
  14. {
  15. private:
  16.         HWND m_hAppWnd;             // main window handle
  17.         HINSTANCE m_hInst;          // application instance
  18.         BOOL m_fStartByOle;         // TRUE if app started by OLE
  19.         DWORD m_dwRegisterClass;    // returned by RegisterClassFactory
  20.         HMENU m_hMainMenu;
  21.         HMENU m_hColorMenu;
  22.         HMENU m_hHelpMenu;
  23.         LPOLEOBJECT m_OleObject;    // pointer to "dummy" object
  24.         CSimpSvrDoc FAR * m_lpDoc;   // pointer to document object
  25.         BOOL m_fInitialized;         // OLE initialization flag
  26.         BOOL m_fOleStdInit;          // OleStd initialization flag
  27.         RECT nullRect;               // used in inplace negotiation
  28. public:
  29.         // IUnknown Interfaces
  30.         STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR* ppvObj);
  31.         STDMETHODIMP_(ULONG) AddRef();
  32.         STDMETHODIMP_(ULONG) Release();
  33.         // Initialization methods
  34.         CSimpSvrApp();           // Constructor
  35.         ~CSimpSvrApp();          // Destructor
  36. BOOL fInitApplication (HINSTANCE  hInstance);
  37. BOOL fInitInstance (HINSTANCE  hInstance, int nCmdShow, CClassFactory FAR * lpClassFactory);
  38.         // Message handling methods
  39.         long lCommandHandler (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
  40.         long lSizeHandler (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
  41.         long lCreateDoc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
  42.         void PaintApp(HDC hDC);
  43.         //  Utility functions
  44.         void ParseCmdLine(LPSTR lpCmdLine);
  45.         void SetStatusText();
  46.         BOOL IsInPlaceActive();
  47.         void ShowAppWnd(int nCmdShow=SW_SHOWNORMAL);
  48.         void HideAppWnd();
  49.         // member variable access
  50.         inline HWND GethAppWnd() { return m_hAppWnd; };
  51.         inline HINSTANCE GethInst() { return m_hInst; };
  52.         inline BOOL IsStartedByOle() { return m_fStartByOle; };
  53.         inline BOOL IsInitialized() { return m_fInitialized; };
  54.         inline DWORD GetRegisterClass() { return m_dwRegisterClass; };
  55.         inline CSimpSvrDoc FAR * GetDoc() { return m_lpDoc; };
  56.         inline void ClearDoc() { m_lpDoc = NULL; };
  57.         inline LPOLEOBJECT GetOleObject() { return m_OleObject; };
  58.                 inline HMENU GetMainMenu() { return m_hMainMenu; };
  59.         inline HMENU GetColorMenu() { return m_hColorMenu; };
  60.         inline HMENU GetHelpMenu() { return m_hHelpMenu; } ;
  61.         friend interface CClassFactory;  // make the contained class a friend
  62. };
  63. #endif