Release 980927
[wine] / documentation / common_controls
1
2                   COMMON CONTROLS
3               their development status
4     and their UNDOCUMENTED features and functions
5 -----------------------------------------------------
6
7
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.
12
13   All information about common controls should be collected in this document.
14
15   All Wine programmers are encouraged to add their knowledge to this document.
16
17
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.
26
27
28 3. Controls
29 -----------
30   This paragraph describes the development status of the common controls.
31
32
33 3.1 Animation Control
34 ---------------------
35   Author:
36       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
37
38   Status:
39       Dummy control. No functionality.
40
41   Notes:
42       Author needed!! Any volunteers??
43
44
45 3.2 Combo Box Ex Control
46 ------------------------
47   Author:
48       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
49
50   Status:
51       Dummy control. No functionality.
52
53   Notes:
54       Author needed!! Any volunteers??
55
56
57 3.3 Date and Time Picker Control
58 --------------------------------
59   Status:
60       Nothing done at all.
61
62   Notes:
63       Author needed!! Any volunteers??
64
65
66 3.4 Drag List Box Control
67 -------------------------
68   Status:
69       Nothing done at all.
70
71   Notes:
72       Author needed!! Any volunteers??
73
74
75 3.5 Flat Scroll Bar Control
76 ---------------------------
77   Status:
78       Nothing done at all.
79
80   Notes:
81       Author needed!! Any volunteers??
82
83
84 3.6 Header Control
85 ------------------
86   Author:
87       Eric Kohl <ekohl@abo.rhein-zeitung.de>
88
89   Status:
90       Almost finished.
91
92
93 3.7 Hot Key Control
94 -------------------
95   Author:
96       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
97
98   Status:
99       Dummy control. No functionality.
100
101   Notes:
102       Author needed!! Any volunteers??
103
104
105 3.8 Image List (no control)
106 ---------------------------
107   Author:
108       Eric Kohl <ekohl@abo.rhein-zeitung.de>
109
110   Status:
111       Almost finished.
112
113
114 3.9 IP Address Control
115 ----------------------
116   Status:
117       Nothing done at all.
118
119   Notes:
120       Author needed!! Any volunteers??
121
122
123 3.10 List View Control
124 ----------------------
125   Author:
126       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
127       Ben Williams <.edu>
128
129   Status:
130       Under construction.
131
132   Notes:
133       Author needed!! Any volunteers??
134
135
136 3.11 Month Calendar Control
137 ---------------------------
138   Status:
139       Nothing done at all.
140
141   Notes:
142       Author needed!! Any volunteers??
143
144
145 3.12 Native font control
146 ------------------------
147   Status:
148       Nothing done at all.
149
150   Notes:
151       Author needed!! Any volunteers??
152
153
154 3.13 Pager Control
155 ------------------
156   Author:
157       Dummy written by Eric Kohl.
158
159   Status:
160       Dummy control. No functionality.
161
162   Notes:
163       Author needed!! Any volunteers??
164
165
166 3.14 Progress Bar Control
167 -------------------------
168   Author:
169       Original implementation by Dimitrie O. Paun.
170       Fixes and improvements by Eric Kohl.
171
172   Status:
173       Almost finished (should behave like the original).
174
175   Notes:
176       WM_GETFONT and WM_SETFONT are not implemented yet. They seem to be
177       useless because progress bars usually don't display any textual
178       information. But if M$ implemented an undocumented flag to display
179       textual information (e.g. percentage) these messages would make sense.
180
181
182 3.15 Property Sheet
183 -------------------
184   Author:
185       Anders Carlsson <anders.carlsson@linux.nu>
186
187   Status:
188       - Development in progress.
189       - Not yet published.
190
191   Notes:
192       Tab control must be implemented first.
193
194
195 3.16 Rebar Control (Cool Bar)
196 -----------------------------
197   Author:
198       Dummy written by Eric Kohl.
199
200   Status:
201       Dummy control. No functionality.
202
203   Notes:
204       Author needed!! Any volunteers??
205
206
207 3.17 Status Bar Control
208 -----------------------
209   Author:
210       Original implementation by Bruce Milner.
211       Fixes and improvements by Eric Kohl.
212
213   Status:
214       Almost finished.
215
216   Notes:
217       - Unicode support is still missing.
218       - Tooltip integration is almost complete.
219
220
221 3.18 Tab Control
222 ----------------
223   Author:
224       Anders Carlsson <anders.carlsson@linux.nu>
225
226   Status:
227       - Development in progress.
228       - Not yet published.
229
230
231 3.19 Toolbar Control
232 --------------------
233   Author:
234       Eric Kohl <ekohl@abo.rhein-zeitung.de>
235
236   Status:
237       - Development in progress.
238       - Basic functionality is almost done. (dll version 4.0)
239
240   Notes:
241       - Bitmaps are not correctly displayed.
242
243
244 3.20 Tooltip Control
245 --------------------
246   Author:
247       Eric Kohl <ekohl@abo.rhein-zeitung.de>
248
249   Status:
250       - Almost finished.
251
252   Notes:
253       - Unicode support is still missing.
254
255
256 3.21 Trackbar Control
257 ---------------------
258   Author:
259       Dummy written by Eric Kohl <ekohl@abo.rhein-zeitung.de>
260       Alex Priem (alexp@sci.kun.nl)
261
262   Status:
263       Under construction.
264
265
266 3.22 Tree View Control
267 ----------------------
268   Author:
269       Dummy written by Eric Kohl.
270       Alex Priem (alexp@sci.kun.nl)
271
272   Status:
273       Under contstruction.
274
275
276 3.23 Updown Control
277 -------------------
278   Author:
279       Original implementation by Dimitrie O. Paun.
280       Some minor changes by Eric Kohl <ekohl@abo.rhein-zeitung.de>.
281
282   Status:
283       - Unknown.
284
285   Notes:
286       - Have a look at controls/updown.c for a list of bugs and missing
287         features.
288
289       - The status is unknown, because I did not have a close look at this
290         control. One test-program looked quite good, but in Win95's
291         cdplayer.exe the control does not show at all.
292       
293       Any volunteers??
294
295
296 4. Additional Information
297 -------------------------
298
299   Has to be written...
300
301
302 5. Undocumented features
303 ------------------------
304
305   There are quite a lot of undocumented functions like:
306      - DSA (Dynnamic Storage Array) functions.
307      - DPA (Dymnamic Pointer Array) functions.
308      - MRU ("Most Recently Used" List) functions.
309      - other unknown functions.
310
311   Have a look at relay32/comctl32.spec.
312
313
314 5.1 Dymnamic Storage Array (DSA)
315 ---------------------------------
316   The DSA functions are used to store and manage dynamic arrays of fixed size
317   memory blocks. They are used by TASKMAN.EXE, Explorer, IE4 and other
318   Programs and DLL's that are "parts of the Windows Operating System".
319   The implementation should be complete.
320
321   Have a look at the source code to get more information.
322
323
324 5.2 Dynamic Pointer Array (DPA)
325 ------------------------------------
326   Similar to the DSA functions, but they just store pointers. They are used by
327   Explorer, IE4 and other Programs and DLL's that are "parts of the Windows
328   Operating System". The implementation should be complete.
329
330   Have a look at the source code to get more information.
331
332
333 5.3 "Most Recently Used" - List (MRU)
334 -------------------------------------
335   The function 'COMCTL32_157()' could be called 'CreateMRUListEx32A()'.
336   Only stubs are implemented to keep Explorer from bailing out.
337
338   No more information available at this time!
339
340
341 5.4 MenuHelp
342 ------------
343   Has to be written...
344
345
346 5.5 GetEffectiveClientRect
347 --------------------------
348   Has to be written...
349
350
351 5.6 ShowHideMenuCtl
352 -------------------
353   The official documentation provided by MS is incomplete.
354
355   lpInfo:
356   ...
357   Both values of the first pair must be the handle to the applications main
358   menu.
359   ...
360
361
362 5.7 Other undocumented functions
363 --------------------------------
364   Several other undocumented functions are used by IE4.
365
366   COMCTL32_11, COMCTL_385, COMCTL32_386 and COMCTL32_388.
367   Their stubs are implemented to keep IE4 from bailing out.
368
369
370 6. Epilogue
371 -----------
372   You see, much work has still to be done. If you are interested in writing
373   a control send me an e-mail. If you like to fix bugs or add some
374   functionality send an e-mail to the author of the control.
375
376   Eric Kohl <ekohl@abo.rhein-zeitung.de>
377