home *** CD-ROM | disk | FTP | other *** search
- /***********************************************************************
- * Zap *
- * === *
- * *
- * Windows 3 Text Editor *
- * *
- * This programme was developed using Microsoft C6.0 and the Microsoft *
- * SDK, however any ANSI C could be used if suitable libraries and the *
- * Windows header are available. *
- ***********************************************************************/
-
-
- /***********************************************************************
- * Menu Items *
- ***********************************************************************/
-
- #define IDM_FILE_NEW 100
- #define IDM_FILE_OPEN 101
- #define IDM_FILE_INSERT 102
- #define IDM_FILE_SAVE 103
- #define IDM_FILE_SAVEAS 104
- #define IDM_FILE_PRINT 105
- #define IDM_FILE_EXIT 106
- #define IDM_FILE_ABOUT 107
-
- #define IDM_EDIT_UNDO 110
- #define IDM_EDIT_CUT 111
- #define IDM_EDIT_COPY 112
- #define IDM_EDIT_PASTE 113
- #define IDM_EDIT_CLEAR 114
- #define IDM_EDIT_SELECTALL 115
- #define IDM_EDIT_SEARCH 116
- #define IDM_EDIT_REPLACE 117
-
- #define IDM_WINDOW_OPEN 120
- #define IDM_WINDOW_CLOSE 121
-
-
- /***********************************************************************
- * Control IDs *
- ***********************************************************************/
-
- #define IDC_EDIT 200
-
-
- /***********************************************************************
- * System Constants *
- ***********************************************************************/
-
- #define INITIAL_WIDTH 80
- #define INITIAL_DEPTH 25
-
- #define MAX_DOS_NAME 96
- #define MAX_FILES 4
-
- #define UNTITLED "Untitled"
- /* #define DEFAULT_NAME "*.*" */
-
- #define TRANS_BUF_SIZE 0XC000
-
- #define WORK_STR_LEN 256
-
-
- /***********************************************************************
- * Edit structure *
- ***********************************************************************/
-
- typedef struct
- { HANDLE ds;
- HWND hwnd;
- char name[MAX_DOS_NAME];
- int top, status;
- FARPROC proc;
- } EDIT_WND;
-
-
- /***********************************************************************
- * Function Prototypes - main module *
- ***********************************************************************/
-
- int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int);
- BOOL InitApplication(HANDLE);
- BOOL InitInstance(HANDLE, int);
- long FAR PASCAL MainWndProc(HWND, unsigned, WORD, LONG);
- BOOL FAR PASCAL AboutProc(HWND, unsigned, WORD, LONG);
- void Comment(char *);
-
-
- /***********************************************************************
- * Function Prototypes - window management module *
- ***********************************************************************/
-
- BOOL ReadFile(int, BOOL);
- BOOL SaveFile(int, BOOL);
-
- BOOL CreateEditWindow(void);
- void RearrangeEditWindows(void);
- void RedrawStatusBar(HDC, int);
-
- BOOL SendToClipboard(LPSTR);
-
-
- /***********************************************************************
- * Function Prototypes - subclassing module *
- ***********************************************************************/
-
- long FAR PASCAL NewEditWndProc(HWND, unsigned, WORD, LONG);
-
- BOOL IsSeparator(char);
- BOOL IsNotSeparator(char);
-
-
- /***********************************************************************
- * Function Prototypes - editting functions module *
- ***********************************************************************/
-
- BOOL FAR PASCAL GotoLineProc(HWND, unsigned, WORD, LONG);
- long GetCurrentLine(int);
- void GotoLine(int, long);
-
- BOOL FAR PASCAL SearchProc(HWND, unsigned, WORD, LONG);
- BOOL FAR PASCAL ReplaceProc(HWND, unsigned, WORD, LONG);
- BOOL FAR PASCAL ConfirmProc(HWND, unsigned, WORD, LONG);
-
- void TranslateString(char *, char *);
- long lstrstr(LPSTR, LPSTR, BOOL);
-
-
- /***********************************************************************
- * Function Prototypes - printing module *
- ***********************************************************************/
-
- BOOL PrintFile(int);
- int FAR PASCAL AbortProc(HDC, int);
- int FAR PASCAL AbortDlg(HWND, unsigned, WORD, LONG);
-
-
- /***********************************************************************
- * Useful macros *
- ***********************************************************************/
-
- #define CurWndProc EditWnd[CurrentFile].proc
- #define CurWnd EditWnd[CurrentFile].hwnd
-
- #define CONTROL_DOWN key_state[VK_CONTROL] & 0x80
- #define SHIFT_DOWN key_state[VK_SHIFT] & 0x80
-
-