Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 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 | |
Eric Kohl | 0470222 | 1998-12-07 11:01:19 +0000 | [diff] [blame] | 28 | 2.1 Structure sizes of different common control versions |
| 29 | -------------------------------------------------------- |
| 30 | The common controls have been continously improved in the past. Some of the |
| 31 | orignal structures had to be extended and their size changed. Most of the |
| 32 | common control structures include their size as the first parameter. If |
| 33 | a control gets the wrong size in a message or function a failure is very |
| 34 | likely to occur. To avoid this, MS defined new constants that reflect the |
| 35 | structure size of older COMCTL32.DLL versions. The following list shows the |
| 36 | structure size constants that are currently defined in the original |
| 37 | COMCTL32.DLL. |
| 38 | NOTE: Some stuctures are NOT defined in wine's COMCTL32 yet. |
| 39 | |
| 40 | HDITEM_V1_SIZE: |
| 41 | The size of the HDITEM structure in version 4.00. |
| 42 | |
| 43 | LVCOLUMN_V1_SIZE: |
| 44 | The size of the LVCOLUMN structure in version 4.00. |
| 45 | |
| 46 | LVHITTESTINFO_V1_SIZE: |
| 47 | The size of the LVHITTESTINFO structure in version 4.00. |
| 48 | |
| 49 | LVITEM_V1_SIZE: |
| 50 | The size of the LVITEM structure in version 4.00. |
| 51 | |
| 52 | NMLVCUSTOMDRAW_V3_SIZE: |
| 53 | The size of the NMLVCUSTOMDRAW structure in version 4.70. |
| 54 | |
| 55 | NMTTDISPINFO_V1_SIZE: |
| 56 | The size of the NMTTDISPINFO structure in version 4.00. |
| 57 | |
| 58 | NMTVCUSTOMDRAW_V3_SIZE: |
| 59 | The size of the NMTVCUSTOMDRAW structure in version 4.70. |
| 60 | |
| 61 | PROPSHEETHEADER_V1_SIZE: |
| 62 | The size of the PROPSHEETHEADER structure in version 4.00. |
| 63 | |
| 64 | PROPSHEETPAGE_V1_SIZE: |
| 65 | The size of the PROPSHEETPAGE structure in version 4.00. |
| 66 | |
| 67 | REBARBANDINFO_V3_SIZE: |
| 68 | The size of the REBARBANDINFO structure in version 4.70. |
| 69 | |
| 70 | TTTOOLINFO_V1_SIZE: |
| 71 | The size of the TOOLINFO structure in version 4.00. |
| 72 | |
| 73 | TVINSERTSTRUCT_V1_SIZE: |
| 74 | The size of the TVINSERTSTRUCT structure in version 4.00. |
| 75 | |
| 76 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 77 | 3. Controls |
| 78 | ----------- |
| 79 | This paragraph describes the development status of the common controls. |
| 80 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 81 | |
| 82 | 3.1 Animation Control |
| 83 | --------------------- |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 84 | Author: |
| 85 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
| 86 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 87 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 88 | Dummy control. No functionality. |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 89 | |
| 90 | Notes: |
| 91 | Author needed!! Any volunteers?? |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 92 | |
| 93 | |
| 94 | 3.2 Combo Box Ex Control |
| 95 | ------------------------ |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 96 | Author: |
| 97 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
| 98 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 99 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 100 | Dummy control. No functionality. |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 101 | |
| 102 | Notes: |
| 103 | Author needed!! Any volunteers?? |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 104 | |
| 105 | |
| 106 | 3.3 Date and Time Picker Control |
| 107 | -------------------------------- |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 108 | Author: |
| 109 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
| 110 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 111 | Status: |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 112 | Dummy control. No functionality. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 113 | |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 114 | Notes: |
| 115 | Author needed!! Any volunteers?? |
| 116 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 117 | |
| 118 | 3.4 Drag List Box Control |
| 119 | ------------------------- |
| 120 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 121 | Nothing done at all. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 122 | |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 123 | Notes: |
| 124 | Author needed!! Any volunteers?? |
| 125 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 126 | |
| 127 | 3.5 Flat Scroll Bar Control |
| 128 | --------------------------- |
| 129 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 130 | Nothing done at all. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 131 | |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 132 | Notes: |
| 133 | Author needed!! Any volunteers?? |
| 134 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 135 | |
| 136 | 3.6 Header Control |
| 137 | ------------------ |
| 138 | Author: |
| 139 | Eric Kohl <ekohl@abo.rhein-zeitung.de> |
| 140 | |
| 141 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 142 | Almost finished. |
Eric Kohl | 0b61d02 | 1998-11-22 18:16:22 +0000 | [diff] [blame] | 143 | Unicode notifications are not supported (WM_NOTIFYFORMAT). |
| 144 | Order array not supported. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 145 | |
| 146 | |
| 147 | 3.7 Hot Key Control |
| 148 | ------------------- |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 149 | Author: |
| 150 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
| 151 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 152 | Status: |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 153 | Dummy control. No functionality. |
| 154 | |
| 155 | Notes: |
| 156 | Author needed!! Any volunteers?? |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 157 | |
| 158 | |
| 159 | 3.8 Image List (no control) |
| 160 | --------------------------- |
| 161 | Author: |
| 162 | Eric Kohl <ekohl@abo.rhein-zeitung.de> |
| 163 | |
| 164 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 165 | Almost finished. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 166 | |
| 167 | |
| 168 | 3.9 IP Address Control |
| 169 | ---------------------- |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 170 | Author: |
| 171 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
| 172 | Alex Priem <alexp@sci.kun.nl> |
| 173 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 174 | Status: |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 175 | Under construction. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 176 | |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 177 | Notes: |
| 178 | Author needed!! Any volunteers?? |
| 179 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 180 | |
| 181 | 3.10 List View Control |
| 182 | ---------------------- |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 183 | Author: |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 184 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
Eric Kohl | 98dfbe1 | 1998-10-11 13:03:36 +0000 | [diff] [blame] | 185 | Ben Williams <biwillia@shrug.isdn.uiuc.edu> |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 186 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 187 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 188 | Under construction. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 189 | |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 190 | Notes: |
| 191 | Author needed!! Any volunteers?? |
| 192 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 193 | |
| 194 | 3.11 Month Calendar Control |
| 195 | --------------------------- |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 196 | Author: |
| 197 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
| 198 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 199 | Status: |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 200 | Dummy control. No functionality. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 201 | |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 202 | Notes: |
| 203 | Author needed!! Any volunteers?? |
| 204 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 205 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 206 | 3.12 Native font control |
| 207 | ------------------------ |
Eric Kohl | 0b61d02 | 1998-11-22 18:16:22 +0000 | [diff] [blame] | 208 | Author: |
| 209 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
| 210 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 211 | Status: |
Eric Kohl | 0b61d02 | 1998-11-22 18:16:22 +0000 | [diff] [blame] | 212 | Dummy control. No functionality. |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 213 | |
| 214 | Notes: |
| 215 | Author needed!! Any volunteers?? |
| 216 | |
| 217 | |
| 218 | 3.13 Pager Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 219 | ------------------ |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 220 | Author: |
Eric Kohl | 0b61d02 | 1998-11-22 18:16:22 +0000 | [diff] [blame] | 221 | Dummy written by Eric Kohl. <ekohl@abo.rhein-zeitung.de> |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 222 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 223 | Status: |
Eric Kohl | 0b61d02 | 1998-11-22 18:16:22 +0000 | [diff] [blame] | 224 | Under construction. |
| 225 | Many missing features. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 226 | |
| 227 | Notes: |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 228 | Author needed!! Any volunteers?? |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 229 | |
| 230 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 231 | 3.14 Progress Bar Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 232 | ------------------------- |
| 233 | Author: |
| 234 | Original implementation by Dimitrie O. Paun. |
| 235 | Fixes and improvements by Eric Kohl. |
| 236 | |
| 237 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 238 | Almost finished (should behave like the original). |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 239 | |
| 240 | Notes: |
| 241 | WM_GETFONT and WM_SETFONT are not implemented yet. They seem to be |
| 242 | useless because progress bars usually don't display any textual |
| 243 | information. But if M$ implemented an undocumented flag to display |
| 244 | textual information (e.g. percentage) these messages would make sense. |
| 245 | |
| 246 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 247 | 3.15 Property Sheet |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 248 | ------------------- |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 249 | Author: |
| 250 | Anders Carlsson <anders.carlsson@linux.nu> |
| 251 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 252 | Status: |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 253 | - Development in progress. |
| 254 | - Not yet published. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 255 | |
| 256 | Notes: |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 257 | Tab control must be implemented first. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 258 | |
| 259 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 260 | 3.16 Rebar Control (Cool Bar) |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 261 | ----------------------------- |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 262 | Author: |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 263 | Eric Kohl <ekohl@abo.rhein-zeitung.de> |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 264 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 265 | Status: |
Eric Kohl | 3ad6746 | 1998-10-24 10:48:31 +0000 | [diff] [blame] | 266 | Development in progress. |
| 267 | Many bugs and missing features. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 268 | |
| 269 | Notes: |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 270 | Author needed!! Any volunteers?? |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 271 | |
| 272 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 273 | 3.17 Status Bar Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 274 | ----------------------- |
| 275 | Author: |
| 276 | Original implementation by Bruce Milner. |
| 277 | Fixes and improvements by Eric Kohl. |
| 278 | |
| 279 | Status: |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 280 | Almost finished. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 281 | |
| 282 | Notes: |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 283 | - Tooltip integration is almost complete. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 284 | |
| 285 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 286 | 3.18 Tab Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 287 | ---------------- |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 288 | Author: |
| 289 | Anders Carlsson <anders.carlsson@linux.nu> |
| 290 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 291 | Status: |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 292 | - Development in progress. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 293 | |
| 294 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 295 | 3.19 Toolbar Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 296 | -------------------- |
| 297 | Author: |
| 298 | Eric Kohl <ekohl@abo.rhein-zeitung.de> |
| 299 | |
| 300 | Status: |
| 301 | - Development in progress. |
| 302 | - Basic functionality is almost done. (dll version 4.0) |
| 303 | |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 304 | Notes: |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 305 | - Bitmaps are not correctly displayed. |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 306 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 307 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 308 | 3.20 Tooltip Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 309 | -------------------- |
| 310 | Author: |
| 311 | Eric Kohl <ekohl@abo.rhein-zeitung.de> |
| 312 | |
| 313 | Status: |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 314 | - Almost finished. |
Alexandre Julliard | 642d313 | 1998-07-12 19:29:36 +0000 | [diff] [blame] | 315 | |
Alexandre Julliard | 767e6f6 | 1998-08-09 12:47:43 +0000 | [diff] [blame] | 316 | Notes: |
| 317 | - Unicode support is still missing. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 318 | |
| 319 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 320 | 3.21 Trackbar Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 321 | --------------------- |
| 322 | Author: |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 323 | Dummy written by Eric Kohl <ekohl@abo.rhein-zeitung.de> |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 324 | Alex Priem <alexp@sci.kun.nl> |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 325 | |
| 326 | Status: |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 327 | Under construction. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 328 | |
| 329 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 330 | 3.22 Tree View Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 331 | ---------------------- |
Alexandre Julliard | 829fe32 | 1998-07-26 14:27:39 +0000 | [diff] [blame] | 332 | Author: |
| 333 | Dummy written by Eric Kohl. |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 334 | Alex Priem <alexp@sci.kun.nl> |
Alexandre Julliard | 829fe32 | 1998-07-26 14:27:39 +0000 | [diff] [blame] | 335 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 336 | Status: |
Eric Kohl | 0b61d02 | 1998-11-22 18:16:22 +0000 | [diff] [blame] | 337 | Under construction. |
Alexandre Julliard | 829fe32 | 1998-07-26 14:27:39 +0000 | [diff] [blame] | 338 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 339 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 340 | 3.23 Updown Control |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 341 | ------------------- |
| 342 | Author: |
| 343 | Original implementation by Dimitrie O. Paun. |
| 344 | Some minor changes by Eric Kohl <ekohl@abo.rhein-zeitung.de>. |
| 345 | |
| 346 | Status: |
| 347 | - Unknown. |
| 348 | |
| 349 | Notes: |
| 350 | - Have a look at controls/updown.c for a list of bugs and missing |
| 351 | features. |
| 352 | |
| 353 | - The status is unknown, because I did not have a close look at this |
| 354 | control. One test-program looked quite good, but in Win95's |
| 355 | cdplayer.exe the control does not show at all. |
| 356 | |
| 357 | Any volunteers?? |
| 358 | |
| 359 | |
| 360 | 4. Additional Information |
| 361 | ------------------------- |
| 362 | |
| 363 | Has to be written... |
| 364 | |
| 365 | |
| 366 | 5. Undocumented features |
| 367 | ------------------------ |
| 368 | |
| 369 | There are quite a lot of undocumented functions like: |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 370 | - DSA (Dynnamic Storage Array) functions. |
| 371 | - DPA (Dymnamic Pointer Array) functions. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 372 | - MRU ("Most Recently Used" List) functions. |
| 373 | - other unknown functions. |
| 374 | |
| 375 | Have a look at relay32/comctl32.spec. |
| 376 | |
| 377 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 378 | 5.1 Dymnamic Storage Array (DSA) |
Alexandre Julliard | a0d7731 | 1998-09-13 16:32:00 +0000 | [diff] [blame] | 379 | --------------------------------- |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 380 | The DSA functions are used to store and manage dynamic arrays of fixed size |
| 381 | memory blocks. They are used by TASKMAN.EXE, Explorer, IE4 and other |
| 382 | Programs and DLL's that are "parts of the Windows Operating System". |
| 383 | The implementation should be complete. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 384 | |
| 385 | Have a look at the source code to get more information. |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 386 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 387 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 388 | 5.2 Dynamic Pointer Array (DPA) |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 389 | ------------------------------------ |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 390 | Similar to the DSA functions, but they just store pointers. They are used by |
| 391 | Explorer, IE4 and other Programs and DLL's that are "parts of the Windows |
| 392 | Operating System". The implementation should be complete. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 393 | |
| 394 | Have a look at the source code to get more information. |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 395 | |
| 396 | |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 397 | 5.3 "Most Recently Used" - List (MRU) |
| 398 | ------------------------------------- |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 399 | The function 'COMCTL32_157()' could be called 'CreateMRUListEx32A()'. |
| 400 | Only stubs are implemented to keep Explorer from bailing out. |
| 401 | |
| 402 | No more information available at this time! |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 403 | |
| 404 | |
| 405 | 5.4 MenuHelp |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 406 | ------------ |
| 407 | Has to be written... |
| 408 | |
| 409 | |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 410 | 5.5 GetEffectiveClientRect |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 411 | -------------------------- |
| 412 | Has to be written... |
| 413 | |
| 414 | |
Alexandre Julliard | 85ed45e | 1998-08-22 19:03:56 +0000 | [diff] [blame] | 415 | 5.6 ShowHideMenuCtl |
| 416 | ------------------- |
| 417 | The official documentation provided by MS is incomplete. |
| 418 | |
| 419 | lpInfo: |
| 420 | ... |
| 421 | Both values of the first pair must be the handle to the applications main |
| 422 | menu. |
| 423 | ... |
| 424 | |
| 425 | |
Alexandre Julliard | d30dfd2 | 1998-09-27 18:28:36 +0000 | [diff] [blame] | 426 | 5.7 Other undocumented functions |
| 427 | -------------------------------- |
| 428 | Several other undocumented functions are used by IE4. |
| 429 | |
| 430 | COMCTL32_11, COMCTL_385, COMCTL32_386 and COMCTL32_388. |
| 431 | Their stubs are implemented to keep IE4 from bailing out. |
| 432 | |
| 433 | |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 434 | 6. Epilogue |
| 435 | ----------- |
| 436 | You see, much work has still to be done. If you are interested in writing |
| 437 | a control send me an e-mail. If you like to fix bugs or add some |
| 438 | functionality send an e-mail to the author of the control. |
| 439 | |
Eric Kohl | f280961 | 1998-11-08 11:36:04 +0000 | [diff] [blame] | 440 | |
| 441 | Eric Kohl <ekohl@abo.rhein-zeitung.de> |
Alexandre Julliard | ebfc0fe | 1998-06-28 18:40:26 +0000 | [diff] [blame] | 442 | |