⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cosmo.h

📁 英文版的 想要的话可以下载了 为大家服务
💻 H
字号:
/*
 * COSMO.H
 *
 * Definitions and function prototypes for the OLE Cosmo Server.
 *
 * Copyright(c) Microsoft Corp. 1992-1994 All Rights Reserved
 * Win32 version, January 1994
 */

#include "polyline.h"

//Resource identifiers.
#define IDR_MENU            1
#define IDR_ACCELERATORS    1
#define IDD_ABOUT           1

//POLYLINE Window ID
#define ID_POLYLINE         10


//Menu command identifiers.
#define IDM_FILENEW         100
#define IDM_FILEOPEN        101
#define IDM_FILESAVE        102
#define IDM_FILESAVEAS      103
#define IDM_FILEIMPORT      104
#define IDM_FILEEXIT        110

#define IDM_EDITUNDO        200
#define IDM_EDITCUT         201
#define IDM_EDITCOPY        202
#define IDM_EDITPASTE       203

#define IDM_HELPABOUT       300


//File-related string lengths.
#define CCHPATHMAX          256
#define CCHFILENAMEMAX      15



/*
 * CSTRINGS is number of strings to load from the stringtable.
 * CCHSTRINGMAX is the maximum length that any string is allowed.
 *
 * What will happen is that CSTRINGS*CCHSTRINGMAX is allocated to begin
 * with and the stringtable is loaded into that space, Only using what's
 * required for each string.  After that, the space is reallocated to
 * be as small as possible.
 */

#define CSTRINGS            30
#define CCHSTRINGMAX        80



//String ID values.  Keep in SEQUENTIAL order and use 0-n
#define IDS_CAPTION         0
#define IDS_CLASSCOSMO      1
#define IDS_CLASSPOLYLINE   2
#define IDS_FILEDIRTY       3
#define IDS_DEFEXT          4
#define IDS_FILEOPENFILTER  5
#define IDS_FILEOPEN        6
#define IDS_FILESAVEAS      7
#define IDS_FILEIMPORT      8
#define IDS_FULLNAME        9
#define IDS_FIGURE          10
#define IDS_DOTEXT          11
#define IDS_MODULE          12
#define IDS_UNTITLED        13
#define IDS_EMPTY           14

#define IDS_VERBEDIT        15
#define IDS_UPDATE          16
#define IDS_SAVE            17
#define IDS_SAVEAS          18
#define IDS_SAVECOPYAS      19
#define IDS_EXIT            20
#define IDS_EXITANDRETURN   21
#define IDS_EMBEDDING       22
#define IDS_NATIVE          23
#define IDS_DATAFORMATS     24
#define IDS_STDFILEEDITING  25
#define IDS_OWNERLINK       26
#define IDS_OBJECTLINK      27

#define IDS_CLOSEALERT1     28
#define IDS_CLOSEALERT2     29




/*
 * Structure holding the "global" variables.  Creating a structure with
 * has several advantages over separately declaring each field as a
 * global:
 *  1.  Keep source files clean.
 *  2.  Eliminates need for many "extern" declarations.
 *  3.  A single pointer to this structure can be passed throughout
 *      the application, hiding the fact that it's global.
 *  4.  Allows the variables to be allocated dynamically or from
 *      different memory than the application's DS.
 *  5.  Any reference to these variables will have a pointer or
 *      structure dereference, which points to where the variable
 *      actually is defined.  Separate globals are not distinguishable
 *      from locals, making code harder to read.
 *
 * Note that fNoDirty is used from OLEOBJ.C in the ObjShow method
 * to prevent setting fDirty when the window is sized from ObjShow.
 */

typedef struct
    {
    HWND        hWnd;               //Top-level application window.
    HWND        hWndPolyline;       //Editor window.
    HINSTANCE   hInst;              //Application instance handle.
    LPSTR       pszCmdLine;         //Command line passed to WinMain.
    UINT        nCmdShow;           //Initial ShowWindow command.
    HLOCAL      hStringMem;         //Stringtable memory.
    UINT        cfCosmo;            //Private clipboard format.
    BOOL        fDirty;             //Is file dirty?
    BOOL        fNoDirty;           //If TRUE, don't touch dirty flag.
    BOOL        fOpenFile;          //FALSE if File/New used until saved.
    char        szFile[CCHPATHMAX]; //Filename for Save command.

    BOOL        fOLE;               //Indicates if we are linked/embedded.
    } GLOBALS;

typedef GLOBALS FAR * LPGLOBALS;

//External:
extern char NEAR *rgpsz[CSTRINGS];
extern LPGLOBALS pGlob;


//Versioning.
#define VERSIONMAJOR        1
#define VERSIONMINOR        0







/*
 * Function prototypes, organized by source file.  Any small definition
 * required by only one source file is also included here under the
 * same heading.
 */

//CLIP.C
BOOL      WINAPI FEditCut(LPGLOBALS);
BOOL      WINAPI FEditCopy(LPGLOBALS, BOOL);
BOOL      WINAPI FEditPaste(LPGLOBALS);
HGLOBAL   WINAPI HGetPolyline(HWND);
HGLOBAL   WINAPI HGetMetafilePict(HWND);
HGLOBAL   WINAPI HGetBitmap(HWND);


//COMMDLG.C
BOOL     WINAPI FSaveOpenDialog(HWND, HINSTANCE, LPSTR, LPSTR, LPSTR, LPSTR, BOOL);

//EXIT.C
BOOL     WINAPI FApplicationExit(LPGLOBALS);

//FILE.C
BOOL     WINAPI FDirtySet(BOOL);
BOOL     WINAPI FCleanVerify(LPGLOBALS);
BOOL     WINAPI FFileNew(LPGLOBALS);
BOOL     WINAPI FFileOpen(LPGLOBALS, BOOL);
BOOL     WINAPI FFileSave(LPGLOBALS);
BOOL     WINAPI FFileSaveAs(LPGLOBALS);
BOOL     WINAPI FFileExit(LPGLOBALS);

//FILEIO.C
BOOL     WINAPI FCosFileRead(LPGLOBALS, LPSTR, LPPOLYLINE);
BOOL     WINAPI FCosFileWrite(LPGLOBALS, LPSTR, LPPOLYLINE);


//INIT.C
BOOL     WINAPI FApplicationInit(LPGLOBALS, HINSTANCE);
BOOL     WINAPI FClassRegister(LPGLOBALS, HINSTANCE);
BOOL     WINAPI FFileInit(LPGLOBALS);
HLOCAL   WINAPI HLoadAppStrings(LPGLOBALS);
HLOCAL   WINAPI HListParse(LPSTR);
LPSTR    PASCAL PszWhiteSpaceScan(LPSTR, BOOL);

//MISC.C
void     WINAPI WindowTitleSet(HWND, LPSTR);
void     WINAPI RectConvertToHiMetric(HWND, LPRECT);
void     WINAPI RectConvertToDevice(HWND, LPRECT);

//COSMO.C
LRESULT  WINAPI CosmoWndProc(HWND, UINT, WPARAM, LPARAM);
BOOL     WINAPI AboutProc(HWND, UINT, WPARAM, LPARAM);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -