Like the AUTORADIOBUTTON, the parent of a RADIOBUTTON style button
[wine] / dlls / comctl32 / flatsb.c
1 /*
2  * Flat Scrollbar control
3  *
4  * Copyright 1998, 1999 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 "winbase.h"
19 #include "commctrl.h"
20 #include "flatsb.h" 
21 #include "debugtools.h"
22
23 DEFAULT_DEBUG_CHANNEL(commctrl)
24
25
26 #define FlatSB_GetInfoPtr(hwnd) ((FLATSB_INFO*)GetWindowLongA (hwnd, 0))
27
28
29 /***********************************************************************
30  *              FlatSB_EnableScrollBar
31  */
32 BOOL WINAPI 
33 FlatSB_EnableScrollBar(HWND hwnd, INT dummy, UINT dummy2)
34 {
35     FIXME("stub\n");
36     return 0;
37 }
38
39 /***********************************************************************
40  *              FlatSB_ShowScrollBar
41  */
42 BOOL WINAPI 
43 FlatSB_ShowScrollBar(HWND hwnd, INT code, BOOL flag)
44 {
45     FIXME("stub\n");
46     return 0;
47 }
48
49 /***********************************************************************
50  *              FlatSB_GetScrollRange
51  */
52 BOOL WINAPI 
53 FlatSB_GetScrollRange(HWND hwnd, INT code, LPINT min, LPINT max)
54 {
55     FIXME("stub\n");
56     return 0;
57 }
58
59 /***********************************************************************
60  *              FlatSB_GetScrollInfo
61  */
62 BOOL WINAPI 
63 FlatSB_GetScrollInfo(HWND hwnd, INT code, LPSCROLLINFO info)
64 {
65     FIXME("stub\n");
66     return 0;
67 }
68
69 /***********************************************************************
70  *              FlatSB_GetScrollPos
71  */
72 INT WINAPI 
73 FlatSB_GetScrollPos(HWND hwnd, INT code)
74 {
75     FIXME("stub\n");
76     return 0;
77 }
78
79 /***********************************************************************
80  *              FlatSB_GetScrollProp
81  */
82 BOOL WINAPI 
83 FlatSB_GetScrollProp(HWND hwnd, INT propIndex, LPINT prop)
84 {
85     FIXME("stub\n");
86     return 0;
87 }
88
89 /***********************************************************************
90  *              FlatSB_SetScrollPos
91  */
92 INT WINAPI 
93 FlatSB_SetScrollPos(HWND hwnd, INT code, INT pos, BOOL fRedraw)
94 {
95     FIXME("stub\n");
96     return 0;
97 }
98
99 /***********************************************************************
100  *              FlatSB_SetScrollInfo
101  */
102 INT WINAPI 
103 FlatSB_SetScrollInfo(HWND hwnd, INT code, LPSCROLLINFO info, BOOL fRedraw)
104 {
105     FIXME("stub\n");
106     return 0;
107 }
108
109 /***********************************************************************
110  *              FlatSB_SetScrollRange
111  */
112 INT WINAPI 
113 FlatSB_SetScrollRange(HWND hwnd, INT code, INT min, INT max, BOOL fRedraw)
114 {
115     FIXME("stub\n");
116     return 0;
117 }
118
119 /***********************************************************************
120  *              FlatSB_SetScrollProp
121  */
122 BOOL WINAPI 
123 FlatSB_SetScrollProp(HWND hwnd, UINT index, INT newValue, BOOL flag)
124 {
125     FIXME("stub\n");
126     return 0;
127 }
128
129 /***********************************************************************
130  *              InitializeFlatSB
131  */
132 BOOL WINAPI InitializeFlatSB(HWND hwnd)
133 {
134     FIXME("stub\n");
135     return 0;
136 }
137
138 /***********************************************************************
139  *              UninitializeFlatSB
140  */
141 HRESULT WINAPI UninitializeFlatSB(HWND hwnd)
142 {
143     FIXME("stub\n");
144     return 0;
145 }
146
147
148
149 static LRESULT
150 FlatSB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
151 {
152     return 0;
153 }
154
155
156 static LRESULT
157 FlatSB_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
158 {
159     return 0;
160 }
161
162
163
164
165 static LRESULT WINAPI
166 FlatSB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
167 {
168     switch (uMsg)
169     {
170
171         case WM_CREATE:
172             return FlatSB_Create (hwnd, wParam, lParam);
173
174         case WM_DESTROY:
175             return FlatSB_Destroy (hwnd, wParam, lParam);
176
177         default:
178             if (uMsg >= WM_USER)
179                 ERR("unknown msg %04x wp=%08x lp=%08lx\n",
180                     uMsg, wParam, lParam);
181             return DefWindowProcA (hwnd, uMsg, wParam, lParam);
182     }
183     return 0;
184 }
185
186
187 VOID
188 FLATSB_Register (void)
189 {
190     WNDCLASSA wndClass;
191
192     ZeroMemory (&wndClass, sizeof(WNDCLASSA));
193     wndClass.style         = CS_GLOBALCLASS;
194     wndClass.lpfnWndProc   = (WNDPROC)FlatSB_WindowProc;
195     wndClass.cbClsExtra    = 0;
196     wndClass.cbWndExtra    = sizeof(FLATSB_INFO *);
197     wndClass.hCursor       = LoadCursorA (0, IDC_ARROWA);
198     wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
199     wndClass.lpszClassName = FLATSB_CLASSA;
200  
201     RegisterClassA (&wndClass);
202 }
203
204
205 VOID
206 FLATSB_Unregister (void)
207 {
208     UnregisterClassA (FLATSB_CLASSA, (HINSTANCE)NULL);
209 }
210