Implementation of ChildWindowFromPointEx functions.
[wine/multimedia.git] / documentation / common_controls
blobef71995ade8aac049d0cd0d836d382619ccedb11
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.
94       Unicode notifications are not supported (WM_NOTIFYFORMAT).
95       Order array not supported.
98 3.7 Hot Key Control
99 -------------------
100   Author:
101       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
103   Status:
104       Dummy control. No functionality.
106   Notes:
107       Author needed!! Any volunteers??
110 3.8 Image List (no control)
111 ---------------------------
112   Author:
113       Eric Kohl <ekohl@abo.rhein-zeitung.de>
115   Status:
116       Almost finished.
119 3.9 IP Address Control
120 ----------------------
121   Author:
122       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
123       Alex Priem <alexp@sci.kun.nl>
125   Status:
126       Under construction.
128   Notes:
129       Author needed!! Any volunteers??
132 3.10 List View Control
133 ----------------------
134   Author:
135       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
136       Ben Williams <biwillia@shrug.isdn.uiuc.edu>
138   Status:
139       Under construction.
141   Notes:
142       Author needed!! Any volunteers??
145 3.11 Month Calendar Control
146 ---------------------------
147   Author:
148       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
150   Status:
151       Dummy control. No functionality.
153   Notes:
154       Author needed!! Any volunteers??
157 3.12 Native font control
158 ------------------------
159   Author:
160       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
162   Status:
163       Dummy control. No functionality.
165   Notes:
166       Author needed!! Any volunteers??
169 3.13 Pager Control
170 ------------------
171   Author:
172       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
174   Status:
175       Under construction.
176       Many missing features.
178   Notes:
179       Author needed!! Any volunteers??
182 3.14 Progress Bar Control
183 -------------------------
184   Author:
185       Original implementation by Dimitrie O. Paun.
186       Fixes and improvements by Eric Kohl.
188   Status:
189       Almost finished (should behave like the original).
191   Notes:
192       WM_GETFONT and WM_SETFONT are not implemented yet. They seem to be
193       useless because progress bars usually don't display any textual
194       information. But if M$ implemented an undocumented flag to display
195       textual information (e.g. percentage) these messages would make sense.
198 3.15 Property Sheet
199 -------------------
200   Author:
201       Anders Carlsson <anders.carlsson@linux.nu>
203   Status:
204       - Development in progress.
205       - Not yet published.
207   Notes:
208       Tab control must be implemented first.
211 3.16 Rebar Control (Cool Bar)
212 -----------------------------
213   Author:
214       Eric Kohl <ekohl@abo.rhein-zeitung.de>
216   Status:
217       Development in progress.
218       Many bugs and missing features.
220   Notes:
221       Author needed!! Any volunteers??
224 3.17 Status Bar Control
225 -----------------------
226   Author:
227       Original implementation by Bruce Milner.
228       Fixes and improvements by Eric Kohl.
230   Status:
231       Almost finished.
233   Notes:
234       - Tooltip integration is almost complete.
237 3.18 Tab Control
238 ----------------
239   Author:
240       Anders Carlsson <anders.carlsson@linux.nu>
242   Status:
243       - Development in progress.
246 3.19 Toolbar Control
247 --------------------
248   Author:
249       Eric Kohl <ekohl@abo.rhein-zeitung.de>
251   Status:
252       - Development in progress.
253       - Basic functionality is almost done. (dll version 4.0)
255   Notes:
256       - Bitmaps are not correctly displayed.
259 3.20 Tooltip Control
260 --------------------
261   Author:
262       Eric Kohl <ekohl@abo.rhein-zeitung.de>
264   Status:
265       - Almost finished.
267   Notes:
268       - Unicode support is still missing.
271 3.21 Trackbar Control
272 ---------------------
273   Author:
274       Dummy written by Eric Kohl <ekohl@abo.rhein-zeitung.de>
275       Alex Priem <alexp@sci.kun.nl>
277   Status:
278       Under construction.
281 3.22 Tree View Control
282 ----------------------
283   Author:
284       Dummy written by Eric Kohl.
285       Alex Priem <alexp@sci.kun.nl>
287   Status:
288       Under construction.
291 3.23 Updown Control
292 -------------------
293   Author:
294       Original implementation by Dimitrie O. Paun.
295       Some minor changes by Eric Kohl <ekohl@abo.rhein-zeitung.de>.
297   Status:
298       - Unknown.
300   Notes:
301       - Have a look at controls/updown.c for a list of bugs and missing
302         features.
304       - The status is unknown, because I did not have a close look at this
305         control. One test-program looked quite good, but in Win95's
306         cdplayer.exe the control does not show at all.
307       
308       Any volunteers??
311 4. Additional Information
312 -------------------------
314   Has to be written...
317 5. Undocumented features
318 ------------------------
320   There are quite a lot of undocumented functions like:
321      - DSA (Dynnamic Storage Array) functions.
322      - DPA (Dymnamic Pointer Array) functions.
323      - MRU ("Most Recently Used" List) functions.
324      - other unknown functions.
326   Have a look at relay32/comctl32.spec.
329 5.1 Dymnamic Storage Array (DSA)
330 ---------------------------------
331   The DSA functions are used to store and manage dynamic arrays of fixed size
332   memory blocks. They are used by TASKMAN.EXE, Explorer, IE4 and other
333   Programs and DLL's that are "parts of the Windows Operating System".
334   The implementation should be complete.
336   Have a look at the source code to get more information.
339 5.2 Dynamic Pointer Array (DPA)
340 ------------------------------------
341   Similar to the DSA functions, but they just store pointers. They are used by
342   Explorer, IE4 and other Programs and DLL's that are "parts of the Windows
343   Operating System". The implementation should be complete.
345   Have a look at the source code to get more information.
348 5.3 "Most Recently Used" - List (MRU)
349 -------------------------------------
350   The function 'COMCTL32_157()' could be called 'CreateMRUListEx32A()'.
351   Only stubs are implemented to keep Explorer from bailing out.
353   No more information available at this time!
356 5.4 MenuHelp
357 ------------
358   Has to be written...
361 5.5 GetEffectiveClientRect
362 --------------------------
363   Has to be written...
366 5.6 ShowHideMenuCtl
367 -------------------
368   The official documentation provided by MS is incomplete.
370   lpInfo:
371   ...
372   Both values of the first pair must be the handle to the applications main
373   menu.
374   ...
377 5.7 Other undocumented functions
378 --------------------------------
379   Several other undocumented functions are used by IE4.
381   COMCTL32_11, COMCTL_385, COMCTL32_386 and COMCTL32_388.
382   Their stubs are implemented to keep IE4 from bailing out.
385 6. Epilogue
386 -----------
387   You see, much work has still to be done. If you are interested in writing
388   a control send me an e-mail. If you like to fix bugs or add some
389   functionality send an e-mail to the author of the control.
392 Eric Kohl <ekohl@abo.rhein-zeitung.de>