Release 980628
[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 3.1 Animation Control
35 ---------------------
36   Status:
37       - Nothing done at all.
38
39
40 3.2 Combo Box Ex Control
41 ------------------------
42   Status:
43       - Nothing done at all.
44
45
46 3.3 Date and Time Picker Control
47 --------------------------------
48   Status:
49       - Nothing done at all.
50
51
52 3.4 Drag List Box Control
53 -------------------------
54   Status:
55       - Nothing done at all.
56
57
58 3.5 Flat Scroll Bar Control
59 ---------------------------
60   Status:
61       - Nothing done at all.
62
63
64 3.6 Header Control
65 ------------------
66   Author:
67       Eric Kohl <ekohl@abo.rhein-zeitung.de>
68
69   Status:
70       - Almost finished.
71
72
73 3.7 Hot Key Control
74 -------------------
75   Status:
76       - Nothing done at all.
77
78
79 3.8 Image List (no control)
80 ---------------------------
81   Author:
82       Eric Kohl <ekohl@abo.rhein-zeitung.de>
83
84   Status:
85       - Almost finished.
86
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).
91
92
93 3.9 IP Address Control
94 ----------------------
95   Status:
96       - Nothing done at all.
97
98
99 3.10 List View Control
100 ----------------------
101   Status:
102       - Nothing done at all.
103
104   Notes:
105       This control id NEEDED in many places. Any volunteers??
106
107
108 3.11 Month Calendar Control
109 ---------------------------
110   Status:
111       - Nothing done at all.
112
113
114 3.12 Pager Control
115 ------------------
116   Status:
117       - Dummy control. No functionality.
118       - Not yet published.
119
120   Notes:
121       The dummy source code is available from the author.
122
123
124 3.13 Progress Bar Control
125 -------------------------
126   Author:
127       Original implementation by Dimitrie O. Paun.
128       Fixes and improvements by Eric Kohl.
129
130   Status:
131       - Almost finished (should behave like the original).
132
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.
138
139
140 3.14 Property Sheet
141 -------------------
142   Status:
143       - Nothing done at all.
144
145   Notes:
146       - This control id NEEDED in many places.
147       - Tab control has to be implemented first.
148       Any volunteers??
149
150
151 3.15 Rebar Control (Cool Bar)
152 -----------------------------
153   Status:
154       - Dummy control. No functionality.
155       - Not yet published.
156
157   Notes:
158       The dummy source code is available from the author.
159
160
161 3.16 Status Bar Control
162 -----------------------
163   Author:
164       Original implementation by Bruce Milner.
165       Fixes and improvements by Eric Kohl.
166
167   Status:
168       - Almost finished.
169
170   Notes:
171       - Tool tips need to be added, but since they are not done yet...
172
173   Notes:
174       Have a look at controls/status.c for a list of bugs and missing features.
175
176
177 3.17 Tab Control
178 ----------------
179   Status:
180       - Nothing done at all.
181       - needed.
182
183
184 3.18 Toolbar Control
185 --------------------
186   Author:
187       Eric Kohl <ekohl@abo.rhein-zeitung.de>
188
189   Status:
190       - Development in progress.
191       - Basic functionality is almost done. (dll version 4.0)
192
193
194 3.19 Tooltip Control
195 --------------------
196   Author:
197       Eric Kohl <ekohl@abo.rhein-zeitung.de>
198
199   Status:
200       - Development in progress.
201       - Not yet published, but will be published soon.
202
203
204 3.20 Trackbar Control
205 ---------------------
206   Author:
207       Eric Kohl <ekohl@abo.rhein-zeitung.de>
208
209   Status:
210       - Development in progress.
211       - Not yet published, but will be published soon.
212
213
214 3.21 Tree View Control
215 ----------------------
216   Status:
217       - Nothing done at all.
218       - needed.
219
220
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>.
226
227   Status:
228       - Unknown.
229
230   Notes:
231       - Have a look at controls/updown.c for a list of bugs and missing
232         features.
233
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??
239
240
241 4. Additional Information
242 -------------------------
243
244   Has to be written...
245
246
247 5. Undocumented features
248 ------------------------
249
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.
255
256   Have a look at relay32/comctl32.spec.
257
258
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.
263
264   Have a look at the source code to get more information.
265   Further documentation will be written...
266
267
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.
274
275   Have a look at the source code to get more information.
276   Further documentation will be written...
277
278
279 5.3 MenuHelp
280 ------------
281   Has to be written...
282
283
284 5.4 GetEffectiveClientRect
285 --------------------------
286   Has to be written...
287
288
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.
294
295   Eric Kohl <ekohl@abo.rhein-zeitung.de>
296