Release 950319
[wine] / include / commdlg.h
1 /* 
2  * COMMDLG - Common Wine Dialog ... :-)
3  */
4
5 #ifndef COMMDLG_H
6 #define COMMDLG_H
7
8 #define RT_CURSOR           MAKEINTRESOURCE(1)
9 #define RT_BITMAP           MAKEINTRESOURCE(2)
10 #define RT_ICON             MAKEINTRESOURCE(3)
11 #define RT_MENU             MAKEINTRESOURCE(4)
12 #define RT_DIALOG           MAKEINTRESOURCE(5)
13 #define RT_STRING           MAKEINTRESOURCE(6)
14 #define RT_FONTDIR          MAKEINTRESOURCE(7)
15 #define RT_FONT             MAKEINTRESOURCE(8)
16 #define RT_ACCELERATOR      MAKEINTRESOURCE(9)
17 #define RT_RCDATA           MAKEINTRESOURCE(10)
18
19 #define RT_GROUP_CURSOR     MAKEINTRESOURCE(12)
20 #define RT_GROUP_ICON       MAKEINTRESOURCE(14)
21
22 #ifndef HGLOBAL
23 #define HGLOBAL     HANDLE
24 #endif
25
26 #define OFN_READONLY                 0x00000001
27 #define OFN_OVERWRITEPROMPT          0x00000002
28 #define OFN_HIDEREADONLY             0x00000004
29 #define OFN_NOCHANGEDIR              0x00000008
30 #define OFN_SHOWHELP                 0x00000010
31 #define OFN_ENABLEHOOK               0x00000020
32 #define OFN_ENABLETEMPLATE           0x00000040
33 #define OFN_ENABLETEMPLATEHANDLE     0x00000080
34 #define OFN_NOVALIDATE               0x00000100
35 #define OFN_ALLOWMULTISELECT         0x00000200
36 #define OFN_EXTENSIONDIFFERENT       0x00000400
37 #define OFN_PATHMUSTEXIST            0x00000800
38 #define OFN_FILEMUSTEXIST            0x00001000
39 #define OFN_CREATEPROMPT             0x00002000
40 #define OFN_SHAREAWARE               0x00004000
41 #define OFN_NOREADONLYRETURN         0x00008000
42 #define OFN_NOTESTFILECREATE         0x00010000
43
44 #define OFN_SHAREFALLTHROUGH     2
45 #define OFN_SHARENOWARN          1
46 #define OFN_SHAREWARN            0
47
48
49 typedef struct {
50         DWORD           lStructSize;
51         HWND            hwndOwner;
52         HINSTANCE       hInstance;
53         LPCSTR          lpstrFilter;
54         LPSTR           lpstrCustomFilter;
55         DWORD           nMaxCustFilter;
56         DWORD           nFilterIndex;
57         LPSTR           lpstrFile;
58         DWORD           nMaxFile;
59         LPSTR           lpstrFileTitle;
60         DWORD           nMaxFileTitle;
61         LPCSTR          lpstrInitialDir;
62         LPCSTR          lpstrTitle;
63         DWORD           Flags;
64         UINT            nFileOffset;
65         UINT            nFileExtension;
66         LPCSTR          lpstrDefExt;
67         LPARAM          lCustData;
68         UINT            (CALLBACK *lpfnHook)(HWND, UINT, WPARAM, LPARAM);
69         LPCSTR          lpTemplateName;
70         }   OPENFILENAME;
71 typedef OPENFILENAME * LPOPENFILENAME;
72
73
74 typedef struct {
75         DWORD           lStructSize;
76         HWND            hwndOwner;
77         HWND            hInstance;
78         COLORREF        rgbResult;
79         COLORREF        FAR* lpCustColors;
80         DWORD           Flags;
81         LPARAM          lCustData;
82         UINT            (CALLBACK* lpfnHook)(HWND, UINT, WPARAM, LPARAM);
83         LPCSTR          lpTemplateName;
84         } CHOOSECOLOR;
85 typedef CHOOSECOLOR *LPCHOOSECOLOR;
86
87 #define CC_RGBINIT               0x00000001
88 #define CC_FULLOPEN              0x00000002
89 #define CC_PREVENTFULLOPEN       0x00000004
90 #define CC_SHOWHELP              0x00000008
91 #define CC_ENABLEHOOK            0x00000010
92 #define CC_ENABLETEMPLATE        0x00000020
93 #define CC_ENABLETEMPLATEHANDLE  0x00000040
94
95 typedef struct {
96         DWORD           lStructSize;                    /* size of this struct 0x20 */
97         HWND            hwndOwner;                              /* handle to owner's window */
98         HINSTANCE       hInstance;                              /* instance handle of.EXE that  */
99                                                                                 /*      contains cust. dlg. template */
100         DWORD           Flags;                  /* one or more of the FR_?? */
101         LPSTR           lpstrFindWhat;          /* ptr. to search string    */
102         LPSTR           lpstrReplaceWith;       /* ptr. to replace string   */
103         UINT            wFindWhatLen;           /* size of find buffer      */
104         UINT            wReplaceWithLen;        /* size of replace buffer   */
105         LPARAM          lCustData;              /* data passed to hook fn.  */
106         UINT            (CALLBACK* lpfnHook)(HWND, UINT, WPARAM, LPARAM);
107         LPCSTR          lpTemplateName;         /* custom template name     */
108         } FINDREPLACE;
109 typedef FINDREPLACE *LPFINDREPLACE;
110
111 #define FR_DOWN                         0x00000001
112 #define FR_WHOLEWORD                    0x00000002
113 #define FR_MATCHCASE                    0x00000004
114 #define FR_FINDNEXT                     0x00000008
115 #define FR_REPLACE                      0x00000010
116 #define FR_REPLACEALL                   0x00000020
117 #define FR_DIALOGTERM                   0x00000040
118 #define FR_SHOWHELP                     0x00000080
119 #define FR_ENABLEHOOK                   0x00000100
120 #define FR_ENABLETEMPLATE               0x00000200
121 #define FR_NOUPDOWN                     0x00000400
122 #define FR_NOMATCHCASE                  0x00000800
123 #define FR_NOWHOLEWORD                  0x00001000
124 #define FR_ENABLETEMPLATEHANDLE         0x00002000
125 #define FR_HIDEUPDOWN                   0x00004000
126 #define FR_HIDEMATCHCASE                0x00008000
127 #define FR_HIDEWHOLEWORD                0x00010000
128
129
130 typedef struct {
131         DWORD                   lStructSize;
132         HWND                    hwndOwner;          /* caller's window handle   */
133         HDC                             hDC;                /* printer DC/IC or NULL    */
134         LOGFONT FAR*    lpLogFont;          /* ptr. to a LOGFONT struct */
135         short                   iPointSize;         /* 10 * size in points of selected font */
136         DWORD                   Flags;              /* enum. type flags         */
137         COLORREF                rgbColors;          /* returned text color      */
138         LPARAM                  lCustData;          /* data passed to hook fn.  */
139         UINT (CALLBACK* lpfnHook)(HWND, UINT, WPARAM, LPARAM);
140         LPCSTR                  lpTemplateName;     /* custom template name     */
141         HINSTANCE               hInstance;          /* instance handle of.EXE that   */
142                                                                                 /* contains cust. dlg. template  */
143         LPSTR                   lpszStyle;          /* return the style field here   */
144                                                                                 /* must be LF_FACESIZE or bigger */
145         UINT                    nFontType;          /* same value reported to the    */
146                                                                                 /* EnumFonts callback with the   */
147                                                                                 /* extra FONTTYPE_ bits added    */
148         short                   nSizeMin;           /* minimum pt size allowed & */
149         short                   nSizeMax;           /* max pt size allowed if    */
150                                                                                 /* CF_LIMITSIZE is used      */
151         } CHOOSEFONT;
152 typedef CHOOSEFONT *LPCHOOSEFONT;
153
154
155 #define CF_SCREENFONTS               0x00000001
156 #define CF_PRINTERFONTS              0x00000002
157 #define CF_BOTH                      (CF_SCREENFONTS | CF_PRINTERFONTS)
158 #define CF_SHOWHELP                  0x00000004L
159 #define CF_ENABLEHOOK                0x00000008L
160 #define CF_ENABLETEMPLATE            0x00000010L
161 #define CF_ENABLETEMPLATEHANDLE      0x00000020L
162 #define CF_INITTOLOGFONTSTRUCT       0x00000040L
163 #define CF_USESTYLE                  0x00000080L
164 #define CF_EFFECTS                   0x00000100L
165 #define CF_APPLY                     0x00000200L
166 #define CF_ANSIONLY                  0x00000400L
167 #define CF_NOVECTORFONTS             0x00000800L
168 #define CF_NOOEMFONTS                CF_NOVECTORFONTS
169 #define CF_NOSIMULATIONS             0x00001000L
170 #define CF_LIMITSIZE                 0x00002000L
171 #define CF_FIXEDPITCHONLY            0x00004000L
172 #define CF_WYSIWYG                   0x00008000L /* use with CF_SCREENFONTS & CF_PRINTERFONTS */
173 #define CF_FORCEFONTEXIST            0x00010000L
174 #define CF_SCALABLEONLY              0x00020000L
175 #define CF_TTONLY                    0x00040000L
176 #define CF_NOFACESEL                 0x00080000L
177 #define CF_NOSTYLESEL                0x00100000L
178 #define CF_NOSIZESEL                 0x00200000L
179
180 #define SIMULATED_FONTTYPE      0x8000
181 #define PRINTER_FONTTYPE        0x4000
182 #define SCREEN_FONTTYPE         0x2000
183 #define BOLD_FONTTYPE           0x0100
184 #define ITALIC_FONTTYPE         0x0200
185 #define REGULAR_FONTTYPE        0x0400
186
187 #define WM_CHOOSEFONT_GETLOGFONT        (WM_USER + 1)
188
189 #define LBSELCHSTRING  "commdlg_LBSelChangedNotify"
190 #define SHAREVISTRING  "commdlg_ShareViolation"
191 #define FILEOKSTRING   "commdlg_FileNameOK"
192 #define COLOROKSTRING  "commdlg_ColorOK"
193 #define SETRGBSTRING   "commdlg_SetRGBColor"
194 #define FINDMSGSTRING  "commdlg_FindReplace"
195 #define HELPMSGSTRING  "commdlg_help"
196
197 #define CD_LBSELNOITEMS -1
198 #define CD_LBSELCHANGE   0
199 #define CD_LBSELSUB      1
200 #define CD_LBSELADD      2
201
202 typedef struct {
203         DWORD           lStructSize;
204         HWND            hwndOwner;
205         HGLOBAL         hDevMode;
206         HGLOBAL         hDevNames;
207         HDC                     hDC;
208         DWORD           Flags;
209         UINT            nFromPage;
210         UINT            nToPage;
211         UINT            nMinPage;
212         UINT            nMaxPage;
213         UINT            nCopies;
214         HINSTANCE       hInstance;
215         LPARAM          lCustData;
216         UINT            (CALLBACK* lpfnPrintHook)(HWND, UINT, WPARAM, LPARAM);
217         UINT            (CALLBACK* lpfnSetupHook)(HWND, UINT, WPARAM, LPARAM);
218         LPCSTR          lpPrintTemplateName;
219         LPCSTR          lpSetupTemplateName;
220         HGLOBAL         hPrintTemplate;
221         HGLOBAL         hSetupTemplate;
222         } PRINTDLG;
223 typedef PRINTDLG * LPPRINTDLG;
224
225
226 #define PD_ALLPAGES                  0x00000000
227 #define PD_SELECTION                 0x00000001
228 #define PD_PAGENUMS                  0x00000002
229 #define PD_NOSELECTION               0x00000004
230 #define PD_NOPAGENUMS                0x00000008
231 #define PD_COLLATE                   0x00000010
232 #define PD_PRINTTOFILE               0x00000020
233 #define PD_PRINTSETUP                0x00000040
234 #define PD_NOWARNING                 0x00000080
235 #define PD_RETURNDC                  0x00000100
236 #define PD_RETURNIC                  0x00000200
237 #define PD_RETURNDEFAULT             0x00000400
238 #define PD_SHOWHELP                  0x00000800
239 #define PD_ENABLEPRINTHOOK           0x00001000
240 #define PD_ENABLESETUPHOOK           0x00002000
241 #define PD_ENABLEPRINTTEMPLATE       0x00004000
242 #define PD_ENABLESETUPTEMPLATE       0x00008000
243 #define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
244 #define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
245 #define PD_USEDEVMODECOPIES          0x00040000
246 #define PD_DISABLEPRINTTOFILE        0x00080000
247 #define PD_HIDEPRINTTOFILE           0x00100000
248
249 typedef struct {
250         UINT    wDriverOffset;
251         UINT    wDeviceOffset;
252         UINT    wOutputOffset;
253         UINT    wDefault;
254         } DEVNAMES;
255 typedef DEVNAMES * LPDEVNAMES;
256
257 #define DN_DEFAULTPRN      0x0001
258
259
260 #define CDERR_DIALOGFAILURE   0xFFFF
261 #define CDERR_GENERALCODES     0x0000
262 #define CDERR_STRUCTSIZE       0x0001
263 #define CDERR_INITIALIZATION   0x0002
264 #define CDERR_NOTEMPLATE       0x0003
265 #define CDERR_NOHINSTANCE      0x0004
266 #define CDERR_LOADSTRFAILURE   0x0005
267 #define CDERR_FINDRESFAILURE   0x0006
268 #define CDERR_LOADRESFAILURE   0x0007
269 #define CDERR_LOCKRESFAILURE   0x0008
270 #define CDERR_MEMALLOCFAILURE  0x0009
271 #define CDERR_MEMLOCKFAILURE   0x000A
272 #define CDERR_NOHOOK           0x000B
273 #define CDERR_REGISTERMSGFAIL  0x000C
274
275 /************************************************************************
276 *                 COMMDLG Resources placed in Wine SYSRES.DLL               *
277 ************************************************************************/
278
279 #define OBM_FOLDER                      32520
280 #define OBM_FOLDER2                     32521
281 #define OBM_FLOPPY                      32522
282 #define OBM_HDISK                       32523
283 #define OBM_CDROM                       32524
284
285 #define OPENFILEDLG                             3
286 #define SAVEFILEDLG                             4
287 #define PRINTDLG                                5
288 #define PRINTSETUPDLG                   6
289 #define FONTDLG                                 7
290 #define COLORDLG                                8
291 #define FINDDLG                                 9
292 #define REPLACEDLG                              10
293
294
295
296 #endif          /* #ifdef COMMDLG_H */
297
298