Added bad hacks so WriteConsoleOutput works on vt100 and PeekMessage
[wine/hacks.git] / documentation / common_controls
blob13d11bda89d7db86708b1cb667b831ba897e775b
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   Status:
60       Nothing done at all.
62   Notes:
63       Author needed!! Any volunteers??
66 3.4 Drag List Box Control
67 -------------------------
68   Status:
69       Nothing done at all.
71   Notes:
72       Author needed!! Any volunteers??
75 3.5 Flat Scroll Bar Control
76 ---------------------------
77   Status:
78       Nothing done at all.
80   Notes:
81       Author needed!! Any volunteers??
84 3.6 Header Control
85 ------------------
86   Author:
87       Eric Kohl <ekohl@abo.rhein-zeitung.de>
89   Status:
90       Almost finished.
93 3.7 Hot Key Control
94 -------------------
95   Author:
96       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
98   Status:
99       Dummy control. No functionality.
101   Notes:
102       Author needed!! Any volunteers??
105 3.8 Image List (no control)
106 ---------------------------
107   Author:
108       Eric Kohl <ekohl@abo.rhein-zeitung.de>
110   Status:
111       Almost finished.
114 3.9 IP Address Control
115 ----------------------
116   Status:
117       Nothing done at all.
119   Notes:
120       Author needed!! Any volunteers??
123 3.10 List View Control
124 ----------------------
125   Author:
126       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
127       Ben Williams <.edu>
129   Status:
130       Under construction.
132   Notes:
133       Author needed!! Any volunteers??
136 3.11 Month Calendar Control
137 ---------------------------
138   Status:
139       Nothing done at all.
141   Notes:
142       Author needed!! Any volunteers??
145 3.12 Native font control
146 ------------------------
147   Status:
148       Nothing done at all.
150   Notes:
151       Author needed!! Any volunteers??
154 3.13 Pager Control
155 ------------------
156   Author:
157       Dummy written by Eric Kohl.
159   Status:
160       Dummy control. No functionality.
162   Notes:
163       Author needed!! Any volunteers??
166 3.14 Progress Bar Control
167 -------------------------
168   Author:
169       Original implementation by Dimitrie O. Paun.
170       Fixes and improvements by Eric Kohl.
172   Status:
173       Almost finished (should behave like the original).
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.
182 3.15 Property Sheet
183 -------------------
184   Author:
185       Anders Carlsson <anders.carlsson@linux.nu>
187   Status:
188       - Development in progress.
189       - Not yet published.
191   Notes:
192       Tab control must be implemented first.
195 3.16 Rebar Control (Cool Bar)
196 -----------------------------
197   Author:
198       Dummy written by Eric Kohl.
200   Status:
201       Dummy control. No functionality.
203   Notes:
204       Author needed!! Any volunteers??
207 3.17 Status Bar Control
208 -----------------------
209   Author:
210       Original implementation by Bruce Milner.
211       Fixes and improvements by Eric Kohl.
213   Status:
214       Almost finished.
216   Notes:
217       - Unicode support is still missing.
218       - Tooltip integration is almost complete.
221 3.18 Tab Control
222 ----------------
223   Author:
224       Anders Carlsson <anders.carlsson@linux.nu>
226   Status:
227       - Development in progress.
228       - Not yet published.
231 3.19 Toolbar Control
232 --------------------
233   Author:
234       Eric Kohl <ekohl@abo.rhein-zeitung.de>
236   Status:
237       - Development in progress.
238       - Basic functionality is almost done. (dll version 4.0)
240   Notes:
241       - Bitmaps are not correctly displayed.
244 3.20 Tooltip Control
245 --------------------
246   Author:
247       Eric Kohl <ekohl@abo.rhein-zeitung.de>
249   Status:
250       - Almost finished.
252   Notes:
253       - Unicode support is still missing.
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)
262   Status:
263       Under construction.
266 3.22 Tree View Control
267 ----------------------
268   Author:
269       Dummy written by Eric Kohl.
270       Alex Priem (alexp@sci.kun.nl)
272   Status:
273       Under contstruction.
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>.
282   Status:
283       - Unknown.
285   Notes:
286       - Have a look at controls/updown.c for a list of bugs and missing
287         features.
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??
296 4. Additional Information
297 -------------------------
299   Has to be written...
302 5. Undocumented features
303 ------------------------
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.
311   Have a look at relay32/comctl32.spec.
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.
321   Have a look at the source code to get more information.
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.
330   Have a look at the source code to get more information.
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.
338   No more information available at this time!
341 5.4 MenuHelp
342 ------------
343   Has to be written...
346 5.5 GetEffectiveClientRect
347 --------------------------
348   Has to be written...
351 5.6 ShowHideMenuCtl
352 -------------------
353   The official documentation provided by MS is incomplete.
355   lpInfo:
356   ...
357   Both values of the first pair must be the handle to the applications main
358   menu.
359   ...
362 5.7 Other undocumented functions
363 --------------------------------
364   Several other undocumented functions are used by IE4.
366   COMCTL32_11, COMCTL_385, COMCTL32_386 and COMCTL32_388.
367   Their stubs are implemented to keep IE4 from bailing out.
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.
376   Eric Kohl <ekohl@abo.rhein-zeitung.de>