Fix the case of product and company names.
[wine] / documentation / dlls.sgml
1   <chapter id="dlls">
2     <title>Wine Builtin DLLs Overview</title>
3     <para>A more detailed look at Wine's built-in DLLs...</para>
4
5     <sect1 id="common-controls">
6       <title>Common Controls</title>
7
8       <!-- FIXME: Huh? Subtitle element not available here?!? -->
9       <bridgehead renderas="sect3">
10         Their development status and their UNDOCUMENTED features and functions
11       </bridgehead>
12
13       <para>
14         Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
15       </para>
16       <para>
17         (Extracted from <filename>wine/documentation/common_controls</filename>)
18       </para>
19
20
21       <sect2>
22         <title>1. Introduction</title>
23
24         <para>
25           The information provided herein is based on the DLL version
26           4.72 which is included in MS Internet Explorer 4.01.
27         </para>
28         <para>
29           All information about common controls should be collected in this document.
30         </para>
31         <para>
32           All Wine programmers are encouraged to add their knowledge to this document.
33         </para>
34       </sect2>
35
36       <sect2>
37         <title>2. General Information</title>
38
39         <para>
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.
47         </para>
48
49         <sect3>
50           <title>2.1 Structure sizes of different common control versions</title>
51
52           <para>
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>.
63           </para>
64           <note>
65             <para>
66               Some structures are NOT defined in wine's COMCTL32 yet.
67             </para>
68           </note>
69
70           <variablelist>
71             <varlistentry>
72               <term><varname>HDITEM_V1_SIZE</varname>:</term>
73               <listitem>
74                 <para>
75                   The size of the <structname>HDITEM</structname>
76                   structure in version 4.00.
77                 </para>
78               </listitem>
79             </varlistentry>
80             <varlistentry>
81               <term><varname>LVCOLUMN_V1_SIZE</varname>:</term>
82               <listitem>
83                 <para>
84                   The size of the
85                   <structname>LVCOLUMN</structname> structure in
86                   version 4.00.
87                 </para>
88               </listitem>
89             </varlistentry>
90             <varlistentry>
91               <term><varname>LVHITTESTINFO_V1_SIZE</varname>:</term>
92               <listitem>
93                 <para>
94                   The size of the
95                   <structname>LVHITTESTINFO</structname> structure in
96                   version 4.00.
97                 </para>
98               </listitem>
99             </varlistentry>
100             <varlistentry>
101               <term><varname>LVITEM_V1_SIZE</varname>:</term>
102               <listitem>
103                 <para>
104                   The size of the <structname>LVITEM</structname>
105                   structure in version 4.00.
106                 </para>
107               </listitem>
108             </varlistentry>
109             <varlistentry>
110               <term><varname>NMLVCUSTOMDRAW_V3_SIZE</varname>:</term>
111               <listitem>
112                 <para>
113                   The size of the
114                   <structname>NMLVCUSTOMDRAW</structname> structure in
115                   version 4.70.
116                 </para>
117               </listitem>
118             </varlistentry>
119             <varlistentry>
120               <term><varname>NMTTDISPINFO_V1_SIZE</varname>:</term>
121               <listitem>
122                 <para>
123                   The size of the
124                   <structname>NMTTDISPINFO</structname> structure in
125                   version 4.00.
126                 </para>
127               </listitem>
128             </varlistentry>
129             <varlistentry>
130               <term><varname>NMTVCUSTOMDRAW_V3_SIZE</varname>:</term>
131               <listitem>
132                 <para>
133                   The size of the
134                   <structname>NMTVCUSTOMDRAW</structname> structure in
135                   version 4.70.
136                 </para>
137               </listitem>
138             </varlistentry>
139             <varlistentry>
140               <term><varname>PROPSHEETHEADER_V1_SIZE</varname>:</term>
141               <listitem>
142                 <para>
143                   The size of the
144                   <structname>PROPSHEETHEADER</structname> structure
145                   in version 4.00.
146                 </para>
147               </listitem>
148             </varlistentry>
149             <varlistentry>
150               <term><varname>PROPSHEETPAGE_V1_SIZE</varname>:</term>
151               <listitem>
152                 <para>
153                   The size of the
154                   <structname>PROPSHEETPAGE</structname> structure in
155                   version 4.00.
156                 </para>
157               </listitem>
158             </varlistentry>
159             <varlistentry>
160               <term><varname>REBARBANDINFO_V3_SIZE</varname>:</term>
161               <listitem>
162                 <para>
163                   The size of the
164                   <structname>REBARBANDINFO</structname> structure in
165                   version 4.70.
166                 </para>
167               </listitem>
168             </varlistentry>
169             <varlistentry>
170               <term><varname>TTTOOLINFO_V1_SIZE</varname>:</term>
171               <listitem>
172                 <para>
173                   The size of the
174                   <structname>TOOLINFO</structname> structure in
175                   version 4.00.
176                 </para>
177               </listitem>
178             </varlistentry>
179             <varlistentry>
180               <term><varname>TVINSERTSTRUCT_V1_SIZE</varname>:</term>
181               <listitem>
182                 <para>
183                   The size of the
184                   <structname>TVINSERTSTRUCT</structname> structure in
185                   version 4.00.
186                 </para>
187               </listitem>
188             </varlistentry>
189           </variablelist>
190         </sect3>
191       </sect2>
192
193       <sect2>
194         <title>3. Controls</title>
195
196         <para>
197           This section describes the development status of the common controls.
198         </para>
199
200         <sect3>
201           <title>3.1 Animation Control</title>
202
203           <variablelist>
204             <varlistentry>
205               <term>Author:</term>
206               <listitem>
207                 <para>
208                   Dummy written by &name-eric-kohl; <email>&email-eric-kohl;</email>
209                 </para>
210               </listitem>
211             </varlistentry>
212             <varlistentry>
213               <term>Status:</term>
214               <listitem>
215                 <para>
216                   Dummy control. No functionality.
217                 </para>
218               </listitem>
219             </varlistentry>
220             <varlistentry>
221               <term>  Notes:</term>
222               <listitem>
223                 <para>
224                   Author needed!! Any volunteers??
225                 </para>
226               </listitem>
227             </varlistentry>  
228           </variablelist>
229         </sect3>
230
231         <sect3>
232           <title>3.2 Combo Box Ex Control</title>
233
234           <variablelist>
235             <varlistentry>
236               <term>Author:</term>
237               <listitem>
238                 <para>
239                   Dummy written by &name-eric-kohl; <email>&email-eric-kohl;</email>
240                 </para>
241               </listitem>
242             </varlistentry>
243             <varlistentry>
244               <term>Status:</term>
245               <listitem>
246                 <para>
247                   Dummy control. No functionality.
248                 </para>
249               </listitem>
250             </varlistentry>
251             <varlistentry>
252               <term>Notes:</term>
253               <listitem>
254                 <para>
255                   Author needed!! Any volunteers??
256                 </para>
257               </listitem>
258             </varlistentry>
259           </variablelist>
260         </sect3>
261
262         <sect3>
263           <title>3.3 Date and Time Picker Control</title>
264
265           <variablelist>
266             <varlistentry>
267               <term>Author:</term>
268               <listitem>
269                 <para>
270                   Dummy written by &name-eric-kohl; <email>&email-eric-kohl;</email>
271                 </para>
272               </listitem>
273             </varlistentry>
274             <varlistentry>
275               <term>Status:</term>
276               <listitem>
277                 <para>
278                   Dummy control. No functionality.
279                 </para>
280               </listitem>
281             </varlistentry>
282             <varlistentry>
283               <term>Notes:</term>
284               <listitem>
285                 <para>
286                   Author needed!! Any volunteers??
287                 </para>
288               </listitem>
289             </varlistentry>
290           </variablelist>
291         </sect3>
292
293         <sect3>
294           <title>3.4 Drag List Box Control</title>
295
296           <variablelist>
297             <varlistentry>
298               <term>Author:</term>
299               <listitem>
300                 <para>
301                   Dummy written by &name-eric-kohl; <email>&email-eric-kohl;</email>
302                 </para>
303               </listitem>
304             </varlistentry>
305             <varlistentry>
306               <term>Status:</term>
307               <listitem>
308                 <para>
309                   Dummy control. No functionality.
310                 </para>
311               </listitem>
312             </varlistentry>
313             <varlistentry>
314               <term>Notes:</term>
315               <listitem>
316                 <para>
317                   Author needed!! Any volunteers??
318                 </para>
319               </listitem>
320             </varlistentry>
321           </variablelist>
322         </sect3>
323
324         <sect3>
325           <title>3.5 Flat Scroll Bar Control</title>
326
327           <variablelist>
328             <varlistentry>
329               <term>Author:</term>
330               <listitem>
331                 <para>
332                   Dummy written by &name-alex-priem; <email>&email-alex-priem;</email>
333                 </para>
334               </listitem>
335             </varlistentry>
336             <varlistentry>
337               <term>Status:</term>
338               <listitem>
339                 <para>
340                   Dummy control. No functionality.
341                 </para>
342               </listitem>
343             </varlistentry>
344             <varlistentry>
345               <term>Notes:</term>
346               <listitem>
347                 <para>
348                   Author needed!! Any volunteers??
349                 </para>
350               </listitem>
351             </varlistentry>
352           </variablelist>
353         </sect3>
354
355         <sect3>
356           <title>3.6 Header Control</title>
357
358           <variablelist>
359             <varlistentry>
360               <term>Author:</term>
361               <listitem>
362                 <para>
363                   Dummy written by &name-eric-kohl; <email>&email-eric-kohl;</email>
364                 </para>
365               </listitem>
366             </varlistentry>
367             <varlistentry>
368               <term>Status:</term>
369               <listitem>
370                 <itemizedlist>
371                   <listitem>
372                     <para>
373                       Almost finished.
374                     </para>
375                   </listitem>
376                   <listitem>
377                     <para>
378                       Unicode notifications are not supported (WM_NOTIFYFORMAT).
379                     </para>
380                   </listitem>
381                   <listitem>
382                     <para>
383                       Order array not supported.
384                     </para>
385                   </listitem>
386                 </itemizedlist>
387               </listitem>
388             </varlistentry>
389           </variablelist>
390         </sect3>
391
392         <sect3>
393           <title>3.7 Hot Key Control</title>
394
395           <variablelist>
396             <varlistentry>
397               <term>Author:</term>
398               <listitem>
399                 <para>
400                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
401                 </para>
402               </listitem>
403             </varlistentry>
404             <varlistentry>
405               <term>Status:</term>
406               <listitem>
407                 <para>
408                   Dummy control. No functionality.
409                 </para>
410               </listitem>
411             </varlistentry>
412             <varlistentry>
413               <term>Notes:</term>
414               <listitem>
415                 <para>
416                   Author needed!! Any volunteers??
417                 </para>
418               </listitem>
419             </varlistentry>
420           </variablelist>
421         </sect3>
422
423         <sect3>
424           <title>3.8 Image List (no control)</title>
425
426           <variablelist>
427             <varlistentry>
428               <term>Author:</term>
429               <listitem>
430                 <para>
431                   Dummy written by &name-eric-kohl; <email>&email-eric-kohl;</email>
432                 </para>
433               </listitem>
434             </varlistentry>
435             <varlistentry>
436               <term>Status:</term>
437               <listitem>
438                 <para>
439                   Almost finished.
440                 </para>
441               </listitem>
442             </varlistentry>
443           </variablelist>
444         </sect3>
445
446         <sect3>
447           <title>3.9 IP Address Control</title>
448
449           <variablelist>
450             <varlistentry>
451               <term>Author:</term>
452               <listitem>
453                  <para>
454                   Dummy written by &name-eric-kohl; <email>&email-eric-kohl;</email>,
455                   &name-alex-priem; <email>&email-alex-priem;</email>
456                 </para>
457               </listitem>
458             </varlistentry>
459             <varlistentry>
460               <term>Status:</term>
461               <listitem>
462                 <para>
463                   Under construction.
464                 </para>
465               </listitem>
466             </varlistentry>
467           </variablelist>
468         </sect3>
469
470         <sect3>
471           <title>3.10 List View Control</title>
472
473           <variablelist>
474             <varlistentry>
475             <term>Author:</term>
476               <listitem>
477                 <para>
478                   Dummy written by:
479                 </para>
480                 <itemizedlist>
481                   <listitem>
482                     <para>
483                       Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
484                     </para>
485                   </listitem>
486                   <listitem>
487                     <para>
488                       &name-luc-tourangeau; <email>&email-luc-tourangeau;</email>
489                     </para>
490                   </listitem>
491                   <listitem>
492                     <para>
493                       &name-koen-deforche; <email>&email-koen-deforche;</email>
494                     </para>
495                   </listitem>
496                   <listitem>
497                     <para>
498                       &name-francis-beaudet; <email>&email-francis-beaudet;</email>
499                       and the "Corel Team"
500                     </para>
501                   </listitem>
502                 </itemizedlist>
503               </listitem>
504             </varlistentry>
505
506             <varlistentry>
507               <term>Status:</term>
508               <listitem>
509                 <para>
510                   Under construction.
511                 </para>
512               </listitem>
513             </varlistentry>
514             <varlistentry>
515               <term>Notes:</term>
516               <listitem>
517                 <para>
518                   Basic data structure with related messages are
519                   supported. No painting supported yet.
520                 </para>
521               </listitem>
522             </varlistentry>
523           </variablelist>
524         </sect3>
525
526         <sect3>
527           <title>3.11 Month Calendar Control</title>
528
529           <variablelist>
530             <varlistentry>
531               <term>Author:</term>
532               <listitem>
533                 <para>
534                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
535                 </para>
536               </listitem>
537             </varlistentry>
538             <varlistentry>
539               <term>Status:</term>
540               <listitem>
541                 <para>
542                   Dummy control. No functionality.
543                 </para>
544               </listitem>
545             </varlistentry>
546             <varlistentry>
547               <term>Notes:</term>
548               <listitem>
549                 <para>
550                   Author needed!! Any volunteers??
551                 </para>
552               </listitem>
553             </varlistentry>
554           </variablelist>
555         </sect3>
556
557         <sect3>
558           <title>3.12 Native font control</title>
559
560           <variablelist>
561             <varlistentry>
562               <term>Author:</term>
563               <listitem>
564                 <para>
565                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
566                 </para>
567               </listitem>
568             </varlistentry>
569             <varlistentry>
570               <term>Status:</term>
571               <listitem>
572                 <para>
573                   Dummy control. No functionality.
574                 </para>
575               </listitem>
576             </varlistentry>
577             <varlistentry>
578               <term>Notes:</term>
579               <listitem>
580                 <para>
581                   Author needed!! Any volunteers??
582                 </para>
583               </listitem>
584             </varlistentry>
585           </variablelist>
586         </sect3>
587
588         <sect3>
589           <title>3.13 Pager Control</title>
590
591           <variablelist>
592             <varlistentry>
593               <term>Author:</term>
594               <listitem>
595                 <para>
596                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
597                 </para>
598               </listitem>
599             </varlistentry>
600             <varlistentry>
601               <term>Status:</term>
602               <listitem>
603                 <para>
604                   Under construction. Many missing features.
605                 </para>
606               </listitem>
607             </varlistentry>
608             <varlistentry>
609               <term>Notes:</term>
610               <listitem>
611                 <para>
612                   Author needed!! Any volunteers??
613                 </para>
614               </listitem>
615             </varlistentry>
616           </variablelist>
617         </sect3>
618
619         <sect3>
620           <title>3.14 Progress Bar Control</title>
621
622           <variablelist>
623             <varlistentry>
624               <term>Author:</term>
625               <listitem>
626                 <para>
627                   Original implementation by Dimitrie O. Paun. Fixes
628                   and improvements by Eric Kohl.
629                 </para>
630               </listitem>
631             </varlistentry>
632             <varlistentry>
633               <term>Status:</term>
634               <listitem>
635                 <para>
636                   Finished!
637                 </para>
638               </listitem>
639             </varlistentry>
640           </variablelist>
641         </sect3>
642
643         <sect3>
644           <title>3.15 Property Sheet</title>
645
646           <variablelist>
647             <varlistentry>
648               <term>Author:</term>
649               <listitem>
650                 <para>
651                   &name-anders-carlsson; <email>&email-anders-carlsson;</email> and
652                   &name-francis-beaudet; <email>&email-francis-beaudet;</email>
653                 </para>
654               </listitem>
655             </varlistentry>
656             <varlistentry>
657               <term>Status:</term>
658               <listitem>
659                 <para>
660                   Development in progress.
661                 </para>
662               </listitem>
663             </varlistentry>
664             <varlistentry>
665               <term>Notes:</term>
666               <listitem>
667                 <para>
668                   Tab control must be implemented first.
669                 </para>
670               </listitem>
671             </varlistentry>
672           </variablelist>
673         </sect3>
674
675         <sect3>
676           <title>3.16 Rebar Control (Cool Bar)</title>
677
678           <variablelist>
679             <varlistentry>
680               <term>Author:</term>
681               <listitem>
682                 <para>
683                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
684                 </para>
685               </listitem>
686             </varlistentry>
687             <varlistentry>
688               <term>Status:</term>
689               <listitem>
690                 <para>
691                   Development in progress. Many bugs and missing features.
692                 </para>
693               </listitem>
694             </varlistentry>
695             <varlistentry>
696               <term>Notes:</term>
697               <listitem>
698                 <para>
699                   Author needed!! Any volunteers??
700                 </para>
701               </listitem>
702             </varlistentry>
703           </variablelist>
704         </sect3>
705
706         <sect3>
707           <title>3.17 Status Bar Control</title>
708
709           <variablelist>
710             <varlistentry>
711               <term>Author:</term>
712               <listitem>
713                 <para>
714                   Original implementation by Bruce Milner. Fixes and
715                   improvements by Eric Kohl.
716                 </para>
717               </listitem>
718             </varlistentry>
719             <varlistentry>
720               <term>Status:</term>
721               <listitem>
722                 <para>
723                   Almost finished.
724                 </para>
725               </listitem>
726             </varlistentry>
727             <varlistentry>
728               <term>Notes:</term>
729               <listitem>
730                 <para>
731                   Tooltip integration is almost complete.
732                 </para>
733               </listitem>
734             </varlistentry>
735           </variablelist>
736         </sect3>
737
738         <sect3>
739           <title>3.18 Tab Control</title>
740
741           <variablelist>
742             <varlistentry>
743               <term>Author:</term>
744               <listitem>
745                 <para>
746                   &name-anders-carlsson; <email>&email-anders-carlsson;</email>
747                 </para>
748               </listitem>
749             </varlistentry>
750             <varlistentry>
751               <term>Status:</term>
752               <listitem>
753                 <para>
754                   Development in progress.
755                 </para>
756               </listitem>
757             </varlistentry>
758           </variablelist>
759         </sect3>
760
761         <sect3>
762           <title>3.19 Toolbar Control</title>
763
764           <variablelist>
765             <varlistentry>
766               <term>Author:</term>
767               <listitem>
768                 <para>
769                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
770                 </para>
771               </listitem>
772             </varlistentry>
773             <varlistentry>
774               <term>Status:</term>
775               <listitem>
776                 <para>
777                   Development in progress. Basic functionality is
778                   almost done. (DLL version 4.0)
779                 </para>
780               </listitem>
781             </varlistentry>
782           </variablelist>
783         </sect3>
784
785         <sect3>
786           <title>3.20 Tooltip Control</title>
787
788           <variablelist>
789             <varlistentry>
790               <term>Author:</term>
791               <listitem>
792                 <para>
793                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email>
794                 </para>
795               </listitem>
796             </varlistentry>
797             <varlistentry>
798               <term>Status:</term>
799               <listitem>
800                 <para>
801                   Almost finished.
802                 </para>
803               </listitem>
804             </varlistentry>
805             <varlistentry>
806               <term>Notes:</term>
807               <listitem>
808                 <para>
809                   Unicode support is incomplete
810                   (<constant>WM_NOTIFYFORMAT</constant>).
811                 </para>
812               </listitem>
813             </varlistentry>
814           </variablelist>
815         </sect3>
816
817         <sect3>
818           <title>3.21 Trackbar Control</title>
819
820           <variablelist>
821             <varlistentry>
822               <term>Author:</term>
823               <listitem>
824                 <para>
825                   Written by &name-eric-kohl; <email>&email-eric-kohl;</email> and 
826                   &name-alex-priem; <email>&email-alex-priem;</email>
827                 </para>
828               </listitem>
829             </varlistentry>
830             <varlistentry>
831               <term>Status:</term>
832               <listitem>
833                 <para>
834                   Under construction.
835                 </para>
836               </listitem>
837             </varlistentry>
838           </variablelist>
839         </sect3>
840
841         <sect3>
842           <title>3.22 Tree View Control</title>
843
844           <variablelist>
845             <varlistentry>
846               <term>Author:</term>
847               <listitem>
848                 <para>
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>
852                 </para>
853               </listitem>
854             </varlistentry>
855             <varlistentry>
856               <term>Status:</term>
857               <listitem>
858                 <para>
859                   Quite usable already.
860                 </para>
861               </listitem>
862             </varlistentry>
863           </variablelist>
864         </sect3>
865
866         <sect3>
867           <title>3.23 Updown Control</title>
868
869           <variablelist>
870             <varlistentry>
871               <term>Author:</term>
872               <listitem>
873                 <para>
874                   Original implementation by Dimitrie O. Paun.
875                   Some minor changes by &name-eric-kohl; <email>&email-eric-kohl;</email>.
876                 </para>
877               </listitem>
878             </varlistentry>
879             <varlistentry>
880               <term>Status:</term>
881               <listitem>
882                 <para>
883                   Unknown.
884                 </para>
885               </listitem>
886             </varlistentry>
887           </variablelist>
888
889           <note>
890             <title>Notes</title>
891             <para>
892               Have a look at <filename>controls/updown.c</filename>
893               for a list of bugs and missing features.
894             </para>
895             <para>
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.
900             </para>
901             <para>
902               Any volunteers??
903             </para>
904           </note>
905         </sect3>
906       </sect2>
907
908       <sect2>
909         <title>4. Additional Information</title>
910
911         <para>
912           Has to be written...
913         </para>
914       </sect2>
915
916       <sect2>
917         <title>5. Undocumented features</title>
918
919         <para>
920           There are quite a lot of undocumented functions like:
921         </para>
922         <itemizedlist>
923           <listitem>
924             <para>
925               DSA (Dynamic Storage Array) functions.
926             </para>
927           </listitem>
928           <listitem>
929             <para>
930               DPA (Dynamic Pointer Array) functions.
931             </para>
932           </listitem>
933           <listitem>
934             <para>
935               MRU ("Most Recently Used" List) functions.
936             </para>
937           </listitem>
938           <listitem>
939             <para>
940               other unknown functions.
941             </para>
942           </listitem>
943         </itemizedlist>
944
945         <para>
946           Have a look at <filename>relay32/comctl32.spec</filename>.
947         </para>
948
949         <sect3>
950           <title>5.1 Dynamic Storage Array (DSA)</title>
951
952           <para>
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.
958           </para>
959           <para>
960             Have a look at the source code to get more information.
961           </para>
962         </sect3>
963
964         <sect3>
965           <title>5.2 Dynamic Pointer Array (DPA)</title>
966
967           <para>
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.
972           </para>
973           <para>
974             Have a look at the source code to get more information.
975           </para>
976         </sect3>
977
978         <sect3>
979           <title>5.3 "Most Recently Used" - List (MRU)</title>
980
981           <para>
982             Only stubs are implemented to keep Explorer from bailing out.
983           </para>
984           <para>
985             No more information available at this time!
986           </para>
987         </sect3>
988
989         <sect3>
990           <title>5.4 MenuHelp</title>
991
992           <para>
993             Has to be written...
994           </para>
995         </sect3>
996
997         <sect3>
998           <title>5.5 GetEffectiveClientRect</title>
999
1000           <para>
1001             Has to be written...
1002           </para>
1003         </sect3>
1004
1005         <sect3>
1006           <title>5.6 ShowHideMenuCtl</title>
1007
1008           <para>
1009             The official documentation provided by MS is incomplete.
1010           </para>
1011
1012           <variablelist>
1013             <varlistentry>
1014               <term><varname>lpInfo</varname>:</term>
1015               <listitem>
1016                 <blockquote>
1017                   <para>
1018                     Both values of the first pair must be the handle
1019                     to the applications main menu.
1020                   </para>
1021                 </blockquote>
1022               </listitem>
1023             </varlistentry>
1024           </variablelist>
1025         </sect3>
1026
1027         <sect3>
1028           <title>5.7 Other undocumented functions</title>
1029
1030           <para>
1031             Several other undocumented functions are used by IE4.
1032           </para>
1033           <para>
1034             String functions: (will be written...)
1035           </para>
1036         </sect3>
1037       </sect2>
1038
1039       <sect2>
1040         <title>6. Epilogue</title>
1041
1042         <para>
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.
1047         </para>
1048       </sect2>
1049     </sect1>
1050   </chapter>
1051
1052 <!-- Keep this comment at the end of the file
1053 Local variables:
1054 mode: sgml
1055 sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")
1056 End:
1057 -->