#ifndef _WINDOWS_ #include #endif #ifndef _INC_COMMDLG #include #endif // added for winball - clausgi extern UINT cf_link; extern UINT cf_objectlink; extern UINT cf_linkcopy; extern UINT cf_objectlinkcopy; // end additions #define PRIVATE_FORMAT(fmt) ((fmt) >= 0xC000) /* Header text string ids */ #define IDS_NAME 100 /* CF_TEXT to CF_OEMTEXT (1 to 7) are also used */ #define IDS_OVERWRITE 101 #define IDS_ERROR 102 /* as string ids. Be sure to keep these */ #define IDS_BINARY 103 /* different. */ #define IDS_CLEAR 104 #define IDS_FMTNOTSAV 105 #define IDS_DEFAULT 106 #define IDS_CANTDISPLAY 107 /* "Can't display data in this format" */ #define IDS_NOTRENDERED 108 /* "Application Couldn't render data" */ #define IDS_HELPFILE 109 /* Clipbrd.hlp */ #define IDS_ALREADYOPEN 112 /* OpenClipboard() fails */ #define IDS_INVALIDFILENAME 113 /* Filename is invalid */ #define IDS_OPENCAPTION 114 /* ID of File/Open dlg. caption string */ #define IDS_SAVECAPTION 115 /* ID of File/Save dlg. caption string */ #define IDS_FILTERTEXT 116 /* ID of filter string for File/Open */ #define IDS_ALLFILES 117 /* ID of filter string for All Files */ #define IDS_MEMERROR 118 #define IDS_READERR 200 /* ID of base ReadClipboardFile error */ #define IDS_READFORMATERR 201 #define IDS_READOPENCLIPERR 202 /* Dialogbox resource id */ #define ABOUTBOX 1 #define CONFIRMBOX 2 /* Other constants */ #define CDEFFMTS 8 /* Count of predifined clipboard formats */ #define VPOSLAST 100 /* Highest vert scroll bar value */ #define HPOSLAST 100 /* Highest horiz scroll bar value */ #define CCHFMTNAMEMAX 79 /* Longest clipboard data fmt name, including terminator */ #define cLineAlwaysShow 3 /* # of "standard text height" lines to show when maximally scrolled down */ #define BUFFERLEN 160 /* String buffer length */ #define SMALLBUFFERLEN 90 #define IDSABOUT 1 #define CBMENU 1 /* Number for the Clipboard main menu */ #define FILTERMAX 100 /* max len. of File/Open filter string */ #define CAPTIONMAX 30 /* len of caption text for above dlg. */ #define PATHMAX 128 /* max. len of DOS pathname */ /* The menu ids */ #define CBM_AUTO WM_USER #define CBM_CLEAR WM_USER+1 #define CBM_OPEN WM_USER+2 #define CBM_SAVEAS WM_USER+3 #define CBM_ABOUT WM_USER+4 #define CBM_EXIT WM_USER+5 // winball add-ons #define CBM_SHAREAS WM_USER+6 #define CBM_IMPORT WM_USER+7 // end winball add-ons #define CBM_HELP 0xFFFF /* Standard numbers */ #define CBM_USEHELP 0xFFFC /* Standard numbers */ #define CBM_SEARCH 0x0021 /* Last parameter to SetDIBits() and GetDIBits() calls */ #define DIB_RGB_COLORS 0 #define DIB_PAL_COLORS 1 #define IDCLEAR IDOK /* Structures for saving/loading clipboard data from disk */ #define CLP_ID 0xC350 #define CLP_NT_ID 0xC351 #define CLPBK_NT_ID 0xC352 typedef struct { WORD magic; WORD FormatCount; } FILEHEADER; // Format header typedef struct { DWORD FormatID; DWORD DataLen; DWORD DataOffset; WCHAR Name[CCHFMTNAMEMAX]; } FORMATHEADER; // Windows 3.1-type structures - Win31 packed on byte boundaries. #pragma pack(1) typedef struct { WORD FormatID; DWORD DataLen; DWORD DataOffset; char Name[CCHFMTNAMEMAX]; } OLDFORMATHEADER; // Windows 3.1 BITMAP struct - used to save Win 3.1 .CLP files typedef struct { WORD bmType; WORD bmWidth; WORD bmHeight; WORD bmWidthBytes; BYTE bmPlanes; BYTE bmBitsPixel; LPVOID bmBits; } WIN31BITMAP; // Windows 3.1 METAFILEPICT struct typedef struct { WORD mm; WORD xExt; WORD yExt; WORD hMF; } WIN31METAFILEPICT; #pragma pack() BOOL NEAR PASCAL OpenClipboardFile( HWND, LPTSTR ); void NEAR PASCAL GetClipboardName(int fmt, LPTSTR szName, int iSize); BOOL ReadFormatHeader(HANDLE, FORMATHEADER *,unsigned); unsigned ReadFileHeader(HANDLE); LONG FAR PASCAL ClipbrdWndProc(HWND, WORD, WORD, LONG); BOOL FAR PASCAL ConfirmDlgProc(HWND, WORD, WORD, LONG); // Clipboard open/close with synchronization BOOL SyncOpenClipboard(HWND); BOOL SyncCloseClipboard(void); /* Far low mem situations. */ void FAR PASCAL MemErrorMessage(void); /***************************** global data *******************************/ // extern OFSTRUCT ofStruct; extern HWND hwndMain; extern TCHAR szAppName[]; extern TCHAR szFileSpecifier[]; /* variables for the new File Open,File SaveAs and Find Text dialogs */ extern TCHAR szSaveFileName []; extern TCHAR szLastDir []; extern TCHAR szFilterSpec []; /* default filter spec. for above */ extern int wHlpMsg; /* message used to invoke Help */ extern TCHAR szOpenCaption []; /* File open dialog caption text */ extern TCHAR szSaveCaption []; /* File Save as dialog caption text */