Add a note about WinPrinters.
[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       Unicode notifications are not supported (WM_NOTIFYFORMAT).
95       Order array not supported.
96
97
98 3.7 Hot Key Control
99 -------------------
100   Author:
101       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
102
103   Status:
104       Dummy control. No functionality.
105
106   Notes:
107       Author needed!! Any volunteers??
108
109
110 3.8 Image List (no control)
111 ---------------------------
112   Author:
113       Eric Kohl <ekohl@abo.rhein-zeitung.de>
114
115   Status:
116       Almost finished.
117
118
119 3.9 IP Address Control
120 ----------------------
121   Author:
122       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
123       Alex Priem <alexp@sci.kun.nl>
124
125   Status:
126       Under construction.
127
128   Notes:
129       Author needed!! Any volunteers??
130
131
132 3.10 List View Control
133 ----------------------
134   Author:
135       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
136       Ben Williams <biwillia@shrug.isdn.uiuc.edu>
137
138   Status:
139       Under construction.
140
141   Notes:
142       Author needed!! Any volunteers??
143
144
145 3.11 Month Calendar Control
146 ---------------------------
147   Author:
148       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
149
150   Status:
151       Dummy control. No functionality.
152
153   Notes:
154       Author needed!! Any volunteers??
155
156
157 3.12 Native font control
158 ------------------------
159   Author:
160       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
161
162   Status:
163       Dummy control. No functionality.
164
165   Notes:
166       Author needed!! Any volunteers??
167
168
169 3.13 Pager Control
170 ------------------
171   Author:
172       Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de>
173
174   Status:
175       Under construction.
176       Many missing features.
177
178   Notes:
179       Author needed!! Any volunteers??
180
181
182 3.14 Progress Bar Control
183 -------------------------
184   Author:
185       Original implementation by Dimitrie O. Paun.
186       Fixes and improvements by Eric Kohl.
187
188   Status:
189       Almost finished (should behave like the original).
190
191   Notes:
192       WM_GETFONT and WM_SETFONT are not implemented yet. They seem to be
193       useless because progress bars usually don't display any textual
194       information. But if M$ implemented an undocumented flag to display
195       textual information (e.g. percentage) these messages would make sense.
196
197
198 3.15 Property Sheet
199 -------------------
200   Author:
201       Anders Carlsson <anders.carlsson@linux.nu>
202
203   Status:
204       - Development in progress.
205       - Not yet published.
206
207   Notes:
208       Tab control must be implemented first.
209
210
211 3.16 Rebar Control (Cool Bar)
212 -----------------------------
213   Author:
214       Eric Kohl <ekohl@abo.rhein-zeitung.de>
215
216   Status:
217       Development in progress.
218       Many bugs and missing features.
219
220   Notes:
221       Author needed!! Any volunteers??
222
223
224 3.17 Status Bar Control
225 -----------------------
226   Author:
227       Original implementation by Bruce Milner.
228       Fixes and improvements by Eric Kohl.
229
230   Status:
231       Almost finished.
232
233   Notes:
234       - Tooltip integration is almost complete.
235
236
237 3.18 Tab Control
238 ----------------
239   Author:
240       Anders Carlsson <anders.carlsson@linux.nu>
241
242   Status:
243       - Development in progress.
244
245
246 3.19 Toolbar Control
247 --------------------
248   Author:
249       Eric Kohl <ekohl@abo.rhein-zeitung.de>
250
251   Status:
252       - Development in progress.
253       - Basic functionality is almost done. (dll version 4.0)
254
255   Notes:
256       - Bitmaps are not correctly displayed.
257
258
259 3.20 Tooltip Control
260 --------------------
261   Author:
262       Eric Kohl <ekohl@abo.rhein-zeitung.de>
263
264   Status:
265       - Almost finished.
266
267   Notes:
268       - Unicode support is still missing.
269
270
271 3.21 Trackbar Control
272 ---------------------
273   Author:
274       Dummy written by Eric Kohl <ekohl@abo.rhein-zeitung.de>
275       Alex Priem <alexp@sci.kun.nl>
276
277   Status:
278       Under construction.
279
280
281 3.22 Tree View Control
282 ----------------------
283   Author:
284       Dummy written by Eric Kohl.
285       Alex Priem <alexp@sci.kun.nl>
286
287   Status:
288       Under construction.
289
290
291 3.23 Updown Control
292 -------------------
293   Author:
294       Original implementation by Dimitrie O. Paun.
295       Some minor changes by Eric Kohl <ekohl@abo.rhein-zeitung.de>.
296
297   Status:
298       - Unknown.
299
300   Notes:
301       - Have a look at controls/updown.c for a list of bugs and missing
302         features.
303
304       - The status is unknown, because I did not have a close look at this
305         control. One test-program looked quite good, but in Win95's
306         cdplayer.exe the control does not show at all.
307       
308       Any volunteers??
309
310
311 4. Additional Information
312 -------------------------
313
314   Has to be written...
315
316
317 5. Undocumented features
318 ------------------------
319
320   There are quite a lot of undocumented functions like:
321      - DSA (Dynnamic Storage Array) functions.
322      - DPA (Dymnamic Pointer Array) functions.
323      - MRU ("Most Recently Used" List) functions.
324      - other unknown functions.
325
326   Have a look at relay32/comctl32.spec.
327
328
329 5.1 Dymnamic Storage Array (DSA)
330 ---------------------------------
331   The DSA functions are used to store and manage dynamic arrays of fixed size
332   memory blocks. They are used by TASKMAN.EXE, Explorer, IE4 and other
333   Programs and DLL's that are "parts of the Windows Operating System".
334   The implementation should be complete.
335
336   Have a look at the source code to get more information.
337
338
339 5.2 Dynamic Pointer Array (DPA)
340 ------------------------------------
341   Similar to the DSA functions, but they just store pointers. They are used by
342   Explorer, IE4 and other Programs and DLL's that are "parts of the Windows
343   Operating System". The implementation should be complete.
344
345   Have a look at the source code to get more information.
346
347
348 5.3 "Most Recently Used" - List (MRU)
349 -------------------------------------
350   The function 'COMCTL32_157()' could be called 'CreateMRUListEx32A()'.
351   Only stubs are implemented to keep Explorer from bailing out.
352
353   No more information available at this time!
354
355
356 5.4 MenuHelp
357 ------------
358   Has to be written...
359
360
361 5.5 GetEffectiveClientRect
362 --------------------------
363   Has to be written...
364
365
366 5.6 ShowHideMenuCtl
367 -------------------
368   The official documentation provided by MS is incomplete.
369
370   lpInfo:
371   ...
372   Both values of the first pair must be the handle to the applications main
373   menu.
374   ...
375
376
377 5.7 Other undocumented functions
378 --------------------------------
379   Several other undocumented functions are used by IE4.
380
381   COMCTL32_11, COMCTL_385, COMCTL32_386 and COMCTL32_388.
382   Their stubs are implemented to keep IE4 from bailing out.
383
384
385 6. Epilogue
386 -----------
387   You see, much work has still to be done. If you are interested in writing
388   a control send me an e-mail. If you like to fix bugs or add some
389   functionality send an e-mail to the author of the control.
390
391
392 Eric Kohl <ekohl@abo.rhein-zeitung.de>
393