Added a first-cut version of MapVirtualKeyExW() that has the same
[wine] / documentation / dlls.sgml
1     <chapter id="dlls">
2       <title>Wine Builtin DLLs</title>
3     <para>A more detailed look at Wine's builtin 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 Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;
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 continously improved in the
54             past. Some of the orignal 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 stuctures 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>The size of the <structname>HDITEM</structname>
75                   structure in version 4.00.</para>
76               </listitem>
77             </varlistentry>
78             <varlistentry>
79               <term><varname>LVCOLUMN_V1_SIZE</varname>:</term>
80               <listitem>
81                 <para>The size of the
82                   <structname>LVCOLUMN</structname> structure in
83                   version 4.00.</para>
84               </listitem>
85             </varlistentry>
86             <varlistentry>
87               <term><varname>LVHITTESTINFO_V1_SIZE</varname>:</term>
88               <listitem>
89                 <para>The size of the
90                   <structname>LVHITTESTINFO</structname> structure in
91                   version 4.00.</para>
92               </listitem>
93             </varlistentry>
94             <varlistentry>
95               <term><varname>LVITEM_V1_SIZE</varname>:</term>
96               <listitem>
97                 <para>The size of the <structname>LVITEM</structname>
98                   structure in version 4.00.</para>
99               </listitem>
100             </varlistentry>
101             <varlistentry>
102               <term><varname>NMLVCUSTOMDRAW_V3_SIZE</varname>:</term>
103               <listitem>
104                 <para>The size of the
105                   <structname>NMLVCUSTOMDRAW</structname> structure in
106                   version 4.70.</para>
107               </listitem>
108             </varlistentry>
109             <varlistentry>
110               <term><varname>NMTTDISPINFO_V1_SIZE</varname>:</term>
111               <listitem>
112                 <para>The size of the
113                   <structname>NMTTDISPINFO</structname> structure in
114                   version 4.00.</para>
115               </listitem>
116             </varlistentry>
117             <varlistentry>
118               <term><varname>NMTVCUSTOMDRAW_V3_SIZE</varname>:</term>
119               <listitem>
120                 <para>The size of the
121                   <structname>NMTVCUSTOMDRAW</structname> structure in
122                   version 4.70.</para>
123               </listitem>
124             </varlistentry>
125             <varlistentry>
126               <term><varname>PROPSHEETHEADER_V1_SIZE</varname>:</term>
127               <listitem>
128                 <para>The size of the
129                   <structname>PROPSHEETHEADER</structname> structure
130                   in version 4.00.</para>
131               </listitem>
132             </varlistentry>
133             <varlistentry>
134               <term><varname>PROPSHEETPAGE_V1_SIZE</varname>:</term>
135               <listitem>
136                 <para>The size of the
137                   <structname>PROPSHEETPAGE</structname> structure in
138                   version 4.00.</para>
139               </listitem>
140             </varlistentry>
141             <varlistentry>
142               <term><varname>REBARBANDINFO_V3_SIZE</varname>:</term>
143               <listitem>
144                 <para>The size of the
145                   <structname>REBARBANDINFO</structname> structure in
146                   version 4.70.</para>
147               </listitem>
148             </varlistentry>
149             <varlistentry>
150               <term><varname>TTTOOLINFO_V1_SIZE</varname>:</term>
151               <listitem>
152                 <para>The size of the
153                   <structname>TOOLINFO</structname> structure in
154                   version 4.00.</para>
155               </listitem>
156             </varlistentry>
157             <varlistentry>
158               <term><varname>TVINSERTSTRUCT_V1_SIZE</varname>:</term>
159               <listitem>
160                 <para>The size of the
161                   <structname>TVINSERTSTRUCT</structname> structure in
162                   version 4.00.</para>
163               </listitem>
164             </varlistentry>
165           </variablelist>
166         </sect3>
167       </sect2>
168
169       <sect2>
170         <title>3. Controls</title>
171
172         <para>
173           This section describes the development status of the common controls.
174         </para>
175
176         <sect3>
177           <title>3.1 Animation Control</title>
178
179           <variablelist>
180             <varlistentry>
181               <term>Author:</term>
182               <listitem>
183                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
184               </listitem>
185             </varlistentry>
186             <varlistentry>
187               <term>Status:</term>
188               <listitem>
189                 <para>Dummy control. No functionality.</para>
190               </listitem>
191             </varlistentry>
192             <varlistentry>
193               <term>  Notes:</term>
194               <listitem>
195                 <para>Author needed!! Any volunteers??</para>
196               </listitem>
197             </varlistentry>  
198           </variablelist>
199         </sect3>
200
201         <sect3>
202           <title>3.2 Combo Box Ex Control</title>
203
204           <variablelist>
205             <varlistentry>
206               <term>Author:</term>
207               <listitem>
208                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
209               </listitem>
210             </varlistentry>
211             <varlistentry>
212               <term>Status:</term>
213               <listitem>
214                 <para>Dummy control. No functionality.</para>
215               </listitem>
216             </varlistentry>
217             <varlistentry>
218               <term>Notes:</term>
219               <listitem>
220                 <para>Author needed!! Any volunteers??</para>
221               </listitem>
222             </varlistentry>
223           </variablelist>
224         </sect3>
225
226         <sect3>
227           <title>3.3 Date and Time Picker Control</title>
228
229           <variablelist>
230             <varlistentry>
231               <term>Author:</term>
232               <listitem>
233                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
234               </listitem>
235             </varlistentry>
236             <varlistentry>
237               <term>Status:</term>
238               <listitem>
239                 <para>Dummy control. No functionality.</para>
240               </listitem>
241             </varlistentry>
242             <varlistentry>
243               <term>Notes:</term>
244               <listitem>
245                 <para>Author needed!! Any volunteers??</para>
246               </listitem>
247             </varlistentry>
248           </variablelist>
249         </sect3>
250
251         <sect3>
252           <title>3.4 Drag List Box Control</title>
253
254           <variablelist>
255             <varlistentry>
256               <term>Author:</term>
257               <listitem>
258                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
259               </listitem>
260             </varlistentry>
261             <varlistentry>
262               <term>Status:</term>
263               <listitem>
264                 <para>Dummy control. No functionality.</para>
265               </listitem>
266             </varlistentry>
267             <varlistentry>
268               <term>Notes:</term>
269               <listitem>
270                 <para>Author needed!! Any volunteers??</para>
271               </listitem>
272             </varlistentry>
273           </variablelist>
274         </sect3>
275
276         <sect3>
277           <title>3.5 Flat Scroll Bar Control</title>
278
279           <variablelist>
280             <varlistentry>
281               <term>Author:</term>
282               <listitem>
283                 <para>Dummy written by Alex Priem. &lt;alexp@sci.kun.nl&gt;</para>
284               </listitem>
285             </varlistentry>
286             <varlistentry>
287               <term>Status:</term>
288               <listitem>
289                 <para>Dummy control. No functionality.</para>
290               </listitem>
291             </varlistentry>
292             <varlistentry>
293               <term>Notes:</term>
294               <listitem>
295                 <para>Author needed!! Any volunteers??</para>
296               </listitem>
297             </varlistentry>
298           </variablelist>
299         </sect3>
300
301         <sect3>
302           <title>3.6 Header Control</title>
303
304           <variablelist>
305             <varlistentry>
306               <term>Author:</term>
307               <listitem>
308                 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
309               </listitem>
310             </varlistentry>
311             <varlistentry>
312               <term>Status:</term>
313               <listitem>
314                 <itemizedlist>
315                   <listitem>
316                     <para>Almost finished.</para>
317                   </listitem>
318                   <listitem>
319                     <para>Unicode notifications are not supported (WM_NOTIFYFORMAT).</para>
320                   </listitem>
321                   <listitem>
322                     <para>Order array not supported.</para>
323                   </listitem>
324                 </itemizedlist>
325               </listitem>
326             </varlistentry>
327           </variablelist>
328         </sect3>
329
330         <sect3>
331           <title>3.7 Hot Key Control</title>
332
333           <variablelist>
334             <varlistentry>
335               <term>Author:</term>
336               <listitem>
337                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
338               </listitem>
339             </varlistentry>
340             <varlistentry>
341               <term>Status:</term>
342               <listitem>
343                 <para>Dummy control. No functionality.</para>
344               </listitem>
345             </varlistentry>
346             <varlistentry>
347               <term>Notes:</term>
348               <listitem>
349                 <para>Author needed!! Any volunteers??</para>
350               </listitem>
351             </varlistentry>
352           </variablelist>
353         </sect3>
354
355         <sect3>
356           <title>3.8 Image List (no control)</title>
357
358           <variablelist>
359             <varlistentry>
360               <term>Author:</term>
361               <listitem>
362                 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
363               </listitem>
364             </varlistentry>
365             <varlistentry>
366               <term>Status:</term>
367               <listitem>
368                 <para>Almost finished.</para>
369               </listitem>
370             </varlistentry>
371           </variablelist>
372         </sect3>
373
374         <sect3>
375           <title>3.9 IP Address Control</title>
376
377           <variablelist>
378             <varlistentry>
379               <term>Author:</term>
380               <listitem>
381                 <para>
382                   Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;,
383                   Alex Priem &lt;alexp@sci.kun.nl&gt;
384                 </para>
385               </listitem>
386             </varlistentry>
387             <varlistentry>
388               <term>Status:</term>
389               <listitem>
390                 <para>Under construction.</para>
391               </listitem>
392             </varlistentry>
393           </variablelist>
394         </sect3>
395
396         <sect3>
397           <title>3.10 List View Control</title>
398
399           <variablelist>
400             <varlistentry>
401             <term>Author:</term>
402               <listitem>
403                 <para>Dummy written by: </para>
404                 <itemizedlist>
405                   <listitem>
406                     <para>Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
407                   </listitem>
408                   <listitem>
409                     <para>Luc Tourangeau &lt;luc@macadamian.com&gt;</para>
410                   </listitem>
411                   <listitem>
412                     <para>Koen Deforche &lt;jozef@kotnet.org&gt;</para>
413                   </listitem>
414                   <listitem>
415                     <para>Francis Beaudet &lt;francis@macadamian.com&gt; and the "Corel-Team"</para>
416                   </listitem>
417                 </itemizedlist>
418               </listitem>
419             </varlistentry>
420
421             <varlistentry>
422               <term>Status:</term>
423               <listitem>
424                 <para>Under construction.</para>
425               </listitem>
426             </varlistentry>
427             <varlistentry>
428               <term>Notes:</term>
429               <listitem>
430                 <para>
431                   Basic data structure with related messages are
432                   supported. No painting supported yet.
433                 </para>
434               </listitem>
435             </varlistentry>
436           </variablelist>
437         </sect3>
438
439         <sect3>
440           <title>3.11 Month Calendar Control</title>
441
442           <variablelist>
443             <varlistentry>
444               <term>Author:</term>
445               <listitem>
446                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
447               </listitem>
448             </varlistentry>
449             <varlistentry>
450               <term>Status:</term>
451               <listitem>
452                 <para>Dummy control. No functionality.</para>
453               </listitem>
454             </varlistentry>
455             <varlistentry>
456               <term>Notes:</term>
457               <listitem>
458                 <para>Author needed!! Any volunteers??</para>
459               </listitem>
460             </varlistentry>
461           </variablelist>
462         </sect3>
463
464         <sect3>
465           <title>3.12 Native font control</title>
466
467           <variablelist>
468             <varlistentry>
469               <term>Author:</term>
470               <listitem>
471                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
472               </listitem>
473             </varlistentry>
474             <varlistentry>
475               <term>Status:</term>
476               <listitem>
477                 <para>Dummy control. No functionality.</para>
478               </listitem>
479             </varlistentry>
480             <varlistentry>
481               <term>Notes:</term>
482               <listitem>
483                 <para>Author needed!! Any volunteers??</para>
484               </listitem>
485             </varlistentry>
486           </variablelist>
487         </sect3>
488
489         <sect3>
490           <title>3.13 Pager Control</title>
491
492           <variablelist>
493             <varlistentry>
494               <term>Author:</term>
495               <listitem>
496                 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
497               </listitem>
498             </varlistentry>
499             <varlistentry>
500               <term>Status:</term>
501               <listitem>
502                 <para>
503                   Under construction. Many missing features.
504                 </para>
505               </listitem>
506             </varlistentry>
507             <varlistentry>
508               <term>Notes:</term>
509               <listitem>
510                 <para>Author needed!! Any volunteers??</para>
511               </listitem>
512             </varlistentry>
513           </variablelist>
514         </sect3>
515
516         <sect3>
517           <title>3.14 Progress Bar Control</title>
518
519           <variablelist>
520             <varlistentry>
521               <term>Author:</term>
522               <listitem>
523                 <para>
524                   Original implementation by Dimitrie O. Paun. Fixes
525                   and improvements by Eric Kohl.
526                 </para>
527               </listitem>
528             </varlistentry>
529             <varlistentry>
530               <term>Status:</term>
531               <listitem>
532                 <para>Finished!</para>
533               </listitem>
534             </varlistentry>
535           </variablelist>
536         </sect3>
537
538         <sect3>
539           <title>3.15 Property Sheet</title>
540
541           <variablelist>
542             <varlistentry>
543               <term>Author:</term>
544               <listitem>
545                 <para>
546                   Anders Carlsson &lt;anders.carlsson@linux.nu&gt; and
547                   Francis Beaudet &lt;francis@macadamian.com&gt;
548                 </para>
549               </listitem>
550             </varlistentry>
551             <varlistentry>
552               <term>Status:</term>
553               <listitem>
554                 <para>Development in progress.</para>
555               </listitem>
556             </varlistentry>
557             <varlistentry>
558               <term>Notes:</term>
559               <listitem>
560                 <para>Tab control must be implemented first.</para>
561               </listitem>
562             </varlistentry>
563           </variablelist>
564         </sect3>
565
566         <sect3>
567           <title>3.16 Rebar Control (Cool Bar)</title>
568
569           <variablelist>
570             <varlistentry>
571               <term>Author:</term>
572               <listitem>
573                 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
574               </listitem>
575             </varlistentry>
576             <varlistentry>
577               <term>Status:</term>
578               <listitem>
579                 <para>Development in progress. Many bugs and missing features.</para>
580               </listitem>
581             </varlistentry>
582             <varlistentry>
583               <term>Notes:</term>
584               <listitem>
585                 <para>Author needed!! Any volunteers??</para>
586               </listitem>
587             </varlistentry>
588           </variablelist>
589         </sect3>
590
591         <sect3>
592           <title>3.17 Status Bar Control</title>
593
594           <variablelist>
595             <varlistentry>
596               <term>Author:</term>
597               <listitem>
598                 <para>
599                   Original implementation by Bruce Milner. Fixes and
600                   improvements by Eric Kohl.
601                 </para>
602               </listitem>
603             </varlistentry>
604             <varlistentry>
605               <term>Status:</term>
606               <listitem>
607                 <para>Almost finished.</para>
608               </listitem>
609             </varlistentry>
610             <varlistentry>
611               <term>Notes:</term>
612               <listitem>
613                 <para>Tooltip integration is almost complete.</para>
614               </listitem>
615             </varlistentry>
616           </variablelist>
617         </sect3>
618
619         <sect3>
620           <title>3.18 Tab Control</title>
621
622           <variablelist>
623             <varlistentry>
624               <term>Author:</term>
625               <listitem>
626                 <para>Anders Carlsson &lt;anders.carlsson@linux.nu&gt;</para>
627               </listitem>
628             </varlistentry>
629             <varlistentry>
630               <term>Status:</term>
631               <listitem>
632                 <para>Development in progress.</para>
633               </listitem>
634             </varlistentry>
635           </variablelist>
636         </sect3>
637
638         <sect3>
639           <title>3.19 Toolbar Control</title>
640
641           <variablelist>
642             <varlistentry>
643               <term>Author:</term>
644               <listitem>
645                 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
646               </listitem>
647             </varlistentry>
648             <varlistentry>
649               <term>Status:</term>
650               <listitem>
651                 <para>
652                   Development in progress. Basic functionality is
653                   almost done. (dll version 4.0)
654                 </para>
655               </listitem>
656             </varlistentry>
657           </variablelist>
658         </sect3>
659
660         <sect3>
661           <title>3.20 Tooltip Control</title>
662
663           <variablelist>
664             <varlistentry>
665               <term>Author:</term>
666               <listitem>
667                 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
668               </listitem>
669             </varlistentry>
670             <varlistentry>
671               <term>Status:</term>
672               <listitem>
673                 <para>Almost finished.</para>
674               </listitem>
675             </varlistentry>
676             <varlistentry>
677               <term>Notes:</term>
678               <listitem>
679                 <para>Unicode support is incomplete
680                   (<constant>WM_NOTIFYFORMAT</constant>).</para>
681               </listitem>
682             </varlistentry>
683           </variablelist>
684         </sect3>
685
686         <sect3>
687           <title>3.21 Trackbar Control</title>
688
689           <variablelist>
690             <varlistentry>
691               <term>Author:</term>
692               <listitem>
693                 <para>
694                   Dummy written by Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;,
695                   Alex Priem &lt;alexp@sci.kun.nl&gt;
696                 </para>
697               </listitem>
698             </varlistentry>
699             <varlistentry>
700               <term>Status:</term>
701               <listitem>
702                 <para>Under construction.</para>
703               </listitem>
704             </varlistentry>
705           </variablelist>
706         </sect3>
707
708         <sect3>
709           <title>3.22 Tree View Control</title>
710
711           <variablelist>
712             <varlistentry>
713               <term>Author:</term>
714               <listitem>
715                 <para>Dummy written by Eric Kohl., Alex Priem &lt;alexp@sci.kun.nl&gt;</para>
716               </listitem>
717             </varlistentry>
718             <varlistentry>
719               <term>Status:</term>
720               <listitem>
721                 <para>Under construction.</para>
722               </listitem>
723             </varlistentry>
724           </variablelist>
725         </sect3>
726
727         <sect3>
728           <title>3.23 Updown Control</title>
729
730           <variablelist>
731             <varlistentry>
732               <term>Author:</term>
733               <listitem>
734                 <para>
735                   Original implementation by Dimitrie O. Paun.
736                   Some minor changes by Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;.
737                 </para>
738               </listitem>
739             </varlistentry>
740             <varlistentry>
741               <term>Status:</term>
742               <listitem>
743                 <para>Unknown.</para>
744               </listitem>
745             </varlistentry>
746           </variablelist>
747
748           <note>
749             <title>Notes</title>
750             <para>
751               Have a look at <filename>controls/updown.c</filename>
752               for a list of bugs and missing features.
753             </para>
754             <para>
755               The status is unknown, because I did not have a close
756               look at this control. One test-program looked quite
757               good, but in Win95's <filename>cdplayer.exe</filename>
758               the control does not show at all.
759             </para>
760             <para>
761               Any volunteers??
762             </para>
763           </note>
764         </sect3>
765       </sect2>
766
767       <sect2>
768         <title>4. Additional Information</title>
769
770         <para>
771           Has to be written...
772         </para>
773       </sect2>
774
775       <sect2>
776         <title>5. Undocumented features</title>
777
778         <para>
779           There are quite a lot of undocumented functions like:
780         </para>
781         <itemizedlist>
782           <listitem>
783             <para>DSA (Dynamic Storage Array) functions.</para>
784           </listitem>
785           <listitem>
786             <para>DPA (Dynamic Pointer Array) functions.</para>
787           </listitem>
788           <listitem>
789             <para>MRU ("Most Recently Used" List) functions.</para>
790           </listitem>
791           <listitem>
792             <para>other unknown functions.</para>
793           </listitem>
794         </itemizedlist>
795
796         <para>
797           Have a look at <filename>relay32/comctl32.spec</filename>.
798         </para>
799
800         <sect3>
801           <title>5.1 Dymnamic Storage Array (DSA)</title>
802
803           <para>
804             The DSA functions are used to store and manage dynamic
805             arrays of fixed size memory blocks. They are used by
806             <filename>TASKMAN.EXE</filename>, Explorer, IE4 and other
807             Programs and DLL's that are "parts of the Windows
808             Operating System". The implementation should be complete.
809           </para>
810           <para>
811             Have a look at the source code to get more information.
812           </para>
813         </sect3>
814
815         <sect3>
816           <title>5.2 Dynamic Pointer Array (DPA)</title>
817
818           <para>
819             Similar to the DSA functions, but they just store
820             pointers. They are used by Explorer, IE4 and other
821             Programs and DLL's that are "parts of the Windows
822             Operating System". The implementation should be complete.
823           </para>
824           <para>
825             Have a look at the source code to get more information.
826           </para>
827         </sect3>
828
829         <sect3>
830           <title>5.3 "Most Recently Used" - List (MRU)</title>
831
832           <para>
833             Only stubs are implemented to keep Explorer from bailing out.
834           </para>
835           <para>
836             No more information available at this time!
837           </para>
838         </sect3>
839
840         <sect3>
841           <title>5.4 MenuHelp</title>
842
843           <para>
844             Has to be written...
845           </para>
846         </sect3>
847
848         <sect3>
849           <title>5.5 GetEffectiveClientRect</title>
850
851           <para>
852             Has to be written...
853           </para>
854         </sect3>
855
856         <sect3>
857           <title>5.6 ShowHideMenuCtl</title>
858
859           <para>
860             The official documentation provided by MS is incomplete.
861           </para>
862
863           <variablelist>
864             <varlistentry>
865               <term><varname>lpInfo</varname>:</term>
866               <listitem>
867                 <blockquote>
868                   <para>
869                     Both values of the first pair must be the handle
870                     to the applications main menu.
871                   </para>
872                 </blockquote>
873               </listitem>
874             </varlistentry>
875           </variablelist>
876         </sect3>
877
878         <sect3>
879           <title>5.7 Other undocumented functions</title>
880
881           <para>
882             Several other undocumented functions are used by IE4.
883           </para>
884           <para>
885             String functions: (will be written...)
886           </para>
887         </sect3>
888       </sect2>
889
890       <sect2>
891         <title>6. Epilogue</title>
892
893         <para>
894           You see, much work has still to be done. If you are
895           interested in writing a control send me an e-mail. If you
896           like to fix bugs or add some functionality send an e-mail to
897           the author of the control.
898         </para>
899       </sect2>
900     </sect1>
901   </chapter>
902
903 <!-- Keep this comment at the end of the file
904 Local variables:
905 mode: sgml
906 sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "")
907 End:
908 -->