Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.9 KiB

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