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

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * PATRON.H
  3.  * Patron Chapter 1
  4.  *
  5.  * Single include file that pulls in everything needed for other
  6.  * source files in the application.
  7.  *
  8.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  9.  *
  10.  * Kraig Brockschmidt, Microsoft
  11.  * Internet  :  kraigb@microsoft.com
  12.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  13.  */
  14. #ifndef _PATRON_H_
  15. #define _PATRON_H_
  16. #define INC_CLASSLIB
  17. #define CHAPTER1
  18. #include <inole.h>
  19. #include "resource.h"
  20. //Get editor window information
  21. #include "pages.h"
  22. /*
  23.  * UINT value such that adding one produces zero.  Portable to Win32.
  24.  * This is used to represent a non-existent zero-based UINT value
  25.  */
  26. #define NOVALUE                     ((UINT)-1)
  27. //PATRON.CPP:  Frame object that creates a main window
  28. class CPatronFrame : public CFrame
  29.     {
  30.     protected:
  31.         //Overridable for creating a CPatronClient
  32.         virtual PCClient    CreateCClient(void);
  33.         virtual BOOL        RegisterAllClasses(void);
  34.         virtual UINT        CreateToolbar(void);
  35.         virtual LRESULT     OnCommand(HWND, WPARAM, LPARAM);
  36.     public:
  37.         CPatronFrame(HINSTANCE, HINSTANCE, LPSTR, int);
  38.         virtual ~CPatronFrame(void);
  39.         //Overrides
  40.         virtual void        UpdateMenus(HMENU, UINT);
  41.         virtual void        UpdateToolbar(void);
  42.     };
  43. typedef CPatronFrame *PCPatronFrame;
  44. //CLIENT.CPP
  45. /*
  46.  * The only reason we have a derived class here is to override
  47.  * CreateCDocument so we can create our own type as well as
  48.  * overriding NewDocument to perform one other piece of work once
  49.  * the document's been created.
  50.  */
  51. class CPatronClient : public CClient
  52.     {
  53.     protected:
  54.         //Overridable for creating a new CDocument
  55.         virtual PCDocument CreateCDocument(void);
  56.     public:
  57.         CPatronClient(HINSTANCE, PCFrame);
  58.         virtual ~CPatronClient(void);
  59.     };
  60. typedef CPatronClient *PCPatronClient;
  61. //DOCUMENT.CPP
  62. //Constant ID for the pages window that lives in a document window
  63. #define ID_PAGES            723
  64. class CPatronDoc : public CDocument
  65.     {
  66.     protected:
  67.         LONG            m_lVer;         //Loaded data version
  68.         PCPages         m_pPG;          //Pages window in us
  69.     protected:
  70.         virtual BOOL    FMessageHook(HWND, UINT, WPARAM, LPARAM
  71.             , LRESULT *);
  72.     public:
  73.         CPatronDoc(HINSTANCE, PCFrame, PCDocumentAdviseSink);
  74.         virtual ~CPatronDoc(void);
  75.         virtual BOOL    Init(PDOCUMENTINIT);
  76.         virtual void    Clear(void);
  77.         virtual UINT    Load(BOOL, LPTSTR);
  78.         virtual BOOL    Print(HWND);
  79.         virtual UINT    PrinterSetup(HWND, BOOL);
  80.         virtual UINT    NewPage(void);
  81.         virtual UINT    DeletePage(void);
  82.         virtual UINT    NextPage(void);
  83.         virtual UINT    PreviousPage(void);
  84.         virtual UINT    FirstPage(void);
  85.         virtual UINT    LastPage(void);
  86.     };
  87. typedef CPatronDoc *PCPatronDoc;
  88. //Hook for Print Dialog to hide Setup... button
  89. UINT CALLBACK PrintDlgHook(HWND, UINT, WPARAM, LPARAM);
  90. #endif //_PATRON_H_