|
|
/*
* clidemo.h * * Created by Microsoft Corporation. * (c) Copyright Microsoft Corp. 1990 - 1992 All Rights Reserved */
//*** CONSTANTS ***
#define CXDEFAULT 400 //* Default object size: 400 x 300
#define CYDEFAULT 300
#define COBJECTSMAX 50 //* max number of objects in our app
//*** PROTOTYPES ***
//*** Exported window procedures
LONG APIENTRY FrameWndProc(HWND, UINT, DWORD, LONG);
//*** FAR
VOID FAR FixObjectBounds(LPRECT lprc);
//*** Local
static LPOLECLIENT InitClient(HANDLE); static VOID EndClient(LPOLECLIENT); static LPAPPSTREAM InitStream(HANDLE); static VOID EndStream(LPAPPSTREAM); static VOID ProcessCmdLine(LPSTR); static BOOL InitApplication(HANDLE); static BOOL InitInstance(HANDLE); static VOID SetTitle(PSTR); static VOID MyOpenFile(PSTR,LHCLIENTDOC *, LPOLECLIENT, LPAPPSTREAM); static VOID NewFile(PSTR,LHCLIENTDOC *, LPAPPSTREAM); static BOOL SaveFile(PSTR, LHCLIENTDOC, LPAPPSTREAM); static VOID SaveasFile(PSTR, LHCLIENTDOC, LPAPPSTREAM); static BOOL LoadFile(PSTR, LHCLIENTDOC, LPOLECLIENT, LPAPPSTREAM); static VOID ClearAll(LHCLIENTDOC, BOOL); static VOID EndInstance(VOID); static BOOL SaveAsNeeded(PSTR,LHCLIENTDOC,LPAPPSTREAM); static VOID UpdateMenu(HMENU); static BOOL RegDoc(PSTR, LHCLIENTDOC *); static VOID DeregDoc(LHCLIENTDOC); static BOOL InitAsOleClient(HANDLE, HWND, PSTR, LHCLIENTDOC *, LPOLECLIENT *, LPAPPSTREAM *); VOID FAR ClearItem(APPITEMPTR); static LONG QueryEndSession(PSTR, LHCLIENTDOC, LPAPPSTREAM);
//*** MACROS ***
/*
* ANY_OBJECT_BUSY * checks to see if any object in the document is busy. This prevents * a new document from being saved to file if there are objects in * asynchronous states. */
#define ANY_OBJECT_BUSY {\
if (ObjectsBusy()) \ break; \ }
|