2 <title>Wine Builtin DLLs Overview
</title>
3 <para>A more detailed look at Wine's built-in DLLs...
</para>
5 <sect1 id=
"common-controls">
6 <title>Common Controls
</title>
8 <!-- FIXME: Huh? Subtitle element not available here?!? -->
9 <bridgehead renderas=
"sect3">
10 Their development status and their UNDOCUMENTED features and functions
14 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
17 (Extracted from
<filename>wine/documentation/common_controls
</filename>)
22 <title>1. Introduction
</title>
25 The information provided herein is based on the DLL version
26 4.72 which is included in MS Internet Explorer
4.01.
29 All information about common controls should be collected in this document.
32 All Wine programmers are encouraged to add their knowledge to this document.
37 <title>2. General Information
</title>
40 Further information about common controls can be found in
41 the MS Platform SDK and the MS Internet Client SDK (most
42 recent). Information from these SDK's will NOT be repeated
43 here. Only information which can NOT be found in these SDK's
44 will be collected here. Some information in the SDK's
45 mentioned above is (intentionally???) WRONG. Corrections to
46 wrong information will be collected here too.
50 <title>2.1 Structure sizes of different common control versions
</title>
53 The common controls have been continuously improved in the
54 past. Some of the original structures had to be extended
55 and their size changed. Most of the common control
56 structures include their size as the first parameter. If a
57 control gets the wrong size in a message or function a
58 failure is very likely to occur. To avoid this, MS defined
59 new constants that reflect the structure size of older
60 <filename>COMCTL32.DLL
</filename> versions. The following
61 list shows the structure size constants that are currently
62 defined in the original
<filename>COMCTL32.DLL
</filename>.
66 Some structures are NOT defined in wine's COMCTL32 yet.
72 <term><varname>HDITEM_V1_SIZE
</varname>:
</term>
75 The size of the
<structname>HDITEM
</structname>
76 structure in version
4.00.
81 <term><varname>LVCOLUMN_V1_SIZE
</varname>:
</term>
85 <structname>LVCOLUMN
</structname> structure in
91 <term><varname>LVHITTESTINFO_V1_SIZE
</varname>:
</term>
95 <structname>LVHITTESTINFO
</structname> structure in
101 <term><varname>LVITEM_V1_SIZE
</varname>:
</term>
104 The size of the
<structname>LVITEM
</structname>
105 structure in version
4.00.
110 <term><varname>NMLVCUSTOMDRAW_V3_SIZE
</varname>:
</term>
114 <structname>NMLVCUSTOMDRAW
</structname> structure in
120 <term><varname>NMTTDISPINFO_V1_SIZE
</varname>:
</term>
124 <structname>NMTTDISPINFO
</structname> structure in
130 <term><varname>NMTVCUSTOMDRAW_V3_SIZE
</varname>:
</term>
134 <structname>NMTVCUSTOMDRAW
</structname> structure in
140 <term><varname>PROPSHEETHEADER_V1_SIZE
</varname>:
</term>
144 <structname>PROPSHEETHEADER
</structname> structure
150 <term><varname>PROPSHEETPAGE_V1_SIZE
</varname>:
</term>
154 <structname>PROPSHEETPAGE
</structname> structure in
160 <term><varname>REBARBANDINFO_V3_SIZE
</varname>:
</term>
164 <structname>REBARBANDINFO
</structname> structure in
170 <term><varname>TTTOOLINFO_V1_SIZE
</varname>:
</term>
174 <structname>TOOLINFO
</structname> structure in
180 <term><varname>TVINSERTSTRUCT_V1_SIZE
</varname>:
</term>
184 <structname>TVINSERTSTRUCT
</structname> structure in
194 <title>3. Controls
</title>
197 This section describes the development status of the common controls.
201 <title>3.1 Animation Control
</title>
208 Dummy written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
216 Dummy control. No functionality.
224 Author needed!! Any volunteers??
232 <title>3.2 Combo Box Ex Control
</title>
239 Dummy written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
247 Dummy control. No functionality.
255 Author needed!! Any volunteers??
263 <title>3.3 Date and Time Picker Control
</title>
270 Dummy written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
278 Dummy control. No functionality.
286 Author needed!! Any volunteers??
294 <title>3.4 Drag List Box Control
</title>
301 Dummy written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
309 Dummy control. No functionality.
317 Author needed!! Any volunteers??
325 <title>3.5 Flat Scroll Bar Control
</title>
332 Dummy written by &name-alex-priem;
<email>&email-alex-priem;
</email>
340 Dummy control. No functionality.
348 Author needed!! Any volunteers??
356 <title>3.6 Header Control
</title>
363 Dummy written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
378 Unicode notifications are not supported (WM_NOTIFYFORMAT).
383 Order array not supported.
393 <title>3.7 Hot Key Control
</title>
400 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
408 Dummy control. No functionality.
416 Author needed!! Any volunteers??
424 <title>3.8 Image List (no control)
</title>
431 Dummy written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
447 <title>3.9 IP Address Control
</title>
454 Dummy written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>,
455 &name-alex-priem;
<email>&email-alex-priem;
</email>
471 <title>3.10 List View Control
</title>
483 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
488 &name-luc-tourangeau;
<email>&email-luc-tourangeau;
</email>
493 &name-koen-deforche;
<email>&email-koen-deforche;
</email>
498 &name-francis-beaudet;
<email>&email-francis-beaudet;
</email>
518 Basic data structure with related messages are
519 supported. No painting supported yet.
527 <title>3.11 Month Calendar Control
</title>
534 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
542 Dummy control. No functionality.
550 Author needed!! Any volunteers??
558 <title>3.12 Native font control
</title>
565 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
573 Dummy control. No functionality.
581 Author needed!! Any volunteers??
589 <title>3.13 Pager Control
</title>
596 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
604 Under construction. Many missing features.
612 Author needed!! Any volunteers??
620 <title>3.14 Progress Bar Control
</title>
627 Original implementation by Dimitrie O. Paun. Fixes
628 and improvements by Eric Kohl.
644 <title>3.15 Property Sheet
</title>
651 &name-anders-carlsson;
<email>&email-anders-carlsson;
</email> and
652 &name-francis-beaudet;
<email>&email-francis-beaudet;
</email>
660 Development in progress.
668 Tab control must be implemented first.
676 <title>3.16 Rebar Control (Cool Bar)
</title>
683 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
691 Development in progress. Many bugs and missing features.
699 Author needed!! Any volunteers??
707 <title>3.17 Status Bar Control
</title>
714 Original implementation by Bruce Milner. Fixes and
715 improvements by Eric Kohl.
731 Tooltip integration is almost complete.
739 <title>3.18 Tab Control
</title>
746 &name-anders-carlsson;
<email>&email-anders-carlsson;
</email>
754 Development in progress.
762 <title>3.19 Toolbar Control
</title>
769 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
777 Development in progress. Basic functionality is
778 almost done. (DLL version
4.0)
786 <title>3.20 Tooltip Control
</title>
793 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email>
809 Unicode support is incomplete
810 (
<constant>WM_NOTIFYFORMAT
</constant>).
818 <title>3.21 Trackbar Control
</title>
825 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email> and
826 &name-alex-priem;
<email>&email-alex-priem;
</email>
842 <title>3.22 Tree View Control
</title>
849 Written by &name-eric-kohl;
<email>&email-eric-kohl;
</email> and
850 &name-alex-priem;
<email>&email-alex-priem;
</email>, fixes by
851 &name-aric-stewart;
<email>&email-aric-stewart;
</email>
859 Quite usable already.
867 <title>3.23 Updown Control
</title>
874 Original implementation by Dimitrie O. Paun.
875 Some minor changes by &name-eric-kohl;
<email>&email-eric-kohl;
</email>.
892 Have a look at
<filename>controls/updown.c
</filename>
893 for a list of bugs and missing features.
896 The status is unknown, because I did not have a close
897 look at this control. One test-program looked quite
898 good, but in Win95's
<filename>cdplayer.exe
</filename>
899 the control does not show at all.
909 <title>4. Additional Information
</title>
917 <title>5. Undocumented features
</title>
920 There are quite a lot of undocumented functions like:
925 DSA (Dynamic Storage Array) functions.
930 DPA (Dynamic Pointer Array) functions.
935 MRU (
"Most Recently Used" List) functions.
940 other unknown functions.
946 Have a look at
<filename>relay32/comctl32.spec
</filename>.
950 <title>5.1 Dynamic Storage Array (DSA)
</title>
953 The DSA functions are used to store and manage dynamic
954 arrays of fixed size memory blocks. They are used by
955 <filename>TASKMAN.EXE
</filename>, Explorer, IE4 and other
956 Programs and DLL's that are
"parts of the Windows
957 Operating System". The implementation should be complete.
960 Have a look at the source code to get more information.
965 <title>5.2 Dynamic Pointer Array (DPA)
</title>
968 Similar to the DSA functions, but they just store
969 pointers. They are used by Explorer, IE4 and other
970 Programs and DLL's that are
"parts of the Windows
971 Operating System". The implementation should be complete.
974 Have a look at the source code to get more information.
979 <title>5.3 "Most Recently Used" - List (MRU)
</title>
982 Only stubs are implemented to keep Explorer from bailing out.
985 No more information available at this time!
990 <title>5.4 MenuHelp
</title>
998 <title>5.5 GetEffectiveClientRect
</title>
1001 Has to be written...
1006 <title>5.6 ShowHideMenuCtl
</title>
1009 The official documentation provided by MS is incomplete.
1014 <term><varname>lpInfo
</varname>:
</term>
1018 Both values of the first pair must be the handle
1019 to the applications main menu.
1028 <title>5.7 Other undocumented functions
</title>
1031 Several other undocumented functions are used by IE4.
1034 String functions: (will be written...)
1040 <title>6. Epilogue
</title>
1043 You see, much work has still to be done. If you are
1044 interested in writing a control send me an e-mail. If you
1045 like to fix bugs or add some functionality send an e-mail to
1046 the author of the control.
1052 <!-- Keep this comment at the end of the file
1055 sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")