Release 980628
[wine/multimedia.git] / documentation / common_controls
blobe6c4a2f60e593056b4d7a9321b6f3a6ac22e216c
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.
34 3.1 Animation Control
35 ---------------------
36   Status:
37       - Nothing done at all.
40 3.2 Combo Box Ex Control
41 ------------------------
42   Status:
43       - Nothing done at all.
46 3.3 Date and Time Picker Control
47 --------------------------------
48   Status:
49       - Nothing done at all.
52 3.4 Drag List Box Control
53 -------------------------
54   Status:
55       - Nothing done at all.
58 3.5 Flat Scroll Bar Control
59 ---------------------------
60   Status:
61       - Nothing done at all.
64 3.6 Header Control
65 ------------------
66   Author:
67       Eric Kohl <ekohl@abo.rhein-zeitung.de>
69   Status:
70       - Almost finished.
73 3.7 Hot Key Control
74 -------------------
75   Status:
76       - Nothing done at all.
79 3.8 Image List (no control)
80 ---------------------------
81   Author:
82       Eric Kohl <ekohl@abo.rhein-zeitung.de>
84   Status:
85       - Almost finished.
87   Notes:
88       Most of my test programs work as expected. But when image lists are used
89       in other controls (e.g. Toolbar) they don't seem to be error-free.
90       It looks like I have to do a major re-write (use DIB's instead of DDB's).
93 3.9 IP Address Control
94 ----------------------
95   Status:
96       - Nothing done at all.
99 3.10 List View Control
100 ----------------------
101   Status:
102       - Nothing done at all.
104   Notes:
105       This control id NEEDED in many places. Any volunteers??
108 3.11 Month Calendar Control
109 ---------------------------
110   Status:
111       - Nothing done at all.
114 3.12 Pager Control
115 ------------------
116   Status:
117       - Dummy control. No functionality.
118       - Not yet published.
120   Notes:
121       The dummy source code is available from the author.
124 3.13 Progress Bar Control
125 -------------------------
126   Author:
127       Original implementation by Dimitrie O. Paun.
128       Fixes and improvements by Eric Kohl.
130   Status:
131       - Almost finished (should behave like the original).
133   Notes:
134       WM_GETFONT and WM_SETFONT are not implemented yet. They seem to be
135       useless because progress bars usually don't display any textual
136       information. But if M$ implemented an undocumented flag to display
137       textual information (e.g. percentage) these messages would make sense.
140 3.14 Property Sheet
141 -------------------
142   Status:
143       - Nothing done at all.
145   Notes:
146       - This control id NEEDED in many places.
147       - Tab control has to be implemented first.
148       Any volunteers??
151 3.15 Rebar Control (Cool Bar)
152 -----------------------------
153   Status:
154       - Dummy control. No functionality.
155       - Not yet published.
157   Notes:
158       The dummy source code is available from the author.
161 3.16 Status Bar Control
162 -----------------------
163   Author:
164       Original implementation by Bruce Milner.
165       Fixes and improvements by Eric Kohl.
167   Status:
168       - Almost finished.
170   Notes:
171       - Tool tips need to be added, but since they are not done yet...
173   Notes:
174       Have a look at controls/status.c for a list of bugs and missing features.
177 3.17 Tab Control
178 ----------------
179   Status:
180       - Nothing done at all.
181       - needed.
184 3.18 Toolbar Control
185 --------------------
186   Author:
187       Eric Kohl <ekohl@abo.rhein-zeitung.de>
189   Status:
190       - Development in progress.
191       - Basic functionality is almost done. (dll version 4.0)
194 3.19 Tooltip Control
195 --------------------
196   Author:
197       Eric Kohl <ekohl@abo.rhein-zeitung.de>
199   Status:
200       - Development in progress.
201       - Not yet published, but will be published soon.
204 3.20 Trackbar Control
205 ---------------------
206   Author:
207       Eric Kohl <ekohl@abo.rhein-zeitung.de>
209   Status:
210       - Development in progress.
211       - Not yet published, but will be published soon.
214 3.21 Tree View Control
215 ----------------------
216   Status:
217       - Nothing done at all.
218       - needed.
221 3.22 Updown Control
222 -------------------
223   Author:
224       Original implementation by Dimitrie O. Paun.
225       Some minor changes by Eric Kohl <ekohl@abo.rhein-zeitung.de>.
227   Status:
228       - Unknown.
230   Notes:
231       - Have a look at controls/updown.c for a list of bugs and missing
232         features.
234       - The status is unknown, because I did not have a close look at this
235         control. One test-program looked quite good, but in Win95's
236         cdplayer.exe the control does not show at all.
237       
238       Any volunteers??
241 4. Additional Information
242 -------------------------
244   Has to be written...
247 5. Undocumented features
248 ------------------------
250   There are quite a lot of undocumented functions like:
251      - DSA (Dynnamic String Array?) functions.
252      - DPA (Dymnamic Pointer Array?) functions.
253      - MRU ("Most Recently Used" List) functions.
254      - other unknown functions.
256   Have a look at relay32/comctl32.spec.
259 5.1 Dymnamic String Arrays ??? (DSA)
260 ------------------------------------
261   Most of the DSA functions are implemented. I used TASKMAN.EXE to write them.
262   Since TASKMAN.EXE doesn't bail out or crash I think I've done it right.
264   Have a look at the source code to get more information.
265   Further documentation will be written...
268 5.2 Dynamic Pointer Arrays ??? (DPA)
269 ------------------------------------
270   Similar to the DSA functions, but they just store pointers. I have written
271   some stubs and semi-stubs. They are used by Explorer and IE4 but the 
272   implementation is still incomplete since both programs seem to crash because
273   of other incomplete functions.
275   Have a look at the source code to get more information.
276   Further documentation will be written...
279 5.3 MenuHelp
280 ------------
281   Has to be written...
284 5.4 GetEffectiveClientRect
285 --------------------------
286   Has to be written...
289 6. Epilogue
290 -----------
291   You see, much work has still to be done. If you are interested in writing
292   a control send me an e-mail. If you like to fix bugs or add some
293   functionality send an e-mail to the author of the control.
295   Eric Kohl <ekohl@abo.rhein-zeitung.de>