Added correct implementation of GetCaps, changed Play and Stop handling
[wine/multimedia.git] / documentation / common_controls
blob17258d16fbe154fa2f32542c8f7b78c8bf2f7899
2                   COMMON CONTROLS
3               their development status
4     and their UNDOCUMENTED features and functions
5 -----------------------------------------------------
8 1. Introduction
9 ---------------
10   The information provided herein is based on the dll version 4.72 which
11   is included in MS Internet Explorer 4.01.
13   All information about common controls should be collected in this document.
15   All Wine programmers are encouraged to add their knowledge to this document.
18 2. General Information
19 ----------------------
20   Further information about common controls can be found in the MS Platform SDK
21   and the MS Internet Client SDK (most recent). Information from these SDK's
22   will NOT be repeated here. Only information which can NOT be found in these
23   SDK's will be collected here. Some information in the SDK's mentioned above
24   is (intentionally???) WRONG. Corrections to wrong information will be
25   collected here too.
28 3. Controls
29 -----------
30   This paragraph describes the development status of the common controls.
33 3.1 Animation Control
34 ---------------------
35   Author:
36       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
38   Status:
39       Dummy control. No functionality.
41   Notes:
42       Author needed!! Any volunteers??
45 3.2 Combo Box Ex Control
46 ------------------------
47   Author:
48       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
50   Status:
51       Dummy control. No functionality.
53   Notes:
54       Author needed!! Any volunteers??
57 3.3 Date and Time Picker Control
58 --------------------------------
59   Author:
60       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
62   Status:
63       Dummy control. No functionality.
65   Notes:
66       Author needed!! Any volunteers??
69 3.4 Drag List Box Control
70 -------------------------
71   Status:
72       Nothing done at all.
74   Notes:
75       Author needed!! Any volunteers??
78 3.5 Flat Scroll Bar Control
79 ---------------------------
80   Status:
81       Nothing done at all.
83   Notes:
84       Author needed!! Any volunteers??
87 3.6 Header Control
88 ------------------
89   Author:
90       Eric Kohl <ekohl@abo.rhein-zeitung.de>
92   Status:
93       Almost finished.
96 3.7 Hot Key Control
97 -------------------
98   Author:
99       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
101   Status:
102       Dummy control. No functionality.
104   Notes:
105       Author needed!! Any volunteers??
108 3.8 Image List (no control)
109 ---------------------------
110   Author:
111       Eric Kohl <ekohl@abo.rhein-zeitung.de>
113   Status:
114       Almost finished.
117 3.9 IP Address Control
118 ----------------------
119   Author:
120       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
121       Alex Priem <alexp@sci.kun.nl>
123   Status:
124       Under construction.
126   Notes:
127       Author needed!! Any volunteers??
130 3.10 List View Control
131 ----------------------
132   Author:
133       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
134       Ben Williams <biwillia@shrug.isdn.uiuc.edu>
136   Status:
137       Under construction.
139   Notes:
140       Author needed!! Any volunteers??
143 3.11 Month Calendar Control
144 ---------------------------
145   Author:
146       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
148   Status:
149       Dummy control. No functionality.
151   Notes:
152       Author needed!! Any volunteers??
155 3.12 Native font control
156 ------------------------
157   Status:
158       Dummy written by Eric Kohl.
160   Notes:
161       Author needed!! Any volunteers??
164 3.13 Pager Control
165 ------------------
166   Author:
167       Dummy written by Eric Kohl.
169   Status:
170       Dummy control. No functionality.
172   Notes:
173       Author needed!! Any volunteers??
176 3.14 Progress Bar Control
177 -------------------------
178   Author:
179       Original implementation by Dimitrie O. Paun.
180       Fixes and improvements by Eric Kohl.
182   Status:
183       Almost finished (should behave like the original).
185   Notes:
186       WM_GETFONT and WM_SETFONT are not implemented yet. They seem to be
187       useless because progress bars usually don't display any textual
188       information. But if M$ implemented an undocumented flag to display
189       textual information (e.g. percentage) these messages would make sense.
192 3.15 Property Sheet
193 -------------------
194   Author:
195       Anders Carlsson <anders.carlsson@linux.nu>
197   Status:
198       - Development in progress.
199       - Not yet published.
201   Notes:
202       Tab control must be implemented first.
205 3.16 Rebar Control (Cool Bar)
206 -----------------------------
207   Author:
208       Eric Kohl <ekohl@abo.rhein-zeitung.de>
210   Status:
211       Development in progress.
212       Many bugs and missing features.
214   Notes:
215       Author needed!! Any volunteers??
218 3.17 Status Bar Control
219 -----------------------
220   Author:
221       Original implementation by Bruce Milner.
222       Fixes and improvements by Eric Kohl.
224   Status:
225       Almost finished.
227   Notes:
228       - Unicode support is still missing.
229       - Tooltip integration is almost complete.
232 3.18 Tab Control
233 ----------------
234   Author:
235       Anders Carlsson <anders.carlsson@linux.nu>
237   Status:
238       - Development in progress.
241 3.19 Toolbar Control
242 --------------------
243   Author:
244       Eric Kohl <ekohl@abo.rhein-zeitung.de>
246   Status:
247       - Development in progress.
248       - Basic functionality is almost done. (dll version 4.0)
250   Notes:
251       - Bitmaps are not correctly displayed.
254 3.20 Tooltip Control
255 --------------------
256   Author:
257       Eric Kohl <ekohl@abo.rhein-zeitung.de>
259   Status:
260       - Almost finished.
262   Notes:
263       - Unicode support is still missing.
266 3.21 Trackbar Control
267 ---------------------
268   Author:
269       Dummy written by Eric Kohl <ekohl@abo.rhein-zeitung.de>
270       Alex Priem <alexp@sci.kun.nl>
272   Status:
273       Under construction.
276 3.22 Tree View Control
277 ----------------------
278   Author:
279       Dummy written by Eric Kohl.
280       Alex Priem <alexp@sci.kun.nl>
282   Status:
283       Under contstruction.
286 3.23 Updown Control
287 -------------------
288   Author:
289       Original implementation by Dimitrie O. Paun.
290       Some minor changes by Eric Kohl <ekohl@abo.rhein-zeitung.de>.
292   Status:
293       - Unknown.
295   Notes:
296       - Have a look at controls/updown.c for a list of bugs and missing
297         features.
299       - The status is unknown, because I did not have a close look at this
300         control. One test-program looked quite good, but in Win95's
301         cdplayer.exe the control does not show at all.
302       
303       Any volunteers??
306 4. Additional Information
307 -------------------------
309   Has to be written...
312 5. Undocumented features
313 ------------------------
315   There are quite a lot of undocumented functions like:
316      - DSA (Dynnamic Storage Array) functions.
317      - DPA (Dymnamic Pointer Array) functions.
318      - MRU ("Most Recently Used" List) functions.
319      - other unknown functions.
321   Have a look at relay32/comctl32.spec.
324 5.1 Dymnamic Storage Array (DSA)
325 ---------------------------------
326   The DSA functions are used to store and manage dynamic arrays of fixed size
327   memory blocks. They are used by TASKMAN.EXE, Explorer, IE4 and other
328   Programs and DLL's that are "parts of the Windows Operating System".
329   The implementation should be complete.
331   Have a look at the source code to get more information.
334 5.2 Dynamic Pointer Array (DPA)
335 ------------------------------------
336   Similar to the DSA functions, but they just store pointers. They are used by
337   Explorer, IE4 and other Programs and DLL's that are "parts of the Windows
338   Operating System". The implementation should be complete.
340   Have a look at the source code to get more information.
343 5.3 "Most Recently Used" - List (MRU)
344 -------------------------------------
345   The function 'COMCTL32_157()' could be called 'CreateMRUListEx32A()'.
346   Only stubs are implemented to keep Explorer from bailing out.
348   No more information available at this time!
351 5.4 MenuHelp
352 ------------
353   Has to be written...
356 5.5 GetEffectiveClientRect
357 --------------------------
358   Has to be written...
361 5.6 ShowHideMenuCtl
362 -------------------
363   The official documentation provided by MS is incomplete.
365   lpInfo:
366   ...
367   Both values of the first pair must be the handle to the applications main
368   menu.
369   ...
372 5.7 Other undocumented functions
373 --------------------------------
374   Several other undocumented functions are used by IE4.
376   COMCTL32_11, COMCTL_385, COMCTL32_386 and COMCTL32_388.
377   Their stubs are implemented to keep IE4 from bailing out.
380 6. Epilogue
381 -----------
382   You see, much work has still to be done. If you are interested in writing
383   a control send me an e-mail. If you like to fix bugs or add some
384   functionality send an e-mail to the author of the control.
387 Eric Kohl <ekohl@abo.rhein-zeitung.de>