user/tests: Add lparam to all HCBT_MINMAX hook messages.
[wine] / dlls / comdlg32 / cdlg16.h
1 /*
2  * Common Dialog Boxes interface (16 bit implementation)
3  *
4  * Copyright 1994 Martin Ayotte
5  * Copyright 1996 Albrecht Kleine
6  * Copyright 1998 Bertho A. Stultiens
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  */
22
23 #ifndef _WINE_DLL_CDLG16_H
24 #define _WINE_DLL_CDLG16_H
25
26 #define COM_NO_WINDOWS_H
27 #include "dlgs.h"
28 #include "wine/windef16.h"
29 #include "wine/winbase16.h"
30 #include "wine/winuser16.h"
31 #include "wownt32.h"
32
33 /* 16 bit api */
34
35 #include "pshpack1.h"
36
37 typedef UINT16 (CALLBACK *LPOFNHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
38
39 typedef struct {
40         DWORD           lStructSize;
41         HWND16          hwndOwner;
42         HINSTANCE16     hInstance;
43         SEGPTR          lpstrFilter;
44         SEGPTR          lpstrCustomFilter;
45         DWORD           nMaxCustFilter;
46         DWORD           nFilterIndex;
47         SEGPTR          lpstrFile;
48         DWORD           nMaxFile;
49         SEGPTR          lpstrFileTitle;
50         DWORD           nMaxFileTitle;
51         SEGPTR          lpstrInitialDir;
52         SEGPTR          lpstrTitle;
53         DWORD           Flags;
54         UINT16          nFileOffset;
55         UINT16          nFileExtension;
56         SEGPTR          lpstrDefExt;
57         LPARAM          lCustData;
58         LPOFNHOOKPROC16 lpfnHook;
59         SEGPTR          lpTemplateName;
60 }   OPENFILENAME16,*LPOPENFILENAME16;
61
62 typedef UINT16 (CALLBACK *LPCCHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
63
64 typedef struct {
65         DWORD           lStructSize;
66         HWND16          hwndOwner;
67         HWND16          hInstance;
68         COLORREF        rgbResult;
69         SEGPTR          lpCustColors;
70         DWORD           Flags;
71         LPARAM          lCustData;
72         LPCCHOOKPROC16  lpfnHook;
73         SEGPTR          lpTemplateName;
74 } CHOOSECOLOR16;
75 typedef CHOOSECOLOR16 *LPCHOOSECOLOR16;
76
77 typedef UINT16 (CALLBACK *LPFRHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
78 typedef struct {
79         DWORD           lStructSize;            /* size of this struct 0x20 */
80         HWND16          hwndOwner;              /* handle to owner's window */
81         HINSTANCE16     hInstance;              /* instance handle of.EXE that  */
82                                                 /* contains cust. dlg. template */
83         DWORD           Flags;                  /* one or more of the FR_?? */
84         SEGPTR          lpstrFindWhat;          /* ptr. to search string    */
85         SEGPTR          lpstrReplaceWith;       /* ptr. to replace string   */
86         UINT16          wFindWhatLen;           /* size of find buffer      */
87         UINT16          wReplaceWithLen;        /* size of replace buffer   */
88         LPARAM          lCustData;              /* data passed to hook fn.  */
89         LPFRHOOKPROC16  lpfnHook;
90         SEGPTR          lpTemplateName;         /* custom template name     */
91 } FINDREPLACE16, *LPFINDREPLACE16;
92
93 typedef UINT16 (CALLBACK *LPCFHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
94 typedef struct
95 {
96         DWORD                   lStructSize;
97         HWND16                  hwndOwner;          /* caller's window handle   */
98         HDC16                   hDC;                /* printer DC/IC or NULL    */
99         SEGPTR                  lpLogFont;          /* ptr. to a LOGFONT struct */
100         short                   iPointSize;         /* 10 * size in points of selected font */
101         DWORD                   Flags;              /* enum. type flags         */
102         COLORREF                rgbColors;          /* returned text color      */
103         LPARAM                  lCustData;          /* data passed to hook fn.  */
104         LPCFHOOKPROC16          lpfnHook;
105         SEGPTR                  lpTemplateName;     /* custom template name     */
106         HINSTANCE16             hInstance;          /* instance handle of.EXE that   */
107                                         /* contains cust. dlg. template  */
108         SEGPTR                  lpszStyle;          /* return the style field here   */
109                                         /* must be LF_FACESIZE or bigger */
110         UINT16                  nFontType;          /* same value reported to the    */
111                                                     /* EnumFonts callback with the   */
112                                                     /* extra FONTTYPE_ bits added    */
113         short                   nSizeMin;           /* minimum pt size allowed & */
114         short                   nSizeMax;           /* max pt size allowed if    */
115                                         /* CF_LIMITSIZE is used      */
116 } CHOOSEFONT16, *LPCHOOSEFONT16;
117
118
119 typedef UINT16 (CALLBACK *LPPRINTHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
120 typedef UINT16 (CALLBACK *LPSETUPHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
121 typedef struct
122 {
123     DWORD            lStructSize;
124     HWND16           hwndOwner;
125     HGLOBAL16        hDevMode;
126     HGLOBAL16        hDevNames;
127     HDC16            hDC;
128     DWORD            Flags;
129     WORD             nFromPage;
130     WORD             nToPage;
131     WORD             nMinPage;
132     WORD             nMaxPage;
133     WORD             nCopies;
134     HINSTANCE16      hInstance;
135     LPARAM           lCustData;
136     LPPRINTHOOKPROC16 lpfnPrintHook;
137     LPSETUPHOOKPROC16 lpfnSetupHook;
138     SEGPTR           lpPrintTemplateName;
139     SEGPTR           lpSetupTemplateName;
140     HGLOBAL16        hPrintTemplate;
141     HGLOBAL16        hSetupTemplate;
142 } PRINTDLG16, *LPPRINTDLG16;
143
144 BOOL16  WINAPI ChooseColor16(LPCHOOSECOLOR16 lpChCol);
145 HWND16  WINAPI FindText16( SEGPTR find);
146 BOOL16  WINAPI GetOpenFileName16(SEGPTR ofn);
147 BOOL16  WINAPI GetSaveFileName16(SEGPTR ofn);
148 BOOL16  WINAPI PrintDlg16( LPPRINTDLG16 print);
149 HWND16  WINAPI ReplaceText16( SEGPTR find);
150 BOOL16  WINAPI ChooseFont16(LPCHOOSEFONT16);
151 BOOL16 CALLBACK ColorDlgProc16( HWND16 hDlg16, UINT16 message, WPARAM16 wParam, LONG lParam );
152 BOOL16 CALLBACK FileSaveDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
153 BOOL16 CALLBACK FileOpenDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
154 INT16 WINAPI FontFamilyEnumProc16( SEGPTR logfont, SEGPTR metrics, UINT16 nFontType, LPARAM lParam );
155 INT16 WINAPI FontStyleEnumProc16( SEGPTR logfont, SEGPTR metrics, UINT16 nFontType, LPARAM lParam);
156 BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message, WPARAM16 wParam, LPARAM lParam);
157 short WINAPI GetFileTitle16(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf);
158 BOOL16 CALLBACK PrintDlgProc16(HWND16 hDlg16, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam);
159 BOOL16 CALLBACK PrintSetupDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
160
161 #include "poppack.h"
162
163 #endif /* _WINE_DLL_CDLG16_H */