Release 940405
[wine/gsoc-2012-control.git] / controls / widgets.c
blobc56daba53638ff4f91c3f6d7e03ce100b6f54e95
1 /*
2 * Windows widgets (built-in window classes)
4 * Copyright 1993 Alexandre Julliard
5 */
7 static char Copyright[] = "Copyright Alexandre Julliard, 1993";
9 #include "win.h"
10 #include "desktop.h"
11 #include "mdi.h"
12 #include "gdi.h"
14 LONG ButtonWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam );
15 LONG StaticWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam );
16 LONG ScrollBarWndProc( HWND hwnd, WORD message, WORD wParam, LONG lParam );
17 LONG ListBoxWndProc ( HWND hwnd, WORD message, WORD wParam, LONG lParam );
18 LONG ComboBoxWndProc ( HWND hwnd, WORD message, WORD wParam, LONG lParam );
19 LONG PopupMenuWndProc ( HWND hwnd, WORD message, WORD wParam, LONG lParam );
20 LONG DesktopWndProc ( HWND hwnd, WORD message, WORD wParam, LONG lParam );
21 LONG MDIClientWndProc ( HWND hwnd, WORD message, WORD wParam, LONG lParam );
24 static WNDCLASS WIDGETS_BuiltinClasses[] =
26 { CS_GLOBALCLASS, (LONG(*)())ButtonWndProc, 0, 2,
27 0, 0, 0, 0, NULL, "BUTTON" },
28 { CS_GLOBALCLASS, (LONG(*)())StaticWndProc, 0, 0,
29 0, 0, 0, 0, NULL, "STATIC" },
30 { CS_GLOBALCLASS, (LONG(*)())ScrollBarWndProc, 0, 8,
31 0, 0, 0, 0, NULL, "SCROLLBAR" },
32 { CS_GLOBALCLASS, (LONG(*)())ListBoxWndProc, 0, 8,
33 0, 0, 0, 0, NULL, "LISTBOX" },
34 { CS_GLOBALCLASS, (LONG(*)())ComboBoxWndProc, 0, 8,
35 0, 0, 0, 0, NULL, "COMBOBOX" },
36 { CS_GLOBALCLASS, (LONG(*)())PopupMenuWndProc, 0, 8,
37 0, 0, 0, 0, NULL, "POPUPMENU" },
38 { CS_GLOBALCLASS, (LONG(*)())DesktopWndProc, 0, sizeof(DESKTOPINFO),
39 0, 0, 0, 0, NULL, DESKTOP_CLASS_NAME },
40 { CS_GLOBALCLASS, (LONG(*)())DefDlgProc, 0, DLGWINDOWEXTRA,
41 0, 0, 0, 0, NULL, DIALOG_CLASS_NAME },
42 { CS_GLOBALCLASS, (LONG(*)())MDIClientWndProc, 0, sizeof(MDICLIENTINFO),
43 0, 0, 0, STOCK_LTGRAY_BRUSH, NULL, "MDICLIENT" }
46 #define NB_BUILTIN_CLASSES \
47 (sizeof(WIDGETS_BuiltinClasses)/sizeof(WIDGETS_BuiltinClasses[0]))
50 /***********************************************************************
51 * WIDGETS_Init
53 * Initialize the built-in window classes.
55 BOOL WIDGETS_Init(void)
57 int i;
58 for (i = 0; i < NB_BUILTIN_CLASSES; i++)
60 if (!RegisterClass(&WIDGETS_BuiltinClasses[i])) return FALSE;
62 return TRUE;