Release 980809
[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
34
35 3.1 Animation Control
36 ---------------------
37   Status:
38       - Nothing done at all.
39
40
41 3.2 Combo Box Ex Control
42 ------------------------
43   Status:
44       - Nothing done at all.
45
46
47 3.3 Date and Time Picker Control
48 --------------------------------
49   Status:
50       - Nothing done at all.
51
52
53 3.4 Drag List Box Control
54 -------------------------
55   Status:
56       - Nothing done at all.
57
58
59 3.5 Flat Scroll Bar Control
60 ---------------------------
61   Status:
62       - Nothing done at all.
63
64
65 3.6 Header Control
66 ------------------
67   Author:
68       Eric Kohl <ekohl@abo.rhein-zeitung.de>
69
70   Status:
71       - Almost finished.
72
73
74 3.7 Hot Key Control
75 -------------------
76   Status:
77       - Nothing done at all.
78
79
80 3.8 Image List (no control)
81 ---------------------------
82   Author:
83       Eric Kohl <ekohl@abo.rhein-zeitung.de>
84
85   Status:
86       - Almost finished.
87
88   Notes:
89       Most of my test programs work as expected. But when image lists are used
90       in other controls (e.g. Toolbar) they don't seem to be error-free.
91       It looks like I have to do a major re-write (use DIB's instead of DDB's).
92
93
94 3.9 IP Address Control
95 ----------------------
96   Status:
97       - Nothing done at all.
98
99
100 3.10 List View Control
101 ----------------------
102   Author:
103       James Michael Mastros <root@jennifer-unix.dyn.ml.org>
104
105   Status:
106       - Development in progress.
107
108
109 3.11 Month Calendar Control
110 ---------------------------
111   Status:
112       - Nothing done at all.
113
114
115 3.12 Pager Control
116 ------------------
117   Author:
118       Dummy written by Eric Kohl.
119
120   Status:
121       Dummy control. No functionality.
122
123   Notes:
124       Author needed!! Any volunteers??
125
126
127 3.13 Progress Bar Control
128 -------------------------
129   Author:
130       Original implementation by Dimitrie O. Paun.
131       Fixes and improvements by Eric Kohl.
132
133   Status:
134       - Almost finished (should behave like the original).
135
136   Notes:
137       WM_GETFONT and WM_SETFONT are not implemented yet. They seem to be
138       useless because progress bars usually don't display any textual
139       information. But if M$ implemented an undocumented flag to display
140       textual information (e.g. percentage) these messages would make sense.
141
142
143 3.14 Property Sheet
144 -------------------
145   Author:
146       Anders Carlsson <anders.carlsson@linux.nu>
147
148   Status:
149       - Development in progress.
150       - Not yet published.
151
152   Notes:
153       Tab control must be implemented first.
154
155
156 3.15 Rebar Control (Cool Bar)
157 -----------------------------
158   Author:
159       Dummy written by Eric Kohl.
160
161   Status:
162       - Dummy control. No functionality.
163
164   Notes:
165       Author needed!! Any volunteers??
166
167
168 3.16 Status Bar Control
169 -----------------------
170   Author:
171       Original implementation by Bruce Milner.
172       Fixes and improvements by Eric Kohl.
173
174   Status:
175       - Almost finished.
176
177   Notes:
178       - Unicode support is still missing.
179       - Tooltip integration is almost complete.
180
181
182 3.17 Tab Control
183 ----------------
184   Author:
185       Anders Carlsson <anders.carlsson@linux.nu>
186
187   Status:
188       - Development in progress.
189       - Not yet published.
190
191
192 3.18 Toolbar Control
193 --------------------
194   Author:
195       Eric Kohl <ekohl@abo.rhein-zeitung.de>
196
197   Status:
198       - Development in progress.
199       - Basic functionality is almost done. (dll version 4.0)
200
201   Notes:
202       Bitmaps are not correctly displayed.
203
204
205 3.19 Tooltip Control
206 --------------------
207   Author:
208       Eric Kohl <ekohl@abo.rhein-zeitung.de>
209
210   Status:
211       - Almost finished.
212
213   Notes:
214       - Unicode support is still missing.
215       - No subclassing.
216
217
218 3.20 Trackbar Control
219 ---------------------
220   Author:
221       Dummy written by Eric Kohl.
222
223   Status:
224       - Dummy control. No functionality.
225
226   Notes:
227       Author needed!! Any volunteers??
228
229
230 3.21 Tree View Control
231 ----------------------
232   Author:
233       Dummy written by Eric Kohl.
234       Alex Priem (alexp@sci.kun.nl)
235
236   Status:
237       - Dummy control. No functionality.
238
239   Notes:
240       Author needed!! Any volunteers??
241
242
243 3.22 Updown Control
244 -------------------
245   Author:
246       Original implementation by Dimitrie O. Paun.
247       Some minor changes by Eric Kohl <ekohl@abo.rhein-zeitung.de>.
248
249   Status:
250       - Unknown.
251
252   Notes:
253       - Have a look at controls/updown.c for a list of bugs and missing
254         features.
255
256       - The status is unknown, because I did not have a close look at this
257         control. One test-program looked quite good, but in Win95's
258         cdplayer.exe the control does not show at all.
259       
260       Any volunteers??
261
262
263 4. Additional Information
264 -------------------------
265
266   Has to be written...
267
268
269 5. Undocumented features
270 ------------------------
271
272   There are quite a lot of undocumented functions like:
273      - DSA (Dynnamic String Array?) functions.
274      - DPA (Dymnamic Pointer Array?) functions.
275      - MRU ("Most Recently Used" List) functions.
276      - other unknown functions.
277
278   Have a look at relay32/comctl32.spec.
279
280
281 5.1 Dymnamic String Arrays ??? (DSA)
282 ------------------------------------
283   Most of the DSA functions are implemented. I used TASKMAN.EXE to write them.
284   Since TASKMAN.EXE doesn't bail out or crash I think I've done it right.
285
286   Have a look at the source code to get more information.
287   Further documentation will be written...
288
289
290 5.2 Dynamic Pointer Arrays ??? (DPA)
291 ------------------------------------
292   Similar to the DSA functions, but they just store pointers. I have written
293   some stubs and semi-stubs. They are used by Explorer and IE4 but the 
294   implementation is still incomplete since both programs seem to crash because
295   of other incomplete functions.
296
297   Have a look at the source code to get more information.
298   Further documentation will be written...
299
300
301 5.3 MenuHelp
302 ------------
303   Has to be written...
304
305
306 5.4 GetEffectiveClientRect
307 --------------------------
308   Has to be written...
309
310
311 6. Epilogue
312 -----------
313   You see, much work has still to be done. If you are interested in writing
314   a control send me an e-mail. If you like to fix bugs or add some
315   functionality send an e-mail to the author of the control.
316
317   Eric Kohl <ekohl@abo.rhein-zeitung.de>
318