Release 941122
[wine/multimedia.git] / include / commdlg.h
blob737e6e0c4712afd9f3893712540e163813503f92
1 /*
2 * COMMDLG - Common Wine Dialog ... :-)
3 */
5 #ifndef COMMDLG_H
6 #define COMMDLG_H
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)
19 #define RT_GROUP_CURSOR MAKEINTRESOURCE(12)
20 #define RT_GROUP_ICON MAKEINTRESOURCE(14)
22 #ifndef HGLOBAL
23 #define HGLOBAL HANDLE
24 #endif
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
44 #define OFN_SHAREFALLTHROUGH 2
45 #define OFN_SHARENOWARN 1
46 #define OFN_SHAREWARN 0
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;
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;
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
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;
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
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;
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
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
187 #define WM_CHOOSEFONT_GETLOGFONT (WM_USER + 1)
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"
197 #define CD_LBSELNOITEMS -1
198 #define CD_LBSELCHANGE 0
199 #define CD_LBSELSUB 1
200 #define CD_LBSELADD 2
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;
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
249 typedef struct {
250 UINT wDriverOffset;
251 UINT wDeviceOffset;
252 UINT wOutputOffset;
253 UINT wDefault;
254 } DEVNAMES;
255 typedef DEVNAMES * LPDEVNAMES;
257 #define DN_DEFAULTPRN 0x0001
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
275 /************************************************************************
276 * COMMDLG Resources placed in Wine SYSRES.DLL *
277 ************************************************************************/
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
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
296 #endif /* #ifdef COMMDLG_H */