- New implementation of SendMessage, ReceiveMessage, ReplyMessage functions
[wine] / dlls / comctl32 / flatsb.c
1 /*
2  * Flat Scrollbar control
3  *
4  * Copyright 1998 Eric Kohl
5  * Copyright 1998 Alex Priem
6  *
7  * NOTES
8  *   This is just a dummy control. An author is needed! Any volunteers?
9  *   I will only improve this control once in a while.
10  *     Eric <ekohl@abo.rhein-zeitung.de>
11  *
12  * TODO:
13  *   - All messages.
14  *   - All notifications.
15  *
16  */
17
18 #include "commctrl.h"
19 #include "flatsb.h" 
20 #include "win.h"
21 #include "debug.h"
22
23
24 #define FlatSB_GetInfoPtr(wndPtr) ((FLATSB_INFO*)wndPtr->wExtra[0])
25
26
27 BOOL32 WINAPI 
28 FlatSB_EnableScrollBar(HWND32 hwnd, INT32 dummy, UINT32 dummy2)
29 {
30     FIXME(commctrl,"stub\n");
31     return 0;
32 }
33
34 BOOL32 WINAPI 
35 FlatSB_ShowScrollBar(HWND32 hwnd, INT32 code, BOOL32 flag)
36 {
37     FIXME(commctrl,"stub\n");
38     return 0;
39 }
40
41 BOOL32 WINAPI 
42 FlatSB_GetScrollRange(HWND32 hwnd, INT32 code, LPINT32 min, LPINT32 max)
43 {
44     FIXME(commctrl,"stub\n");
45     return 0;
46 }
47
48 BOOL32 WINAPI 
49 FlatSB_GetScrollInfo(HWND32 hwnd, INT32 code, LPSCROLLINFO info)
50 {
51     FIXME(commctrl,"stub\n");
52     return 0;
53 }
54
55 INT32 WINAPI 
56 FlatSB_GetScrollPos(HWND32 hwnd, INT32 code)
57 {
58     FIXME(commctrl,"stub\n");
59     return 0;
60 }
61
62 BOOL32 WINAPI 
63 FlatSB_GetScrollProp(HWND32 hwnd, INT32 propIndex, LPINT32 prop)
64 {
65     FIXME(commctrl,"stub\n");
66     return 0;
67 }
68
69
70 INT32 WINAPI 
71 FlatSB_SetScrollPos(HWND32 hwnd, INT32 code, INT32 pos, BOOL32 fRedraw)
72 {
73     FIXME(commctrl,"stub\n");
74     return 0;
75 }
76
77 INT32 WINAPI 
78 FlatSB_SetScrollInfo(HWND32 hwnd, INT32 code, LPSCROLLINFO info, BOOL32 fRedraw)
79 {
80     FIXME(commctrl,"stub\n");
81     return 0;
82 }
83
84 INT32 WINAPI 
85 FlatSB_SetScrollRange(HWND32 hwnd, INT32 code, INT32 min, INT32 max, BOOL32 fRedraw)
86 {
87     FIXME(commctrl,"stub\n");
88     return 0;
89 }
90
91 BOOL32 WINAPI 
92 FlatSB_SetScrollProp(HWND32 hwnd, UINT32 index, INT32 newValue, BOOL32 flag)
93 {
94     FIXME(commctrl,"stub\n");
95     return 0;
96 }
97
98
99 BOOL32 WINAPI InitializeFlatSB(HWND32 hwnd)
100 {
101     FIXME(commctrl,"stub\n");
102     return 0;
103 }
104
105 HRESULT WINAPI UninitializeFlatSB(HWND32 hwnd)
106 {
107     FIXME(commctrl,"stub\n");
108     return 0;
109 }
110
111
112
113 static LRESULT
114 FlatSB_Create (WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
115 {
116     return 0;
117 }
118
119
120 static LRESULT
121 FlatSB_Destroy (WND *wndPtr, WPARAM32 wParam, LPARAM lParam)
122 {
123     return 0;
124 }
125
126
127
128
129 LRESULT WINAPI
130 FlatSB_WindowProc (HWND32 hwnd, UINT32 uMsg, WPARAM32 wParam, LPARAM lParam)
131 {
132     WND *wndPtr = WIN_FindWndPtr(hwnd);
133
134     switch (uMsg)
135     {
136
137         case WM_CREATE:
138             return FlatSB_Create (wndPtr, wParam, lParam);
139
140         case WM_DESTROY:
141             return FlatSB_Destroy (wndPtr, wParam, lParam);
142
143         default:
144             if (uMsg >= WM_USER)
145                 ERR (datetime, "unknown msg %04x wp=%08x lp=%08lx\n",
146                      uMsg, wParam, lParam);
147             return DefWindowProc32A (hwnd, uMsg, wParam, lParam);
148     }
149     return 0;
150 }
151
152
153 VOID
154 FLATSB_Register (VOID)
155 {
156     WNDCLASS32A wndClass;
157
158     if (GlobalFindAtom32A (FLATSB_CLASS32A)) return;
159
160     ZeroMemory (&wndClass, sizeof(WNDCLASS32A));
161     wndClass.style         = CS_GLOBALCLASS;
162     wndClass.lpfnWndProc   = (WNDPROC32)FlatSB_WindowProc;
163     wndClass.cbClsExtra    = 0;
164     wndClass.cbWndExtra    = sizeof(FLATSB_INFO *);
165     wndClass.hCursor       = LoadCursor32A (0, IDC_ARROW32A);
166     wndClass.hbrBackground = (HBRUSH32)(COLOR_WINDOW + 1);
167     wndClass.lpszClassName = FLATSB_CLASS32A;
168  
169     RegisterClass32A (&wndClass);
170 }
171
172
173 VOID
174 FLATSB_Unregister (VOID)
175 {
176     if (GlobalFindAtom32A (FLATSB_CLASS32A))
177         UnregisterClass32A (FLATSB_CLASS32A, (HINSTANCE32)NULL);
178 }
179