Miscellaneous small fixes.
[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   Author:
60       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
61
62   Status:
63       Dummy control. No functionality.
64
65   Notes:
66       Author needed!! Any volunteers??
67
68
69 3.4 Drag List Box Control
70 -------------------------
71   Status:
72       Nothing done at all.
73
74   Notes:
75       Author needed!! Any volunteers??
76
77
78 3.5 Flat Scroll Bar Control
79 ---------------------------
80   Status:
81       Nothing done at all.
82
83   Notes:
84       Author needed!! Any volunteers??
85
86
87 3.6 Header Control
88 ------------------
89   Author:
90       Eric Kohl <ekohl@abo.rhein-zeitung.de>
91
92   Status:
93       Almost finished.
94
95
96 3.7 Hot Key Control
97 -------------------
98   Author:
99       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
100
101   Status:
102       Dummy control. No functionality.
103
104   Notes:
105       Author needed!! Any volunteers??
106
107
108 3.8 Image List (no control)
109 ---------------------------
110   Author:
111       Eric Kohl <ekohl@abo.rhein-zeitung.de>
112
113   Status:
114       Almost finished.
115
116
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>
122
123   Status:
124       Under construction.
125
126   Notes:
127       Author needed!! Any volunteers??
128
129
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>
135
136   Status:
137       Under construction.
138
139   Notes:
140       Author needed!! Any volunteers??
141
142
143 3.11 Month Calendar Control
144 ---------------------------
145   Author:
146       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
147
148   Status:
149       Dummy control. No functionality.
150
151   Notes:
152       Author needed!! Any volunteers??
153
154
155 3.12 Native font control
156 ------------------------
157   Status:
158       Dummy written by Eric Kohl.
159
160   Notes:
161       Author needed!! Any volunteers??
162
163
164 3.13 Pager Control
165 ------------------
166   Author:
167       Dummy written by Eric Kohl.
168
169   Status:
170       Dummy control. No functionality.
171
172   Notes:
173       Author needed!! Any volunteers??
174
175
176 3.14 Progress Bar Control
177 -------------------------
178   Author:
179       Original implementation by Dimitrie O. Paun.
180       Fixes and improvements by Eric Kohl.
181
182   Status:
183       Almost finished (should behave like the original).
184
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.
190
191
192 3.15 Property Sheet
193 -------------------
194   Author:
195       Anders Carlsson <anders.carlsson@linux.nu>
196
197   Status:
198       - Development in progress.
199       - Not yet published.
200
201   Notes:
202       Tab control must be implemented first.
203
204
205 3.16 Rebar Control (Cool Bar)
206 -----------------------------
207   Author:
208       Eric Kohl <ekohl@abo.rhein-zeitung.de>
209
210   Status:
211       Development in progress.
212       Many bugs and missing features.
213
214   Notes:
215       Author needed!! Any volunteers??
216
217
218 3.17 Status Bar Control
219 -----------------------
220   Author:
221       Original implementation by Bruce Milner.
222       Fixes and improvements by Eric Kohl.
223
224   Status:
225       Almost finished.
226
227   Notes:
228       - Unicode support is still missing.
229       - Tooltip integration is almost complete.
230
231
232 3.18 Tab Control
233 ----------------
234   Author:
235       Anders Carlsson <anders.carlsson@linux.nu>
236
237   Status:
238       - Development in progress.
239
240
241 3.19 Toolbar Control
242 --------------------
243   Author:
244       Eric Kohl <ekohl@abo.rhein-zeitung.de>
245
246   Status:
247       - Development in progress.
248       - Basic functionality is almost done. (dll version 4.0)
249
250   Notes:
251       - Bitmaps are not correctly displayed.
252
253
254 3.20 Tooltip Control
255 --------------------
256   Author:
257       Eric Kohl <ekohl@abo.rhein-zeitung.de>
258
259   Status:
260       - Almost finished.
261
262   Notes:
263       - Unicode support is still missing.
264
265
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>
271
272   Status:
273       Under construction.
274
275
276 3.22 Tree View Control
277 ----------------------
278   Author:
279       Dummy written by Eric Kohl.
280       Alex Priem <alexp@sci.kun.nl>
281
282   Status:
283       Under contstruction.
284
285
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>.
291
292   Status:
293       - Unknown.
294
295   Notes:
296       - Have a look at controls/updown.c for a list of bugs and missing
297         features.
298
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??
304
305
306 4. Additional Information
307 -------------------------
308
309   Has to be written...
310
311
312 5. Undocumented features
313 ------------------------
314
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.
320
321   Have a look at relay32/comctl32.spec.
322
323
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.
330
331   Have a look at the source code to get more information.
332
333
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.
339
340   Have a look at the source code to get more information.
341
342
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.
347
348   No more information available at this time!
349
350
351 5.4 MenuHelp
352 ------------
353   Has to be written...
354
355
356 5.5 GetEffectiveClientRect
357 --------------------------
358   Has to be written...
359
360
361 5.6 ShowHideMenuCtl
362 -------------------
363   The official documentation provided by MS is incomplete.
364
365   lpInfo:
366   ...
367   Both values of the first pair must be the handle to the applications main
368   menu.
369   ...
370
371
372 5.7 Other undocumented functions
373 --------------------------------
374   Several other undocumented functions are used by IE4.
375
376   COMCTL32_11, COMCTL_385, COMCTL32_386 and COMCTL32_388.
377   Their stubs are implemented to keep IE4 from bailing out.
378
379
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.
385
386
387 Eric Kohl <ekohl@abo.rhein-zeitung.de>
388