[ADVAPI32]
[reactos.git] / rosapps / templates / old_wordpad / precomp.h
1 #ifndef __WORDPAD_PRECOMP_H
2 #define __WORDPAD_PRECOMP_H
3
4 //#define WIN32_LEAN_AND_MEAN
5 #include <windows.h>
6 #include <windowsx.h> /* GET_X/Y_LPARAM */
7 #include <stdio.h>
8 #include <tchar.h>
9 #include <richedit.h>
10 #include <commctrl.h>
11 #include "resource.h"
12
13 /* FIXME - add to headers !!! */
14 #ifndef SB_SIMPLEID
15 #define SB_SIMPLEID 0xFF
16 #endif
17
18 #define MAX_KEY_LENGTH 256
19
20 #define DOC_TYPE_RICH_TEXT 0
21 #define DOC_TYPE_UNICODE_TEXT 1
22 #define DOC_TYPE_TEXT 2
23
24 #ifdef _MSC_VER
25 #pragma warning(disable : 4100)
26 #endif
27
28 /* generic definitions and forward declarations */
29 struct _MAIN_WND_INFO;
30 struct _EDIT_WND_INFO;
31
32 typedef enum _MDI_EDITOR_TYPE {
33 metUnknown = 0,
34 metImageEditor,
35 } MDI_EDITOR_TYPE, *PMDI_EDITOR_TYPE;
36
37
38 /* wordpad.c */
39 extern HINSTANCE hInstance;
40 extern HANDLE ProcessHeap;
41
42
43 /* editwnd.c */
44 typedef struct _OPEN_EDIT_INFO
45 {
46 BOOL CreateNew;
47 union
48 {
49 UINT DocType; /* new */
50 LPTSTR lpDocumentPath; /* open */
51 };
52 LPTSTR lpDocumentName;
53
54 } OPEN_EDIT_INFO, *POPEN_EDIT_INFO;
55
56 typedef struct _EDIT_WND_INFO
57 {
58 MDI_EDITOR_TYPE MdiEditorType; /* Must be first member! */
59
60 HWND hSelf;
61 HWND hEdit;
62 struct _MAIN_WND_INFO *MainWnd;
63 struct _EDIT_WND_INFO *Next;
64 POINT ScrollPos;
65 USHORT Zoom;
66
67 POPEN_EDIT_INFO OpenInfo; /* Only valid during initialization */
68
69 LONG Width;
70 LONG Height;
71
72 } EDIT_WND_INFO, *PEDIT_WND_INFO;
73
74 BOOL InitEditWindowImpl(VOID);
75 VOID UninitEditWindowImpl(VOID);
76 BOOL CreateEditWindow(struct _MAIN_WND_INFO *MainWnd,
77 POPEN_EDIT_INFO OpenInfo);
78 VOID SetEditorEnvironment(PEDIT_WND_INFO Info,
79 BOOL Setup);
80
81
82 /* mainwnd.c */
83 typedef struct _MENU_HINT
84 {
85 WORD CmdId;
86 UINT HintId;
87 } MENU_HINT, *PMENU_HINT;
88
89 typedef struct _MAIN_WND_INFO
90 {
91 HWND hSelf;
92 HWND hMdiClient;
93 HWND hStatus;
94 int nCmdShow;
95
96 /* Editors */
97 PEDIT_WND_INFO ImageEditors;
98 UINT ImagesCreated;
99 PVOID ActiveEditor;
100
101 /* status flags */
102 UINT InMenuLoop : 1;
103 } MAIN_WND_INFO, *PMAIN_WND_INFO;
104
105 BOOL InitMainWindowImpl(VOID);
106 VOID UninitMainWindowImpl(VOID);
107 HWND CreateMainWindow(LPCTSTR lpCaption,
108 int nCmdShow);
109 BOOL MainWndTranslateMDISysAccel(HWND hwnd,
110 LPMSG lpMsg);
111 VOID MainWndSwitchEditorContext(PMAIN_WND_INFO Info,
112 HWND hDeactivate,
113 HWND hActivate);
114 MDI_EDITOR_TYPE MainWndGetCurrentEditor(PMAIN_WND_INFO MainWnd,
115 PVOID *Info);
116
117
118
119 /* misc.c */
120 INT AllocAndLoadString(OUT LPTSTR *lpTarget,
121 IN HINSTANCE hInst,
122 IN UINT uID);
123
124 DWORD LoadAndFormatString(IN HINSTANCE hInstance,
125 IN UINT uID,
126 OUT LPTSTR *lpTarget,
127 ...);
128
129 BOOL StatusBarLoadAndFormatString(IN HWND hStatusBar,
130 IN INT PartId,
131 IN HINSTANCE hInstance,
132 IN UINT uID,
133 ...);
134
135 BOOL StatusBarLoadString(IN HWND hStatusBar,
136 IN INT PartId,
137 IN HINSTANCE hInstance,
138 IN UINT uID);
139
140 INT GetTextFromEdit(OUT LPTSTR lpString,
141 IN HWND hDlg,
142 IN UINT Res);
143
144 VOID GetError(DWORD err);
145
146
147 /* opensave.c */
148 VOID FileInitialize(HWND hwnd);
149 BOOL DoOpenFile(HWND hwnd, LPTSTR lpFileName, LPTSTR lpName);
150 BOOL DoSaveFile(HWND hwnd);
151
152 /* about.c */
153 INT_PTR CALLBACK
154 AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
155
156 INT_PTR CALLBACK
157 NewDocSelDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
158
159
160 #endif /* __WORDPAD_PRECOMP_H */