home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c480 / 19.ddi / SAMPLES / CLIDEMO / CLIDEMO.H_ / CLIDEMO.H
Encoding:
C/C++ Source or Header  |  1993-02-08  |  2.0 KB  |  63 lines

  1. /*
  2.  * clidemo.h
  3.  *
  4.  * Created by Microsoft Corporation.
  5.  * (c) Copyright Microsoft Corp. 1990 - 1992  All Rights Reserved
  6.  */
  7.  
  8. //--- CONSTANTS ---
  9.  
  10. #define CXDEFAULT       400     //- Default object size:  400 x 300
  11. #define CYDEFAULT       300
  12. #define COBJECTSMAX     50      //- max number of objects in our app
  13.  
  14. //--- PROTOTYPES ---
  15.  
  16. //--- Exported window procedures
  17.  
  18. long FAR PASCAL __export FrameWndProc(HWND, UINT, WPARAM, LPARAM);
  19.  
  20. //--- FAR
  21.  
  22. void FAR             FixObjectBounds(LPRECT lprc);
  23.  
  24. //--- Local
  25.  
  26. static LPOLECLIENT   InitClient(HANDLE);
  27. static void          EndClient(LPOLECLIENT);
  28. static LPAPPSTREAM   InitStream(HANDLE);
  29. static void          EndStream(LPAPPSTREAM);
  30. static void          ProcessCmdLine(LPSTR);
  31. static BOOL          InitApplication(HANDLE);
  32. static BOOL          InitInstance(HANDLE);
  33. static void          SetTitle(PSTR);
  34. static void          MyOpenFile(PSTR,LHCLIENTDOC *, LPOLECLIENT, LPAPPSTREAM);
  35. static void          NewFile(PSTR,LHCLIENTDOC *, LPAPPSTREAM);
  36. static BOOL          SaveFile(PSTR, LHCLIENTDOC, LPAPPSTREAM);
  37. static void          SaveasFile(PSTR, LHCLIENTDOC, LPAPPSTREAM);
  38. static BOOL          LoadFile(PSTR, LHCLIENTDOC, LPOLECLIENT, LPAPPSTREAM);
  39. static void          ClearAll(LHCLIENTDOC, BOOL);
  40. static void          EndInstance(void);
  41. static BOOL          SaveAsNeeded(PSTR,LHCLIENTDOC,LPAPPSTREAM);
  42. static void          UpdateMenu(HMENU);
  43. static BOOL          RegDoc(PSTR, LHCLIENTDOC *);
  44. static void          DeregDoc(LHCLIENTDOC);
  45. static BOOL          InitAsOleClient(HANDLE, HWND, PSTR, LHCLIENTDOC *, LPOLECLIENT *,  LPAPPSTREAM *);
  46. void FAR             ClearItem(APPITEMPTR);
  47. static long          QueryEndSession(PSTR, LHCLIENTDOC, LPAPPSTREAM);
  48.  
  49. //--- MACROS ---
  50.  
  51. /*
  52.  * ANY_OBJECT_BUSY
  53.  * checks to see if any object in the document is busy. This prevents
  54.  * a new document from being saved to file if there are objects in
  55.  * asynchronous states.
  56.  */
  57.  
  58. #define ANY_OBJECT_BUSY  {\
  59.     if (ObjectsBusy()) \
  60.          break; \
  61. }
  62.  
  63.