Alexandre Julliard | 0e60778 | 1993-11-03 19:23:37 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Dialog definitions |
| 3 | * |
| 4 | * Copyright 1993 Alexandre Julliard |
| 5 | */ |
| 6 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 7 | #ifndef __WINE_DIALOG_H |
| 8 | #define __WINE_DIALOG_H |
Alexandre Julliard | 0e60778 | 1993-11-03 19:23:37 +0000 | [diff] [blame] | 9 | |
| 10 | #include "windows.h" |
Alexandre Julliard | 3051b64 | 1996-07-05 17:14:13 +0000 | [diff] [blame] | 11 | #include "winproc.h" |
Alexandre Julliard | 0e60778 | 1993-11-03 19:23:37 +0000 | [diff] [blame] | 12 | |
Alexandre Julliard | 0e60778 | 1993-11-03 19:23:37 +0000 | [diff] [blame] | 13 | /* Dialog info structure. |
| 14 | * This structure is stored into the window extra bytes (cbWndExtra). |
| 15 | * sizeof(DIALOGINFO) must be <= DLGWINDOWEXTRA (=30). |
| 16 | */ |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 17 | |
| 18 | #pragma pack(1) |
| 19 | |
Alexandre Julliard | 0e60778 | 1993-11-03 19:23:37 +0000 | [diff] [blame] | 20 | typedef struct |
| 21 | { |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 22 | INT32 msgResult; /* +00 Last message result */ |
| 23 | HWINDOWPROC dlgProc; /* +04 Dialog procedure */ |
| 24 | LONG userInfo; /* +08 User information (for DWL_USER) */ |
| 25 | |
| 26 | /* implementation-dependent part */ |
| 27 | |
Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 28 | HWND16 hwndFocus; /* Current control with focus */ |
| 29 | HFONT16 hUserFont; /* Dialog font */ |
| 30 | HMENU16 hMenu; /* Dialog menu */ |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 31 | UINT16 xBaseUnit; /* Dialog units (depends on the font) */ |
| 32 | UINT16 yBaseUnit; |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 33 | INT32 idResult; /* EndDialog() result / default pushbutton ID */ |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 34 | UINT16 flags; /* EndDialog() called for this dialog */ |
Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 35 | HGLOBAL16 hDialogHeap; |
Alexandre Julliard | 0e60778 | 1993-11-03 19:23:37 +0000 | [diff] [blame] | 36 | } DIALOGINFO; |
| 37 | |
Alexandre Julliard | 7e6ae4b | 1996-12-08 19:25:27 +0000 | [diff] [blame] | 38 | #pragma pack(4) |
| 39 | |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 40 | #define DF_END 0x0001 |
Tim Newsome | e7cdbb0 | 1998-11-01 13:04:43 +0000 | [diff] [blame] | 41 | #define DF_ENDING 0x0002 |
Alexandre Julliard | df2673b | 1997-03-29 17:20:20 +0000 | [diff] [blame] | 42 | |
Alexandre Julliard | bf9130a | 1996-10-13 17:45:47 +0000 | [diff] [blame] | 43 | extern BOOL32 DIALOG_Init(void); |
Alexandre Julliard | 9ea19e5 | 1997-01-01 17:29:55 +0000 | [diff] [blame] | 44 | extern HWND32 DIALOG_CreateIndirect( HINSTANCE32 hInst, LPCSTR dlgTemplate, |
| 45 | BOOL32 win32Template, HWND32 owner, |
| 46 | DLGPROC16 dlgProc, LPARAM param, |
| 47 | WINDOWPROCTYPE procType ); |
| 48 | extern INT32 DIALOG_DoDialogBox( HWND32 hwnd, HWND32 owner ); |
Alexandre Julliard | 0c126c7 | 1996-02-18 18:44:41 +0000 | [diff] [blame] | 49 | |
Alexandre Julliard | c6c0944 | 1997-01-12 18:32:19 +0000 | [diff] [blame] | 50 | #endif /* __WINE_DIALOG_H */ |