FREELOAD.H
资源名称:MSDN_VC98.zip [点击查看]
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:
Windows编程
开发平台:
Visual C++
- /*
- * FREELOAD.H
- * Freeloader Chapter 11
- *
- * Class overrides for the FreeLoader application
- *
- * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
- *
- * Kraig Brockschmidt, Microsoft
- * Internet : kraigb@microsoft.com
- * Compuserve: >INTERNET:kraigb@microsoft.com
- */
- #ifndef _FREELOAD_H_
- #define _FREELOAD_H_
- #define INC_OLE2
- #define INC_CLASSLIB
- #define CHAPTER11
- #include <inole.h>
- #include "resource.h"
- //FREELOAD.CPP: Frame object that creates a main window
- class CFreeloaderFrame : public CFrame
- {
- private:
- BOOL m_fInitialized; //OleInitialize work?
- protected:
- //Overridable for creating a CClient for this frame
- virtual PCClient CreateCClient(void);
- virtual LRESULT OnCommand(HWND, WPARAM, LPARAM);
- public:
- CFreeloaderFrame(HINSTANCE, HINSTANCE, LPSTR, int);
- virtual ~CFreeloaderFrame(void);
- virtual BOOL FInit(PFRAMEINIT);
- virtual void UpdateMenus(HMENU, UINT);
- };
- typedef CFreeloaderFrame *PCFreeloaderFrame;
- //CLIENT.CPP
- //Override to create CFreeloaderDoc
- class CFreeloaderClient : public CClient
- {
- protected:
- //Overridable for creating a new CDocument
- virtual PCDocument CreateCDocument(void);
- public:
- CFreeloaderClient(HINSTANCE, PCFrame);
- virtual ~CFreeloaderClient(void);
- };
- typedef CFreeloaderClient *PCFreeloaderClient;
- //DOCUMENT.CPP
- //Paint continuation callback for IViewObject::Draw
- BOOL CALLBACK ContinuePaint(DWORD);
- class CFreeloaderDoc : public CDocument
- {
- protected:
- LPSTORAGE m_pIStorage; //Root storage for this doc
- LPUNKNOWN m_pIUnknown; //Static visual object.
- DWORD m_dwConn; //From IOleCache::Cache
- CLSID m_clsID; //Data type
- protected:
- //Centralized cleanup
- void ReleaseObject(void);
- //To catch WM_PAINT
- virtual BOOL FMessageHook(HWND, UINT, WPARAM, LPARAM
- , LRESULT *);
- public:
- CFreeloaderDoc(HINSTANCE, PCFrame, PCDocumentAdviseSink);
- virtual ~CFreeloaderDoc(void);
- virtual BOOL FInit(PDOCUMENTINIT);
- virtual UINT Load(BOOL, LPTSTR);
- virtual UINT Save(UINT, LPTSTR);
- virtual BOOL Clip(HWND, BOOL);
- virtual HGLOBAL RenderFormat(UINT);
- virtual BOOL FQueryPaste(void);
- virtual BOOL Paste(HWND);
- virtual BOOL SizeToGraphic(BOOL);
- };
- typedef CFreeloaderDoc *PCFreeloaderDoc;
- //For mapping HIMETRIC to pixels.
- #define HIMETRIC_PER_INCH 2540
- #endif //_FREELOAD_H_