blob: f340070830ef944d77e7a90c41cab4735873f948 [file] [log] [blame]
Alexandre Julliard0e607781993-11-03 19:23:37 +00001/*
2 * Dialog definitions
3 *
4 * Copyright 1993 Alexandre Julliard
5 */
6
Alexandre Julliardc6c09441997-01-12 18:32:19 +00007#ifndef __WINE_DIALOG_H
8#define __WINE_DIALOG_H
Alexandre Julliard0e607781993-11-03 19:23:37 +00009
10#include "windows.h"
Alexandre Julliard3051b641996-07-05 17:14:13 +000011#include "winproc.h"
Alexandre Julliard0e607781993-11-03 19:23:37 +000012
Alexandre Julliard0e607781993-11-03 19:23:37 +000013 /* Dialog info structure.
14 * This structure is stored into the window extra bytes (cbWndExtra).
15 * sizeof(DIALOGINFO) must be <= DLGWINDOWEXTRA (=30).
16 */
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000017
18#pragma pack(1)
19
Alexandre Julliard0e607781993-11-03 19:23:37 +000020typedef struct
21{
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000022 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 Julliardbf9130a1996-10-13 17:45:47 +000028 HWND16 hwndFocus; /* Current control with focus */
29 HFONT16 hUserFont; /* Dialog font */
30 HMENU16 hMenu; /* Dialog menu */
Alexandre Julliarddf2673b1997-03-29 17:20:20 +000031 UINT16 xBaseUnit; /* Dialog units (depends on the font) */
32 UINT16 yBaseUnit;
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000033 INT32 idResult; /* EndDialog() result / default pushbutton ID */
Alexandre Julliarddf2673b1997-03-29 17:20:20 +000034 UINT16 flags; /* EndDialog() called for this dialog */
Alexandre Julliardbf9130a1996-10-13 17:45:47 +000035 HGLOBAL16 hDialogHeap;
Alexandre Julliard0e607781993-11-03 19:23:37 +000036} DIALOGINFO;
37
Alexandre Julliard7e6ae4b1996-12-08 19:25:27 +000038#pragma pack(4)
39
Alexandre Julliarddf2673b1997-03-29 17:20:20 +000040#define DF_END 0x0001
Tim Newsomee7cdbb01998-11-01 13:04:43 +000041#define DF_ENDING 0x0002
Alexandre Julliarddf2673b1997-03-29 17:20:20 +000042
Alexandre Julliardbf9130a1996-10-13 17:45:47 +000043extern BOOL32 DIALOG_Init(void);
Alexandre Julliard9ea19e51997-01-01 17:29:55 +000044extern HWND32 DIALOG_CreateIndirect( HINSTANCE32 hInst, LPCSTR dlgTemplate,
45 BOOL32 win32Template, HWND32 owner,
46 DLGPROC16 dlgProc, LPARAM param,
47 WINDOWPROCTYPE procType );
48extern INT32 DIALOG_DoDialogBox( HWND32 hwnd, HWND32 owner );
Alexandre Julliard0c126c71996-02-18 18:44:41 +000049
Alexandre Julliardc6c09441997-01-12 18:32:19 +000050#endif /* __WINE_DIALOG_H */