2 * Win3.1 style File Dialog interface (32 bit)
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef _WINE_DLL_FILEDLG31_H
20 #define _WINE_DLL_FILEDLG31_H
22 #define FD31_OFN_PROP "FILEDLG_OFN"
24 typedef struct tagFD31_DATA
26 HWND hwnd
; /* file dialog window handle */
27 BOOL hook
; /* TRUE if the dialog is hooked */
28 UINT lbselchstring
; /* registered message id */
29 UINT fileokstring
; /* registered message id */
30 LPARAM lParam
; /* save original lparam */
31 LPCVOID
template; /* template for 32 bits resource */
32 BOOL open
; /* TRUE if open dialog, FALSE if save dialog */
33 LPOPENFILENAMEW ofnW
; /* pointer either to the original structure or
34 a W copy for A/16 API */
35 LPOPENFILENAMEA ofnA
; /* original structure if 32bits ansi dialog */
36 } FD31_DATA
, *PFD31_DATA
;
38 extern BOOL
FD32_GetTemplate(PFD31_DATA lfs
);
40 extern BOOL
FD31_Init(void);
41 extern PFD31_DATA
FD31_AllocPrivate(LPARAM lParam
, UINT dlgType
, BOOL IsUnicode
);
42 extern void FD31_DestroyPrivate(PFD31_DATA lfs
);
43 extern void FD31_MapOfnStructA(const OPENFILENAMEA
*ofnA
, LPOPENFILENAMEW ofnW
, BOOL open
);
44 extern void FD31_FreeOfnW(OPENFILENAMEW
*ofnW
);
45 extern BOOL
FD31_CallWindowProc(const FD31_DATA
*lfs
, UINT wMsg
, WPARAM wParam
,
47 extern LONG
FD31_WMInitDialog(HWND hWnd
, WPARAM wParam
, LPARAM lParam
);
48 extern LONG
FD31_WMDrawItem(HWND hWnd
, WPARAM wParam
, LPARAM lParam
,
49 int savedlg
, const DRAWITEMSTRUCT
*lpdis
);
50 extern LRESULT
FD31_WMCommand(HWND hWnd
, LPARAM lParam
, UINT notification
,
51 UINT control
, const FD31_DATA
*lfs
);
52 extern int FD31_GetFldrHeight(void);
54 #endif /* _WINE_DLL_FILEDLG31_H */