Documentation ordinal fixes.
[wine.git] / dlls / comctl32 / flatsb.c
blob774f8e4a161f5b29c201b003a16b038dfaa998c5
1 /*
2 * Flat Scrollbar control
4 * Copyright 1998, 1999 Eric Kohl
5 * Copyright 1998 Alex Priem
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>
12 * TODO:
13 * - All messages.
14 * - All notifications.
18 #include <string.h>
19 #include "winbase.h"
20 #include "winerror.h"
21 #include "commctrl.h"
22 #include "debugtools.h"
24 DEFAULT_DEBUG_CHANNEL(commctrl);
26 typedef struct
28 DWORD dwDummy; /* just to keep the compiler happy ;-) */
29 } FLATSB_INFO, *LPFLATSB_INFO;
31 #define FlatSB_GetInfoPtr(hwnd) ((FLATSB_INFO*)GetWindowLongA (hwnd, 0))
34 /***********************************************************************
35 * InitializeFlatSB (COMCTL32.86)
37 * returns nonzero if successful, zero otherwise
40 BOOL WINAPI InitializeFlatSB(HWND hwnd)
42 TRACE("[%04x]\n", hwnd);
43 FIXME("stub\n");
44 return FALSE;
47 /***********************************************************************
48 * UninitializeFlatSB (COMCTL32.90)
50 * returns:
51 * E_FAIL if one of the scroll bars is currently in use
52 * S_FALSE if InitializeFlatSB was never called on this hwnd
53 * S_OK otherwise
56 HRESULT WINAPI UninitializeFlatSB(HWND hwnd)
58 TRACE("[%04x]\n", hwnd);
59 FIXME("stub\n");
60 return S_FALSE;
63 /***********************************************************************
64 * FlatSB_GetScrollProp (COMCTL32.32)
66 * Returns nonzero if successful, or zero otherwise. If index is WSB_PROP_HSTYLE,
67 * the return is nonzero if InitializeFlatSB has been called for this window, or
68 * zero otherwise.
71 BOOL WINAPI
72 FlatSB_GetScrollProp(HWND hwnd, INT propIndex, LPINT prop)
74 TRACE("[%04x] propIndex=%d\n", hwnd, propIndex);
75 FIXME("stub\n");
76 return FALSE;
79 /***********************************************************************
80 * FlatSB_SetScrollProp (COMCTL32.36)
82 BOOL WINAPI
83 FlatSB_SetScrollProp(HWND hwnd, UINT index, INT newValue, BOOL flag)
85 TRACE("[%04x] index=%u newValue=%d flag=%d\n", hwnd, index, newValue, flag);
86 FIXME("stub\n");
87 return FALSE;
90 /***********************************************************************
91 * From the Microsoft docs:
92 * "If flat scroll bars haven't been initialized for the
93 * window, the flat scroll bar APIs will defer to the corresponding
94 * standard APIs. This allows the developer to turn flat scroll
95 * bars on and off without having to write conditional code."
97 * So, if we just call the standard functions until we implement
98 * the flat scroll bar functions, flat scroll bars will show up and
99 * behave properly, as though they had simply not been setup to
100 * have flat properties.
102 * Susan <sfarley@codeweavers.com>
106 /***********************************************************************
107 * FlatSB_EnableScrollBar (COMCTL32.29)
109 BOOL WINAPI
110 FlatSB_EnableScrollBar(HWND hwnd, int nBar, UINT flags)
112 return EnableScrollBar(hwnd, nBar, flags);
115 /***********************************************************************
116 * FlatSB_ShowScrollBar (COMCTL32.38)
118 BOOL WINAPI
119 FlatSB_ShowScrollBar(HWND hwnd, int nBar, BOOL fShow)
121 return ShowScrollBar(hwnd, nBar, fShow);
124 /***********************************************************************
125 * FlatSB_GetScrollRange (COMCTL32.33)
127 BOOL WINAPI
128 FlatSB_GetScrollRange(HWND hwnd, int nBar, LPINT min, LPINT max)
130 return GetScrollRange(hwnd, nBar, min, max);
133 /***********************************************************************
134 * FlatSB_GetScrollInfo (COMCTL32.30)
136 BOOL WINAPI
137 FlatSB_GetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info)
139 return GetScrollInfo(hwnd, nBar, info);
142 /***********************************************************************
143 * FlatSB_GetScrollPos (COMCTL32.31)
145 INT WINAPI
146 FlatSB_GetScrollPos(HWND hwnd, int nBar)
148 return GetScrollPos(hwnd, nBar);
151 /***********************************************************************
152 * FlatSB_SetScrollPos (COMCTL32.35)
154 INT WINAPI
155 FlatSB_SetScrollPos(HWND hwnd, int nBar, INT pos, BOOL bRedraw)
157 return SetScrollPos(hwnd, nBar, pos, bRedraw);
160 /***********************************************************************
161 * FlatSB_SetScrollInfo (COMCTL32.34)
163 INT WINAPI
164 FlatSB_SetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info, BOOL bRedraw)
166 return SetScrollInfo(hwnd, nBar, info, bRedraw);
169 /***********************************************************************
170 * FlatSB_SetScrollRange (COMCTL32.37)
172 INT WINAPI
173 FlatSB_SetScrollRange(HWND hwnd, int nBar, INT min, INT max, BOOL bRedraw)
175 return SetScrollRange(hwnd, nBar, min, max, bRedraw);
179 static LRESULT
180 FlatSB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
182 TRACE("[%04x] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
183 return 0;
187 static LRESULT
188 FlatSB_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
190 TRACE("[%04x] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
191 return 0;
195 static LRESULT WINAPI
196 FlatSB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
198 if (!FlatSB_GetInfoPtr(hwnd) && (uMsg != WM_CREATE))
199 return DefWindowProcA( hwnd, uMsg, wParam, lParam );
201 switch (uMsg)
203 case WM_CREATE:
204 return FlatSB_Create (hwnd, wParam, lParam);
206 case WM_DESTROY:
207 return FlatSB_Destroy (hwnd, wParam, lParam);
209 default:
210 if (uMsg >= WM_USER)
211 ERR("unknown msg %04x wp=%08x lp=%08lx\n",
212 uMsg, wParam, lParam);
213 return DefWindowProcA (hwnd, uMsg, wParam, lParam);
215 return 0;
219 VOID
220 FLATSB_Register (void)
222 WNDCLASSA wndClass;
224 ZeroMemory (&wndClass, sizeof(WNDCLASSA));
225 wndClass.style = CS_GLOBALCLASS;
226 wndClass.lpfnWndProc = (WNDPROC)FlatSB_WindowProc;
227 wndClass.cbClsExtra = 0;
228 wndClass.cbWndExtra = sizeof(FLATSB_INFO *);
229 wndClass.hCursor = LoadCursorA (0, IDC_ARROWA);
230 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
231 wndClass.lpszClassName = FLATSB_CLASSA;
233 RegisterClassA (&wndClass);
237 VOID
238 FLATSB_Unregister (void)
240 UnregisterClassA (FLATSB_CLASSA, (HINSTANCE)NULL);