Differences From Artifact [6ba0cccf1cb3b0a8]:
- File
src/win32/commctrl.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [4681e85cdf159780]:
- File
src/win32/commctrl.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
1 +/***********************************************************************\
2 +* commctrl.d *
3 +* *
4 +* Windows API header module *
5 +* *
6 +* Translated from MinGW API for MS-Windows 3.12 *
7 +* *
8 +* Placed into public domain *
9 +\***********************************************************************/
1 10 module win32.commctrl;
2 -
3 -// Translated from Microsoft Platform SDK August 2001 Edition
4 -// by Y.Tomino (demoonlit@inter7.jp)
5 -
6 -import win32.winuser;
7 -alias void _PSP;
8 -alias void _IMAGELIST;
9 -alias void _TREEITEM;
10 -alias LPTBSAVEPARAMW LPTBSAVEPARAMSW;
11 -alias PCCOMBOEXITEMA PCCOMBOBOXEXITEMA;
12 -alias PCCOMBOEXITEMW PCCOMBOBOXEXITEMW;
13 -enum : uint {
14 - NM_FIRST = 0,
15 - SB_SETTIPTEXTA = WM_USER + 16,
16 - SB_SETTIPTEXTW = WM_USER + 17,
17 - SB_GETTIPTEXTA = WM_USER + 18,
18 - SB_GETTIPTEXTW = WM_USER + 19,
19 - TVHT_ONITEMSTATEICON = 0x0040,
20 - CBEN_FIRST = 0U - 800U,
21 - CBEN_GETDISPINFOA = CBEN_FIRST - 0,
22 - CBEN_GETDISPINFOW = CBEN_FIRST - 7
23 -}
24 -// inline #include <prsht.h>
25 -// ----
26 -
27 -// #ifndef _PRSHT_H_
28 -// #define _PRSHT_H_
29 -
30 -// #ifndef _WINRESRC_
31 -// #ifndef _WIN32_IE
32 -// #...
33 -// #else
34 -// #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500)
35 -// #...
36 -// #endif
37 -// #endif
38 -// #endif
39 -
40 -// #ifndef WINCOMMCTRLAPI
41 -// #if !defined(_COMCTL32_) && defined(_WIN32)
42 -// #define WINCOMMCTRLAPI DECLSPEC_IMPORT
43 -// #else
44 -// #...
45 -// #endif
46 -// #endif // WINCOMMCTRLAPI
47 -
48 -// #ifndef CCSIZEOF_STRUCT
49 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member))
50 -// #endif
51 -
52 -// #ifndef DUMMYUNIONNAME
53 -// #ifdef NONAMELESSUNION
54 -// #...
55 -// #...
56 -// #...
57 -// #...
58 -// #...
59 -// #else
60 -// #define DUMMYUNIONNAME
61 -// #define DUMMYUNIONNAME2
62 -// #define DUMMYUNIONNAME3
63 -// #define DUMMYUNIONNAME4
64 -// #define DUMMYUNIONNAME5
65 -// #endif
66 -// #endif // DUMMYUNIONNAME
67 -
68 -// #ifdef _WIN64
69 -// #...
70 -// #else
71 -align(4):
72 -// #endif
73 -
74 -// #ifdef __cplusplus
75 -// extern "C" {
76 -// #endif
77 -
78 -// #ifndef SNDMSG
79 -// #ifdef __cplusplus
80 -// #ifndef _MAC
81 -// #define SNDMSG ::SendMessage
82 -// #else
83 -// #...
84 -// #endif
85 -// #else
86 -// #ifndef _MAC
87 -// #...
88 -// #else
89 -// #...
90 -// #endif
91 -// #endif
92 -// #endif // ifndef SNDMSG
93 -
94 -enum : uint { MAXPROPPAGES = 100 }
95 -
96 -// struct _PSP;
97 -alias _PSP* HPROPSHEETPAGE;
98 -
99 -// #ifndef MIDL_PASS
100 -// struct _PROPSHEETPAGEA;
101 -// struct _PROPSHEETPAGEW;
102 -// #endif
103 -
104 -extern(Windows) alias UINT function(HWND hwnd, UINT uMsg, _PROPSHEETPAGEA *ppsp) LPFNPSPCALLBACKA;
105 -extern(Windows) alias UINT function(HWND hwnd, UINT uMsg, _PROPSHEETPAGEW *ppsp) LPFNPSPCALLBACKW;
106 -
107 -// #ifdef UNICODE
108 -alias LPFNPSPCALLBACKW LPFNPSPCALLBACK;
109 -// #else
110 -// #...
111 -// #endif
112 -
113 -enum : uint { PSP_DEFAULT = 0x00000000 }
114 -enum : uint { PSP_DLGINDIRECT = 0x00000001 }
115 -enum : uint { PSP_USEHICON = 0x00000002 }
116 -enum : uint { PSP_USEICONID = 0x00000004 }
117 -enum : uint { PSP_USETITLE = 0x00000008 }
118 -enum : uint { PSP_RTLREADING = 0x00000010 }
119 -
120 -enum : uint { PSP_HASHELP = 0x00000020 }
121 -enum : uint { PSP_USEREFPARENT = 0x00000040 }
122 -enum : uint { PSP_USECALLBACK = 0x00000080 }
123 -enum : uint { PSP_PREMATURE = 0x00000400 }
124 -
125 -// #if (_WIN32_IE >= 0x0400)
126 -
127 -enum : uint { PSP_HIDEHEADER = 0x00000800 }
128 -enum : uint { PSP_USEHEADERTITLE = 0x00001000 }
129 -enum : uint { PSP_USEHEADERSUBTITLE = 0x00002000 }
130 -
131 -// #endif
132 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED
133 -enum : uint { PSP_USEFUSIONCONTEXT = 0x00004000 }
134 -// #endif
135 -
136 -// #if (_WIN32_IE >= 0x0500)
137 -enum : uint { PSPCB_ADDREF = 0 }
138 -// #endif
139 -enum : uint { PSPCB_RELEASE = 1 }
140 -enum : uint { PSPCB_CREATE = 2 }
141 -
142 -// #define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent)
143 -// #define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent)
144 -
145 -// #define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pszHeaderSubTitle)
146 -// #define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pszHeaderSubTitle)
147 -
148 -// #ifdef _WIN32
149 -alias LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE;
150 -// #else
151 -// ...
152 -// #endif
153 -
154 -// #define PROPSHEETPAGEA_V1_FIELDS DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } DUMMYUNIONNAME; union { HICON hIcon; LPCSTR pszIcon; } DUMMYUNIONNAME2; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent;
155 -// #define PROPSHEETPAGEW_V1_FIELDS DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } DUMMYUNIONNAME; union { HICON hIcon; LPCWSTR pszIcon; } DUMMYUNIONNAME2; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent;
156 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED
157 -alias _PROPSHEETPAGEA_V3 _PROPSHEETPAGEA;
158 -alias _PROPSHEETPAGEW_V3 _PROPSHEETPAGEW;
159 -// #elif (_WIN32_IE >= 0x0400)
160 -// #...
161 -// #...
162 -// #else
163 -// #...
164 -// #...
165 -// #endif
166 -
167 -struct _PROPSHEETPAGEA_V1 {
168 - DWORD dwSize;
169 - DWORD dwFlags;
170 - HINSTANCE hInstance;
171 - union {
172 - LPCSTR pszTemplate;
173 - PROPSHEETPAGE_RESOURCE pResource;
174 - }
175 - union {
176 - HICON hIcon;
177 - LPCSTR pszIcon;
178 - }
179 - LPCSTR pszTitle;
180 - DLGPROC pfnDlgProc;
181 - LPARAM lParam;
182 - LPFNPSPCALLBACKA pfnCallback;
183 - UINT* pcRefParent;
184 -}
185 -alias _PROPSHEETPAGEA_V1 PROPSHEETPAGEA_V1;
186 -alias _PROPSHEETPAGEA_V1* LPPROPSHEETPAGEA_V1;
187 -
188 -alias PROPSHEETPAGEA_V1* LPCPROPSHEETPAGEA_V1;
189 -
190 -struct _PROPSHEETPAGEA_V2 {
191 - DWORD dwSize;
192 - DWORD dwFlags;
193 - HINSTANCE hInstance;
194 - union {
195 - LPCSTR pszTemplate;
196 - PROPSHEETPAGE_RESOURCE pResource;
197 - }
198 - union {
199 - HICON hIcon;
200 - LPCSTR pszIcon;
201 - }
202 - LPCSTR pszTitle;
203 - DLGPROC pfnDlgProc;
204 - LPARAM lParam;
205 - LPFNPSPCALLBACKA pfnCallback;
206 - UINT* pcRefParent;
207 -
208 - LPCSTR pszHeaderTitle;
209 - LPCSTR pszHeaderSubTitle;
210 -}
211 -alias _PROPSHEETPAGEA_V2 PROPSHEETPAGEA_V2;
212 -alias _PROPSHEETPAGEA_V2* LPPROPSHEETPAGEA_V2;
213 -
214 -alias PROPSHEETPAGEA_V2* LPCPROPSHEETPAGEA_V2;
215 -
216 -struct _PROPSHEETPAGEA_V3 {
217 - DWORD dwSize;
218 - DWORD dwFlags;
219 - HINSTANCE hInstance;
220 - union {
221 - LPCSTR pszTemplate;
222 - PROPSHEETPAGE_RESOURCE pResource;
223 - }
224 - union {
225 - HICON hIcon;
226 - LPCSTR pszIcon;
227 - }
228 - LPCSTR pszTitle;
229 - DLGPROC pfnDlgProc;
230 - LPARAM lParam;
231 - LPFNPSPCALLBACKA pfnCallback;
232 - UINT* pcRefParent;
233 -
234 - LPCSTR pszHeaderTitle;
235 - LPCSTR pszHeaderSubTitle;
236 -
237 - HANDLE hActCtx;
238 -}
239 -alias _PROPSHEETPAGEA_V3 PROPSHEETPAGEA_V3;
240 -alias _PROPSHEETPAGEA_V3* LPPROPSHEETPAGEA_V3;
241 -
242 -alias PROPSHEETPAGEA_V3* LPCPROPSHEETPAGEA_V3;
243 -
244 -struct _PROPSHEETPAGEW_V1 {
245 - DWORD dwSize;
246 - DWORD dwFlags;
247 - HINSTANCE hInstance;
248 - union {
249 - LPCWSTR pszTemplate;
250 - PROPSHEETPAGE_RESOURCE pResource;
251 - }
252 - union {
253 - HICON hIcon;
254 - LPCWSTR pszIcon;
255 - }
256 - LPCWSTR pszTitle;
257 - DLGPROC pfnDlgProc;
258 - LPARAM lParam;
259 - LPFNPSPCALLBACKW pfnCallback;
260 - UINT* pcRefParent;
261 -}
262 -alias _PROPSHEETPAGEW_V1 PROPSHEETPAGEW_V1;
263 -alias _PROPSHEETPAGEW_V1* LPPROPSHEETPAGEW_V1;
264 -
265 -alias PROPSHEETPAGEW_V1* LPCPROPSHEETPAGEW_V1;
266 -
267 -struct _PROPSHEETPAGEW_V2 {
268 - DWORD dwSize;
269 - DWORD dwFlags;
270 - HINSTANCE hInstance;
271 - union {
272 - LPCWSTR pszTemplate;
273 - PROPSHEETPAGE_RESOURCE pResource;
274 - }
275 - union {
276 - HICON hIcon;
277 - LPCWSTR pszIcon;
278 - }
279 - LPCWSTR pszTitle;
280 - DLGPROC pfnDlgProc;
281 - LPARAM lParam;
282 - LPFNPSPCALLBACKW pfnCallback;
283 - UINT* pcRefParent;
284 -
285 - LPCWSTR pszHeaderTitle;
286 - LPCWSTR pszHeaderSubTitle;
287 -}
288 -alias _PROPSHEETPAGEW_V2 PROPSHEETPAGEW_V2;
289 -alias _PROPSHEETPAGEW_V2* LPPROPSHEETPAGEW_V2;
290 -
291 -alias PROPSHEETPAGEW_V2* LPCPROPSHEETPAGEW_V2;
292 -
293 -struct _PROPSHEETPAGEW_V3 {
294 - DWORD dwSize;
295 - DWORD dwFlags;
296 - HINSTANCE hInstance;
297 - union {
298 - LPCWSTR pszTemplate;
299 - PROPSHEETPAGE_RESOURCE pResource;
300 - }
301 - union {
302 - HICON hIcon;
303 - LPCWSTR pszIcon;
304 - }
305 - LPCWSTR pszTitle;
306 - DLGPROC pfnDlgProc;
307 - LPARAM lParam;
308 - LPFNPSPCALLBACKW pfnCallback;
309 - UINT* pcRefParent;
310 -
311 - LPCWSTR pszHeaderTitle;
312 - LPCWSTR pszHeaderSubTitle;
313 -
314 - HANDLE hActCtx;
315 -}
316 -alias _PROPSHEETPAGEW_V3 PROPSHEETPAGEW_V3;
317 -alias _PROPSHEETPAGEW_V3* LPPROPSHEETPAGEW_V3;
318 -
319 -alias PROPSHEETPAGEW_V3* LPCPROPSHEETPAGEW_V3;
320 -
321 -alias PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST;
322 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST;
323 -alias LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST;
324 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST;
325 -alias LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST;
326 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST;
327 -
328 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED
329 -alias PROPSHEETPAGEA_V3 PROPSHEETPAGEA;
330 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGEW;
331 -alias LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA;
332 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW;
333 -alias LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA;
334 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW;
335 -// #elif (_WIN32_IE >= 0x0400)
336 -// ...
337 -// #else
338 -// ...
339 -// #endif
340 -
341 -// #if 0 // IEUNIX reserved.
342 -
343 -// #if __STDC__ || defined (NONAMELESSUNION)
344 -// #...
345 -// #else
346 -// #...
347 -// #endif
348 -// #endif
349 -
350 -// #ifdef UNICODE
351 -alias PROPSHEETPAGEW PROPSHEETPAGE;
352 -alias LPPROPSHEETPAGEW LPPROPSHEETPAGE;
353 -alias LPCPROPSHEETPAGEW LPCPROPSHEETPAGE;
354 -// #define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEW_V1_SIZE
355 -// #define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEW_V2_SIZE
356 -alias PROPSHEETPAGEW_V1 PROPSHEETPAGE_V1;
357 -alias LPPROPSHEETPAGEW_V1 LPPROPSHEETPAGE_V1;
358 -alias LPCPROPSHEETPAGEW_V1 LPCPROPSHEETPAGE_V1;
359 -alias PROPSHEETPAGEW_V2 PROPSHEETPAGE_V2;
360 -alias LPPROPSHEETPAGEW_V2 LPPROPSHEETPAGE_V2;
361 -alias LPCPROPSHEETPAGEW_V2 LPCPROPSHEETPAGE_V2;
362 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGE_V3;
363 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGE_V3;
364 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGE_V3;
365 -alias PROPSHEETPAGEW_LATEST PROPSHEETPAGE_LATEST;
366 -alias LPPROPSHEETPAGEW_LATEST LPPROPSHEETPAGE_LATEST;
367 -alias LPCPROPSHEETPAGEW_LATEST LPCPROPSHEETPAGE_LATEST;
368 -// #else
369 -// #...
370 -// #...
371 -// #...
372 -// #...
373 -// #...
374 -// #...
375 -// #...
376 -// #...
377 -// #...
378 -// #...
379 -// #...
380 -// #...
381 -// #...
382 -// #...
383 -// #...
384 -// #...
385 -// #...
386 -// #endif
387 -
388 -enum : uint { PSH_DEFAULT = 0x00000000 }
389 -enum : uint { PSH_PROPTITLE = 0x00000001 }
390 -enum : uint { PSH_USEHICON = 0x00000002 }
391 -enum : uint { PSH_USEICONID = 0x00000004 }
392 -enum : uint { PSH_PROPSHEETPAGE = 0x00000008 }
393 -enum : uint { PSH_WIZARDHASFINISH = 0x00000010 }
394 -enum : uint { PSH_WIZARD = 0x00000020 }
395 -enum : uint { PSH_USEPSTARTPAGE = 0x00000040 }
396 -enum : uint { PSH_NOAPPLYNOW = 0x00000080 }
397 -enum : uint { PSH_USECALLBACK = 0x00000100 }
398 -enum : uint { PSH_HASHELP = 0x00000200 }
399 -enum : uint { PSH_MODELESS = 0x00000400 }
400 -enum : uint { PSH_RTLREADING = 0x00000800 }
401 -enum : uint { PSH_WIZARDCONTEXTHELP = 0x00001000 }
402 -
403 -// #if (_WIN32_IE >= 0x0400)
404 -
405 -// #if (_WIN32_IE < 0x0500)
406 -// #...
407 -// #else
408 -enum : uint { PSH_WIZARD97 = 0x01000000 }
409 -// #endif
410 -
411 -enum : uint { PSH_WATERMARK = 0x00008000 }
412 -enum : uint { PSH_USEHBMWATERMARK = 0x00010000 }
413 -enum : uint { PSH_USEHPLWATERMARK = 0x00020000 }
414 -enum : uint { PSH_STRETCHWATERMARK = 0x00040000 }
415 -enum : uint { PSH_HEADER = 0x00080000 }
416 -enum : uint { PSH_USEHBMHEADER = 0x00100000 }
417 -enum : uint { PSH_USEPAGELANG = 0x00200000 }
418 -
419 -// #endif
420 -
421 -// #if (_WIN32_IE >= 0x0500)
422 -
423 -enum : uint { PSH_WIZARD_LITE = 0x00400000 }
424 -enum : uint { PSH_NOCONTEXTHELP = 0x02000000 }
425 -
426 -// #endif
427 -
428 -extern(Windows) alias int function(HWND, UINT, LPARAM) PFNPROPSHEETCALLBACK;
429 -
430 -// #define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback)
431 -// #define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback)
432 -
433 -// #define PROPSHEETHEADERA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, DUMMYUNION5_MEMBER(hbmHeader))
434 -// #define PROPSHEETHEADERW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, DUMMYUNION5_MEMBER(hbmHeader))
435 -
436 -struct _PROPSHEETHEADERA {
437 - DWORD dwSize;
438 - DWORD dwFlags;
439 - HWND hwndParent;
440 - HINSTANCE hInstance;
441 -union {
442 - HICON hIcon;
443 - LPCSTR pszIcon;
444 -}
445 -
446 - LPCSTR pszCaption;
447 - UINT nPages;
448 -union {
449 - UINT nStartPage;
450 - LPCSTR pStartPage;
451 -}
452 -
453 -union {
454 - LPCPROPSHEETPAGEA ppsp;
455 - HPROPSHEETPAGE *phpage;
456 -}
457 -
458 - PFNPROPSHEETCALLBACK pfnCallback;
459 -// #if (_WIN32_IE >= 0x0400)
460 -union {
461 - HBITMAP hbmWatermark;
462 - LPCSTR pszbmWatermark;
463 -}
464 -
465 - HPALETTE hplWatermark;
466 -union {
467 - HBITMAP hbmHeader;
468 - LPCSTR pszbmHeader;
469 -}
470 -
471 -// #endif
472 -}
473 -alias _PROPSHEETHEADERA PROPSHEETHEADERA;
474 -alias _PROPSHEETHEADERA* LPPROPSHEETHEADERA;
475 -
476 -alias PROPSHEETHEADERA* LPCPROPSHEETHEADERA;
477 -
478 -struct _PROPSHEETHEADERW {
479 - DWORD dwSize;
480 - DWORD dwFlags;
481 - HWND hwndParent;
482 - HINSTANCE hInstance;
483 -union {
484 - HICON hIcon;
485 - LPCWSTR pszIcon;
486 -}
487 -
488 - LPCWSTR pszCaption;
489 - UINT nPages;
490 -union {
491 - UINT nStartPage;
492 - LPCWSTR pStartPage;
493 -}
494 -
495 -union {
496 - LPCPROPSHEETPAGEW ppsp;
497 - HPROPSHEETPAGE *phpage;
498 -}
499 -
500 - PFNPROPSHEETCALLBACK pfnCallback;
501 -// #if (_WIN32_IE >= 0x0400)
502 -union {
503 - HBITMAP hbmWatermark;
504 - LPCWSTR pszbmWatermark;
505 -}
506 -
507 - HPALETTE hplWatermark;
508 -union {
509 - HBITMAP hbmHeader;
510 - LPCWSTR pszbmHeader;
511 -}
512 -
513 -// #endif
514 -}
515 -alias _PROPSHEETHEADERW PROPSHEETHEADERW;
516 -alias _PROPSHEETHEADERW* LPPROPSHEETHEADERW;
517 -
518 -alias PROPSHEETHEADERW* LPCPROPSHEETHEADERW;
519 -
520 -// #if 0 //IEUNIX reserved.
521 -
522 -// #if __STDC__ || defined (NONAMELESSUNION)
523 -// #...
524 -// #...
525 -// #else
526 -// #...
527 -// #...
528 -// #endif
529 -// #endif
530 -
531 -// #ifdef UNICODE
532 -alias PROPSHEETHEADERW PROPSHEETHEADER;
533 -alias LPPROPSHEETHEADERW LPPROPSHEETHEADER;
534 -alias LPCPROPSHEETHEADERW LPCPROPSHEETHEADER;
535 -// #define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERW_V1_SIZE
536 -// #define PROPSHEETHEADER_V2_SIZE PROPSHEETHEADERW_V2_SIZE
537 -// #else
538 -// #...
539 -// #...
540 -// #...
541 -// #...
542 -// #...
543 -// #endif
544 -
545 -enum : uint { PSCB_INITIALIZED = 1 }
546 -enum : uint { PSCB_PRECREATE = 2 }
547 -
548 -// #if (_WIN32_IE >= 0x560)
549 -
550 -enum : uint { PSCB_BUTTONPRESSED = 3 }
551 -// #endif // _WIN32_IE >= 0x560
552 -
553 -extern(Windows) export HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer);
554 -extern(Windows) export HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer);
555 -extern(Windows) export BOOL DestroyPropertySheetPage(HPROPSHEETPAGE);
556 -
557 -extern(Windows) export INT_PTR PropertySheetA(LPCPROPSHEETHEADERA);
558 -
559 -extern(Windows) export INT_PTR PropertySheetW(LPCPROPSHEETHEADERW);
560 -
561 -// #ifdef UNICODE
562 -alias CreatePropertySheetPageW CreatePropertySheetPage;
563 -alias PropertySheetW PropertySheet;
564 -// #else
565 -// #...
566 -// #...
567 -// #endif
568 -
569 -extern(Windows) alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE;
570 -extern(Windows) alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGES;
571 -
572 -struct _PSHNOTIFY {
573 - NMHDR hdr;
574 - LPARAM lParam;
575 -}
576 -alias _PSHNOTIFY PSHNOTIFY;
577 -alias _PSHNOTIFY* LPPSHNOTIFY;
578 -
579 -enum : uint { PSN_FIRST = 0U-200U }
580 -enum : uint { PSN_LAST = 0U-299U }
581 -
582 -enum : uint { PSN_SETACTIVE = PSN_FIRST-0 }
583 -enum : uint { PSN_KILLACTIVE = PSN_FIRST-1 }
584 -
585 -enum : uint { PSN_APPLY = PSN_FIRST-2 }
586 -enum : uint { PSN_RESET = PSN_FIRST-3 }
587 -
588 -enum : uint { PSN_HELP = PSN_FIRST-5 }
589 -enum : uint { PSN_WIZBACK = PSN_FIRST-6 }
590 -enum : uint { PSN_WIZNEXT = PSN_FIRST-7 }
591 -enum : uint { PSN_WIZFINISH = PSN_FIRST-8 }
592 -enum : uint { PSN_QUERYCANCEL = PSN_FIRST-9 }
593 -// #if (_WIN32_IE >= 0x0400)
594 -enum : uint { PSN_GETOBJECT = PSN_FIRST-10 }
595 -// #endif // 0x0400
596 -// #if (_WIN32_IE >= 0x0500)
597 -enum : uint { PSN_TRANSLATEACCELERATOR = PSN_FIRST-12 }
598 -enum : uint { PSN_QUERYINITIALFOCUS = PSN_FIRST-13 }
599 -// #endif // 0x0500
600 -
601 -enum : uint { PSNRET_NOERROR = 0 }
602 -enum : uint { PSNRET_INVALID = 1 }
603 -enum : uint { PSNRET_INVALID_NOCHANGEPAGE = 2 }
604 -enum : uint { PSNRET_MESSAGEHANDLED = 3 }
605 -
606 -enum : uint { PSM_SETCURSEL = WM_USER + 101 }
607 -// #define PropSheet_SetCurSel(hDlg, hpage, index) SNDMSG(hDlg, PSM_SETCURSEL, (WPARAM)index, (LPARAM)hpage)
608 -
609 -enum : uint { PSM_REMOVEPAGE = WM_USER + 102 }
610 -// #define PropSheet_RemovePage(hDlg, index, hpage) SNDMSG(hDlg, PSM_REMOVEPAGE, index, (LPARAM)hpage)
611 -
612 -enum : uint { PSM_ADDPAGE = WM_USER + 103 }
613 -// #define PropSheet_AddPage(hDlg, hpage) SNDMSG(hDlg, PSM_ADDPAGE, 0, (LPARAM)hpage)
614 -
615 -enum : uint { PSM_CHANGED = WM_USER + 104 }
616 -// #define PropSheet_Changed(hDlg, hwnd) SNDMSG(hDlg, PSM_CHANGED, (WPARAM)hwnd, 0L)
617 -
618 -enum : uint { PSM_RESTARTWINDOWS = WM_USER + 105 }
619 -// #define PropSheet_RestartWindows(hDlg) SNDMSG(hDlg, PSM_RESTARTWINDOWS, 0, 0L)
620 -
621 -enum : uint { PSM_REBOOTSYSTEM = WM_USER + 106 }
622 -// #define PropSheet_RebootSystem(hDlg) SNDMSG(hDlg, PSM_REBOOTSYSTEM, 0, 0L)
623 -
624 -enum : uint { PSM_CANCELTOCLOSE = WM_USER + 107 }
625 -// #define PropSheet_CancelToClose(hDlg) PostMessage(hDlg, PSM_CANCELTOCLOSE, 0, 0L)
626 -
627 -enum : uint { PSM_QUERYSIBLINGS = WM_USER + 108 }
628 -// #define PropSheet_QuerySiblings(hDlg, wParam, lParam) SNDMSG(hDlg, PSM_QUERYSIBLINGS, wParam, lParam)
629 -
630 -enum : uint { PSM_UNCHANGED = WM_USER + 109 }
631 -// #define PropSheet_UnChanged(hDlg, hwnd) SNDMSG(hDlg, PSM_UNCHANGED, (WPARAM)hwnd, 0L)
632 -
633 -enum : uint { PSM_APPLY = WM_USER + 110 }
634 -// #define PropSheet_Apply(hDlg) SNDMSG(hDlg, PSM_APPLY, 0, 0L)
635 -
636 -enum : uint { PSM_SETTITLEA = WM_USER + 111 }
637 -enum : uint { PSM_SETTITLEW = WM_USER + 120 }
638 -
639 -// #ifdef UNICODE
640 -alias PSM_SETTITLEW PSM_SETTITLE;
641 -// #else
642 -// #...
643 -// #endif
644 -
645 -// #define PropSheet_SetTitle(hDlg, wStyle, lpszText) SNDMSG(hDlg, PSM_SETTITLE, wStyle, (LPARAM)(LPCTSTR)(lpszText))
646 -
647 -enum : uint { PSM_SETWIZBUTTONS = WM_USER + 112 }
648 -// #define PropSheet_SetWizButtons(hDlg, dwFlags) PostMessage(hDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)dwFlags)
649 -
650 -enum : uint { PSWIZB_BACK = 0x00000001 }
651 -enum : uint { PSWIZB_NEXT = 0x00000002 }
652 -enum : uint { PSWIZB_FINISH = 0x00000004 }
653 -enum : uint { PSWIZB_DISABLEDFINISH = 0x00000008 }
654 -
655 -enum : uint { PSM_PRESSBUTTON = WM_USER + 113 }
656 -// #define PropSheet_PressButton(hDlg, iButton) PostMessage(hDlg, PSM_PRESSBUTTON, (WPARAM)iButton, 0)
657 -
658 -enum : uint { PSBTN_BACK = 0 }
659 -enum : uint { PSBTN_NEXT = 1 }
660 -enum : uint { PSBTN_FINISH = 2 }
661 -enum : uint { PSBTN_OK = 3 }
662 -enum : uint { PSBTN_APPLYNOW = 4 }
663 -enum : uint { PSBTN_CANCEL = 5 }
664 -enum : uint { PSBTN_HELP = 6 }
665 -enum : uint { PSBTN_MAX = 6 }
666 -
667 -enum : uint { PSM_SETCURSELID = WM_USER + 114 }
668 -// #define PropSheet_SetCurSelByID(hDlg, id) SNDMSG(hDlg, PSM_SETCURSELID, 0, (LPARAM)id)
669 -
670 -enum : uint { PSM_SETFINISHTEXTA = WM_USER + 115 }
671 -enum : uint { PSM_SETFINISHTEXTW = WM_USER + 121 }
672 -
673 -// #ifdef UNICODE
674 -alias PSM_SETFINISHTEXTW PSM_SETFINISHTEXT;
675 -// #else
676 -// #...
677 -// #endif
678 -
679 -// #define PropSheet_SetFinishText(hDlg, lpszText) SNDMSG(hDlg, PSM_SETFINISHTEXT, 0, (LPARAM)lpszText)
680 -
681 -enum : uint { PSM_GETTABCONTROL = WM_USER + 116 }
682 -// #define PropSheet_GetTabControl(hDlg) (HWND)SNDMSG(hDlg, PSM_GETTABCONTROL, 0, 0)
683 -
684 -enum : uint { PSM_ISDIALOGMESSAGE = WM_USER + 117 }
685 -// #define PropSheet_IsDialogMessage(hDlg, pMsg) (BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)pMsg)
686 -
687 -enum : uint { PSM_GETCURRENTPAGEHWND = WM_USER + 118 }
688 -// #define PropSheet_GetCurrentPageHwnd(hDlg) (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L)
689 -
690 -enum : uint { PSM_INSERTPAGE = WM_USER + 119 }
691 -// #define PropSheet_InsertPage(hDlg, index, hpage) SNDMSG(hDlg, PSM_INSERTPAGE, (WPARAM)(index), (LPARAM)(hpage))
692 -
693 -// #if (_WIN32_IE >= 0x0500)
694 -enum : uint { PSM_SETHEADERTITLEA = WM_USER + 125 }
695 -enum : uint { PSM_SETHEADERTITLEW = WM_USER + 126 }
696 -
697 -// #ifdef UNICODE
698 -alias PSM_SETHEADERTITLEW PSM_SETHEADERTITLE;
699 -// #else
700 -// #...
701 -// #endif
702 -
703 -// #define PropSheet_SetHeaderTitle(hDlg, index, lpszText) SNDMSG(hDlg, PSM_SETHEADERTITLE, (WPARAM)(index), (LPARAM)(lpszText))
704 -
705 -enum : uint { PSM_SETHEADERSUBTITLEA = WM_USER + 127 }
706 -enum : uint { PSM_SETHEADERSUBTITLEW = WM_USER + 128 }
707 -
708 -// #ifdef UNICODE
709 -alias PSM_SETHEADERSUBTITLEW PSM_SETHEADERSUBTITLE;
710 -// #else
711 -// #...
712 -// #endif
713 -
714 -// #define PropSheet_SetHeaderSubTitle(hDlg, index, lpszText) SNDMSG(hDlg, PSM_SETHEADERSUBTITLE, (WPARAM)(index), (LPARAM)(lpszText))
715 -
716 -enum : uint { PSM_HWNDTOINDEX = WM_USER + 129 }
717 -// #define PropSheet_HwndToIndex(hDlg, hwnd) (int)SNDMSG(hDlg, PSM_HWNDTOINDEX, (WPARAM)(hwnd), 0)
718 -
719 -enum : uint { PSM_INDEXTOHWND = WM_USER + 130 }
720 -// #define PropSheet_IndexToHwnd(hDlg, i) (HWND)SNDMSG(hDlg, PSM_INDEXTOHWND, (WPARAM)(i), 0)
721 -
722 -enum : uint { PSM_PAGETOINDEX = WM_USER + 131 }
723 -// #define PropSheet_PageToIndex(hDlg, hpage) (int)SNDMSG(hDlg, PSM_PAGETOINDEX, 0, (LPARAM)(hpage))
724 -
725 -enum : uint { PSM_INDEXTOPAGE = WM_USER + 132 }
726 -// #define PropSheet_IndexToPage(hDlg, i) (HPROPSHEETPAGE)SNDMSG(hDlg, PSM_INDEXTOPAGE, (WPARAM)(i), 0)
727 -
728 -enum : uint { PSM_IDTOINDEX = WM_USER + 133 }
729 -// #define PropSheet_IdToIndex(hDlg, id) (int)SNDMSG(hDlg, PSM_IDTOINDEX, 0, (LPARAM)(id))
730 -
731 -enum : uint { PSM_INDEXTOID = WM_USER + 134 }
732 -// #define PropSheet_IndexToId(hDlg, i) SNDMSG(hDlg, PSM_INDEXTOID, (WPARAM)(i), 0)
733 -
734 -enum : uint { PSM_GETRESULT = WM_USER + 135 }
735 -// #define PropSheet_GetResult(hDlg) SNDMSG(hDlg, PSM_GETRESULT, 0, 0)
736 -
737 -enum : uint { PSM_RECALCPAGESIZES = WM_USER + 136 }
738 -// #define PropSheet_RecalcPageSizes(hDlg) SNDMSG(hDlg, PSM_RECALCPAGESIZES, 0, 0)
739 -// #endif // 0x0500
740 -
741 -enum : uint { ID_PSRESTARTWINDOWS = 0x2 }
742 -enum : uint { ID_PSREBOOTSYSTEM = ID_PSRESTARTWINDOWS | 0x1 }
743 -
744 -enum : uint { WIZ_CXDLG = 276 }
745 -enum : uint { WIZ_CYDLG = 140 }
746 -
747 -enum : uint { WIZ_CXBMP = 80 }
748 -
749 -enum : uint { WIZ_BODYX = 92 }
750 -enum : uint { WIZ_BODYCX = 184 }
751 -
752 -enum : uint { PROP_SM_CXDLG = 212 }
753 -enum : uint { PROP_SM_CYDLG = 188 }
754 -
755 -enum : uint { PROP_MED_CXDLG = 227 }
756 -enum : uint { PROP_MED_CYDLG = 215 }
757 -
758 -enum : uint { PROP_LG_CXDLG = 252 }
759 -enum : uint { PROP_LG_CYDLG = 218 }
760 -
761 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
762 -// #if ISOLATION_AWARE_ENABLED
763 -
764 -// #if !defined(ISOLATION_AWARE_INLINE)
765 -// #if defined(__cplusplus)
766 -// #...
767 -// #else
768 -// #...
769 -// #endif
770 -// #endif
771 -
772 -// ...
773 -
774 -// #ifndef CCSIZEOF_STRUCT
775 -// #...
776 -// #endif
777 -
778 -// ...
779 -
780 -// #if defined(UNICODE)
781 -
782 -// #...
783 -// #...
784 -
785 -// #else /* UNICODE */
786 -
787 -// #...
788 -// #...
789 -
790 -// #endif /* UNICODE */
791 -
792 -// ...
793 -
794 -// ...
795 -
796 -// ...
797 -
798 -// ...
799 -
800 -// ...
801 -
802 -// ...
803 -
804 -// ...
805 -
806 -// ...
807 -
808 -// ...
809 -
810 -// ...
811 -
812 -// #...
813 -// #...
814 -// #...
815 -// #...
816 -// #...
817 -
818 -// #endif /* ISOLATION_AWARE_ENABLED */
819 -// #endif /* RC */
820 -
821 -// #ifdef __cplusplus
822 -// }
823 -// #endif
824 -
825 -align:
826 -
827 -// #endif // _PRSHT_H_
828 -
829 -// ----
830 -
831 -// #ifndef _INC_COMMCTRL
832 -// #define _INC_COMMCTRL
833 -
834 -// #ifndef _WINRESRC_
835 -// #ifndef _WIN32_IE
836 -// #...
837 -// #else
838 -// #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500)
839 -// #...
840 -// #endif
841 -// #endif
842 -// #endif
843 -
844 -// #ifndef _HRESULT_DEFINED
845 -// #define _HRESULT_DEFINED
846 -alias LONG HRESULT;
847 -// #endif // _HRESULT_DEFINED
848 -
849 -// #ifndef NOUSER
850 -
851 -// #ifndef WINCOMMCTRLAPI
852 -// #if !defined(_COMCTL32_) && defined(_WIN32)
853 -// #define WINCOMMCTRLAPI DECLSPEC_IMPORT
854 -// #else
855 -// #...
856 -// #endif
857 -// #endif // WINCOMMCTRLAPI
858 -
859 -// #ifndef DUMMYUNIONNAME
860 -// #ifdef NONAMELESSUNION
861 -// #...
862 -// #...
863 -// #...
864 -// #...
865 -// #...
866 -// #else
867 -// #define DUMMYUNIONNAME
868 -// #define DUMMYUNIONNAME2
869 -// #define DUMMYUNIONNAME3
870 -// #define DUMMYUNIONNAME4
871 -// #define DUMMYUNIONNAME5
872 -// #endif
873 -// #endif // DUMMYUNIONNAME
874 -
875 -// #ifdef __cplusplus
876 -// extern "C" {
877 -// #endif
878 -
879 -// #include <prsht.h>
880 -
881 -// #ifndef SNDMSG
882 -// #ifdef __cplusplus
883 -// #ifndef _MAC
884 -// #define SNDMSG ::SendMessage
885 -// #else
886 -// #...
887 -// #endif
888 -// #else
889 -// #ifndef _MAC
890 -// #...
891 -// #else
892 -// #...
893 -// #endif //_MAC
894 -// #endif
895 -// #endif // ifndef SNDMSG
896 -
897 -// #ifdef _MAC
898 -// #ifndef RC_INVOKED
899 -// #ifndef _WLM_NOFORCE_LIBS
900 -
901 -// #ifndef _WLMDLL
902 -// #ifdef _DEBUG
903 -// #...
904 -// #else
905 -// #...
906 -// #endif
907 -// #...
908 -// #else
909 -// #ifdef _DEBUG
910 -// #...
911 -// #else
912 -// #...
913 -// #endif
914 -// #endif // _WLMDLL
915 -
916 -// #endif // _WLM_NOFORCE_LIBS
917 -// #endif // RC_INVOKED
918 -// #endif //_MAC
919 -
920 -extern(Windows) export void InitCommonControls();
921 -
922 -// #if (_WIN32_IE >= 0x0300)
923 -struct tagINITCOMMONCONTROLSEX {
924 - DWORD dwSize;
925 - DWORD dwICC;
926 -}
927 -alias tagINITCOMMONCONTROLSEX INITCOMMONCONTROLSEX;
928 -alias tagINITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX;
929 -
930 -enum : uint { ICC_LISTVIEW_CLASSES = 0x00000001 }
931 -enum : uint { ICC_TREEVIEW_CLASSES = 0x00000002 }
932 -enum : uint { ICC_BAR_CLASSES = 0x00000004 }
933 -enum : uint { ICC_TAB_CLASSES = 0x00000008 }
934 -enum : uint { ICC_UPDOWN_CLASS = 0x00000010 }
935 -enum : uint { ICC_PROGRESS_CLASS = 0x00000020 }
936 -enum : uint { ICC_HOTKEY_CLASS = 0x00000040 }
937 -enum : uint { ICC_ANIMATE_CLASS = 0x00000080 }
938 -enum : uint { ICC_WIN95_CLASSES = 0x000000FF }
939 -enum : uint { ICC_DATE_CLASSES = 0x00000100 }
940 -enum : uint { ICC_USEREX_CLASSES = 0x00000200 }
941 -enum : uint { ICC_COOL_CLASSES = 0x00000400 }
942 -// #if (_WIN32_IE >= 0x0400)
943 -enum : uint { ICC_INTERNET_CLASSES = 0x00000800 }
944 -enum : uint { ICC_PAGESCROLLER_CLASS = 0x00001000 }
945 -enum : uint { ICC_NATIVEFNTCTL_CLASS = 0x00002000 }
946 -// #endif
947 -// #if (_WIN32_WINNT >= 0x501)
948 -enum : uint { ICC_STANDARD_CLASSES = 0x00004000 }
949 -enum : uint { ICC_LINK_CLASS = 0x00008000 }
950 -// #endif
951 -
952 -extern(Windows) export BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
953 -// #endif // _WIN32_IE >= 0x0300
954 -
955 -enum : uint { ODT_HEADER = 100 }
956 -enum : uint { ODT_TAB = 101 }
957 -enum : uint { ODT_LISTVIEW = 102 }
958 -
959 -enum : uint { LVM_FIRST = 0x1000 }
960 -enum : uint { TV_FIRST = 0x1100 }
961 -enum : uint { HDM_FIRST = 0x1200 }
962 -enum : uint { TCM_FIRST = 0x1300 }
963 -
964 -// #if (_WIN32_IE >= 0x0400)
965 -enum : uint { PGM_FIRST = 0x1400 }
966 -// #if (_WIN32_WINNT >= 0x501)
967 -enum : uint { ECM_FIRST = 0x1500 }
968 -enum : uint { BCM_FIRST = 0x1600 }
969 -enum : uint { CBM_FIRST = 0x1700 }
970 -// #endif
971 -enum : uint { CCM_FIRST = 0x2000 }
972 -enum : uint { CCM_LAST = CCM_FIRST + 0x200 }
973 -
974 -enum : uint { CCM_SETBKCOLOR = CCM_FIRST + 1 }
975 -
976 -struct tagCOLORSCHEME {
977 - DWORD dwSize;
978 - COLORREF clrBtnHighlight;
979 - COLORREF clrBtnShadow;
980 -}
981 -alias tagCOLORSCHEME COLORSCHEME;
982 -alias tagCOLORSCHEME* LPCOLORSCHEME;
983 -
984 -enum : uint { CCM_SETCOLORSCHEME = CCM_FIRST + 2 }
985 -enum : uint { CCM_GETCOLORSCHEME = CCM_FIRST + 3 }
986 -enum : uint { CCM_GETDROPTARGET = CCM_FIRST + 4 }
987 -enum : uint { CCM_SETUNICODEFORMAT = CCM_FIRST + 5 }
988 -enum : uint { CCM_GETUNICODEFORMAT = CCM_FIRST + 6 }
989 -
990 -// #if (_WIN32_IE >= 0x0500)
991 -// #if (_WIN32_WINNT >= 0x501)
992 -enum : uint { COMCTL32_VERSION = 6 }
993 -// #else
994 -// #...
995 -// #endif
996 -
997 -enum : uint { CCM_SETVERSION = CCM_FIRST + 0x7 }
998 -enum : uint { CCM_GETVERSION = CCM_FIRST + 0x8 }
999 -enum : uint { CCM_SETNOTIFYWINDOW = CCM_FIRST + 0x9 }
1000 -// #if (_WIN32_WINNT >= 0x501)
1001 -enum : uint { CCM_SETWINDOWTHEME = CCM_FIRST + 0xb }
1002 -enum : uint { CCM_DPISCALE = CCM_FIRST + 0xc }
1003 -// #endif
1004 -// #endif // (_WIN32_IE >= 0x0500)
1005 -
1006 -// #endif // (_WIN32_IE >= 0x0400)
1007 -
1008 -// #if (_WIN32_IE >= 0x0400)
1009 -
1010 -enum : uint { INFOTIPSIZE = 1024 }
1011 -// #endif
1012 -
1013 -// #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) (fn)((hwnd), (int)(wParam), (NMHDR *)(lParam))
1014 -// #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) (LRESULT)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(idFrom), (LPARAM)(NMHDR *)(pnmhdr))
1015 -
1016 -enum : uint { NM_OUTOFMEMORY = NM_FIRST-1 }
1017 -enum : uint { NM_CLICK = NM_FIRST-2 }
1018 -enum : uint { NM_DBLCLK = NM_FIRST-3 }
1019 -enum : uint { NM_RETURN = NM_FIRST-4 }
1020 -enum : uint { NM_RCLICK = NM_FIRST-5 }
1021 -enum : uint { NM_RDBLCLK = NM_FIRST-6 }
1022 -enum : uint { NM_SETFOCUS = NM_FIRST-7 }
1023 -enum : uint { NM_KILLFOCUS = NM_FIRST-8 }
1024 -// #if (_WIN32_IE >= 0x0300)
1025 -enum : uint { NM_CUSTOMDRAW = NM_FIRST-12 }
1026 -enum : uint { NM_HOVER = NM_FIRST-13 }
1027 -// #endif
1028 -// #if (_WIN32_IE >= 0x0400)
1029 -enum : uint { NM_NCHITTEST = NM_FIRST-14 }
1030 -enum : uint { NM_KEYDOWN = NM_FIRST-15 }
1031 -enum : uint { NM_RELEASEDCAPTURE = NM_FIRST-16 }
1032 -enum : uint { NM_SETCURSOR = NM_FIRST-17 }
1033 -enum : uint { NM_CHAR = NM_FIRST-18 }
1034 -// #endif
1035 -// #if (_WIN32_IE >= 0x0401)
1036 -enum : uint { NM_TOOLTIPSCREATED = NM_FIRST-19 }
1037 -// #endif
1038 -// #if (_WIN32_IE >= 0x0500)
1039 -enum : uint { NM_LDOWN = NM_FIRST-20 }
1040 -enum : uint { NM_RDOWN = NM_FIRST-21 }
1041 -enum : uint { NM_THEMECHANGED = NM_FIRST-22 }
1042 -// #endif
1043 -
1044 -// #ifndef CCSIZEOF_STRUCT
1045 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member))
1046 -// #endif
1047 -
1048 -// #if (_WIN32_IE >= 0x0401)
1049 -struct tagNMTOOLTIPSCREATED {
1050 - NMHDR hdr;
1051 - HWND hwndToolTips;
1052 -}
1053 -alias tagNMTOOLTIPSCREATED NMTOOLTIPSCREATED;
1054 -alias tagNMTOOLTIPSCREATED* LPNMTOOLTIPSCREATED;
1055 -
1056 -// #endif
1057 -
1058 -// #if (_WIN32_IE >= 0x0400)
1059 -struct tagNMMOUSE {
1060 - NMHDR hdr;
1061 - DWORD_PTR dwItemSpec;
1062 - DWORD_PTR dwItemData;
1063 - POINT pt;
1064 - LPARAM dwHitInfo;
1065 -}
1066 -alias tagNMMOUSE NMMOUSE;
1067 -alias tagNMMOUSE* LPNMMOUSE;
1068 -
1069 -alias NMMOUSE NMCLICK;
1070 -alias LPNMMOUSE LPNMCLICK;
1071 -
1072 -struct tagNMOBJECTNOTIFY {
1073 - NMHDR hdr;
1074 - int iItem;
1075 -// #ifdef __IID_DEFINED__
1076 - IID* piid;
1077 -// #else
1078 -// ...
1079 -// #endif
1080 - void *pObject;
1081 - HRESULT hResult;
1082 - DWORD dwFlags;
1083 -}
1084 -alias tagNMOBJECTNOTIFY NMOBJECTNOTIFY;
1085 -alias tagNMOBJECTNOTIFY* LPNMOBJECTNOTIFY;
1086 -
1087 -struct tagNMKEY {
1088 - NMHDR hdr;
1089 - UINT nVKey;
1090 - UINT uFlags;
1091 -}
1092 -alias tagNMKEY NMKEY;
1093 -alias tagNMKEY* LPNMKEY;
1094 -
1095 -struct tagNMCHAR {
1096 - NMHDR hdr;
1097 - UINT ch;
1098 - DWORD dwItemPrev;
1099 - DWORD dwItemNext;
1100 -}
1101 -alias tagNMCHAR NMCHAR;
1102 -alias tagNMCHAR* LPNMCHAR;
1103 -
1104 -// #endif // _WIN32_IE >= 0x0400
1105 -
1106 -// #define NM_FIRST (0U- 0U)
1107 -enum : uint { NM_LAST = 0U- 99U }
1108 -
1109 -enum : uint { LVN_FIRST = 0U-100U }
1110 -enum : uint { LVN_LAST = 0U-199U }
1111 -
1112 -enum : uint { HDN_FIRST = 0U-300U }
1113 -enum : uint { HDN_LAST = 0U-399U }
1114 -
1115 -enum : uint { TVN_FIRST = 0U-400U }
1116 -enum : uint { TVN_LAST = 0U-499U }
1117 -
1118 -enum : uint { TTN_FIRST = 0U-520U }
1119 -enum : uint { TTN_LAST = 0U-549U }
1120 -
1121 -enum : uint { TCN_FIRST = 0U-550U }
1122 -enum : uint { TCN_LAST = 0U-580U }
1123 -
1124 -enum : uint { CDN_FIRST = 0U-601U }
1125 -enum : uint { CDN_LAST = 0U-699U }
1126 -
1127 -enum : uint { TBN_FIRST = 0U-700U }
1128 -enum : uint { TBN_LAST = 0U-720U }
1129 -
1130 -enum : uint { UDN_FIRST = 0U-721 }
1131 -enum : uint { UDN_LAST = 0U-740 }
1132 -// #if (_WIN32_IE >= 0x0300)
1133 -enum : uint { MCN_FIRST = 0U-750U }
1134 -enum : uint { MCN_LAST = 0U-759U }
1135 -
1136 -enum : uint { DTN_FIRST = 0U-760U }
1137 -enum : uint { DTN_LAST = 0U-799U }
1138 -
1139 -// #define CBEN_FIRST (0U-800U)
1140 -enum : uint { CBEN_LAST = 0U-830U }
1141 -
1142 -enum : uint { RBN_FIRST = 0U-831U }
1143 -enum : uint { RBN_LAST = 0U-859U }
1144 -// #endif
1145 -
1146 -// #if (_WIN32_IE >= 0x0400)
1147 -enum : uint { IPN_FIRST = 0U-860U }
1148 -enum : uint { IPN_LAST = 0U-879U }
1149 -
1150 -enum : uint { SBN_FIRST = 0U-880U }
1151 -enum : uint { SBN_LAST = 0U-899U }
1152 -
1153 -enum : uint { PGN_FIRST = 0U-900U }
1154 -enum : uint { PGN_LAST = 0U-950U }
1155 -
1156 -// #endif
1157 -
1158 -// #if (_WIN32_IE >= 0x0500)
1159 -// #ifndef WMN_FIRST
1160 -enum : uint { WMN_FIRST = 0U-1000U }
1161 -enum : uint { WMN_LAST = 0U-1200U }
1162 -// #endif
1163 -// #endif
1164 -
1165 -// #if (_WIN32_WINNT >= 0x0501)
1166 -enum : uint { BCN_FIRST = 0U-1250U }
1167 -enum : uint { BCN_LAST = 0U-1350U }
1168 -// #endif
1169 -
1170 -enum : uint { MSGF_COMMCTRL_BEGINDRAG = 0x4200 }
1171 -enum : uint { MSGF_COMMCTRL_SIZEHEADER = 0x4201 }
1172 -enum : uint { MSGF_COMMCTRL_DRAGSELECT = 0x4202 }
1173 -enum : uint { MSGF_COMMCTRL_TOOLBARCUST = 0x4203 }
1174 -
1175 -// #if (_WIN32_IE >= 0x0300)
1176 -
1177 -enum : uint { CDRF_DODEFAULT = 0x00000000 }
1178 -enum : uint { CDRF_NEWFONT = 0x00000002 }
1179 -enum : uint { CDRF_SKIPDEFAULT = 0x00000004 }
1180 -
1181 -enum : uint { CDRF_NOTIFYPOSTPAINT = 0x00000010 }
1182 -enum : uint { CDRF_NOTIFYITEMDRAW = 0x00000020 }
1183 -// #if (_WIN32_IE >= 0x0400)
1184 -enum : uint { CDRF_NOTIFYSUBITEMDRAW = 0x00000020 }
1185 -// #endif
1186 -enum : uint { CDRF_NOTIFYPOSTERASE = 0x00000040 }
1187 -
1188 -enum : uint { CDDS_PREPAINT = 0x00000001 }
1189 -enum : uint { CDDS_POSTPAINT = 0x00000002 }
1190 -enum : uint { CDDS_PREERASE = 0x00000003 }
1191 -enum : uint { CDDS_POSTERASE = 0x00000004 }
1192 -
1193 -enum : uint { CDDS_ITEM = 0x00010000 }
1194 -enum : uint { CDDS_ITEMPREPAINT = CDDS_ITEM | CDDS_PREPAINT }
1195 -enum : uint { CDDS_ITEMPOSTPAINT = CDDS_ITEM | CDDS_POSTPAINT }
1196 -enum : uint { CDDS_ITEMPREERASE = CDDS_ITEM | CDDS_PREERASE }
1197 -enum : uint { CDDS_ITEMPOSTERASE = CDDS_ITEM | CDDS_POSTERASE }
1198 -// #if (_WIN32_IE >= 0x0400)
1199 -enum : uint { CDDS_SUBITEM = 0x00020000 }
1200 -// #endif
1201 -
1202 -enum : uint { CDIS_SELECTED = 0x0001 }
1203 -enum : uint { CDIS_GRAYED = 0x0002 }
1204 -enum : uint { CDIS_DISABLED = 0x0004 }
1205 -enum : uint { CDIS_CHECKED = 0x0008 }
1206 -enum : uint { CDIS_FOCUS = 0x0010 }
1207 -enum : uint { CDIS_DEFAULT = 0x0020 }
1208 -enum : uint { CDIS_HOT = 0x0040 }
1209 -enum : uint { CDIS_MARKED = 0x0080 }
1210 -enum : uint { CDIS_INDETERMINATE = 0x0100 }
1211 -// #if (_WIN32_WINNT >= 0x501)
1212 -enum : uint { CDIS_SHOWKEYBOARDCUES = 0x0200 }
1213 -// #endif
1214 -
1215 -struct tagNMCUSTOMDRAWINFO {
1216 - NMHDR hdr;
1217 - DWORD dwDrawStage;
1218 - HDC hdc;
1219 - RECT rc;
1220 - DWORD_PTR dwItemSpec;
1221 - UINT uItemState;
1222 - LPARAM lItemlParam;
1223 -}
1224 -alias tagNMCUSTOMDRAWINFO NMCUSTOMDRAW;
1225 -alias tagNMCUSTOMDRAWINFO* LPNMCUSTOMDRAW;
1226 -
1227 -struct tagNMTTCUSTOMDRAW {
1228 - NMCUSTOMDRAW nmcd;
1229 - UINT uDrawFlags;
1230 -}
1231 -alias tagNMTTCUSTOMDRAW NMTTCUSTOMDRAW;
1232 -alias tagNMTTCUSTOMDRAW* LPNMTTCUSTOMDRAW;
1233 -
1234 -// #endif // _WIN32_IE >= 0x0300
1235 -
1236 -// #ifndef NOIMAGEAPIS
1237 -
1238 -enum : uint { CLR_NONE = 0xFFFFFFFF }
1239 -enum : uint { CLR_DEFAULT = 0xFF000000 }
1240 -
1241 -// #ifndef HIMAGELIST
1242 -// struct _IMAGELIST;
1243 -alias _IMAGELIST* HIMAGELIST;
1244 -// #endif
1245 -
1246 -// #ifndef IMAGELISTDRAWPARAMS
1247 -// #if (_WIN32_IE >= 0x0300)
1248 -struct _IMAGELISTDRAWPARAMS {
1249 - DWORD cbSize;
1250 - HIMAGELIST himl;
1251 - int i;
1252 - HDC hdcDst;
1253 - int x;
1254 - int y;
1255 - int cx;
1256 - int cy;
1257 - int xBitmap;
1258 - int yBitmap;
1259 - COLORREF rgbBk;
1260 - COLORREF rgbFg;
1261 - UINT fStyle;
1262 - DWORD dwRop;
1263 -// #if (_WIN32_WINNT >= 0x501)
1264 - DWORD fState;
1265 - DWORD Frame;
1266 - COLORREF crEffect;
1267 -// #endif
1268 -}
1269 -alias _IMAGELISTDRAWPARAMS IMAGELISTDRAWPARAMS;
1270 -alias _IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS;
1271 -
1272 -// #define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS, dwRop)
1273 -
1274 -// #endif // _WIN32_IE >= 0x0300
1275 -// #endif
1276 -
1277 -enum : uint { ILC_MASK = 0x00000001 }
1278 -enum : uint { ILC_COLOR = 0x00000000 }
1279 -enum : uint { ILC_COLORDDB = 0x000000FE }
1280 -enum : uint { ILC_COLOR4 = 0x00000004 }
1281 -enum : uint { ILC_COLOR8 = 0x00000008 }
1282 -enum : uint { ILC_COLOR16 = 0x00000010 }
1283 -enum : uint { ILC_COLOR24 = 0x00000018 }
1284 -enum : uint { ILC_COLOR32 = 0x00000020 }
1285 -enum : uint { ILC_PALETTE = 0x00000800 }
1286 -// #if (_WIN32_WINNT >= 0x501)
1287 -enum : uint { ILC_MIRROR = 0x00002000 }
1288 -enum : uint { ILC_PERITEMMIRROR = 0x00008000 }
1289 -// #endif
1290 -extern(Windows) export HIMAGELIST ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow);
1291 -extern(Windows) export BOOL ImageList_Destroy(HIMAGELIST himl);
1292 -
1293 -extern(Windows) export int ImageList_GetImageCount(HIMAGELIST himl);
1294 -// #if (_WIN32_IE >= 0x0300)
1295 -extern(Windows) export BOOL ImageList_SetImageCount(HIMAGELIST himl, UINT uNewCount);
1296 -// #endif
1297 -
1298 -extern(Windows) export int ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask);
1299 -
1300 -extern(Windows) export int ImageList_ReplaceIcon(HIMAGELIST himl, int i, HICON hicon);
1301 -extern(Windows) export COLORREF ImageList_SetBkColor(HIMAGELIST himl, COLORREF clrBk);
1302 -extern(Windows) export COLORREF ImageList_GetBkColor(HIMAGELIST himl);
1303 -extern(Windows) export BOOL ImageList_SetOverlayImage(HIMAGELIST himl, int iImage, int iOverlay);
1304 -
1305 -// #define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon)
1306 -
1307 -enum : uint { ILD_NORMAL = 0x00000000 }
1308 -enum : uint { ILD_TRANSPARENT = 0x00000001 }
1309 -enum : uint { ILD_MASK = 0x00000010 }
1310 -enum : uint { ILD_IMAGE = 0x00000020 }
1311 -// #if (_WIN32_IE >= 0x0300)
1312 -enum : uint { ILD_ROP = 0x00000040 }
1313 -// #endif
1314 -enum : uint { ILD_BLEND25 = 0x00000002 }
1315 -enum : uint { ILD_BLEND50 = 0x00000004 }
1316 -enum : uint { ILD_OVERLAYMASK = 0x00000F00 }
1317 -uint INDEXTOOVERLAYMASK(uint i){ return i << 8; }
1318 -enum : uint { ILD_PRESERVEALPHA = 0x00001000 }
1319 -enum : uint { ILD_SCALE = 0x00002000 }
1320 -enum : uint { ILD_DPISCALE = 0x00004000 }
1321 -
1322 -alias ILD_BLEND50 ILD_SELECTED;
1323 -alias ILD_BLEND25 ILD_FOCUS;
1324 -alias ILD_BLEND50 ILD_BLEND;
1325 -alias CLR_DEFAULT CLR_HILIGHT;
1326 -
1327 -enum : uint { ILS_NORMAL = 0x00000000 }
1328 -enum : uint { ILS_GLOW = 0x00000001 }
1329 -enum : uint { ILS_SHADOW = 0x00000002 }
1330 -enum : uint { ILS_SATURATE = 0x00000004 }
1331 -enum : uint { ILS_ALPHA = 0x00000008 }
1332 -
1333 -extern(Windows) export BOOL ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle);
1334 -
1335 -// #ifdef _WIN32
1336 -
1337 -extern(Windows) export BOOL ImageList_Replace(HIMAGELIST himl, int i, HBITMAP hbmImage, HBITMAP hbmMask);
1338 -
1339 -extern(Windows) export int ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask);
1340 -extern(Windows) export BOOL ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle);
1341 -// #if (_WIN32_IE >= 0x0300)
1342 -extern(Windows) export BOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS* pimldp);
1343 -// #endif
1344 -extern(Windows) export BOOL ImageList_Remove(HIMAGELIST himl, int i);
1345 -extern(Windows) export HICON ImageList_GetIcon(HIMAGELIST himl, int i, UINT flags);
1346 -extern(Windows) export HIMAGELIST ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags);
1347 -extern(Windows) export HIMAGELIST ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags);
1348 -
1349 -// #ifdef UNICODE
1350 -alias ImageList_LoadImageW ImageList_LoadImage;
1351 -// #else
1352 -// #...
1353 -// #endif
1354 -
1355 -// #if (_WIN32_IE >= 0x0300)
1356 -enum : uint { ILCF_MOVE = 0x00000000 }
1357 -enum : uint { ILCF_SWAP = 0x00000001 }
1358 -extern(Windows) export BOOL ImageList_Copy(HIMAGELIST himlDst, int iDst, HIMAGELIST himlSrc, int iSrc, UINT uFlags);
1359 -// #endif
1360 -
1361 -extern(Windows) export BOOL ImageList_BeginDrag(HIMAGELIST himlTrack, int iTrack, int dxHotspot, int dyHotspot);
1362 -extern(Windows) export void ImageList_EndDrag();
1363 -extern(Windows) export BOOL ImageList_DragEnter(HWND hwndLock, int x, int y);
1364 -extern(Windows) export BOOL ImageList_DragLeave(HWND hwndLock);
1365 -extern(Windows) export BOOL ImageList_DragMove(int x, int y);
1366 -extern(Windows) export BOOL ImageList_SetDragCursorImage(HIMAGELIST himlDrag, int iDrag, int dxHotspot, int dyHotspot);
1367 -
1368 -extern(Windows) export BOOL ImageList_DragShowNolock(BOOL fShow);
1369 -extern(Windows) export HIMAGELIST ImageList_GetDragImage(POINT *ppt,POINT *pptHotspot);
1370 -
1371 -// #define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1)
1372 -// #define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0)
1373 -// #define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0)
1374 -
1375 -// #ifdef __IStream_INTERFACE_DEFINED__
1376 -
1377 -// ...
1378 -
1379 -// #if (_WIN32_WINNT >= 0x0501)
1380 -// #...
1381 -// #...
1382 -
1383 -// ...
1384 -// #endif
1385 -
1386 -// #endif
1387 -
1388 -// #ifndef IMAGEINFO
1389 -struct _IMAGEINFO {
1390 - HBITMAP hbmImage;
1391 - HBITMAP hbmMask;
1392 - int Unused1;
1393 - int Unused2;
1394 - RECT rcImage;
1395 -}
1396 -alias _IMAGEINFO IMAGEINFO;
1397 -alias _IMAGEINFO* LPIMAGEINFO;
1398 -
1399 -// #endif
1400 -
1401 -extern(Windows) export BOOL ImageList_GetIconSize(HIMAGELIST himl, int *cx, int *cy);
1402 -extern(Windows) export BOOL ImageList_SetIconSize(HIMAGELIST himl, int cx, int cy);
1403 -extern(Windows) export BOOL ImageList_GetImageInfo(HIMAGELIST himl, int i, IMAGEINFO *pImageInfo);
1404 -extern(Windows) export HIMAGELIST ImageList_Merge(HIMAGELIST himl1, int i1, HIMAGELIST himl2, int i2, int dx, int dy);
1405 -// #if (_WIN32_IE >= 0x0400)
1406 -extern(Windows) export HIMAGELIST ImageList_Duplicate(HIMAGELIST himl);
1407 -// #endif
1408 -
1409 -// #endif
1410 -
1411 -// #endif
1412 -
1413 -// #ifndef NOHEADER
1414 -
1415 -// #ifdef _WIN32
1416 -const char[] WC_HEADERA = "SysHeader32";
1417 -const wchar[] WC_HEADERW = "SysHeader32";
1418 -
1419 -// #ifdef UNICODE
1420 -alias WC_HEADERW WC_HEADER;
1421 -// #else
1422 -// #...
1423 -// #endif
1424 -
1425 -// #else
1426 -// #...
1427 -// #endif
1428 -
1429 -enum : uint { HDS_HORZ = 0x0000 }
1430 -enum : uint { HDS_BUTTONS = 0x0002 }
1431 -// #if (_WIN32_IE >= 0x0300)
1432 -enum : uint { HDS_HOTTRACK = 0x0004 }
1433 -// #endif
1434 -enum : uint { HDS_HIDDEN = 0x0008 }
1435 -
1436 -// #if (_WIN32_IE >= 0x0300)
1437 -enum : uint { HDS_DRAGDROP = 0x0040 }
1438 -enum : uint { HDS_FULLDRAG = 0x0080 }
1439 -// #endif
1440 -// #if (_WIN32_IE >= 0x0500)
1441 -enum : uint { HDS_FILTERBAR = 0x0100 }
1442 -// #endif
1443 -
1444 -// #if (_WIN32_WINNT >= 0x501)
1445 -enum : uint { HDS_FLAT = 0x0200 }
1446 -// #endif
1447 -
1448 -// #if (_WIN32_IE >= 0x0500)
1449 -
1450 -enum : uint { HDFT_ISSTRING = 0x0000 }
1451 -enum : uint { HDFT_ISNUMBER = 0x0001 }
1452 -
1453 -enum : uint { HDFT_HASNOVALUE = 0x8000 }
1454 -
1455 -// #ifdef UNICODE
1456 -alias HD_TEXTFILTERW HD_TEXTFILTER;
1457 -alias HD_TEXTFILTERW HDTEXTFILTER;
1458 -alias LPHD_TEXTFILTERW LPHD_TEXTFILTER;
1459 -alias LPHD_TEXTFILTERW LPHDTEXTFILTER;
1460 -// #else
1461 -// #...
1462 -// #...
1463 -// #...
1464 -// #...
1465 -// #endif
1466 -
1467 -struct _HD_TEXTFILTERA {
1468 - LPSTR pszText;
1469 - INT cchTextMax;
1470 -}
1471 -alias _HD_TEXTFILTERA HD_TEXTFILTERA;
1472 -alias _HD_TEXTFILTERA* LPHD_TEXTFILTERA;
1473 -
1474 -struct _HD_TEXTFILTERW {
1475 - LPWSTR pszText;
1476 - INT cchTextMax;
1477 -}
1478 -alias _HD_TEXTFILTERW HD_TEXTFILTERW;
1479 -alias _HD_TEXTFILTERW* LPHD_TEXTFILTERW;
1480 -
1481 -// #endif // _WIN32_IE >= 0x0500
1482 -
1483 -// #if (_WIN32_IE >= 0x0300)
1484 -alias HDITEMA HD_ITEMA;
1485 -alias HDITEMW HD_ITEMW;
1486 -// #else
1487 -// #...
1488 -// #...
1489 -// #endif
1490 -alias HDITEM HD_ITEM;
1491 -
1492 -struct _HD_ITEMA {
1493 - UINT mask;
1494 - int cxy;
1495 - LPSTR pszText;
1496 - HBITMAP hbm;
1497 - int cchTextMax;
1498 - int fmt;
1499 - LPARAM lParam;
1500 -// #if (_WIN32_IE >= 0x0300)
1501 - int iImage;
1502 - int iOrder;
1503 -// #endif
1504 -// #if (_WIN32_IE >= 0x0500)
1505 - UINT type;
1506 - void * pvFilter;
1507 -// #endif
1508 -}
1509 -alias _HD_ITEMA HDITEMA;
1510 -alias _HD_ITEMA* LPHDITEMA;
1511 -
1512 -// #define HDITEMA_V1_SIZE CCSIZEOF_STRUCT(HDITEMA, lParam)
1513 -// #define HDITEMW_V1_SIZE CCSIZEOF_STRUCT(HDITEMW, lParam)
1514 -
1515 -struct _HD_ITEMW {
1516 - UINT mask;
1517 - int cxy;
1518 - LPWSTR pszText;
1519 - HBITMAP hbm;
1520 - int cchTextMax;
1521 - int fmt;
1522 - LPARAM lParam;
1523 -// #if (_WIN32_IE >= 0x0300)
1524 - int iImage;
1525 - int iOrder;
1526 -// #endif
1527 -// #if (_WIN32_IE >= 0x0500)
1528 - UINT type;
1529 - void * pvFilter;
1530 -// #endif
1531 -}
1532 -alias _HD_ITEMW HDITEMW;
1533 -alias _HD_ITEMW* LPHDITEMW;
1534 -
1535 -// #ifdef UNICODE
1536 -alias HDITEMW HDITEM;
1537 -alias LPHDITEMW LPHDITEM;
1538 -// #define HDITEM_V1_SIZE HDITEMW_V1_SIZE
1539 -// #else
1540 -// #...
1541 -// #...
1542 -// #...
1543 -// #endif
1544 -
1545 -enum : uint { HDI_WIDTH = 0x0001 }
1546 -alias HDI_WIDTH HDI_HEIGHT;
1547 -enum : uint { HDI_TEXT = 0x0002 }
1548 -enum : uint { HDI_FORMAT = 0x0004 }
1549 -enum : uint { HDI_LPARAM = 0x0008 }
1550 -enum : uint { HDI_BITMAP = 0x0010 }
1551 -// #if (_WIN32_IE >= 0x0300)
1552 -enum : uint { HDI_IMAGE = 0x0020 }
1553 -enum : uint { HDI_DI_SETITEM = 0x0040 }
1554 -enum : uint { HDI_ORDER = 0x0080 }
1555 -// #endif
1556 -// #if (_WIN32_IE >= 0x0500)
1557 -enum : uint { HDI_FILTER = 0x0100 }
1558 -// #endif
1559 -
1560 -enum : uint { HDF_LEFT = 0x0000 }
1561 -enum : uint { HDF_RIGHT = 0x0001 }
1562 -enum : uint { HDF_CENTER = 0x0002 }
1563 -enum : uint { HDF_JUSTIFYMASK = 0x0003 }
1564 -enum : uint { HDF_RTLREADING = 0x0004 }
1565 -
1566 -enum : uint { HDF_OWNERDRAW = 0x8000 }
1567 -enum : uint { HDF_STRING = 0x4000 }
1568 -enum : uint { HDF_BITMAP = 0x2000 }
1569 -// #if (_WIN32_IE >= 0x0300)
1570 -enum : uint { HDF_BITMAP_ON_RIGHT = 0x1000 }
1571 -enum : uint { HDF_IMAGE = 0x0800 }
1572 -// #endif
1573 -
1574 -// #if (_WIN32_WINNT >= 0x501)
1575 -enum : uint { HDF_SORTUP = 0x0400 }
1576 -enum : uint { HDF_SORTDOWN = 0x0200 }
1577 -// #endif
1578 -
1579 -enum : uint { HDM_GETITEMCOUNT = HDM_FIRST + 0 }
1580 -// #define Header_GetItemCount(hwndHD) (int)SNDMSG((hwndHD), HDM_GETITEMCOUNT, 0, 0L)
1581 -
1582 -enum : uint { HDM_INSERTITEMA = HDM_FIRST + 1 }
1583 -enum : uint { HDM_INSERTITEMW = HDM_FIRST + 10 }
1584 -
1585 -// #ifdef UNICODE
1586 -alias HDM_INSERTITEMW HDM_INSERTITEM;
1587 -// #else
1588 -// #...
1589 -// #endif
1590 -
1591 -// #define Header_InsertItem(hwndHD, i, phdi) (int)SNDMSG((hwndHD), HDM_INSERTITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi))
1592 -
1593 -enum : uint { HDM_DELETEITEM = HDM_FIRST + 2 }
1594 -// #define Header_DeleteItem(hwndHD, i) (BOOL)SNDMSG((hwndHD), HDM_DELETEITEM, (WPARAM)(int)(i), 0L)
1595 -
1596 -enum : uint { HDM_GETITEMA = HDM_FIRST + 3 }
1597 -enum : uint { HDM_GETITEMW = HDM_FIRST + 11 }
1598 -
1599 -// #ifdef UNICODE
1600 -alias HDM_GETITEMW HDM_GETITEM;
1601 -// #else
1602 -// #...
1603 -// #endif
1604 -
1605 -// #define Header_GetItem(hwndHD, i, phdi) (BOOL)SNDMSG((hwndHD), HDM_GETITEM, (WPARAM)(int)(i), (LPARAM)(HD_ITEM *)(phdi))
1606 -
1607 -enum : uint { HDM_SETITEMA = HDM_FIRST + 4 }
1608 -enum : uint { HDM_SETITEMW = HDM_FIRST + 12 }
1609 -
1610 -// #ifdef UNICODE
1611 -alias HDM_SETITEMW HDM_SETITEM;
1612 -// #else
1613 -// #...
1614 -// #endif
1615 -
1616 -// #define Header_SetItem(hwndHD, i, phdi) (BOOL)SNDMSG((hwndHD), HDM_SETITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi))
1617 -
1618 -// #if (_WIN32_IE >= 0x0300)
1619 -alias HDLAYOUT HD_LAYOUT;
1620 -// #else
1621 -// #...
1622 -// #endif
1623 -
1624 -struct _HD_LAYOUT {
1625 - RECT *prc;
1626 - WINDOWPOS *pwpos;
1627 -}
1628 -alias _HD_LAYOUT HDLAYOUT;
1629 -alias _HD_LAYOUT* LPHDLAYOUT;
1630 -
1631 -enum : uint { HDM_LAYOUT = HDM_FIRST + 5 }
1632 -// #define Header_Layout(hwndHD, playout) (BOOL)SNDMSG((hwndHD), HDM_LAYOUT, 0, (LPARAM)(HD_LAYOUT *)(playout))
1633 -
1634 -enum : uint { HHT_NOWHERE = 0x0001 }
1635 -enum : uint { HHT_ONHEADER = 0x0002 }
1636 -enum : uint { HHT_ONDIVIDER = 0x0004 }
1637 -enum : uint { HHT_ONDIVOPEN = 0x0008 }
1638 -// #if (_WIN32_IE >= 0x0500)
1639 -enum : uint { HHT_ONFILTER = 0x0010 }
1640 -enum : uint { HHT_ONFILTERBUTTON = 0x0020 }
1641 -// #endif
1642 -enum : uint { HHT_ABOVE = 0x0100 }
1643 -enum : uint { HHT_BELOW = 0x0200 }
1644 -enum : uint { HHT_TORIGHT = 0x0400 }
1645 -enum : uint { HHT_TOLEFT = 0x0800 }
1646 -
1647 -// #if (_WIN32_IE >= 0x0300)
1648 -alias HDHITTESTINFO HD_HITTESTINFO;
1649 -// #else
1650 -// #...
1651 -// #endif
1652 -
1653 -struct _HD_HITTESTINFO {
1654 - POINT pt;
1655 - UINT flags;
1656 - int iItem;
1657 -}
1658 -alias _HD_HITTESTINFO HDHITTESTINFO;
1659 -alias _HD_HITTESTINFO* LPHDHITTESTINFO;
1660 -
1661 -enum : uint { HDM_HITTEST = HDM_FIRST + 6 }
1662 -
1663 -// #if (_WIN32_IE >= 0x0300)
1664 -
1665 -enum : uint { HDM_GETITEMRECT = HDM_FIRST + 7 }
1666 -// #define Header_GetItemRect(hwnd, iItem, lprc) (BOOL)SNDMSG((hwnd), HDM_GETITEMRECT, (WPARAM)(iItem), (LPARAM)(lprc))
1667 -
1668 -enum : uint { HDM_SETIMAGELIST = HDM_FIRST + 8 }
1669 -// #define Header_SetImageList(hwnd, himl) (HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, 0, (LPARAM)(himl))
1670 -
1671 -enum : uint { HDM_GETIMAGELIST = HDM_FIRST + 9 }
1672 -// #define Header_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd), HDM_GETIMAGELIST, 0, 0)
1673 -
1674 -enum : uint { HDM_ORDERTOINDEX = HDM_FIRST + 15 }
1675 -// #define Header_OrderToIndex(hwnd, i) (int)SNDMSG((hwnd), HDM_ORDERTOINDEX, (WPARAM)(i), 0)
1676 -
1677 -enum : uint { HDM_CREATEDRAGIMAGE = HDM_FIRST + 16 }
1678 -// #define Header_CreateDragImage(hwnd, i) (HIMAGELIST)SNDMSG((hwnd), HDM_CREATEDRAGIMAGE, (WPARAM)(i), 0)
1679 -
1680 -enum : uint { HDM_GETORDERARRAY = HDM_FIRST + 17 }
1681 -// #define Header_GetOrderArray(hwnd, iCount, lpi) (BOOL)SNDMSG((hwnd), HDM_GETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi))
1682 -
1683 -enum : uint { HDM_SETORDERARRAY = HDM_FIRST + 18 }
1684 -// #define Header_SetOrderArray(hwnd, iCount, lpi) (BOOL)SNDMSG((hwnd), HDM_SETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi))
1685 -
1686 -enum : uint { HDM_SETHOTDIVIDER = HDM_FIRST + 19 }
1687 -// #define Header_SetHotDivider(hwnd, fPos, dw) (int)SNDMSG((hwnd), HDM_SETHOTDIVIDER, (WPARAM)(fPos), (LPARAM)(dw))
1688 -
1689 -// #endif // _WIN32_IE >= 0x0300
1690 -
1691 -// #if (_WIN32_IE >= 0x0500)
1692 -
1693 -enum : uint { HDM_SETBITMAPMARGIN = HDM_FIRST + 20 }
1694 -// #define Header_SetBitmapMargin(hwnd, iWidth) (int)SNDMSG((hwnd), HDM_SETBITMAPMARGIN, (WPARAM)(iWidth), 0)
1695 -
1696 -enum : uint { HDM_GETBITMAPMARGIN = HDM_FIRST + 21 }
1697 -// #define Header_GetBitmapMargin(hwnd) (int)SNDMSG((hwnd), HDM_GETBITMAPMARGIN, 0, 0)
1698 -// #endif
1699 -
1700 -// #if (_WIN32_IE >= 0x0400)
1701 -alias CCM_SETUNICODEFORMAT HDM_SETUNICODEFORMAT;
1702 -// #define Header_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), HDM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
1703 -
1704 -alias CCM_GETUNICODEFORMAT HDM_GETUNICODEFORMAT;
1705 -// #define Header_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), HDM_GETUNICODEFORMAT, 0, 0)
1706 -// #endif
1707 -
1708 -// #if (_WIN32_IE >= 0x0500)
1709 -enum : uint { HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST+22 }
1710 -// #define Header_SetFilterChangeTimeout(hwnd, i) (int)SNDMSG((hwnd), HDM_SETFILTERCHANGETIMEOUT, 0, (LPARAM)(i))
1711 -
1712 -enum : uint { HDM_EDITFILTER = HDM_FIRST+23 }
1713 -// #define Header_EditFilter(hwnd, i, fDiscardChanges) (int)SNDMSG((hwnd), HDM_EDITFILTER, (WPARAM)(i), MAKELPARAM(fDiscardChanges, 0))
1714 -
1715 -enum : uint { HDM_CLEARFILTER = HDM_FIRST+24 }
1716 -// #define Header_ClearFilter(hwnd, i) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)(i), 0)
1717 -// #define Header_ClearAllFilters(hwnd) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)-1, 0)
1718 -// #endif
1719 -
1720 -enum : uint { HDN_ITEMCHANGINGA = HDN_FIRST-0 }
1721 -enum : uint { HDN_ITEMCHANGINGW = HDN_FIRST-20 }
1722 -enum : uint { HDN_ITEMCHANGEDA = HDN_FIRST-1 }
1723 -enum : uint { HDN_ITEMCHANGEDW = HDN_FIRST-21 }
1724 -enum : uint { HDN_ITEMCLICKA = HDN_FIRST-2 }
1725 -enum : uint { HDN_ITEMCLICKW = HDN_FIRST-22 }
1726 -enum : uint { HDN_ITEMDBLCLICKA = HDN_FIRST-3 }
1727 -enum : uint { HDN_ITEMDBLCLICKW = HDN_FIRST-23 }
1728 -enum : uint { HDN_DIVIDERDBLCLICKA = HDN_FIRST-5 }
1729 -enum : uint { HDN_DIVIDERDBLCLICKW = HDN_FIRST-25 }
1730 -enum : uint { HDN_BEGINTRACKA = HDN_FIRST-6 }
1731 -enum : uint { HDN_BEGINTRACKW = HDN_FIRST-26 }
1732 -enum : uint { HDN_ENDTRACKA = HDN_FIRST-7 }
1733 -enum : uint { HDN_ENDTRACKW = HDN_FIRST-27 }
1734 -enum : uint { HDN_TRACKA = HDN_FIRST-8 }
1735 -enum : uint { HDN_TRACKW = HDN_FIRST-28 }
1736 -// #if (_WIN32_IE >= 0x0300)
1737 -enum : uint { HDN_GETDISPINFOA = HDN_FIRST-9 }
1738 -enum : uint { HDN_GETDISPINFOW = HDN_FIRST-29 }
1739 -enum : uint { HDN_BEGINDRAG = HDN_FIRST-10 }
1740 -enum : uint { HDN_ENDDRAG = HDN_FIRST-11 }
1741 -// #endif
1742 -// #if (_WIN32_IE >= 0x0500)
1743 -enum : uint { HDN_FILTERCHANGE = HDN_FIRST-12 }
1744 -enum : uint { HDN_FILTERBTNCLICK = HDN_FIRST-13 }
1745 -// #endif
1746 -
1747 -// #ifdef UNICODE
1748 -alias HDN_ITEMCHANGINGW HDN_ITEMCHANGING;
1749 -alias HDN_ITEMCHANGEDW HDN_ITEMCHANGED;
1750 -alias HDN_ITEMCLICKW HDN_ITEMCLICK;
1751 -alias HDN_ITEMDBLCLICKW HDN_ITEMDBLCLICK;
1752 -alias HDN_DIVIDERDBLCLICKW HDN_DIVIDERDBLCLICK;
1753 -alias HDN_BEGINTRACKW HDN_BEGINTRACK;
1754 -alias HDN_ENDTRACKW HDN_ENDTRACK;
1755 -alias HDN_TRACKW HDN_TRACK;
1756 -// #if (_WIN32_IE >= 0x0300)
1757 -alias HDN_GETDISPINFOW HDN_GETDISPINFO;
1758 -// #endif
1759 -// #else
1760 -// #...
1761 -// #...
1762 -// #...
1763 -// #...
1764 -// #...
1765 -// #...
1766 -// #...
1767 -// #...
1768 -// #if (_WIN32_IE >= 0x0300)
1769 -// #...
1770 -// #endif
1771 -// #endif
1772 -
1773 -// #if (_WIN32_IE >= 0x0300)
1774 -alias NMHEADERA HD_NOTIFYA;
1775 -alias NMHEADERW HD_NOTIFYW;
1776 -// #else
1777 -// #...
1778 -// #...
1779 -// #...
1780 -// #...
1781 -// #endif
1782 -alias NMHEADER HD_NOTIFY;
1783 -
1784 -struct tagNMHEADERA {
1785 - NMHDR hdr;
1786 - int iItem;
1787 - int iButton;
1788 - HDITEMA *pitem;
1789 -}
1790 -alias tagNMHEADERA NMHEADERA;
1791 -alias tagNMHEADERA* LPNMHEADERA;
1792 -
1793 -struct tagNMHEADERW {
1794 - NMHDR hdr;
1795 - int iItem;
1796 - int iButton;
1797 - HDITEMW *pitem;
1798 -}
1799 -alias tagNMHEADERW NMHEADERW;
1800 -alias tagNMHEADERW* LPNMHEADERW;
1801 -
1802 -// #ifdef UNICODE
1803 -alias NMHEADERW NMHEADER;
1804 -alias LPNMHEADERW LPNMHEADER;
1805 -// #else
1806 -// #...
1807 -// #...
1808 -// #endif
1809 -
1810 -struct tagNMHDDISPINFOW {
1811 - NMHDR hdr;
1812 - int iItem;
1813 - UINT mask;
1814 - LPWSTR pszText;
1815 - int cchTextMax;
1816 - int iImage;
1817 - LPARAM lParam;
1818 -}
1819 -alias tagNMHDDISPINFOW NMHDDISPINFOW;
1820 -alias tagNMHDDISPINFOW* LPNMHDDISPINFOW;
1821 -
1822 -struct tagNMHDDISPINFOA {
1823 - NMHDR hdr;
1824 - int iItem;
1825 - UINT mask;
1826 - LPSTR pszText;
1827 - int cchTextMax;
1828 - int iImage;
1829 - LPARAM lParam;
1830 -}
1831 -alias tagNMHDDISPINFOA NMHDDISPINFOA;
1832 -alias tagNMHDDISPINFOA* LPNMHDDISPINFOA;
1833 -
1834 -// #ifdef UNICODE
1835 -alias NMHDDISPINFOW NMHDDISPINFO;
1836 -alias LPNMHDDISPINFOW LPNMHDDISPINFO;
1837 -// #else
1838 -// #...
1839 -// #...
1840 -// #endif
1841 -
1842 -// #if (_WIN32_IE >= 0x0500)
1843 -struct tagNMHDFILTERBTNCLICK {
1844 - NMHDR hdr;
1845 - INT iItem;
1846 - RECT rc;
1847 -}
1848 -alias tagNMHDFILTERBTNCLICK NMHDFILTERBTNCLICK;
1849 -alias tagNMHDFILTERBTNCLICK* LPNMHDFILTERBTNCLICK;
1850 -
1851 -// #endif
1852 -
1853 -// #endif // NOHEADER
1854 -
1855 -// #ifndef NOTOOLBAR
1856 -
1857 -// #ifdef _WIN32
1858 -const wchar[] TOOLBARCLASSNAMEW = "ToolbarWindow32";
1859 -const char[] TOOLBARCLASSNAMEA = "ToolbarWindow32";
1860 -
1861 -// #ifdef UNICODE
1862 -alias TOOLBARCLASSNAMEW TOOLBARCLASSNAME;
1863 -// #else
1864 -// #...
1865 -// #endif
1866 -
1867 -// #else
1868 -// #...
1869 -// #endif
1870 -
1871 -struct _TBBUTTON {
1872 - int iBitmap;
1873 - int idCommand;
1874 - BYTE fsState;
1875 - BYTE fsStyle;
1876 -// #ifdef _WIN64
1877 -// ...
1878 -// #elif defined(_WIN32)
1879 - BYTE bReserved[2];
1880 -// #endif
1881 - DWORD_PTR dwData;
1882 - INT_PTR iString;
1883 -}
1884 -alias _TBBUTTON TBBUTTON;
1885 -alias _TBBUTTON* PTBBUTTON;
1886 -alias _TBBUTTON* LPTBBUTTON;
1887 -
1888 -alias TBBUTTON* LPCTBBUTTON;
1889 -
1890 -struct _COLORMAP {
1891 - COLORREF from;
1892 - COLORREF to;
1893 -}
1894 -alias _COLORMAP COLORMAP;
1895 -alias _COLORMAP* LPCOLORMAP;
1896 -
1897 -extern(Windows) export HWND CreateToolbarEx(HWND hwnd, DWORD ws, UINT wID, int nBitmaps,
1898 - HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons,
1899 - int iNumButtons, int dxButton, int dyButton,
1900 - int dxBitmap, int dyBitmap, UINT uStructSize);
1901 -
1902 -extern(Windows) export HBITMAP CreateMappedBitmap(HINSTANCE hInstance, INT_PTR idBitmap,
1903 - UINT wFlags, LPCOLORMAP lpColorMap,
1904 - int iNumMaps);
1905 -
1906 -enum : uint { CMB_MASKED = 0x02 }
1907 -enum : uint { TBSTATE_CHECKED = 0x01 }
1908 -enum : uint { TBSTATE_PRESSED = 0x02 }
1909 -enum : uint { TBSTATE_ENABLED = 0x04 }
1910 -enum : uint { TBSTATE_HIDDEN = 0x08 }
1911 -enum : uint { TBSTATE_INDETERMINATE = 0x10 }
1912 -enum : uint { TBSTATE_WRAP = 0x20 }
1913 -// #if (_WIN32_IE >= 0x0300)
1914 -enum : uint { TBSTATE_ELLIPSES = 0x40 }
1915 -// #endif
1916 -// #if (_WIN32_IE >= 0x0400)
1917 -enum : uint { TBSTATE_MARKED = 0x80 }
1918 -// #endif
1919 -
1920 -enum : uint { TBSTYLE_BUTTON = 0x0000 }
1921 -enum : uint { TBSTYLE_SEP = 0x0001 }
1922 -enum : uint { TBSTYLE_CHECK = 0x0002 }
1923 -enum : uint { TBSTYLE_GROUP = 0x0004 }
1924 -enum : uint { TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK }
1925 -// #if (_WIN32_IE >= 0x0300)
1926 -enum : uint { TBSTYLE_DROPDOWN = 0x0008 }
1927 -// #endif
1928 -// #if (_WIN32_IE >= 0x0400)
1929 -enum : uint { TBSTYLE_AUTOSIZE = 0x0010 }
1930 -enum : uint { TBSTYLE_NOPREFIX = 0x0020 }
1931 -// #endif
1932 -
1933 -enum : uint { TBSTYLE_TOOLTIPS = 0x0100 }
1934 -enum : uint { TBSTYLE_WRAPABLE = 0x0200 }
1935 -enum : uint { TBSTYLE_ALTDRAG = 0x0400 }
1936 -// #if (_WIN32_IE >= 0x0300)
1937 -enum : uint { TBSTYLE_FLAT = 0x0800 }
1938 -enum : uint { TBSTYLE_LIST = 0x1000 }
1939 -enum : uint { TBSTYLE_CUSTOMERASE = 0x2000 }
1940 -// #endif
1941 -// #if (_WIN32_IE >= 0x0400)
1942 -enum : uint { TBSTYLE_REGISTERDROP = 0x4000 }
1943 -enum : uint { TBSTYLE_TRANSPARENT = 0x8000 }
1944 -enum : uint { TBSTYLE_EX_DRAWDDARROWS = 0x00000001 }
1945 -// #endif
1946 -
1947 -// #if (_WIN32_IE >= 0x0500)
1948 -alias TBSTYLE_BUTTON BTNS_BUTTON;
1949 -alias TBSTYLE_SEP BTNS_SEP;
1950 -alias TBSTYLE_CHECK BTNS_CHECK;
1951 -alias TBSTYLE_GROUP BTNS_GROUP;
1952 -alias TBSTYLE_CHECKGROUP BTNS_CHECKGROUP;
1953 -alias TBSTYLE_DROPDOWN BTNS_DROPDOWN;
1954 -alias TBSTYLE_AUTOSIZE BTNS_AUTOSIZE;
1955 -alias TBSTYLE_NOPREFIX BTNS_NOPREFIX;
1956 -// #if (_WIN32_IE >= 0x0501)
1957 -enum : uint { BTNS_SHOWTEXT = 0x0040 }
1958 -// #endif // 0x0501
1959 -enum : uint { BTNS_WHOLEDROPDOWN = 0x0080 }
1960 -// #endif
1961 -
1962 -// #if (_WIN32_IE >= 0x0501)
1963 -enum : uint { TBSTYLE_EX_MIXEDBUTTONS = 0x00000008 }
1964 -enum : uint { TBSTYLE_EX_HIDECLIPPEDBUTTONS = 0x00000010 }
1965 -// #endif // 0x0501
1966 -
1967 -// #if (_WIN32_WINNT >= 0x501)
1968 -enum : uint { TBSTYLE_EX_DOUBLEBUFFER = 0x00000080 }
1969 -// #endif
1970 -
1971 -// #if (_WIN32_IE >= 0x0400)
1972 -
1973 -struct _NMTBCUSTOMDRAW {
1974 - NMCUSTOMDRAW nmcd;
1975 - HBRUSH hbrMonoDither;
1976 - HBRUSH hbrLines;
1977 - HPEN hpenLines;
1978 -
1979 - COLORREF clrText;
1980 - COLORREF clrMark;
1981 - COLORREF clrTextHighlight;
1982 - COLORREF clrBtnFace;
1983 - COLORREF clrBtnHighlight;
1984 - COLORREF clrHighlightHotTrack;
1985 -
1986 - RECT rcText;
1987 -
1988 - int nStringBkMode;
1989 - int nHLStringBkMode;
1990 -// #if (_WIN32_WINNT >= 0x501)
1991 - int iListGap;
1992 -// #endif
1993 -}
1994 -alias _NMTBCUSTOMDRAW NMTBCUSTOMDRAW;
1995 -alias _NMTBCUSTOMDRAW* LPNMTBCUSTOMDRAW;
1996 -
1997 -enum : uint { TBCDRF_NOEDGES = 0x00010000 }
1998 -enum : uint { TBCDRF_HILITEHOTTRACK = 0x00020000 }
1999 -enum : uint { TBCDRF_NOOFFSET = 0x00040000 }
2000 -enum : uint { TBCDRF_NOMARK = 0x00080000 }
2001 -enum : uint { TBCDRF_NOETCHEDEFFECT = 0x00100000 }
2002 -// #endif
2003 -
2004 -// #if (_WIN32_IE >= 0x0500)
2005 -enum : uint { TBCDRF_BLENDICON = 0x00200000 }
2006 -enum : uint { TBCDRF_NOBACKGROUND = 0x00400000 }
2007 -// #endif
2008 -
2009 -enum : uint { TB_ENABLEBUTTON = WM_USER + 1 }
2010 -enum : uint { TB_CHECKBUTTON = WM_USER + 2 }
2011 -enum : uint { TB_PRESSBUTTON = WM_USER + 3 }
2012 -enum : uint { TB_HIDEBUTTON = WM_USER + 4 }
2013 -enum : uint { TB_INDETERMINATE = WM_USER + 5 }
2014 -// #if (_WIN32_IE >= 0x0400)
2015 -enum : uint { TB_MARKBUTTON = WM_USER + 6 }
2016 -// #endif
2017 -enum : uint { TB_ISBUTTONENABLED = WM_USER + 9 }
2018 -enum : uint { TB_ISBUTTONCHECKED = WM_USER + 10 }
2019 -enum : uint { TB_ISBUTTONPRESSED = WM_USER + 11 }
2020 -enum : uint { TB_ISBUTTONHIDDEN = WM_USER + 12 }
2021 -enum : uint { TB_ISBUTTONINDETERMINATE = WM_USER + 13 }
2022 -// #if (_WIN32_IE >= 0x0400)
2023 -enum : uint { TB_ISBUTTONHIGHLIGHTED = WM_USER + 14 }
2024 -// #endif
2025 -enum : uint { TB_SETSTATE = WM_USER + 17 }
2026 -enum : uint { TB_GETSTATE = WM_USER + 18 }
2027 -enum : uint { TB_ADDBITMAP = WM_USER + 19 }
2028 -
2029 -// #ifdef _WIN32
2030 -struct tagTBADDBITMAP {
2031 - HINSTANCE hInst;
2032 - UINT_PTR nID;
2033 -}
2034 -alias tagTBADDBITMAP TBADDBITMAP;
2035 -alias tagTBADDBITMAP* LPTBADDBITMAP;
2036 -
2037 -HINSTANCE HINST_COMMCTRL = cast(HINSTANCE)(-1);
2038 -enum : uint { IDB_STD_SMALL_COLOR = 0 }
2039 -enum : uint { IDB_STD_LARGE_COLOR = 1 }
2040 -enum : uint { IDB_VIEW_SMALL_COLOR = 4 }
2041 -enum : uint { IDB_VIEW_LARGE_COLOR = 5 }
2042 -// #if (_WIN32_IE >= 0x0300)
2043 -enum : uint { IDB_HIST_SMALL_COLOR = 8 }
2044 -enum : uint { IDB_HIST_LARGE_COLOR = 9 }
2045 -// #endif
2046 -
2047 -enum : uint { STD_CUT = 0 }
2048 -enum : uint { STD_COPY = 1 }
2049 -enum : uint { STD_PASTE = 2 }
2050 -enum : uint { STD_UNDO = 3 }
2051 -enum : uint { STD_REDOW = 4 }
2052 -enum : uint { STD_DELETE = 5 }
2053 -enum : uint { STD_FILENEW = 6 }
2054 -enum : uint { STD_FILEOPEN = 7 }
2055 -enum : uint { STD_FILESAVE = 8 }
2056 -enum : uint { STD_PRINTPRE = 9 }
2057 -enum : uint { STD_PROPERTIES = 10 }
2058 -enum : uint { STD_HELP = 11 }
2059 -enum : uint { STD_FIND = 12 }
2060 -enum : uint { STD_REPLACE = 13 }
2061 -enum : uint { STD_PRINT = 14 }
2062 -
2063 -enum : uint { VIEW_LARGEICONS = 0 }
2064 -enum : uint { VIEW_SMALLICONS = 1 }
2065 -enum : uint { VIEW_LIST = 2 }
2066 -enum : uint { VIEW_DETAILS = 3 }
2067 -enum : uint { VIEW_SORTNAME = 4 }
2068 -enum : uint { VIEW_SORTSIZE = 5 }
2069 -enum : uint { VIEW_SORTDATE = 6 }
2070 -enum : uint { VIEW_SORTTYPE = 7 }
2071 -enum : uint { VIEW_PARENTFOLDER = 8 }
2072 -enum : uint { VIEW_NETCONNECT = 9 }
2073 -enum : uint { VIEW_NETDISCONNECT = 10 }
2074 -enum : uint { VIEW_NEWFOLDER = 11 }
2075 -// #if (_WIN32_IE >= 0x0400)
2076 -enum : uint { VIEW_VIEWMENU = 12 }
2077 -// #endif
2078 -
2079 -// #if (_WIN32_IE >= 0x0300)
2080 -enum : uint { HIST_BACK = 0 }
2081 -enum : uint { HIST_FORWARD = 1 }
2082 -enum : uint { HIST_FAVORITES = 2 }
2083 -enum : uint { HIST_ADDTOFAVORITES = 3 }
2084 -enum : uint { HIST_VIEWTREE = 4 }
2085 -// #endif
2086 -
2087 -// #endif
2088 -
2089 -// #if (_WIN32_IE >= 0x0400)
2090 -enum : uint { TB_ADDBUTTONSA = WM_USER + 20 }
2091 -enum : uint { TB_INSERTBUTTONA = WM_USER + 21 }
2092 -// #else
2093 -// #...
2094 -// #...
2095 -// #endif
2096 -
2097 -enum : uint { TB_DELETEBUTTON = WM_USER + 22 }
2098 -enum : uint { TB_GETBUTTON = WM_USER + 23 }
2099 -enum : uint { TB_BUTTONCOUNT = WM_USER + 24 }
2100 -enum : uint { TB_COMMANDTOINDEX = WM_USER + 25 }
2101 -
2102 -// #ifdef _WIN32
2103 -
2104 -struct tagTBSAVEPARAMSA {
2105 - HKEY hkr;
2106 - LPCSTR pszSubKey;
2107 - LPCSTR pszValueName;
2108 -}
2109 -alias tagTBSAVEPARAMSA TBSAVEPARAMSA;
2110 -alias tagTBSAVEPARAMSA* LPTBSAVEPARAMSA;
2111 -
2112 -struct tagTBSAVEPARAMSW {
2113 - HKEY hkr;
2114 - LPCWSTR pszSubKey;
2115 - LPCWSTR pszValueName;
2116 -}
2117 -alias tagTBSAVEPARAMSW TBSAVEPARAMSW;
2118 -alias tagTBSAVEPARAMSW* LPTBSAVEPARAMW;
2119 -
2120 -// #ifdef UNICODE
2121 -alias TBSAVEPARAMSW TBSAVEPARAMS;
2122 -alias LPTBSAVEPARAMSW LPTBSAVEPARAMS;
2123 -// #else
2124 -// #...
2125 -// #...
2126 -// #endif
2127 -
2128 -// #endif // _WIN32
2129 -
2130 -enum : uint { TB_SAVERESTOREA = WM_USER + 26 }
2131 -enum : uint { TB_SAVERESTOREW = WM_USER + 76 }
2132 -enum : uint { TB_CUSTOMIZE = WM_USER + 27 }
2133 -enum : uint { TB_ADDSTRINGA = WM_USER + 28 }
2134 -enum : uint { TB_ADDSTRINGW = WM_USER + 77 }
2135 -enum : uint { TB_GETITEMRECT = WM_USER + 29 }
2136 -enum : uint { TB_BUTTONSTRUCTSIZE = WM_USER + 30 }
2137 -enum : uint { TB_SETBUTTONSIZE = WM_USER + 31 }
2138 -enum : uint { TB_SETBITMAPSIZE = WM_USER + 32 }
2139 -enum : uint { TB_AUTOSIZE = WM_USER + 33 }
2140 -enum : uint { TB_GETTOOLTIPS = WM_USER + 35 }
2141 -enum : uint { TB_SETTOOLTIPS = WM_USER + 36 }
2142 -enum : uint { TB_SETPARENT = WM_USER + 37 }
2143 -enum : uint { TB_SETROWS = WM_USER + 39 }
2144 -enum : uint { TB_GETROWS = WM_USER + 40 }
2145 -enum : uint { TB_SETCMDID = WM_USER + 42 }
2146 -enum : uint { TB_CHANGEBITMAP = WM_USER + 43 }
2147 -enum : uint { TB_GETBITMAP = WM_USER + 44 }
2148 -enum : uint { TB_GETBUTTONTEXTA = WM_USER + 45 }
2149 -enum : uint { TB_GETBUTTONTEXTW = WM_USER + 75 }
2150 -enum : uint { TB_REPLACEBITMAP = WM_USER + 46 }
2151 -// #if (_WIN32_IE >= 0x0300)
2152 -enum : uint { TB_SETINDENT = WM_USER + 47 }
2153 -enum : uint { TB_SETIMAGELIST = WM_USER + 48 }
2154 -enum : uint { TB_GETIMAGELIST = WM_USER + 49 }
2155 -enum : uint { TB_LOADIMAGES = WM_USER + 50 }
2156 -enum : uint { TB_GETRECT = WM_USER + 51 }
2157 -enum : uint { TB_SETHOTIMAGELIST = WM_USER + 52 }
2158 -enum : uint { TB_GETHOTIMAGELIST = WM_USER + 53 }
2159 -enum : uint { TB_SETDISABLEDIMAGELIST = WM_USER + 54 }
2160 -enum : uint { TB_GETDISABLEDIMAGELIST = WM_USER + 55 }
2161 -enum : uint { TB_SETSTYLE = WM_USER + 56 }
2162 -enum : uint { TB_GETSTYLE = WM_USER + 57 }
2163 -enum : uint { TB_GETBUTTONSIZE = WM_USER + 58 }
2164 -enum : uint { TB_SETBUTTONWIDTH = WM_USER + 59 }
2165 -enum : uint { TB_SETMAXTEXTROWS = WM_USER + 60 }
2166 -enum : uint { TB_GETTEXTROWS = WM_USER + 61 }
2167 -// #endif // _WIN32_IE >= 0x0300
2168 -
2169 -// #ifdef UNICODE
2170 -alias TB_GETBUTTONTEXTW TB_GETBUTTONTEXT;
2171 -alias TB_SAVERESTOREW TB_SAVERESTORE;
2172 -alias TB_ADDSTRINGW TB_ADDSTRING;
2173 -// #else
2174 -// #...
2175 -// #...
2176 -// #...
2177 -// #endif
2178 -// #if (_WIN32_IE >= 0x0400)
2179 -enum : uint { TB_GETOBJECT = WM_USER + 62 }
2180 -enum : uint { TB_GETHOTITEM = WM_USER + 71 }
2181 -enum : uint { TB_SETHOTITEM = WM_USER + 72 }
2182 -enum : uint { TB_SETANCHORHIGHLIGHT = WM_USER + 73 }
2183 -enum : uint { TB_GETANCHORHIGHLIGHT = WM_USER + 74 }
2184 -enum : uint { TB_MAPACCELERATORA = WM_USER + 78 }
2185 -
2186 -struct _0 {
2187 - int iButton;
2188 - DWORD dwFlags;
2189 -}
2190 -alias _0 TBINSERTMARK;
2191 -alias _0* LPTBINSERTMARK;
2192 -
2193 -enum : uint { TBIMHT_AFTER = 0x00000001 }
2194 -enum : uint { TBIMHT_BACKGROUND = 0x00000002 }
2195 -
2196 -enum : uint { TB_GETINSERTMARK = WM_USER + 79 }
2197 -enum : uint { TB_SETINSERTMARK = WM_USER + 80 }
2198 -enum : uint { TB_INSERTMARKHITTEST = WM_USER + 81 }
2199 -enum : uint { TB_MOVEBUTTON = WM_USER + 82 }
2200 -enum : uint { TB_GETMAXSIZE = WM_USER + 83 }
2201 -enum : uint { TB_SETEXTENDEDSTYLE = WM_USER + 84 }
2202 -enum : uint { TB_GETEXTENDEDSTYLE = WM_USER + 85 }
2203 -enum : uint { TB_GETPADDING = WM_USER + 86 }
2204 -enum : uint { TB_SETPADDING = WM_USER + 87 }
2205 -enum : uint { TB_SETINSERTMARKCOLOR = WM_USER + 88 }
2206 -enum : uint { TB_GETINSERTMARKCOLOR = WM_USER + 89 }
2207 -
2208 -alias CCM_SETCOLORSCHEME TB_SETCOLORSCHEME;
2209 -alias CCM_GETCOLORSCHEME TB_GETCOLORSCHEME;
2210 -
2211 -alias CCM_SETUNICODEFORMAT TB_SETUNICODEFORMAT;
2212 -alias CCM_GETUNICODEFORMAT TB_GETUNICODEFORMAT;
2213 -
2214 -enum : uint { TB_MAPACCELERATORW = WM_USER + 90 }
2215 -// #ifdef UNICODE
2216 -alias TB_MAPACCELERATORW TB_MAPACCELERATOR;
2217 -// #else
2218 -// #...
2219 -// #endif
2220 -
2221 -// #endif // _WIN32_IE >= 0x0400
2222 -
2223 -struct _1 {
2224 - HINSTANCE hInstOld;
2225 - UINT_PTR nIDOld;
2226 - HINSTANCE hInstNew;
2227 - UINT_PTR nIDNew;
2228 - int nButtons;
2229 -}
2230 -alias _1 TBREPLACEBITMAP;
2231 -alias _1* LPTBREPLACEBITMAP;
2232 -
2233 -// #ifdef _WIN32
2234 -
2235 -enum : uint { TBBF_LARGE = 0x0001 }
2236 -
2237 -enum : uint { TB_GETBITMAPFLAGS = WM_USER + 41 }
2238 -
2239 -// #if (_WIN32_IE >= 0x0400)
2240 -enum : uint { TBIF_IMAGE = 0x00000001 }
2241 -enum : uint { TBIF_TEXT = 0x00000002 }
2242 -enum : uint { TBIF_STATE = 0x00000004 }
2243 -enum : uint { TBIF_STYLE = 0x00000008 }
2244 -enum : uint { TBIF_LPARAM = 0x00000010 }
2245 -enum : uint { TBIF_COMMAND = 0x00000020 }
2246 -enum : uint { TBIF_SIZE = 0x00000040 }
2247 -
2248 -// #if (_WIN32_IE >= 0x0500)
2249 -enum : uint { TBIF_BYINDEX = 0x80000000 }
2250 -// #endif
2251 -
2252 -struct _2 {
2253 - UINT cbSize;
2254 - DWORD dwMask;
2255 - int idCommand;
2256 - int iImage;
2257 - BYTE fsState;
2258 - BYTE fsStyle;
2259 - WORD cx;
2260 - DWORD_PTR lParam;
2261 - LPSTR pszText;
2262 - int cchText;
2263 -}
2264 -alias _2 TBBUTTONINFOA;
2265 -alias _2* LPTBBUTTONINFOA;
2266 -
2267 -struct _3 {
2268 - UINT cbSize;
2269 - DWORD dwMask;
2270 - int idCommand;
2271 - int iImage;
2272 - BYTE fsState;
2273 - BYTE fsStyle;
2274 - WORD cx;
2275 - DWORD_PTR lParam;
2276 - LPWSTR pszText;
2277 - int cchText;
2278 -}
2279 -alias _3 TBBUTTONINFOW;
2280 -alias _3* LPTBBUTTONINFOW;
2281 -
2282 -// #ifdef UNICODE
2283 -alias TBBUTTONINFOW TBBUTTONINFO;
2284 -alias LPTBBUTTONINFOW LPTBBUTTONINFO;
2285 -// #else
2286 -// #...
2287 -// #...
2288 -// #endif
2289 -
2290 -enum : uint { TB_GETBUTTONINFOW = WM_USER + 63 }
2291 -enum : uint { TB_SETBUTTONINFOW = WM_USER + 64 }
2292 -enum : uint { TB_GETBUTTONINFOA = WM_USER + 65 }
2293 -enum : uint { TB_SETBUTTONINFOA = WM_USER + 66 }
2294 -// #ifdef UNICODE
2295 -alias TB_GETBUTTONINFOW TB_GETBUTTONINFO;
2296 -alias TB_SETBUTTONINFOW TB_SETBUTTONINFO;
2297 -// #else
2298 -// #...
2299 -// #...
2300 -// #endif
2301 -
2302 -enum : uint { TB_INSERTBUTTONW = WM_USER + 67 }
2303 -enum : uint { TB_ADDBUTTONSW = WM_USER + 68 }
2304 -
2305 -enum : uint { TB_HITTEST = WM_USER + 69 }
2306 -
2307 -// #ifdef UNICODE
2308 -alias TB_INSERTBUTTONW TB_INSERTBUTTON;
2309 -alias TB_ADDBUTTONSW TB_ADDBUTTONS;
2310 -// #else
2311 -// #...
2312 -// #...
2313 -// #endif
2314 -
2315 -enum : uint { TB_SETDRAWTEXTFLAGS = WM_USER + 70 }
2316 -
2317 -// #endif // _WIN32_IE >= 0x0400
2318 -
2319 -// #if (_WIN32_IE >= 0x0500)
2320 -
2321 -enum : uint { TB_GETSTRINGW = WM_USER + 91 }
2322 -enum : uint { TB_GETSTRINGA = WM_USER + 92 }
2323 -// #ifdef UNICODE
2324 -alias TB_GETSTRINGW TB_GETSTRING;
2325 -// #else
2326 -// #...
2327 -// #endif
2328 -
2329 -// #endif // _WIN32_IE >= 0x0500
2330 -
2331 -// #if (_WIN32_WINNT >= 0x501)
2332 -enum : uint { TBMF_PAD = 0x00000001 }
2333 -enum : uint { TBMF_BARPAD = 0x00000002 }
2334 -enum : uint { TBMF_BUTTONSPACING = 0x00000004 }
2335 -
2336 -struct _4 {
2337 - UINT cbSize;
2338 - DWORD dwMask;
2339 - int cxPad;
2340 - int cyPad;
2341 - int cxBarPad;
2342 - int cyBarPad;
2343 - int cxButtonSpacing;
2344 - int cyButtonSpacing;
2345 -}
2346 -alias _4 TBMETRICS;
2347 -alias _4* LPTBMETRICS;
2348 -
2349 -enum : uint { TB_GETMETRICS = WM_USER + 101 }
2350 -enum : uint { TB_SETMETRICS = WM_USER + 102 }
2351 -// #endif
2352 -
2353 -// #if (_WIN32_WINNT >= 0x501)
2354 -alias CCM_SETWINDOWTHEME TB_SETWINDOWTHEME;
2355 -// #endif
2356 -
2357 -enum : uint { TBN_GETBUTTONINFOA = TBN_FIRST-0 }
2358 -enum : uint { TBN_BEGINDRAG = TBN_FIRST-1 }
2359 -enum : uint { TBN_ENDDRAG = TBN_FIRST-2 }
2360 -enum : uint { TBN_BEGINADJUST = TBN_FIRST-3 }
2361 -enum : uint { TBN_ENDADJUST = TBN_FIRST-4 }
2362 -enum : uint { TBN_RESET = TBN_FIRST-5 }
2363 -enum : uint { TBN_QUERYINSERT = TBN_FIRST-6 }
2364 -enum : uint { TBN_QUERYDELETE = TBN_FIRST-7 }
2365 -enum : uint { TBN_TOOLBARCHANGE = TBN_FIRST-8 }
2366 -enum : uint { TBN_CUSTHELP = TBN_FIRST-9 }
2367 -// #if (_WIN32_IE >= 0x0300)
2368 -enum : uint { TBN_DROPDOWN = TBN_FIRST - 10 }
2369 -// #endif
2370 -// #if (_WIN32_IE >= 0x0400)
2371 -enum : uint { TBN_GETOBJECT = TBN_FIRST - 12 }
2372 -
2373 -struct tagNMTBHOTITEM {
2374 - NMHDR hdr;
2375 - int idOld;
2376 - int idNew;
2377 - DWORD dwFlags;
2378 -}
2379 -alias tagNMTBHOTITEM NMTBHOTITEM;
2380 -alias tagNMTBHOTITEM* LPNMTBHOTITEM;
2381 -
2382 -enum : uint { HICF_OTHER = 0x00000000 }
2383 -enum : uint { HICF_MOUSE = 0x00000001 }
2384 -enum : uint { HICF_ARROWKEYS = 0x00000002 }
2385 -enum : uint { HICF_ACCELERATOR = 0x00000004 }
2386 -enum : uint { HICF_DUPACCEL = 0x00000008 }
2387 -enum : uint { HICF_ENTERING = 0x00000010 }
2388 -enum : uint { HICF_LEAVING = 0x00000020 }
2389 -enum : uint { HICF_RESELECT = 0x00000040 }
2390 -enum : uint { HICF_LMOUSE = 0x00000080 }
2391 -enum : uint { HICF_TOGGLEDROPDOWN = 0x00000100 }
2392 -
2393 -enum : uint { TBN_HOTITEMCHANGE = TBN_FIRST - 13 }
2394 -enum : uint { TBN_DRAGOUT = TBN_FIRST - 14 }
2395 -enum : uint { TBN_DELETINGBUTTON = TBN_FIRST - 15 }
2396 -enum : uint { TBN_GETDISPINFOA = TBN_FIRST - 16 }
2397 -enum : uint { TBN_GETDISPINFOW = TBN_FIRST - 17 }
2398 -enum : uint { TBN_GETINFOTIPA = TBN_FIRST - 18 }
2399 -enum : uint { TBN_GETINFOTIPW = TBN_FIRST - 19 }
2400 -enum : uint { TBN_GETBUTTONINFOW = TBN_FIRST - 20 }
2401 -// #if (_WIN32_IE >= 0x0500)
2402 -enum : uint { TBN_RESTORE = TBN_FIRST - 21 }
2403 -enum : uint { TBN_SAVE = TBN_FIRST - 22 }
2404 -enum : uint { TBN_INITCUSTOMIZE = TBN_FIRST - 23 }
2405 -enum : uint { TBNRF_HIDEHELP = 0x00000001 }
2406 -enum : uint { TBNRF_ENDCUSTOMIZE = 0x00000002 }
2407 -// #endif // (_WIN32_IE >= 0x0500)
2408 -
2409 -// #if (_WIN32_IE >= 0x0500)
2410 -
2411 -struct tagNMTBSAVE {
2412 - NMHDR hdr;
2413 - DWORD * pData;
2414 - DWORD * pCurrent;
2415 - UINT cbData;
2416 - int iItem;
2417 - int cButtons;
2418 - TBBUTTON tbButton;
2419 -}
2420 -alias tagNMTBSAVE NMTBSAVE;
2421 -alias tagNMTBSAVE* LPNMTBSAVE;
2422 -
2423 -struct tagNMTBRESTORE {
2424 - NMHDR hdr;
2425 - DWORD * pData;
2426 - DWORD * pCurrent;
2427 - UINT cbData;
2428 - int iItem;
2429 - int cButtons;
2430 - int cbBytesPerRecord;
2431 - TBBUTTON tbButton;
2432 -}
2433 -alias tagNMTBRESTORE NMTBRESTORE;
2434 -alias tagNMTBRESTORE* LPNMTBRESTORE;
2435 -
2436 -// #endif // (_WIN32_IE >= 0x0500)
2437 -
2438 -struct tagNMTBGETINFOTIPA {
2439 - NMHDR hdr;
2440 - LPSTR pszText;
2441 - int cchTextMax;
2442 - int iItem;
2443 - LPARAM lParam;
2444 -}
2445 -alias tagNMTBGETINFOTIPA NMTBGETINFOTIPA;
2446 -alias tagNMTBGETINFOTIPA* LPNMTBGETINFOTIPA;
2447 -
2448 -struct tagNMTBGETINFOTIPW {
2449 - NMHDR hdr;
2450 - LPWSTR pszText;
2451 - int cchTextMax;
2452 - int iItem;
2453 - LPARAM lParam;
2454 -}
2455 -alias tagNMTBGETINFOTIPW NMTBGETINFOTIPW;
2456 -alias tagNMTBGETINFOTIPW* LPNMTBGETINFOTIPW;
2457 -
2458 -// #ifdef UNICODE
2459 -alias TBN_GETINFOTIPW TBN_GETINFOTIP;
2460 -alias NMTBGETINFOTIPW NMTBGETINFOTIP;
2461 -alias LPNMTBGETINFOTIPW LPNMTBGETINFOTIP;
2462 -// #else
2463 -// #...
2464 -// #...
2465 -// #...
2466 -// #endif
2467 -
2468 -enum : uint { TBNF_IMAGE = 0x00000001 }
2469 -enum : uint { TBNF_TEXT = 0x00000002 }
2470 -enum : uint { TBNF_DI_SETITEM = 0x10000000 }
2471 -
2472 -struct _5 {
2473 - NMHDR hdr;
2474 - DWORD dwMask;
2475 - int idCommand;
2476 - DWORD_PTR lParam;
2477 - int iImage;
2478 - LPSTR pszText;
2479 - int cchText;
2480 -}
2481 -alias _5 NMTBDISPINFOA;
2482 -alias _5* LPNMTBDISPINFOA;
2483 -
2484 -struct _6 {
2485 - NMHDR hdr;
2486 - DWORD dwMask;
2487 - int idCommand;
2488 - DWORD_PTR lParam;
2489 - int iImage;
2490 - LPWSTR pszText;
2491 - int cchText;
2492 -}
2493 -alias _6 NMTBDISPINFOW;
2494 -alias _6* LPNMTBDISPINFOW;
2495 -
2496 -// #ifdef UNICODE
2497 -alias TBN_GETDISPINFOW TBN_GETDISPINFO;
2498 -alias NMTBDISPINFOW NMTBDISPINFO;
2499 -alias LPNMTBDISPINFOW LPNMTBDISPINFO;
2500 -// #else
2501 -// #...
2502 -// #...
2503 -// #...
2504 -// #endif
2505 -
2506 -enum : uint { TBDDRET_DEFAULT = 0 }
2507 -enum : uint { TBDDRET_NODEFAULT = 1 }
2508 -enum : uint { TBDDRET_TREATPRESSED = 2 }
2509 -
2510 -// #endif
2511 -
2512 -// #ifdef UNICODE
2513 -alias TBN_GETBUTTONINFOW TBN_GETBUTTONINFO;
2514 -// #else
2515 -// #...
2516 -// #endif
2517 -
2518 -// #if (_WIN32_IE >= 0x0300)
11 +pragma(lib, "comctl32.lib");
12 +
13 +private import win32.w32api, win32.windef, win32.winuser;
14 +private import win32.winbase; // for SYSTEMTIME
15 +private import win32.objfwd; // for LPSTREAM
16 +
17 +import win32.prsht;
18 +
19 +const COMCTL32_VERSION = 6;
20 +
21 +const TCHAR[]
22 + DRAGLISTMSGSTRING = "commctrl_DragListMsg",
23 + HOTKEY_CLASS = "msctls_hotkey32",
24 + PROGRESS_CLASS = "msctls_progress32",
25 + STATUSCLASSNAME = "msctls_statusbar32",
26 + TOOLBARCLASSNAME = "ToolbarWindow32",
27 + TOOLTIPS_CLASS = "tooltips_class32",
28 + TRACKBAR_CLASS = "msctls_trackbar32",
29 + UPDOWN_CLASS = "msctls_updown32",
30 + ANIMATE_CLASS = "SysAnimate32",
31 + DATETIMEPICK_CLASS = "SysDateTimePick32",
32 + MONTHCAL_CLASS = "SysMonthCal32",
33 + REBARCLASSNAME = "ReBarWindow32",
34 + WC_COMBOBOXEX = "ComboBoxEx32",
35 + WC_IPADDRESS = "SysIPAddress32",
36 + WC_LISTVIEW = "SysListView32",
37 + WC_TABCONTROL = "SysTabControl32",
38 + WC_TREEVIEW = "SysTreeView32",
39 + WC_HEADER = "SysHeader32",
40 + WC_PAGESCROLLER = "SysPager",
41 + WC_NATIVEFONTCTL = "NativeFontCtl",
42 + WC_BUTTON = "Button",
43 + WC_STATIC = "Static",
44 + WC_EDIT = "Edit",
45 + WC_LISTBOX = "ListBox",
46 + WC_COMBOBOX = "ComboBox",
47 + WC_SCROLLBAR = "ScrollBar",
48 + WC_LINKA = "SysLink";
49 +
50 +enum {
51 + LVM_FIRST = 0x1000,
52 + TV_FIRST = 0x1100,
53 + HDM_FIRST = 0x1200
54 +}
55 +
56 +enum {
57 + ACM_OPENA = WM_USER + 100,
58 + ACM_PLAY = WM_USER + 101,
59 + ACM_STOP = WM_USER + 102,
60 + ACM_OPENW = WM_USER + 103
61 +}
62 +
63 +enum {
64 + ACN_START = 1,
65 + ACN_STOP
66 +}
67 +
68 +enum {
69 + CBEIF_TEXT = 0x00000001,
70 + CBEIF_IMAGE = 0x00000002,
71 + CBEIF_SELECTEDIMAGE = 0x00000004,
72 + CBEIF_OVERLAY = 0x00000008,
73 + CBEIF_INDENT = 0x00000010,
74 + CBEIF_LPARAM = 0x00000020,
75 + CBEIF_DI_SETITEM = 0x10000000
76 +}
77 +
78 +enum {
79 + RBN_FIRST = -831U,
80 + RBN_LAST = -859U,
81 + MCN_FIRST = -750U,
82 + MCN_LAST = -759U,
83 + DTN_FIRST = -760U,
84 + DTN_LAST = -799U,
85 + CBEN_FIRST = -800U,
86 + CBEN_LAST = -830U
87 +}
88 +
89 +enum {
90 + CBEN_INSERTITEM = CBEN_FIRST - 1,
91 + CBEN_DELETEITEM = CBEN_FIRST - 2,
92 + CBEN_BEGINEDIT = CBEN_FIRST - 4,
93 + CBEN_ENDEDITA = CBEN_FIRST - 5,
94 + CBEN_ENDEDITW = CBEN_FIRST - 6
95 +}
96 +
97 +enum {
98 + CBENF_KILLFOCUS = 1,
99 + CBENF_RETURN,
100 + CBENF_ESCAPE,
101 + CBENF_DROPDOWN // = 4
102 +}
103 +
104 +const CBEMAXSTRLEN = 260;
105 +
106 +enum {
107 + DL_BEGINDRAG = 1157,
108 + DL_CANCELDRAG = 1160,
109 + DL_DRAGGING = 1158,
110 + DL_DROPPED = 1159,
111 + DL_CURSORSET = 0,
112 + DL_STOPCURSOR = 1,
113 + DL_COPYCURSOR = 2,
114 + DL_MOVECURSOR = 3
115 +}
116 +
117 +enum {
118 + CCS_TOP = 1,
119 + CCS_NOMOVEY = 2,
120 + CCS_BOTTOM = 3,
121 + CCS_NORESIZE = 4,
122 + CCS_NOPARENTALIGN = 8,
123 + CCS_ADJUSTABLE = 32,
124 + CCS_NODIVIDER = 64
125 +}
126 +static if (_WIN32_IE >= 0x300) {
127 + enum {
128 + CCS_VERT = 128,
129 + CCS_LEFT = 129,
130 + CCS_NOMOVEX = 130,
131 + CCS_RIGHT = 131
132 + }
133 +}
134 +
135 +enum {
136 + ACS_CENTER = 0x0001,
137 + ACS_TRANSPARENT = 0x0002,
138 + ACS_AUTOPLAY = 0x0004,
139 + ACS_TIMER = 0x0008
140 +}
141 +
142 +enum {
143 + PGS_VERT = 0x00000000,
144 + PGS_HORZ = 0x00000001,
145 + PGS_AUTOSCROLL = 0x00000002,
146 + PGS_DRAGNDROP = 0x00000004
147 +}
148 +
149 +const CMB_MASKED = 2;
150 +
151 +const MINSYSCOMMAND = SC_SIZE;
152 +
153 +enum {
154 + SBT_OWNERDRAW = 0x1000,
155 + SBT_NOBORDERS = 256,
156 + SBT_POPOUT = 512,
157 + SBT_RTLREADING = 1024
158 +}
159 +
160 +enum {
161 + SB_SETTEXTA = WM_USER + 1,
162 + SB_SETTEXTW = WM_USER + 11,
163 + SB_GETTEXTA = WM_USER + 2,
164 + SB_GETTEXTW = WM_USER + 13,
165 + SB_GETTEXTLENGTHA = WM_USER + 3,
166 + SB_GETTEXTLENGTHW = WM_USER + 12,
167 + SB_SETPARTS = WM_USER + 4,
168 + SB_GETPARTS = WM_USER + 6,
169 + SB_GETBORDERS = WM_USER + 7,
170 + SB_SETMINHEIGHT = WM_USER + 8,
171 + SB_SIMPLE = WM_USER + 9,
172 + SB_GETRECT = WM_USER + 10
173 +}
174 +
175 +enum {
176 + MSGF_COMMCTRL_BEGINDRAG = 0x4200,
177 + MSGF_COMMCTRL_SIZEHEADER = 0x4201,
178 + MSGF_COMMCTRL_DRAGSELECT = 0x4202,
179 + MSGF_COMMCTRL_TOOLBARCUST = 0x4203
180 +}
181 +
182 +enum {
183 + ILC_COLOR = 0,
184 + ILC_COLOR4 = 4,
185 + ILC_COLOR8 = 8,
186 + ILC_COLOR16 = 16,
187 + ILC_COLOR24 = 24,
188 + ILC_COLOR32 = 32,
189 + ILC_COLORDDB = 254,
190 + ILC_MASK = 1,
191 + ILC_PALETTE = 2048
192 +}
193 +
194 +enum {
195 + ILCF_MOVE,
196 + ILCF_SWAP
197 +}
198 +
199 +enum {
200 + ILS_NORMAL = 0,
201 + ILS_GLOW = 1,
202 + ILS_SHADOW = 2,
203 + ILS_SATURATE = 4,
204 + ILS_ALPHA = 8,
205 + ILD_BLEND25 = 2,
206 + ILD_BLEND50 = 4,
207 + ILD_SELECTED = 4,
208 + ILD_BLEND = 4,
209 + ILD_FOCUS = 2,
210 + ILD_MASK = 16,
211 + ILD_NORMAL = 0,
212 + ILD_TRANSPARENT = 1,
213 + ILD_IMAGE = 0x0020,
214 + ILD_ROP = 0x0040,
215 + ILD_OVERLAYMASK = 0x0F00,
216 + ILD_PRESERVEALPHA = 0x1000,
217 + ILD_SCALE = 0x2000,
218 + ILD_DPISCALE = 0x4000
219 +}
220 +
221 +enum {
222 + HDS_HORZ = 0,
223 + HDS_BUTTONS = 2,
224 + HDS_HIDDEN = 8
225 +}
226 +static if (_WIN32_IE >= 0x400) {
227 + enum {
228 + HDS_HOTTRACK = 4,
229 + HDS_DRAGDROP = 0x0040,
230 + HDS_FULLDRAG = 0x0080
231 + }
232 +}
233 +static if (_WIN32_IE >= 0x500) {
234 + enum {
235 + HDS_FILTERBAR = 0x0100
236 + }
237 +}
238 +
239 +enum {
240 + NM_FIRST = 0,
241 + NM_LAST = -99U,
242 + LVN_FIRST = -100U,
243 + LVN_LAST = -199U,
244 + HDN_FIRST = -300U,
245 + HDN_LAST = -399U,
246 + TVN_FIRST = -400U,
247 + TVN_LAST = -499U,
248 + TTN_FIRST = -520U,
249 + TTN_LAST = -549U,
250 + TCN_FIRST = -550U,
251 + TCN_LAST = -580U,
252 + CDN_FIRST = -601U, /* also in commdlg.h */
253 + CDN_LAST = -699U,
254 + TBN_FIRST = -700U,
255 + TBN_LAST = -720U,
256 + UDN_FIRST = -721U,
257 + UDN_LAST = -740U
258 +}
259 +/*static if (_WIN32_IE >= 0x300) {
260 + enum {
261 + RBN_FIRST = -831U,
262 + RBN_LAST = -859U,
263 + MCN_FIRST = -750U,
264 + MCN_LAST = -759U,
265 + DTN_FIRST = -760U,
266 + DTN_LAST = -799U,
267 + CBEN_FIRST = -800U,
268 + CBEN_LAST = -830U
269 + }
270 +}*/
271 +static if (_WIN32_IE >= 0x400) {
272 + enum {
273 + IPN_FIRST = -860U,
274 + IPN_LAST = -879U,
275 + IPN_FIELDCHANGED = IPN_FIRST,
276 + SBN_FIRST = -880U,
277 + SBN_LAST = -899U,
278 + PGN_FIRST = -900U,
279 + PGN_LAST = -950U,
280 + PGN_SCROLL = PGN_FIRST-1,
281 + PGN_CALCSIZE = PGN_FIRST-2
282 + }
283 +}
284 +
285 +enum {
286 + HDI_WIDTH = 1,
287 + HDI_HEIGHT = 1,
288 + HDI_TEXT = 2,
289 + HDI_FORMAT = 4,
290 + HDI_LPARAM = 8,
291 + HDI_BITMAP = 16
292 +}
293 +static if (_WIN32_IE >= 0x300) {
294 + enum {
295 + HDI_IMAGE = 32,
296 + HDI_DI_SETITEM = 64,
297 + HDI_ORDER = 128
298 + }
299 +}
300 +static if (_WIN32_IE >= 0x500) {
301 + enum {
302 + HDI_FILTER = 256
303 + }
304 +}
305 +
306 +enum {
307 + CBES_EX_NOEDITIMAGE = 0x00000001,
308 + CBES_EX_NOEDITIMAGEINDENT = 0x00000002,
309 + CBES_EX_PATHWORDBREAKPROC = 0x00000004
310 +}
311 +static if (_WIN32_IE >= 0x400) {
312 + enum {
313 + CBES_EX_NOSIZELIMIT = 0x00000008,
314 + CBES_EX_CASESENSITIVE = 0x00000010,
315 + CBEN_GETDISPINFOA = CBEN_FIRST - 0,
316 + CBEN_GETDISPINFOW = CBEN_FIRST - 7,
317 + CBEN_DRAGBEGINA = CBEN_FIRST - 8,
318 + CBEN_DRAGBEGINW = CBEN_FIRST - 9
319 + }
320 +}
321 +
322 +enum {
323 + HDF_LEFT,
324 + HDF_RIGHT,
325 + HDF_CENTER,
326 + HDF_JUSTIFYMASK,
327 + HDF_RTLREADING, // = 4
328 + HDF_OWNERDRAW = 0x8000,
329 + HDF_STRING = 0x4000,
330 + HDF_BITMAP = 0x2000
331 +}
332 +static if (_WIN32_IE >= 0x300) {
333 + enum {
334 + HDF_BITMAP_ON_RIGHT = 0x1000,
335 + HDF_IMAGE = 0x0800
336 + }
337 +}
338 +
339 +enum {
340 + CCM_FIRST = 0x2000,
341 + CCM_LAST = CCM_FIRST + 0x200,
342 + CCM_SETBKCOLOR = 8193,
343 + CCM_SETCOLORSCHEME = 8194,
344 + CCM_GETCOLORSCHEME = 8195,
345 + CCM_GETDROPTARGET = 8196,
346 + CCM_SETUNICODEFORMAT = 8197,
347 + CCM_GETUNICODEFORMAT = 8198,
348 + CCM_SETVERSION = 0x2007,
349 + CCM_GETVERSION = 0x2008,
350 + CCM_SETNOTIFYWINDOW = 0x2009
351 +}
352 +
353 +enum {
354 + HDM_GETITEMCOUNT = HDM_FIRST,
355 + HDM_INSERTITEMA = HDM_FIRST + 1,
356 + HDM_INSERTITEMW = HDM_FIRST + 10,
357 + HDM_DELETEITEM = HDM_FIRST + 2,
358 + HDM_GETITEMA = HDM_FIRST + 3,
359 + HDM_GETITEMW = HDM_FIRST + 11,
360 + HDM_SETITEMA = HDM_FIRST + 4,
361 + HDM_SETITEMW = HDM_FIRST + 12,
362 + HDM_LAYOUT = HDM_FIRST + 5
363 +}
364 +static if (_WIN32_IE >= 0x300) {
365 + enum {
366 + HDM_GETITEMRECT = HDM_FIRST + 7,
367 + HDM_SETIMAGELIST = HDM_FIRST + 8,
368 + HDM_GETIMAGELIST = HDM_FIRST + 9,
369 + HDM_ORDERTOINDEX = HDM_FIRST + 15,
370 + HDM_CREATEDRAGIMAGE = HDM_FIRST + 16,
371 + HDM_GETORDERARRAY = HDM_FIRST + 17,
372 + HDM_SETORDERARRAY = HDM_FIRST + 18,
373 + HDM_SETHOTDIVIDER = HDM_FIRST + 19
374 + }
375 +}
376 +static if (_WIN32_IE >= 0x400) {
377 + enum {
378 + HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
379 + HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
380 + }
381 +}
382 +
383 +enum {
384 + HHT_NOWHERE = 1,
385 + HHT_ONHEADER = 2,
386 + HHT_ONDIVIDER = 4,
387 + HHT_ONDIVOPEN = 8,
388 + HHT_ABOVE = 256,
389 + HHT_BELOW = 512,
390 + HHT_TORIGHT = 1024,
391 + HHT_TOLEFT = 2048
392 +}
393 +
394 +enum {
395 + HDM_HITTEST = HDM_FIRST + 6
396 +}
397 +
398 +enum {
399 + HDN_ITEMCHANGINGA = HDN_FIRST -0,
400 + HDN_ITEMCHANGINGW = HDN_FIRST -20,
401 + HDN_ITEMCHANGEDA = HDN_FIRST -1,
402 + HDN_ITEMCHANGEDW = HDN_FIRST -21,
403 + HDN_ITEMCLICKA = HDN_FIRST -2,
404 + HDN_ITEMCLICKW = HDN_FIRST -22,
405 + HDN_ITEMDBLCLICKA = HDN_FIRST -3,
406 + HDN_ITEMDBLCLICKW = HDN_FIRST -23,
407 + HDN_DIVIDERDBLCLICKA = HDN_FIRST -5,
408 + HDN_DIVIDERDBLCLICKW = HDN_FIRST -25,
409 + HDN_BEGINTRACKA = HDN_FIRST -6,
410 + HDN_BEGINTRACKW = HDN_FIRST -26,
411 + HDN_ENDTRACKA = HDN_FIRST -7,
412 + HDN_ENDTRACKW = HDN_FIRST -27,
413 + HDN_TRACKA = HDN_FIRST -8,
414 + HDN_TRACKW = HDN_FIRST -28
415 +}
416 +static if (_WIN32_IE >= 0x300) {
417 + enum {
418 + HDN_ENDDRAG = (HDN_FIRST-11),
419 + HDN_BEGINDRAG = (HDN_FIRST-10),
420 + HDN_GETDISPINFOA = (HDN_FIRST-9),
421 + HDN_GETDISPINFOW = (HDN_FIRST-29)
422 + }
423 +}
424 +
425 +static if (_WIN32_IE >= 0x400) {
426 + enum {
427 + HICF_OTHER = 0x00,
428 + HICF_MOUSE = 0x01,
429 + HICF_ARROWKEYS = 0x02,
430 + HICF_ACCELERATOR = 0x04,
431 + HICF_DUPACCEL = 0x08,
432 + HICF_ENTERING = 0x10,
433 + HICF_LEAVING = 0x20,
434 + HICF_RESELECT = 0x40,
435 + HICF_LMOUSE = 0x80,
436 + HICF_TOGGLEDROPDOWN = 0x100
437 + }
438 +}
439 +
440 +enum {
441 + IPM_CLEARADDRESS = WM_USER + 100,
442 + IPM_SETADDRESS = WM_USER + 101,
443 + IPM_GETADDRESS = WM_USER + 102,
444 + IPM_SETRANGE = WM_USER + 103,
445 + IPM_SETFOCUS = WM_USER + 104,
446 + IPM_ISBLANK = WM_USER + 105
447 +}
448 +
449 +static if (_WIN32_IE >= 0x500) {
450 + enum {
451 + I_INDENTCALLBACK = -1,
452 + I_IMAGENONE = -2
453 + }
454 +}
455 +
456 +enum {
457 + TBSTATE_CHECKED = 1,
458 + TBSTATE_PRESSED = 2,
459 + TBSTATE_ENABLED = 4,
460 + TBSTATE_HIDDEN = 8,
461 + TBSTATE_INDETERMINATE = 16,
462 + TBSTATE_WRAP = 32
463 +}
464 +static if (_WIN32_IE >= 0x300) {
465 + enum {
466 + TBSTATE_ELLIPSES = 0x40
467 + }
468 +}
469 +static if (_WIN32_IE >= 0x400) {
470 + enum {
471 + TBSTATE_MARKED = 0x0080
472 + }
473 +}
474 +
475 +enum {
476 + TBSTYLE_BUTTON = 0,
477 + TBSTYLE_SEP = 1,
478 + TBSTYLE_CHECK = 2,
479 + TBSTYLE_GROUP = 4,
480 + TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK
481 +}
482 +static if (_WIN32_IE >= 0x300) {
483 + enum {
484 + TBSTYLE_DROPDOWN = 8
485 + }
486 +}
487 +static if (_WIN32_IE >= 0x400) {
488 + enum {
489 + TBSTYLE_AUTOSIZE = 16,
490 + TBSTYLE_NOPREFIX = 32
491 + }
492 +}
493 +enum {
494 + TBSTYLE_TOOLTIPS = 256,
495 + TBSTYLE_WRAPABLE = 512,
496 + TBSTYLE_ALTDRAG = 1024
497 +}
498 +static if (_WIN32_IE >= 0x300) {
499 + enum {
500 + TBSTYLE_FLAT = 2048,
501 + TBSTYLE_LIST = 4096,
502 + TBSTYLE_CUSTOMERASE = 8192
503 + }
504 +}
505 +static if (_WIN32_IE >= 0x400) {
506 + enum {
507 + TBSTYLE_REGISTERDROP = 0x4000,
508 + TBSTYLE_TRANSPARENT = 0x8000,
509 + TBSTYLE_EX_DRAWDDARROWS = 0x00000001
510 + }
511 +}
512 +static if (_WIN32_IE >= 0x501) {
513 + enum {
514 + TBSTYLE_EX_MIXEDBUTTONS = 8,
515 + TBSTYLE_EX_HIDECLIPPEDBUTTONS = 16
516 + }
517 +}
518 +static if (_WIN32_WINNT >= 0x501) {
519 + enum {
520 + TBSTYLE_EX_DOUBLEBUFFER = 0x80
521 + }
522 +}
523 +
524 +static if (_WIN32_IE >= 0x500) {
525 + enum {
526 + BTNS_BUTTON = TBSTYLE_BUTTON,
527 + BTNS_SEP = TBSTYLE_SEP,
528 + BTNS_CHECK = TBSTYLE_CHECK,
529 + BTNS_GROUP = TBSTYLE_GROUP,
530 + BTNS_CHECKGROUP = TBSTYLE_CHECKGROUP,
531 + BTNS_DROPDOWN = TBSTYLE_DROPDOWN,
532 + BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE,
533 + BTNS_NOPREFIX = TBSTYLE_NOPREFIX,
534 + BTNS_WHOLEDROPDOWN = 0x0080
535 + }
536 +}
537 +static if (_WIN32_IE >= 0x501) {
538 + enum {
539 + BTNS_SHOWTEXT = 0x0040
540 + }
541 +}
542 +
543 +static if (_WIN32_IE >= 0x400) {
544 + enum {
545 + TBCDRF_NOEDGES = 0x10000,
546 + TBCDRF_HILITEHOTTRACK = 0x20000,
547 + TBCDRF_NOOFFSET = 0x40000,
548 + TBCDRF_NOMARK = 0x80000,
549 + TBCDRF_NOETCHEDEFFECT = 0x100000
550 + }
551 +}
552 +
553 +const HINST_COMMCTRL = cast(HINSTANCE) (-1);
554 +
555 +enum {
556 + IDB_STD_SMALL_COLOR,
557 + IDB_STD_LARGE_COLOR,
558 + IDB_VIEW_SMALL_COLOR = 4,
559 + IDB_VIEW_LARGE_COLOR = 5
560 +}
561 +static if (_WIN32_IE >= 0x300) {
562 + enum {
563 + IDB_HIST_SMALL_COLOR = 8,
564 + IDB_HIST_LARGE_COLOR = 9
565 + }
566 +}
567 +
568 +enum {
569 + STD_CUT,
570 + STD_COPY,
571 + STD_PASTE,
572 + STD_UNDO,
573 + STD_REDOW,
574 + STD_DELETE,
575 + STD_FILENEW,
576 + STD_FILEOPEN,
577 + STD_FILESAVE,
578 + STD_PRINTPRE,
579 + STD_PROPERTIES,
580 + STD_HELP,
581 + STD_FIND,
582 + STD_REPLACE,
583 + STD_PRINT // = 14
584 +}
585 +
586 +enum {
587 + VIEW_LARGEICONS,
588 + VIEW_SMALLICONS,
589 + VIEW_LIST,
590 + VIEW_DETAILS,
591 + VIEW_SORTNAME,
592 + VIEW_SORTSIZE,
593 + VIEW_SORTDATE,
594 + VIEW_SORTTYPE,
595 + VIEW_PARENTFOLDER,
596 + VIEW_NETCONNECT,
597 + VIEW_NETDISCONNECT,
598 + VIEW_NEWFOLDER // = 11
599 +}
600 +
601 +enum {
602 + TB_ENABLEBUTTON = WM_USER + 1,
603 + TB_CHECKBUTTON,
604 + TB_PRESSBUTTON,
605 + TB_HIDEBUTTON,
606 + TB_INDETERMINATE, // = WM_USER + 5,
607 + TB_ISBUTTONENABLED = WM_USER + 9,
608 + TB_ISBUTTONCHECKED,
609 + TB_ISBUTTONPRESSED,
610 + TB_ISBUTTONHIDDEN,
611 + TB_ISBUTTONINDETERMINATE, // = WM_USER + 13,
612 + TB_SETSTATE = WM_USER + 17,
613 + TB_GETSTATE = WM_USER + 18,
614 + TB_ADDBITMAP = WM_USER + 19,
615 + TB_DELETEBUTTON = WM_USER + 22,
616 + TB_GETBUTTON,
617 + TB_BUTTONCOUNT,
618 + TB_COMMANDTOINDEX,
619 + TB_SAVERESTOREA,
620 + TB_CUSTOMIZE,
621 + TB_ADDSTRINGA,
622 + TB_GETITEMRECT,
623 + TB_BUTTONSTRUCTSIZE,
624 + TB_SETBUTTONSIZE,
625 + TB_SETBITMAPSIZE,
626 + TB_AUTOSIZE, // = WM_USER + 33,
627 + TB_GETTOOLTIPS = WM_USER + 35,
628 + TB_SETTOOLTIPS = WM_USER + 36,
629 + TB_SETPARENT = WM_USER + 37,
630 + TB_SETROWS = WM_USER + 39,
631 + TB_GETROWS,
632 + TB_GETBITMAPFLAGS,
633 + TB_SETCMDID,
634 + TB_CHANGEBITMAP,
635 + TB_GETBITMAP,
636 + TB_GETBUTTONTEXTA,
637 + TB_REPLACEBITMAP, // = WM_USER + 46,
638 + TB_GETBUTTONSIZE = WM_USER + 58,
639 + TB_SETBUTTONWIDTH = WM_USER + 59,
640 + TB_GETBUTTONTEXTW = WM_USER + 75,
641 + TB_SAVERESTOREW = WM_USER + 76,
642 + TB_ADDSTRINGW = WM_USER + 77,
643 +}
644 +static if (_WIN32_IE >= 0x400) {
645 + enum {
646 + TB_MARKBUTTON = WM_USER + 6
647 + }
648 +}
649 +static if (_WIN32_IE >= 0x400) {
650 + enum {
651 + TB_ISBUTTONHIGHLIGHTED = WM_USER + 14
652 + }
653 +}
654 +static if (_WIN32_IE >= 0x400) {
655 + enum {
656 + TB_ADDBUTTONSA = WM_USER + 20,
657 + TB_INSERTBUTTONA = WM_USER + 21
658 + }
659 +} else {
660 + enum {
661 + TB_ADDBUTTONS = WM_USER + 20,
662 + TB_INSERTBUTTON = WM_USER + 21
663 + }
664 +}
665 +static if (_WIN32_IE >= 0x300) {
666 + enum {
667 + TB_SETINDENT = WM_USER + 47,
668 + TB_SETIMAGELIST,
669 + TB_GETIMAGELIST,
670 + TB_LOADIMAGES,
671 + TB_GETRECT,
672 + TB_SETHOTIMAGELIST,
673 + TB_GETHOTIMAGELIST,
674 + TB_SETDISABLEDIMAGELIST,
675 + TB_GETDISABLEDIMAGELIST,
676 + TB_SETSTYLE,
677 + TB_GETSTYLE,
678 + //TB_GETBUTTONSIZE,
679 + //TB_SETBUTTONWIDTH,
680 + TB_SETMAXTEXTROWS,
681 + TB_GETTEXTROWS // = WM_USER + 61
682 + }
683 +}
684 +static if (_WIN32_IE >= 0x400) {
685 + enum {
686 + TB_GETOBJECT = WM_USER + 62,
687 + TB_GETBUTTONINFOW,
688 + TB_SETBUTTONINFOW,
689 + TB_GETBUTTONINFOA,
690 + TB_SETBUTTONINFOA,
691 + TB_INSERTBUTTONW,
692 + TB_ADDBUTTONSW,
693 + TB_HITTEST, // = WM_USER + 69
694 + TB_SETEXTENDEDSTYLE = WM_USER + 84,
695 + TB_GETEXTENDEDSTYLE = WM_USER + 85,
696 + TB_SETDRAWTEXTFLAGS = WM_USER + 70,
697 + TB_GETHOTITEM,
698 + TB_SETHOTITEM,
699 + TB_SETANCHORHIGHLIGHT,
700 + TB_GETANCHORHIGHLIGHT, // = WM_USER + 74
701 + TB_MAPACCELERATORA = WM_USER + 78,
702 + TB_GETINSERTMARK,
703 + TB_SETINSERTMARK,
704 + TB_INSERTMARKHITTEST,
705 + TB_MOVEBUTTON,
706 + TB_GETMAXSIZE,
707 + //TB_SETEXTENDEDSTYLE,
708 + //TB_GETEXTENDEDSTYLE,
709 + TB_GETPADDING,
710 + TB_SETPADDING,
711 + TB_SETINSERTMARKCOLOR,
712 + TB_GETINSERTMARKCOLOR,
713 + TB_MAPACCELERATORW,
714 + TB_GETSTRINGW,
715 + TB_GETSTRINGA, // = WM_USER + 92
716 + TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
717 + TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME,
718 + TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
719 + TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
720 + }
721 +}
722 +
723 +const TBBF_LARGE = 1;
724 +
725 +enum {
726 + TBN_GETBUTTONINFOA = TBN_FIRST -0,
727 + TBN_BEGINDRAG = TBN_FIRST -1,
728 + TBN_ENDDRAG = TBN_FIRST -2,
729 + TBN_BEGINADJUST = TBN_FIRST -3,
730 + TBN_ENDADJUST = TBN_FIRST -4,
731 + TBN_RESET = TBN_FIRST -5,
732 + TBN_QUERYINSERT = TBN_FIRST -6,
733 + TBN_QUERYDELETE = TBN_FIRST -7,
734 + TBN_TOOLBARCHANGE = TBN_FIRST -8,
735 + TBN_CUSTHELP = TBN_FIRST -9
736 +}
737 +static if (_WIN32_IE >= 0x300) {
738 + enum {
739 + TBN_DROPDOWN = TBN_FIRST - 10
740 + }
741 +}
742 +static if (_WIN32_IE >= 0x400) {
743 + enum {
744 + TBN_HOTITEMCHANGE = TBN_FIRST - 13,
745 + TBN_DRAGOUT = TBN_FIRST - 14,
746 + TBN_DELETINGBUTTON = TBN_FIRST - 15,
747 + TBN_GETDISPINFOA = TBN_FIRST - 16,
748 + TBN_GETDISPINFOW = TBN_FIRST - 17,
749 + TBN_GETINFOTIPA = TBN_FIRST - 18,
750 + TBN_GETINFOTIPW = TBN_FIRST - 19,
751 + TBN_GETBUTTONINFOW = TBN_FIRST - 20
752 + }
753 +}
754 +static if (_WIN32_IE >= 0x500) {
755 + enum {
756 + TBN_RESTORE = TBN_FIRST - 21,
757 + TBN_SAVE = TBN_FIRST - 22,
758 + TBN_INITCUSTOMIZE = TBN_FIRST - 23
759 + }
760 +
761 + enum {
762 + TBNRF_HIDEHELP = 1,
763 + TBNRF_ENDCUSTOMIZE
764 + }
765 +
766 + enum {
767 + TBNF_IMAGE = 1,
768 + TBNF_TEXT = 2,
769 + TBNF_DI_SETITEM = 0x10000000
770 + }
771 +}
772 +
773 +enum {
774 + TTS_ALWAYSTIP = 1,
775 + TTS_NOPREFIX
776 +}
777 +static if(_WIN32_IE >= 0x500) {
778 + enum {
779 + TTS_NOANIMATE = 0x10,
780 + TTS_NOFADE = 0x20,
781 + TTS_BALLOON = 0x40,
782 + TTS_CLOSE = 0x80
783 + }
784 +}
785 +
786 +enum {
787 + TTF_IDISHWND = 1,
788 + TTF_CENTERTIP = 2,
789 + TTF_RTLREADING = 4,
790 + TTF_SUBCLASS = 16
791 +}
792 +static if (_WIN32_IE >= 0x300) {
793 + enum {
794 + TTF_TRACK = 0x0020,
795 + TTF_ABSOLUTE = 0x0080,
796 + TTF_TRANSPARENT = 0x0100,
797 + TTF_DI_SETITEM = 0x8000
798 + }
799 +
800 + static if (_WIN32_IE >= 0x501) {
801 + enum {
802 + TTF_PARSELINKS = 0x1000
803 + }
804 + }
805 +
806 + enum {
807 + TBCD_TICS = 1,
808 + TBCD_THUMB,
809 + TBCD_CHANNEL // = 3
810 + }
811 +}
812 +
813 +static if (_WIN32_IE >= 0x400) {
814 + enum {
815 + TBDDRET_DEFAULT,
816 + TBDDRET_NODEFAULT,
817 + TBDDRET_TREATPRESSED
818 + }
819 +
820 + enum {
821 + TBIMHT_AFTER = 1,
822 + TBIMHT_BACKGROUND
823 + }
824 +}
825 +
826 +enum {
827 + TTDT_AUTOMATIC,
828 + TTDT_RESHOW,
829 + TTDT_AUTOPOP,
830 + TTDT_INITIAL
831 +}
832 +
833 +enum {
834 + TTM_ACTIVATE = WM_USER + 1,
835 + TTM_SETDELAYTIME = WM_USER + 3,
836 + TTM_ADDTOOLA,
837 + TTM_DELTOOLA,
838 + TTM_NEWTOOLRECTA,
839 + TTM_RELAYEVENT,
840 + TTM_GETTOOLINFOA,
841 + TTM_SETTOOLINFOA,
842 + TTM_HITTESTA,
843 + TTM_GETTEXTA,
844 + TTM_UPDATETIPTEXTA,
845 + TTM_GETTOOLCOUNT,
846 + TTM_ENUMTOOLSA,
847 + TTM_GETCURRENTTOOLA,
848 + TTM_WINDOWFROMPOINT, // = WM_USER + 16
849 + TTM_ADDTOOLW = WM_USER + 50,
850 + TTM_DELTOOLW,
851 + TTM_NEWTOOLRECTW,
852 + TTM_GETTOOLINFOW,
853 + TTM_SETTOOLINFOW,
854 + TTM_HITTESTW,
855 + TTM_GETTEXTW,
856 + TTM_UPDATETIPTEXTW,
857 + TTM_ENUMTOOLSW,
858 + TTM_GETCURRENTTOOLW // = WM_USER + 59
859 +}
860 +
861 +static if (_WIN32_IE >= 0x300) {
862 + enum {
863 + TTM_TRACKACTIVATE = WM_USER + 17,
864 + TTM_TRACKPOSITION,
865 + TTM_SETTIPBKCOLOR,
866 + TTM_SETTIPTEXTCOLOR,
867 + TTM_GETDELAYTIME,
868 + TTM_GETTIPBKCOLOR,
869 + TTM_GETTIPTEXTCOLOR,
870 + TTM_SETMAXTIPWIDTH,
871 + TTM_GETMAXTIPWIDTH,
872 + TTM_SETMARGIN,
873 + TTM_GETMARGIN,
874 + TTM_POP // = WM_USER + 28
875 + }
876 +}
877 +
878 +static if (_WIN32_IE >= 0x400) { // IE4.0 ???
879 + enum {
880 + TTM_UPDATE = WM_USER + 29,
881 + TTM_GETBUBBLESIZE,
882 + TTM_ADJUSTRECT,
883 + TTM_SETTITLEA,
884 + TTM_SETTITLEW // = WM_USER + 33
885 + }
886 +}
887 +
888 +enum {
889 + TTN_GETDISPINFOA = TTN_FIRST - 0,
890 + TTN_GETDISPINFOW = TTN_FIRST - 10,
891 + TTN_NEEDTEXTA = TTN_GETDISPINFOA,
892 + TTN_NEEDTEXTW = TTN_GETDISPINFOW,
893 + TTN_SHOW = TTN_FIRST-1,
894 + TTN_POP = TTN_FIRST-2
895 +}
896 +
897 +const UD_MAXVAL = 0x7fff;
898 +const UD_MINVAL = -UD_MAXVAL;
899 +
900 +enum {
901 + UDN_DELTAPOS = UDN_FIRST-1,
902 + UDS_WRAP = 1,
903 + UDS_SETBUDDYINT = 2,
904 + UDS_ALIGNRIGHT = 4,
905 + UDS_ALIGNLEFT = 8,
906 + UDS_AUTOBUDDY = 16,
907 + UDS_ARROWKEYS = 32,
908 + UDS_HORZ = 64,
909 + UDS_NOTHOUSANDS = 128
910 +}
911 +
912 +static if (_WIN32_IE >= 0x300) {
913 + enum {
914 + UDS_HOTTRACK = 0x0100
915 + }
916 +}
917 +
918 +enum {
919 + UDM_SETRANGE = WM_USER + 101,
920 + UDM_GETRANGE,
921 + UDM_SETPOS,
922 + UDM_GETPOS,
923 + UDM_SETBUDDY,
924 + UDM_GETBUDDY,
925 + UDM_SETACCEL,
926 + UDM_GETACCEL,
927 + UDM_SETBASE,
928 + UDM_GETBASE // = WM_USER + 110
929 +}
930 +
931 +static if (_WIN32_IE >= 0x400) {
932 + enum {
933 + UDM_SETRANGE32 = WM_USER + 111,
934 + UDM_GETRANGE32,
935 + UDM_SETPOS32,
936 + UDM_GETPOS32 // = WM_USER + 114
937 + }
938 +}
939 +
940 +static if (_WIN32_IE >= 0x500) {
941 + enum {
942 + UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
943 + UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
944 + }
945 +}
946 +
947 +/*enum {
948 + SB_SETTEXTA = WM_USER + 1,
949 + SB_GETTEXTA,
950 + SB_GETTEXTLENGTHA,
951 + SB_SETPARTS, // = WM_USER + 4
952 + SB_GETPARTS = WM_USER + 6,
953 + SB_GETBORDERS,
954 + SB_SETMINHEIGHT,
955 + SB_SIMPLE,
956 + SB_GETRECT,
957 + SB_SETTEXTW,
958 + SB_GETTEXTLENGTHW,
959 + SB_GETTEXTW // = WM_USER + 13
960 +}*/
961 +
962 +/*enum {
963 + SBT_OWNERDRAW = 0x1000,
964 + SBT_NOBORDERS = 256,
965 + SBT_POPOUT = 512,
966 + SBT_RTLREADING = 1024
967 +}*/
968 +
969 +static if(_WIN32_IE >= 0x400) {
970 + enum {
971 + SBT_TOOLTIPS = 0x0800,
972 + SBN_SIMPLEMODECHANGE = SBN_FIRST
973 + }
974 +}
975 +
976 +enum {
977 + TBS_AUTOTICKS = 1,
978 + TBS_VERT = 2,
979 + TBS_HORZ = 0,
980 + TBS_TOP = 4,
981 + TBS_BOTTOM = 0,
982 + TBS_LEFT = 4,
983 + TBS_RIGHT = 0,
984 + TBS_BOTH = 8,
985 + TBS_NOTICKS = 16,
986 + TBS_ENABLESELRANGE = 32,
987 + TBS_FIXEDLENGTH = 64,
988 + TBS_NOTHUMB = 128
989 +}
990 +
991 +static if (_WIN32_IE >= 0x300) {
992 + enum {
993 + TBS_TOOLTIPS = 0x0100,
994 + TBTS_TOP = 0,
995 + TBTS_LEFT,
996 + TBTS_BOTTOM,
997 + TBTS_RIGHT // = 3
998 + }
999 +}
1000 +
1001 +static if (_WIN32_IE >= 0x500) {
1002 + enum {
1003 + TBS_REVERSED = 0x0200
1004 + }
1005 +}
1006 +
1007 +static if (_WIN32_IE >= 0x501) {
1008 + enum {
1009 + TBS_DOWNISLEFT = 0x0400
1010 + }
1011 +}
1012 +
1013 +static if (_WIN32_IE >= 0x400) {
1014 + enum {
1015 + TBIF_BYINDEX = 0x80000000,
1016 + TBIF_COMMAND = 32,
1017 + TBIF_IMAGE = 1,
1018 + TBIF_LPARAM = 16,
1019 + TBIF_SIZE = 64,
1020 + TBIF_STATE = 4,
1021 + TBIF_STYLE = 8,
1022 + TBIF_TEXT = 2
1023 + }
1024 +}
1025 +
1026 +enum {
1027 + TBM_GETPOS = WM_USER,
1028 + TBM_GETRANGEMIN,
1029 + TBM_GETRANGEMAX,
1030 + TBM_GETTIC,
1031 + TBM_SETTIC,
1032 + TBM_SETPOS,
1033 + TBM_SETRANGE,
1034 + TBM_SETRANGEMIN,
1035 + TBM_SETRANGEMAX,
1036 + TBM_CLEARTICS,
1037 + TBM_SETSEL,
1038 + TBM_SETSELSTART,
1039 + TBM_SETSELEND, // = WM_USER+12,
1040 + TBM_GETPTICS = WM_USER+14,
1041 + TBM_GETTICPOS,
1042 + TBM_GETNUMTICS,
1043 + TBM_GETSELSTART,
1044 + TBM_GETSELEND,
1045 + TBM_CLEARSEL,
1046 + TBM_SETTICFREQ,
1047 + TBM_SETPAGESIZE,
1048 + TBM_GETPAGESIZE,
1049 + TBM_SETLINESIZE,
1050 + TBM_GETLINESIZE,
1051 + TBM_GETTHUMBRECT,
1052 + TBM_GETCHANNELRECT,
1053 + TBM_SETTHUMBLENGTH,
1054 + TBM_GETTHUMBLENGTH,
1055 + TBM_SETTOOLTIPS,
1056 + TBM_GETTOOLTIPS,
1057 + TBM_SETTIPSIDE,
1058 + TBM_SETBUDDY,
1059 + TBM_GETBUDDY, // = WM_USER+33,
1060 + TBM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
1061 + TBM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
1062 +}
1063 +
1064 +enum {
1065 + TB_LINEUP,
1066 + TB_LINEDOWN,
1067 + TB_PAGEUP,
1068 + TB_PAGEDOWN,
1069 + TB_THUMBPOSITION,
1070 + TB_THUMBTRACK,
1071 + TB_TOP,
1072 + TB_BOTTOM,
1073 + TB_ENDTRACK // = 8
1074 +}
1075 +
1076 +enum {
1077 + HOTKEYF_SHIFT = 1,
1078 + HOTKEYF_CONTROL = 2,
1079 + HOTKEYF_ALT = 4,
1080 + HOTKEYF_EXT = 8
1081 +}
1082 +
1083 +enum {
1084 + HKCOMB_NONE = 1,
1085 + HKCOMB_S = 2,
1086 + HKCOMB_C = 4,
1087 + HKCOMB_A = 8,
1088 + HKCOMB_SC = 16,
1089 + HKCOMB_SA = 32,
1090 + HKCOMB_CA = 64,
1091 + HKCOMB_SCA = 128
1092 +}
1093 +
1094 +enum {
1095 + HKM_SETHOTKEY = WM_USER + 1,
1096 + HKM_GETHOTKEY = WM_USER + 2,
1097 + HKM_SETRULES = WM_USER + 3
1098 +}
1099 +
1100 +enum {
1101 + PBM_SETRANGE = WM_USER + 1,
1102 + PBM_SETPOS,
1103 + PBM_DELTAPOS,
1104 + PBM_SETSTEP,
1105 + PBM_STEPIT, // = WM_USER + 5
1106 + PBM_SETRANGE32 = 1030,
1107 + PBM_GETRANGE,
1108 + PBM_GETPOS,
1109 + PBM_SETBARCOLOR, // = 1033
1110 + PBM_SETBKCOLOR = CCM_SETBKCOLOR
1111 +}
1112 +
1113 +enum {
1114 + PBS_SMOOTH = 1,
1115 + PBS_VERTICAL = 4
1116 +}
1117 +
1118 +enum {
1119 + LVS_ICON,
1120 + LVS_REPORT,
1121 + LVS_SMALLICON,
1122 + LVS_LIST, // = 3
1123 + LVS_TYPEMASK = 3,
1124 + LVS_SINGLESEL = 4,
1125 + LVS_SHOWSELALWAYS = 8,
1126 + LVS_SORTASCENDING = 16,
1127 + LVS_SORTDESCENDING = 32,
1128 + LVS_SHAREIMAGELISTS = 64,
1129 + LVS_NOLABELWRAP = 128,
1130 + LVS_AUTOARRANGE = 256,
1131 + LVS_EDITLABELS = 512,
1132 + LVS_NOSCROLL = 0x2000,
1133 + LVS_TYPESTYLEMASK = 0xFC00,
1134 + LVS_ALIGNTOP = 0,
1135 + LVS_ALIGNLEFT = 0x800,
1136 + LVS_ALIGNMASK = 0xC00,
1137 + LVS_OWNERDRAWFIXED = 0x400,
1138 + LVS_NOCOLUMNHEADER = 0x4000,
1139 + LVS_NOSORTHEADER = 0x8000
1140 +}
1141 +
1142 +static if (_WIN32_IE >= 0x300) {
1143 + enum {
1144 + CDIS_CHECKED = 8,
1145 + CDIS_DEFAULT = 32,
1146 + CDIS_DISABLED = 4,
1147 + CDIS_FOCUS = 16,
1148 + CDIS_GRAYED = 2,
1149 + CDIS_HOT = 64,
1150 + CDIS_SELECTED = 1,
1151 + CDIS_MARKED = 128,
1152 + CDIS_INDETERMINATE = 256
1153 + }
1154 +
1155 + static if (_WIN32_WINNT >= 0x501) {
1156 + enum {
1157 + CDIS_SHOWKEYBOARDCUES = 512
1158 + }
1159 + }
1160 +
1161 + enum {
1162 + CDDS_POSTERASE = 4,
1163 + CDDS_POSTPAINT = 2,
1164 + CDDS_PREERASE = 3,
1165 + CDDS_PREPAINT = 1,
1166 + CDDS_ITEM = 65536,
1167 + CDDS_ITEMPOSTERASE = 65540,
1168 + CDDS_ITEMPOSTPAINT = 65538,
1169 + CDDS_ITEMPREERASE = 65539,
1170 + CDDS_ITEMPREPAINT = 65537
1171 + }
1172 +
1173 + static if (_WIN32_IE >= 0x400) {
1174 + enum {
1175 + CDDS_SUBITEM = 0x20000
1176 + }
1177 + }
1178 +
1179 + enum {
1180 + CDRF_DODEFAULT = 0x00,
1181 + CDRF_NOTIFYITEMDRAW = 0x20,
1182 + CDRF_NOTIFYSUBITEMDRAW = 0x20,
1183 + CDRF_NOTIFYITEMERASE = 0x80,
1184 + CDRF_NOTIFYPOSTERASE = 0x40,
1185 + CDRF_NOTIFYPOSTPAINT = 0x10,
1186 + CDRF_NEWFONT = 0x02,
1187 + CDRF_SKIPDEFAULT = 0x04
1188 + }
1189 +
1190 + static if (_WIN32_IE >= 0x400) {
1191 + enum {
1192 + LVBKIF_SOURCE_NONE = 0x00000000,
1193 + LVBKIF_SOURCE_HBITMAP = 0x00000001,
1194 + LVBKIF_SOURCE_URL = 0x00000002,
1195 + LVBKIF_SOURCE_MASK = 0x00000003,
1196 + LVBKIF_STYLE_NORMAL = 0x00000000,
1197 + LVBKIF_STYLE_TILE = 0x00000010,
1198 + LVBKIF_STYLE_MASK = 0x00000010
1199 + }
1200 + }
1201 +
1202 + static if (_WIN32_WINNT >= 0x501) {
1203 + enum {
1204 + LVBKIF_FLAG_TILEOFFSET = 0x00000100,
1205 + LVBKIF_TYPE_WATERMARK = 0x10000000
1206 + }
1207 + }
1208 +
1209 + enum {
1210 + LVS_OWNERDATA = 4096
1211 + }
1212 +
1213 + enum {
1214 + LVS_EX_CHECKBOXES = 4,
1215 + LVS_EX_FULLROWSELECT = 32,
1216 + LVS_EX_GRIDLINES = 1,
1217 + LVS_EX_HEADERDRAGDROP = 16,
1218 + LVS_EX_ONECLICKACTIVATE = 64,
1219 + LVS_EX_SUBITEMIMAGES = 2,
1220 + LVS_EX_TRACKSELECT = 8,
1221 + LVS_EX_TWOCLICKACTIVATE = 128
1222 + }
1223 +
1224 + enum {
1225 + LVSICF_NOINVALIDATEALL = 0x00000001,
1226 + LVSICF_NOSCROLL = 0x00000002
1227 + }
1228 +
1229 + static if(_WIN32_IE >= 0x400) {
1230 + enum {
1231 + LVS_EX_FLATSB = 0x00000100,
1232 + LVS_EX_REGIONAL = 0x00000200,
1233 + LVS_EX_INFOTIP = 0x00000400,
1234 + LVS_EX_UNDERLINEHOT = 0x00000800,
1235 + LVS_EX_UNDERLINECOLD = 0x00001000,
1236 + LVS_EX_MULTIWORKAREAS = 0x00002000
1237 + }
1238 + }
1239 +
1240 + static if(_WIN32_IE >= 0x500) {
1241 + enum {
1242 + LVS_EX_LABELTIP = 0x00004000,
1243 + LVS_EX_BORDERSELECT = 0x00008000
1244 + }
1245 + }
1246 +}
1247 +
1248 +enum {
1249 + LVSIL_NORMAL,
1250 + LVSIL_SMALL,
1251 + LVSIL_STATE
1252 +}
1253 +
1254 +enum {
1255 + LVM_GETBKCOLOR = LVM_FIRST,
1256 + LVM_SETBKCOLOR,
1257 + LVM_GETIMAGELIST,
1258 + LVM_SETIMAGELIST,
1259 + LVM_GETITEMCOUNT, // = LVM_FIRST + 4
1260 + LVM_SORTITEMSEX = LVM_FIRST + 81,
1261 + LVM_SETVIEW = LVM_FIRST + 142,
1262 + LVM_GETVIEW, // = LVM_FIRST + 143
1263 + LVM_INSERTGROUP = LVM_FIRST + 145,
1264 + LVM_SETGROUPINFO = LVM_FIRST + 147,
1265 + LVM_GETGROUPINFO = LVM_FIRST + 149,
1266 + LVM_REMOVEGROUP,
1267 + LVM_MOVEGROUP, // = LVM_FIRST + 151
1268 + LVM_SETGROUPMETRICS = LVM_FIRST + 155,
1269 + LVM_GETGROUPMETRICS,
1270 + LVM_ENABLEGROUPVIEW,
1271 + LVM_SORTGROUPS,
1272 + LVM_INSERTGROUPSORTED,
1273 + LVM_REMOVEALLGROUPS,
1274 + LVM_HASGROUP,
1275 + LVM_SETTILEVIEWINFO,
1276 + LVM_GETTILEVIEWINFO,
1277 + LVM_SETTILEINFO,
1278 + LVM_GETTILEINFO,
1279 + LVM_SETINSERTMARK,
1280 + LVM_GETINSERTMARK,
1281 + LVM_INSERTMARKHITTEST,
1282 + LVM_GETINSERTMARKRECT,
1283 + LVM_SETINSERTMARKCOLOR,
1284 + LVM_GETINSERTMARKCOLOR, // = LVM_FIRST + 171
1285 + LVM_SETINFOTIP = LVM_FIRST + 173,
1286 + LVM_GETSELECTEDCOLUMN,
1287 + LVM_ISGROUPVIEWENABLED,
1288 + LVM_GETOUTLINECOLOR,
1289 + LVM_SETOUTLINECOLOR, // = LVM_FIRST + 177
1290 + LVM_CANCELEDITLABEL = LVM_FIRST + 179,
1291 + LVM_MAPIDTOINDEX = LVM_FIRST + 181
1292 +}
1293 +
1294 +static if (_WIN32_WINNT >= 0x501) {
1295 + enum {
1296 + LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140
1297 + }
1298 +}
1299 +
1300 +enum {
1301 + LVIF_TEXT = 1,
1302 + LVIF_IMAGE = 2,
1303 + LVIF_PARAM = 4,
1304 + LVIF_STATE = 8
1305 +}
1306 +
1307 +static if (_WIN32_IE >= 0x300) {
1308 + enum {
1309 + LVIF_INDENT = 16,
1310 + LVIF_NORECOMPUTE = 2048
1311 + }
1312 +}
1313 +
1314 +static if (_WIN32_WINNT >= 0x501) {
1315 + enum {
1316 + LVIF_GROUPID = 128,
1317 + LVIF_COLUMNS = 256
1318 + }
1319 +}
1320 +
1321 +enum {
1322 + LVIS_FOCUSED = 1,
1323 + LVIS_SELECTED = 2,
1324 + LVIS_CUT = 4,
1325 + LVIS_DROPHILITED = 8,
1326 + LVIS_OVERLAYMASK = 0xF00,
1327 + LVIS_STATEIMAGEMASK = 0xF000
1328 +}
1329 +
1330 +const LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR) -1;
1331 +const LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR) -1;
1332 +
1333 +const I_IMAGECALLBACK = -1;
1334 +
1335 +static if(_WIN32_IE >= 0x400) {
1336 + enum {
1337 + LVM_SETBKIMAGEA = LVM_FIRST + 68,
1338 + LVM_SETBKIMAGEW = LVM_FIRST + 138,
1339 + LVM_GETBKIMAGEA = LVM_FIRST + 69,
1340 + LVM_GETBKIMAGEW = LVM_FIRST + 139,
1341 + LV_MAX_WORKAREAS = 16,
1342 + LVM_SETWORKAREAS = LVM_FIRST + 65,
1343 + LVM_GETWORKAREAS = LVM_FIRST + 70,
1344 + LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73,
1345 + LVM_GETSELECTIONMARK = LVM_FIRST + 66,
1346 + LVM_SETSELECTIONMARK = LVM_FIRST + 67,
1347 + LVM_SETHOVERTIME = LVM_FIRST + 71,
1348 + LVM_GETHOVERTIME = LVM_FIRST + 72,
1349 + LVM_SETTOOLTIPS = LVM_FIRST + 74,
1350 + LVM_GETTOOLTIPS = LVM_FIRST + 78,
1351 + LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
1352 + LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
1353 + }
1354 +}
1355 +
1356 +enum {
1357 + LVNI_ALL,
1358 + LVNI_FOCUSED = 1,
1359 + LVNI_SELECTED = 2,
1360 + LVNI_CUT = 4,
1361 + LVNI_DROPHILITED = 8,
1362 + LVNI_ABOVE = 256,
1363 + LVNI_BELOW = 512,
1364 + LVNI_TOLEFT = 1024,
1365 + LVNI_TORIGHT = 2048
1366 +}
1367 +
1368 +enum {
1369 + LVM_GETITEMA = LVM_FIRST + 5,
1370 + LVM_SETITEMA,
1371 + LVM_INSERTITEMA,
1372 + LVM_DELETEITEM,
1373 + LVM_DELETEALLITEMS,
1374 + LVM_GETCALLBACKMASK,
1375 + LVM_SETCALLBACKMASK,
1376 + LVM_GETNEXTITEM,
1377 + LVM_FINDITEMA,
1378 + LVM_GETITEMRECT,
1379 + LVM_SETITEMPOSITION,
1380 + LVM_GETITEMPOSITION,
1381 + LVM_GETSTRINGWIDTHA,
1382 + LVM_HITTEST,
1383 + LVM_ENSUREVISIBLE,
1384 + LVM_SCROLL,
1385 + LVM_REDRAWITEMS,
1386 + LVM_ARRANGE,
1387 + LVM_EDITLABELA,
1388 + LVM_GETEDITCONTROL,
1389 + LVM_GETCOLUMNA,
1390 + LVM_SETCOLUMNA,
1391 + LVM_INSERTCOLUMNA,
1392 + LVM_DELETECOLUMN,
1393 + LVM_GETCOLUMNWIDTH,
1394 + LVM_SETCOLUMNWIDTH, // = LVM_FIRST + 30,
1395 + LVM_CREATEDRAGIMAGE = LVM_FIRST + 33,
1396 + LVM_GETVIEWRECT,
1397 + LVM_GETTEXTCOLOR,
1398 + LVM_SETTEXTCOLOR,
1399 + LVM_GETTEXTBKCOLOR,
1400 + LVM_SETTEXTBKCOLOR,
1401 + LVM_GETTOPINDEX,
1402 + LVM_GETCOUNTPERPAGE,
1403 + LVM_GETORIGIN,
1404 + LVM_UPDATE,
1405 + LVM_SETITEMSTATE,
1406 + LVM_GETITEMSTATE,
1407 + LVM_GETITEMTEXTA,
1408 + LVM_SETITEMTEXTA,
1409 + LVM_SETITEMCOUNT,
1410 + LVM_SORTITEMS,
1411 + LVM_SETITEMPOSITION32,
1412 + LVM_GETSELECTEDCOUNT,
1413 + LVM_GETITEMSPACING,
1414 + LVM_GETISEARCHSTRINGA, // = LVM_FIRST + 52,
1415 + LVM_GETITEMW = LVM_FIRST + 75,
1416 + LVM_SETITEMW = LVM_FIRST + 76,
1417 + LVM_INSERTITEMW = LVM_FIRST + 77,
1418 + LVM_FINDITEMW = LVM_FIRST + 83,
1419 + LVM_GETSTRINGWIDTHW = LVM_FIRST + 87,
1420 + LVM_GETCOLUMNW = LVM_FIRST + 95,
1421 + LVM_SETCOLUMNW = LVM_FIRST + 96,
1422 + LVM_INSERTCOLUMNW = LVM_FIRST + 97,
1423 + LVM_GETITEMTEXTW = LVM_FIRST + 115,
1424 + LVM_SETITEMTEXTW,
1425 + LVM_GETISEARCHSTRINGW,
1426 + LVM_EDITLABELW // = LVM_FIRST + 118,
1427 +}
1428 +
1429 +static if (_WIN32_IE >= 0x300) {
1430 + enum {
1431 + LVM_GETHEADER = LVM_FIRST + 31,
1432 + LVM_SETICONSPACING = LVM_FIRST + 53,
1433 + LVM_SETEXTENDEDLISTVIEWSTYLE,
1434 + LVM_GETEXTENDEDLISTVIEWSTYLE,
1435 + LVM_GETSUBITEMRECT,
1436 + LVM_SUBITEMHITTEST,
1437 + LVM_SETCOLUMNORDERARRAY,
1438 + LVM_GETCOLUMNORDERARRAY,
1439 + LVM_SETHOTITEM,
1440 + LVM_GETHOTITEM,
1441 + LVM_SETHOTCURSOR,
1442 + LVM_GETHOTCURSOR,
1443 + LVM_APPROXIMATEVIEWRECT // = LVM_FIRST + 64,
1444 + }
1445 +}
1446 +
1447 +enum {
1448 + LVFI_PARAM = 1,
1449 + LVFI_STRING = 2,
1450 + LVFI_PARTIAL = 8,
1451 + LVFI_WRAP = 32,
1452 + LVFI_NEARESTXY = 64
1453 +}
1454 +
1455 +enum {
1456 + LVIF_DI_SETITEM = 0x1000
1457 +}
1458 +
1459 +enum {
1460 + LVIR_BOUNDS,
1461 + LVIR_ICON,
1462 + LVIR_LABEL,
1463 + LVIR_SELECTBOUNDS // = 3
1464 +}
1465 +
1466 +enum {
1467 + LVHT_NOWHERE = 1,
1468 + LVHT_ONITEMICON = 2,
1469 + LVHT_ONITEMLABEL = 4,
1470 + LVHT_ONITEMSTATEICON = 8,
1471 + LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL
1472 + | LVHT_ONITEMSTATEICON,
1473 + LVHT_ABOVE = 8,
1474 + LVHT_BELOW = 16,
1475 + LVHT_TORIGHT = 32,
1476 + LVHT_TOLEFT = 64
1477 +}
1478 +
1479 +enum {
1480 + LVA_DEFAULT = 0,
1481 + LVA_ALIGNLEFT = 1,
1482 + LVA_ALIGNTOP = 2,
1483 + LVA_SNAPTOGRID = 5
1484 +}
1485 +
1486 +enum {
1487 + LVCF_FMT = 1,
1488 + LVCF_WIDTH = 2,
1489 + LVCF_TEXT = 4,
1490 + LVCF_SUBITEM = 8
1491 +}
1492 +
1493 +static if (_WIN32_IE >= 0x300) {
1494 + enum {
1495 + LVCF_IMAGE = 16,
1496 + LVCF_ORDER = 32
1497 + }
1498 +}
1499 +
1500 +enum {
1501 + LVCFMT_LEFT,
1502 + LVCFMT_RIGHT,
1503 + LVCFMT_CENTER,
1504 + LVCFMT_JUSTIFYMASK // = 3
1505 +}
1506 +
1507 +static if (_WIN32_IE >= 0x300) {
1508 + enum {
1509 + LVCFMT_IMAGE = 2048,
1510 + LVCFMT_BITMAP_ON_RIGHT = 4096,
1511 + LVCFMT_COL_HAS_IMAGES = 32768
1512 + }
1513 +}
1514 +
1515 +enum {
1516 + LVSCW_AUTOSIZE = -1,
1517 + LVSCW_AUTOSIZE_USEHEADER = -2
1518 +}
1519 +
1520 +enum {
1521 + LVN_ITEMCHANGING = LVN_FIRST,
1522 + LVN_ITEMCHANGED = LVN_FIRST - 1,
1523 + LVN_INSERTITEM = LVN_FIRST - 2,
1524 + LVN_DELETEITEM = LVN_FIRST - 3,
1525 + LVN_DELETEALLITEMS = LVN_FIRST - 4,
1526 + LVN_BEGINLABELEDITA = LVN_FIRST - 5,
1527 + LVN_ENDLABELEDITA = LVN_FIRST - 6,
1528 + LVN_COLUMNCLICK = LVN_FIRST - 8,
1529 + LVN_BEGINDRAG = LVN_FIRST - 9,
1530 + LVN_BEGINRDRAG = LVN_FIRST - 11,
1531 + LVN_GETDISPINFOA = LVN_FIRST - 50,
1532 + LVN_SETDISPINFOA = LVN_FIRST - 51,
1533 + LVN_KEYDOWN = LVN_FIRST - 55,
1534 + LVN_BEGINLABELEDITW = LVN_FIRST - 75,
1535 + LVN_ENDLABELEDITW = LVN_FIRST - 76,
1536 + LVN_GETDISPINFOW = LVN_FIRST - 77,
1537 + LVN_SETDISPINFOW = LVN_FIRST - 78
1538 +}
1539 +
1540 +static if (_WIN32_IE >= 0x400) {
1541 + enum {
1542 + LVN_MARQUEEBEGIN = LVN_FIRST - 56,
1543 + LVN_GETINFOTIPA = LVN_FIRST - 57,
1544 + LVN_GETINFOTIPW = LVN_FIRST - 58,
1545 + LVKF_ALT = 1,
1546 + LVKF_CONTROL = 2,
1547 + LVKF_SHIFT = 4,
1548 + LVGIT_UNFOLDED = 1
1549 + }
1550 +}
1551 +
1552 +enum {
1553 + TVS_HASBUTTONS = 1,
1554 + TVS_HASLINES = 2,
1555 + TVS_LINESATROOT = 4,
1556 + TVS_EDITLABELS = 8,
1557 + TVS_DISABLEDRAGDROP = 16,
1558 + TVS_SHOWSELALWAYS = 32
1559 +}
1560 +
1561 +static if (_WIN32_IE >= 0x300) {
1562 + enum {
1563 + TVS_RTLREADING = 64,
1564 + TVS_NOTOOLTIPS = 128,
1565 + TVS_CHECKBOXES = 256,
1566 + TVS_TRACKSELECT = 512
1567 + }
1568 +}
1569 +
1570 +static if (_WIN32_IE >= 0x400) {
1571 + enum {
1572 + TVS_SINGLEEXPAND = 1024,
1573 + TVS_INFOTIP = 2048,
1574 + TVS_FULLROWSELECT = 4096,
1575 + TVS_NOSCROLL = 8192,
1576 + TVS_NONEVENHEIGHT = 16384
1577 + }
1578 +}
1579 +
1580 +static if (_WIN32_IE >= 0x500) {
1581 + enum {
1582 + TVS_NOHSCROLL = 0x8000
1583 + }
1584 +}
1585 +
1586 +enum {
1587 + TVIF_TEXT = 1,
1588 + TVIF_IMAGE = 2,
1589 + TVIF_PARAM = 4,
1590 + TVIF_STATE = 8,
1591 + TVIF_HANDLE = 16,
1592 + TVIF_SELECTEDIMAGE = 32,
1593 + TVIF_CHILDREN = 64
1594 +}
1595 +
1596 +static if (_WIN32_IE >= 0x400) {
1597 + enum {
1598 + TVIF_INTEGRAL = 0x0080
1599 + }
1600 +}
1601 +
1602 +enum {
1603 + TVIS_FOCUSED = 1,
1604 + TVIS_SELECTED = 2,
1605 + TVIS_CUT = 4,
1606 + TVIS_DROPHILITED = 8,
1607 + TVIS_BOLD = 16,
1608 + TVIS_EXPANDED = 32,
1609 + TVIS_EXPANDEDONCE = 64,
1610 + TVIS_OVERLAYMASK = 0xF00,
1611 + TVIS_STATEIMAGEMASK = 0xF000,
1612 + TVIS_USERMASK = 0xF000
1613 +}
1614 +
1615 +enum {
1616 + I_CHILDRENCALLBACK = -1
1617 +}
1618 +
1619 +alias HANDLE HTREEITEM;
1620 +
1621 +const HTREEITEM
1622 + TVI_ROOT = cast(HTREEITEM) 0xFFFF0000,
1623 + TVI_FIRST = cast(HTREEITEM) 0xFFFF0001,
1624 + TVI_LAST = cast(HTREEITEM) 0xFFFF0002,
1625 + TVI_SORT = cast(HTREEITEM) 0xFFFF0003;
1626 +
1627 +enum {
1628 + TVSIL_NORMAL = 0,
1629 + TVSIL_STATE = 2
1630 +}
1631 +
1632 +enum {
1633 + TVM_INSERTITEMA = TV_FIRST,
1634 + TVM_DELETEITEM = TV_FIRST + 1,
1635 + TVM_EXPAND = TV_FIRST + 2,
1636 + TVM_GETITEMRECT = TV_FIRST + 4,
1637 + TVM_GETCOUNT,
1638 + TVM_GETINDENT,
1639 + TVM_SETINDENT,
1640 + TVM_GETIMAGELIST,
1641 + TVM_SETIMAGELIST,
1642 + TVM_GETNEXTITEM,
1643 + TVM_SELECTITEM,
1644 + TVM_GETITEMA,
1645 + TVM_SETITEMA,
1646 + TVM_EDITLABELA,
1647 + TVM_GETEDITCONTROL,
1648 + TVM_GETVISIBLECOUNT,
1649 + TVM_HITTEST,
1650 + TVM_CREATEDRAGIMAGE,
1651 + TVM_SORTCHILDREN,
1652 + TVM_ENSUREVISIBLE,
1653 + TVM_SORTCHILDRENCB,
1654 + TVM_ENDEDITLABELNOW,
1655 + TVM_GETISEARCHSTRINGA, // = TV_FIRST + 23
1656 + TVM_INSERTITEMW = TV_FIRST + 50,
1657 + TVM_GETITEMW = TV_FIRST + 62,
1658 + TVM_SETITEMW = TV_FIRST + 63,
1659 + TVM_GETISEARCHSTRINGW = TV_FIRST + 64,
1660 + TVM_EDITLABELW = TV_FIRST + 65
1661 +}
1662 +
1663 +static if (_WIN32_IE >= 0x300) {
1664 + enum {
1665 + TVM_GETTOOLTIPS = TV_FIRST + 25,
1666 + TVM_SETTOOLTIPS = TV_FIRST + 24
1667 + }
1668 +}
1669 +
1670 +static if (_WIN32_IE >= 0x400) {
1671 + enum {
1672 + TVM_SETINSERTMARK = TV_FIRST + 26,
1673 + TVM_SETITEMHEIGHT,
1674 + TVM_GETITEMHEIGHT,
1675 + TVM_SETBKCOLOR,
1676 + TVM_SETTEXTCOLOR,
1677 + TVM_GETBKCOLOR,
1678 + TVM_GETTEXTCOLOR,
1679 + TVM_SETSCROLLTIME,
1680 + TVM_GETSCROLLTIME, // = TV_FIRST + 34
1681 + TVM_SETINSERTMARKCOLOR = TV_FIRST + 37,
1682 + TVM_GETINSERTMARKCOLOR = TV_FIRST + 38,
1683 + TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
1684 + TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
1685 + }
1686 +}
1687 +
1688 +static if (_WIN32_IE >= 0x500) {
1689 + enum {
1690 + TVM_GETITEMSTATE = TV_FIRST + 39,
1691 + TVM_SETLINECOLOR = TV_FIRST + 40,
1692 + TVM_GETLINECOLOR = TV_FIRST + 41
1693 + }
1694 +}
1695 +
1696 +enum {
1697 + TVE_COLLAPSE = 1,
1698 + TVE_EXPAND = 2,
1699 + TVE_TOGGLE = 3,
1700 + TVE_COLLAPSERESET = 0x8000
1701 +}
1702 +
1703 +static if (_WIN32_IE >= 0x300) {
1704 + enum {
1705 + TVE_EXPANDPARTIAL = 0x4000
1706 + }
1707 +}
1708 +
1709 +enum {
1710 + TVC_UNKNOWN,
1711 + TVC_BYMOUSE,
1712 + TVC_BYKEYBOARD // = 2
1713 +}
1714 +
1715 +enum {
1716 + TVGN_ROOT,
1717 + TVGN_NEXT,
1718 + TVGN_PREVIOUS,
1719 + TVGN_PARENT,
1720 + TVGN_CHILD,
1721 + TVGN_FIRSTVISIBLE,
1722 + TVGN_NEXTVISIBLE,
1723 + TVGN_PREVIOUSVISIBLE,
1724 + TVGN_DROPHILITE,
1725 + TVGN_CARET // = 9
1726 +}
1727 +
1728 +static if (_WIN32_IE >= 0x400) {
1729 + enum {
1730 + TVGN_LASTVISIBLE = 10
1731 + }
1732 +}
1733 +
1734 +enum {
1735 + TVN_SELCHANGINGA = TVN_FIRST - 1,
1736 + TVN_SELCHANGEDA = TVN_FIRST - 2,
1737 + TVN_GETDISPINFOA = TVN_FIRST - 3,
1738 + TVN_SETDISPINFOA = TVN_FIRST - 4,
1739 + TVN_ITEMEXPANDINGA = TVN_FIRST - 5,
1740 + TVN_ITEMEXPANDEDA = TVN_FIRST - 6,
1741 + TVN_BEGINDRAGA = TVN_FIRST - 7,
1742 + TVN_BEGINRDRAGA = TVN_FIRST - 8,
1743 + TVN_DELETEITEMA = TVN_FIRST - 9,
1744 + TVN_BEGINLABELEDITA = TVN_FIRST - 10,
1745 + TVN_ENDLABELEDITA = TVN_FIRST - 11,
1746 + TVN_KEYDOWN = TVN_FIRST - 12,
1747 + TVN_SELCHANGINGW = TVN_FIRST - 50,
1748 + TVN_SELCHANGEDW = TVN_FIRST - 51,
1749 + TVN_GETDISPINFOW = TVN_FIRST - 52,
1750 + TVN_SETDISPINFOW = TVN_FIRST - 53,
1751 + TVN_ITEMEXPANDINGW = TVN_FIRST - 54,
1752 + TVN_ITEMEXPANDEDW = TVN_FIRST - 55,
1753 + TVN_BEGINDRAGW = TVN_FIRST - 56,
1754 + TVN_BEGINRDRAGW = TVN_FIRST - 57,
1755 + TVN_DELETEITEMW = TVN_FIRST - 58,
1756 + TVN_BEGINLABELEDITW = TVN_FIRST - 59,
1757 + TVN_ENDLABELEDITW = TVN_FIRST - 60
1758 +}
1759 +
1760 +static if (_WIN32_IE >= 0x400) {
1761 + enum {
1762 + TVNRET_DEFAULT = 0,
1763 + TVNRET_SKIPOLD = 1,
1764 + TVNRET_SKIPNEW = 2,
1765 + TVN_GETINFOTIPA = TVN_FIRST - 13,
1766 + TVN_GETINFOTIPW = TVN_FIRST - 14,
1767 + TVN_SINGLEEXPAND = TVN_FIRST - 15
1768 + }
1769 +}
1770 +
1771 +enum {
1772 + TVIF_DI_SETITEM = 0x1000
1773 +}
1774 +
1775 +enum {
1776 + TVHT_NOWHERE = 1,
1777 + TVHT_ONITEMICON = 2,
1778 + TVHT_ONITEMLABEL = 4,
1779 + TVHT_ONITEMINDENT = 8,
1780 + TVHT_ONITEMBUTTON = 16,
1781 + TVHT_ONITEMRIGHT = 32,
1782 + TVHT_ONITEMSTATEICON = 64,
1783 + TVHT_ABOVE = 256,
1784 + TVHT_BELOW = 512,
1785 + TVHT_TORIGHT = 1024,
1786 + TVHT_TOLEFT = 2048,
1787 + TCHT_NOWHERE = 1,
1788 + TCHT_ONITEMICON = 2,
1789 + TCHT_ONITEMLABEL = 4,
1790 + TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL
1791 + | TVHT_ONITEMSTATEICON,
1792 + TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL
1793 +}
1794 +
1795 +enum {
1796 + TCS_TABS = 0,
1797 + TCS_RIGHTJUSTIFY = 0,
1798 + TCS_SINGLELINE = 0,
1799 + TCS_FORCEICONLEFT = 16,
1800 + TCS_FORCELABELLEFT = 32,
1801 + TCS_BUTTONS = 256,
1802 + TCS_MULTILINE = 512,
1803 + TCS_FIXEDWIDTH = 1024,
1804 + TCS_RAGGEDRIGHT = 2048,
1805 + TCS_FOCUSONBUTTONDOWN = 0x1000,
1806 + TCS_OWNERDRAWFIXED = 0x2000,
1807 + TCS_TOOLTIPS = 0x4000,
1808 + TCS_FOCUSNEVER = 0x8000
1809 +}
1810 +
1811 +static if (_WIN32_IE >= 0x300) {
1812 + enum {
1813 + TCS_BOTTOM = 2,
1814 + TCS_RIGHT = 2,
1815 + TCS_VERTICAL = 128,
1816 + TCS_SCROLLOPPOSITE = 0x0001,
1817 + TCS_HOTTRACK = 0x0040,
1818 + TCS_MULTISELECT = 0x0004
1819 + }
1820 +}
1821 +
1822 +static if(_WIN32_IE >= 0x400) {
1823 + enum {
1824 + TCS_FLATBUTTONS = 0x0008,
1825 + TCS_EX_FLATSEPARATORS = 0x00000001,
1826 + TCS_EX_REGISTERDROP = 0x00000002
1827 + }
1828 +}
1829 +
1830 +enum {
1831 + TCIF_TEXT = 1,
1832 + TCIF_IMAGE = 2,
1833 + TCIF_RTLREADING = 4,
1834 + TCIF_PARAM = 8
1835 +}
1836 +
1837 +static if (_WIN32_IE >= 0x400) {
1838 + enum {
1839 + TCIF_STATE = 16
1840 + }
1841 +}
1842 +
1843 +enum {
1844 + TCIS_BUTTONPRESSED = 1
1845 +}
1846 +
1847 +static if (_WIN32_IE >= 0x400) {
1848 + enum {
1849 + TCIS_HIGHLIGHTED = 2
1850 + }
1851 +}
1852 +
1853 +enum {
1854 + TCM_FIRST = 0x1300,
1855 + TCM_GETIMAGELIST = TCM_FIRST + 2,
1856 + TCM_SETIMAGELIST,
1857 + TCM_GETITEMCOUNT,
1858 + TCM_GETITEMA,
1859 + TCM_SETITEMA,
1860 + TCM_INSERTITEMA,
1861 + TCM_DELETEITEM,
1862 + TCM_DELETEALLITEMS,
1863 + TCM_GETITEMRECT,
1864 + TCM_GETCURSEL,
1865 + TCM_SETCURSEL,
1866 + TCM_HITTEST,
1867 + TCM_SETITEMEXTRA, // = TCM_FIRST + 14
1868 + TCM_ADJUSTRECT = TCM_FIRST + 40,
1869 + TCM_SETITEMSIZE,
1870 + TCM_REMOVEIMAGE,
1871 + TCM_SETPADDING,
1872 + TCM_GETROWCOUNT,
1873 + TCM_GETTOOLTIPS,
1874 + TCM_SETTOOLTIPS,
1875 + TCM_GETCURFOCUS,
1876 + TCM_SETCURFOCUS,
1877 + TCM_SETMINTABWIDTH,
1878 + TCM_DESELECTALL, // = TCM_FIRST + 50
1879 + TCM_GETITEMW = TCM_FIRST + 60,
1880 + TCM_SETITEMW = TCM_FIRST + 61,
1881 + TCM_INSERTITEMW = TCM_FIRST + 62
1882 +}
1883 +
1884 +static if (_WIN32_IE >=0x0400) {
1885 + enum {
1886 + TCM_HIGHLIGHTITEM = TCM_FIRST + 51,
1887 + TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52,
1888 + TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53,
1889 + TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
1890 + TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
1891 + }
1892 +}
1893 +
1894 +enum {
1895 + TCN_KEYDOWN = TCN_FIRST,
1896 + TCN_SELCHANGE = TCN_FIRST - 1,
1897 + TCN_SELCHANGING = TCN_FIRST - 2
1898 +}
1899 +
1900 +enum {
1901 + NM_OUTOFMEMORY = NM_FIRST - 1,
1902 + NM_CLICK = NM_FIRST - 2,
1903 + NM_DBLCLK = NM_FIRST - 3,
1904 + NM_RETURN = NM_FIRST - 4,
1905 + NM_RCLICK = NM_FIRST - 5,
1906 + NM_RDBLCLK = NM_FIRST - 6,
1907 + NM_SETFOCUS = NM_FIRST - 7,
1908 + NM_KILLFOCUS = NM_FIRST - 8,
1909 + NM_CUSTOMDRAW = NM_FIRST - 12,
1910 + NM_HOVER = NM_FIRST - 13,
1911 + NM_NCHITTEST = NM_FIRST - 14,
1912 + NM_KEYDOWN = NM_FIRST - 15,
1913 + NM_RELEASEDCAPTURE = NM_FIRST - 16,
1914 + NM_SETCURSOR = NM_FIRST - 17,
1915 + NM_CHAR = NM_FIRST - 18,
1916 + NM_TOOLTIPSCREATED = NM_FIRST - 19
1917 +}
1918 +
1919 +enum {
1920 + SBARS_SIZEGRIP = 256
1921 +}
1922 +
1923 +/*enum {
1924 + CCM_FIRST = 0x2000,
1925 + CCM_LAST = CCM_FIRST + 0x200,
1926 + CCM_SETBKCOLOR = 8193,
1927 + CCM_SETCOLORSCHEME = 8194,
1928 + CCM_GETCOLORSCHEME = 8195,
1929 + CCM_GETDROPTARGET = 8196,
1930 + CCM_SETUNICODEFORMAT = 8197,
1931 + CCM_GETUNICODEFORMAT = 8198,
1932 + CCM_SETVERSION = 0x2007,
1933 + CCM_GETVERSION = 0x2008,
1934 + CCM_SETNOTIFYWINDOW = 0x2009
1935 +}*/
1936 +
1937 +static if (_WIN32_WINNT >= 0x501) {
1938 + enum {
1939 + CCM_SETWINDOWTHEME = 0x200b,
1940 + CCM_DPISCALE = 0x200c
1941 + }
1942 +}
1943 +
1944 +enum {
1945 + ICC_LISTVIEW_CLASSES = 1,
1946 + ICC_TREEVIEW_CLASSES = 2,
1947 + ICC_BAR_CLASSES = 4,
1948 + ICC_TAB_CLASSES = 8,
1949 + ICC_UPDOWN_CLASS = 16,
1950 + ICC_PROGRESS_CLASS = 32,
1951 + ICC_HOTKEY_CLASS = 64,
1952 + ICC_ANIMATE_CLASS = 128,
1953 + ICC_WIN95_CLASSES = 255,
1954 + ICC_DATE_CLASSES = 256,
1955 + ICC_USEREX_CLASSES = 512,
1956 + ICC_COOL_CLASSES = 1024
1957 +}
1958 +
1959 +static if (_WIN32_IE >= 0x400) {
1960 + enum {
1961 + INFOTIPSIZE = 1024,
1962 + ICC_INTERNET_CLASSES = 2048,
1963 + ICC_PAGESCROLLER_CLASS = 4096,
1964 + ICC_NATIVEFNTCTL_CLASS = 8192
1965 + }
1966 +}
1967 +
1968 +static if (_WIN32_WINNT >= 0x501) {
1969 + enum {
1970 + ICC_STANDARD_CLASSES = 0x00004000,
1971 + ICC_LINK_CLASS = 0x00008000
1972 + }
1973 +}
1974 +
1975 +enum {
1976 + GDTR_MIN = 1,
1977 + GDTR_MAX = 2
1978 +}
1979 +
1980 +enum {
1981 + GMR_VISIBLE,
1982 + GMR_DAYSTATE
1983 +}
1984 +
1985 +enum {
1986 + GDT_ERROR = -1,
1987 + GDT_VALID = 0,
1988 + GDT_NONE = 1
1989 +}
1990 +
1991 +enum {
1992 + DTS_SHORTDATEFORMAT = 0,
1993 + DTS_UPDOWN = 1,
1994 + DTS_SHOWNONE = 2,
1995 + DTS_LONGDATEFORMAT = 4,
1996 + DTS_TIMEFORMAT = 9,
1997 + DTS_APPCANPARSE = 16,
1998 + DTS_RIGHTALIGN = 32
1999 +}
2000 +
2001 +static if (_WIN32_IE >= 0x500) {
2002 + enum {
2003 + DTS_SHORTDATECENTURYFORMAT = 0x000C
2004 + }
2005 +}
2006 +
2007 +enum {
2008 + MCS_DAYSTATE = 1,
2009 + MCS_MULTISELECT = 2,
2010 + MCS_WEEKNUMBERS = 4
2011 +}
2012 +
2013 +static if (_WIN32_IE >= 0x400) {
2014 + enum {
2015 + MCS_NOTODAYCIRCLE = 0x0008,
2016 + MCS_NOTODAY = 0x0010
2017 + }
2018 +} else {
2019 + enum {
2020 + MCS_NOTODAY = 0x0008
2021 + }
2022 +}
2023 +
2024 +enum {
2025 + DTM_GETSYSTEMTIME = 0x1001,
2026 + DTM_SETSYSTEMTIME = 0x1002,
2027 + DTM_GETRANGE = 0x1003,
2028 + DTM_SETRANGE = 0x1004,
2029 + DTM_SETFORMATA = 0x1005,
2030 + DTM_SETMCCOLOR = 0x1006,
2031 + DTM_GETMCCOLOR = 0x1007,
2032 + DTM_GETMONTHCAL = 0x1008,
2033 + DTM_SETMCFONT = 0x1009,
2034 + DTM_GETMCFONT = 0x100a,
2035 + DTM_SETFORMATW = 0x1050
2036 +}
2037 +
2038 +enum {
2039 + DTN_USERSTRINGA = -758U,
2040 + DTN_USERSTRINGW = -745U,
2041 + DTN_WMKEYDOWNA = -757U,
2042 + DTN_WMKEYDOWNW = -744U,
2043 + DTN_FORMATA = -756U,
2044 + DTN_FORMATW = -743U,
2045 + DTN_FORMATQUERYA = -755U,
2046 + DTN_FORMATQUERYW = -742U,
2047 + DTN_DROPDOWN = -754U,
2048 + DTN_CLOSEUP = -753U,
2049 + DTN_DATETIMECHANGE = -759U,
2050 +}
2051 +
2052 +enum {
2053 + MCM_GETCURSEL = 0x1001,
2054 + MCM_SETCURSEL = 0x1002,
2055 + MCM_GETMAXSELCOUNT = 0x1003,
2056 + MCM_SETMAXSELCOUNT = 0x1004,
2057 + MCM_GETSELRANGE = 0x1005,
2058 + MCM_SETSELRANGE = 0x1006,
2059 + MCM_GETMONTHRANGE = 0x1007,
2060 + MCM_SETDAYSTATE = 0x1008,
2061 + MCM_GETMINREQRECT = 0x1009,
2062 + MCM_SETCOLOR = 0x100a,
2063 + MCM_GETCOLOR = 0x100b,
2064 + MCM_SETTODAY = 0x100c,
2065 + MCM_GETTODAY = 0x100d,
2066 + MCM_HITTEST = 0x100e,
2067 + MCM_SETFIRSTDAYOFWEEK = 0x100f,
2068 + MCM_GETFIRSTDAYOFWEEK = 0x1010,
2069 + MCM_GETRANGE = 0x1011,
2070 + MCM_SETRANGE = 0x1012,
2071 + MCM_GETMONTHDELTA = 0x1013,
2072 + MCM_SETMONTHDELTA = 0x1014,
2073 + MCM_GETMAXTODAYWIDTH = 0x1015,
2074 + MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
2075 + MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT
2076 +}
2077 +
2078 +enum {
2079 + MCN_SELCHANGE = -749U,
2080 + MCN_GETDAYSTATE = -747U,
2081 + MCN_SELECT = -746U
2082 +}
2083 +
2084 +enum {
2085 + ODT_HEADER = 100,
2086 + ODT_TAB,
2087 + ODT_LISTVIEW // = 102
2088 +}
2089 +
2090 +enum {
2091 + SB_SETBKCOLOR = 0x2001
2092 +}
2093 +
2094 +static if (_WIN32_IE >= 0x300) {
2095 + enum {
2096 + SB_ISSIMPLE = 1038
2097 + }
2098 +
2099 + enum {
2100 + MCSC_BACKGROUND,
2101 + MCSC_TEXT,
2102 + MCSC_TITLEBK,
2103 + MCSC_TITLETEXT,
2104 + MCSC_MONTHBK,
2105 + MCSC_TRAILINGTEXT // = 5
2106 + }
2107 +}
2108 +
2109 +static if (_WIN32_IE >= 0x400) {
2110 + enum {
2111 + MCHT_TITLE = 0x10000,
2112 + MCHT_CALENDAR = 0x20000,
2113 + MCHT_TODAYLINK = 0x30000,
2114 + MCHT_NEXT = 0x1000000,
2115 + MCHT_PREV = 0x2000000,
2116 + MCHT_NOWHERE = 0x00,
2117 + MCHT_TITLEBK = MCHT_TITLE,
2118 + MCHT_TITLEMONTH = MCHT_TITLE | 0x0001,
2119 + MCHT_TITLEYEAR = MCHT_TITLE | 0x0002,
2120 + MCHT_TITLEBTNNEXT = MCHT_TITLE | MCHT_NEXT | 0x0003,
2121 + MCHT_TITLEBTNPREV = MCHT_TITLE | MCHT_PREV | 0x0003,
2122 + MCHT_CALENDARBK = MCHT_CALENDAR,
2123 + MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001,
2124 + MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE | MCHT_NEXT,
2125 + MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE | MCHT_PREV,
2126 + MCHT_CALENDARDAY = MCHT_CALENDAR | 0x0002,
2127 + MCHT_CALENDARWEEKNUM = MCHT_CALENDAR | 0x0003
2128 + }
2129 +}
2130 +
2131 +enum {
2132 + RBS_TOOLTIPS = 256,
2133 + RBS_VARHEIGHT = 512,
2134 + RBS_BANDBORDERS = 1024,
2135 + RBS_FIXEDORDER = 2048
2136 +}
2137 +
2138 +enum {
2139 + RBIM_IMAGELIST = 1
2140 +}
2141 +
2142 +enum {
2143 + RB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
2144 + RB_GETCOLORSCHEME = CCM_GETCOLORSCHEME
2145 +}
2146 +
2147 +enum {
2148 + RBBS_BREAK = 0x0001,
2149 + RBBS_FIXEDSIZE = 0x0002,
2150 + RBBS_CHILDEDGE = 0x0004,
2151 + RBBS_HIDDEN = 0x0008,
2152 + RBBS_NOVERT = 0x0010,
2153 + RBBS_FIXEDBMP = 0x0020,
2154 + RBBS_VARIABLEHEIGHT = 0x0040,
2155 + RBBS_GRIPPERALWAYS = 0x0080,
2156 + RBBS_NOGRIPPER = 0x0100
2157 +}
2158 +
2159 +static if (_WIN32_IE >= 0x500) {
2160 + enum {
2161 + RBBS_USECHEVRON = 0x0200
2162 + }
2163 +}
2164 +
2165 +static if (_WIN32_IE >= 0x501) {
2166 + enum {
2167 + RBBS_HIDETITLE = 0x0400,
2168 + RBBS_TOPALIGN = 0x0800
2169 + }
2170 +}
2171 +
2172 +enum {
2173 + RBBIM_STYLE = 1,
2174 + RBBIM_COLORS = 2,
2175 + RBBIM_TEXT = 4,
2176 + RBBIM_IMAGE = 8,
2177 + RBBIM_CHILD = 16,
2178 + RBBIM_CHILDSIZE = 32,
2179 + RBBIM_SIZE = 64,
2180 + RBBIM_BACKGROUND = 128,
2181 + RBBIM_ID = 256
2182 +}
2183 +
2184 +enum {
2185 + RB_INSERTBANDA = WM_USER + 1,
2186 + RB_DELETEBAND,
2187 + RB_GETBARINFO,
2188 + RB_SETBARINFO, // = WM_USER + 4
2189 + RB_SETBANDINFOA = WM_USER + 6,
2190 + RB_SETPARENT = WM_USER + 7,
2191 + RB_INSERTBANDW = WM_USER + 10,
2192 + RB_SETBANDINFOW,
2193 + RB_GETBANDCOUNT,
2194 + RB_GETROWCOUNT,
2195 + RB_GETROWHEIGHT // = WM_USER + 14,
2196 +}
2197 +
2198 +enum {
2199 + RBN_HEIGHTCHANGE = RBN_FIRST
2200 +}
2201 +
2202 +static if (_WIN32_IE >= 0x300) {
2203 + enum {
2204 + LVN_ODCACHEHINT = LVN_FIRST - 13,
2205 + LVN_ODFINDITEMA = LVN_FIRST - 52,
2206 + LVN_ODFINDITEMW = LVN_FIRST - 79,
2207 + LVN_ITEMACTIVATE = LVN_FIRST - 14,
2208 + LVN_ODSTATECHANGED = LVN_FIRST - 15
2209 + }
2210 +
2211 + version (Unicode) {
2212 + enum {
2213 + LVN_ODFINDITEM = LVN_ODFINDITEMW
2214 + }
2215 + } else {
2216 + enum {
2217 + LVN_ODFINDITEM = LVN_ODFINDITEMA
2218 + }
2219 + }
2220 +}
2221 +
2222 +static if (_WIN32_IE >= 0x400) {
2223 + enum {
2224 + SB_SETICON = 1039,
2225 + SB_SETTIPTEXTA,
2226 + SB_SETTIPTEXTW,
2227 + SB_GETTIPTEXTA,
2228 + SB_GETTIPTEXTW,
2229 + SB_GETICON, // = 1044
2230 + SB_SETUNICODEFORMAT = 0x2005,
2231 + SB_GETUNICODEFORMAT = 0x2006
2232 + }
2233 +
2234 + enum {
2235 + PGF_INVISIBLE = 0,
2236 + PGF_NORMAL = 1,
2237 + PGF_GRAYED = 2,
2238 + PGF_DEPRESSED = 4,
2239 + PGF_HOT = 8
2240 + }
2241 +
2242 + enum {
2243 + PGB_TOPORLEFT,
2244 + PGB_BOTTOMORRIGHT
2245 + }
2246 +
2247 + enum {
2248 + PGF_SCROLLUP = 1,
2249 + PGF_SCROLLDOWN = 2,
2250 + PGF_SCROLLLEFT = 4,
2251 + PGF_SCROLLRIGHT = 8
2252 + }
2253 +
2254 + enum {
2255 + PGK_SHIFT = 1,
2256 + PGK_CONTROL = 2,
2257 + PGK_MENU = 4
2258 + }
2259 +
2260 + enum {
2261 + PGF_CALCWIDTH = 1,
2262 + PGF_CALCHEIGHT = 2
2263 + }
2264 +
2265 + enum {
2266 + PGM_FIRST = 0x1400,
2267 + PGM_SETCHILD = PGM_FIRST + 1,
2268 + PGM_RECALCSIZE,
2269 + PGM_FORWARDMOUSE,
2270 + PGM_SETBKCOLOR,
2271 + PGM_GETBKCOLOR,
2272 + PGM_SETBORDER,
2273 + PGM_GETBORDER,
2274 + PGM_SETPOS,
2275 + PGM_GETPOS,
2276 + PGM_SETBUTTONSIZE,
2277 + PGM_GETBUTTONSIZE,
2278 + PGM_GETBUTTONSTATE, // = PGM_FIRST + 12
2279 + PGM_GETDROPTARGET = CCM_GETDROPTARGET
2280 + }
2281 +
2282 + enum {
2283 + RBS_REGISTERDROP = 4096,
2284 + RBS_AUTOSIZE = 8192,
2285 + RBS_VERTICALGRIPPER = 16384,
2286 + RBS_DBLCLKTOGGLE = 32768
2287 + }
2288 +
2289 + enum {
2290 + RBBIM_IDEALSIZE = 512,
2291 + RBBIM_LPARAM = 1024,
2292 + RBBIM_HEADERSIZE = 2048
2293 + }
2294 +
2295 + enum {
2296 + RB_HITTEST = WM_USER + 8,
2297 + RB_GETRECT = WM_USER + 9,
2298 + RB_IDTOINDEX = WM_USER + 16,
2299 + RB_GETTOOLTIPS,
2300 + RB_SETTOOLTIPS,
2301 + RB_SETBKCOLOR,
2302 + RB_GETBKCOLOR,
2303 + RB_SETTEXTCOLOR,
2304 + RB_GETTEXTCOLOR,
2305 + RB_SIZETORECT,
2306 + RB_BEGINDRAG,
2307 + RB_ENDDRAG,
2308 + RB_DRAGMOVE,
2309 + RB_GETBARHEIGHT,
2310 + RB_GETBANDINFOW,
2311 + RB_GETBANDINFOA,
2312 + RB_MINIMIZEBAND,
2313 + RB_MAXIMIZEBAND, // = WM_USER + 31
2314 + RB_GETDROPTARGET = CCM_GETDROPTARGET,
2315 + RB_GETBANDBORDERS = WM_USER + 34,
2316 + RB_SHOWBAND = WM_USER + 35,
2317 + RB_SETPALETTE = WM_USER + 37,
2318 + RB_GETPALETTE = WM_USER + 38,
2319 + RB_MOVEBAND = WM_USER + 39,
2320 + RB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
2321 + RB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
2322 + }
2323 +
2324 + enum {
2325 + RBN_GETOBJECT = RBN_FIRST - 1,
2326 + RBN_LAYOUTCHANGED = RBN_FIRST - 2,
2327 + RBN_AUTOSIZE = RBN_FIRST - 3,
2328 + RBN_BEGINDRAG = RBN_FIRST - 4,
2329 + RBN_ENDDRAG = RBN_FIRST - 5,
2330 + RBN_DELETINGBAND = RBN_FIRST - 6,
2331 + RBN_DELETEDBAND = RBN_FIRST - 7,
2332 + RBN_CHILDSIZE = RBN_FIRST - 8
2333 + }
2334 +
2335 + enum {
2336 + RBNM_ID = 1,
2337 + RBNM_STYLE = 2,
2338 + RBNM_LPARAM = 4
2339 + }
2340 +
2341 + enum {
2342 + RBHT_NOWHERE = 1,
2343 + RBHT_CAPTION,
2344 + RBHT_CLIENT,
2345 + RBHT_GRABBER
2346 + }
2347 +
2348 + version (Unicode) {
2349 + alias SB_SETTIPTEXTW SB_SETTIPTEXT;
2350 + alias SB_GETTIPTEXTW SB_GETTIPTEXT;
2351 + alias RB_GETBANDINFOW RB_GETBANDINFO;
2352 + } else {
2353 + alias SB_SETTIPTEXTA SB_SETTIPTEXT;
2354 + alias SB_GETTIPTEXTA SB_GETTIPTEXT;
2355 + alias RB_GETBANDINFOA RB_GETBANDINFO;
2356 + }
2357 +} else {
2358 + enum {
2359 + RB_GETBANDINFO = WM_USER + 5
2360 + }
2361 +}
2362 +
2363 +enum {
2364 + CBEM_INSERTITEMA = WM_USER + 1,
2365 + CBEM_SETIMAGELIST,
2366 + CBEM_GETIMAGELIST,
2367 + CBEM_GETITEMA,
2368 + CBEM_SETITEMA,
2369 + CBEM_GETCOMBOCONTROL,
2370 + CBEM_GETEDITCONTROL,
2371 + CBEM_SETEXSTYLE,
2372 + CBEM_GETEXSTYLE, // = WM_USER + 9)
2373 + CBEM_DELETEITEM = CB_DELETESTRING
2374 +}
2375 +
2376 +static if (_WIN32_IE >= 0x400) {
2377 + enum {
2378 + CBEM_SETEXTENDEDSTYLE = WM_USER + 14,
2379 + CBEM_GETEXTENDEDSTYLE = WM_USER + 9,
2380 + CBEM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
2381 + CBEM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT
2382 + }
2383 +}
2384 +
2385 +enum {
2386 + CBEM_HASEDITCHANGED = WM_USER + 10,
2387 + CBEM_INSERTITEMW = WM_USER + 11,
2388 + CBEM_SETITEMW = WM_USER + 12,
2389 + CBEM_GETITEMW = WM_USER + 13
2390 +}
2391 +
2392 +enum {
2393 + DA_LAST = 0x7fffffff
2394 +}
2395 +
2396 +enum {
2397 + DPA_APPEND = 0x7fffffff,
2398 + DPA_ERR = -1
2399 +}
2400 +
2401 +enum {
2402 + DSA_APPEND = 0x7fffffff,
2403 + DSA_ERR = -1
2404 +}
2405 +
2406 +enum {
2407 + DPAS_SORTED = 1,
2408 + DPAS_INSERTBEFORE = 2,
2409 + DPAS_INSERTAFTER = 4
2410 +}
2411 +
2412 +static if (_WIN32_IE >= 0x400) {
2413 + enum {
2414 + WSB_PROP_CYVSCROLL = 1,
2415 + WSB_PROP_CXHSCROLL = 2,
2416 + WSB_PROP_CYHSCROLL = 4,
2417 + WSB_PROP_CXVSCROLL = 8,
2418 + WSB_PROP_CXHTHUMB = 16,
2419 + WSB_PROP_CYVTHUMB = 32,
2420 + WSB_PROP_VBKGCOLOR = 64,
2421 + WSB_PROP_HBKGCOLOR = 128,
2422 + WSB_PROP_VSTYLE = 256,
2423 + WSB_PROP_HSTYLE = 512,
2424 + WSB_PROP_WINSTYLE = 1024,
2425 + WSB_PROP_PALETTE = 2048,
2426 + WSB_PROP_MASK = 0xfff,
2427 + FSB_FLAT_MODE = 2,
2428 + FSB_ENCARTA_MODE = 1,
2429 + FSB_REGULAR_MODE = 0
2430 + }
2431 +}
2432 +
2433 +static if (_WIN32_WINNT >= 0x0501) {
2434 + enum {
2435 + LIF_ITEMINDEX = 1,
2436 + LIF_STATE = 2,
2437 + LIF_ITEMID = 4,
2438 + LIF_URL = 8
2439 + }
2440 +
2441 + enum {
2442 + LIS_FOCUSED = 1,
2443 + LIS_ENABLED = 2,
2444 + LIS_VISITED = 4
2445 + }
2446 +
2447 + enum {
2448 + LM_HITTEST = WM_USER + 768,
2449 + LM_GETIDEALHEIGHT,
2450 + LM_SETITEM,
2451 + LM_GETITEM // = WM_USER + 771
2452 + }
2453 +
2454 + const size_t MAX_LINKID_TEXT = 48;
2455 + const size_t L_MAX_URL_LENGTH = 2084;
2456 +}
2457 +
2458 +
2459 +struct COMBOBOXEXITEMA {
2460 + UINT mask;
2461 + int iItem;
2462 + LPSTR pszText;
2463 + int cchTextMax;
2464 + int iImage;
2465 + int iSelectedImage;
2466 + int iOverlay;
2467 + int iIndent;
2468 + LPARAM lParam;
2469 +}
2470 +alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA;
2471 +alias CPtr!(COMBOBOXEXITEMA) PCCOMBOEXITEMA;
2472 +
2473 +struct COMBOBOXEXITEMW {
2474 + UINT mask;
2475 + int iItem;
2476 + LPWSTR pszText;
2477 + int cchTextMax;
2478 + int iImage;
2479 + int iSelectedImage;
2480 + int iOverlay;
2481 + int iIndent;
2482 + LPARAM lParam;
2483 +}
2484 +alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW;
2485 +alias CPtr!(COMBOBOXEXITEMW) PCCOMBOEXITEMW;
2486 +
2487 +static if (_WIN32_IE >= 0x400) {
2488 + struct NMCOMBOBOXEXA {
2489 + NMHDR hdr;
2490 + COMBOBOXEXITEMA ceItem;
2491 + }
2492 + alias NMCOMBOBOXEXA* PNMCOMBOBOXEXA;
2493 +
2494 + struct NMCOMBOBOXEXW {
2495 + NMHDR hdr;
2496 + COMBOBOXEXITEMW ceItem;
2497 + }
2498 + alias NMCOMBOBOXEXW* PNMCOMBOBOXEXW;
2499 +
2500 + struct NMCBEDRAGBEGINW {
2501 + NMHDR hdr;
2502 + int iItemid;
2503 + WCHAR szText[CBEMAXSTRLEN];
2504 + }
2505 + alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW;
2506 +
2507 + struct NMCBEDRAGBEGINA {
2508 + NMHDR hdr;
2509 + int iItemid;
2510 + char szText[CBEMAXSTRLEN];
2511 + }
2512 + alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA;
2513 +
2514 + struct NMIPADDRESS {
2515 + NMHDR hdr;
2516 + int iField;
2517 + int iValue;
2518 + }
2519 + alias NMIPADDRESS* LPNMIPADDRESS;
2520 +
2521 + struct NMLVKEYDOWN {
2522 + NMHDR hdr;
2523 + WORD wVKey;
2524 + UINT flags;
2525 + }
2526 + alias NMLVKEYDOWN* LPNMLVKEYDOWN;
2527 +
2528 + struct NMPGCALCSIZE {
2529 + NMHDR hdr;
2530 + DWORD dwFlag;
2531 + int iWidth;
2532 + int iHeight;
2533 + }
2534 + alias NMPGCALCSIZE* LPNMPGCALCSIZE;
2535 +
2536 + struct NMPGSCROLL {
2537 + NMHDR hdr;
2538 + BOOL fwKeys;
2539 + RECT rcParent;
2540 + int iDir;
2541 + int iXpos;
2542 + int iYpos;
2543 + int iScroll;
2544 + }
2545 + alias NMPGSCROLL* LPNMPGSCROLL;
2546 +
2547 + struct NMSELCHANGE {
2548 + NMHDR nmhdr;
2549 + SYSTEMTIME stSelStart;
2550 + SYSTEMTIME stSelEnd;
2551 + }
2552 + alias NMSELCHANGE* LPNMSELCHANGE;
2553 +
2554 + struct NMTBHOTITEM {
2555 + NMHDR hdr;
2556 + int idOld;
2557 + int idNew;
2558 + DWORD dwFlags;
2559 + }
2560 + alias NMTBHOTITEM* LPNMTBHOTITEM;
2561 +
2562 + struct NMTBDISPINFOA {
2563 + NMHDR hdr;
2564 + DWORD dwMask;
2565 + int idCommand;
2566 + DWORD_PTR lParam;
2567 + int iImage;
2568 + LPSTR pszText;
2569 + int cchText;
2570 + }
2571 + alias NMTBDISPINFOA* LPNMTBDISPINFOA;
2572 +
2573 + struct NMTBDISPINFOW {
2574 + NMHDR hdr;
2575 + DWORD dwMask;
2576 + int idCommand;
2577 + DWORD_PTR lParam;
2578 + int iImage;
2579 + LPWSTR pszText;
2580 + int cchText;
2581 + }
2582 + alias NMTBDISPINFOW* LPNMTBDISPINFOW;
2583 +
2584 + struct NMTBGETINFOTIPA {
2585 + NMHDR hdr;
2586 + LPSTR pszText;
2587 + int cchTextMax;
2588 + int iItem;
2589 + LPARAM lParam;
2590 + }
2591 + alias NMTBGETINFOTIPA* LPNMTBGETINFOTIPA;
2592 +
2593 + struct NMTBGETINFOTIPW {
2594 + NMHDR hdr;
2595 + LPWSTR pszText;
2596 + int cchTextMax;
2597 + int iItem;
2598 + LPARAM lParam;
2599 + }
2600 + alias NMTBGETINFOTIPW* LPNMTBGETINFOTIPW;
2601 +
2602 + struct NMMOUSE {
2603 + NMHDR hdr;
2604 + DWORD_PTR dwItemSpec;
2605 + DWORD_PTR dwItemData;
2606 + POINT pt;
2607 + LPARAM dwHitInfo;
2608 + }
2609 + alias NMMOUSE* LPNMMOUSE;
2610 +}
2611 +
2612 +static if (_WIN32_IE >= 0x401) {
2613 + struct NMTOOLTIPSCREATED {
2614 + NMHDR hdr;
2615 + HWND hwndToolTips;
2616 + }
2617 + alias NMTOOLTIPSCREATED* LPNMTOOLTIPSCREATED;
2618 +}
2619 +
2620 +struct NMDATETIMECHANGE {
2621 + NMHDR nmhdr;
2622 + DWORD dwFlags;
2623 + SYSTEMTIME st;
2624 +}
2625 +alias NMDATETIMECHANGE* LPNMDATETIMECHANGE;
2626 +
2627 +struct NMCBEENDEDITW {
2628 + NMHDR hdr;
2629 + BOOL fChanged;
2630 + int iNewSelection;
2631 + WCHAR szText[CBEMAXSTRLEN];
2632 + int iWhy;
2633 +}
2634 +alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW;
2635 +
2636 +struct NMCBEENDEDITA {
2637 + NMHDR hdr;
2638 + BOOL fChanged;
2639 + int iNewSelection;
2640 + char szText[CBEMAXSTRLEN];
2641 + int iWhy;
2642 +}
2643 +alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA;
2644 +
2645 +struct COLORMAP {
2646 + COLORREF from;
2647 + COLORREF to;
2648 +}
2649 +alias COLORMAP* LPCOLORMAP;
2650 +
2651 +struct DRAGLISTINFO {
2652 + UINT uNotification;
2653 + HWND hWnd;
2654 + POINT ptCursor;
2655 +}
2656 +alias DRAGLISTINFO* LPDRAGLISTINFO;
2657 +
2658 +struct TBBUTTON {
2659 + int iBitmap;
2660 + int idCommand;
2661 + BYTE fsState;
2662 + BYTE fsStyle;
2663 + BYTE bReserved[2];
2664 + DWORD dwData;
2665 + int iString;
2666 +}
2667 +alias TBBUTTON* PTBBUTTON, LPTBBUTTON;
2668 +alias CPtr!(TBBUTTON) LPCTBBUTTON;
2669 +
2670 +static if (_WIN32_IE >= 0x400) {
2671 + struct TBBUTTONINFOA {
2672 + UINT cbSize = TBBUTTONINFOA.sizeof;
2673 + DWORD dwMask;
2674 + int idCommand;
2675 + int iImage;
2676 + BYTE fsState;
2677 + BYTE fsStyle;
2678 + WORD cx;
2679 + DWORD lParam;
2680 + LPSTR pszText;
2681 + int cchText;
2682 + }
2683 + alias TBBUTTONINFOA* LPTBBUTTONINFOA;
2684 +
2685 + struct TBBUTTONINFOW {
2686 + UINT cbSize = TBBUTTONINFOW.sizeof;
2687 + DWORD dwMask;
2688 + int idCommand;
2689 + int iImage;
2690 + BYTE fsState;
2691 + BYTE fsStyle;
2692 + WORD cx;
2693 + DWORD lParam;
2694 + LPWSTR pszText;
2695 + int cchText;
2696 + }
2697 + alias TBBUTTONINFOW* LPTBBUTTONINFOW;
2698 +
2699 + struct TBINSERTMARK {
2700 + int iButton;
2701 + DWORD dwFlags;
2702 + }
2703 + alias TBINSERTMARK* LPTBINSERTMARK;
2704 +
2705 + struct LVBKIMAGEA {
2706 + ULONG ulFlags;
2707 + HBITMAP hbm;
2708 + LPSTR pszImage;
2709 + UINT cchImageMax;
2710 + int xOffsetPercent;
2711 + int yOffsetPercent;
2712 + }
2713 + alias LVBKIMAGEA* LPLVBKIMAGEA;
2714 +
2715 + struct LVBKIMAGEW {
2716 + ULONG ulFlags;
2717 + HBITMAP hbm;
2718 + LPWSTR pszImage;
2719 + UINT cchImageMax;
2720 + int xOffsetPercent;
2721 + int yOffsetPercent;
2722 + }
2723 + alias LVBKIMAGEW* LPLVBKIMAGEW;
2724 +}
2725 +
2726 +/*struct TBNOTIFY {
2727 + NMHDR hdr;
2728 + int iItem;
2729 + TBBUTTON tbButton;
2730 + int cchText;
2731 + LPTSTR pszText;
2732 +}
2733 +alias TBNOTIFY* LPTBNOTIFY;
2734 +*/
2735 +
2736 +/*struct TBSAVEPARAMS {
2737 + HKEY hkr;
2738 + LPCTSTR pszSubKey;
2739 + LPCTSTR pszValueName;
2740 +}*/
2741 +
2742 +struct IMAGEINFO {
2743 + HBITMAP hbmImage;
2744 + HBITMAP hbmMask;
2745 + int Unused1;
2746 + int Unused2;
2747 + RECT rcImage;
2748 +}
2749 +alias IMAGEINFO* LPIMAGEINFO;
2750 +
2751 +alias HANDLE HIMAGELIST;
2752 +
2753 +static if (_WIN32_IE >= 0x500) {
2754 + struct HDITEMA {
2755 + UINT mask;
2756 + int cxy;
2757 + LPSTR pszText;
2758 + HBITMAP hbm;
2759 + int cchTextMax;
2760 + int fmt;
2761 + LPARAM lParam;
2762 + int iImage;
2763 + int iOrder;
2764 + UINT type;
2765 + LPVOID pvFilter;
2766 + }
2767 +
2768 + struct HDITEMW {
2769 + UINT mask;
2770 + int cxy;
2771 + LPWSTR pszText;
2772 + HBITMAP hbm;
2773 + int cchTextMax;
2774 + int fmt;
2775 + LPARAM lParam;
2776 + int iImage;
2777 + int iOrder;
2778 + UINT type;
2779 + LPVOID pvFilter;
2780 + }
2781 +} else static if (_WIN32_IE >= 0x300) {
2782 + struct HDITEMA {
2783 + UINT mask;
2784 + int cxy;
2785 + LPSTR pszText;
2786 + HBITMAP hbm;
2787 + int cchTextMax;
2788 + int fmt;
2789 + LPARAM lParam;
2790 + int iImage;
2791 + int iOrder;
2792 + }
2793 +
2794 + struct HDITEMW {
2795 + UINT mask;
2796 + int cxy;
2797 + LPWSTR pszText;
2798 + HBITMAP hbm;
2799 + int cchTextMax;
2800 + int fmt;
2801 + LPARAM lParam;
2802 + int iImage;
2803 + int iOrder;
2804 + }
2805 +} else {
2806 + struct HDITEMA {
2807 + UINT mask;
2808 + int cxy;
2809 + LPSTR pszText;
2810 + HBITMAP hbm;
2811 + int cchTextMax;
2812 + int fmt;
2813 + LPARAM lParam;
2814 + }
2815 +
2816 + struct HDITEMW {
2817 + UINT mask;
2818 + int cxy;
2819 + LPWSTR pszText;
2820 + HBITMAP hbm;
2821 + int cchTextMax;
2822 + int fmt;
2823 + LPARAM lParam;
2824 + }
2825 +}
2826 +alias HDITEMA* LPHDITEMA;
2827 +alias HDITEMW* LPHDITEMW;
2828 +
2829 +deprecated {
2830 + alias HDITEMA HD_ITEMA;
2831 + alias HDITEMW HD_ITEMW;
2832 + //alias HDITEM HD_ITEM; fixme
2833 +}
2834 +
2835 +struct HD_LAYOUT {
2836 + RECT* prc;
2837 + WINDOWPOS* pwpos;
2838 +}
2839 +alias HDLAYOUT* LPHDLAYOUT;
2840 +deprecated alias HD_LAYOUT HDLAYOUT;
2841 +
2842 +struct HD_HITTESTINFO {
2843 + POINT pt;
2844 + UINT flags;
2845 + int iItem;
2846 +}
2847 +alias HD_HITTESTINFO* LPHDHITTESTINFO;
2848 +
2849 +struct HD_NOTIFYA {
2850 + NMHDR hdr;
2851 + int iItem;
2852 + int iButton;
2853 + HDITEMA* pitem;
2854 +}
2855 +
2856 +struct HD_NOTIFYW {
2857 + NMHDR hdr;
2858 + int iItem;
2859 + int iButton;
2860 + HDITEMW* pitem;
2861 +}
2862 +
2863 +/* FIXME: NMHEADER structure (base for all events of the comctl controls)
2864 + is the same as HD_NOTIFY depending on the value of _WIN32_IE macro.
2865 + I'm defining both for now. */
2866 +struct NMHEADERA {
2867 + NMHDR hdr;
2868 + int iItem;
2869 + int iButton;
2870 + HDITEMA* pitem;
2871 +}
2872 +alias NMHEADERA* LPNMHEADERA;
2873 +
2874 +struct NMHEADERW {
2875 + NMHDR hdr;
2876 + int iItem;
2877 + int iButton;
2878 + HDITEMW* pitem;
2879 +}
2880 +alias NMHEADERW* LPNMHEADERW;
2881 +
2882 +version (Unicode) {
2883 + alias NMHEADERW NMHEADER;
2884 + alias LPNMHEADERW LPNMHEADER;
2885 +} else {
2886 + alias NMHEADERA NMHEADER;
2887 + alias LPNMHEADERA LPNMHEADER;
2888 +}
2889 +// End FIXME
2890 +
2891 +struct NMHDDISPINFOA {
2892 + NMHDR hdr;
2893 + int iItem;
2894 + UINT mask;
2895 + LPSTR pszText;
2896 + int cchTextMax;
2897 + int iImage;
2898 + LPARAM lParam;
2899 +}
2900 +alias NMHDDISPINFOA* LPNMHDDISPINFOA;
2901 +
2902 +struct NMHDDISPINFOW {
2903 + NMHDR hdr;
2904 + int iItem;
2905 + UINT mask;
2906 + LPWSTR pszText;
2907 + int cchTextMax;
2908 + int iImage;
2909 + LPARAM lParam;
2910 +}
2911 +alias NMHDDISPINFOW* LPNMHDDISPINFOW;
2912 +
2913 +struct NMCUSTOMDRAW {
2914 + NMHDR hdr;
2915 + DWORD dwDrawStage;
2916 + HDC hdc;
2917 + RECT rc;
2918 + DWORD dwItemSpec;
2919 + UINT uItemState;
2920 + LPARAM lItemlParam;
2921 +}
2922 +alias NMCUSTOMDRAW* LPNMCUSTOMDRAW;
2923 +
2924 +static if (_WIN32_IE >= 0x400) {
2925 + struct NMLVCUSTOMDRAW {
2926 + NMCUSTOMDRAW nmcd;
2927 + COLORREF clrText;
2928 + COLORREF clrTextBk;
2929 + int iSubItem;
2930 + }
2931 +} else {
2932 + struct NMLVCUSTOMDRAW {
2933 + NMCUSTOMDRAW nmcd;
2934 + COLORREF clrText;
2935 + COLORREF clrTextBk;
2936 + }
2937 +}
2938 +alias NMLVCUSTOMDRAW* LPNMLVCUSTOMDRAW;
2939 +
2940 +static if (_WIN32_IE >= 0x400) {
2941 + struct NMLVGETINFOTIPA {
2942 + NMHDR hdr;
2943 + DWORD dwFlags;
2944 + LPSTR pszText;
2945 + int cchTextMax;
2946 + int iItem;
2947 + int iSubItem;
2948 + LPARAM lParam;
2949 + }
2950 + alias NMLVGETINFOTIPA* LPNMLVGETINFOTIPA;
2951 +
2952 + struct NMLVGETINFOTIPW {
2953 + NMHDR hdr;
2954 + DWORD dwFlags;
2955 + LPWSTR pszText;
2956 + int cchTextMax;
2957 + int iItem;
2958 + int iSubItem;
2959 + LPARAM lParam;
2960 + }
2961 + alias NMLVGETINFOTIPW* LPNMLVGETINFOTIPW;
2962 +}
2963 +
2964 +static if (_WIN32_IE >= 0x400) {
2965 + struct NMTVCUSTOMDRAW {
2966 + NMCUSTOMDRAW nmcd;
2967 + COLORREF clrText;
2968 + COLORREF clrTextBk;
2969 + int iLevel;
2970 + }
2971 +} else {
2972 + struct NMTVCUSTOMDRAW {
2973 + NMCUSTOMDRAW nmcd;
2974 + COLORREF clrText;
2975 + COLORREF clrTextBk;
2976 + }
2977 +}
2978 +alias NMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW;
2979 +
2980 +static if (_WIN32_IE >= 0x400) {
2981 + static if (_WIN32_WINNT >= 0x501) {
2982 + struct NMTBCUSTOMDRAW {
2983 + NMCUSTOMDRAW nmcd;
2984 + HBRUSH hbrMonoDither;
2985 + HBRUSH hbrLines;
2986 + HPEN hpenLines;
2987 + COLORREF clrText;
2988 + COLORREF clrMark;
2989 + COLORREF clrTextHighlight;
2990 + COLORREF clrBtnFace;
2991 + COLORREF clrBtnHighlight;
2992 + COLORREF clrHighlightHotTrack;
2993 + RECT rcText;
2994 + int nStringBkMode;
2995 + int nHLStringBkMode;
2996 + int iListGap;
2997 + }
2998 + } else {
2999 + struct NMTBCUSTOMDRAW {
3000 + NMCUSTOMDRAW nmcd;
3001 + HBRUSH hbrMonoDither;
3002 + HBRUSH hbrLines;
3003 + HPEN hpenLines;
3004 + COLORREF clrText;
3005 + COLORREF clrMark;
3006 + COLORREF clrTextHighlight;
3007 + COLORREF clrBtnFace;
3008 + COLORREF clrBtnHighlight;
3009 + COLORREF clrHighlightHotTrack;
3010 + RECT rcText;
3011 + int nStringBkMode;
3012 + int nHLStringBkMode;
3013 + }
3014 + }
3015 + alias NMTBCUSTOMDRAW* LPNMTBCUSTOMDRAW;
3016 +
3017 + struct NMITEMACTIVATE {
3018 + NMHDR hdr;
3019 + int iItem;
3020 + int iSubItem;
3021 + UINT uNewState;
3022 + UINT uOldState;
3023 + UINT uChanged;
3024 + POINT ptAction;
3025 + LPARAM lParam;
3026 + UINT uKeyFlags;
3027 + }
3028 + alias NMITEMACTIVATE* LPNMITEMACTIVATE;
3029 +}
3030 +
3031 +struct TBADDBITMAP {
3032 + HINSTANCE hInst;
3033 + UINT nID;
3034 +}
3035 +alias TBADDBITMAP* LPTBADDBITMAP;
3036 +
3037 +struct TBSAVEPARAMSA {
3038 + HKEY hkr;
3039 + LPCSTR pszSubKey;
3040 + LPCSTR pszValueName;
3041 +}
3042 +
3043 +struct TBSAVEPARAMSW {
3044 + HKEY hkr;
3045 + LPCWSTR pszSubKey;
3046 + LPCWSTR pszValueName;
3047 +}
3048 +
3049 +struct TBREPLACEBITMAP {
3050 + HINSTANCE hInstOld;
3051 + UINT nIDOld;
3052 + HINSTANCE hInstNew;
3053 + UINT nIDNew;
3054 + int nButtons;
3055 +}
3056 +alias TBREPLACEBITMAP* LPTBREPLACEBITMAP;
3057 +
3058 +static if (_WIN32_IE >= 0x500) {
3059 + struct NMTOOLBARA {
3060 + NMHDR hdr;
3061 + int iItem;
3062 + TBBUTTON tbButton;
3063 + int cchText;
3064 + LPSTR pszText;
3065 + RECT rcButton;
3066 + }
3067 +
3068 + struct NMTOOLBARW {
3069 + NMHDR hdr;
3070 + int iItem;
3071 + TBBUTTON tbButton;
3072 + int cchText;
3073 + LPWSTR pszText;
3074 + RECT rcButton;
3075 + }
3076 +} else {
3077 + struct NMTOOLBARA {
3078 + NMHDR hdr;
3079 + int iItem;
3080 + TBBUTTON tbButton;
3081 + int cchText;
3082 + LPSTR pszText;
3083 + }
3084 +
3085 + struct NMTOOLBARW {
3086 + NMHDR hdr;
3087 + int iItem;
3088 + TBBUTTON tbButton;
3089 + int cchText;
3090 + LPWSTR pszText;
3091 + }
3092 +}
3093 +alias NMTOOLBARA* LPNMTOOLBARA;
3094 +alias NMTOOLBARW* LPNMTOOLBARW;
3095 +
2519 3096 alias NMTOOLBARA TBNOTIFYA;
2520 -alias NMTOOLBARW TBNOTIFYW;
2521 3097 alias LPNMTOOLBARA LPTBNOTIFYA;
3098 +
3099 +alias NMTOOLBARW TBNOTIFYW;
2522 3100 alias LPNMTOOLBARW LPTBNOTIFYW;
2523 -// #else
2524 -// #...
2525 -// #...
2526 -// #...
2527 -// #...
2528 -// #...
2529 -// #...
2530 -// #endif
2531 -
2532 -alias NMTOOLBAR TBNOTIFY;
2533 -alias LPNMTOOLBAR LPTBNOTIFY;
2534 -
2535 -// #if (_WIN32_IE >= 0x0300)
2536 -struct tagNMTOOLBARA {
2537 - NMHDR hdr;
2538 - int iItem;
2539 - TBBUTTON tbButton;
2540 - int cchText;
2541 - LPSTR pszText;
2542 -// #if (_WIN32_IE >= 0x500)
2543 - RECT rcButton;
2544 -// #endif
2545 -}
2546 -alias tagNMTOOLBARA NMTOOLBARA;
2547 -alias tagNMTOOLBARA* LPNMTOOLBARA;
2548 -
2549 -// #endif
2550 -
2551 -// #if (_WIN32_IE >= 0x0300)
2552 -struct tagNMTOOLBARW {
2553 - NMHDR hdr;
2554 - int iItem;
2555 - TBBUTTON tbButton;
2556 - int cchText;
2557 - LPWSTR pszText;
2558 -// #if (_WIN32_IE >= 0x500)
2559 - RECT rcButton;
2560 -// #endif
2561 -}
2562 -alias tagNMTOOLBARW NMTOOLBARW;
2563 -alias tagNMTOOLBARW* LPNMTOOLBARW;
2564 -
2565 -// #endif
2566 -
2567 -// #ifdef UNICODE
2568 -alias NMTOOLBARW NMTOOLBAR;
2569 -alias LPNMTOOLBARW LPNMTOOLBAR;
2570 -// #else
2571 -// #...
2572 -// #...
2573 -// #endif
2574 -
2575 -// #endif
2576 -
2577 -// #endif // NOTOOLBAR
2578 -
2579 -// #if (_WIN32_IE >= 0x0300)
2580 -
2581 -// #ifndef NOREBAR
2582 -
2583 -// #ifdef _WIN32
2584 -const wchar[] REBARCLASSNAMEW = "ReBarWindow32";
2585 -const char[] REBARCLASSNAMEA = "ReBarWindow32";
2586 -
2587 -// #ifdef UNICODE
2588 -alias REBARCLASSNAMEW REBARCLASSNAME;
2589 -// #else
2590 -// #...
2591 -// #endif
2592 -
2593 -// #else
2594 -// #...
2595 -// #endif
2596 -
2597 -enum : uint { RBIM_IMAGELIST = 0x00000001 }
2598 -
2599 -// #if (_WIN32_IE >= 0x0400)
2600 -enum : uint { RBS_TOOLTIPS = 0x0100 }
2601 -enum : uint { RBS_VARHEIGHT = 0x0200 }
2602 -enum : uint { RBS_BANDBORDERS = 0x0400 }
2603 -enum : uint { RBS_FIXEDORDER = 0x0800 }
2604 -enum : uint { RBS_REGISTERDROP = 0x1000 }
2605 -enum : uint { RBS_AUTOSIZE = 0x2000 }
2606 -enum : uint { RBS_VERTICALGRIPPER = 0x4000 }
2607 -enum : uint { RBS_DBLCLKTOGGLE = 0x8000 }
2608 -// #else
2609 -// #...
2610 -// #...
2611 -// #...
2612 -// #...
2613 -// #endif // _WIN32_IE >= 0x0400
2614 -
2615 -struct tagREBARINFO {
2616 - UINT cbSize;
2617 - UINT fMask;
2618 -// #ifndef NOIMAGEAPIS
2619 - HIMAGELIST himl;
2620 -// #else
2621 -// ...
2622 -// #endif
2623 -}
2624 -alias tagREBARINFO REBARINFO;
2625 -alias tagREBARINFO* LPREBARINFO;
2626 -
2627 -enum : uint { RBBS_BREAK = 0x00000001 }
2628 -enum : uint { RBBS_FIXEDSIZE = 0x00000002 }
2629 -enum : uint { RBBS_CHILDEDGE = 0x00000004 }
2630 -enum : uint { RBBS_HIDDEN = 0x00000008 }
2631 -enum : uint { RBBS_NOVERT = 0x00000010 }
2632 -enum : uint { RBBS_FIXEDBMP = 0x00000020 }
2633 -// #if (_WIN32_IE >= 0x0400) //
2634 -enum : uint { RBBS_VARIABLEHEIGHT = 0x00000040 }
2635 -enum : uint { RBBS_GRIPPERALWAYS = 0x00000080 }
2636 -enum : uint { RBBS_NOGRIPPER = 0x00000100 }
2637 -// #if (_WIN32_IE >= 0x0500) //
2638 -enum : uint { RBBS_USECHEVRON = 0x00000200 }
2639 -// #if (_WIN32_IE >= 0x0501) //
2640 -enum : uint { RBBS_HIDETITLE = 0x00000400 }
2641 -enum : uint { RBBS_TOPALIGN = 0x00000800 }
2642 -// #endif // 0x0501 //
2643 -// #endif // 0x0500 //
2644 -// #endif // 0x0400 //
2645 -
2646 -enum : uint { RBBIM_STYLE = 0x00000001 }
2647 -enum : uint { RBBIM_COLORS = 0x00000002 }
2648 -enum : uint { RBBIM_TEXT = 0x00000004 }
2649 -enum : uint { RBBIM_IMAGE = 0x00000008 }
2650 -enum : uint { RBBIM_CHILD = 0x00000010 }
2651 -enum : uint { RBBIM_CHILDSIZE = 0x00000020 }
2652 -enum : uint { RBBIM_SIZE = 0x00000040 }
2653 -enum : uint { RBBIM_BACKGROUND = 0x00000080 }
2654 -enum : uint { RBBIM_ID = 0x00000100 }
2655 -// #if (_WIN32_IE >= 0x0400)
2656 -enum : uint { RBBIM_IDEALSIZE = 0x00000200 }
2657 -enum : uint { RBBIM_LPARAM = 0x00000400 }
2658 -enum : uint { RBBIM_HEADERSIZE = 0x00000800 }
2659 -// #endif
2660 -
2661 -struct tagREBARBANDINFOA {
2662 - UINT cbSize;
2663 - UINT fMask;
2664 - UINT fStyle;
2665 - COLORREF clrFore;
2666 - COLORREF clrBack;
2667 - LPSTR lpText;
2668 - UINT cch;
2669 - int iImage;
2670 - HWND hwndChild;
2671 - UINT cxMinChild;
2672 - UINT cyMinChild;
2673 - UINT cx;
2674 - HBITMAP hbmBack;
2675 - UINT wID;
2676 -// #if (_WIN32_IE >= 0x0400)
2677 - UINT cyChild;
2678 - UINT cyMaxChild;
2679 - UINT cyIntegral;
2680 - UINT cxIdeal;
2681 - LPARAM lParam;
2682 - UINT cxHeader;
2683 -// #endif
2684 -}
2685 -alias tagREBARBANDINFOA REBARBANDINFOA;
2686 -alias tagREBARBANDINFOA* LPREBARBANDINFOA;
2687 -
2688 -alias REBARBANDINFOA* LPCREBARBANDINFOA;
2689 -
2690 -// #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, wID)
2691 -// #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
2692 -
2693 -struct tagREBARBANDINFOW {
2694 - UINT cbSize;
2695 - UINT fMask;
2696 - UINT fStyle;
2697 - COLORREF clrFore;
2698 - COLORREF clrBack;
2699 - LPWSTR lpText;
2700 - UINT cch;
2701 - int iImage;
2702 - HWND hwndChild;
2703 - UINT cxMinChild;
2704 - UINT cyMinChild;
2705 - UINT cx;
2706 - HBITMAP hbmBack;
2707 - UINT wID;
2708 -// #if (_WIN32_IE >= 0x0400)
2709 - UINT cyChild;
2710 - UINT cyMaxChild;
2711 - UINT cyIntegral;
2712 - UINT cxIdeal;
2713 - LPARAM lParam;
2714 - UINT cxHeader;
2715 -// #endif
2716 -}
2717 -alias tagREBARBANDINFOW REBARBANDINFOW;
2718 -alias tagREBARBANDINFOW* LPREBARBANDINFOW;
2719 -
2720 -alias REBARBANDINFOW* LPCREBARBANDINFOW;
2721 -
2722 -// #ifdef UNICODE
2723 -alias REBARBANDINFOW REBARBANDINFO;
2724 -alias LPREBARBANDINFOW LPREBARBANDINFO;
2725 -alias LPCREBARBANDINFOW LPCREBARBANDINFO;
2726 -// #define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
2727 -// #else
2728 -// #...
2729 -// #...
2730 -// #...
2731 -// #...
2732 -// #endif
2733 -
2734 -enum : uint { RB_INSERTBANDA = WM_USER + 1 }
2735 -enum : uint { RB_DELETEBAND = WM_USER + 2 }
2736 -enum : uint { RB_GETBARINFO = WM_USER + 3 }
2737 -enum : uint { RB_SETBARINFO = WM_USER + 4 }
2738 -// #if (_WIN32_IE < 0x0400)
2739 -// #...
2740 -// #endif
2741 -enum : uint { RB_SETBANDINFOA = WM_USER + 6 }
2742 -enum : uint { RB_SETPARENT = WM_USER + 7 }
2743 -// #if (_WIN32_IE >= 0x0400)
2744 -enum : uint { RB_HITTEST = WM_USER + 8 }
2745 -enum : uint { RB_GETRECT = WM_USER + 9 }
2746 -// #endif
2747 -enum : uint { RB_INSERTBANDW = WM_USER + 10 }
2748 -enum : uint { RB_SETBANDINFOW = WM_USER + 11 }
2749 -enum : uint { RB_GETBANDCOUNT = WM_USER + 12 }
2750 -enum : uint { RB_GETROWCOUNT = WM_USER + 13 }
2751 -enum : uint { RB_GETROWHEIGHT = WM_USER + 14 }
2752 -// #if (_WIN32_IE >= 0x0400)
2753 -enum : uint { RB_IDTOINDEX = WM_USER + 16 }
2754 -enum : uint { RB_GETTOOLTIPS = WM_USER + 17 }
2755 -enum : uint { RB_SETTOOLTIPS = WM_USER + 18 }
2756 -enum : uint { RB_SETBKCOLOR = WM_USER + 19 }
2757 -enum : uint { RB_GETBKCOLOR = WM_USER + 20 }
2758 -enum : uint { RB_SETTEXTCOLOR = WM_USER + 21 }
2759 -enum : uint { RB_GETTEXTCOLOR = WM_USER + 22 }
2760 -
2761 -// #if (_WIN32_WINNT >= 0x0501)
2762 -enum : uint { RBSTR_CHANGERECT = 0x0001 }
2763 -// #endif
2764 -
2765 -enum : uint { RB_SIZETORECT = WM_USER + 23 }
2766 -// #endif // _WIN32_IE >= 0x0400
2767 -
2768 -alias CCM_SETCOLORSCHEME RB_SETCOLORSCHEME;
2769 -alias CCM_GETCOLORSCHEME RB_GETCOLORSCHEME;
2770 -
2771 -// #ifdef UNICODE
2772 -alias RB_INSERTBANDW RB_INSERTBAND;
2773 -alias RB_SETBANDINFOW RB_SETBANDINFO;
2774 -// #else
2775 -// #...
2776 -// #...
2777 -// #endif
2778 -
2779 -// #if (_WIN32_IE >= 0x0400)
2780 -
2781 -enum : uint { RB_BEGINDRAG = WM_USER + 24 }
2782 -enum : uint { RB_ENDDRAG = WM_USER + 25 }
2783 -enum : uint { RB_DRAGMOVE = WM_USER + 26 }
2784 -enum : uint { RB_GETBARHEIGHT = WM_USER + 27 }
2785 -enum : uint { RB_GETBANDINFOW = WM_USER + 28 }
2786 -enum : uint { RB_GETBANDINFOA = WM_USER + 29 }
2787 -
2788 -// #ifdef UNICODE
2789 -alias RB_GETBANDINFOW RB_GETBANDINFO;
2790 -// #else
2791 -// #...
2792 -// #endif
2793 -
2794 -enum : uint { RB_MINIMIZEBAND = WM_USER + 30 }
2795 -enum : uint { RB_MAXIMIZEBAND = WM_USER + 31 }
2796 -
2797 -enum : uint { RB_GETDROPTARGET = CCM_GETDROPTARGET }
2798 -
2799 -enum : uint { RB_GETBANDBORDERS = WM_USER + 34 }
2800 -
2801 -enum : uint { RB_SHOWBAND = WM_USER + 35 }
2802 -enum : uint { RB_SETPALETTE = WM_USER + 37 }
2803 -enum : uint { RB_GETPALETTE = WM_USER + 38 }
2804 -enum : uint { RB_MOVEBAND = WM_USER + 39 }
2805 -
2806 -alias CCM_SETUNICODEFORMAT RB_SETUNICODEFORMAT;
2807 -alias CCM_GETUNICODEFORMAT RB_GETUNICODEFORMAT;
2808 -
2809 -// #endif // _WIN32_IE >= 0x0400
2810 -
2811 -// #if (_WIN32_WINNT >= 0x501)
2812 -enum : uint { RB_GETBANDMARGINS = WM_USER + 40 }
2813 -alias CCM_SETWINDOWTHEME RB_SETWINDOWTHEME;
2814 -// #endif
2815 -
2816 -// #if (_WIN32_IE >= 0x0500)
2817 -enum : uint { RB_PUSHCHEVRON = WM_USER + 43 }
2818 -// #endif // _WIN32_IE >= 0x0500
2819 -
2820 -enum : uint { RBN_HEIGHTCHANGE = RBN_FIRST - 0 }
2821 -
2822 -// #if (_WIN32_IE >= 0x0400)
2823 -enum : uint { RBN_GETOBJECT = RBN_FIRST - 1 }
2824 -enum : uint { RBN_LAYOUTCHANGED = RBN_FIRST - 2 }
2825 -enum : uint { RBN_AUTOSIZE = RBN_FIRST - 3 }
2826 -enum : uint { RBN_BEGINDRAG = RBN_FIRST - 4 }
2827 -enum : uint { RBN_ENDDRAG = RBN_FIRST - 5 }
2828 -enum : uint { RBN_DELETINGBAND = RBN_FIRST - 6 }
2829 -enum : uint { RBN_DELETEDBAND = RBN_FIRST - 7 }
2830 -enum : uint { RBN_CHILDSIZE = RBN_FIRST - 8 }
2831 -
2832 -// #if (_WIN32_IE >= 0x0500)
2833 -enum : uint { RBN_CHEVRONPUSHED = RBN_FIRST - 10 }
2834 -// #endif // _WIN32_IE >= 0x0500
2835 -
2836 -// #if (_WIN32_IE >= 0x0500)
2837 -enum : uint { RBN_MINMAX = RBN_FIRST - 21 }
2838 -// #endif
2839 -
2840 -// #if (_WIN32_WINNT >= 0x0501)
2841 -enum : uint { RBN_AUTOBREAK = RBN_FIRST - 22 }
2842 -// #endif
2843 -
2844 -struct tagNMREBARCHILDSIZE {
2845 - NMHDR hdr;
2846 - UINT uBand;
2847 - UINT wID;
2848 - RECT rcChild;
2849 - RECT rcBand;
2850 -}
2851 -alias tagNMREBARCHILDSIZE NMREBARCHILDSIZE;
2852 -alias tagNMREBARCHILDSIZE* LPNMREBARCHILDSIZE;
2853 -
2854 -struct tagNMREBAR {
2855 - NMHDR hdr;
2856 - DWORD dwMask;
2857 - UINT uBand;
2858 - UINT fStyle;
2859 - UINT wID;
2860 - LPARAM lParam;
2861 -}
2862 -alias tagNMREBAR NMREBAR;
2863 -alias tagNMREBAR* LPNMREBAR;
2864 -
2865 -enum : uint { RBNM_ID = 0x00000001 }
2866 -enum : uint { RBNM_STYLE = 0x00000002 }
2867 -enum : uint { RBNM_LPARAM = 0x00000004 }
2868 -
2869 -struct tagNMRBAUTOSIZE {
2870 - NMHDR hdr;
2871 - BOOL fChanged;
2872 - RECT rcTarget;
2873 - RECT rcActual;
2874 -}
2875 -alias tagNMRBAUTOSIZE NMRBAUTOSIZE;
2876 -alias tagNMRBAUTOSIZE* LPNMRBAUTOSIZE;
2877 -
2878 -// #if (_WIN32_IE >= 0x0500)
2879 -struct tagNMREBARCHEVRON {
2880 - NMHDR hdr;
2881 - UINT uBand;
2882 - UINT wID;
2883 - LPARAM lParam;
2884 - RECT rc;
2885 - LPARAM lParamNM;
2886 -}
2887 -alias tagNMREBARCHEVRON NMREBARCHEVRON;
2888 -alias tagNMREBARCHEVRON* LPNMREBARCHEVRON;
2889 -
2890 -// #endif
2891 -
2892 -// #if (_WIN32_WINNT >= 0x0501)
2893 -enum : uint { RBAB_AUTOSIZE = 0x0001 }
2894 -enum : uint { RBAB_ADDBAND = 0x0002 }
2895 -
2896 -struct tagNMREBARAUTOBREAK {
2897 - NMHDR hdr;
2898 - UINT uBand;
2899 - UINT wID;
2900 - LPARAM lParam;
2901 - UINT uMsg;
2902 - UINT fStyleCurrent;
2903 - BOOL fAutoBreak;
2904 -}
2905 -alias tagNMREBARAUTOBREAK NMREBARAUTOBREAK;
2906 -alias tagNMREBARAUTOBREAK* LPNMREBARAUTOBREAK;
2907 -
2908 -// #endif
2909 -
2910 -enum : uint { RBHT_NOWHERE = 0x0001 }
2911 -enum : uint { RBHT_CAPTION = 0x0002 }
2912 -enum : uint { RBHT_CLIENT = 0x0003 }
2913 -enum : uint { RBHT_GRABBER = 0x0004 }
2914 -// #if (_WIN32_IE >= 0x0500)
2915 -enum : uint { RBHT_CHEVRON = 0x0008 }
2916 -// #endif
2917 -
2918 -struct _RB_HITTESTINFO {
2919 - POINT pt;
2920 - UINT flags;
2921 - int iBand;
2922 -}
2923 -alias _RB_HITTESTINFO RBHITTESTINFO;
2924 -alias _RB_HITTESTINFO* LPRBHITTESTINFO;
2925 -
2926 -// #endif // _WIN32_IE >= 0x0400
2927 -
2928 -// #endif // NOREBAR
2929 -
2930 -// #endif // _WIN32_IE >= 0x0300
2931 -
2932 -// #ifndef NOTOOLTIPS
2933 -
2934 -// #ifdef _WIN32
2935 -
2936 -const wchar[] TOOLTIPS_CLASSW = "tooltips_class32";
2937 -const char[] TOOLTIPS_CLASSA = "tooltips_class32";
2938 -
2939 -// #ifdef UNICODE
2940 -alias TOOLTIPS_CLASSW TOOLTIPS_CLASS;
2941 -// #else
2942 -// #...
2943 -// #endif
2944 -
2945 -// #else
2946 -// #...
2947 -// #endif
2948 -
2949 -// #if (_WIN32_IE >= 0x0300)
2950 -alias LPTTTOOLINFOA LPTOOLINFOA;
2951 -alias LPTTTOOLINFOW LPTOOLINFOW;
2952 -alias TTTOOLINFOA TOOLINFOA;
2953 -alias TTTOOLINFOW TOOLINFOW;
2954 -// #else
2955 -// #...
2956 -// #...
2957 -// #...
2958 -// #...
2959 -// #endif
2960 -
2961 -alias LPTTTOOLINFO LPTOOLINFO;
2962 -alias TTTOOLINFO TOOLINFO;
2963 -
2964 -// #define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText)
2965 -// #define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText)
2966 -// #define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam)
2967 -// #define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam)
2968 -// #define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved)
2969 -// #define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved)
2970 -
2971 -struct tagTOOLINFOA {
2972 - UINT cbSize;
2973 - UINT uFlags;
2974 - HWND hwnd;
2975 - UINT_PTR uId;
2976 - RECT rect;
2977 - HINSTANCE hinst;
2978 - LPSTR lpszText;
2979 -// #if (_WIN32_IE >= 0x0300)
2980 - LPARAM lParam;
2981 -// #endif
2982 -// #if (_WIN32_WINNT >= 0x0501)
2983 - void *lpReserved;
2984 -// #endif
2985 -}
2986 -alias tagTOOLINFOA TTTOOLINFOA;
2987 -alias tagTOOLINFOA* PTOOLINFOA;
2988 -alias tagTOOLINFOA* LPTTTOOLINFOA;
2989 -
2990 -struct tagTOOLINFOW {
2991 - UINT cbSize;
2992 - UINT uFlags;
2993 - HWND hwnd;
2994 - UINT_PTR uId;
2995 - RECT rect;
2996 - HINSTANCE hinst;
2997 - LPWSTR lpszText;
2998 -// #if (_WIN32_IE >= 0x0300)
2999 - LPARAM lParam;
3000 -// #endif
3001 -// #if (_WIN32_WINNT >= 0x0501)
3002 - void *lpReserved;
3003 -// #endif
3004 -}
3005 -alias tagTOOLINFOW TTTOOLINFOW;
3006 -alias tagTOOLINFOW* PTOOLINFOW;
3007 -alias tagTOOLINFOW* LPTTTOOLINFOW;
3008 -
3009 -// #ifdef UNICODE
3010 -alias TTTOOLINFOW TTTOOLINFO;
3011 -alias PTOOLINFOW PTOOLINFO;
3012 -alias LPTTTOOLINFOW LPTTTOOLINFO;
3013 -// #define TTTOOLINFO_V1_SIZE TTTOOLINFOW_V1_SIZE
3014 -// #else
3015 -// #...
3016 -// #...
3017 -// #...
3018 -// #...
3019 -// #endif
3020 -
3021 -enum : uint { TTS_ALWAYSTIP = 0x01 }
3022 -enum : uint { TTS_NOPREFIX = 0x02 }
3023 -// #if (_WIN32_IE >= 0x0500)
3024 -enum : uint { TTS_NOANIMATE = 0x10 }
3025 -enum : uint { TTS_NOFADE = 0x20 }
3026 -enum : uint { TTS_BALLOON = 0x40 }
3027 -enum : uint { TTS_CLOSE = 0x80 }
3028 -// #endif
3029 -
3030 -enum : uint { TTF_IDISHWND = 0x0001 }
3031 -
3032 -enum : uint { TTF_CENTERTIP = 0x0002 }
3033 -enum : uint { TTF_RTLREADING = 0x0004 }
3034 -enum : uint { TTF_SUBCLASS = 0x0010 }
3035 -// #if (_WIN32_IE >= 0x0300)
3036 -enum : uint { TTF_TRACK = 0x0020 }
3037 -enum : uint { TTF_ABSOLUTE = 0x0080 }
3038 -enum : uint { TTF_TRANSPARENT = 0x0100 }
3039 -// #if (_WIN32_IE >= 0x0501)
3040 -enum : uint { TTF_PARSELINKS = 0x1000 }
3041 -// #endif // _WIN32_IE >= 0x0501
3042 -enum : uint { TTF_DI_SETITEM = 0x8000 }
3043 -// #endif // _WIN32_IE >= 0x0300
3044 -
3045 -enum : uint { TTDT_AUTOMATIC = 0 }
3046 -enum : uint { TTDT_RESHOW = 1 }
3047 -enum : uint { TTDT_AUTOPOP = 2 }
3048 -enum : uint { TTDT_INITIAL = 3 }
3049 -
3050 -enum : uint { TTI_NONE = 0 }
3051 -enum : uint { TTI_INFO = 1 }
3052 -enum : uint { TTI_WARNING = 2 }
3053 -enum : uint { TTI_ERROR = 3 }
3054 -
3055 -enum : uint { TTM_ACTIVATE = WM_USER + 1 }
3056 -enum : uint { TTM_SETDELAYTIME = WM_USER + 3 }
3057 -enum : uint { TTM_ADDTOOLA = WM_USER + 4 }
3058 -enum : uint { TTM_ADDTOOLW = WM_USER + 50 }
3059 -enum : uint { TTM_DELTOOLA = WM_USER + 5 }
3060 -enum : uint { TTM_DELTOOLW = WM_USER + 51 }
3061 -enum : uint { TTM_NEWTOOLRECTA = WM_USER + 6 }
3062 -enum : uint { TTM_NEWTOOLRECTW = WM_USER + 52 }
3063 -enum : uint { TTM_RELAYEVENT = WM_USER + 7 }
3064 -
3065 -enum : uint { TTM_GETTOOLINFOA = WM_USER + 8 }
3066 -enum : uint { TTM_GETTOOLINFOW = WM_USER + 53 }
3067 -
3068 -enum : uint { TTM_SETTOOLINFOA = WM_USER + 9 }
3069 -enum : uint { TTM_SETTOOLINFOW = WM_USER + 54 }
3070 -
3071 -enum : uint { TTM_HITTESTA = WM_USER +10 }
3072 -enum : uint { TTM_HITTESTW = WM_USER +55 }
3073 -enum : uint { TTM_GETTEXTA = WM_USER +11 }
3074 -enum : uint { TTM_GETTEXTW = WM_USER +56 }
3075 -enum : uint { TTM_UPDATETIPTEXTA = WM_USER +12 }
3076 -enum : uint { TTM_UPDATETIPTEXTW = WM_USER +57 }
3077 -enum : uint { TTM_GETTOOLCOUNT = WM_USER +13 }
3078 -enum : uint { TTM_ENUMTOOLSA = WM_USER +14 }
3079 -enum : uint { TTM_ENUMTOOLSW = WM_USER +58 }
3080 -enum : uint { TTM_GETCURRENTTOOLA = WM_USER + 15 }
3081 -enum : uint { TTM_GETCURRENTTOOLW = WM_USER + 59 }
3082 -enum : uint { TTM_WINDOWFROMPOINT = WM_USER + 16 }
3083 -// #if (_WIN32_IE >= 0x0300)
3084 -enum : uint { TTM_TRACKACTIVATE = WM_USER + 17 }
3085 -enum : uint { TTM_TRACKPOSITION = WM_USER + 18 }
3086 -enum : uint { TTM_SETTIPBKCOLOR = WM_USER + 19 }
3087 -enum : uint { TTM_SETTIPTEXTCOLOR = WM_USER + 20 }
3088 -enum : uint { TTM_GETDELAYTIME = WM_USER + 21 }
3089 -enum : uint { TTM_GETTIPBKCOLOR = WM_USER + 22 }
3090 -enum : uint { TTM_GETTIPTEXTCOLOR = WM_USER + 23 }
3091 -enum : uint { TTM_SETMAXTIPWIDTH = WM_USER + 24 }
3092 -enum : uint { TTM_GETMAXTIPWIDTH = WM_USER + 25 }
3093 -enum : uint { TTM_SETMARGIN = WM_USER + 26 }
3094 -enum : uint { TTM_GETMARGIN = WM_USER + 27 }
3095 -enum : uint { TTM_POP = WM_USER + 28 }
3096 -// #endif
3097 -// #if (_WIN32_IE >= 0x0400)
3098 -enum : uint { TTM_UPDATE = WM_USER + 29 }
3099 -// #endif
3100 -// #if (_WIN32_IE >= 0x0500)
3101 -enum : uint { TTM_GETBUBBLESIZE = WM_USER + 30 }
3102 -enum : uint { TTM_ADJUSTRECT = WM_USER + 31 }
3103 -enum : uint { TTM_SETTITLEA = WM_USER + 32 }
3104 -enum : uint { TTM_SETTITLEW = WM_USER + 33 }
3105 -// #endif
3106 -
3107 -// #if (_WIN32_WINNT >= 0x0501)
3108 -enum : uint { TTM_POPUP = WM_USER + 34 }
3109 -enum : uint { TTM_GETTITLE = WM_USER + 35 }
3110 -
3111 -struct _TTGETTITLE {
3112 - DWORD dwSize;
3113 - UINT uTitleBitmap;
3114 - UINT cch;
3115 - WCHAR * pszTitle;
3116 -}
3117 -alias _TTGETTITLE TTGETTITLE;
3118 -alias _TTGETTITLE* PTTGETTITLE;
3119 -
3120 -// #endif
3121 -
3122 -// #ifdef UNICODE
3123 -alias TTM_ADDTOOLW TTM_ADDTOOL;
3124 -alias TTM_DELTOOLW TTM_DELTOOL;
3125 -alias TTM_NEWTOOLRECTW TTM_NEWTOOLRECT;
3126 -alias TTM_GETTOOLINFOW TTM_GETTOOLINFO;
3127 -alias TTM_SETTOOLINFOW TTM_SETTOOLINFO;
3128 -alias TTM_HITTESTW TTM_HITTEST;
3129 -alias TTM_GETTEXTW TTM_GETTEXT;
3130 -alias TTM_UPDATETIPTEXTW TTM_UPDATETIPTEXT;
3131 -alias TTM_ENUMTOOLSW TTM_ENUMTOOLS;
3132 -alias TTM_GETCURRENTTOOLW TTM_GETCURRENTTOOL;
3133 -// #if (_WIN32_IE >= 0x0500)
3134 -alias TTM_SETTITLEW TTM_SETTITLE;
3135 -// #endif
3136 -// #else
3137 -// #...
3138 -// #...
3139 -// #...
3140 -// #...
3141 -// #...
3142 -// #...
3143 -// #...
3144 -// #...
3145 -// #...
3146 -// #...
3147 -// #if (_WIN32_IE >= 0x0500)
3148 -// #...
3149 -// #endif
3150 -// #endif
3151 -
3152 -// #if (_WIN32_WINNT >= 0x501)
3153 -alias CCM_SETWINDOWTHEME TTM_SETWINDOWTHEME;
3154 -// #endif
3155 -
3156 -// #if (_WIN32_IE >= 0x0300)
3157 -alias LPTTHITTESTINFOW LPHITTESTINFOW;
3158 -alias LPTTHITTESTINFOA LPHITTESTINFOA;
3159 -// #else
3160 -// #...
3161 -// #...
3162 -// #endif
3163 -
3164 -alias LPTTHITTESTINFO LPHITTESTINFO;
3165 -
3166 -struct _TT_HITTESTINFOA {
3167 - HWND hwnd;
3168 - POINT pt;
3169 - TTTOOLINFOA ti;
3170 -}
3171 -alias _TT_HITTESTINFOA TTHITTESTINFOA;
3172 -alias _TT_HITTESTINFOA* LPTTHITTESTINFOA;
3173 -
3174 -struct _TT_HITTESTINFOW {
3175 - HWND hwnd;
3176 - POINT pt;
3177 - TTTOOLINFOW ti;
3178 -}
3179 -alias _TT_HITTESTINFOW TTHITTESTINFOW;
3180 -alias _TT_HITTESTINFOW* LPTTHITTESTINFOW;
3181 -
3182 -// #ifdef UNICODE
3183 -alias TTHITTESTINFOW TTHITTESTINFO;
3184 -alias LPTTHITTESTINFOW LPTTHITTESTINFO;
3185 -// #else
3186 -// #...
3187 -// #...
3188 -// #endif
3189 -
3190 -enum : uint { TTN_GETDISPINFOA = TTN_FIRST - 0 }
3191 -enum : uint { TTN_GETDISPINFOW = TTN_FIRST - 10 }
3192 -enum : uint { TTN_SHOW = TTN_FIRST - 1 }
3193 -enum : uint { TTN_POP = TTN_FIRST - 2 }
3194 -enum : uint { TTN_LINKCLICK = TTN_FIRST - 3 }
3195 -
3196 -// #ifdef UNICODE
3197 -alias TTN_GETDISPINFOW TTN_GETDISPINFO;
3198 -// #else
3199 -// #...
3200 -// #endif
3201 -
3202 -alias TTN_GETDISPINFO TTN_NEEDTEXT;
3203 -alias TTN_GETDISPINFOA TTN_NEEDTEXTA;
3204 -alias TTN_GETDISPINFOW TTN_NEEDTEXTW;
3205 -
3206 -// #if (_WIN32_IE >= 0x0300)
3207 -alias NMTTDISPINFOW TOOLTIPTEXTW;
3101 +
3102 +static if (_WIN32_WINNT >= 0x501) {
3103 + struct TOOLINFOA {
3104 + UINT cbSize = TOOLINFOA.sizeof;
3105 + UINT uFlags;
3106 + HWND hwnd;
3107 + UINT uId;
3108 + RECT rect;
3109 + HINSTANCE hinst;
3110 + LPSTR lpszText;
3111 + LPARAM lParam;
3112 + void* lpReserved;
3113 + }
3114 +
3115 + struct TOOLINFOW {
3116 + UINT cbSize = TOOLINFOW.sizeof;
3117 + UINT uFlags;
3118 + HWND hwnd;
3119 + UINT uId;
3120 + RECT rect;
3121 + HINSTANCE hinst;
3122 + LPWSTR lpszText;
3123 + LPARAM lParam;
3124 + void* lpReserved;
3125 + }
3126 +
3127 + const size_t
3128 + TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof,
3129 + TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof,
3130 + TTTOOLINFOA_V2_SIZE = TOOLINFOA.lpReserved.offsetof,
3131 + TTTOOLINFOW_V2_SIZE = TOOLINFOW.lpReserved.offsetof,
3132 + TTTOOLINFOA_V3_SIZE = TOOLINFOA.sizeof,
3133 + TTTOOLINFOW_V3_SIZE = TOOLINFOW.sizeof;
3134 +} else static if (_WIN32_IE >= 0x300) {
3135 + struct TOOLINFOA {
3136 + UINT cbSize = TOOLINFOA.sizeof;
3137 + UINT uFlags;
3138 + HWND hwnd;
3139 + UINT uId;
3140 + RECT rect;
3141 + HINSTANCE hinst;
3142 + LPSTR lpszText;
3143 + LPARAM lParam;
3144 + }
3145 +
3146 + struct TOOLINFOW {
3147 + UINT cbSize = TOOLINFOW.sizeof;
3148 + UINT uFlags;
3149 + HWND hwnd;
3150 + UINT uId;
3151 + RECT rect;
3152 + HINSTANCE hinst;
3153 + LPWSTR lpszText;
3154 + LPARAM lParam;
3155 + }
3156 +
3157 + const size_t
3158 + TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof,
3159 + TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof,
3160 + TTTOOLINFOA_V2_SIZE = TOOLINFOA.sizeof,
3161 + TTTOOLINFOW_V2_SIZE = TOOLINFOW.sizeof;
3162 +} else {
3163 + struct TOOLINFOA {
3164 + UINT cbSize = TOOLINFOA.sizeof;
3165 + UINT uFlags;
3166 + HWND hwnd;
3167 + UINT uId;
3168 + RECT rect;
3169 + HINSTANCE hinst;
3170 + LPSTR lpszText;
3171 + }
3172 +
3173 + struct TOOLINFOW {
3174 + UINT cbSize = TOOLINFOW.sizeof;
3175 + UINT uFlags;
3176 + HWND hwnd;
3177 + UINT uId;
3178 + RECT rect;
3179 + HINSTANCE hinst;
3180 + LPWSTR lpszText;
3181 + }
3182 +
3183 + const size_t
3184 + TTTOOLINFOA_V1_SIZE = TOOLINFOA.sizeof,
3185 + TTTOOLINFOW_V1_SIZE = TOOLINFOW.sizeof;
3186 +}
3187 +alias TOOLINFOA TTTOOLINFOA;
3188 +alias TOOLINFOW TTTOOLINFOW;
3189 +alias TTTOOLINFOA* LPTTTOOLINFOA, PTOOLINFOA, LPTOOLINFOA;
3190 +alias TTTOOLINFOW* LPTTTOOLINFOW, PTOOLINFOW, LPTOOLINFOW;
3191 +
3192 +struct TTHITTESTINFOA {
3193 + HWND hwnd;
3194 + POINT pt;
3195 + TOOLINFOA ti;
3196 +}
3197 +alias TTHITTESTINFOA* LPTTHITTESTINFOA, LPHITTESTINFOA;
3198 +
3199 +struct TTHITTESTINFOW {
3200 + HWND hwnd;
3201 + POINT pt;
3202 + TOOLINFOW ti;
3203 +}
3204 +alias TTHITTESTINFOW* LPTTHITTESTINFOW, LPHITTESTINFOW;
3205 +
3206 +static if (_WIN32_IE >= 0x300) {
3207 + struct NMTTDISPINFOA {
3208 + NMHDR hdr;
3209 + LPSTR lpszText;
3210 + char szText[80];
3211 + HINSTANCE hinst;
3212 + UINT uFlags;
3213 + LPARAM lParam;
3214 + }
3215 +
3216 + struct NMTTDISPINFOW {
3217 + NMHDR hdr;
3218 + LPWSTR lpszText;
3219 + WCHAR szText[80];
3220 + HINSTANCE hinst;
3221 + UINT uFlags;
3222 + LPARAM lParam;
3223 + }
3224 +} else {
3225 + struct NMTTDISPINFOA {
3226 + NMHDR hdr;
3227 + LPSTR lpszText;
3228 + char szText[80];
3229 + HINSTANCE hinst;
3230 + UINT uFlags;
3231 + }
3232 +
3233 + struct NMTTDISPINFOW {
3234 + NMHDR hdr;
3235 + LPWSTR lpszText;
3236 + WCHAR szText[80];
3237 + HINSTANCE hinst;
3238 + UINT uFlags;
3239 + }
3240 +}
3241 +alias NMTTDISPINFOA* LPNMTTDISPINFOA;
3242 +alias NMTTDISPINFOW* LPNMTTDISPINFOW;
3208 3243 alias NMTTDISPINFOA TOOLTIPTEXTA;
3209 3244 alias LPNMTTDISPINFOA LPTOOLTIPTEXTA;
3245 +alias NMTTDISPINFOW TOOLTIPTEXTW;
3210 3246 alias LPNMTTDISPINFOW LPTOOLTIPTEXTW;
3211 -// #else
3212 -// #...
3213 -// #...
3214 -// #...
3215 -// #...
3216 -// #...
3217 -// #...
3218 -// #endif
3219 -
3220 -alias NMTTDISPINFO TOOLTIPTEXT;
3221 -alias LPNMTTDISPINFO LPTOOLTIPTEXT;
3222 -
3223 -// #define NMTTDISPINFOA_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOA, uFlags)
3224 -// #define NMTTDISPINFOW_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags)
3225 -
3226 -struct tagNMTTDISPINFOA {
3227 - NMHDR hdr;
3228 - LPSTR lpszText;
3229 - char szText[80];
3230 - HINSTANCE hinst;
3231 - UINT uFlags;
3232 -// #if (_WIN32_IE >= 0x0300)
3233 - LPARAM lParam;
3234 -// #endif
3235 -}
3236 -alias tagNMTTDISPINFOA NMTTDISPINFOA;
3237 -alias tagNMTTDISPINFOA* LPNMTTDISPINFOA;
3238 -
3239 -struct tagNMTTDISPINFOW {
3240 - NMHDR hdr;
3241 - LPWSTR lpszText;
3242 - WCHAR szText[80];
3243 - HINSTANCE hinst;
3244 - UINT uFlags;
3245 -// #if (_WIN32_IE >= 0x0300)
3246 - LPARAM lParam;
3247 -// #endif
3248 -}
3249 -alias tagNMTTDISPINFOW NMTTDISPINFOW;
3250 -alias tagNMTTDISPINFOW* LPNMTTDISPINFOW;
3251 -
3252 -// #ifdef UNICODE
3253 -alias NMTTDISPINFOW NMTTDISPINFO;
3254 -alias LPNMTTDISPINFOW LPNMTTDISPINFO;
3255 -// #define NMTTDISPINFO_V1_SIZE NMTTDISPINFOW_V1_SIZE
3256 -// #else
3257 -// #...
3258 -// #...
3259 -// #...
3260 -// #endif
3261 -
3262 -// #endif // NOTOOLTIPS
3263 -
3264 -// #ifndef NOSTATUSBAR
3265 -
3266 -enum : uint { SBARS_SIZEGRIP = 0x0100 }
3267 -// #if (_WIN32_IE >= 0x0500)
3268 -enum : uint { SBARS_TOOLTIPS = 0x0800 }
3269 -// #endif
3270 -
3271 -// #if (_WIN32_IE >= 0x0400)
3272 -
3273 -enum : uint { SBT_TOOLTIPS = 0x0800 }
3274 -// #endif
3275 -
3276 -extern(Windows) export void DrawStatusTextA(HDC hDC, LPRECT lprc, LPCSTR pszText, UINT uFlags);
3277 -extern(Windows) export void DrawStatusTextW(HDC hDC, LPRECT lprc, LPCWSTR pszText, UINT uFlags);
3278 -
3279 -extern(Windows) export HWND CreateStatusWindowA(LONG style, LPCSTR lpszText, HWND hwndParent, UINT wID);
3280 -extern(Windows) export HWND CreateStatusWindowW(LONG style, LPCWSTR lpszText, HWND hwndParent, UINT wID);
3281 -
3282 -// #ifdef UNICODE
3283 -alias CreateStatusWindowW CreateStatusWindow;
3284 -alias DrawStatusTextW DrawStatusText;
3285 -// #else
3286 -// #...
3287 -// #...
3288 -// #endif
3289 -
3290 -// #ifdef _WIN32
3291 -const wchar[] STATUSCLASSNAMEW = "msctls_statusbar32";
3292 -const char[] STATUSCLASSNAMEA = "msctls_statusbar32";
3293 -
3294 -// #ifdef UNICODE
3295 -alias STATUSCLASSNAMEW STATUSCLASSNAME;
3296 -// #else
3297 -// #...
3298 -// #endif
3299 -
3300 -// #else
3301 -// #...
3302 -// #endif
3303 -
3304 -enum : uint { SB_SETTEXTA = WM_USER+1 }
3305 -enum : uint { SB_SETTEXTW = WM_USER+11 }
3306 -enum : uint { SB_GETTEXTA = WM_USER+2 }
3307 -enum : uint { SB_GETTEXTW = WM_USER+13 }
3308 -enum : uint { SB_GETTEXTLENGTHA = WM_USER+3 }
3309 -enum : uint { SB_GETTEXTLENGTHW = WM_USER+12 }
3310 -
3311 -// #ifdef UNICODE
3312 -alias SB_GETTEXTW SB_GETTEXT;
3313 -alias SB_SETTEXTW SB_SETTEXT;
3314 -alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH;
3315 -// #if (_WIN32_IE >= 0x0400)
3316 -alias SB_SETTIPTEXTW SB_SETTIPTEXT;
3317 -alias SB_GETTIPTEXTW SB_GETTIPTEXT;
3318 -// #endif
3319 -// #else
3320 -// #...
3321 -// #...
3322 -// #...
3323 -// #if (_WIN32_IE >= 0x0400)
3324 -// #...
3325 -// #...
3326 -// #endif
3327 -// #endif
3328 -
3329 -enum : uint { SB_SETPARTS = WM_USER+4 }
3330 -enum : uint { SB_GETPARTS = WM_USER+6 }
3331 -enum : uint { SB_GETBORDERS = WM_USER+7 }
3332 -enum : uint { SB_SETMINHEIGHT = WM_USER+8 }
3333 -enum : uint { SB_SIMPLE = WM_USER+9 }
3334 -enum : uint { SB_GETRECT = WM_USER+10 }
3335 -// #if (_WIN32_IE >= 0x0300)
3336 -enum : uint { SB_ISSIMPLE = WM_USER+14 }
3337 -// #endif
3338 -// #if (_WIN32_IE >= 0x0400)
3339 -enum : uint { SB_SETICON = WM_USER+15 }
3340 -// #define SB_SETTIPTEXTA (WM_USER+16)
3341 -// #define SB_SETTIPTEXTW (WM_USER+17)
3342 -// #define SB_GETTIPTEXTA (WM_USER+18)
3343 -// #define SB_GETTIPTEXTW (WM_USER+19)
3344 -enum : uint { SB_GETICON = WM_USER+20 }
3345 -alias CCM_SETUNICODEFORMAT SB_SETUNICODEFORMAT;
3346 -alias CCM_GETUNICODEFORMAT SB_GETUNICODEFORMAT;
3347 -// #endif
3348 -
3349 -enum : uint { SBT_OWNERDRAW = 0x1000 }
3350 -enum : uint { SBT_NOBORDERS = 0x0100 }
3351 -enum : uint { SBT_POPOUT = 0x0200 }
3352 -enum : uint { SBT_RTLREADING = 0x0400 }
3353 -// #if (_WIN32_IE >= 0x0500)
3354 -enum : uint { SBT_NOTABPARSING = 0x0800 }
3355 -// #endif
3356 -
3357 -alias CCM_SETBKCOLOR SB_SETBKCOLOR;
3358 -
3359 -// #if (_WIN32_IE >= 0x0400)
3360 -enum : uint { SBN_SIMPLEMODECHANGE = SBN_FIRST - 0 }
3361 -// #endif
3362 -
3363 -// #if (_WIN32_IE >= 0x0500)
3364 -
3365 -enum : uint { SB_SIMPLEID = 0x00ff }
3366 -// #endif
3367 -
3368 -// #endif // NOSTATUSBAR
3369 -
3370 -// #ifndef NOMENUHELP
3371 -
3372 -extern(Windows) export void MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HMENU hMainMenu, HINSTANCE hInst, HWND hwndStatus, UINT *lpwIDs);
3373 -extern(Windows) export BOOL ShowHideMenuCtl(HWND hWnd, UINT_PTR uFlags, LPINT lpInfo);
3374 -extern(Windows) export void GetEffectiveClientRect(HWND hWnd, LPRECT lprc, LPINT lpInfo);
3375 -
3376 -alias SC_SIZE MINSYSCOMMAND;
3377 -
3378 -// #endif
3379 -
3380 -// #ifndef NOTRACKBAR
3381 -
3382 -// #ifdef _WIN32
3383 -
3384 -const char[] TRACKBAR_CLASSA = "msctls_trackbar32";
3385 -const wchar[] TRACKBAR_CLASSW = "msctls_trackbar32";
3386 -
3387 -// #ifdef UNICODE
3388 -alias TRACKBAR_CLASSW TRACKBAR_CLASS;
3389 -// #else
3390 -// #...
3391 -// #endif
3392 -
3393 -// #else
3394 -// #...
3395 -// #endif
3396 -
3397 -enum : uint { TBS_AUTOTICKS = 0x0001 }
3398 -enum : uint { TBS_VERT = 0x0002 }
3399 -enum : uint { TBS_HORZ = 0x0000 }
3400 -enum : uint { TBS_TOP = 0x0004 }
3401 -enum : uint { TBS_BOTTOM = 0x0000 }
3402 -enum : uint { TBS_LEFT = 0x0004 }
3403 -enum : uint { TBS_RIGHT = 0x0000 }
3404 -enum : uint { TBS_BOTH = 0x0008 }
3405 -enum : uint { TBS_NOTICKS = 0x0010 }
3406 -enum : uint { TBS_ENABLESELRANGE = 0x0020 }
3407 -enum : uint { TBS_FIXEDLENGTH = 0x0040 }
3408 -enum : uint { TBS_NOTHUMB = 0x0080 }
3409 -// #if (_WIN32_IE >= 0x0300)
3410 -enum : uint { TBS_TOOLTIPS = 0x0100 }
3411 -// #endif
3412 -// #if (_WIN32_IE >= 0x0500)
3413 -enum : uint { TBS_REVERSED = 0x0200 }
3414 -// #endif
3415 -
3416 -// #if (_WIN32_IE >= 0x0501)
3417 -enum : uint { TBS_DOWNISLEFT = 0x0400 }
3418 -// #endif
3419 -
3420 -enum : uint { TBM_GETPOS = WM_USER }
3421 -enum : uint { TBM_GETRANGEMIN = WM_USER+1 }
3422 -enum : uint { TBM_GETRANGEMAX = WM_USER+2 }
3423 -enum : uint { TBM_GETTIC = WM_USER+3 }
3424 -enum : uint { TBM_SETTIC = WM_USER+4 }
3425 -enum : uint { TBM_SETPOS = WM_USER+5 }
3426 -enum : uint { TBM_SETRANGE = WM_USER+6 }
3427 -enum : uint { TBM_SETRANGEMIN = WM_USER+7 }
3428 -enum : uint { TBM_SETRANGEMAX = WM_USER+8 }
3429 -enum : uint { TBM_CLEARTICS = WM_USER+9 }
3430 -enum : uint { TBM_SETSEL = WM_USER+10 }
3431 -enum : uint { TBM_SETSELSTART = WM_USER+11 }
3432 -enum : uint { TBM_SETSELEND = WM_USER+12 }
3433 -enum : uint { TBM_GETPTICS = WM_USER+14 }
3434 -enum : uint { TBM_GETTICPOS = WM_USER+15 }
3435 -enum : uint { TBM_GETNUMTICS = WM_USER+16 }
3436 -enum : uint { TBM_GETSELSTART = WM_USER+17 }
3437 -enum : uint { TBM_GETSELEND = WM_USER+18 }
3438 -enum : uint { TBM_CLEARSEL = WM_USER+19 }
3439 -enum : uint { TBM_SETTICFREQ = WM_USER+20 }
3440 -enum : uint { TBM_SETPAGESIZE = WM_USER+21 }
3441 -enum : uint { TBM_GETPAGESIZE = WM_USER+22 }
3442 -enum : uint { TBM_SETLINESIZE = WM_USER+23 }
3443 -enum : uint { TBM_GETLINESIZE = WM_USER+24 }
3444 -enum : uint { TBM_GETTHUMBRECT = WM_USER+25 }
3445 -enum : uint { TBM_GETCHANNELRECT = WM_USER+26 }
3446 -enum : uint { TBM_SETTHUMBLENGTH = WM_USER+27 }
3447 -enum : uint { TBM_GETTHUMBLENGTH = WM_USER+28 }
3448 -// #if (_WIN32_IE >= 0x0300)
3449 -enum : uint { TBM_SETTOOLTIPS = WM_USER+29 }
3450 -enum : uint { TBM_GETTOOLTIPS = WM_USER+30 }
3451 -enum : uint { TBM_SETTIPSIDE = WM_USER+31 }
3452 -
3453 -enum : uint { TBTS_TOP = 0 }
3454 -enum : uint { TBTS_LEFT = 1 }
3455 -enum : uint { TBTS_BOTTOM = 2 }
3456 -enum : uint { TBTS_RIGHT = 3 }
3457 -
3458 -enum : uint { TBM_SETBUDDY = WM_USER+32 }
3459 -enum : uint { TBM_GETBUDDY = WM_USER+33 }
3460 -// #endif
3461 -// #if (_WIN32_IE >= 0x0400)
3462 -alias CCM_SETUNICODEFORMAT TBM_SETUNICODEFORMAT;
3463 -alias CCM_GETUNICODEFORMAT TBM_GETUNICODEFORMAT;
3464 -// #endif
3465 -
3466 -enum : uint { TB_LINEUP = 0 }
3467 -enum : uint { TB_LINEDOWN = 1 }
3468 -enum : uint { TB_PAGEUP = 2 }
3469 -enum : uint { TB_PAGEDOWN = 3 }
3470 -enum : uint { TB_THUMBPOSITION = 4 }
3471 -enum : uint { TB_THUMBTRACK = 5 }
3472 -enum : uint { TB_TOP = 6 }
3473 -enum : uint { TB_BOTTOM = 7 }
3474 -enum : uint { TB_ENDTRACK = 8 }
3475 -
3476 -// #if (_WIN32_IE >= 0x0300)
3477 -
3478 -enum : uint { TBCD_TICS = 0x0001 }
3479 -enum : uint { TBCD_THUMB = 0x0002 }
3480 -enum : uint { TBCD_CHANNEL = 0x0003 }
3481 -// #endif
3482 -
3483 -// #endif // trackbar
3484 -
3485 -// #ifndef NODRAGLIST
3486 -
3487 -struct tagDRAGLISTINFO {
3488 - UINT uNotification;
3489 - HWND hWnd;
3490 - POINT ptCursor;
3491 -}
3492 -alias tagDRAGLISTINFO DRAGLISTINFO;
3493 -alias tagDRAGLISTINFO* LPDRAGLISTINFO;
3494 -
3495 -enum : uint { DL_BEGINDRAG = WM_USER+133 }
3496 -enum : uint { DL_DRAGGING = WM_USER+134 }
3497 -enum : uint { DL_DROPPED = WM_USER+135 }
3498 -enum : uint { DL_CANCELDRAG = WM_USER+136 }
3499 -
3500 -enum : uint { DL_CURSORSET = 0 }
3501 -enum : uint { DL_STOPCURSOR = 1 }
3502 -enum : uint { DL_COPYCURSOR = 2 }
3503 -enum : uint { DL_MOVECURSOR = 3 }
3504 -
3505 -const TCHAR[] DRAGLISTMSGSTRING = "commctrl_DragListMsg";
3506 -
3507 -extern(Windows) export BOOL MakeDragList(HWND hLB);
3508 -extern(Windows) export void DrawInsert(HWND handParent, HWND hLB, int nItem);
3509 -
3510 -extern(Windows) export int LBItemFromPt(HWND hLB, POINT pt, BOOL bAutoScroll);
3511 -
3512 -// #endif
3513 -
3514 -// #ifndef NOUPDOWN
3515 -
3516 -// #ifdef _WIN32
3517 -
3518 -const char[] UPDOWN_CLASSA = "msctls_updown32";
3519 -const wchar[] UPDOWN_CLASSW = "msctls_updown32";
3520 -
3521 -// #ifdef UNICODE
3522 -alias UPDOWN_CLASSW UPDOWN_CLASS;
3523 -// #else
3524 -// #...
3525 -// #endif
3526 -
3527 -// #else
3528 -// #...
3529 -// #endif
3530 -
3531 -struct _UDACCEL {
3532 - UINT nSec;
3533 - UINT nInc;
3534 -}
3535 -alias _UDACCEL UDACCEL;
3536 -alias _UDACCEL* LPUDACCEL;
3537 -
3538 -enum : uint { UD_MAXVAL = 0x7fff }
3539 -enum : uint { UD_MINVAL = -UD_MAXVAL }
3540 -
3541 -enum : uint { UDS_WRAP = 0x0001 }
3542 -enum : uint { UDS_SETBUDDYINT = 0x0002 }
3543 -enum : uint { UDS_ALIGNRIGHT = 0x0004 }
3544 -enum : uint { UDS_ALIGNLEFT = 0x0008 }
3545 -enum : uint { UDS_AUTOBUDDY = 0x0010 }
3546 -enum : uint { UDS_ARROWKEYS = 0x0020 }
3547 -enum : uint { UDS_HORZ = 0x0040 }
3548 -enum : uint { UDS_NOTHOUSANDS = 0x0080 }
3549 -// #if (_WIN32_IE >= 0x0300)
3550 -enum : uint { UDS_HOTTRACK = 0x0100 }
3551 -// #endif
3552 -
3553 -enum : uint { UDM_SETRANGE = WM_USER+101 }
3554 -enum : uint { UDM_GETRANGE = WM_USER+102 }
3555 -enum : uint { UDM_SETPOS = WM_USER+103 }
3556 -enum : uint { UDM_GETPOS = WM_USER+104 }
3557 -enum : uint { UDM_SETBUDDY = WM_USER+105 }
3558 -enum : uint { UDM_GETBUDDY = WM_USER+106 }
3559 -enum : uint { UDM_SETACCEL = WM_USER+107 }
3560 -enum : uint { UDM_GETACCEL = WM_USER+108 }
3561 -enum : uint { UDM_SETBASE = WM_USER+109 }
3562 -enum : uint { UDM_GETBASE = WM_USER+110 }
3563 -// #if (_WIN32_IE >= 0x0400)
3564 -enum : uint { UDM_SETRANGE32 = WM_USER+111 }
3565 -enum : uint { UDM_GETRANGE32 = WM_USER+112 }
3566 -alias CCM_SETUNICODEFORMAT UDM_SETUNICODEFORMAT;
3567 -alias CCM_GETUNICODEFORMAT UDM_GETUNICODEFORMAT;
3568 -// #endif
3569 -// #if (_WIN32_IE >= 0x0500)
3570 -enum : uint { UDM_SETPOS32 = WM_USER+113 }
3571 -enum : uint { UDM_GETPOS32 = WM_USER+114 }
3572 -// #endif
3573 -
3574 -extern(Windows) export HWND CreateUpDownControl(DWORD dwStyle, int x, int y, int cx, int cy,
3575 - HWND hParent, int nID, HINSTANCE hInst,
3576 - HWND hBuddy,
3577 - int nUpper, int nLower, int nPos);
3578 -
3579 -// #if (_WIN32_IE >= 0x0300)
3580 -alias NMUPDOWN NM_UPDOWN;
3581 -alias LPNMUPDOWN LPNM_UPDOWN;
3582 -// #else
3583 -// #...
3584 -// #...
3585 -// #endif
3586 -
3587 -struct _NM_UPDOWN {
3588 - NMHDR hdr;
3589 - int iPos;
3590 - int iDelta;
3591 -}
3592 -alias _NM_UPDOWN NMUPDOWN;
3593 -alias _NM_UPDOWN* LPNMUPDOWN;
3594 -
3595 -enum : uint { UDN_DELTAPOS = UDN_FIRST - 1 }
3596 -
3597 -// #endif // NOUPDOWN
3598 -
3599 -// #ifndef NOPROGRESS
3600 -
3601 -// #ifdef _WIN32
3602 -
3603 -const char[] PROGRESS_CLASSA = "msctls_progress32";
3604 -const wchar[] PROGRESS_CLASSW = "msctls_progress32";
3605 -
3606 -// #ifdef UNICODE
3607 -alias PROGRESS_CLASSW PROGRESS_CLASS;
3608 -// #else
3609 -// #...
3610 -// #endif
3611 -
3612 -// #else
3613 -// #...
3614 -// #endif
3615 -
3616 -// #if (_WIN32_IE >= 0x0300)
3617 -enum : uint { PBS_SMOOTH = 0x01 }
3618 -enum : uint { PBS_VERTICAL = 0x04 }
3619 -// #endif
3620 -
3621 -enum : uint { PBM_SETRANGE = WM_USER+1 }
3622 -enum : uint { PBM_SETPOS = WM_USER+2 }
3623 -enum : uint { PBM_DELTAPOS = WM_USER+3 }
3624 -enum : uint { PBM_SETSTEP = WM_USER+4 }
3625 -enum : uint { PBM_STEPIT = WM_USER+5 }
3626 -// #if (_WIN32_IE >= 0x0300)
3627 -enum : uint { PBM_SETRANGE32 = WM_USER+6 }
3628 -struct _7 {
3629 - int iLow;
3630 - int iHigh;
3631 -}
3632 -alias _7 PBRANGE;
3633 -alias _7* PPBRANGE;
3634 -
3635 -enum : uint { PBM_GETRANGE = WM_USER+7 }
3636 -enum : uint { PBM_GETPOS = WM_USER+8 }
3637 -// #if (_WIN32_IE >= 0x0400)
3638 -enum : uint { PBM_SETBARCOLOR = WM_USER+9 }
3639 -// #endif // _WIN32_IE >= 0x0400
3640 -alias CCM_SETBKCOLOR PBM_SETBKCOLOR;
3641 -// #endif // _WIN32_IE >= 0x0300
3642 -
3643 -// #endif // NOPROGRESS
3644 -
3645 -// #ifndef NOHOTKEY
3646 -
3647 -enum : uint { HOTKEYF_SHIFT = 0x01 }
3648 -enum : uint { HOTKEYF_CONTROL = 0x02 }
3649 -enum : uint { HOTKEYF_ALT = 0x04 }
3650 -// #ifdef _MAC
3651 -// #...
3652 -// #else
3653 -enum : uint { HOTKEYF_EXT = 0x08 }
3654 -// #endif
3655 -
3656 -enum : uint { HKCOMB_NONE = 0x0001 }
3657 -enum : uint { HKCOMB_S = 0x0002 }
3658 -enum : uint { HKCOMB_C = 0x0004 }
3659 -enum : uint { HKCOMB_A = 0x0008 }
3660 -enum : uint { HKCOMB_SC = 0x0010 }
3661 -enum : uint { HKCOMB_SA = 0x0020 }
3662 -enum : uint { HKCOMB_CA = 0x0040 }
3663 -enum : uint { HKCOMB_SCA = 0x0080 }
3664 -
3665 -enum : uint { HKM_SETHOTKEY = WM_USER+1 }
3666 -enum : uint { HKM_GETHOTKEY = WM_USER+2 }
3667 -enum : uint { HKM_SETRULES = WM_USER+3 }
3668 -
3669 -// #ifdef _WIN32
3670 -
3671 -const char[] HOTKEY_CLASSA = "msctls_hotkey32";
3672 -const wchar[] HOTKEY_CLASSW = "msctls_hotkey32";
3673 -
3674 -// #ifdef UNICODE
3675 -alias HOTKEY_CLASSW HOTKEY_CLASS;
3676 -// #else
3677 -// #...
3678 -// #endif
3679 -
3680 -// #else
3681 -// #...
3682 -// #endif
3683 -
3684 -// #endif // NOHOTKEY
3685 -
3686 -enum : uint { CCS_TOP = 0x00000001 }
3687 -enum : uint { CCS_NOMOVEY = 0x00000002 }
3688 -enum : uint { CCS_BOTTOM = 0x00000003 }
3689 -enum : uint { CCS_NORESIZE = 0x00000004 }
3690 -enum : uint { CCS_NOPARENTALIGN = 0x00000008 }
3691 -enum : uint { CCS_ADJUSTABLE = 0x00000020 }
3692 -enum : uint { CCS_NODIVIDER = 0x00000040 }
3693 -// #if (_WIN32_IE >= 0x0300)
3694 -enum : uint { CCS_VERT = 0x00000080 }
3695 -enum : uint { CCS_LEFT = CCS_VERT | CCS_TOP }
3696 -enum : uint { CCS_RIGHT = CCS_VERT | CCS_BOTTOM }
3697 -enum : uint { CCS_NOMOVEX = CCS_VERT | CCS_NOMOVEY }
3698 -// #endif
3699 -
3700 -// #ifndef NOLISTVIEW
3701 -
3702 -// #ifdef _WIN32
3703 -
3704 -const char[] WC_LISTVIEWA = "SysListView32";
3705 -const wchar[] WC_LISTVIEWW = "SysListView32";
3706 -
3707 -// #ifdef UNICODE
3708 -alias WC_LISTVIEWW WC_LISTVIEW;
3709 -// #else
3710 -// #...
3711 -// #endif
3712 -
3713 -// #else
3714 -// #...
3715 -// #endif
3716 -
3717 -enum : uint { LVS_ICON = 0x0000 }
3718 -enum : uint { LVS_REPORT = 0x0001 }
3719 -enum : uint { LVS_SMALLICON = 0x0002 }
3720 -enum : uint { LVS_LIST = 0x0003 }
3721 -enum : uint { LVS_TYPEMASK = 0x0003 }
3722 -enum : uint { LVS_SINGLESEL = 0x0004 }
3723 -enum : uint { LVS_SHOWSELALWAYS = 0x0008 }
3724 -enum : uint { LVS_SORTASCENDING = 0x0010 }
3725 -enum : uint { LVS_SORTDESCENDING = 0x0020 }
3726 -enum : uint { LVS_SHAREIMAGELISTS = 0x0040 }
3727 -enum : uint { LVS_NOLABELWRAP = 0x0080 }
3728 -enum : uint { LVS_AUTOARRANGE = 0x0100 }
3729 -enum : uint { LVS_EDITLABELS = 0x0200 }
3730 -// #if (_WIN32_IE >= 0x0300)
3731 -enum : uint { LVS_OWNERDATA = 0x1000 }
3732 -// #endif
3733 -enum : uint { LVS_NOSCROLL = 0x2000 }
3734 -
3735 -enum : uint { LVS_TYPESTYLEMASK = 0xfc00 }
3736 -
3737 -enum : uint { LVS_ALIGNTOP = 0x0000 }
3738 -enum : uint { LVS_ALIGNLEFT = 0x0800 }
3739 -enum : uint { LVS_ALIGNMASK = 0x0c00 }
3740 -
3741 -enum : uint { LVS_OWNERDRAWFIXED = 0x0400 }
3742 -enum : uint { LVS_NOCOLUMNHEADER = 0x4000 }
3743 -enum : uint { LVS_NOSORTHEADER = 0x8000 }
3744 -
3745 -// #if (_WIN32_IE >= 0x0400)
3746 -alias CCM_SETUNICODEFORMAT LVM_SETUNICODEFORMAT;
3747 -// #define ListView_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), LVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
3748 -
3749 -alias CCM_GETUNICODEFORMAT LVM_GETUNICODEFORMAT;
3750 -// #define ListView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), LVM_GETUNICODEFORMAT, 0, 0)
3751 -// #endif
3752 -
3753 -enum : uint { LVM_GETBKCOLOR = LVM_FIRST + 0 }
3754 -// #define ListView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETBKCOLOR, 0, 0L)
3755 -
3756 -enum : uint { LVM_SETBKCOLOR = LVM_FIRST + 1 }
3757 -// #define ListView_SetBkColor(hwnd, clrBk) (BOOL)SNDMSG((hwnd), LVM_SETBKCOLOR, 0, (LPARAM)(COLORREF)(clrBk))
3758 -
3759 -enum : uint { LVM_GETIMAGELIST = LVM_FIRST + 2 }
3760 -// #define ListView_GetImageList(hwnd, iImageList) (HIMAGELIST)SNDMSG((hwnd), LVM_GETIMAGELIST, (WPARAM)(INT)(iImageList), 0L)
3761 -
3762 -enum : uint { LVSIL_NORMAL = 0 }
3763 -enum : uint { LVSIL_SMALL = 1 }
3764 -enum : uint { LVSIL_STATE = 2 }
3765 -
3766 -enum : uint { LVM_SETIMAGELIST = LVM_FIRST + 3 }
3767 -// #define ListView_SetImageList(hwnd, himl, iImageList) (HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)(iImageList), (LPARAM)(HIMAGELIST)(himl))
3768 -
3769 -enum : uint { LVM_GETITEMCOUNT = LVM_FIRST + 4 }
3770 -// #define ListView_GetItemCount(hwnd) (int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L)
3771 -
3772 -enum : uint { LVIF_TEXT = 0x0001 }
3773 -enum : uint { LVIF_IMAGE = 0x0002 }
3774 -enum : uint { LVIF_PARAM = 0x0004 }
3775 -enum : uint { LVIF_STATE = 0x0008 }
3776 -// #if (_WIN32_IE >= 0x0300)
3777 -enum : uint { LVIF_INDENT = 0x0010 }
3778 -enum : uint { LVIF_NORECOMPUTE = 0x0800 }
3779 -// #endif
3780 -// #if (_WIN32_WINNT >= 0x501)
3781 -enum : uint { LVIF_GROUPID = 0x0100 }
3782 -enum : uint { LVIF_COLUMNS = 0x0200 }
3783 -// #endif
3784 -
3785 -enum : uint { LVIS_FOCUSED = 0x0001 }
3786 -enum : uint { LVIS_SELECTED = 0x0002 }
3787 -enum : uint { LVIS_CUT = 0x0004 }
3788 -enum : uint { LVIS_DROPHILITED = 0x0008 }
3789 -enum : uint { LVIS_GLOW = 0x0010 }
3790 -enum : uint { LVIS_ACTIVATING = 0x0020 }
3791 -
3792 -enum : uint { LVIS_OVERLAYMASK = 0x0F00 }
3793 -enum : uint { LVIS_STATEIMAGEMASK = 0xF000 }
3794 -
3795 -uint INDEXTOSTATEIMAGEMASK(uint i){ return i << 12; }
3796 -
3797 -// #if (_WIN32_IE >= 0x0300)
3798 -enum { I_INDENTCALLBACK = -1 }
3247 +
3248 +struct UDACCEL {
3249 + UINT nSec;
3250 + UINT nInc;
3251 +}
3252 +alias UDACCEL* LPUDACCEL;
3253 +
3254 +struct NMUPDOWN {
3255 + NMHDR hdr;
3256 + int iPos;
3257 + int iDelta;
3258 +}
3259 +alias NMUPDOWN* LPNMUPDOWN;
3260 +
3261 +deprecated {
3262 + alias NMUPDOWN NM_UPDOWN;
3263 + alias LPNMUPDOWN LPNM_UPDOWN;
3264 +}
3265 +
3266 +static if (_WIN32_WINNT >= 0x501) {
3267 + struct LVITEMA {
3268 + UINT mask;
3269 + int iItem;
3270 + int iSubItem;
3271 + UINT state;
3272 + UINT stateMask;
3273 + LPSTR pszText;
3274 + int cchTextMax;
3275 + int iImage;
3276 + LPARAM lParam;
3277 + int iIndent;
3278 + int iGroupId;
3279 + UINT cColumns;
3280 + PUINT puColumns;
3281 + }
3282 +
3283 + struct LVITEMW {
3284 + UINT mask;
3285 + int iItem;
3286 + int iSubItem;
3287 + UINT state;
3288 + UINT stateMask;
3289 + LPWSTR pszText;
3290 + int cchTextMax;
3291 + int iImage;
3292 + LPARAM lParam;
3293 + int iIndent;
3294 + int iGroupId;
3295 + UINT cColumns;
3296 + PUINT puColumns;
3297 + }
3298 +} else static if (_WIN32_IE >= 0x300) {
3299 + struct LVITEMA {
3300 + UINT mask;
3301 + int iItem;
3302 + int iSubItem;
3303 + UINT state;
3304 + UINT stateMask;
3305 + LPSTR pszText;
3306 + int cchTextMax;
3307 + int iImage;
3308 + LPARAM lParam;
3309 + int iIndent;
3310 + }
3311 +
3312 + struct LVITEMW {
3313 + UINT mask;
3314 + int iItem;
3315 + int iSubItem;
3316 + UINT state;
3317 + UINT stateMask;
3318 + LPWSTR pszText;
3319 + int cchTextMax;
3320 + int iImage;
3321 + LPARAM lParam;
3322 + int iIndent;
3323 + }
3324 +} else {
3325 + struct LVITEMA {
3326 + UINT mask;
3327 + int iItem;
3328 + int iSubItem;
3329 + UINT state;
3330 + UINT stateMask;
3331 + LPSTR pszText;
3332 + int cchTextMax;
3333 + int iImage;
3334 + LPARAM lParam;
3335 + }
3336 +
3337 + struct LVITEMW {
3338 + UINT mask;
3339 + int iItem;
3340 + int iSubItem;
3341 + UINT state;
3342 + UINT stateMask;
3343 + LPWSTR pszText;
3344 + int cchTextMax;
3345 + int iImage;
3346 + LPARAM lParam;
3347 + }
3348 +}
3349 +alias LVITEMA* LPLVITEMA;
3350 +alias LVITEMW* LPLVITEMW;
3799 3351 alias LVITEMA LV_ITEMA;
3800 3352 alias LVITEMW LV_ITEMW;
3801 -// #else
3802 -// #...
3803 -// #...
3804 -// #...
3805 -// #...
3806 -// #endif
3807 -
3808 -// #if (_WIN32_WINNT >= 0x501)
3809 -enum { I_GROUPIDCALLBACK = -1 }
3810 -enum { I_GROUPIDNONE = -2 }
3811 -// #endif
3812 -alias LVITEM LV_ITEM;
3813 -
3814 -// #define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA, lParam)
3815 -// #define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW, lParam)
3816 -
3817 -struct tagLVITEMA {
3818 - UINT mask;
3819 - int iItem;
3820 - int iSubItem;
3821 - UINT state;
3822 - UINT stateMask;
3823 - LPSTR pszText;
3824 - int cchTextMax;
3825 - int iImage;
3826 - LPARAM lParam;
3827 -// #if (_WIN32_IE >= 0x0300)
3828 - int iIndent;
3829 -// #endif
3830 -// #if (_WIN32_WINNT >= 0x501)
3831 - int iGroupId;
3832 - UINT cColumns;
3833 - PUINT puColumns;
3834 -// #endif
3835 -}
3836 -alias tagLVITEMA LVITEMA;
3837 -alias tagLVITEMA* LPLVITEMA;
3838 -
3839 -struct tagLVITEMW {
3840 - UINT mask;
3841 - int iItem;
3842 - int iSubItem;
3843 - UINT state;
3844 - UINT stateMask;
3845 - LPWSTR pszText;
3846 - int cchTextMax;
3847 - int iImage;
3848 - LPARAM lParam;
3849 -// #if (_WIN32_IE >= 0x0300)
3850 - int iIndent;
3851 -// #endif
3852 -// #if (_WIN32_WINNT >= 0x501)
3853 - int iGroupId;
3854 - UINT cColumns;
3855 - PUINT puColumns;
3856 -// #endif
3857 -}
3858 -alias tagLVITEMW LVITEMW;
3859 -alias tagLVITEMW* LPLVITEMW;
3860 -
3861 -// #ifdef UNICODE
3862 -alias LVITEMW LVITEM;
3863 -alias LPLVITEMW LPLVITEM;
3864 -// #define LVITEM_V1_SIZE LVITEMW_V1_SIZE
3865 -// #else
3866 -// #...
3867 -// #...
3868 -// #...
3869 -// #endif
3870 -
3871 -const LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR)-1;
3872 -const LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR)-1;
3873 -// #ifdef UNICODE
3874 -alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK;
3875 -// #else
3876 -// #...
3877 -// #endif
3878 -
3879 -enum { I_IMAGECALLBACK = -1 }
3880 -// #if (_WIN32_IE >= 0x0501)
3881 -enum { I_IMAGENONE = -2 }
3882 -// #endif // 0x0501
3883 -
3884 -// #if (_WIN32_WINNT >= 0x501)
3885 -
3886 -enum : uint { I_COLUMNSCALLBACK = cast(UINT)-1 }
3887 -// #endif
3888 -
3889 -enum : uint { LVM_GETITEMA = LVM_FIRST + 5 }
3890 -enum : uint { LVM_GETITEMW = LVM_FIRST + 75 }
3891 -// #ifdef UNICODE
3892 -alias LVM_GETITEMW LVM_GETITEM;
3893 -// #else
3894 -// #...
3895 -// #endif
3896 -
3897 -// #define ListView_GetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), LVM_GETITEM, 0, (LPARAM)(LV_ITEM *)(pitem))
3898 -
3899 -enum : uint { LVM_SETITEMA = LVM_FIRST + 6 }
3900 -enum : uint { LVM_SETITEMW = LVM_FIRST + 76 }
3901 -// #ifdef UNICODE
3902 -alias LVM_SETITEMW LVM_SETITEM;
3903 -// #else
3904 -// #...
3905 -// #endif
3906 -
3907 -// #define ListView_SetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), LVM_SETITEM, 0, (LPARAM)(const LV_ITEM *)(pitem))
3908 -
3909 -enum : uint { LVM_INSERTITEMA = LVM_FIRST + 7 }
3910 -enum : uint { LVM_INSERTITEMW = LVM_FIRST + 77 }
3911 -// #ifdef UNICODE
3912 -alias LVM_INSERTITEMW LVM_INSERTITEM;
3913 -// #else
3914 -// #...
3915 -// #endif
3916 -// #define ListView_InsertItem(hwnd, pitem) (int)SNDMSG((hwnd), LVM_INSERTITEM, 0, (LPARAM)(const LV_ITEM *)(pitem))
3917 -
3918 -enum : uint { LVM_DELETEITEM = LVM_FIRST + 8 }
3919 -// #define ListView_DeleteItem(hwnd, i) (BOOL)SNDMSG((hwnd), LVM_DELETEITEM, (WPARAM)(int)(i), 0L)
3920 -
3921 -enum : uint { LVM_DELETEALLITEMS = LVM_FIRST + 9 }
3922 -// #define ListView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), LVM_DELETEALLITEMS, 0, 0L)
3923 -
3924 -enum : uint { LVM_GETCALLBACKMASK = LVM_FIRST + 10 }
3925 -// #define ListView_GetCallbackMask(hwnd) (BOOL)SNDMSG((hwnd), LVM_GETCALLBACKMASK, 0, 0)
3926 -
3927 -enum : uint { LVM_SETCALLBACKMASK = LVM_FIRST + 11 }
3928 -// #define ListView_SetCallbackMask(hwnd, mask) (BOOL)SNDMSG((hwnd), LVM_SETCALLBACKMASK, (WPARAM)(UINT)(mask), 0)
3929 -
3930 -enum : uint { LVNI_ALL = 0x0000 }
3931 -enum : uint { LVNI_FOCUSED = 0x0001 }
3932 -enum : uint { LVNI_SELECTED = 0x0002 }
3933 -enum : uint { LVNI_CUT = 0x0004 }
3934 -enum : uint { LVNI_DROPHILITED = 0x0008 }
3935 -
3936 -enum : uint { LVNI_ABOVE = 0x0100 }
3937 -enum : uint { LVNI_BELOW = 0x0200 }
3938 -enum : uint { LVNI_TOLEFT = 0x0400 }
3939 -enum : uint { LVNI_TORIGHT = 0x0800 }
3940 -
3941 -enum : uint { LVM_GETNEXTITEM = LVM_FIRST + 12 }
3942 -// #define ListView_GetNextItem(hwnd, i, flags) (int)SNDMSG((hwnd), LVM_GETNEXTITEM, (WPARAM)(int)(i), MAKELPARAM((flags), 0))
3943 -
3944 -enum : uint { LVFI_PARAM = 0x0001 }
3945 -enum : uint { LVFI_STRING = 0x0002 }
3946 -enum : uint { LVFI_PARTIAL = 0x0008 }
3947 -enum : uint { LVFI_WRAP = 0x0020 }
3948 -enum : uint { LVFI_NEARESTXY = 0x0040 }
3949 -
3950 -// #if (_WIN32_IE >= 0x0300)
3353 +
3354 +struct LVFINDINFOA {
3355 + UINT flags;
3356 + LPCSTR psz;
3357 + LPARAM lParam;
3358 + POINT pt;
3359 + UINT vkDirection;
3360 +}
3361 +
3362 +struct LVFINDINFOW {
3363 + UINT flags;
3364 + LPCWSTR psz;
3365 + LPARAM lParam;
3366 + POINT pt;
3367 + UINT vkDirection;
3368 +}
3369 +
3370 +alias LVFINDINFOA* LPFINDINFOA;
3951 3371 alias LVFINDINFOA LV_FINDINFOA;
3372 +alias LVFINDINFOW* LPFINDINFOW;
3952 3373 alias LVFINDINFOW LV_FINDINFOW;
3953 -// #else
3954 -// #...
3955 -// #...
3956 -// #...
3957 -// #...
3958 -// #endif
3959 -
3960 -alias LVFINDINFO LV_FINDINFO;
3961 -
3962 -struct tagLVFINDINFOA {
3963 - UINT flags;
3964 - LPCSTR psz;
3965 - LPARAM lParam;
3966 - POINT pt;
3967 - UINT vkDirection;
3968 -}
3969 -alias tagLVFINDINFOA LVFINDINFOA;
3970 -alias tagLVFINDINFOA* LPFINDINFOA;
3971 -
3972 -struct tagLVFINDINFOW {
3973 - UINT flags;
3974 - LPCWSTR psz;
3975 - LPARAM lParam;
3976 - POINT pt;
3977 - UINT vkDirection;
3978 -}
3979 -alias tagLVFINDINFOW LVFINDINFOW;
3980 -alias tagLVFINDINFOW* LPFINDINFOW;
3981 -
3982 -// #ifdef UNICODE
3983 -alias LVFINDINFOW LVFINDINFO;
3984 -// #else
3985 -// #...
3986 -// #endif
3987 -
3988 -enum : uint { LVM_FINDITEMA = LVM_FIRST + 13 }
3989 -enum : uint { LVM_FINDITEMW = LVM_FIRST + 83 }
3990 -// #ifdef UNICODE
3991 -alias LVM_FINDITEMW LVM_FINDITEM;
3992 -// #else
3993 -// #...
3994 -// #endif
3995 -
3996 -// #define ListView_FindItem(hwnd, iStart, plvfi) (int)SNDMSG((hwnd), LVM_FINDITEM, (WPARAM)(int)(iStart), (LPARAM)(const LV_FINDINFO *)(plvfi))
3997 -
3998 -enum : uint { LVIR_BOUNDS = 0 }
3999 -enum : uint { LVIR_ICON = 1 }
4000 -enum : uint { LVIR_LABEL = 2 }
4001 -enum : uint { LVIR_SELECTBOUNDS = 3 }
4002 -
4003 -enum : uint { LVM_GETITEMRECT = LVM_FIRST + 14 }
4004 -// #define ListView_GetItemRect(hwnd, i, prc, code) (BOOL)SNDMSG((hwnd), LVM_GETITEMRECT, (WPARAM)(int)(i), ((prc) ? (((RECT *)(prc))->left = (code),(LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL))
4005 -
4006 -enum : uint { LVM_SETITEMPOSITION = LVM_FIRST + 15 }
4007 -// #define ListView_SetItemPosition(hwndLV, i, x, y) (BOOL)SNDMSG((hwndLV), LVM_SETITEMPOSITION, (WPARAM)(int)(i), MAKELPARAM((x), (y)))
4008 -
4009 -enum : uint { LVM_GETITEMPOSITION = LVM_FIRST + 16 }
4010 -// #define ListView_GetItemPosition(hwndLV, i, ppt) (BOOL)SNDMSG((hwndLV), LVM_GETITEMPOSITION, (WPARAM)(int)(i), (LPARAM)(POINT *)(ppt))
4011 -
4012 -enum : uint { LVM_GETSTRINGWIDTHA = LVM_FIRST + 17 }
4013 -enum : uint { LVM_GETSTRINGWIDTHW = LVM_FIRST + 87 }
4014 -// #ifdef UNICODE
4015 -alias LVM_GETSTRINGWIDTHW LVM_GETSTRINGWIDTH;
4016 -// #else
4017 -// #...
4018 -// #endif
4019 -
4020 -// #define ListView_GetStringWidth(hwndLV, psz) (int)SNDMSG((hwndLV), LVM_GETSTRINGWIDTH, 0, (LPARAM)(LPCTSTR)(psz))
4021 -
4022 -enum : uint { LVHT_NOWHERE = 0x0001 }
4023 -enum : uint { LVHT_ONITEMICON = 0x0002 }
4024 -enum : uint { LVHT_ONITEMLABEL = 0x0004 }
4025 -enum : uint { LVHT_ONITEMSTATEICON = 0x0008 }
4026 -enum : uint { LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON }
4027 -
4028 -enum : uint { LVHT_ABOVE = 0x0008 }
4029 -enum : uint { LVHT_BELOW = 0x0010 }
4030 -enum : uint { LVHT_TORIGHT = 0x0020 }
4031 -enum : uint { LVHT_TOLEFT = 0x0040 }
4032 -
4033 -// #if (_WIN32_IE >= 0x0300)
3374 +
3375 +struct NMLVFINDITEMA {
3376 + NMHDR hdr;
3377 + int iStart;
3378 + LVFINDINFOA lvfi;
3379 +}
3380 +
3381 +struct NMLVFINDITEMW {
3382 + NMHDR hdr;
3383 + int iStart;
3384 + LVFINDINFOW lvfi;
3385 +}
3386 +
3387 +alias NMLVFINDITEMA* PNMLVFINDITEMA, LPNMLVFINDITEMA;
3388 +alias NMLVFINDITEMW* PNMLVFINDITEMW, LPNMLVFINDITEMW;
3389 +
3390 +static if (_WIN32_IE >= 0x300) {
3391 + struct LVHITTESTINFO {
3392 + POINT pt;
3393 + UINT flags;
3394 + int iItem;
3395 + int iSubItem;
3396 + }
3397 +} else {
3398 + struct LVHITTESTINFO {
3399 + POINT pt;
3400 + UINT flags;
3401 + int iItem;
3402 + }
3403 +}
3404 +alias LVHITTESTINFO* LPLVHITTESTINFO;
4034 3405 alias LVHITTESTINFO LV_HITTESTINFO;
4035 -// #else
4036 -// #...
4037 -// #...
4038 -// #endif
4039 -
4040 -// #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO, iItem)
4041 -
4042 -struct tagLVHITTESTINFO {
4043 - POINT pt;
4044 - UINT flags;
4045 - int iItem;
4046 -// #if (_WIN32_IE >= 0x0300)
4047 - int iSubItem;
4048 -// #endif
4049 -}
4050 -alias tagLVHITTESTINFO LVHITTESTINFO;
4051 -alias tagLVHITTESTINFO* LPLVHITTESTINFO;
4052 -
4053 -enum : uint { LVM_HITTEST = LVM_FIRST + 18 }
4054 -// #define ListView_HitTest(hwndLV, pinfo) (int)SNDMSG((hwndLV), LVM_HITTEST, 0, (LPARAM)(LV_HITTESTINFO *)(pinfo))
4055 -
4056 -enum : uint { LVM_ENSUREVISIBLE = LVM_FIRST + 19 }
4057 -// #define ListView_EnsureVisible(hwndLV, i, fPartialOK) (BOOL)SNDMSG((hwndLV), LVM_ENSUREVISIBLE, (WPARAM)(int)(i), MAKELPARAM((fPartialOK), 0))
4058 -
4059 -enum : uint { LVM_SCROLL = LVM_FIRST + 20 }
4060 -// #define ListView_Scroll(hwndLV, dx, dy) (BOOL)SNDMSG((hwndLV), LVM_SCROLL, (WPARAM)(int)(dx), (LPARAM)(int)(dy))
4061 -
4062 -enum : uint { LVM_REDRAWITEMS = LVM_FIRST + 21 }
4063 -// #define ListView_RedrawItems(hwndLV, iFirst, iLast) (BOOL)SNDMSG((hwndLV), LVM_REDRAWITEMS, (WPARAM)(int)(iFirst), (LPARAM)(int)(iLast))
4064 -
4065 -enum : uint { LVA_DEFAULT = 0x0000 }
4066 -enum : uint { LVA_ALIGNLEFT = 0x0001 }
4067 -enum : uint { LVA_ALIGNTOP = 0x0002 }
4068 -enum : uint { LVA_SNAPTOGRID = 0x0005 }
4069 -
4070 -enum : uint { LVM_ARRANGE = LVM_FIRST + 22 }
4071 -// #define ListView_Arrange(hwndLV, code) (BOOL)SNDMSG((hwndLV), LVM_ARRANGE, (WPARAM)(UINT)(code), 0L)
4072 -
4073 -enum : uint { LVM_EDITLABELA = LVM_FIRST + 23 }
4074 -enum : uint { LVM_EDITLABELW = LVM_FIRST + 118 }
4075 -// #ifdef UNICODE
4076 -alias LVM_EDITLABELW LVM_EDITLABEL;
4077 -// #else
4078 -// #...
4079 -// #endif
4080 -
4081 -// #define ListView_EditLabel(hwndLV, i) (HWND)SNDMSG((hwndLV), LVM_EDITLABEL, (WPARAM)(int)(i), 0L)
4082 -
4083 -enum : uint { LVM_GETEDITCONTROL = LVM_FIRST + 24 }
4084 -// #define ListView_GetEditControl(hwndLV) (HWND)SNDMSG((hwndLV), LVM_GETEDITCONTROL, 0, 0L)
4085 -
4086 -// #if (_WIN32_IE >= 0x0300)
3406 +
3407 +static if (_WIN32_IE >= 0x300) {
3408 + struct LVCOLUMNA {
3409 + UINT mask;
3410 + int fmt;
3411 + int cx;
3412 + LPSTR pszText;
3413 + int cchTextMax;
3414 + int iSubItem;
3415 + int iImage;
3416 + int iOrder;
3417 + }
3418 + struct LVCOLUMNW {
3419 + UINT mask;
3420 + int fmt;
3421 + int cx;
3422 + LPWSTR pszText;
3423 + int cchTextMax;
3424 + int iSubItem;
3425 + int iImage;
3426 + int iOrder;
3427 + }
3428 +} else {
3429 + struct LVCOLUMNA {
3430 + UINT mask;
3431 + int fmt;
3432 + int cx;
3433 + LPSTR pszText;
3434 + int cchTextMax;
3435 + int iSubItem;
3436 + }
3437 + struct LVCOLUMNW {
3438 + UINT mask;
3439 + int fmt;
3440 + int cx;
3441 + LPWSTR pszText;
3442 + int cchTextMax;
3443 + int iSubItem;
3444 + }
3445 +}
3446 +alias LVCOLUMNA* LPLVCOLUMNA;
3447 +alias LVCOLUMNW* LPLVCOLUMNW;
4087 3448 alias LVCOLUMNA LV_COLUMNA;
4088 3449 alias LVCOLUMNW LV_COLUMNW;
4089 -// #else
4090 -// #...
4091 -// #...
4092 -// #...
4093 -// #...
4094 -// #endif
4095 -
4096 -alias LVCOLUMN LV_COLUMN;
4097 -
4098 -// #define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem)
4099 -// #define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem)
4100 -
4101 -struct tagLVCOLUMNA {
4102 - UINT mask;
4103 - int fmt;
4104 - int cx;
4105 - LPSTR pszText;
4106 - int cchTextMax;
4107 - int iSubItem;
4108 -// #if (_WIN32_IE >= 0x0300)
4109 - int iImage;
4110 - int iOrder;
4111 -// #endif
4112 -}
4113 -alias tagLVCOLUMNA LVCOLUMNA;
4114 -alias tagLVCOLUMNA* LPLVCOLUMNA;
4115 -
4116 -struct tagLVCOLUMNW {
4117 - UINT mask;
4118 - int fmt;
4119 - int cx;
4120 - LPWSTR pszText;
4121 - int cchTextMax;
4122 - int iSubItem;
4123 -// #if (_WIN32_IE >= 0x0300)
4124 - int iImage;
4125 - int iOrder;
4126 -// #endif
4127 -}
4128 -alias tagLVCOLUMNW LVCOLUMNW;
4129 -alias tagLVCOLUMNW* LPLVCOLUMNW;
4130 -
4131 -// #ifdef UNICODE
4132 -alias LVCOLUMNW LVCOLUMN;
4133 -alias LPLVCOLUMNW LPLVCOLUMN;
4134 -// #define LVCOLUMN_V1_SIZE LVCOLUMNW_V1_SIZE
4135 -// #else
4136 -// #...
4137 -// #...
4138 -// #...
4139 -// #endif
4140 -
4141 -enum : uint { LVCF_FMT = 0x0001 }
4142 -enum : uint { LVCF_WIDTH = 0x0002 }
4143 -enum : uint { LVCF_TEXT = 0x0004 }
4144 -enum : uint { LVCF_SUBITEM = 0x0008 }
4145 -// #if (_WIN32_IE >= 0x0300)
4146 -enum : uint { LVCF_IMAGE = 0x0010 }
4147 -enum : uint { LVCF_ORDER = 0x0020 }
4148 -// #endif
4149 -
4150 -enum : uint { LVCFMT_LEFT = 0x0000 }
4151 -enum : uint { LVCFMT_RIGHT = 0x0001 }
4152 -enum : uint { LVCFMT_CENTER = 0x0002 }
4153 -enum : uint { LVCFMT_JUSTIFYMASK = 0x0003 }
4154 -
4155 -// #if (_WIN32_IE >= 0x0300)
4156 -enum : uint { LVCFMT_IMAGE = 0x0800 }
4157 -enum : uint { LVCFMT_BITMAP_ON_RIGHT = 0x1000 }
4158 -enum : uint { LVCFMT_COL_HAS_IMAGES = 0x8000 }
4159 -// #endif
4160 -
4161 -enum : uint { LVM_GETCOLUMNA = LVM_FIRST + 25 }
4162 -enum : uint { LVM_GETCOLUMNW = LVM_FIRST + 95 }
4163 -// #ifdef UNICODE
4164 -alias LVM_GETCOLUMNW LVM_GETCOLUMN;
4165 -// #else
4166 -// #...
4167 -// #endif
4168 -
4169 -// #define ListView_GetColumn(hwnd, iCol, pcol) (BOOL)SNDMSG((hwnd), LVM_GETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(LV_COLUMN *)(pcol))
4170 -
4171 -enum : uint { LVM_SETCOLUMNA = LVM_FIRST + 26 }
4172 -enum : uint { LVM_SETCOLUMNW = LVM_FIRST + 96 }
4173 -// #ifdef UNICODE
4174 -alias LVM_SETCOLUMNW LVM_SETCOLUMN;
4175 -// #else
4176 -// #...
4177 -// #endif
4178 -
4179 -// #define ListView_SetColumn(hwnd, iCol, pcol) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol))
4180 -
4181 -enum : uint { LVM_INSERTCOLUMNA = LVM_FIRST + 27 }
4182 -enum : uint { LVM_INSERTCOLUMNW = LVM_FIRST + 97 }
4183 -// #ifdef UNICODE
4184 -alias LVM_INSERTCOLUMNW LVM_INSERTCOLUMN;
4185 -// #else
4186 -// #...
4187 -// #endif
4188 -
4189 -// #define ListView_InsertColumn(hwnd, iCol, pcol) (int)SNDMSG((hwnd), LVM_INSERTCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol))
4190 -
4191 -enum : uint { LVM_DELETECOLUMN = LVM_FIRST + 28 }
4192 -// #define ListView_DeleteColumn(hwnd, iCol) (BOOL)SNDMSG((hwnd), LVM_DELETECOLUMN, (WPARAM)(int)(iCol), 0)
4193 -
4194 -enum : uint { LVM_GETCOLUMNWIDTH = LVM_FIRST + 29 }
4195 -// #define ListView_GetColumnWidth(hwnd, iCol) (int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0)
4196 -
4197 -enum { LVSCW_AUTOSIZE = -1 }
4198 -enum { LVSCW_AUTOSIZE_USEHEADER = -2 }
4199 -enum : uint { LVM_SETCOLUMNWIDTH = LVM_FIRST + 30 }
4200 -
4201 -// #define ListView_SetColumnWidth(hwnd, iCol, cx) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx), 0))
4202 -
4203 -// #if (_WIN32_IE >= 0x0300)
4204 -enum : uint { LVM_GETHEADER = LVM_FIRST + 31 }
4205 -// #define ListView_GetHeader(hwnd) (HWND)SNDMSG((hwnd), LVM_GETHEADER, 0, 0L)
4206 -// #endif
4207 -
4208 -enum : uint { LVM_CREATEDRAGIMAGE = LVM_FIRST + 33 }
4209 -// #define ListView_CreateDragImage(hwnd, i, lpptUpLeft) (HIMAGELIST)SNDMSG((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(LPPOINT)(lpptUpLeft))
4210 -
4211 -enum : uint { LVM_GETVIEWRECT = LVM_FIRST + 34 }
4212 -// #define ListView_GetViewRect(hwnd, prc) (BOOL)SNDMSG((hwnd), LVM_GETVIEWRECT, 0, (LPARAM)(RECT *)(prc))
4213 -
4214 -enum : uint { LVM_GETTEXTCOLOR = LVM_FIRST + 35 }
4215 -// #define ListView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETTEXTCOLOR, 0, 0L)
4216 -
4217 -enum : uint { LVM_SETTEXTCOLOR = LVM_FIRST + 36 }
4218 -// #define ListView_SetTextColor(hwnd, clrText) (BOOL)SNDMSG((hwnd), LVM_SETTEXTCOLOR, 0, (LPARAM)(COLORREF)(clrText))
4219 -
4220 -enum : uint { LVM_GETTEXTBKCOLOR = LVM_FIRST + 37 }
4221 -// #define ListView_GetTextBkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETTEXTBKCOLOR, 0, 0L)
4222 -
4223 -enum : uint { LVM_SETTEXTBKCOLOR = LVM_FIRST + 38 }
4224 -// #define ListView_SetTextBkColor(hwnd, clrTextBk) (BOOL)SNDMSG((hwnd), LVM_SETTEXTBKCOLOR, 0, (LPARAM)(COLORREF)(clrTextBk))
4225 -
4226 -enum : uint { LVM_GETTOPINDEX = LVM_FIRST + 39 }
4227 -// #define ListView_GetTopIndex(hwndLV) (int)SNDMSG((hwndLV), LVM_GETTOPINDEX, 0, 0)
4228 -
4229 -enum : uint { LVM_GETCOUNTPERPAGE = LVM_FIRST + 40 }
4230 -// #define ListView_GetCountPerPage(hwndLV) (int)SNDMSG((hwndLV), LVM_GETCOUNTPERPAGE, 0, 0)
4231 -
4232 -enum : uint { LVM_GETORIGIN = LVM_FIRST + 41 }
4233 -// #define ListView_GetOrigin(hwndLV, ppt) (BOOL)SNDMSG((hwndLV), LVM_GETORIGIN, (WPARAM)0, (LPARAM)(POINT *)(ppt))
4234 -
4235 -enum : uint { LVM_UPDATE = LVM_FIRST + 42 }
4236 -// #define ListView_Update(hwndLV, i) (BOOL)SNDMSG((hwndLV), LVM_UPDATE, (WPARAM)(i), 0L)
4237 -
4238 -enum : uint { LVM_SETITEMSTATE = LVM_FIRST + 43 }
4239 -// #define ListView_SetItemState(hwndLV, i, data, mask) { LV_ITEM _ms_lvi; _ms_lvi.stateMask = mask; _ms_lvi.state = data; SNDMSG((hwndLV), LVM_SETITEMSTATE, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); }
4240 -
4241 -// #if (_WIN32_IE >= 0x0300)
4242 -// #define ListView_SetCheckState(hwndLV, i, fCheck) ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), LVIS_STATEIMAGEMASK)
4243 -// #endif
4244 -
4245 -enum : uint { LVM_GETITEMSTATE = LVM_FIRST + 44 }
4246 -// #define ListView_GetItemState(hwndLV, i, mask) (UINT)SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), (LPARAM)(mask))
4247 -
4248 -// #if (_WIN32_IE >= 0x0300)
4249 -// #define ListView_GetCheckState(hwndLV, i) ((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), LVIS_STATEIMAGEMASK))) >> 12) -1)
4250 -// #endif
4251 -
4252 -enum : uint { LVM_GETITEMTEXTA = LVM_FIRST + 45 }
4253 -enum : uint { LVM_GETITEMTEXTW = LVM_FIRST + 115 }
4254 -
4255 -// #ifdef UNICODE
4256 -alias LVM_GETITEMTEXTW LVM_GETITEMTEXT;
4257 -// #else
4258 -// #...
4259 -// #endif
4260 -
4261 -// #define ListView_GetItemText(hwndLV, i, iSubItem_, pszText_, cchTextMax_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.cchTextMax = cchTextMax_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV), LVM_GETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); }
4262 -
4263 -enum : uint { LVM_SETITEMTEXTA = LVM_FIRST + 46 }
4264 -enum : uint { LVM_SETITEMTEXTW = LVM_FIRST + 116 }
4265 -
4266 -// #ifdef UNICODE
4267 -alias LVM_SETITEMTEXTW LVM_SETITEMTEXT;
4268 -// #else
4269 -// #...
4270 -// #endif
4271 -
4272 -// #define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV), LVM_SETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); }
4273 -
4274 -// #if (_WIN32_IE >= 0x0300)
4275 -
4276 -enum : uint { LVSICF_NOINVALIDATEALL = 0x00000001 }
4277 -enum : uint { LVSICF_NOSCROLL = 0x00000002 }
4278 -// #endif
4279 -
4280 -enum : uint { LVM_SETITEMCOUNT = LVM_FIRST + 47 }
4281 -// #define ListView_SetItemCount(hwndLV, cItems) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), 0)
4282 -
4283 -// #if (_WIN32_IE >= 0x0300)
4284 -// #define ListView_SetItemCountEx(hwndLV, cItems, dwFlags) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), (LPARAM)(dwFlags))
4285 -// #endif
4286 -
4287 -extern(Windows) alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE;
4288 -
4289 -enum : uint { LVM_SORTITEMS = LVM_FIRST + 48 }
4290 -// #define ListView_SortItems(hwndLV, _pfnCompare, _lPrm) (BOOL)SNDMSG((hwndLV), LVM_SORTITEMS, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare))
4291 -
4292 -enum : uint { LVM_SETITEMPOSITION32 = LVM_FIRST + 49 }
4293 -// #define ListView_SetItemPosition32(hwndLV, i, x0, y0) { POINT ptNewPos; ptNewPos.x = x0; ptNewPos.y = y0; SNDMSG((hwndLV), LVM_SETITEMPOSITION32, (WPARAM)(int)(i), (LPARAM)&ptNewPos); }
4294 -
4295 -enum : uint { LVM_GETSELECTEDCOUNT = LVM_FIRST + 50 }
4296 -// #define ListView_GetSelectedCount(hwndLV) (UINT)SNDMSG((hwndLV), LVM_GETSELECTEDCOUNT, 0, 0L)
4297 -
4298 -enum : uint { LVM_GETITEMSPACING = LVM_FIRST + 51 }
4299 -// #define ListView_GetItemSpacing(hwndLV, fSmall) (DWORD)SNDMSG((hwndLV), LVM_GETITEMSPACING, fSmall, 0L)
4300 -
4301 -enum : uint { LVM_GETISEARCHSTRINGA = LVM_FIRST + 52 }
4302 -enum : uint { LVM_GETISEARCHSTRINGW = LVM_FIRST + 117 }
4303 -
4304 -// #ifdef UNICODE
4305 -alias LVM_GETISEARCHSTRINGW LVM_GETISEARCHSTRING;
4306 -// #else
4307 -// #...
4308 -// #endif
4309 -
4310 -// #define ListView_GetISearchString(hwndLV, lpsz) (BOOL)SNDMSG((hwndLV), LVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz))
4311 -
4312 -// #if (_WIN32_IE >= 0x0300)
4313 -enum : uint { LVM_SETICONSPACING = LVM_FIRST + 53 }
4314 -
4315 -// #define ListView_SetIconSpacing(hwndLV, cx, cy) (DWORD)SNDMSG((hwndLV), LVM_SETICONSPACING, 0, MAKELONG(cx,cy))
4316 -
4317 -enum : uint { LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54 }
4318 -// #define ListView_SetExtendedListViewStyle(hwndLV, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw)
4319 -// #if (_WIN32_IE >= 0x0400)
4320 -// #define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw)
4321 -// #endif
4322 -
4323 -enum : uint { LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55 }
4324 -// #define ListView_GetExtendedListViewStyle(hwndLV) (DWORD)SNDMSG((hwndLV), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0)
4325 -
4326 -enum : uint { LVS_EX_GRIDLINES = 0x00000001 }
4327 -enum : uint { LVS_EX_SUBITEMIMAGES = 0x00000002 }
4328 -enum : uint { LVS_EX_CHECKBOXES = 0x00000004 }
4329 -enum : uint { LVS_EX_TRACKSELECT = 0x00000008 }
4330 -enum : uint { LVS_EX_HEADERDRAGDROP = 0x00000010 }
4331 -enum : uint { LVS_EX_FULLROWSELECT = 0x00000020 }
4332 -enum : uint { LVS_EX_ONECLICKACTIVATE = 0x00000040 }
4333 -enum : uint { LVS_EX_TWOCLICKACTIVATE = 0x00000080 }
4334 -// #if (_WIN32_IE >= 0x0400)
4335 -enum : uint { LVS_EX_FLATSB = 0x00000100 }
4336 -enum : uint { LVS_EX_REGIONAL = 0x00000200 }
4337 -enum : uint { LVS_EX_INFOTIP = 0x00000400 }
4338 -enum : uint { LVS_EX_UNDERLINEHOT = 0x00000800 }
4339 -enum : uint { LVS_EX_UNDERLINECOLD = 0x00001000 }
4340 -enum : uint { LVS_EX_MULTIWORKAREAS = 0x00002000 }
4341 -// #endif
4342 -// #if (_WIN32_IE >= 0x0500)
4343 -enum : uint { LVS_EX_LABELTIP = 0x00004000 }
4344 -enum : uint { LVS_EX_BORDERSELECT = 0x00008000 }
4345 -// #endif // End (_WIN32_IE >= 0x0500)
4346 -// #if (_WIN32_WINNT >= 0x501)
4347 -enum : uint { LVS_EX_DOUBLEBUFFER = 0x00010000 }
4348 -enum : uint { LVS_EX_HIDELABELS = 0x00020000 }
4349 -enum : uint { LVS_EX_SINGLEROW = 0x00040000 }
4350 -enum : uint { LVS_EX_SNAPTOGRID = 0x00080000 }
4351 -enum : uint { LVS_EX_SIMPLESELECT = 0x00100000 }
4352 -// #endif
4353 -
4354 -enum : uint { LVM_GETSUBITEMRECT = LVM_FIRST + 56 }
4355 -// #define ListView_GetSubItemRect(hwnd, iItem, iSubItem, code, prc) (BOOL)SNDMSG((hwnd), LVM_GETSUBITEMRECT, (WPARAM)(int)(iItem), ((prc) ? ((((LPRECT)(prc))->top = iSubItem), (((LPRECT)(prc))->left = code), (LPARAM)(prc)) : (LPARAM)(LPRECT)NULL))
4356 -
4357 -enum : uint { LVM_SUBITEMHITTEST = LVM_FIRST + 57 }
4358 -// #define ListView_SubItemHitTest(hwnd, plvhti) (int)SNDMSG((hwnd), LVM_SUBITEMHITTEST, 0, (LPARAM)(LPLVHITTESTINFO)(plvhti))
4359 -
4360 -enum : uint { LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58 }
4361 -// #define ListView_SetColumnOrderArray(hwnd, iCount, pi) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi))
4362 -
4363 -enum : uint { LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59 }
4364 -// #define ListView_GetColumnOrderArray(hwnd, iCount, pi) (BOOL)SNDMSG((hwnd), LVM_GETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi))
4365 -
4366 -enum : uint { LVM_SETHOTITEM = LVM_FIRST + 60 }
4367 -// #define ListView_SetHotItem(hwnd, i) (int)SNDMSG((hwnd), LVM_SETHOTITEM, (WPARAM)(i), 0)
4368 -
4369 -enum : uint { LVM_GETHOTITEM = LVM_FIRST + 61 }
4370 -// #define ListView_GetHotItem(hwnd) (int)SNDMSG((hwnd), LVM_GETHOTITEM, 0, 0)
4371 -
4372 -enum : uint { LVM_SETHOTCURSOR = LVM_FIRST + 62 }
4373 -// #define ListView_SetHotCursor(hwnd, hcur) (HCURSOR)SNDMSG((hwnd), LVM_SETHOTCURSOR, 0, (LPARAM)(hcur))
4374 -
4375 -enum : uint { LVM_GETHOTCURSOR = LVM_FIRST + 63 }
4376 -// #define ListView_GetHotCursor(hwnd) (HCURSOR)SNDMSG((hwnd), LVM_GETHOTCURSOR, 0, 0)
4377 -
4378 -enum : uint { LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64 }
4379 -// #define ListView_ApproximateViewRect(hwnd, iWidth, iHeight, iCount) (DWORD)SNDMSG((hwnd), LVM_APPROXIMATEVIEWRECT, iCount, MAKELPARAM(iWidth, iHeight))
4380 -// #endif // _WIN32_IE >= 0x0300
4381 -
4382 -// #if (_WIN32_IE >= 0x0400)
4383 -
4384 -enum : uint { LV_MAX_WORKAREAS = 16 }
4385 -enum : uint { LVM_SETWORKAREAS = LVM_FIRST + 65 }
4386 -// #define ListView_SetWorkAreas(hwnd, nWorkAreas, prc) (BOOL)SNDMSG((hwnd), LVM_SETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc))
4387 -
4388 -enum : uint { LVM_GETWORKAREAS = LVM_FIRST + 70 }
4389 -// #define ListView_GetWorkAreas(hwnd, nWorkAreas, prc) (BOOL)SNDMSG((hwnd), LVM_GETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc))
4390 -
4391 -enum : uint { LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73 }
4392 -// #define ListView_GetNumberOfWorkAreas(hwnd, pnWorkAreas) (BOOL)SNDMSG((hwnd), LVM_GETNUMBEROFWORKAREAS, 0, (LPARAM)(UINT *)(pnWorkAreas))
4393 -
4394 -enum : uint { LVM_GETSELECTIONMARK = LVM_FIRST + 66 }
4395 -// #define ListView_GetSelectionMark(hwnd) (int)SNDMSG((hwnd), LVM_GETSELECTIONMARK, 0, 0)
4396 -
4397 -enum : uint { LVM_SETSELECTIONMARK = LVM_FIRST + 67 }
4398 -// #define ListView_SetSelectionMark(hwnd, i) (int)SNDMSG((hwnd), LVM_SETSELECTIONMARK, 0, (LPARAM)(i))
4399 -
4400 -enum : uint { LVM_SETHOVERTIME = LVM_FIRST + 71 }
4401 -// #define ListView_SetHoverTime(hwndLV, dwHoverTimeMs) (DWORD)SNDMSG((hwndLV), LVM_SETHOVERTIME, 0, (LPARAM)(dwHoverTimeMs))
4402 -
4403 -enum : uint { LVM_GETHOVERTIME = LVM_FIRST + 72 }
4404 -// #define ListView_GetHoverTime(hwndLV) (DWORD)SNDMSG((hwndLV), LVM_GETHOVERTIME, 0, 0)
4405 -
4406 -enum : uint { LVM_SETTOOLTIPS = LVM_FIRST + 74 }
4407 -// #define ListView_SetToolTips(hwndLV, hwndNewHwnd) (HWND)SNDMSG((hwndLV), LVM_SETTOOLTIPS, (WPARAM)(hwndNewHwnd), 0)
4408 -
4409 -enum : uint { LVM_GETTOOLTIPS = LVM_FIRST + 78 }
4410 -// #define ListView_GetToolTips(hwndLV) (HWND)SNDMSG((hwndLV), LVM_GETTOOLTIPS, 0, 0)
4411 -
4412 -enum : uint { LVM_SORTITEMSEX = LVM_FIRST + 81 }
4413 -// #define ListView_SortItemsEx(hwndLV, _pfnCompare, _lPrm) (BOOL)SNDMSG((hwndLV), LVM_SORTITEMSEX, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare))
4414 -
4415 -struct tagLVBKIMAGEA {
4416 - ULONG ulFlags;
4417 - HBITMAP hbm;
4418 - LPSTR pszImage;
4419 - UINT cchImageMax;
4420 - int xOffsetPercent;
4421 - int yOffsetPercent;
4422 -}
4423 -alias tagLVBKIMAGEA LVBKIMAGEA;
4424 -alias tagLVBKIMAGEA* LPLVBKIMAGEA;
4425 -
4426 -struct tagLVBKIMAGEW {
4427 - ULONG ulFlags;
4428 - HBITMAP hbm;
4429 - LPWSTR pszImage;
4430 - UINT cchImageMax;
4431 - int xOffsetPercent;
4432 - int yOffsetPercent;
4433 -}
4434 -alias tagLVBKIMAGEW LVBKIMAGEW;
4435 -alias tagLVBKIMAGEW* LPLVBKIMAGEW;
4436 -
4437 -enum : uint { LVBKIF_SOURCE_NONE = 0x00000000 }
4438 -enum : uint { LVBKIF_SOURCE_HBITMAP = 0x00000001 }
4439 -enum : uint { LVBKIF_SOURCE_URL = 0x00000002 }
4440 -enum : uint { LVBKIF_SOURCE_MASK = 0x00000003 }
4441 -enum : uint { LVBKIF_STYLE_NORMAL = 0x00000000 }
4442 -enum : uint { LVBKIF_STYLE_TILE = 0x00000010 }
4443 -enum : uint { LVBKIF_STYLE_MASK = 0x00000010 }
4444 -// #if (_WIN32_WINNT >= 0x501)
4445 -enum : uint { LVBKIF_FLAG_TILEOFFSET = 0x00000100 }
4446 -enum : uint { LVBKIF_TYPE_WATERMARK = 0x10000000 }
4447 -// #endif
4448 -
4449 -enum : uint { LVM_SETBKIMAGEA = LVM_FIRST + 68 }
4450 -enum : uint { LVM_SETBKIMAGEW = LVM_FIRST + 138 }
4451 -enum : uint { LVM_GETBKIMAGEA = LVM_FIRST + 69 }
4452 -enum : uint { LVM_GETBKIMAGEW = LVM_FIRST + 139 }
4453 -
4454 -// #if (_WIN32_WINNT >= 0x501)
4455 -enum : uint { LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 }
4456 -// #define ListView_SetSelectedColumn(hwnd, iCol) SNDMSG((hwnd), LVM_SETSELECTEDCOLUMN, (WPARAM)iCol, 0)
4457 -
4458 -enum : uint { LVM_SETTILEWIDTH = LVM_FIRST + 141 }
4459 -// #define ListView_SetTileWidth(hwnd, cpWidth) SNDMSG((hwnd), LVM_SETTILEWIDTH, (WPARAM)cpWidth, 0)
4460 -
4461 -enum : uint { LV_VIEW_ICON = 0x0000 }
4462 -enum : uint { LV_VIEW_DETAILS = 0x0001 }
4463 -enum : uint { LV_VIEW_SMALLICON = 0x0002 }
4464 -enum : uint { LV_VIEW_LIST = 0x0003 }
4465 -enum : uint { LV_VIEW_TILE = 0x0004 }
4466 -enum : uint { LV_VIEW_MAX = 0x0004 }
4467 -
4468 -enum : uint { LVM_SETVIEW = LVM_FIRST + 142 }
4469 -// #define ListView_SetView(hwnd, iView) (DWORD)SNDMSG((hwnd), LVM_SETVIEW, (WPARAM)(DWORD)iView, 0)
4470 -
4471 -enum : uint { LVM_GETVIEW = LVM_FIRST + 143 }
4472 -// #define ListView_GetView(hwnd) (DWORD)SNDMSG((hwnd), LVM_GETVIEW, 0, 0)
4473 -
4474 -enum : uint { LVGF_NONE = 0x00000000 }
4475 -enum : uint { LVGF_HEADER = 0x00000001 }
4476 -enum : uint { LVGF_FOOTER = 0x00000002 }
4477 -enum : uint { LVGF_STATE = 0x00000004 }
4478 -enum : uint { LVGF_ALIGN = 0x00000008 }
4479 -enum : uint { LVGF_GROUPID = 0x00000010 }
4480 -
4481 -enum : uint { LVGS_NORMAL = 0x00000000 }
4482 -enum : uint { LVGS_COLLAPSED = 0x00000001 }
4483 -enum : uint { LVGS_HIDDEN = 0x00000002 }
4484 -
4485 -enum : uint { LVGA_HEADER_LEFT = 0x00000001 }
4486 -enum : uint { LVGA_HEADER_CENTER = 0x00000002 }
4487 -enum : uint { LVGA_HEADER_RIGHT = 0x00000004 }
4488 -enum : uint { LVGA_FOOTER_LEFT = 0x00000008 }
4489 -enum : uint { LVGA_FOOTER_CENTER = 0x00000010 }
4490 -enum : uint { LVGA_FOOTER_RIGHT = 0x00000020 }
4491 -
4492 -struct tagLVGROUP {
4493 - UINT cbSize;
4494 - UINT mask;
4495 - LPWSTR pszHeader;
4496 - int cchHeader;
4497 - LPWSTR pszFooter;
4498 - int cchFooter;
4499 - int iGroupId;
4500 - UINT stateMask;
4501 - UINT state;
4502 - UINT uAlign;
4503 -}
4504 -alias tagLVGROUP LVGROUP;
4505 -alias tagLVGROUP* PLVGROUP;
4506 -
4507 -enum : uint { LVM_INSERTGROUP = LVM_FIRST + 145 }
4508 -// #define ListView_InsertGroup(hwnd, index, pgrp) SNDMSG((hwnd), LVM_INSERTGROUP, (WPARAM)index, (LPARAM)pgrp)
4509 -
4510 -enum : uint { LVM_SETGROUPINFO = LVM_FIRST + 147 }
4511 -// #define ListView_SetGroupInfo(hwnd, iGroupId, pgrp) SNDMSG((hwnd), LVM_SETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp)
4512 -
4513 -enum : uint { LVM_GETGROUPINFO = LVM_FIRST + 149 }
4514 -// #define ListView_GetGroupInfo(hwnd, iGroupId, pgrp) SNDMSG((hwnd), LVM_GETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp)
4515 -
4516 -enum : uint { LVM_REMOVEGROUP = LVM_FIRST + 150 }
4517 -// #define ListView_RemoveGroup(hwnd, iGroupId) SNDMSG((hwnd), LVM_REMOVEGROUP, (WPARAM)iGroupId, 0)
4518 -
4519 -enum : uint { LVM_MOVEGROUP = LVM_FIRST + 151 }
4520 -// #define ListView_MoveGroup(hwnd, iGroupId, toIndex) SNDMSG((hwnd), LVM_MOVEGROUP, (WPARAM)iGroupId, (LPARAM)toIndex)
4521 -
4522 -enum : uint { LVM_MOVEITEMTOGROUP = LVM_FIRST + 154 }
4523 -// #define ListView_MoveItemToGroup(hwnd, idItemFrom, idGroupTo) SNDMSG((hwnd), LVM_MOVEITEMTOGROUP, (WPARAM)idItemFrom, (LPARAM)idGroupTo)
4524 -
4525 -enum : uint { LVGMF_NONE = 0x00000000 }
4526 -enum : uint { LVGMF_BORDERSIZE = 0x00000001 }
4527 -enum : uint { LVGMF_BORDERCOLOR = 0x00000002 }
4528 -enum : uint { LVGMF_TEXTCOLOR = 0x00000004 }
4529 -
4530 -struct tagLVGROUPMETRICS {
4531 - UINT cbSize;
4532 - UINT mask;
4533 - UINT Left;
4534 - UINT Top;
4535 - UINT Right;
4536 - UINT Bottom;
4537 - COLORREF crLeft;
4538 - COLORREF crTop;
4539 - COLORREF crRight;
4540 - COLORREF crBottom;
4541 - COLORREF crHeader;
4542 - COLORREF crFooter;
4543 -}
4544 -alias tagLVGROUPMETRICS LVGROUPMETRICS;
4545 -alias tagLVGROUPMETRICS* PLVGROUPMETRICS;
4546 -
4547 -enum : uint { LVM_SETGROUPMETRICS = LVM_FIRST + 155 }
4548 -// #define ListView_SetGroupMetrics(hwnd, pGroupMetrics) SNDMSG((hwnd), LVM_SETGROUPMETRICS, 0, (LPARAM)pGroupMetrics)
4549 -
4550 -enum : uint { LVM_GETGROUPMETRICS = LVM_FIRST + 156 }
4551 -// #define ListView_GetGroupMetrics(hwnd, pGroupMetrics) SNDMSG((hwnd), LVM_GETGROUPMETRICS, 0, (LPARAM)pGroupMetrics)
4552 -
4553 -enum : uint { LVM_ENABLEGROUPVIEW = LVM_FIRST + 157 }
4554 -// #define ListView_EnableGroupView(hwnd, fEnable) SNDMSG((hwnd), LVM_ENABLEGROUPVIEW, (WPARAM)fEnable, 0)
4555 -
4556 -extern(Windows) alias int function(int, int, void *) PFNLVGROUPCOMPARE;
4557 -
4558 -enum : uint { LVM_SORTGROUPS = LVM_FIRST + 158 }
4559 -// #define ListView_SortGroups(hwnd, _pfnGroupCompate, _plv) SNDMSG((hwnd), LVM_SORTGROUPS, (WPARAM)_pfnGroupCompate, (LPARAM)_plv)
4560 -
4561 -struct tagLVINSERTGROUPSORTED {
4562 - PFNLVGROUPCOMPARE pfnGroupCompare;
4563 - void *pvData;
4564 - LVGROUP lvGroup;
4565 -}
4566 -alias tagLVINSERTGROUPSORTED LVINSERTGROUPSORTED;
4567 -alias tagLVINSERTGROUPSORTED* PLVINSERTGROUPSORTED;
4568 -
4569 -enum : uint { LVM_INSERTGROUPSORTED = LVM_FIRST + 159 }
4570 -// #define ListView_InsertGroupSorted(hwnd, structInsert) SNDMSG((hwnd), LVM_INSERTGROUPSORTED, (WPARAM)structInsert, 0)
4571 -
4572 -enum : uint { LVM_REMOVEALLGROUPS = LVM_FIRST + 160 }
4573 -// #define ListView_RemoveAllGroups(hwnd) SNDMSG((hwnd), LVM_REMOVEALLGROUPS, 0, 0)
4574 -
4575 -enum : uint { LVM_HASGROUP = LVM_FIRST + 161 }
4576 -// #define ListView_HasGroup(hwnd, dwGroupId) SNDMSG((hwnd), LVM_HASGROUP, dwGroupId, 0)
4577 -
4578 -enum : uint { LVTVIF_AUTOSIZE = 0x00000000 }
4579 -enum : uint { LVTVIF_FIXEDWIDTH = 0x00000001 }
4580 -enum : uint { LVTVIF_FIXEDHEIGHT = 0x00000002 }
4581 -enum : uint { LVTVIF_FIXEDSIZE = 0x00000003 }
4582 -
4583 -enum : uint { LVTVIM_TILESIZE = 0x00000001 }
4584 -enum : uint { LVTVIM_COLUMNS = 0x00000002 }
4585 -enum : uint { LVTVIM_LABELMARGIN = 0x00000004 }
4586 -
4587 -struct tagLVTILEVIEWINFO {
4588 - UINT cbSize;
4589 - DWORD dwMask;
4590 - DWORD dwFlags;
4591 - SIZE sizeTile;
4592 - int cLines;
4593 - RECT rcLabelMargin;
4594 -}
4595 -alias tagLVTILEVIEWINFO LVTILEVIEWINFO;
4596 -alias tagLVTILEVIEWINFO* PLVTILEVIEWINFO;
4597 -
4598 -struct tagLVTILEINFO {
4599 - UINT cbSize;
4600 - int iItem;
4601 - UINT cColumns;
4602 - PUINT puColumns;
4603 -}
4604 -alias tagLVTILEINFO LVTILEINFO;
4605 -alias tagLVTILEINFO* PLVTILEINFO;
4606 -
4607 -enum : uint { LVM_SETTILEVIEWINFO = LVM_FIRST + 162 }
4608 -// #define ListView_SetTileViewInfo(hwnd, ptvi) SNDMSG((hwnd), LVM_SETTILEVIEWINFO, 0, (LPARAM)ptvi)
4609 -
4610 -enum : uint { LVM_GETTILEVIEWINFO = LVM_FIRST + 163 }
4611 -// #define ListView_GetTileViewInfo(hwnd, ptvi) SNDMSG((hwnd), LVM_GETTILEVIEWINFO, 0, (LPARAM)ptvi)
4612 -
4613 -enum : uint { LVM_SETTILEINFO = LVM_FIRST + 164 }
4614 -// #define ListView_SetTileInfo(hwnd, pti) SNDMSG((hwnd), LVM_SETTILEINFO, 0, (LPARAM)pti)
4615 -
4616 -enum : uint { LVM_GETTILEINFO = LVM_FIRST + 165 }
4617 -// #define ListView_GetTileInfo(hwnd, pti) SNDMSG((hwnd), LVM_GETTILEINFO, 0, (LPARAM)pti)
4618 -
4619 -struct _8 {
4620 - UINT cbSize;
4621 - DWORD dwFlags;
4622 - int iItem;
4623 - DWORD dwReserved;
4624 -}
4625 -alias _8 LVINSERTMARK;
4626 -alias _8* LPLVINSERTMARK;
4627 -
4628 -enum : uint { LVIM_AFTER = 0x00000001 }
4629 -
4630 -enum : uint { LVM_SETINSERTMARK = LVM_FIRST + 166 }
4631 -// #define ListView_SetInsertMark(hwnd, lvim) (BOOL)SNDMSG((hwnd), LVM_SETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim))
4632 -
4633 -enum : uint { LVM_GETINSERTMARK = LVM_FIRST + 167 }
4634 -// #define ListView_GetInsertMark(hwnd, lvim) (BOOL)SNDMSG((hwnd), LVM_GETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim))
4635 -
4636 -enum : uint { LVM_INSERTMARKHITTEST = LVM_FIRST + 168 }
4637 -// #define ListView_InsertMarkHitTest(hwnd, point, lvim) (int)SNDMSG((hwnd), LVM_INSERTMARKHITTEST, (WPARAM)(LPPOINT)(point), (LPARAM)(LPLVINSERTMARK)(lvim))
4638 -
4639 -enum : uint { LVM_GETINSERTMARKRECT = LVM_FIRST + 169 }
4640 -// #define ListView_GetInsertMarkRect(hwnd, rc) (int)SNDMSG((hwnd), LVM_GETINSERTMARKRECT, (WPARAM)0, (LPARAM)(LPRECT)(rc))
4641 -
4642 -enum : uint { LVM_SETINSERTMARKCOLOR = LVM_FIRST + 170 }
4643 -// #define ListView_SetInsertMarkColor(hwnd, color) (COLORREF)SNDMSG((hwnd), LVM_SETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color))
4644 -
4645 -enum : uint { LVM_GETINSERTMARKCOLOR = LVM_FIRST + 171 }
4646 -// #define ListView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)0)
4647 -
4648 -struct tagLVSETINFOTIP {
4649 - UINT cbSize;
4650 - DWORD dwFlags;
4651 - LPWSTR pszText;
4652 - int iItem;
4653 - int iSubItem;
4654 -}
4655 -alias tagLVSETINFOTIP LVSETINFOTIP;
4656 -alias tagLVSETINFOTIP* PLVSETINFOTIP;
4657 -
4658 -enum : uint { LVM_SETINFOTIP = LVM_FIRST + 173 }
4659 -
4660 -// #define ListView_SetInfoTip(hwndLV, plvInfoTip) (BOOL)SNDMSG((hwndLV), LVM_SETINFOTIP, (WPARAM)0, (LPARAM)plvInfoTip)
4661 -
4662 -enum : uint { LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174 }
4663 -// #define ListView_GetSelectedColumn(hwnd) (UINT)SNDMSG((hwnd), LVM_GETSELECTEDCOLUMN, 0, 0)
4664 -
4665 -enum : uint { LVM_ISGROUPVIEWENABLED = LVM_FIRST + 175 }
4666 -// #define ListView_IsGroupViewEnabled(hwnd) (BOOL)SNDMSG((hwnd), LVM_ISGROUPVIEWENABLED, 0, 0)
4667 -
4668 -enum : uint { LVM_GETOUTLINECOLOR = LVM_FIRST + 176 }
4669 -// #define ListView_GetOutlineColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETOUTLINECOLOR, 0, 0)
4670 -
4671 -enum : uint { LVM_SETOUTLINECOLOR = LVM_FIRST + 177 }
4672 -// #define ListView_SetOutlineColor(hwnd, color) (COLORREF)SNDMSG((hwnd), LVM_SETOUTLINECOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color))
4673 -
4674 -enum : uint { LVM_CANCELEDITLABEL = LVM_FIRST + 179 }
4675 -// #define ListView_CancelEditLabel(hwnd) (VOID)SNDMSG((hwnd), LVM_CANCELEDITLABEL, (WPARAM)0, (LPARAM)0)
4676 -
4677 -enum : uint { LVM_MAPINDEXTOID = LVM_FIRST + 180 }
4678 -// #define ListView_MapIndexToID(hwnd, index) (UINT)SNDMSG((hwnd), LVM_MAPINDEXTOID, (WPARAM)index, (LPARAM)0)
4679 -
4680 -enum : uint { LVM_MAPIDTOINDEX = LVM_FIRST + 181 }
4681 -// #define ListView_MapIDToIndex(hwnd, id) (UINT)SNDMSG((hwnd), LVM_MAPIDTOINDEX, (WPARAM)id, (LPARAM)0)
4682 -
4683 -// #endif
4684 -
4685 -// #ifdef UNICODE
4686 -alias LVBKIMAGEW LVBKIMAGE;
4687 -alias LPLVBKIMAGEW LPLVBKIMAGE;
4688 -alias LVM_SETBKIMAGEW LVM_SETBKIMAGE;
4689 -alias LVM_GETBKIMAGEW LVM_GETBKIMAGE;
4690 -// #else
4691 -// #...
4692 -// #...
4693 -// #...
4694 -// #...
4695 -// #endif
4696 -
4697 -// #define ListView_SetBkImage(hwnd, plvbki) (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki))
4698 -
4699 -// #define ListView_GetBkImage(hwnd, plvbki) (BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki))
4700 -
4701 -// #endif // _WIN32_IE >= 0x0400
4702 -
4703 -// #if (_WIN32_IE >= 0x0300)
4704 -alias LPNMLISTVIEW LPNM_LISTVIEW;
4705 -alias NMLISTVIEW NM_LISTVIEW;
4706 -// #else
4707 -// #...
4708 -// #...
4709 -// #...
4710 -// #endif
4711 -
4712 -struct tagNMLISTVIEW {
4713 - NMHDR hdr;
4714 - int iItem;
4715 - int iSubItem;
4716 - UINT uNewState;
4717 - UINT uOldState;
4718 - UINT uChanged;
4719 - POINT ptAction;
4720 - LPARAM lParam;
4721 -}
4722 -alias tagNMLISTVIEW NMLISTVIEW;
4723 -alias tagNMLISTVIEW* LPNMLISTVIEW;
4724 -
4725 -// #if (_WIN32_IE >= 0x400)
4726 -
4727 -struct tagNMITEMACTIVATE {
4728 - NMHDR hdr;
4729 - int iItem;
4730 - int iSubItem;
4731 - UINT uNewState;
4732 - UINT uOldState;
4733 - UINT uChanged;
4734 - POINT ptAction;
4735 - LPARAM lParam;
4736 - UINT uKeyFlags;
4737 -}
4738 -alias tagNMITEMACTIVATE NMITEMACTIVATE;
4739 -alias tagNMITEMACTIVATE* LPNMITEMACTIVATE;
4740 -
4741 -enum : uint { LVKF_ALT = 0x0001 }
4742 -enum : uint { LVKF_CONTROL = 0x0002 }
4743 -enum : uint { LVKF_SHIFT = 0x0004 }
4744 -// #endif //(_WIN32_IE >= 0x0400)
4745 -
4746 -// #if (_WIN32_IE >= 0x0300)
4747 -// #define NMLVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMLVCUSTOMDRW, clrTextBk)
4748 -
4749 -struct tagNMLVCUSTOMDRAW {
4750 - NMCUSTOMDRAW nmcd;
4751 - COLORREF clrText;
4752 - COLORREF clrTextBk;
4753 -// #if (_WIN32_IE >= 0x0400)
4754 - int iSubItem;
4755 -// #endif
4756 -// #if (_WIN32_WINNT >= 0x501)
4757 - DWORD dwItemType;
4758 - COLORREF clrFace;
4759 - int iIconEffect;
4760 - int iIconPhase;
4761 - int iPartId;
4762 - int iStateId;
4763 - RECT rcText;
4764 - UINT uAlign;
4765 -// #endif
4766 -}
4767 -alias tagNMLVCUSTOMDRAW NMLVCUSTOMDRAW;
4768 -alias tagNMLVCUSTOMDRAW* LPNMLVCUSTOMDRAW;
4769 -
4770 -enum : uint { LVCDI_ITEM = 0x00000000 }
4771 -enum : uint { LVCDI_GROUP = 0x00000001 }
4772 -
4773 -enum : uint { LVCDRF_NOSELECT = 0x00010000 }
4774 -enum : uint { LVCDRF_NOGROUPFRAME = 0x00020000 }
4775 -
4776 -struct tagNMLVCACHEHINT {
4777 - NMHDR hdr;
4778 - int iFrom;
4779 - int iTo;
4780 -}
4781 -alias tagNMLVCACHEHINT NMLVCACHEHINT;
4782 -alias tagNMLVCACHEHINT* LPNMLVCACHEHINT;
4783 -
4784 -alias LPNMLVCACHEHINT LPNM_CACHEHINT;
4785 -alias LPNMLVCACHEHINT PNM_CACHEHINT;
3450 +
3451 +static if (_WIN32_WINNT >= 0x501) {
3452 + /* SG: The definitions in this static if block are from the MSDN docs.
3453 + * They are not in MinGW, but nonetheless required for macros that are.
3454 + */
3455 + struct LVGROUP {
3456 + UINT cbSize = LVGROUP.sizeof;
3457 + UINT mask;
3458 + LPWSTR pszHeader;
3459 + int cchHeader;
3460 + LPWSTR pszFooter;
3461 + int cchFooter;
3462 + int iGroupId;
3463 + UINT stateMask;
3464 + UINT state;
3465 + UINT uAlign;
3466 + static if (_WIN32_WINNT >= 0x600) {
3467 + LPWSTR pszSubtitle;
3468 + UINT cchSubtitle;
3469 + LPWSTR pszTask;
3470 + UINT cchTask;
3471 + LPWSTR pszDescriptionTop;
3472 + UINT cchDescriptionTop;
3473 + LPWSTR pszDescriptionBottom;
3474 + UINT cchDescriptionBottom;
3475 + int iTitleImage;
3476 + int iExtendedImage;
3477 + int iFirstItem; // Read only
3478 + UINT cItems; // Read only
3479 + LPWSTR pszSubsetTitle; // NULL if group is not subset
3480 + UINT cchSubsetTitle;
3481 + }
3482 + }
3483 + alias LVGROUP* PLVGROUP;
3484 +
3485 + struct LVGROUPMETRICS {
3486 + UINT cbSize = LVGROUPMETRICS.sizeof;
3487 + UINT mask;
3488 + UINT Left;
3489 + UINT Top;
3490 + UINT Right;
3491 + UINT Bottom;
3492 + COLORREF crLeft;
3493 + COLORREF crTop;
3494 + COLORREF crRight;
3495 + COLORREF crBottom;
3496 + COLORREF crHeader;
3497 + COLORREF crFooter;
3498 + }
3499 + alias LVGROUPMETRICS* PLVGROUPMETRICS;
3500 +
3501 + struct LVINSERTMARK {
3502 + UINT cbSize = LVINSERTMARK.sizeof;
3503 + DWORD dwFlags;
3504 + int iItem;
3505 + DWORD dwReserved;
3506 + }
3507 + alias LVINSERTMARK* PLVINSERTMARK;
3508 +
3509 + struct LVTILEINFO {
3510 + UINT cbSize = LVTILEINFO.sizeof;
3511 + int iItem;
3512 + UINT cColumns;
3513 + PUINT puColumns;
3514 + static if (_WIN32_WINNT >= 0x600) {
3515 + int* piColFmt;
3516 + }
3517 + }
3518 + alias LVTILEINFO* PLVTILEINFO;
3519 +
3520 + struct LVTILEVIEWINFO {
3521 + UINT cbSize = LVTILEVIEWINFO.sizeof;
3522 + DWORD dwMask;
3523 + DWORD dwFlags;
3524 + SIZE sizeTile;
3525 + int cLines;
3526 + RECT rcLabelMargin;
3527 + }
3528 + alias LVTILEVIEWINFO* PLVTILEVIEWINFO;
3529 +
3530 + struct LVINSERTGROUPSORTED {
3531 + PFNLVGROUPCOMPARE pfnGroupCompare;
3532 + LPVOID* pvData;
3533 + LVGROUP lvGroup;
3534 + }
3535 + alias LVINSERTGROUPSORTED* PLVINSERTGROUPSORTED;
3536 +
3537 + alias int function(INT, INT, VOID*) PFNLVGROUPCOMPARE;
3538 +
3539 + struct LVSETINFOTIP {
3540 + UINT cbSize = LVSETINFOTIP.sizeof;
3541 + DWORD dwFlags;
3542 + LPWSTR pszText;
3543 + int iItem;
3544 + int iSubItem;
3545 + HBITMAP hbmp;
3546 + }
3547 + alias LVSETINFOTIP* PLVSETINFOTIP;
3548 +}
3549 +
3550 +alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE;
3551 +
3552 +struct NMLISTVIEW {
3553 + NMHDR hdr;
3554 + int iItem;
3555 + int iSubItem;
3556 + UINT uNewState;
3557 + UINT uOldState;
3558 + UINT uChanged;
3559 + POINT ptAction;
3560 + LPARAM lParam;
3561 +}
3562 +alias NMLISTVIEW* LPNMLISTVIEW;
3563 +
3564 +deprecated {
3565 + alias NMLISTVIEW NM_LISTVIEW;
3566 + alias LPNMLISTVIEW LPNM_LISTVIEW;
3567 +}
3568 +
3569 +struct NMLVDISPINFOA {
3570 + NMHDR hdr;
3571 + LV_ITEMA item;
3572 +}
3573 +alias NMLVDISPINFOA* LPNMLVDISPINFOA;
3574 +alias NMLVDISPINFOA LV_DISPINFOA;
3575 +
3576 +struct NMLVDISPINFOW {
3577 + NMHDR hdr;
3578 + LV_ITEMW item;
3579 +}
3580 +alias NMLVDISPINFOW* LPNMLVDISPINFOW;
3581 +alias NMLVDISPINFOW LV_DISPINFOW;
3582 +
3583 +struct LV_KEYDOWN {
3584 + NMHDR hdr;
3585 + WORD wVKey;
3586 + UINT flags;
3587 +}
3588 +
3589 +struct NMLVCACHEHINT {
3590 + NMHDR hdr;
3591 + int iFrom;
3592 + int iTo;
3593 +}
3594 +alias NMLVCACHEHINT* LPNMLVCACHEHINT, PNM_CACHEHINT, LPNM_CACHEHINT;
4786 3595 alias NMLVCACHEHINT NM_CACHEHINT;
4787 3596
4788 -struct tagNMLVFINDITEMA {
4789 - NMHDR hdr;
4790 - int iStart;
4791 - LVFINDINFOA lvfi;
4792 -}
4793 -alias tagNMLVFINDITEMA NMLVFINDITEMA;
4794 -alias tagNMLVFINDITEMA* LPNMLVFINDITEMA;
4795 -
4796 -struct tagNMLVFINDITEMW {
4797 - NMHDR hdr;
4798 - int iStart;
4799 - LVFINDINFOW lvfi;
4800 -}
4801 -alias tagNMLVFINDITEMW NMLVFINDITEMW;
4802 -alias tagNMLVFINDITEMW* LPNMLVFINDITEMW;
4803 -
4804 -alias LPNMLVFINDITEMA PNM_FINDITEMA;
4805 -alias LPNMLVFINDITEMA LPNM_FINDITEMA;
4806 -alias NMLVFINDITEMA NM_FINDITEMA;
4807 -
4808 -alias LPNMLVFINDITEMW PNM_FINDITEMW;
4809 -alias LPNMLVFINDITEMW LPNM_FINDITEMW;
4810 -alias NMLVFINDITEMW NM_FINDITEMW;
4811 -
4812 -// #ifdef UNICODE
4813 -alias PNM_FINDITEMW PNM_FINDITEM;
4814 -alias LPNM_FINDITEMW LPNM_FINDITEM;
4815 -alias NM_FINDITEMW NM_FINDITEM;
4816 -alias NMLVFINDITEMW NMLVFINDITEM;
4817 -alias LPNMLVFINDITEMW LPNMLVFINDITEM;
4818 -// #else
4819 -// #...
4820 -// #...
4821 -// #...
4822 -// #...
4823 -// #...
4824 -// #endif
4825 -
4826 -struct tagNMLVODSTATECHANGE {
4827 - NMHDR hdr;
4828 - int iFrom;
4829 - int iTo;
4830 - UINT uNewState;
4831 - UINT uOldState;
4832 -}
4833 -alias tagNMLVODSTATECHANGE NMLVODSTATECHANGE;
4834 -alias tagNMLVODSTATECHANGE* LPNMLVODSTATECHANGE;
4835 -
4836 -alias LPNMLVODSTATECHANGE PNM_ODSTATECHANGE;
4837 -alias LPNMLVODSTATECHANGE LPNM_ODSTATECHANGE;
4838 -alias NMLVODSTATECHANGE NM_ODSTATECHANGE;
4839 -// #endif // _WIN32_IE >= 0x0300
4840 -
4841 -enum : uint { LVN_ITEMCHANGING = LVN_FIRST-0 }
4842 -enum : uint { LVN_ITEMCHANGED = LVN_FIRST-1 }
4843 -enum : uint { LVN_INSERTITEM = LVN_FIRST-2 }
4844 -enum : uint { LVN_DELETEITEM = LVN_FIRST-3 }
4845 -enum : uint { LVN_DELETEALLITEMS = LVN_FIRST-4 }
4846 -enum : uint { LVN_BEGINLABELEDITA = LVN_FIRST-5 }
4847 -enum : uint { LVN_BEGINLABELEDITW = LVN_FIRST-75 }
4848 -enum : uint { LVN_ENDLABELEDITA = LVN_FIRST-6 }
4849 -enum : uint { LVN_ENDLABELEDITW = LVN_FIRST-76 }
4850 -enum : uint { LVN_COLUMNCLICK = LVN_FIRST-8 }
4851 -enum : uint { LVN_BEGINDRAG = LVN_FIRST-9 }
4852 -enum : uint { LVN_BEGINRDRAG = LVN_FIRST-11 }
4853 -
4854 -// #if (_WIN32_IE >= 0x0300)
4855 -enum : uint { LVN_ODCACHEHINT = LVN_FIRST-13 }
4856 -enum : uint { LVN_ODFINDITEMA = LVN_FIRST-52 }
4857 -enum : uint { LVN_ODFINDITEMW = LVN_FIRST-79 }
4858 -
4859 -enum : uint { LVN_ITEMACTIVATE = LVN_FIRST-14 }
4860 -enum : uint { LVN_ODSTATECHANGED = LVN_FIRST-15 }
4861 -
4862 -// #ifdef UNICODE
4863 -alias LVN_ODFINDITEMW LVN_ODFINDITEM;
4864 -// #else
4865 -// #...
4866 -// #endif
4867 -// #endif // _WIN32_IE >= 0x0300
4868 -
4869 -// #if (_WIN32_IE >= 0x0400)
4870 -enum : uint { LVN_HOTTRACK = LVN_FIRST-21 }
4871 -// #endif
4872 -
4873 -enum : uint { LVN_GETDISPINFOA = LVN_FIRST-50 }
4874 -enum : uint { LVN_GETDISPINFOW = LVN_FIRST-77 }
4875 -enum : uint { LVN_SETDISPINFOA = LVN_FIRST-51 }
4876 -enum : uint { LVN_SETDISPINFOW = LVN_FIRST-78 }
4877 -
4878 -// #ifdef UNICODE
4879 -alias LVN_BEGINLABELEDITW LVN_BEGINLABELEDIT;
4880 -alias LVN_ENDLABELEDITW LVN_ENDLABELEDIT;
4881 -alias LVN_GETDISPINFOW LVN_GETDISPINFO;
4882 -alias LVN_SETDISPINFOW LVN_SETDISPINFO;
4883 -// #else
4884 -// #...
4885 -// #...
4886 -// #...
4887 -// #...
4888 -// #endif
4889 -
4890 -enum : uint { LVIF_DI_SETITEM = 0x1000 }
4891 -
4892 -// #if (_WIN32_IE >= 0x0300)
4893 -alias NMLVDISPINFOA LV_DISPINFOA;
4894 -alias NMLVDISPINFOW LV_DISPINFOW;
4895 -// #else
4896 -// #...
4897 -// #...
4898 -// #...
4899 -// #...
4900 -// #endif
4901 -
4902 -alias NMLVDISPINFO LV_DISPINFO;
4903 -
4904 -struct tagLVDISPINFO {
4905 - NMHDR hdr;
4906 - LVITEMA item;
4907 -}
4908 -alias tagLVDISPINFO NMLVDISPINFOA;
4909 -alias tagLVDISPINFO* LPNMLVDISPINFOA;
4910 -
4911 -struct tagLVDISPINFOW {
4912 - NMHDR hdr;
4913 - LVITEMW item;
4914 -}
4915 -alias tagLVDISPINFOW NMLVDISPINFOW;
4916 -alias tagLVDISPINFOW* LPNMLVDISPINFOW;
4917 -
4918 -// #ifdef UNICODE
4919 -alias NMLVDISPINFOW NMLVDISPINFO;
4920 -// #else
4921 -// #...
4922 -// #endif
4923 -
4924 -enum : uint { LVN_KEYDOWN = LVN_FIRST-55 }
4925 -
4926 -// #if (_WIN32_IE >= 0x0300)
4927 -alias NMLVKEYDOWN LV_KEYDOWN;
4928 -// #else
4929 -// #...
4930 -// #...
4931 -// #endif
4932 -
4933 -// #ifdef _WIN32
4934 -align(1):
4935 -// #endif
4936 -
4937 -struct tagLVKEYDOWN {
4938 - NMHDR hdr;
4939 - WORD wVKey;
4940 - UINT flags;
4941 -}
4942 -alias tagLVKEYDOWN NMLVKEYDOWN;
4943 -alias tagLVKEYDOWN* LPNMLVKEYDOWN;
4944 -
4945 -// #ifdef _WIN32
4946 -align:
4947 -// #endif
4948 -
4949 -// #if (_WIN32_IE >= 0x0300)
4950 -enum : uint { LVN_MARQUEEBEGIN = LVN_FIRST-56 }
4951 -// #endif
4952 -
4953 -// #if (_WIN32_IE >= 0x0400)
4954 -struct tagNMLVGETINFOTIPA {
4955 - NMHDR hdr;
4956 - DWORD dwFlags;
4957 - LPSTR pszText;
4958 - int cchTextMax;
4959 - int iItem;
4960 - int iSubItem;
4961 - LPARAM lParam;
4962 -}
4963 -alias tagNMLVGETINFOTIPA NMLVGETINFOTIPA;
4964 -alias tagNMLVGETINFOTIPA* LPNMLVGETINFOTIPA;
4965 -
4966 -struct tagNMLVGETINFOTIPW {
4967 - NMHDR hdr;
4968 - DWORD dwFlags;
4969 - LPWSTR pszText;
4970 - int cchTextMax;
4971 - int iItem;
4972 - int iSubItem;
4973 - LPARAM lParam;
4974 -}
4975 -alias tagNMLVGETINFOTIPW NMLVGETINFOTIPW;
4976 -alias tagNMLVGETINFOTIPW* LPNMLVGETINFOTIPW;
4977 -
4978 -enum : uint { LVGIT_UNFOLDED = 0x0001 }
4979 -
4980 -enum : uint { LVN_GETINFOTIPA = LVN_FIRST-57 }
4981 -enum : uint { LVN_GETINFOTIPW = LVN_FIRST-58 }
4982 -
4983 -// #ifdef UNICODE
4984 -alias LVN_GETINFOTIPW LVN_GETINFOTIP;
4985 -alias NMLVGETINFOTIPW NMLVGETINFOTIP;
4986 -alias LPNMLVGETINFOTIPW LPNMLVGETINFOTIP;
4987 -// #else
4988 -// #...
4989 -// #...
4990 -// #...
4991 -// #endif
4992 -
4993 -// #endif // _WIN32_IE >= 0x0400
4994 -
4995 -// #if (_WIN32_WINNT >= 0x501)
4996 -struct tagNMLVSCROLL {
4997 - NMHDR hdr;
4998 - int dx;
4999 - int dy;
5000 -}
5001 -alias tagNMLVSCROLL NMLVSCROLL;
5002 -alias tagNMLVSCROLL* LPNMLVSCROLL;
5003 -
5004 -enum : uint { LVN_BEGINSCROLL = LVN_FIRST-80 }
5005 -enum : uint { LVN_ENDSCROLL = LVN_FIRST-81 }
5006 -// #endif
5007 -
5008 -// #endif // NOLISTVIEW
5009 -
5010 -// #ifndef NOTREEVIEW
5011 -
5012 -// #ifdef _WIN32
5013 -const char[] WC_TREEVIEWA = "SysTreeView32";
5014 -const wchar[] WC_TREEVIEWW = "SysTreeView32";
5015 -
5016 -// #ifdef UNICODE
5017 -alias WC_TREEVIEWW WC_TREEVIEW;
5018 -// #else
5019 -// #...
5020 -// #endif
5021 -
5022 -// #else
5023 -// #...
5024 -// #endif
5025 -
5026 -enum : uint { TVS_HASBUTTONS = 0x0001 }
5027 -enum : uint { TVS_HASLINES = 0x0002 }
5028 -enum : uint { TVS_LINESATROOT = 0x0004 }
5029 -enum : uint { TVS_EDITLABELS = 0x0008 }
5030 -enum : uint { TVS_DISABLEDRAGDROP = 0x0010 }
5031 -enum : uint { TVS_SHOWSELALWAYS = 0x0020 }
5032 -// #if (_WIN32_IE >= 0x0300)
5033 -enum : uint { TVS_RTLREADING = 0x0040 }
5034 -
5035 -enum : uint { TVS_NOTOOLTIPS = 0x0080 }
5036 -enum : uint { TVS_CHECKBOXES = 0x0100 }
5037 -enum : uint { TVS_TRACKSELECT = 0x0200 }
5038 -// #if (_WIN32_IE >= 0x0400)
5039 -enum : uint { TVS_SINGLEEXPAND = 0x0400 }
5040 -enum : uint { TVS_INFOTIP = 0x0800 }
5041 -enum : uint { TVS_FULLROWSELECT = 0x1000 }
5042 -enum : uint { TVS_NOSCROLL = 0x2000 }
5043 -enum : uint { TVS_NONEVENHEIGHT = 0x4000 }
5044 -// #endif
5045 -// #if (_WIN32_IE >= 0x500)
5046 -enum : uint { TVS_NOHSCROLL = 0x8000 }
5047 -// #endif
5048 -// #endif
5049 -
5050 -alias _TREEITEM* HTREEITEM;
5051 -
5052 -enum : uint { TVIF_TEXT = 0x0001 }
5053 -enum : uint { TVIF_IMAGE = 0x0002 }
5054 -enum : uint { TVIF_PARAM = 0x0004 }
5055 -enum : uint { TVIF_STATE = 0x0008 }
5056 -enum : uint { TVIF_HANDLE = 0x0010 }
5057 -enum : uint { TVIF_SELECTEDIMAGE = 0x0020 }
5058 -enum : uint { TVIF_CHILDREN = 0x0040 }
5059 -// #if (_WIN32_IE >= 0x0400)
5060 -enum : uint { TVIF_INTEGRAL = 0x0080 }
5061 -// #endif
5062 -enum : uint { TVIS_SELECTED = 0x0002 }
5063 -enum : uint { TVIS_CUT = 0x0004 }
5064 -enum : uint { TVIS_DROPHILITED = 0x0008 }
5065 -enum : uint { TVIS_BOLD = 0x0010 }
5066 -enum : uint { TVIS_EXPANDED = 0x0020 }
5067 -enum : uint { TVIS_EXPANDEDONCE = 0x0040 }
5068 -// #if (_WIN32_IE >= 0x0300)
5069 -enum : uint { TVIS_EXPANDPARTIAL = 0x0080 }
5070 -// #endif
5071 -
5072 -enum : uint { TVIS_OVERLAYMASK = 0x0F00 }
5073 -enum : uint { TVIS_STATEIMAGEMASK = 0xF000 }
5074 -enum : uint { TVIS_USERMASK = 0xF000 }
5075 -
5076 -enum { I_CHILDRENCALLBACK = -1 }
5077 -
5078 -// #if (_WIN32_IE >= 0x0300)
5079 -alias LPTVITEMW LPTV_ITEMW;
5080 -alias LPTVITEMA LPTV_ITEMA;
3597 +struct TVITEMA {
3598 + UINT mask;
3599 + HTREEITEM hItem;
3600 + UINT state;
3601 + UINT stateMask;
3602 + LPSTR pszText;
3603 + int cchTextMax;
3604 + int iImage;
3605 + int iSelectedImage;
3606 + int cChildren;
3607 + LPARAM lParam;
3608 +}
3609 +alias TVITEMA* LPTVITEMA, LPTV_ITEMA;
3610 +alias TVITEMA TV_ITEMA;
3611 +
3612 +struct TVITEMW {
3613 + UINT mask;
3614 + HTREEITEM hItem;
3615 + UINT state;
3616 + UINT stateMask;
3617 + LPWSTR pszText;
3618 + int cchTextMax;
3619 + int iImage;
3620 + int iSelectedImage;
3621 + int cChildren;
3622 + LPARAM lParam;
3623 +}
3624 +alias TVITEMW* LPTVITEMW, LPTV_ITEMW;
5081 3625 alias TVITEMW TV_ITEMW;
5082 -alias TVITEMA TV_ITEMA;
5083 -// #else
5084 -// #...
5085 -// #...
5086 -// #...
5087 -// #...
5088 -// #...
5089 -// #...
5090 -// #endif
5091 -
5092 -alias LPTVITEM LPTV_ITEM;
5093 -alias TVITEM TV_ITEM;
5094 -
5095 -struct tagTVITEMA {
5096 - UINT mask;
5097 - HTREEITEM hItem;
5098 - UINT state;
5099 - UINT stateMask;
5100 - LPSTR pszText;
5101 - int cchTextMax;
5102 - int iImage;
5103 - int iSelectedImage;
5104 - int cChildren;
5105 - LPARAM lParam;
5106 -}
5107 -alias tagTVITEMA TVITEMA;
5108 -alias tagTVITEMA* LPTVITEMA;
5109 -
5110 -struct tagTVITEMW {
5111 - UINT mask;
5112 - HTREEITEM hItem;
5113 - UINT state;
5114 - UINT stateMask;
5115 - LPWSTR pszText;
5116 - int cchTextMax;
5117 - int iImage;
5118 - int iSelectedImage;
5119 - int cChildren;
5120 - LPARAM lParam;
5121 -}
5122 -alias tagTVITEMW TVITEMW;
5123 -alias tagTVITEMW* LPTVITEMW;
5124 -
5125 -// #if (_WIN32_IE >= 0x0400)
5126 -
5127 -struct tagTVITEMEXA {
5128 - UINT mask;
5129 - HTREEITEM hItem;
5130 - UINT state;
5131 - UINT stateMask;
5132 - LPSTR pszText;
5133 - int cchTextMax;
5134 - int iImage;
5135 - int iSelectedImage;
5136 - int cChildren;
5137 - LPARAM lParam;
5138 - int iIntegral;
5139 -}
5140 -alias tagTVITEMEXA TVITEMEXA;
5141 -alias tagTVITEMEXA* LPTVITEMEXA;
5142 -
5143 -struct tagTVITEMEXW {
5144 - UINT mask;
5145 - HTREEITEM hItem;
5146 - UINT state;
5147 - UINT stateMask;
5148 - LPWSTR pszText;
5149 - int cchTextMax;
5150 - int iImage;
5151 - int iSelectedImage;
5152 - int cChildren;
5153 - LPARAM lParam;
5154 - int iIntegral;
5155 -}
5156 -alias tagTVITEMEXW TVITEMEXW;
5157 -alias tagTVITEMEXW* LPTVITEMEXW;
5158 -
5159 -// #ifdef UNICODE
5160 -alias TVITEMEXW TVITEMEX;
5161 -alias LPTVITEMEXW LPTVITEMEX;
5162 -// #else
5163 -// ...
5164 -// #endif // UNICODE
5165 -
5166 -// #endif
5167 -
5168 -// #ifdef UNICODE
5169 -alias TVITEMW TVITEM;
5170 -alias LPTVITEMW LPTVITEM;
5171 -// #else
5172 -// #...
5173 -// #...
5174 -// #endif
5175 -
5176 -const HTREEITEM TVI_ROOT = cast(HTREEITEM)(-0x10000);
5177 -const HTREEITEM TVI_FIRST = cast(HTREEITEM)(-0x0FFFF);
5178 -const HTREEITEM TVI_LAST = cast(HTREEITEM)(-0x0FFFE);
5179 -const HTREEITEM TVI_SORT = cast(HTREEITEM)(-0x0FFFD);
5180 -
5181 -// #if (_WIN32_IE >= 0x0300)
5182 -alias LPTVINSERTSTRUCTA LPTV_INSERTSTRUCTA;
5183 -alias LPTVINSERTSTRUCTW LPTV_INSERTSTRUCTW;
3626 +
3627 +static if (_WIN32_IE >= 0x400) {
3628 + struct TVITEMEXA {
3629 + UINT mask;
3630 + HTREEITEM hItem;
3631 + UINT state;
3632 + UINT stateMask;
3633 + LPSTR pszText;
3634 + int cchTextMax;
3635 + int iImage;
3636 + int iSelectedImage;
3637 + int cChildren;
3638 + LPARAM lParam;
3639 + int iIntegral;
3640 + }
3641 + alias TVITEMEXA* LPTVITEMEXA;
3642 +
3643 + struct TVITEMEXW {
3644 + UINT mask;
3645 + HTREEITEM hItem;
3646 + UINT state;
3647 + UINT stateMask;
3648 + LPWSTR pszText;
3649 + int cchTextMax;
3650 + int iImage;
3651 + int iSelectedImage;
3652 + int cChildren;
3653 + LPARAM lParam;
3654 + int iIntegral;
3655 + }
3656 + alias TVITEMEXW* LPTVITEMEXW;
3657 +}
3658 +
3659 +static if (_WIN32_IE >= 0x400) {
3660 + struct TVINSERTSTRUCTA {
3661 + HTREEITEM hParent;
3662 + HTREEITEM hInsertAfter;
3663 + union {
3664 + TVITEMEXA itemex;
3665 + TV_ITEMA item;
3666 + }
3667 + }
3668 +
3669 + struct TVINSERTSTRUCTW {
3670 + HTREEITEM hParent;
3671 + HTREEITEM hInsertAfter;
3672 + union {
3673 + TVITEMEXW itemex;
3674 + TV_ITEMW item;
3675 + }
3676 + }
3677 +} else {
3678 + struct TVINSERTSTRUCTA {
3679 + HTREEITEM hParent;
3680 + HTREEITEM hInsertAfter;
3681 + TV_ITEMA item;
3682 + }
3683 +
3684 + struct TVINSERTSTRUCTW {
3685 + HTREEITEM hParent;
3686 + HTREEITEM hInsertAfter;
3687 + TV_ITEMW item;
3688 + }
3689 +}
3690 +alias TVINSERTSTRUCTA* LPTVINSERTSTRUCTA, LPTV_INSERTSTRUCTA;
5184 3691 alias TVINSERTSTRUCTA TV_INSERTSTRUCTA;
3692 +alias TVINSERTSTRUCTW* LPTVINSERTSTRUCTW, LPTV_INSERTSTRUCTW;
5185 3693 alias TVINSERTSTRUCTW TV_INSERTSTRUCTW;
5186 -// #else
5187 -// #...
5188 -// #...
5189 -// #...
5190 -// #...
5191 -// #...
5192 -// #...
5193 -// #endif
5194 -
5195 -alias TVINSERTSTRUCT TV_INSERTSTRUCT;
5196 -alias LPTVINSERTSTRUCT LPTV_INSERTSTRUCT;
5197 -
5198 -// #define TVINSERTSTRUCTA_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTA, item)
5199 -// #define TVINSERTSTRUCTW_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTW, item)
5200 -
5201 -struct tagTVINSERTSTRUCTA {
5202 - HTREEITEM hParent;
5203 - HTREEITEM hInsertAfter;
5204 -// #if (_WIN32_IE >= 0x0400)
5205 -union {
5206 - TVITEMEXA itemex;
5207 - TV_ITEMA item;
5208 -}
5209 -
5210 -// #else
5211 -// ...
5212 -// #endif
5213 -}
5214 -alias tagTVINSERTSTRUCTA TVINSERTSTRUCTA;
5215 -alias tagTVINSERTSTRUCTA* LPTVINSERTSTRUCTA;
5216 -
5217 -struct tagTVINSERTSTRUCTW {
5218 - HTREEITEM hParent;
5219 - HTREEITEM hInsertAfter;
5220 -// #if (_WIN32_IE >= 0x0400)
5221 -union {
5222 - TVITEMEXW itemex;
5223 - TV_ITEMW item;
5224 -}
5225 -
5226 -// #else
5227 -// ...
5228 -// #endif
5229 -}
5230 -alias tagTVINSERTSTRUCTW TVINSERTSTRUCTW;
5231 -alias tagTVINSERTSTRUCTW* LPTVINSERTSTRUCTW;
5232 -
5233 -// #ifdef UNICODE
5234 -alias TVINSERTSTRUCTW TVINSERTSTRUCT;
5235 -alias LPTVINSERTSTRUCTW LPTVINSERTSTRUCT;
5236 -// #define TVINSERTSTRUCT_V1_SIZE TVINSERTSTRUCTW_V1_SIZE
5237 -// #else
5238 -// #...
5239 -// #...
5240 -// #...
5241 -// #endif
5242 -
5243 -enum : uint { TVM_INSERTITEMA = TV_FIRST + 0 }
5244 -enum : uint { TVM_INSERTITEMW = TV_FIRST + 50 }
5245 -// #ifdef UNICODE
5246 -alias TVM_INSERTITEMW TVM_INSERTITEM;
5247 -// #else
5248 -// #...
5249 -// #endif
5250 -
5251 -// #define TreeView_InsertItem(hwnd, lpis) (HTREEITEM)SNDMSG((hwnd), TVM_INSERTITEM, 0, (LPARAM)(LPTV_INSERTSTRUCT)(lpis))
5252 -
5253 -enum : uint { TVM_DELETEITEM = TV_FIRST + 1 }
5254 -// #define TreeView_DeleteItem(hwnd, hitem) (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hitem))
5255 -
5256 -// #define TreeView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT)
5257 -
5258 -enum : uint { TVM_EXPAND = TV_FIRST + 2 }
5259 -// #define TreeView_Expand(hwnd, hitem, code) (BOOL)SNDMSG((hwnd), TVM_EXPAND, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem))
5260 -
5261 -enum : uint { TVE_COLLAPSE = 0x0001 }
5262 -enum : uint { TVE_EXPAND = 0x0002 }
5263 -enum : uint { TVE_TOGGLE = 0x0003 }
5264 -// #if (_WIN32_IE >= 0x0300)
5265 -enum : uint { TVE_EXPANDPARTIAL = 0x4000 }
5266 -// #endif
5267 -enum : uint { TVE_COLLAPSERESET = 0x8000 }
5268 -
5269 -enum : uint { TVM_GETITEMRECT = TV_FIRST + 4 }
5270 -// #define TreeView_GetItemRect(hwnd, hitem, prc, code) (*(HTREEITEM *)prc = (hitem), (BOOL)SNDMSG((hwnd), TVM_GETITEMRECT, (WPARAM)(code), (LPARAM)(RECT *)(prc)))
5271 -
5272 -enum : uint { TVM_GETCOUNT = TV_FIRST + 5 }
5273 -// #define TreeView_GetCount(hwnd) (UINT)SNDMSG((hwnd), TVM_GETCOUNT, 0, 0)
5274 -
5275 -enum : uint { TVM_GETINDENT = TV_FIRST + 6 }
5276 -// #define TreeView_GetIndent(hwnd) (UINT)SNDMSG((hwnd), TVM_GETINDENT, 0, 0)
5277 -
5278 -enum : uint { TVM_SETINDENT = TV_FIRST + 7 }
5279 -// #define TreeView_SetIndent(hwnd, indent) (BOOL)SNDMSG((hwnd), TVM_SETINDENT, (WPARAM)(indent), 0)
5280 -
5281 -enum : uint { TVM_GETIMAGELIST = TV_FIRST + 8 }
5282 -// #define TreeView_GetImageList(hwnd, iImage) (HIMAGELIST)SNDMSG((hwnd), TVM_GETIMAGELIST, iImage, 0)
5283 -
5284 -enum : uint { TVSIL_NORMAL = 0 }
5285 -enum : uint { TVSIL_STATE = 2 }
5286 -
5287 -enum : uint { TVM_SETIMAGELIST = TV_FIRST + 9 }
5288 -// #define TreeView_SetImageList(hwnd, himl, iImage) (HIMAGELIST)SNDMSG((hwnd), TVM_SETIMAGELIST, iImage, (LPARAM)(HIMAGELIST)(himl))
5289 -
5290 -enum : uint { TVM_GETNEXTITEM = TV_FIRST + 10 }
5291 -// #define TreeView_GetNextItem(hwnd, hitem, code) (HTREEITEM)SNDMSG((hwnd), TVM_GETNEXTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem))
5292 -
5293 -enum : uint { TVGN_ROOT = 0x0000 }
5294 -enum : uint { TVGN_NEXT = 0x0001 }
5295 -enum : uint { TVGN_PREVIOUS = 0x0002 }
5296 -enum : uint { TVGN_PARENT = 0x0003 }
5297 -enum : uint { TVGN_CHILD = 0x0004 }
5298 -enum : uint { TVGN_FIRSTVISIBLE = 0x0005 }
5299 -enum : uint { TVGN_NEXTVISIBLE = 0x0006 }
5300 -enum : uint { TVGN_PREVIOUSVISIBLE = 0x0007 }
5301 -enum : uint { TVGN_DROPHILITE = 0x0008 }
5302 -enum : uint { TVGN_CARET = 0x0009 }
5303 -// #if (_WIN32_IE >= 0x0400)
5304 -enum : uint { TVGN_LASTVISIBLE = 0x000A }
5305 -// #endif // _WIN32_IE >= 0x0400
5306 -
5307 -// #if (_WIN32_WINNT >= 0x501)
5308 -enum : uint { TVSI_NOSINGLEEXPAND = 0x8000 }
5309 -// #endif
5310 -
5311 -// #define TreeView_GetChild(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_CHILD)
5312 -// #define TreeView_GetNextSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT)
5313 -// #define TreeView_GetPrevSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUS)
5314 -// #define TreeView_GetParent(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PARENT)
5315 -// #define TreeView_GetFirstVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE)
5316 -// #define TreeView_GetNextVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE)
5317 -// #define TreeView_GetPrevVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE)
5318 -// #define TreeView_GetSelection(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_CARET)
5319 -// #define TreeView_GetDropHilight(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE)
5320 -// #define TreeView_GetRoot(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_ROOT)
5321 -// #if (_WIN32_IE >= 0x0400)
5322 -// #define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE)
5323 -// #endif // _WIN32_IE >= 0x0400
5324 -
5325 -enum : uint { TVM_SELECTITEM = TV_FIRST + 11 }
5326 -// #define TreeView_Select(hwnd, hitem, code) (BOOL)SNDMSG((hwnd), TVM_SELECTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem))
5327 -
5328 -// #define TreeView_SelectItem(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_CARET)
5329 -// #define TreeView_SelectDropTarget(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_DROPHILITE)
5330 -// #define TreeView_SelectSetFirstVisible(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE)
5331 -
5332 -enum : uint { TVM_GETITEMA = TV_FIRST + 12 }
5333 -enum : uint { TVM_GETITEMW = TV_FIRST + 62 }
5334 -
5335 -// #ifdef UNICODE
5336 -alias TVM_GETITEMW TVM_GETITEM;
5337 -// #else
5338 -// #...
5339 -// #endif
5340 -
5341 -// #define TreeView_GetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), TVM_GETITEM, 0, (LPARAM)(TV_ITEM *)(pitem))
5342 -
5343 -enum : uint { TVM_SETITEMA = TV_FIRST + 13 }
5344 -enum : uint { TVM_SETITEMW = TV_FIRST + 63 }
5345 -
5346 -// #ifdef UNICODE
5347 -alias TVM_SETITEMW TVM_SETITEM;
5348 -// #else
5349 -// #...
5350 -// #endif
5351 -
5352 -// #define TreeView_SetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), TVM_SETITEM, 0, (LPARAM)(const TV_ITEM *)(pitem))
5353 -
5354 -enum : uint { TVM_EDITLABELA = TV_FIRST + 14 }
5355 -enum : uint { TVM_EDITLABELW = TV_FIRST + 65 }
5356 -// #ifdef UNICODE
5357 -alias TVM_EDITLABELW TVM_EDITLABEL;
5358 -// #else
5359 -// #...
5360 -// #endif
5361 -
5362 -// #define TreeView_EditLabel(hwnd, hitem) (HWND)SNDMSG((hwnd), TVM_EDITLABEL, 0, (LPARAM)(HTREEITEM)(hitem))
5363 -
5364 -enum : uint { TVM_GETEDITCONTROL = TV_FIRST + 15 }
5365 -// #define TreeView_GetEditControl(hwnd) (HWND)SNDMSG((hwnd), TVM_GETEDITCONTROL, 0, 0)
5366 -
5367 -enum : uint { TVM_GETVISIBLECOUNT = TV_FIRST + 16 }
5368 -// #define TreeView_GetVisibleCount(hwnd) (UINT)SNDMSG((hwnd), TVM_GETVISIBLECOUNT, 0, 0)
5369 -
5370 -enum : uint { TVM_HITTEST = TV_FIRST + 17 }
5371 -// #define TreeView_HitTest(hwnd, lpht) (HTREEITEM)SNDMSG((hwnd), TVM_HITTEST, 0, (LPARAM)(LPTV_HITTESTINFO)(lpht))
5372 -
5373 -// #if (_WIN32_IE >= 0x0300)
5374 -alias LPTVHITTESTINFO LPTV_HITTESTINFO;
3694 +
3695 +struct TVHITTESTINFO {
3696 + POINT pt;
3697 + UINT flags;
3698 + HTREEITEM hItem;
3699 +}
3700 +alias TVHITTESTINFO* LPTVHITTESTINFO, LPTV_HITTESTINFO;
5375 3701 alias TVHITTESTINFO TV_HITTESTINFO;
5376 -// #else
5377 -// #...
5378 -// #...
5379 -// #...
5380 -// #endif
5381 -
5382 -struct tagTVHITTESTINFO {
5383 - POINT pt;
5384 - UINT flags;
5385 - HTREEITEM hItem;
5386 -}
5387 -alias tagTVHITTESTINFO TVHITTESTINFO;
5388 -alias tagTVHITTESTINFO* LPTVHITTESTINFO;
5389 -
5390 -enum : uint { TVHT_NOWHERE = 0x0001 }
5391 -enum : uint { TVHT_ONITEMICON = 0x0002 }
5392 -enum : uint { TVHT_ONITEMLABEL = 0x0004 }
5393 -enum : uint { TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON }
5394 -enum : uint { TVHT_ONITEMINDENT = 0x0008 }
5395 -enum : uint { TVHT_ONITEMBUTTON = 0x0010 }
5396 -enum : uint { TVHT_ONITEMRIGHT = 0x0020 }
5397 -// #define TVHT_ONITEMSTATEICON 0x0040
5398 -
5399 -enum : uint { TVHT_ABOVE = 0x0100 }
5400 -enum : uint { TVHT_BELOW = 0x0200 }
5401 -enum : uint { TVHT_TORIGHT = 0x0400 }
5402 -enum : uint { TVHT_TOLEFT = 0x0800 }
5403 -
5404 -enum : uint { TVM_CREATEDRAGIMAGE = TV_FIRST + 18 }
5405 -// #define TreeView_CreateDragImage(hwnd, hitem) (HIMAGELIST)SNDMSG((hwnd), TVM_CREATEDRAGIMAGE, 0, (LPARAM)(HTREEITEM)(hitem))
5406 -
5407 -enum : uint { TVM_SORTCHILDREN = TV_FIRST + 19 }
5408 -// #define TreeView_SortChildren(hwnd, hitem, recurse) (BOOL)SNDMSG((hwnd), TVM_SORTCHILDREN, (WPARAM)(recurse), (LPARAM)(HTREEITEM)(hitem))
5409 -
5410 -enum : uint { TVM_ENSUREVISIBLE = TV_FIRST + 20 }
5411 -// #define TreeView_EnsureVisible(hwnd, hitem) (BOOL)SNDMSG((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(HTREEITEM)(hitem))
5412 -
5413 -enum : uint { TVM_SORTCHILDRENCB = TV_FIRST + 21 }
5414 -// #define TreeView_SortChildrenCB(hwnd, psort, recurse) (BOOL)SNDMSG((hwnd), TVM_SORTCHILDRENCB, (WPARAM)(recurse), (LPARAM)(LPTV_SORTCB)(psort))
5415 -
5416 -enum : uint { TVM_ENDEDITLABELNOW = TV_FIRST + 22 }
5417 -// #define TreeView_EndEditLabelNow(hwnd, fCancel) (BOOL)SNDMSG((hwnd), TVM_ENDEDITLABELNOW, (WPARAM)(fCancel), 0)
5418 -
5419 -enum : uint { TVM_GETISEARCHSTRINGA = TV_FIRST + 23 }
5420 -enum : uint { TVM_GETISEARCHSTRINGW = TV_FIRST + 64 }
5421 -
5422 -// #ifdef UNICODE
5423 -alias TVM_GETISEARCHSTRINGW TVM_GETISEARCHSTRING;
5424 -// #else
5425 -// #...
5426 -// #endif
5427 -
5428 -// #if (_WIN32_IE >= 0x0300)
5429 -enum : uint { TVM_SETTOOLTIPS = TV_FIRST + 24 }
5430 -// #define TreeView_SetToolTips(hwnd, hwndTT) (HWND)SNDMSG((hwnd), TVM_SETTOOLTIPS, (WPARAM)(hwndTT), 0)
5431 -enum : uint { TVM_GETTOOLTIPS = TV_FIRST + 25 }
5432 -// #define TreeView_GetToolTips(hwnd) (HWND)SNDMSG((hwnd), TVM_GETTOOLTIPS, 0, 0)
5433 -// #endif
5434 -
5435 -// #define TreeView_GetISearchString(hwndTV, lpsz) (BOOL)SNDMSG((hwndTV), TVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz))
5436 -
5437 -// #if (_WIN32_IE >= 0x0400)
5438 -enum : uint { TVM_SETINSERTMARK = TV_FIRST + 26 }
5439 -// #define TreeView_SetInsertMark(hwnd, hItem, fAfter) (BOOL)SNDMSG((hwnd), TVM_SETINSERTMARK, (WPARAM) (fAfter), (LPARAM) (hItem))
5440 -
5441 -alias CCM_SETUNICODEFORMAT TVM_SETUNICODEFORMAT;
5442 -// #define TreeView_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), TVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
5443 -
5444 -alias CCM_GETUNICODEFORMAT TVM_GETUNICODEFORMAT;
5445 -// #define TreeView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), TVM_GETUNICODEFORMAT, 0, 0)
5446 -
5447 -// #endif
5448 -
5449 -// #if (_WIN32_IE >= 0x0400)
5450 -enum : uint { TVM_SETITEMHEIGHT = TV_FIRST + 27 }
5451 -// #define TreeView_SetItemHeight(hwnd, iHeight) (int)SNDMSG((hwnd), TVM_SETITEMHEIGHT, (WPARAM)(iHeight), 0)
5452 -enum : uint { TVM_GETITEMHEIGHT = TV_FIRST + 28 }
5453 -// #define TreeView_GetItemHeight(hwnd) (int)SNDMSG((hwnd), TVM_GETITEMHEIGHT, 0, 0)
5454 -
5455 -enum : uint { TVM_SETBKCOLOR = TV_FIRST + 29 }
5456 -// #define TreeView_SetBkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)(clr))
5457 -
5458 -enum : uint { TVM_SETTEXTCOLOR = TV_FIRST + 30 }
5459 -// #define TreeView_SetTextColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)(clr))
5460 -
5461 -enum : uint { TVM_GETBKCOLOR = TV_FIRST + 31 }
5462 -// #define TreeView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETBKCOLOR, 0, 0)
5463 -
5464 -enum : uint { TVM_GETTEXTCOLOR = TV_FIRST + 32 }
5465 -// #define TreeView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETTEXTCOLOR, 0, 0)
5466 -
5467 -enum : uint { TVM_SETSCROLLTIME = TV_FIRST + 33 }
5468 -// #define TreeView_SetScrollTime(hwnd, uTime) (UINT)SNDMSG((hwnd), TVM_SETSCROLLTIME, uTime, 0)
5469 -
5470 -enum : uint { TVM_GETSCROLLTIME = TV_FIRST + 34 }
5471 -// #define TreeView_GetScrollTime(hwnd) (UINT)SNDMSG((hwnd), TVM_GETSCROLLTIME, 0, 0)
5472 -
5473 -enum : uint { TVM_SETINSERTMARKCOLOR = TV_FIRST + 37 }
5474 -// #define TreeView_SetInsertMarkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)(clr))
5475 -enum : uint { TVM_GETINSERTMARKCOLOR = TV_FIRST + 38 }
5476 -// #define TreeView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0)
5477 -
5478 -// #endif /* (_WIN32_IE >= 0x0400) */
5479 -
5480 -// #if (_WIN32_IE >= 0x0500)
5481 -
5482 -// #define TreeView_SetItemState(hwndTV, hti, data, _mask) { TVITEM _ms_TVi; _ms_TVi.mask = TVIF_STATE; _ms_TVi.hItem = hti; _ms_TVi.stateMask = _mask; _ms_TVi.state = data; SNDMSG((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_ms_TVi); }
5483 -
5484 -// #define TreeView_SetCheckState(hwndTV, hti, fCheck) TreeView_SetItemState(hwndTV, hti, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), TVIS_STATEIMAGEMASK)
5485 -
5486 -enum : uint { TVM_GETITEMSTATE = TV_FIRST + 39 }
5487 -// #define TreeView_GetItemState(hwndTV, hti, mask) (UINT)SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), (LPARAM)(mask))
5488 -
5489 -// #define TreeView_GetCheckState(hwndTV, hti) ((((UINT)(SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), TVIS_STATEIMAGEMASK))) >> 12) -1)
5490 -
5491 -enum : uint { TVM_SETLINECOLOR = TV_FIRST + 40 }
5492 -// #define TreeView_SetLineColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETLINECOLOR, 0, (LPARAM)(clr))
5493 -
5494 -enum : uint { TVM_GETLINECOLOR = TV_FIRST + 41 }
5495 -// #define TreeView_GetLineColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETLINECOLOR, 0, 0)
5496 -
5497 -// #endif
5498 -
5499 -// #if (_WIN32_WINNT >= 0x0501)
5500 -enum : uint { TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42 }
5501 -// #define TreeView_MapAccIDToHTREEITEM(hwnd, id) (HTREEITEM)SNDMSG((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0)
5502 -
5503 -enum : uint { TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43 }
5504 -// #define TreeView_MapHTREEITEMToAccID(hwnd, htreeitem) (UINT)SNDMSG((hwnd), TVM_MAPHTREEITEMTOACCID, (WPARAM)htreeitem, 0)
5505 -
5506 -// #endif
5507 -
5508 -extern(Windows) alias int function(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) PFNTVCOMPARE;
5509 -
5510 -// #if (_WIN32_IE >= 0x0300)
5511 -alias LPTVSORTCB LPTV_SORTCB;
3702 +
3703 +alias int function(LPARAM, LPARAM, LPARAM) PFNTVCOMPARE;
3704 +struct TVSORTCB {
3705 + HTREEITEM hParent;
3706 + PFNTVCOMPARE lpfnCompare;
3707 + LPARAM lParam;
3708 +}
3709 +alias TVSORTCB* LPTVSORTCB, LPTV_SORTCB;
5512 3710 alias TVSORTCB TV_SORTCB;
5513 -// #else
5514 -// #...
5515 -// #...
5516 -// #...
5517 -// #endif
5518 3711
5519 -struct tagTVSORTCB {
5520 - HTREEITEM hParent;
5521 - PFNTVCOMPARE lpfnCompare;
5522 - LPARAM lParam;
3712 +struct NMTREEVIEWA {
3713 + NMHDR hdr;
3714 + UINT action;
3715 + TV_ITEMA itemOld;
3716 + TV_ITEMA itemNew;
3717 + POINT ptDrag;
5523 3718 }
5524 -alias tagTVSORTCB TVSORTCB;
5525 -alias tagTVSORTCB* LPTVSORTCB;
3719 +alias NMTREEVIEWA* LPNMTREEVIEWA, LPNM_TREEVIEWA;
3720 +alias NMTREEVIEWA NM_TREEVIEWA;
5526 3721
5527 -// #if (_WIN32_IE >= 0x0300)
5528 -alias LPNMTREEVIEWA LPNM_TREEVIEWA;
5529 -alias LPNMTREEVIEWW LPNM_TREEVIEWW;
3722 +struct NMTREEVIEWW {
3723 + NMHDR hdr;
3724 + UINT action;
3725 + TV_ITEMW itemOld;
3726 + TV_ITEMW itemNew;
3727 + POINT ptDrag;
3728 +}
3729 +alias NMTREEVIEWW* LPNMTREEVIEWW, LPNM_TREEVIEWW;
5530 3730 alias NMTREEVIEWW NM_TREEVIEWW;
5531 -alias NMTREEVIEWA NM_TREEVIEWA;
5532 -// #else
5533 -// #...
5534 -// #...
5535 -// #...
5536 -// #...
5537 -// #...
5538 -// #...
5539 -// #endif
5540 3731
5541 -alias LPNMTREEVIEW LPNM_TREEVIEW;
5542 -alias NMTREEVIEW NM_TREEVIEW;
5543 -
5544 -struct tagNMTREEVIEWA {
5545 - NMHDR hdr;
5546 - UINT action;
5547 - TVITEMA itemOld;
5548 - TVITEMA itemNew;
5549 - POINT ptDrag;
3732 +struct NMTVDISPINFOA {
3733 + NMHDR hdr;
3734 + TVITEMA item;
5550 3735 }
5551 -alias tagNMTREEVIEWA NMTREEVIEWA;
5552 -alias tagNMTREEVIEWA* LPNMTREEVIEWA;
5553 -
5554 -struct tagNMTREEVIEWW {
5555 - NMHDR hdr;
5556 - UINT action;
5557 - TVITEMW itemOld;
5558 - TVITEMW itemNew;
5559 - POINT ptDrag;
5560 -}
5561 -alias tagNMTREEVIEWW NMTREEVIEWW;
5562 -alias tagNMTREEVIEWW* LPNMTREEVIEWW;
5563 -
5564 -// #ifdef UNICODE
5565 -alias NMTREEVIEWW NMTREEVIEW;
5566 -alias LPNMTREEVIEWW LPNMTREEVIEW;
5567 -// #else
5568 -// #...
5569 -// #...
5570 -// #endif
5571 -
5572 -enum : uint { TVN_SELCHANGINGA = TVN_FIRST-1 }
5573 -enum : uint { TVN_SELCHANGINGW = TVN_FIRST-50 }
5574 -enum : uint { TVN_SELCHANGEDA = TVN_FIRST-2 }
5575 -enum : uint { TVN_SELCHANGEDW = TVN_FIRST-51 }
5576 -
5577 -enum : uint { TVC_UNKNOWN = 0x0000 }
5578 -enum : uint { TVC_BYMOUSE = 0x0001 }
5579 -enum : uint { TVC_BYKEYBOARD = 0x0002 }
5580 -
5581 -enum : uint { TVN_GETDISPINFOA = TVN_FIRST-3 }
5582 -enum : uint { TVN_GETDISPINFOW = TVN_FIRST-52 }
5583 -enum : uint { TVN_SETDISPINFOA = TVN_FIRST-4 }
5584 -enum : uint { TVN_SETDISPINFOW = TVN_FIRST-53 }
5585 -
5586 -enum : uint { TVIF_DI_SETITEM = 0x1000 }
5587 -
5588 -// #if (_WIN32_IE >= 0x0300)
3736 +alias NMTVDISPINFOA* LPNMTVDISPINFOA;
5589 3737 alias NMTVDISPINFOA TV_DISPINFOA;
3738 +
3739 +struct NMTVDISPINFOW {
3740 + NMHDR hdr;
3741 + TVITEMW item;
3742 +}
3743 +alias NMTVDISPINFOW* LPNMTVDISPINFOW;
5590 3744 alias NMTVDISPINFOW TV_DISPINFOW;
5591 -// #else
5592 -// #...
5593 -// #...
5594 -// #...
5595 -// #...
5596 -// #endif
5597 -
5598 -alias NMTVDISPINFO TV_DISPINFO;
5599 -
5600 -struct tagTVDISPINFOA {
5601 - NMHDR hdr;
5602 - TVITEMA item;
3745 +
3746 +static if (_WIN32_IE >= 0x400) {
3747 + struct NMTVGETINFOTIPA {
3748 + NMHDR hdr;
3749 + LPSTR pszText;
3750 + int cchTextMax;
3751 + HTREEITEM hItem;
3752 + LPARAM lParam;
3753 + }
3754 + alias NMTVGETINFOTIPA* LPNMTVGETINFOTIPA;
3755 +
3756 + struct NMTVGETINFOTIPW {
3757 + NMHDR hdr;
3758 + LPWSTR pszText;
3759 + int cchTextMax;
3760 + HTREEITEM hItem;
3761 + LPARAM lParam;
3762 + }
3763 + alias NMTVGETINFOTIPW* LPNMTVGETINFOTIPW;
3764 +}
3765 +
3766 +struct TV_KEYDOWN {
3767 + NMHDR hdr;
3768 + WORD wVKey;
3769 + UINT flags;
3770 +}
3771 +
3772 +struct TC_ITEMHEADERA {
3773 + UINT mask;
3774 + UINT lpReserved1;
3775 + UINT lpReserved2;
3776 + LPSTR pszText;
3777 + int cchTextMax;
3778 + int iImage;
3779 +}
3780 +
3781 +struct TC_ITEMHEADERW {
3782 + UINT mask;
3783 + UINT lpReserved1;
3784 + UINT lpReserved2;
3785 + LPWSTR pszText;
3786 + int cchTextMax;
3787 + int iImage;
3788 +}
3789 +
3790 +static if (_WIN32_IE >= 0x300) {
3791 + struct TCITEMA {
3792 + UINT mask;
3793 + DWORD dwState;
3794 + DWORD dwStateMask;
3795 + LPSTR pszText;
3796 + int cchTextMax;
3797 + int iImage;
3798 + LPARAM lParam;
3799 + }
3800 +
3801 + struct TCITEMW {
3802 + UINT mask;
3803 + DWORD dwState;
3804 + DWORD dwStateMask;
3805 + LPWSTR pszText;
3806 + int cchTextMax;
3807 + int iImage;
3808 + LPARAM lParam;
3809 + }
3810 +} else {
3811 + struct TCITEMA {
3812 + UINT mask;
3813 + UINT lpReserved1;
3814 + UINT lpReserved2;
3815 + LPSTR pszText;
3816 + int cchTextMax;
3817 + int iImage;
3818 + LPARAM lParam;
3819 + }
3820 +
3821 + struct TCITEMW {
3822 + UINT mask;
3823 + UINT lpReserved1;
3824 + UINT lpReserved2;
3825 + LPWSTR pszText;
3826 + int cchTextMax;
3827 + int iImage;
3828 + LPARAM lParam;
3829 + }
3830 +}
3831 +alias TCITEMA* LPTCITEMA;
3832 +alias TCITEMA TC_ITEMA;
3833 +alias TCITEMW* LPTCITEMW;
3834 +alias TCITEMW TC_ITEMW;
3835 +
3836 +struct TCHITTESTINFO {
3837 + POINT pt;
3838 + UINT flags;
3839 +}
3840 +alias TCHITTESTINFO* LPTCHITTESTINFO, LPTC_HITTESTINFO;
3841 +alias TCHITTESTINFO TC_HITTESTINFO;
3842 +
3843 +struct TC_KEYDOWN {
3844 + NMHDR hdr;
3845 + WORD wVKey;
3846 + UINT flags;
3847 +}
3848 +
3849 +static if (_WIN32_IE >= 0x300) {
3850 + struct INITCOMMONCONTROLSEX {
3851 + DWORD dwSize = INITCOMMONCONTROLSEX.sizeof;
3852 + DWORD dwICC;
3853 + }
3854 + alias INITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX;
3855 +}
3856 +
3857 +struct PBRANGE {
3858 + int iLow;
3859 + int iHigh;
3860 +}
3861 +alias PBRANGE* PPBRANGE;
3862 +
3863 +struct COLORSCHEME {
3864 + DWORD dwSize = COLORSCHEME.sizeof;
3865 + COLORREF clrBtnHighlight;
3866 + COLORREF clrBtnShadow;
3867 +}
3868 +alias COLORSCHEME* LPCOLORSCHEME;
3869 +
3870 +struct MCHITTESTINFO {
3871 + UINT cbSize = MCHITTESTINFO.sizeof;
3872 + POINT pt;
3873 + UINT uHit;
3874 + SYSTEMTIME st;
3875 +}
3876 +alias MCHITTESTINFO* PMCHITTESTINFO;
3877 +
3878 +alias DWORD MONTHDAYSTATE;
3879 +alias MONTHDAYSTATE* LPMONTHDAYSTATE;
3880 +
3881 +struct NMDAYSTATE {
3882 + NMHDR nmhdr;
3883 + SYSTEMTIME stStart;
3884 + int cDayState;
3885 + LPMONTHDAYSTATE prgDayState;
3886 +}
3887 +alias NMDAYSTATE* LPNMDAYSTATE;
3888 +
3889 +struct REBARINFO {
3890 + UINT cbSize = REBARINFO.sizeof;
3891 + UINT fMask;
3892 + HIMAGELIST himl;
3893 +}
3894 +alias REBARINFO* LPREBARINFO;
3895 +
3896 +static if (_WIN32_IE >= 0x400) {
3897 + struct REBARBANDINFOA {
3898 + UINT cbSize = REBARBANDINFOA.sizeof;
3899 + UINT fMask;
3900 + UINT fStyle;
3901 + COLORREF clrFore;
3902 + COLORREF clrBack;
3903 + LPSTR lpText;
3904 + UINT cch;
3905 + int iImage;
3906 + HWND hwndChild;
3907 + UINT cxMinChild;
3908 + UINT cyMinChild;
3909 + UINT cx;
3910 + HBITMAP hbmBack;
3911 + UINT wID;
3912 + UINT cyChild;
3913 + UINT cyMaxChild;
3914 + UINT cyIntegral;
3915 + UINT cxIdeal;
3916 + LPARAM lParam;
3917 + UINT cxHeader;
3918 + }
3919 +
3920 + struct REBARBANDINFOW {
3921 + UINT cbSize = REBARBANDINFOW.sizeof;
3922 + UINT fMask;
3923 + UINT fStyle;
3924 + COLORREF clrFore;
3925 + COLORREF clrBack;
3926 + LPWSTR lpText;
3927 + UINT cch;
3928 + int iImage;
3929 + HWND hwndChild;
3930 + UINT cxMinChild;
3931 + UINT cyMinChild;
3932 + UINT cx;
3933 + HBITMAP hbmBack;
3934 + UINT wID;
3935 + UINT cyChild;
3936 + UINT cyMaxChild;
3937 + UINT cyIntegral;
3938 + UINT cxIdeal;
3939 + LPARAM lParam;
3940 + UINT cxHeader;
3941 + }
3942 +
3943 + enum : size_t {
3944 + REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.cyChild.offsetof,
3945 + REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.cyChild.offsetof
3946 + }
3947 +} else {
3948 + struct REBARBANDINFOA {
3949 + UINT cbSize = REBARBANDINFOA.sizeof;
3950 + UINT fMask;
3951 + UINT fStyle;
3952 + COLORREF clrFore;
3953 + COLORREF clrBack;
3954 + LPSTR lpText;
3955 + UINT cch;
3956 + int iImage;
3957 + HWND hwndChild;
3958 + UINT cxMinChild;
3959 + UINT cyMinChild;
3960 + UINT cx;
3961 + HBITMAP hbmBack;
3962 + UINT wID;
3963 + }
3964 +
3965 + struct REBARBANDINFOW {
3966 + UINT cbSize = REBARBANDINFOW.sizeof;
3967 + UINT fMask;
3968 + UINT fStyle;
3969 + COLORREF clrFore;
3970 + COLORREF clrBack;
3971 + LPWSTR lpText;
3972 + UINT cch;
3973 + int iImage;
3974 + HWND hwndChild;
3975 + UINT cxMinChild;
3976 + UINT cyMinChild;
3977 + UINT cx;
3978 + HBITMAP hbmBack;
3979 + UINT wID;
3980 + }
3981 +
3982 + enum : size_t {
3983 + REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.sizeof,
3984 + REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.sizeof
3985 + }
3986 +}
3987 +alias REBARBANDINFOA* LPREBARBANDINFOA;
3988 +alias CPtr!(REBARBANDINFOA) LPCREBARBANDINFOA;
3989 +alias REBARBANDINFOW* LPREBARBANDINFOW;
3990 +alias CPtr!(REBARBANDINFOW) LPCREBARBANDINFOW;
3991 +
3992 +static if (_WIN32_IE >= 0x300) {
3993 + struct NMLVODSTATECHANGE {
3994 + NMHDR hdr;
3995 + int iFrom;
3996 + int iTo;
3997 + UINT uNewState;
3998 + UINT uOldState;
3999 + }
4000 + alias NMLVODSTATECHANGE* LPNMLVODSTATECHANGE;
4001 +
4002 + static if (_WIN32_WINNT >= 0x501) {
4003 + struct IMAGELISTDRAWPARAMS {
4004 + DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof;
4005 + HIMAGELIST himl;
4006 + int i;
4007 + HDC hdcDst;
4008 + int x;
4009 + int y;
4010 + int cx;
4011 + int cy;
4012 + int xBitmap;
4013 + int yBitmap;
4014 + COLORREF rgbBk;
4015 + COLORREF rgbFg;
4016 + UINT fStyle;
4017 + DWORD dwRop;
4018 + DWORD fState;
4019 + DWORD Frame;
4020 + COLORREF crEffect;
4021 + }
4022 + } else {
4023 + struct IMAGELISTDRAWPARAMS {
4024 + DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof;
4025 + HIMAGELIST himl;
4026 + int i;
4027 + HDC hdcDst;
4028 + int x;
4029 + int y;
4030 + int cx;
4031 + int cy;
4032 + int xBitmap;
4033 + int yBitmap;
4034 + COLORREF rgbBk;
4035 + COLORREF rgbFg;
4036 + UINT fStyle;
4037 + DWORD dwRop;
4038 + }
4039 + }
4040 + alias IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS;
4041 +}
4042 +
4043 +static if (_WIN32_IE >= 0x400) {
4044 + struct NMREBARCHILDSIZE {
4045 + NMHDR hdr;
4046 + UINT uBand;
4047 + UINT wID;
4048 + RECT rcChild;
4049 + RECT rcBand;
4050 + }
4051 + alias NMREBARCHILDSIZE* LPNMREBARCHILDSIZE;
4052 +
4053 + struct NMREBAR {
4054 + NMHDR hdr;
4055 + DWORD dwMask;
4056 + UINT uBand;
4057 + UINT fStyle;
4058 + UINT wID;
4059 + LPARAM lParam;
4060 + }
4061 + alias NMREBAR* LPNMREBAR;
4062 +
4063 + struct NMRBAUTOSIZE {
4064 + NMHDR hdr;
4065 + BOOL fChanged;
4066 + RECT rcTarget;
4067 + RECT rcActual;
4068 + }
4069 + alias NMRBAUTOSIZE* LPNMRBAUTOSIZE;
4070 +
4071 + static if (_WIN32_IE >= 0x500) {
4072 + struct NMREBARCHEVRON {
4073 + NMHDR hdr;
4074 + UINT uBand;
4075 + UINT wID;
4076 + LPARAM lParam;
4077 + RECT rc;
4078 + LPARAM lParamNM;
4079 + }
4080 + alias NMREBARCHEVRON* LPNMREBARCHEVRON;
4081 + }
4082 +
4083 + struct RBHITTESTINFO {
4084 + POINT pt;
4085 + UINT flags;
4086 + int iBand;
4087 + }
4088 + alias RBHITTESTINFO* LPRBHITTESTINFO;
4089 +}
4090 +
4091 +alias HANDLE HDSA;
4092 +alias HANDLE HDPA;
4093 +
4094 +version (Unicode) {
4095 + alias HDITEMW HDITEM;
4096 + alias LPHDITEMW LPHDITEM;
4097 + alias TOOLINFOW TOOLINFO;
4098 + alias TOOLINFOW* PTOOLINFO, LPTOOLINFO;
4099 + alias TTHITTESTINFOW TTHITTESTINFO;
4100 + alias TTHITTESTINFOW* LPHITTESTINFO, LPTTHITTESTINFO;
4101 + alias TOOLTIPTEXTW TOOLTIPTEXT;
4102 + alias TOOLTIPTEXTW* LPTOOLTIPTEXT;
4103 + alias NMTTDISPINFOW NMTTDISPINFO;
4104 + alias NMTTDISPINFOW* LPNMTTDISPINFO;
4105 + alias TV_ITEMW TV_ITEM;
4106 + alias TV_ITEMW* LPTV_ITEM;
4107 + alias TVITEMW TVITEM;
4108 + alias TVITEMW* LPTVITEM;
4109 +
4110 + static if (_WIN32_IE >= 0x400) {
4111 + alias TVITEMEXW TVITEMEX;
4112 + alias TVITEMEXW* LPTVITEMEX;
4113 + }
4114 +
4115 + alias TV_INSERTSTRUCTW TV_INSERTSTRUCT;
4116 + alias TV_INSERTSTRUCTW* LPTV_INSERTSTRUCT;
4117 + alias TVINSERTSTRUCTW TVINSERTSTRUCT;
4118 + alias TVINSERTSTRUCTW* LPTVINSERTSTRUCT;
4119 + alias NM_TREEVIEWW NM_TREEVIEW;
4120 + alias NM_TREEVIEWW* LPNM_TREEVIEW;
4121 + alias NMTREEVIEWW NMTREEVIEW;
4122 + alias NMTREEVIEWW* LPNMTREEVIEW;
4123 + alias NMHDDISPINFOW NMHDDISPINFO;
4124 + alias NMHDDISPINFOW* LPNMHDDISPINFO;
4125 +
4126 + alias ACM_OPENW ACM_OPEN;
4127 + alias COMBOBOXEXITEMW COMBOBOXEXITEM;
4128 + alias PCOMBOBOXEXITEMW PCOMBOBOXEXITEM;
4129 + //alias PCCOMBOBOXEXITEMW PCCOMBOBOXEXITEM; fixme
4130 + alias CBEM_INSERTITEMW CBEM_INSERTITEM;
4131 + alias CBEM_SETITEMW CBEM_SETITEM;
4132 + alias CBEM_GETITEMW CBEM_GETITEM;
4133 + alias CBEN_ENDEDITW CBEN_ENDEDIT;
4134 + alias NMCBEENDEDITW NMCBEENDEDIT;
4135 + alias LPNMCBEENDEDITW LPNMCBEENDEDIT;
4136 + alias PNMCBEENDEDITW PNMCBEENDEDIT;
4137 +
4138 + static if (_WIN32_IE >= 0x400) {
4139 + alias NMCOMBOBOXEXW NMCOMBOBOXEX;
4140 + alias PNMCOMBOBOXEXW PNMCOMBOBOXEX;
4141 + alias CBEN_GETDISPINFOW CBEN_GETDISPINFO;
4142 + alias CBEN_DRAGBEGINW CBEN_DRAGBEGIN;
4143 + alias NMCBEDRAGBEGINW NMCBEDRAGBEGIN;
4144 + alias LPNMCBEDRAGBEGINW LPNMCBEDRAGBEGIN;
4145 + alias PNMCBEDRAGBEGINW PNMCBEDRAGBEGIN;
4146 + }
4147 +
4148 + alias SB_GETTEXTW SB_GETTEXT;
4149 + alias SB_SETTEXTW SB_SETTEXT;
4150 + alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH;
4151 + alias HDM_INSERTITEMW HDM_INSERTITEM;
4152 + alias HDM_GETITEMW HDM_GETITEM;
4153 + alias HDM_SETITEMW HDM_SETITEM;
4154 + alias HDN_ITEMCHANGINGW HDN_ITEMCHANGING;
4155 + alias HDN_ITEMCHANGEDW HDN_ITEMCHANGED;
4156 + alias HDN_ITEMCLICKW HDN_ITEMCLICK;
4157 + alias HDN_ITEMDBLCLICKW HDN_ITEMDBLCLICK;
4158 + alias HDN_DIVIDERDBLCLICKW HDN_DIVIDERDBLCLICK;
4159 + alias HDN_BEGINTRACKW HDN_BEGINTRACK;
4160 + alias HDN_ENDTRACKW HDN_ENDTRACK;
4161 + alias HDN_TRACKW HDN_TRACK;
4162 +
4163 + static if (_WIN32_IE >= 0x300) {
4164 + alias HDN_GETDISPINFOW HDN_GETDISPINFO;
4165 + }
4166 +
4167 + alias HD_NOTIFYW HD_NOTIFY;
4168 + alias TBSAVEPARAMSW TBSAVEPARAMS;
4169 + alias TB_GETBUTTONTEXTW TB_GETBUTTONTEXT;
4170 + alias TB_SAVERESTOREW TB_SAVERESTORE;
4171 + alias TB_ADDSTRINGW TB_ADDSTRING;
4172 +
4173 + static if (_WIN32_IE >= 0x400) {
4174 + alias TBN_GETBUTTONINFOW TBN_GETBUTTONINFO; // fixme
4175 + alias TB_GETBUTTONINFOW TB_GETBUTTONINFO;
4176 + alias TB_SETBUTTONINFOW TB_SETBUTTONINFO;
4177 + alias TB_INSERTBUTTONW TB_INSERTBUTTON;
4178 + alias TB_ADDBUTTONSW TB_ADDBUTTONS;
4179 + alias TB_MAPACCELERATORW TB_MAPACCELERATOR;
4180 + alias TB_GETSTRINGW TB_GETSTRING;
4181 + alias TBBUTTONINFOW TBBUTTONINFO;
4182 + alias LPTBBUTTONINFOW LPTBBUTTONINFO;
4183 + alias TBN_GETDISPINFOW TBN_GETDISPINFO;
4184 + alias NMTBDISPINFOW NMTBDISPINFO;
4185 + alias LPNMTBDISPINFOW LPNMTBDISPINFO;
4186 + alias NMTBGETINFOTIPW NMTBGETINFOTIP;
4187 + alias LPNMTBGETINFOTIPW LPNMTBGETINFOTIP;
4188 + }
4189 +
4190 + alias TBNOTIFYW TBNOTIFY;
4191 + alias LPTBNOTIFYW LPTBNOTIFY;
4192 + alias NMTOOLBARW NMTOOLBAR;
4193 + alias LPNMTOOLBARW LPNMTOOLBAR;
4194 + alias TTM_ADDTOOLW TTM_ADDTOOL;
4195 + alias TTM_DELTOOLW TTM_DELTOOL;
4196 + alias TTM_NEWTOOLRECTW TTM_NEWTOOLRECT;
4197 + alias TTM_GETTOOLINFOW TTM_GETTOOLINFO;
4198 + alias TTM_SETTOOLINFOW TTM_SETTOOLINFO;
4199 + alias TTM_HITTESTW TTM_HITTEST;
4200 + alias TTM_GETTEXTW TTM_GETTEXT;
4201 + alias TTM_UPDATETIPTEXTW TTM_UPDATETIPTEXT;
4202 + alias TTM_ENUMTOOLSW TTM_ENUMTOOLS;
4203 + alias TTM_GETCURRENTTOOLW TTM_GETCURRENTTOOL;
4204 + alias TTN_NEEDTEXTW TTN_NEEDTEXT;
4205 + alias TTN_GETDISPINFOW TTN_GETDISPINFO;
4206 + //alias SB_GETTEXTW SB_GETTEXT;
4207 + //alias SB_SETTEXTW SB_SETTEXT;
4208 + //alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH;
4209 + alias LV_ITEMW LV_ITEM;
4210 + alias LVITEMW LVITEM;
4211 + alias LVITEM* LPLVITEM;
4212 + alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK;
4213 +
4214 + static if (_WIN32_IE >= 0x400) {
4215 + alias LVBKIMAGEW LVBKIMAGE;
4216 + alias LPLVBKIMAGEW LPLVBKIMAGE;
4217 + alias LVM_SETBKIMAGEW LVM_SETBKIMAGE;
4218 + alias LVM_GETBKIMAGEW LVM_GETBKIMAGE;
4219 + }
4220 +
4221 + alias LVM_GETITEMW LVM_GETITEM;
4222 + alias LVM_SETITEMW LVM_SETITEM;
4223 + alias LVM_INSERTITEMW LVM_INSERTITEM;
4224 + alias LV_FINDINFOW LV_FINDINFO;
4225 + alias LVFINDINFOW LVFINDINFO;
4226 + alias LPFINDINFOW LPFINDINFO;
4227 + alias NMLVFINDITEMW NMLVFINDITEM;
4228 + alias PNMLVFINDITEMW PNMLVFINDITEM;
4229 + alias LPNMLVFINDITEMW LPNMLVFINDITEM;
4230 + alias LVM_FINDITEMW LVM_FINDITEM;
4231 + alias LVM_GETSTRINGWIDTHW LVM_GETSTRINGWIDTH;
4232 + alias LVM_EDITLABELW LVM_EDITLABEL;
4233 + alias LV_COLUMNW LV_COLUMN;
4234 + alias LVCOLUMNW LVCOLUMN;
4235 + alias LVCOLUMNW* LPLVCOLUMN;
4236 + alias LVM_GETCOLUMNW LVM_GETCOLUMN;
4237 + alias LVM_SETCOLUMNW LVM_SETCOLUMN;
4238 + alias LVM_INSERTCOLUMNW LVM_INSERTCOLUMN;
4239 + alias LVM_GETITEMTEXTW LVM_GETITEMTEXT;
4240 + alias LVM_SETITEMTEXTW LVM_SETITEMTEXT;
4241 + alias LVM_GETISEARCHSTRINGW LVM_GETISEARCHSTRING;
4242 + alias LVN_BEGINLABELEDITW LVN_BEGINLABELEDIT;
4243 + alias LVN_ENDLABELEDITW LVN_ENDLABELEDIT;
4244 + alias LVN_GETDISPINFOW LVN_GETDISPINFO;
4245 + alias LVN_SETDISPINFOW LVN_SETDISPINFO;
4246 +
4247 + static if (_WIN32_IE >= 0x400) {
4248 + alias LVN_GETINFOTIPW LVN_GETINFOTIP;
4249 + alias NMLVGETINFOTIPW NMLVGETINFOTIP;
4250 + alias LPNMLVGETINFOTIPW LPNMLVGETINFOTIP;
4251 + }
4252 +
4253 + alias LV_DISPINFOW LV_DISPINFO;
4254 + alias NMLVDISPINFOW NMLVDISPINFO;
4255 + alias LPNMLVDISPINFOW LPNMLVDISPINFO;
4256 + alias TVM_INSERTITEMW TVM_INSERTITEM;
4257 + alias TVM_GETITEMW TVM_GETITEM;
4258 + alias TVM_SETITEMW TVM_SETITEM;
4259 + alias TVM_EDITLABELW TVM_EDITLABEL;
4260 + alias TVM_GETISEARCHSTRINGW TVM_GETISEARCHSTRING;
4261 + alias NMTVDISPINFOW TV_DISPINFO;
4262 + alias NMTVDISPINFOW NMTVDISPINFO;
4263 + alias LPNMTVDISPINFOW LPNMTVDISPINFO;
4264 +
4265 + static if (_WIN32_IE >= 0x400) {
4266 + alias NMTVGETINFOTIPW NMTVGETINFOTIP;
4267 + alias LPNMTVGETINFOTIPW LPNMTVGETINFOTIP;
4268 + alias TVN_GETINFOTIPW TVN_GETINFOTIP;
4269 + }
4270 +
4271 + alias TVN_SELCHANGINGW TVN_SELCHANGING;
4272 + alias TVN_SELCHANGEDW TVN_SELCHANGED;
4273 + alias TVN_GETDISPINFOW TVN_GETDISPINFO;
4274 + alias TVN_SETDISPINFOW TVN_SETDISPINFO;
4275 + alias TVN_ITEMEXPANDINGW TVN_ITEMEXPANDING;
4276 + alias TVN_ITEMEXPANDEDW TVN_ITEMEXPANDED;
4277 + alias TVN_BEGINDRAGW TVN_BEGINDRAG;
4278 + alias TVN_BEGINRDRAGW TVN_BEGINRDRAG;
4279 + alias TVN_DELETEITEMW TVN_DELETEITEM;
4280 + alias TVN_BEGINLABELEDITW TVN_BEGINLABELEDIT;
4281 + alias TVN_ENDLABELEDITW TVN_ENDLABELEDIT;
4282 + alias TC_ITEMHEADERW TC_ITEMHEADER;
4283 + alias TC_ITEMW TC_ITEM;
4284 + alias TCITEMW TCITEM;
4285 + alias LPTCITEMW LPTCITEM;
4286 + alias TCM_GETITEMW TCM_GETITEM;
4287 + alias TCM_SETITEMW TCM_SETITEM;
4288 + alias TCM_INSERTITEMW TCM_INSERTITEM;
4289 + alias CreateStatusWindowW CreateStatusWindow;
4290 + alias DrawStatusTextW DrawStatusText;
4291 + alias ImageList_LoadImageW ImageList_LoadImage;
4292 + alias DTM_SETFORMATW DTM_SETFORMAT;
4293 + alias DTN_USERSTRINGW DTN_USERSTRING;
4294 + alias DTN_WMKEYDOWNW DTN_WMKEYDOWN;
4295 + alias DTN_FORMATW DTN_FORMAT;
4296 + alias DTN_FORMATQUERYW DTN_FORMATQUERY;
4297 + alias REBARBANDINFOW REBARBANDINFO;
4298 + alias REBARBANDINFO* LPREBARBANDINFO;
4299 + alias LPCREBARBANDINFOW LPCREBARBANDINFO;
4300 + alias REBARBANDINFOW_V3_SIZE REBARBANDINFO_V3_SIZE;
4301 + alias RB_INSERTBANDW RB_INSERTBAND;
4302 + alias RB_SETBANDINFOW RB_SETBANDINFO;
4303 +} else {
4304 + alias HDITEMA HDITEM;
4305 + alias LPHDITEMA LPHDITEM;
4306 + alias TOOLINFOA TOOLINFO;
4307 + alias TOOLINFOA* PTOOLINFO, LPTOOLINFO;
4308 + alias TTHITTESTINFOA TTHITTESTINFO;
4309 + alias TTHITTESTINFOA* LPHITTESTINFO, LPTTHITTESTINFO;
4310 + alias TOOLTIPTEXTA TOOLTIPTEXT;
4311 + alias TOOLTIPTEXTA* LPTOOLTIPTEXT;
4312 + alias NMTTDISPINFOA NMTTDISPINFO;
4313 + alias NMTTDISPINFOA* LPNMTTDISPINFO;
4314 + alias TV_ITEMA TV_ITEM;
4315 + alias TV_ITEMA* LPTV_ITEM;
4316 + alias TVITEMA TVITEM;
4317 + alias TVITEMA* LPTVITEM;
4318 +
4319 + static if (_WIN32_IE >= 0x400) {
4320 + alias TVITEMEXA TVITEMEX;
4321 + alias TVITEMEXA* LPTVITEMEX;
4322 + }
4323 +
4324 + alias TV_INSERTSTRUCTA TV_INSERTSTRUCT;
4325 + alias TV_INSERTSTRUCTA* LPTV_INSERTSTRUCT;
4326 + alias TVINSERTSTRUCTA TVINSERTSTRUCT;
4327 + alias TVINSERTSTRUCTA* LPTVINSERTSTRUCT;
4328 + alias NM_TREEVIEWA NM_TREEVIEW;
4329 + alias NM_TREEVIEWA* LPNM_TREEVIEW;
4330 + alias NMTREEVIEWA NMTREEVIEW;
4331 + alias NMTREEVIEWA* LPNMTREEVIEW;
4332 + alias NMHDDISPINFOW NMHDDISPINFO;
4333 + alias NMHDDISPINFOW* LPNMHDDISPINFO;
4334 +
4335 + alias ACM_OPENA ACM_OPEN;
4336 + alias COMBOBOXEXITEMA COMBOBOXEXITEM;
4337 + alias PCOMBOBOXEXITEMA PCOMBOBOXEXITEM;
4338 + //alias PCCOMBOBOXEXITEMA PCCOMBOBOXEXITEM; fixme
4339 + alias CBEM_INSERTITEMA CBEM_INSERTITEM;
4340 + alias CBEM_SETITEMA CBEM_SETITEM;
4341 + alias CBEM_GETITEMA CBEM_GETITEM;
4342 + alias CBEN_ENDEDITA CBEN_ENDEDIT;
4343 + alias NMCBEENDEDITA NMCBEENDEDIT;
4344 + alias LPNMCBEENDEDITA LPNMCBEENDEDIT;
4345 + alias PNMCBEENDEDITA PNMCBEENDEDIT;
4346 +
4347 + static if (_WIN32_IE >= 0x400) {
4348 + alias TB_GETBUTTONINFOA TB_GETBUTTONINFO;
4349 + alias TB_SETBUTTONINFOA TB_SETBUTTONINFO;
4350 + alias TB_INSERTBUTTONA TB_INSERTBUTTON;
4351 + alias TB_ADDBUTTONSA TB_ADDBUTTONS;
4352 + alias TB_MAPACCELERATORA TB_MAPACCELERATOR;
4353 + alias TB_GETSTRINGA TB_GETSTRING;
4354 + alias NMCOMBOBOXEXA NMCOMBOBOXEX;
4355 + alias PNMCOMBOBOXEXA PNMCOMBOBOXEX;
4356 + alias CBEN_DRAGBEGINA CBEN_DRAGBEGIN;
4357 + alias CBEN_GETDISPINFOA CBEN_GETDISPINFO;
4358 + alias NMCBEDRAGBEGINA NMCBEDRAGBEGIN;
4359 + alias LPNMCBEDRAGBEGINA LPNMCBEDRAGBEGIN;
4360 + alias PNMCBEDRAGBEGINA PNMCBEDRAGBEGIN;
4361 + alias TBN_GETDISPINFOA TBN_GETDISPINFO;
4362 + alias NMTBDISPINFOA NMTBDISPINFO;
4363 + alias LPNMTBDISPINFOA LPNMTBDISPINFO;
4364 + alias NMTBGETINFOTIPA NMTBGETINFOTIP;
4365 + alias LPNMTBGETINFOTIPA LPNMTBGETINFOTIP;
4366 + }
4367 +
4368 + alias SB_GETTEXTA SB_GETTEXT;
4369 + alias SB_SETTEXTA SB_SETTEXT;
4370 + alias SB_GETTEXTLENGTHA SB_GETTEXTLENGTH;
4371 + alias HDM_INSERTITEMA HDM_INSERTITEM;
4372 + alias HDM_GETITEMA HDM_GETITEM;
4373 + alias HDM_SETITEMA HDM_SETITEM;
4374 + alias HDN_ITEMCHANGINGA HDN_ITEMCHANGING;
4375 + alias HDN_ITEMCHANGEDA HDN_ITEMCHANGED;
4376 + alias HDN_ITEMCLICKA HDN_ITEMCLICK;
4377 + alias HDN_ITEMDBLCLICKA HDN_ITEMDBLCLICK;
4378 + alias HDN_DIVIDERDBLCLICKA HDN_DIVIDERDBLCLICK;
4379 + alias HDN_BEGINTRACKA HDN_BEGINTRACK;
4380 + alias HDN_ENDTRACKA HDN_ENDTRACK;
4381 + alias HDN_TRACKA HDN_TRACK;
4382 +
4383 + static if (_WIN32_IE >= 0x300) {
4384 + alias HDN_GETDISPINFOA HDN_GETDISPINFO;
4385 + }
4386 +
4387 + alias HD_NOTIFYA HD_NOTIFY;
4388 + alias TBSAVEPARAMSA TBSAVEPARAMS;
4389 + alias TB_GETBUTTONTEXTA TB_GETBUTTONTEXT;
4390 + alias TB_SAVERESTOREA TB_SAVERESTORE;
4391 + alias TB_ADDSTRINGA TB_ADDSTRING;
4392 + alias TBN_GETBUTTONINFOA TBN_GETBUTTONINFO;
4393 +
4394 + static if (_WIN32_IE >= 0x400) {
4395 + alias TBBUTTONINFOA TBBUTTONINFO;
4396 + alias LPTBBUTTONINFOA LPTBBUTTONINFO;
4397 + }
4398 +
4399 + alias TBNOTIFYA TBNOTIFY;
4400 + alias LPTBNOTIFYA LPTBNOTIFY;
4401 + alias NMTOOLBARA NMTOOLBAR;
4402 + alias LPNMTOOLBARA LPNMTOOLBAR;
4403 + alias TTM_ADDTOOLA TTM_ADDTOOL;
4404 + alias TTM_DELTOOLA TTM_DELTOOL;
4405 + alias TTM_NEWTOOLRECTA TTM_NEWTOOLRECT;
4406 + alias TTM_GETTOOLINFOA TTM_GETTOOLINFO;
4407 + alias TTM_SETTOOLINFOA TTM_SETTOOLINFO;
4408 + alias TTM_HITTESTA TTM_HITTEST;
4409 + alias TTM_GETTEXTA TTM_GETTEXT;
4410 + alias TTM_UPDATETIPTEXTA TTM_UPDATETIPTEXT;
4411 + alias TTM_ENUMTOOLSA TTM_ENUMTOOLS;
4412 + alias TTM_GETCURRENTTOOLA TTM_GETCURRENTTOOL;
4413 + alias TTN_NEEDTEXTA TTN_NEEDTEXT;
4414 + alias TTN_GETDISPINFOA TTN_GETDISPINFO;
4415 + alias LV_ITEMA LV_ITEM;
4416 + alias LVITEMA LVITEM;
4417 + alias LVITEM* LPLVITEM;
4418 + alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK;
4419 +
4420 + static if (_WIN32_IE >= 0x400) {
4421 + alias LVBKIMAGEA LVBKIMAGE;
4422 + alias LPLVBKIMAGEA LPLVBKIMAGE;
4423 + alias LVM_SETBKIMAGEA LVM_SETBKIMAGE;
4424 + alias LVM_GETBKIMAGEA LVM_GETBKIMAGE;
4425 + }
4426 +
4427 + alias LVM_GETITEMA LVM_GETITEM;
4428 + alias LVM_SETITEMA LVM_SETITEM;
4429 + alias LVM_INSERTITEMA LVM_INSERTITEM;
4430 + alias LV_FINDINFOA LV_FINDINFO;
4431 + alias LVFINDINFOA LVFINDINFO;
4432 + alias LPFINDINFOA LPFINDINFO;
4433 + alias NMLVFINDITEMA NMLVFINDITEM;
4434 + alias PNMLVFINDITEMA PNMLVFINDITEM;
4435 + alias LPNMLVFINDITEMA LPNMLVFINDITEM;
4436 + alias LVM_FINDITEMA LVM_FINDITEM;
4437 + alias LVM_GETSTRINGWIDTHA LVM_GETSTRINGWIDTH;
4438 + alias LVM_EDITLABELA LVM_EDITLABEL;
4439 + alias LV_COLUMNA LV_COLUMN;
4440 + alias LVCOLUMNA LVCOLUMN;
4441 + alias LVCOLUMNA* LPLVCOLUMN;
4442 + alias LVM_GETCOLUMNA LVM_GETCOLUMN;
4443 + alias LVM_SETCOLUMNA LVM_SETCOLUMN;
4444 + alias LVM_INSERTCOLUMNA LVM_INSERTCOLUMN;
4445 + alias LVM_GETITEMTEXTA LVM_GETITEMTEXT;
4446 + alias LVM_SETITEMTEXTA LVM_SETITEMTEXT;
4447 + alias LVM_GETISEARCHSTRINGA LVM_GETISEARCHSTRING;
4448 + alias LVN_BEGINLABELEDITA LVN_BEGINLABELEDIT;
4449 + alias LVN_ENDLABELEDITA LVN_ENDLABELEDIT;
4450 + alias LVN_GETDISPINFOA LVN_GETDISPINFO;
4451 + alias LVN_SETDISPINFOA LVN_SETDISPINFO;
4452 +
4453 + static if (_WIN32_IE >= 0x400) {
4454 + alias LVN_GETINFOTIPA LVN_GETINFOTIP;
4455 + alias NMLVGETINFOTIPA NMLVGETINFOTIP;
4456 + alias LPNMLVGETINFOTIPA LPNMLVGETINFOTIP;
4457 + }
4458 +
4459 + alias LV_DISPINFOA LV_DISPINFO;
4460 + alias NMLVDISPINFOA NMLVDISPINFO;
4461 + alias LPNMLVDISPINFOA LPNMLVDISPINFO;
4462 + alias TVM_INSERTITEMA TVM_INSERTITEM;
4463 + alias TVM_GETITEMA TVM_GETITEM;
4464 + alias TVM_SETITEMA TVM_SETITEM;
4465 + alias TVM_EDITLABELA TVM_EDITLABEL;
4466 + alias TVM_GETISEARCHSTRINGA TVM_GETISEARCHSTRING;
4467 + alias NMTVDISPINFOA TV_DISPINFO;
4468 + alias NMTVDISPINFOA NMTVDISPINFO;
4469 + alias LPNMTVDISPINFOA LPNMTVDISPINFO;
4470 +
4471 + static if (_WIN32_IE >= 0x400) {
4472 + alias NMTVGETINFOTIPA NMTVGETINFOTIP;
4473 + alias LPNMTVGETINFOTIPA LPNMTVGETINFOTIP;
4474 + alias TVN_GETINFOTIPA TVN_GETINFOTIP;
4475 + }
4476 +
4477 + alias TVN_SELCHANGINGA TVN_SELCHANGING;
4478 + alias TVN_SELCHANGEDA TVN_SELCHANGED;
4479 + alias TVN_GETDISPINFOA TVN_GETDISPINFO;
4480 + alias TVN_SETDISPINFOA TVN_SETDISPINFO;
4481 + alias TVN_ITEMEXPANDINGA TVN_ITEMEXPANDING;
4482 + alias TVN_ITEMEXPANDEDA TVN_ITEMEXPANDED;
4483 + alias TVN_BEGINDRAGA TVN_BEGINDRAG;
4484 + alias TVN_BEGINRDRAGA TVN_BEGINRDRAG;
4485 + alias TVN_DELETEITEMA TVN_DELETEITEM;
4486 + alias TVN_BEGINLABELEDITA TVN_BEGINLABELEDIT;
4487 + alias TVN_ENDLABELEDITA TVN_ENDLABELEDIT;
4488 + alias TC_ITEMHEADERA TC_ITEMHEADER;
4489 + alias TC_ITEMA TC_ITEM;
4490 + alias TCITEMA TCITEM;
4491 + alias LPTCITEMA LPTCITEM;
4492 + alias TCM_GETITEMA TCM_GETITEM;
4493 + alias TCM_SETITEMA TCM_SETITEM;
4494 + alias TCM_INSERTITEMA TCM_INSERTITEM;
4495 + alias CreateStatusWindowA CreateStatusWindow;
4496 + alias DrawStatusTextA DrawStatusText;
4497 + alias ImageList_LoadImageA ImageList_LoadImage;
4498 + alias DTM_SETFORMATA DTM_SETFORMAT;
4499 + alias DTN_USERSTRINGA DTN_USERSTRING;
4500 + alias DTN_WMKEYDOWNA DTN_WMKEYDOWN;
4501 + alias DTN_FORMATA DTN_FORMAT;
4502 + alias DTN_FORMATQUERYA DTN_FORMATQUERY;
4503 + alias REBARBANDINFOA REBARBANDINFO;
4504 + alias REBARBANDINFOA* LPREBARBANDINFO;
4505 + alias LPCREBARBANDINFOA LPCREBARBANDINFO;
4506 + alias REBARBANDINFOA_V3_SIZE REBARBANDINFO_V3_SIZE;
4507 + alias RB_INSERTBANDA RB_INSERTBAND;
4508 + alias RB_SETBANDINFOA RB_SETBANDINFO;
4509 +}
4510 +
4511 +
4512 +alias INT function(PVOID, PVOID) PFNDPAENUMCALLBACK;
4513 +alias INT function(PVOID, PVOID) PFNDSAENUMCALLBACK;
4514 +alias INT function(PVOID, PVOID, LPARAM) PFNDPACOMPARE;
4515 +
4516 +static if (_WIN32_WINNT >= 0x501) {
4517 + extern (Windows)
4518 + alias LRESULT function(HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR)
4519 + SUBCLASSPROC;
4520 +
4521 + struct LITEM {
4522 + UINT mask;
4523 + int iLink;
4524 + UINT state;
4525 + UINT stateMask;
4526 + WCHAR[MAX_LINKID_TEXT] szID;
4527 + WCHAR[L_MAX_URL_LENGTH] szUrl;
4528 + }
4529 + alias LITEM* PLITEM;
4530 +
4531 + struct LHITTESTINFO {
4532 + POINT pt;
4533 + LITEM item;
4534 + }
4535 + alias LHITTESTINFO* PLHITTESTINFO;
4536 +
4537 + struct NMLINK {
4538 + NMHDR hdr;
4539 + LITEM item;
4540 + }
4541 + alias NMLINK* PNMLINK;
4542 +}
4543 +
4544 +uint INDEXTOOVERLAYMASK(uint i) { return i << 8; }
4545 +uint INDEXTOSTATEIMAGEMASK(uint i) { return i << 12; }
4546 +
4547 +template HANDLE_WM_NOTIFY(R) {
4548 + R HANDLE_WM_NOTIFY(HWND hwnd, WPARAM wParam, LPARAM lParam,
4549 + R function(HWND, int, NMHDR*) fn) {
4550 + return fn(hwnd, wParam, cast(NMHDR*) lParam);
4551 + }
4552 +}
4553 +int FORWARD_WM_NOTIFY(HWND hwnd, int idFrom, NMHDR* pnmhdr,
4554 + int function(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) fn) {
4555 + return fn(hwnd, WM_NOTIFY, idFrom, cast(LPARAM) pnmhdr);
4556 +}
4557 +
4558 +//#define CCSIZEOF_STRUCT(s, m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m))
4559 +
4560 +LPARAM MAKEIPADDRESS(ubyte b1, ubyte b2, ubyte b3, ubyte b4) {
4561 + return (cast(DWORD) b1 << 24)
4562 + | (cast(DWORD) b2 << 16)
4563 + | (cast(DWORD) b3 << 8)
4564 + | (cast(DWORD) b4);
4565 +}
4566 +
4567 +LPARAM MAKEIPRANGE(ubyte low, ubyte high) {
4568 + return (cast(int) high << 8) | low;
4569 +}
4570 +
4571 +ubyte FIRST_IPADDRESS(LPARAM x) {
4572 + return cast(ubyte) (x >> 24);
4573 +}
4574 +
4575 +ubyte SECOND_IPADDRESS(LPARAM x) {
4576 + return cast(ubyte) (x >> 16);
4577 +}
4578 +
4579 +ubyte THIRD_IPADDRESS(LPARAM x) {
4580 + return cast(ubyte) (x >> 8);
4581 +}
4582 +
4583 +ubyte FOURTH_IPADDRESS(LPARAM x) {
4584 + return cast(ubyte) x;
4585 +}
4586 +
4587 +HWND Animate_Create(HWND hwndP, UINT id, DWORD dwStyle,
4588 + HINSTANCE hInstance) {
4589 + return CreateWindow(cast(TCHAR*)ANIMATE_CLASS.ptr, null, dwStyle, 0, 0, 0, 0, hwndP,
4590 + cast(HMENU) id, hInstance, null);
4591 +}
4592 +
4593 +BOOL Animate_Open(HWND hwnd, LPTSTR szName) {
4594 + return SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName);
4595 +}
4596 +
4597 +BOOL Animate_OpenEx(HWND hwnd, HINSTANCE hInst, LPTSTR szName) {
4598 + return SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst,
4599 + cast(LPARAM) szName);
4600 +}
4601 +
4602 +BOOL Animate_Play(HWND hwnd, int from, int to, int rep) {
4603 + return SendMessage(hwnd, ACM_PLAY, rep,
4604 + MAKELONG(cast(ushort) from, cast(ushort) to));
4605 +}
4606 +
4607 +BOOL Animate_Stop(HWND hwnd) {
4608 + return SendMessage(hwnd, ACM_STOP, 0, 0);
4609 +}
4610 +
4611 +BOOL Animate_Close(HWND hwnd) {
4612 + return Animate_Open(hwnd, null);
4613 +}
4614 +
4615 +BOOL Animate_Seek(HWND hwnd, int frame) {
4616 + return Animate_Play(hwnd, frame, frame, 1);
4617 +}
4618 +
4619 +extern (Windows) {
4620 + HBITMAP CreateMappedBitmap(HINSTANCE, int, UINT, LPCOLORMAP, int);
4621 + HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT);
4622 + HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT);
4623 + HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT,
4624 + LPCTBBUTTON, int, int, int, int, int, UINT);
4625 + HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINSTANCE,
4626 + HWND, int, int, int);
4627 +}
4628 +
4629 +HWND DateTime_GetMonthCal(HWND hwnd) {
4630 + return cast(HWND) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0);
4631 +}
4632 +
4633 +COLORREF DateTime_GetMonthCalColor(HWND hwnd, int iColor) {
4634 + return cast(COLORREF) SendMessage(hwnd, DTM_GETMCCOLOR, iColor, 0);
4635 +}
4636 +
4637 +HFONT DateTime_GetMonthCalFont(HWND hwnd) {
4638 + return cast(HFONT) SendMessage(hwnd, DTM_GETMCFONT, 0, 0);
4639 +}
4640 +
4641 +DWORD DateTime_GetRange(HWND hwnd, LPSYSTEMTIME lpSysTimeArray) {
4642 + return SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray);
4643 +}
4644 +
4645 +DWORD DateTime_GetSystemtime(HWND hwnd, LPSYSTEMTIME lpSysTime) {
4646 + return SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) lpSysTime);
4647 +}
4648 +
4649 +BOOL DateTime_SetFormat(HWND hwnd, LPCTSTR lpszFormat) {
4650 + return cast(BOOL) SendMessage(hwnd, DTM_SETFORMAT, 0,
4651 + cast(LPARAM) lpszFormat);
4652 +}
4653 +
4654 +LRESULT DateTime_SetMonthCalColor(HWND hwnd, int iColor, COLORREF clr) {
4655 + return SendMessage(hwnd, DTM_SETMCCOLOR, cast(WPARAM) iColor,
4656 + cast(LPARAM) clr);
4657 +}
4658 +
4659 +void DateTime_SetMonthCalFont(HWND hwnd, HFONT hfont, BOOL fRedraw) {
4660 + SendMessage(hwnd, DTM_SETMCFONT, cast(WPARAM) hfont, fRedraw);
4661 +}
4662 +
4663 +BOOL DateTime_SetRange(HWND hwnd, WPARAM flags, LPSYSTEMTIME lpSysTimeArray) {
4664 + return cast(BOOL) SendMessage(hwnd, DTM_SETRANGE, flags,
4665 + cast(LPARAM) lpSysTimeArray);
4666 +}
4667 +
4668 +BOOL DateTime_SetSystemtime(HWND hwnd, WPARAM flag, LPSYSTEMTIME lpSysTime) {
4669 + return cast(BOOL) SendMessage(hwnd, DTM_SETSYSTEMTIME, flag,
4670 + cast(LPARAM) lpSysTime);
4671 +}
4672 +
4673 +extern (Windows) {
4674 + void DrawInsert(HWND, HWND, int);
4675 + void DrawStatusTextA(HDC, LPRECT, LPCSTR, UINT);
4676 + void DrawStatusTextW(HDC, LPRECT, LPCWSTR, UINT);
4677 + void GetEffectiveClientRect(HWND, LPRECT, LPINT);
4678 +}
4679 +
4680 +int Header_GetItemCount(HWND w) {
4681 + return SendMessage(w, HDM_GETITEMCOUNT, 0, 0);
4682 +}
4683 +
4684 +int Header_InsertItem(HWND w, int i, CPtr!(HDITEM) phdi) {
4685 + return SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi);
4686 +}
4687 +
4688 +BOOL Header_DeleteItem(HWND w, int i) {
4689 + return cast(BOOL) SendMessage(w, HDM_DELETEITEM, i, 0);
4690 +}
4691 +
4692 +BOOL Header_GetItem(HWND w, int i, LPHDITEM phdi) {
4693 + return cast(BOOL) SendMessage(w, HDM_GETITEM, i, cast(LPARAM) phdi);
4694 +}
4695 +
4696 +BOOL Header_SetItem(HWND w, int i, CPtr!(HDITEM) phdi) {
4697 + return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi);
4698 +}
4699 +
4700 +BOOL Header_Layout(HWND w, LPHDLAYOUT playout) {
4701 + return SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout);
4702 +}
4703 +
4704 +static if (_WIN32_IE >= 0x300) {
4705 + int Header_OrderToIndex(HWND w, int i) {
4706 + return SendMessage(w, HDM_ORDERTOINDEX, i, 0);
4707 + }
4708 +
4709 + BOOL Header_GetItemRect(HWND w, int i, RECT* r) {
4710 + return cast(BOOL) SendMessage(w, HDM_GETITEMRECT, i, cast(LPARAM) r);
4711 + }
4712 +
4713 + BOOL Header_GetOrderArray(HWND w, int iSize, LPINT lpiArray) {
4714 + return cast(BOOL) SendMessage(w, HDM_GETORDERARRAY, iSize,
4715 + cast(LPARAM) lpiArray);
4716 + }
4717 +
4718 + BOOL Header_SetOrderArray(HWND w, int iSize, LPINT lpiArray) {
4719 + return cast(BOOL) SendMessage(w, HDM_SETORDERARRAY, iSize,
4720 + cast(LPARAM) lpiArray);
4721 + }
4722 +
4723 + HIMAGELIST Header_CreateDragImage(HWND w, int i) {
4724 + return cast(HIMAGELIST) SendMessage(w, HDM_CREATEDRAGIMAGE, i, 0);
4725 + }
4726 +
4727 + HIMAGELIST Header_SetImageList(HWND w, HIMAGELIST himl) {
4728 + return cast(HIMAGELIST) SendMessage(w, HDM_SETIMAGELIST, 0,
4729 + cast(LPARAM) himl);
4730 + }
4731 +
4732 + HIMAGELIST Header_GetImageList(HWND w) {
4733 + return cast(HIMAGELIST) SendMessage(w, HDM_GETIMAGELIST, 0, 0);
4734 + }
4735 +}
4736 +
4737 +static if (_WIN32_IE >= 0x400) {
4738 + BOOL Header_GetUnicodeFormat(HWND w) {
4739 + return cast(BOOL) SendMessage(w, HDM_GETUNICODEFORMAT, 0, 0);
4740 + }
4741 +
4742 + BOOL Header_SetUnicodeFormat(HWND w, BOOL fUnicode) {
4743 + return cast(BOOL) SendMessage(w, HDM_SETUNICODEFORMAT, fUnicode, 0);
4744 + }
4745 +}
4746 +
4747 +extern (Windows) {
4748 + HDSA DSA_Create(INT, INT);
4749 + BOOL DSA_Destroy(HDSA);
4750 + VOID DSA_DestroyCallback(HDSA, PFNDSAENUMCALLBACK, PVOID);
4751 + PVOID DSA_GetItemPtr(HDSA, INT);
4752 + INT DSA_InsertItem(HDSA, INT, PVOID);
4753 + HDPA DPA_Create(INT);
4754 + BOOL DPA_Destroy(HDPA);
4755 + PVOID DPA_DeletePtr(HDPA, INT);
4756 + BOOL DPA_DeleteAllPtrs(HDPA);
4757 + VOID DPA_EnumCallback(HDPA, PFNDPAENUMCALLBACK, PVOID);
4758 + VOID DPA_DestroyCallback(HDPA, PFNDPAENUMCALLBACK, PVOID);
4759 + BOOL DPA_SetPtr(HDPA, INT, PVOID);
4760 + INT DPA_InsertPtr(HDPA, INT, PVOID);
4761 + PVOID DPA_GetPtr(HDPA, INT_PTR);
4762 + BOOL DPA_Sort(HDPA, PFNDPACOMPARE, LPARAM);
4763 + INT DPA_Search(HDPA, PVOID, INT, PFNDPACOMPARE, LPARAM, UINT);
4764 + BOOL Str_SetPtrW(LPWSTR*, LPCWSTR);
4765 +
4766 + static if (_WIN32_IE >= 0x400) {
4767 + BOOL FlatSB_EnableScrollBar(HWND, INT, UINT);
4768 + BOOL FlatSB_ShowScrollBar(HWND, INT, BOOL);
4769 + BOOL FlatSB_GetScrollRange(HWND, INT, LPINT, LPINT);
4770 + BOOL FlatSB_GetScrollInfo(HWND, INT, LPSCROLLINFO);
4771 + INT FlatSB_GetScrollPos(HWND, INT);
4772 + BOOL FlatSB_GetScrollProp(HWND, INT, LPINT);
4773 + version (Win64) {
4774 + BOOL FlatSB_GetScrollPropPtr(HWND, INT, PINT_PTR);
4775 + } else {
4776 + alias FlatSB_GetScrollProp FlatSB_GetScrollPropPtr;
4777 + }
4778 + INT FlatSB_SetScrollPos(HWND, INT, INT, BOOL);
4779 + INT FlatSB_SetScrollInfo(HWND, INT, LPSCROLLINFO, BOOL);
4780 + INT FlatSB_SetScrollRange(HWND, INT, INT, INT, BOOL);
4781 + BOOL FlatSB_SetScrollProp(HWND, UINT, INT_PTR, BOOL);
4782 + alias FlatSB_SetScrollProp FlatSB_SetScrollPropPtr;
4783 + BOOL InitializeFlatSB(HWND);
4784 + HRESULT UninitializeFlatSB(HWND);
4785 + }
4786 +
4787 + static if (_WIN32_WINNT >= 0x501) {
4788 + BOOL SetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR);
4789 + BOOL GetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR*);
4790 + BOOL RemoveWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR);
4791 + LRESULT DefSubclassProc(HWND, UINT, WPARAM, LPARAM);
4792 + INT DrawShadowText(HDC, LPCWSTR, UINT, RECT*, DWORD, COLORREF,
4793 + COLORREF, INT, INT);
4794 + }
4795 +
4796 + int ImageList_Add(HIMAGELIST, HBITMAP, HBITMAP);
4797 + int ImageList_AddMasked(HIMAGELIST, HBITMAP, COLORREF);
4798 + BOOL ImageList_BeginDrag(HIMAGELIST, int, int, int);
4799 + HIMAGELIST ImageList_Create(int, int, UINT, int, int);
4800 + BOOL ImageList_Destroy(HIMAGELIST);
4801 + BOOL ImageList_DragEnter(HWND, int, int);
4802 + BOOL ImageList_DragLeave(HWND);
4803 + BOOL ImageList_DragMove(int, int);
4804 + BOOL ImageList_DragShowNolock(BOOL);
4805 + BOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT);
4806 + BOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF,
4807 + COLORREF, UINT);
4808 + void ImageList_EndDrag(PVOID);
4809 + COLORREF ImageList_GetBkColor(HIMAGELIST);
4810 + HIMAGELIST ImageList_GetDragImage(LPPOINT, LPPOINT);
4811 + HICON ImageList_GetIcon(HIMAGELIST, int, UINT);
4812 + BOOL ImageList_GetIconSize(HIMAGELIST, int*, int*);
4813 + int ImageList_GetImageCount(HIMAGELIST);
4814 + BOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*);
4815 + HIMAGELIST ImageList_LoadImageA(HINSTANCE, LPCSTR, int, int, COLORREF,
4816 + UINT, UINT);
4817 + HIMAGELIST ImageList_LoadImageW(HINSTANCE, LPCWSTR, int, int, COLORREF,
4818 + UINT, UINT);
4819 + HIMAGELIST ImageList_Merge(HIMAGELIST, int, HIMAGELIST, int, int, int);
4820 + BOOL ImageList_Remove(HIMAGELIST, int);
4821 + BOOL ImageList_Replace(HIMAGELIST, int, HBITMAP, HBITMAP);
4822 + int ImageList_ReplaceIcon(HIMAGELIST, int, HICON);
4823 + COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF);
4824 + BOOL ImageList_SetDragCursorImage(HIMAGELIST, int, int, int);
4825 + BOOL ImageList_SetIconSize(HIMAGELIST, int, int);
4826 + BOOL ImageList_SetOverlayImage(HIMAGELIST, int, int);
4827 +
4828 + //#ifdef _OBJIDL_H
4829 + HIMAGELIST ImageList_Read(LPSTREAM);
4830 + BOOL ImageList_Write(HIMAGELIST, LPSTREAM);
4831 + //#endif
4832 +
4833 + static if (_WIN32_IE >= 0x400) {
4834 + HIMAGELIST ImageList_Duplicate(HIMAGELIST himl);
4835 + }
4836 +
4837 + void InitCommonControls();
4838 +
4839 + static if (_WIN32_IE >= 0x300) {
4840 + BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
4841 + }
4842 +
4843 + int LBItemFromPt(HWND, POINT, BOOL);
4844 +}
4845 +
4846 +int ImageList_AddIcon(HIMAGELIST himl, HICON hicon) {
4847 + return ImageList_ReplaceIcon(himl, -1, hicon);
4848 +}
4849 +
4850 +HICON ImageList_ExtractIcon(HINSTANCE hi, HIMAGELIST himl, int i) {
4851 + return ImageList_GetIcon(himl, i, 0);
4852 +}
4853 +
4854 +HIMAGELIST ImageList_LoadBitmap(HINSTANCE hi, LPCTSTR lpbmp, int cx,
4855 + int cGrow, COLORREF crMask) {
4856 + return ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0);
4857 +}
4858 +
4859 +BOOL ImageList_RemoveAll(HIMAGELIST himl) {
4860 + return ImageList_Remove(himl, -1);
4861 +}
4862 +
4863 +COLORREF ListView_GetBkColor(HWND w) {
4864 + return cast(COLORREF) SendMessage(w, LVM_GETBKCOLOR, 0, 0);
4865 +}
4866 +
4867 +HIMAGELIST ListView_GetImageList(HWND w, int i) {
4868 + return cast(HIMAGELIST) SendMessage(w, LVM_GETIMAGELIST, i, 0);
4869 +}
4870 +
4871 +int ListView_GetItemCount(HWND w) {
4872 + return SendMessage(w, LVM_GETITEMCOUNT, 0, 0);
4873 +}
4874 +
4875 +BOOL ListView_GetItem(HWND w, LPLVITEM pitem) {
4876 + return cast(BOOL) SendMessage(w, LVM_GETITEM, 0, cast(LPARAM) pitem);
4877 +}
4878 +
4879 +BOOL ListView_SetBkColor(HWND w, COLORREF c) {
4880 + return cast(BOOL) SendMessage(w, LVM_SETBKCOLOR, 0, cast(LPARAM) c);
4881 +}
4882 +
4883 +HIMAGELIST ListView_SetImageList(HWND w, HIMAGELIST h, int i) {
4884 + return cast(HIMAGELIST) SendMessage(w, LVM_SETIMAGELIST, i,
4885 + cast(LPARAM) h);
4886 +}
4887 +
4888 +BOOL ListView_SetItem(HWND w, CPtr!(LV_ITEM) i) {
4889 + return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i);
4890 +}
4891 +
4892 +int ListView_InsertItem(HWND w, CPtr!(LV_ITEM) i) {
4893 + return SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i);
4894 +}
4895 +
4896 +BOOL ListView_DeleteItem(HWND w, int i) {
4897 + return cast(BOOL) SendMessage(w, LVM_DELETEITEM, i, 0);
4898 +}
4899 +
4900 +BOOL ListView_DeleteAllItems(HWND w) {
4901 + return cast(BOOL) SendMessage(w, LVM_DELETEALLITEMS, 0, 0);
4902 +}
4903 +
4904 +UINT ListView_GetCallbackMask(HWND w) {
4905 + return cast(UINT) SendMessage(w, LVM_GETCALLBACKMASK, 0, 0);
4906 +}
4907 +
4908 +BOOL ListView_SetCallbackMask(HWND w, UINT m) {
4909 + return cast(BOOL) SendMessage(w, LVM_SETCALLBACKMASK, m, 0);
4910 +}
4911 +
4912 +int ListView_GetNextItem(HWND w, int i, UINT f) {
4913 + return SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0));
4914 +}
4915 +
4916 +int ListView_FindItem(HWND w, int i, CPtr!(LV_FINDINFO) p) {
4917 + return SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p);
4918 +}
4919 +
4920 +BOOL ListView_GetItemRect(HWND w, int i, LPRECT p, int c) {
4921 + return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, p ?
4922 + (p.left = c, cast(LPARAM) p) : 0);
4923 +}
4924 +
4925 +BOOL ListView_SetItemPosition(HWND w, int i, int x, int y) {
4926 + return cast(BOOL) SendMessage(w, LVM_SETITEMPOSITION, i, MAKELPARAM(cast(ushort)x, cast(ushort)y));
4927 +}
4928 +
4929 +BOOL ListView_GetItemPosition(HWND w, int i, POINT* p) {
4930 + return cast(BOOL) SendMessage(w, LVM_GETITEMPOSITION, i, cast(LPARAM) p);
4931 +}
4932 +
4933 +DWORD ListView_GetItemSpacing(HWND w, BOOL f) {
4934 + return cast(DWORD) SendMessage(w, LVM_GETITEMSPACING, f, 0);
4935 +}
4936 +
4937 +int ListView_GetStringWidth(HWND w, LPCSTR s) {
4938 + return SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s);
4939 +}
4940 +
4941 +int ListView_HitTest(HWND w, LPLVHITTESTINFO p) {
4942 + return SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p);
4943 +}
4944 +
4945 +BOOL ListView_EnsureVisible(HWND w, int i, BOOL f) {
4946 + return cast(BOOL) SendMessage(w, LVM_ENSUREVISIBLE, i, MAKELPARAM(cast(ushort)f, 0));
4947 +}
4948 +
4949 +BOOL ListView_Scroll(HWND w, int dx, int dy) {
4950 + return cast(BOOL) SendMessage(w, LVM_SCROLL, dx, dy);
4951 +}
4952 +
4953 +BOOL ListView_RedrawItems(HWND w, int f, int l) {
4954 + return cast(BOOL) SendMessage(w, LVM_REDRAWITEMS, f, l);
4955 +}
4956 +
4957 +BOOL ListView_Arrange(HWND w, UINT c) {
4958 + return cast(BOOL) SendMessage(w, LVM_ARRANGE, c, 0);
4959 +}
4960 +
4961 +HWND ListView_EditLabel(HWND w, int i) {
4962 + return cast(HWND) SendMessage(w, LVM_EDITLABEL, i, 0);
4963 +}
4964 +
4965 +HWND ListView_GetEditControl(HWND w) {
4966 + return cast(HWND) SendMessage(w, LVM_GETEDITCONTROL, 0, 0);
4967 +}
4968 +
4969 +BOOL ListView_GetColumn(HWND w, int i, LPLVCOLUMN p) {
4970 + return cast(BOOL) SendMessage(w, LVM_GETCOLUMN, i, cast(LPARAM) p);
4971 +}
4972 +
4973 +BOOL ListView_SetColumn(HWND w, int i, CPtr!(LV_COLUMN) p) {
4974 + return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p);
4975 +}
4976 +
4977 +int ListView_InsertColumn(HWND w, int i, CPtr!(LV_COLUMN) p) {
4978 + return SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p);
4979 +}
4980 +
4981 +BOOL ListView_DeleteColumn(HWND w, int i) {
4982 + return cast(BOOL) SendMessage(w, LVM_DELETECOLUMN, i, 0);
4983 +}
4984 +
4985 +int ListView_GetColumnWidth(HWND w, int i) {
4986 + return SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0);
4987 +}
4988 +
4989 +BOOL ListView_SetColumnWidth(HWND w, int i, int x) {
4990 + return cast(BOOL) SendMessage(w, LVM_SETCOLUMNWIDTH, i, MAKELPARAM(cast(ushort)x, 0));
4991 +}
4992 +
4993 +HIMAGELIST ListView_CreateDragImage(HWND w, int i, LPPOINT p) {
4994 + return cast(HIMAGELIST) SendMessage(w, LVM_CREATEDRAGIMAGE, i,
4995 + cast(LPARAM) p);
4996 +}
4997 +
4998 +BOOL ListView_GetViewRect(HWND w, RECT* p) {
4999 + return cast(BOOL) SendMessage(w, LVM_GETVIEWRECT, 0, cast(LPARAM) p);
5000 +}
5001 +
5002 +COLORREF ListView_GetTextColor(HWND w) {
5003 + return cast(COLORREF) SendMessage(w, LVM_GETTEXTCOLOR, 0, 0);
5004 +}
5005 +
5006 +BOOL ListView_SetTextColor(HWND w, COLORREF c) {
5007 + return cast(BOOL) SendMessage(w, LVM_SETTEXTCOLOR, 0, cast(LPARAM) c);
5008 +}
5009 +
5010 +COLORREF ListView_GetTextBkColor(HWND w) {
5011 + return cast(COLORREF) SendMessage(w, LVM_GETTEXTBKCOLOR, 0, 0);
5012 +}
5013 +
5014 +BOOL ListView_SetTextBkColor(HWND w, COLORREF c) {
5015 + return cast(BOOL) SendMessage(w, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM) c);
5016 +}
5017 +
5018 +int ListView_GetTopIndex(HWND w) {
5019 + return SendMessage(w, LVM_GETTOPINDEX, 0, 0);
5020 +}
5021 +
5022 +int ListView_GetCountPerPage(HWND w) {
5023 + return SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0);
5024 +}
5025 +
5026 +BOOL ListView_GetOrigin(HWND w, LPPOINT p) {
5027 + return cast(BOOL) SendMessage(w, LVM_GETORIGIN, 0, cast(LPARAM) p);
5028 +}
5029 +
5030 +BOOL ListView_Update(HWND w, WPARAM i) {
5031 + return cast(BOOL) SendMessage(w, LVM_UPDATE, i, 0);
5032 +}
5033 +
5034 +void ListView_SetItemState(HWND w, int i, UINT d, UINT m) {
5035 + LV_ITEM _lvi;
5036 + _lvi.stateMask = m;
5037 + _lvi.state = d;
5038 + SendMessage(w, LVM_SETITEMSTATE, i, cast(LPARAM) &_lvi);
5039 +}
5040 +
5041 +UINT ListView_GetItemState(HWND w, int i, UINT m) {
5042 + return cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, m);
5043 +}
5044 +
5045 +void ListView_GetItemText(HWND w, int i, int iS, LPTSTR s, int n) {
5046 + LV_ITEM _lvi;
5047 + _lvi.iSubItem = iS;
5048 + _lvi.cchTextMax = n;
5049 + _lvi.pszText = s;
5050 + SendMessage(w, LVM_GETITEMTEXT, i, cast(LPARAM) &_lvi);
5051 +}
5052 +
5053 +void ListView_SetItemText(HWND w, int i, int iS, LPTSTR s) {
5054 + LV_ITEM _lvi;
5055 + _lvi.iSubItem = iS;
5056 + _lvi.pszText = s;
5057 + SendMessage(w, LVM_SETITEMTEXT, i, cast(LPARAM) &_lvi);
5058 +}
5059 +
5060 +void ListView_SetItemCount(HWND w, int n) {
5061 + SendMessage(w, LVM_SETITEMCOUNT, n, 0);
5062 +}
5063 +
5064 +BOOL ListView_SortItems(HWND w, PFNLVCOMPARE f, LPARAM l) {
5065 + return cast(BOOL) SendMessage(w, LVM_SORTITEMS, l, cast(LPARAM) f);
5066 +}
5067 +
5068 +void ListView_SetItemPosition32(HWND w, int i, int x, int y) {
5069 + POINT p;
5070 + p.x = x;
5071 + p.y = y;
5072 + SendMessage(w, LVM_SETITEMPOSITION32, i, cast(LPARAM) &p);
5073 +}
5074 +
5075 +UINT ListView_GetSelectedCount(HWND w) {
5076 + return cast(UINT) SendMessage(w, LVM_GETSELECTEDCOUNT, 0, 0);
5077 +}
5078 +
5079 +UINT ListView_GetCheckState(HWND w, UINT i) {
5080 + return ((cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, LVIS_STATEIMAGEMASK)) >> 12) - 1;
5081 +}
5082 +
5083 +void ListView_SetCheckState(HWND w, UINT i, BOOL f) {
5084 + ListView_SetItemState(w, i, INDEXTOSTATEIMAGEMASK(f ? 2 : 1),
5085 + LVIS_STATEIMAGEMASK);
5086 +}
5087 +
5088 +BOOL ListView_GetISearchString(HWND w, LPSTR lpsz) {
5089 + return cast(BOOL) SendMessage(w, LVM_GETISEARCHSTRING, 0,
5090 + cast(LPARAM) lpsz);
5091 +}
5092 +
5093 +void ListView_CancelEditLabel(HWND w) {
5094 + SendMessage(w, LVM_CANCELEDITLABEL, 0, 0);
5095 +}
5096 +
5097 +int ListView_EnableGroupView(HWND w, BOOL i) {
5098 + return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0);
5099 +}
5100 +
5101 +static if (_WIN32_WINDOWS >= 0x410 && (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500)) {
5102 + BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) {
5103 + return SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, cast(LPARAM)c);
5104 + }
5105 +}
5106 +
5107 +static if (_WIN32_WINNT >= 0x501) {
5108 + int ListView_GetGroupInfo(HWND w, int i, PLVGROUP p) {
5109 + return SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p);
5110 + }
5111 +
5112 + void ListView_GetGroupMetrics(HWND w, PLVGROUPMETRICS p) {
5113 + SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p);
5114 + }
5115 +
5116 + BOOL ListView_GetInsertMark(HWND w, PLVINSERTMARK p) {
5117 + return SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p);
5118 + }
5119 +
5120 + COLORREF ListView_GetInsertMarkColor(HWND w) {
5121 + return SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0);
5122 + }
5123 +
5124 + int ListView_GetInsertMarkRect(HWND w, LPRECT p) {
5125 + return SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p);
5126 + }
5127 +
5128 + COLORREF ListView_GetOutlineColor(HWND w) {
5129 + return SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0);
5130 + }
5131 +
5132 + UINT ListView_GetSelectedColumn(HWND w) {
5133 + return SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0);
5134 + }
5135 +
5136 + void ListView_GetTileInfo(HWND w, PLVTILEINFO p) {
5137 + SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p);
5138 + }
5139 +
5140 + void ListView_GetTileViewInfo(HWND w, PLVTILEVIEWINFO p) {
5141 + SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p);
5142 + }
5143 +
5144 + DWORD ListView_GetView(HWND w) {
5145 + return SendMessage(w, LVM_GETVIEW, 0, 0);
5146 + }
5147 +
5148 + BOOL ListView_HasGroup(HWND w, int i) {
5149 + return SendMessage(w, LVM_HASGROUP, i, 0);
5150 + }
5151 +
5152 + int ListView_InsertGroup(HWND w, int i, PLVGROUP p) {
5153 + return SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p);
5154 + }
5155 +
5156 + void ListView_InsertGroupSorted(HWND w, PLVINSERTGROUPSORTED p) {
5157 + SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0);
5158 + }
5159 +
5160 + BOOL ListView_InsertMarkHitTest(HWND w, LPPOINT p, PLVINSERTMARK t) {
5161 + return SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t);
5162 + }
5163 +
5164 + BOOL ListView_IsGroupViewEnabled(HWND w) {
5165 + return SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0);
5166 + }
5167 +
5168 + UINT ListView_MapIDToIndex(HWND w, UINT i) {
5169 + return SendMessage(w, LVM_MAPIDTOINDEX, i, 0);
5170 + }
5171 +
5172 + /* ??? MSDN documents this as "Not implemented", except in relation to
5173 + * Windows CE/Mobile.
5174 + */
5175 + void ListView_MoveGroup(HWND w, int i, int t) {
5176 + SendMessage(w, LVM_MOVEGROUP, i, t);
5177 + }
5178 +
5179 + void ListView_RemoveAllGroups(HWND w) {
5180 + SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0);
5181 + }
5182 +
5183 + int ListView_RemoveGroup(HWND w, int i) {
5184 + return SendMessage(w, LVM_REMOVEGROUP, i, 0);
5185 + }
5186 +
5187 + int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) {
5188 + return SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p);
5189 + }
5190 +
5191 + void ListView_SetGroupMetrics(HWND w, PLVGROUPMETRICS p) {
5192 + SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p);
5193 + }
5194 +
5195 + BOOL ListView_SetInfoTip(HWND w, PLVSETINFOTIP p) {
5196 + return SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p);
5197 + }
5198 +
5199 + BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) {
5200 + return SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p);
5201 + }
5202 +
5203 + COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) {
5204 + return SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c);
5205 + }
5206 +
5207 + COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) {
5208 + return SendMessage(w, LVM_SETOUTLINECOLOR, 0, c);
5209 + }
5210 +
5211 + void ListView_SetSelectedColumn(HWND w, int i) {
5212 + SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0);
5213 + }
5214 +
5215 + BOOL ListView_SetTileInfo(HWND w, PLVTILEINFO p) {
5216 + return SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p);
5217 + }
5218 +
5219 + BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) {
5220 + return SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p);
5221 + }
5222 +
5223 + int ListView_SetView(HWND w, DWORD i) {
5224 + return SendMessage(w, LVM_SETVIEW, i, 0);
5225 + }
5226 +
5227 + int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) {
5228 + return SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARAM) p);
5229 + }
5230 +}
5231 +
5232 +static if (_WIN32_WINNT >= 0x501) {
5233 + enum {
5234 + CBM_FIRST = 0x1700,
5235 + CB_SETMINVISIBLE = CBM_FIRST + 1,
5236 + CB_GETMINVISIBLE = CBM_FIRST + 2
5237 + }
5238 +
5239 + BOOL ComboBox_SetMinVisible(HWND w, INT i) {
5240 + return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) i, 0);
5241 + }
5242 +
5243 + int ComboBox_GetMinVisible(HWND w) {
5244 + return SendMessage(w, CB_GETMINVISIBLE, 0, 0);
5245 + }
5246 +}
5247 +
5248 +extern (Windows) BOOL MakeDragList(HWND);
5249 +extern (Windows) void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINSTANCE, HWND,
5250 + PUINT);
5251 +
5252 +COLORREF MonthCal_GetColor(HWND hwnd, INT icolor) {
5253 + return cast(COLORREF) SendMessage(hwnd, MCM_GETCOLOR,
5254 + cast(WPARAM) icolor, 0);
5255 +}
5256 +
5257 +BOOL MonthCal_GetCurSel(HWND hwnd, LPSYSTEMTIME lpsystime) {
5258 + return cast(BOOL) SendMessage(hwnd, MCM_GETCURSEL, 0,
5259 + cast(LPARAM) lpsystime);
5260 +}
5261 +
5262 +DWORD MonthCal_GetFirstDayOfWeek(HWND hwnd) {
5263 + return cast(DWORD) SendMessage(hwnd, MCM_GETFIRSTDAYOFWEEK, 0, 0);
5264 +}
5265 +
5266 +DWORD MonthCal_GetMaxSelCount(HWND hwnd) {
5267 + return cast(DWORD) SendMessage(hwnd, MCM_GETMAXSELCOUNT, 0, 0);
5268 +}
5269 +
5270 +DWORD MonthCal_GetMaxTodayWidth(HWND hwnd) {
5271 + return cast(DWORD) SendMessage(hwnd, MCM_GETMAXTODAYWIDTH, 0, 0);
5272 +}
5273 +
5274 +BOOL MonthCal_GetMinReqRect(HWND hwnd, LPRECT lpRectInfo) {
5275 + return cast(BOOL) SendMessage(hwnd, MCM_GETMINREQRECT, 0,
5276 + cast(LPARAM) lpRectInfo);
5277 +}
5278 +
5279 +INT MonthCal_GetMonthDelta(HWND hwnd) {
5280 + return SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0);
5281 +}
5282 +
5283 +INT MonthCal_GetMonthRange(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) {
5284 + return SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag,
5285 + cast(LPARAM) systimearray);
5286 +}
5287 +
5288 +DWORD MonthCal_GetRange(HWND hwnd, LPSYSTEMTIME systimearray) {
5289 + return cast(DWORD) SendMessage(hwnd, MCM_GETRANGE, 0,
5290 + cast(LPARAM) systimearray);
5291 +}
5292 +
5293 +BOOL MonthCal_GetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) {
5294 + return cast(BOOL) SendMessage(hwnd, MCM_GETSELRANGE, 0,
5295 + cast(LPARAM) systimearray);
5296 +}
5297 +
5298 +BOOL MonthCal_GetToday(HWND hwnd, LPSYSTEMTIME systime) {
5299 + return cast(BOOL) SendMessage(hwnd, MCM_GETTODAY, 0,
5300 + cast(LPARAM) systime);
5301 +}
5302 +
5303 +BOOL MonthCal_GetUnicodeFormat(HWND hwnd) {
5304 + return cast(BOOL) SendMessage(hwnd, MCM_GETUNICODEFORMAT, 0, 0);
5305 +}
5306 +
5307 +DWORD MonthCal_HitTest(HWND hwnd, PMCHITTESTINFO pmchittest) {
5308 + return cast(DWORD) SendMessage(hwnd, MCM_HITTEST, 0,
5309 + cast(LPARAM) pmchittest);
5310 +}
5311 +
5312 +COLORREF MonthCal_SetColor(HWND hwnd, INT icolor, COLORREF clr) {
5313 + return cast(COLORREF) SendMessage(hwnd, MCM_SETCOLOR, cast(WPARAM) icolor,
5314 + cast(LPARAM) clr);
5315 +}
5316 +
5317 +BOOL MonthCal_SetCurSel(HWND hwnd, LPSYSTEMTIME lpsystime) {
5318 + return cast(BOOL) SendMessage(hwnd, MCM_SETCURSEL, 0,
5319 + cast(LPARAM) lpsystime);
5320 +}
5321 +
5322 +BOOL MonthCal_SetDayState(HWND hwnd, INT imonths, LPMONTHDAYSTATE lpdatestatearray) {
5323 + return cast(BOOL) SendMessage(hwnd, MCM_SETDAYSTATE, cast(WPARAM) imonths,
5324 + cast(LPARAM) lpdatestatearray);
5325 +}
5326 +
5327 +DWORD MonthCal_SetFirstDayOfWeek(HWND hwnd, INT iday) {
5328 + return cast(DWORD) SendMessage(hwnd, MCM_SETFIRSTDAYOFWEEK, 0,
5329 + cast(LPARAM) iday);
5330 +}
5331 +
5332 +BOOL MonthCal_SetMaxSelCount(HWND hwnd, UINT imax) {
5333 + return cast(BOOL) SendMessage(hwnd, MCM_SETMAXSELCOUNT,
5334 + cast(WPARAM) imax, 0);
5335 +}
5336 +
5337 +INT MonthCal_SetMonthDelta(HWND hwnd, INT idelta) {
5338 + return SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelta, 0);
5339 +}
5340 +
5341 +BOOL MonthCal_SetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) {
5342 + return cast(BOOL) SendMessage(hwnd, MCM_SETSELRANGE, 0,
5343 + cast(LPARAM) systimearray);
5344 +}
5345 +
5346 +void MonthCal_SetToday(HWND hwnd, LPSYSTEMTIME systime) {
5347 + SendMessage(hwnd, MCM_SETTODAY, 0, cast(LPARAM) systime);
5348 +}
5349 +
5350 +BOOL MonthCal_SetUnicodeFormat(HWND hwnd, BOOL unicode) {
5351 + return cast(BOOL) SendMessage(hwnd, MCM_SETUNICODEFORMAT,
5352 + cast(WPARAM) unicode, 0);
5353 +}
5354 +
5355 +BOOL MonthCal_SetRange(HWND w, DWORD f, LPSYSTEMTIME st) {
5356 + return cast(BOOL) SendMessage(w, MCM_SETRANGE, cast(WPARAM) f,
5357 + cast(LPARAM) st);
5358 +}
5359 +
5360 +extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT, PINT);
5361 +
5362 +BOOL TabCtrl_GetItem(HWND w, int i, LPTCITEM p) {
5363 + return cast(BOOL) SendMessage(w, TCM_GETITEM, i, cast(LPARAM) p);
5364 +}
5365 +
5366 +BOOL TabCtrl_SetItem(HWND w, int i, LPTCITEM p) {
5367 + return cast(BOOL) SendMessage(w, TCM_SETITEM, i, cast(LPARAM) p);
5368 +}
5369 +
5370 +int TabCtrl_InsertItem(HWND w, int i, CPtr!(TC_ITEM) p) {
5371 + return SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p);
5372 +}
5373 +
5374 +BOOL TabCtrl_DeleteItem(HWND w, int i) {
5375 + return cast(BOOL) SendMessage(w, TCM_DELETEITEM, i, 0);
5376 +}
5377 +
5378 +BOOL TabCtrl_DeleteAllItems(HWND w) {
5379 + return cast(BOOL) SendMessage(w, TCM_DELETEALLITEMS, 0, 0);
5380 +}
5381 +
5382 +BOOL TabCtrl_GetItemRect(HWND w, int i, LPRECT p) {
5383 + return cast(BOOL) SendMessage(w, TCM_GETITEMRECT, i, cast(LPARAM) p);
5384 +}
5385 +
5386 +int TabCtrl_GetCurSel(HWND w) {
5387 + return SendMessage(w, TCM_GETCURSEL, 0, 0);
5388 +}
5389 +
5390 +int TabCtrl_SetCurSel(HWND w, int i) {
5391 + return SendMessage(w, TCM_SETCURSEL, i, 0);
5392 +}
5393 +
5394 +int TabCtrl_HitTest(HWND w, LPTCHITTESTINFO p) {
5395 + return SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p);
5396 +}
5397 +
5398 +BOOL TabCtrl_SetItemExtra(HWND w, int c) {
5399 + return cast(BOOL) SendMessage(w, TCM_SETITEMEXTRA, c, 0);
5400 +}
5401 +
5402 +int TabCtrl_AdjustRect(HWND w, BOOL b, LPRECT p) {
5403 + return SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p);
5404 +}
5405 +
5406 +DWORD TabCtrl_SetItemSize(HWND w, int x, int y) {
5407 + return cast(DWORD) SendMessage(w, TCM_SETITEMSIZE, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y));
5408 +}
5409 +
5410 +void TabCtrl_RemoveImage(HWND w, int i) {
5411 + SendMessage(w, TCM_REMOVEIMAGE, i, 0);
5412 +}
5413 +
5414 +void TabCtrl_SetPadding(HWND w, int x, int y) {
5415 + SendMessage(w, TCM_SETPADDING, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y));
5416 +}
5417 +
5418 +int TabCtrl_GetRowCount(HWND w) {
5419 + return SendMessage(w, TCM_GETROWCOUNT, 0, 0);
5420 +}
5421 +
5422 +HWND TabCtrl_GetToolTips(HWND w) {
5423 + return cast(HWND) SendMessage(w, TCM_GETTOOLTIPS, 0, 0);
5424 +}
5425 +
5426 +void TabCtrl_SetToolTips(HWND w, HWND t) {
5427 + SendMessage(w, TCM_SETTOOLTIPS, cast(WPARAM) t, 0);
5428 +}
5429 +
5430 +int TabCtrl_GetCurFocus(HWND w) {
5431 + return SendMessage(w, TCM_GETCURFOCUS, 0, 0);
5432 +}
5433 +
5434 +void TabCtrl_SetCurFocus(HWND w, int i) {
5435 + SendMessage(w, TCM_SETCURFOCUS, i, 0);
5436 +}
5437 +
5438 +HIMAGELIST TabCtrl_GetImageList(HWND w) {
5439 + return cast(HIMAGELIST) SendMessage(w, TCM_GETIMAGELIST, 0, 0);
5440 +}
5441 +
5442 +HIMAGELIST TabCtrl_SetImageList(HWND w, HIMAGELIST h) {
5443 + return cast(HIMAGELIST) SendMessage(w, TCM_SETIMAGELIST, 0,
5444 + cast(LPARAM) h);
5445 +}
5446 +
5447 +int TabCtrl_GetItemCount(HWND w) {
5448 + return SendMessage(w, TCM_GETITEMCOUNT, 0, 0);
5449 +}
5450 +
5451 +extern (Windows) BOOL _TrackMouseEvent(LPTRACKMOUSEEVENT);
5452 +
5453 +HTREEITEM TreeView_InsertItem(HWND w, LPTVINSERTSTRUCT i) {
5454 + return cast(HTREEITEM) SendMessage(w, TVM_INSERTITEM, 0, cast(LPARAM) i);
5455 +}
5456 +
5457 +BOOL TreeView_DeleteItem(HWND w, HTREEITEM i) {
5458 + return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) i);
5459 +}
5460 +
5461 +BOOL TreeView_DeleteAllItems(HWND w) {
5462 + return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) TVI_ROOT);
5463 +}
5464 +
5465 +BOOL TreeView_Expand(HWND w, HTREEITEM i, UINT c) {
5466 + return cast(BOOL) SendMessage(w, TVM_EXPAND, c, cast(LPARAM) i);
5467 +}
5468 +
5469 +BOOL TreeView_GetItemRect(HWND w, HTREEITEM i, LPRECT p, BOOL c) {
5470 + *cast(HTREEITEM*) p = i;
5471 + return cast(BOOL) SendMessage(w, TVM_GETITEMRECT, c, cast(LPARAM) p);
5472 +}
5473 +
5474 +UINT TreeView_GetCount(HWND w) {
5475 + return cast(UINT) SendMessage(w, TVM_GETCOUNT, 0, 0);
5476 +}
5477 +
5478 +UINT TreeView_GetIndent(HWND w) {
5479 + return cast(UINT) SendMessage(w, TVM_GETINDENT, 0, 0);
5480 +}
5481 +
5482 +BOOL TreeView_SetIndent(HWND w, INT i) {
5483 + return cast(BOOL) SendMessage(w, TVM_SETINDENT, i, 0);
5484 +}
5485 +
5486 +HIMAGELIST TreeView_GetImageList(HWND w, INT i) {
5487 + return cast(HIMAGELIST) SendMessage(w, TVM_GETIMAGELIST, i, 0);
5488 +}
5489 +
5490 +HIMAGELIST TreeView_SetImageList(HWND w, HIMAGELIST h, INT i) {
5491 + return cast(HIMAGELIST) SendMessage(w, TVM_SETIMAGELIST, i,
5492 + cast(LPARAM) h);
5493 +}
5494 +
5495 +HTREEITEM TreeView_GetNextItem(HWND w, HTREEITEM i, UINT c) {
5496 + return cast(HTREEITEM) SendMessage(w, TVM_GETNEXTITEM, c, cast(LPARAM) i);
5497 +}
5498 +
5499 +HTREEITEM TreeView_GetChild(HWND w, HTREEITEM i) {
5500 + return TreeView_GetNextItem(w, i, TVGN_CHILD);
5501 +}
5502 +
5503 +HTREEITEM TreeView_GetNextSibling(HWND w, HTREEITEM i) {
5504 + return TreeView_GetNextItem(w, i, TVGN_NEXT);
5505 +}
5506 +
5507 +HTREEITEM TreeView_GetPrevSibling(HWND w, HTREEITEM i) {
5508 + return TreeView_GetNextItem(w, i, TVGN_PREVIOUS);
5509 +}
5510 +
5511 +HTREEITEM TreeView_GetParent(HWND w, HTREEITEM i) {
5512 + return TreeView_GetNextItem(w, i, TVGN_PARENT);
5513 +}
5514 +
5515 +HTREEITEM TreeView_GetFirstVisible(HWND w) {
5516 + return TreeView_GetNextItem(w, null, TVGN_FIRSTVISIBLE);
5517 +}
5518 +
5519 +HTREEITEM TreeView_GetNextVisible(HWND w, HTREEITEM i) {
5520 + return TreeView_GetNextItem(w, i, TVGN_NEXTVISIBLE);
5521 +}
5522 +
5523 +HTREEITEM TreeView_GetPrevVisible(HWND w, HTREEITEM i) {
5524 + return TreeView_GetNextItem(w, i, TVGN_PREVIOUSVISIBLE);
5525 +}
5526 +
5527 +HTREEITEM TreeView_GetSelection(HWND w) {
5528 + return TreeView_GetNextItem(w, null, TVGN_CARET);
5529 +}
5530 +
5531 +HTREEITEM TreeView_GetDropHilight(HTREEITEM w) {
5532 + return TreeView_GetNextItem(w, null, TVGN_DROPHILITE);
5533 +}
5534 +
5535 +HTREEITEM TreeView_GetRoot(HWND w) {
5536 + return TreeView_GetNextItem(w, null, TVGN_ROOT);
5537 +}
5538 +
5539 +BOOL TreeView_Select(HWND w, HTREEITEM i, UINT c) {
5540 + return cast(BOOL) SendMessage(w, TVM_SELECTITEM, c, cast(LPARAM) i);
5541 +}
5542 +
5543 +BOOL TreeView_SelectItem(HWND w, HTREEITEM i) {
5544 + return TreeView_Select(w, i, TVGN_CARET);
5545 +}
5546 +
5547 +BOOL TreeView_SelectDropTarget(HWND w, HTREEITEM i) {
5548 + return TreeView_Select(w, i, TVGN_DROPHILITE);
5549 +}
5550 +
5551 +BOOL TreeView_SelectSetFirstVisible(HWND w, HTREEITEM i) {
5552 + return TreeView_Select(w, i, TVGN_FIRSTVISIBLE);
5553 +}
5554 +
5555 +BOOL TreeView_GetItem(HWND w, LPTVITEM i) {
5556 + return cast(BOOL) SendMessage(w, TVM_GETITEM, 0, cast(LPARAM) i);
5557 +}
5558 +
5559 +BOOL TreeView_SetItem(HWND w, CPtr!(TV_ITEM) i) {
5560 + return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) i);
5561 +}
5562 +
5563 +HWND TreeView_EditLabel(HWND w, HTREEITEM i) {
5564 + return cast(HWND) SendMessage(w, TVM_EDITLABEL, 0, cast(LPARAM) i);
5565 +}
5566 +
5567 +HWND TreeView_GetEditControl(HWND w) {
5568 + return cast(HWND) SendMessage(w, TVM_GETEDITCONTROL, 0, 0);
5569 +}
5570 +
5571 +UINT TreeView_GetVisibleCount(HWND w) {
5572 + return cast(UINT) SendMessage(w, TVM_GETVISIBLECOUNT, 0, 0);
5573 +}
5574 +
5575 +HTREEITEM TreeView_HitTest(HWND w, LPTVHITTESTINFO p) {
5576 + return cast(HTREEITEM) SendMessage(w, TVM_HITTEST, 0, cast(LPARAM) p);
5577 +}
5578 +
5579 +HIMAGELIST TreeView_CreateDragImage(HWND w, HTREEITEM i) {
5580 + return cast(HIMAGELIST) SendMessage(w, TVM_CREATEDRAGIMAGE, 0,
5581 + cast(LPARAM) i);
5582 +}
5583 +
5584 +BOOL TreeView_SortChildren(HWND w, HTREEITEM i, BOOL r) {
5585 + return cast(BOOL) SendMessage(w, TVM_SORTCHILDREN, r, cast(LPARAM) i);
5586 +}
5587 +
5588 +BOOL TreeView_EnsureVisible(HWND w, HTREEITEM i) {
5589 + return cast(BOOL) SendMessage(w, TVM_ENSUREVISIBLE, 0, cast(LPARAM) i);
5590 +}
5591 +
5592 +BOOL TreeView_SortChildrenCB(HWND w, LPTVSORTCB s, BOOL r) {
5593 + return cast(BOOL) SendMessage(w, TVM_SORTCHILDRENCB, r, cast(LPARAM) s);
5594 +}
5595 +
5596 +BOOL TreeView_EndEditLabelNow(HWND w, BOOL f) {
5597 + return cast(BOOL) SendMessage(w, TVM_ENDEDITLABELNOW, f, 0);
5598 +}
5599 +
5600 +BOOL TreeView_GetISearchString(HWND w, LPTSTR s) {
5601 + return cast(BOOL) SendMessage(w, TVM_GETISEARCHSTRING, 0, cast(LPARAM) s);
5603 5602 }
5604 -alias tagTVDISPINFOA NMTVDISPINFOA;
5605 -alias tagTVDISPINFOA* LPNMTVDISPINFOA;
5606 -
5607 -struct tagTVDISPINFOW {
5608 - NMHDR hdr;
5609 - TVITEMW item;
5603 +
5604 +static if (_WIN32_IE >= 0x300) {
5605 + DWORD ListView_ApproximateViewRect(HWND w, int iw, int ih, int i) {
5606 + return cast(DWORD) SendMessage(w, LVM_APPROXIMATEVIEWRECT, i,
5607 + MAKELPARAM(cast(ushort)iw, cast(ushort)ih));
5608 + }
5609 +
5610 + DWORD ListView_SetExtendedListViewStyle(HWND w, DWORD s) {
5611 + return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, s);
5612 + }
5613 +
5614 + DWORD ListView_GetExtendedListViewStyle(HWND w) {
5615 + return cast(DWORD) SendMessage(w, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
5616 + }
5617 +
5618 + BOOL ListView_SetColumnOrderArray(HWND w, int i, int* a) {
5619 + return cast(BOOL) SendMessage(w, LVM_SETCOLUMNORDERARRAY,
5620 + cast(WPARAM) i, cast(LPARAM) a);
5621 + }
5622 +
5623 + BOOL ListView_GetColumnOrderArray(HWND w, int i, int* a) {
5624 + return cast(BOOL) SendMessage(w, LVM_GETCOLUMNORDERARRAY,
5625 + cast(WPARAM) i, cast(LPARAM) a);
5626 + }
5627 +
5628 + HWND ListView_GetHeader(HWND w) {
5629 + return cast(HWND) SendMessage(w, LVM_GETHEADER, 0, 0);
5630 + }
5631 +
5632 + HCURSOR ListView_GetHotCursor(HWND w) {
5633 + return cast(HCURSOR) SendMessage(w, LVM_GETHOTCURSOR, 0, 0);
5634 + }
5635 +
5636 + INT ListView_GetHotItem(HWND w) {
5637 + return SendMessage(w, LVM_GETHOTITEM, 0, 0);
5638 + }
5639 +
5640 + BOOL ListView_GetSubItemRect(HWND w, int i, int isi, int c, LPRECT p) {
5641 + return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i,
5642 + p ? (p.left = c, p.top = isi, cast(LPARAM) p) : 0);
5643 + }
5644 +
5645 + HCURSOR ListView_SetHotCursor(HWND w, HCURSOR c) {
5646 + return cast(HCURSOR) SendMessage(w, LVM_SETHOTCURSOR, 0,
5647 + cast(LPARAM) c);
5648 + }
5649 +
5650 + INT ListView_SetHotItem(HWND w, INT i) {
5651 + return SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 0);
5652 + }
5653 +
5654 + DWORD ListView_SetIconSpacing(HWND w, int x, int y) {
5655 + return cast(DWORD) SendMessage(w, LVM_SETICONSPACING, 0,
5656 + MAKELONG(cast(ushort)x, cast(ushort)y));
5657 + }
5658 +
5659 + INT ListView_SubItemHitTest(HWND w, LPLVHITTESTINFO p) {
5660 + return SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPARAM) p);
5661 + }
5662 +
5663 + BOOL ListView_SetItemCountEx(HWND w, int i, DWORD f) {
5664 + return cast(BOOL) SendMessage(w, LVM_SETITEMCOUNT, i, cast(LPARAM) f);
5665 + }
5666 +
5667 + extern (Windows) {
5668 + WINBOOL ImageList_SetImageCount(HIMAGELIST, UINT);
5669 + WINBOOL ImageList_Copy(HIMAGELIST, int, HIMAGELIST, int, UINT);
5670 + WINBOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*);
5671 + }
5672 +
5673 + int TabCtrl_SetMinTabWidth(HWND hwnd, int x) {
5674 + return SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x);
5675 + }
5676 +
5677 + VOID TabCtrl_DeselectAll(HWND hwnd, UINT fExcludeFocus) {
5678 + SendMessage(hwnd, TCM_DESELECTALL, fExcludeFocus, 0);
5679 + }
5680 +
5681 + HWND TreeView_GetToolTips(HWND w) {
5682 + return cast(HWND) SendMessage(w, TVM_GETTOOLTIPS, 0, 0);
5683 + }
5684 +
5685 + HWND TreeView_SetToolTips(HWND w, HWND wt) {
5686 + return cast(HWND) SendMessage(w, TVM_SETTOOLTIPS, cast(WPARAM) wt, 0);
5687 + }
5610 5688 }
5611 -alias tagTVDISPINFOW NMTVDISPINFOW;
5612 -alias tagTVDISPINFOW* LPNMTVDISPINFOW;
5689 +
5690 +static if (_WIN32_IE >= 0x400) {
5691 + BOOL ListView_GetBkImage(HWND h, LPLVBKIMAGE plvbki) {
5692 + return cast(BOOL) SendMessage(h, LVM_GETBKIMAGE, 0,
5693 + cast(LPARAM) plvbki);
5694 + }
5695 +
5696 + BOOL ListView_SetBkImage(HWND h, LPLVBKIMAGE plvbki) {
5697 + return cast(BOOL) SendMessage(h, LVM_SETBKIMAGE, 0,
5698 + cast(LPARAM) plvbki);
5699 + }
5700 +
5701 + DWORD ListView_SetExtendedListViewStyleEx(HWND w, DWORD m, DWORD s) {
5702 + return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, m, s);
5703 + }
5704 +
5705 + VOID ListView_SetWorkAreas(HWND w, INT n, LPRECT r) {
5706 + SendMessage(w, LVM_SETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r);
5707 + }
5708 +
5709 + VOID ListView_GetWorkAreas(HWND w, INT n, LPRECT r) {
5710 + SendMessage(w, LVM_GETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r);
5711 + }
5712 +
5713 + BOOL ListView_GetNumberOfWorkAreas(HWND w, LPUINT n) {
5714 + return cast(BOOL) SendMessage(w, LVM_GETNUMBEROFWORKAREAS, 0,
5715 + cast(LPARAM) n);
5716 + }
5717 +
5718 + DWORD ListView_SetHoverTime(HWND w, DWORD t) {
5719 + return cast(DWORD) SendMessage(w, LVM_SETHOVERTIME, 0,
5720 + cast(LPARAM) t);
5721 + }
5722 +
5723 + DWORD ListView_GetHoverTime(HWND w) {
5724 + return cast(DWORD) SendMessage(w, LVM_GETHOVERTIME, 0, 0);
5725 + }
5726 +
5727 + INT ListView_GetSelectionMark(HWND w) {
5728 + return SendMessage(w, LVM_GETSELECTIONMARK, 0, 0);
5729 + }
5730 +
5731 + INT ListView_SetSelectionMark(HWND w, INT i) {
5732 + return SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LPARAM) i);
5733 + }
5734 +
5735 + HWND ListView_SetToolTips(HWND w, HWND n) {
5736 + return cast(HWND) SendMessage(w, LVM_SETTOOLTIPS, cast(WPARAM) n, 0);
5737 + }
5738 +
5739 + HWND ListView_GetToolTips(HWND w) {
5740 + return cast(HWND) SendMessage(w, LVM_GETTOOLTIPS, 0, 0);
5741 + }
5742 +
5743 + BOOL ListView_SetUnicodeFormat(HWND w, BOOL f) {
5744 + return cast(BOOL) SendMessage(w, LVM_SETUNICODEFORMAT,
5745 + cast(WPARAM) f, 0);
5746 + }
5747 +
5748 + BOOL ListView_GetUnicodeFormat(HWND w) {
5749 + return cast(BOOL) SendMessage(w, LVM_GETUNICODEFORMAT, 0, 0);
5750 + }
5751 +
5752 + BOOL TabCtrl_HighlightItem(HWND hwnd, INT i, WORD fHighlight) {
5753 + return cast(BOOL) SendMessage(hwnd, TCM_HIGHLIGHTITEM,
5754 + cast(WPARAM) i, cast(LPARAM) MAKELONG(fHighlight, 0));
5755 + }
5756 +
5757 + DWORD TabCtrl_SetExtendedStyle(HWND hwnd, DWORD dw) {
5758 + return cast(DWORD) SendMessage(hwnd, TCM_SETEXTENDEDSTYLE, 0, dw);
5759 + }
5760 +
5761 + DWORD TabCtrl_GetExtendedStyle(HWND hwnd) {
5762 + return cast(DWORD) SendMessage(hwnd, TCM_GETEXTENDEDSTYLE, 0, 0);
5763 + }
5764 +
5765 + BOOL TabCtrl_SetUnicodeFormat(HWND hwnd, HWND fUnicode) {
5766 + return cast(BOOL) SendMessage(hwnd, TCM_SETUNICODEFORMAT,
5767 + cast(WPARAM) fUnicode, 0);
5768 + }
5769 +
5770 + BOOL TabCtrl_GetUnicodeFormat(HWND hwnd) {
5771 + return cast(BOOL) SendMessage(hwnd, TCM_GETUNICODEFORMAT, 0, 0);
5772 + }
5773 +
5774 + COLORREF TreeView_GetBkColor(HWND w) {
5775 + return cast(COLORREF) SendMessage(w, TVM_GETBKCOLOR, 0, 0);
5776 + }
5777 +
5778 + COLORREF TreeView_GetInsertMarkColor(HWND w) {
5779 + return cast(COLORREF) SendMessage(w, TVM_GETINSERTMARKCOLOR, 0, 0);
5780 + }
5781 +
5782 + int TreeView_GetItemHeight(HWND w) {
5783 + return SendMessage(w, TVM_GETITEMHEIGHT, 0, 0);
5784 + }
5785 +
5786 + UINT TreeView_GetScrollTime(HWND w) {
5787 + return cast(UINT) SendMessage(w, TVM_GETSCROLLTIME, 0, 0);
5788 + }
5789 +
5790 + COLORREF TreeView_GetTextColor(HWND w) {
5791 + return cast(COLORREF) SendMessage(w, TVM_GETTEXTCOLOR, 0, 0);
5792 + }
5793 +
5794 + COLORREF TreeView_SetBkColor(HWND w, COLORREF c) {
5795 + return cast(COLORREF) SendMessage(w, TVM_SETBKCOLOR, 0,
5796 + cast(LPARAM) c);
5797 + }
5798 +
5799 + COLORREF TreeView_SetInsertMarkColor(HWND w, COLORREF c) {
5800 + return cast(COLORREF) SendMessage(w, TVM_SETINSERTMARKCOLOR, 0,
5801 + cast(LPARAM) c);
5802 + }
5803 +
5804 + int TreeView_SetItemHeight(HWND w, SHORT h) {
5805 + return SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) h, 0);
5806 + }
5807 +
5808 + UINT TreeView_SetScrollTime(HWND w, UINT t) {
5809 + return cast(UINT) SendMessage(w, TVM_SETSCROLLTIME, cast(WPARAM) t, 0);
5810 + }
5811 +
5812 + COLORREF TreeView_SetTextColor(HWND w, COLORREF c) {
5813 + return cast(COLORREF) SendMessage(w, TVM_SETTEXTCOLOR, 0,
5814 + cast(LPARAM) c);
5815 + }
5816 +
5817 + BOOL TreeView_SetInsertMark(HWND w, HTREEITEM i, BOOL a) {
5818 + return cast(BOOL) SendMessage(w, TVM_SETINSERTMARK, cast(WPARAM) a,
5819 + cast(LPARAM) i);
5820 + }
5821 +
5822 + BOOL TreeView_SetUnicodeFormat(HWND w, BOOL u) {
5823 + return cast(BOOL) SendMessage(w, TVM_SETUNICODEFORMAT,
5824 + cast(WPARAM) u, 0);
5825 + }
5826 +
5827 + BOOL TreeView_GetUnicodeFormat(HWND w) {
5828 + return cast(BOOL) SendMessage(w, TVM_GETUNICODEFORMAT, 0, 0);
5829 + }
5613 5830
5614 -// #ifdef UNICODE
5615 -alias NMTVDISPINFOW NMTVDISPINFO;
5616 -alias LPNMTVDISPINFOW LPNMTVDISPINFO;
5617 -// #else
5618 -// #...
5619 -// #...
5620 -// #endif
5831 + HTREEITEM TreeView_GetLastVisible(HWND w) {
5832 + return TreeView_GetNextItem(w, null, TVGN_LASTVISIBLE);
5833 + }
5834 +}
5621 5835
5622 -enum : uint { TVN_ITEMEXPANDINGA = TVN_FIRST-5 }
5623 -enum : uint { TVN_ITEMEXPANDINGW = TVN_FIRST-54 }
5624 -enum : uint { TVN_ITEMEXPANDEDA = TVN_FIRST-6 }
5625 -enum : uint { TVN_ITEMEXPANDEDW = TVN_FIRST-55 }
5626 -enum : uint { TVN_BEGINDRAGA = TVN_FIRST-7 }
5627 -enum : uint { TVN_BEGINDRAGW = TVN_FIRST-56 }
5628 -enum : uint { TVN_BEGINRDRAGA = TVN_FIRST-8 }
5629 -enum : uint { TVN_BEGINRDRAGW = TVN_FIRST-57 }
5630 -enum : uint { TVN_DELETEITEMA = TVN_FIRST-9 }
5631 -enum : uint { TVN_DELETEITEMW = TVN_FIRST-58 }
5632 -enum : uint { TVN_BEGINLABELEDITA = TVN_FIRST-10 }
5633 -enum : uint { TVN_BEGINLABELEDITW = TVN_FIRST-59 }
5634 -enum : uint { TVN_ENDLABELEDITA = TVN_FIRST-11 }
5635 -enum : uint { TVN_ENDLABELEDITW = TVN_FIRST-60 }
5636 -enum : uint { TVN_KEYDOWN = TVN_FIRST-12 }
5836 +static if (_WIN32_IE >= 0x500) {
5837 + UINT TreeView_GetItemState(HWND w, HTREEITEM i, UINT m) {
5838 + return cast(UINT) SendMessage(w, TVM_GETITEMSTATE, cast(WPARAM) i,
5839 + cast(LPARAM) m);
5840 + }
5637 5841
5638 -// #if (_WIN32_IE >= 0x0400)
5639 -enum : uint { TVN_GETINFOTIPA = TVN_FIRST-13 }
5640 -enum : uint { TVN_GETINFOTIPW = TVN_FIRST-14 }
5641 -enum : uint { TVN_SINGLEEXPAND = TVN_FIRST-15 }
5642 -
5643 -enum : uint { TVNRET_DEFAULT = 0 }
5644 -enum : uint { TVNRET_SKIPOLD = 1 }
5645 -enum : uint { TVNRET_SKIPNEW = 2 }
5646 -
5647 -// #endif // 0x400
5648 -
5649 -// #if (_WIN32_IE >= 0x0300)
5650 -alias NMTVKEYDOWN TV_KEYDOWN;
5651 -// #else
5652 -// #...
5653 -// #...
5654 -// #endif
5655 -
5656 -// #ifdef _WIN32
5657 -align(1):
5658 -// #endif
5659 -
5660 -struct tagTVKEYDOWN {
5661 - NMHDR hdr;
5662 - WORD wVKey;
5663 - UINT flags;
5842 + BOOL TreeView_SetItemState(HWND w, HTREEITEM i, UINT d, UINT m) {
5843 + TVITEM _tvi;
5844 + _tvi.mask = TVIF_STATE;
5845 + _tvi.hItem = i;
5846 + _tvi.stateMask = m;
5847 + _tvi.state = d;
5848 + return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) &_tvi);
5849 + }
5664 5850 }
5665 -alias tagTVKEYDOWN NMTVKEYDOWN;
5666 -alias tagTVKEYDOWN* LPNMTVKEYDOWN;
5667 5851
5668 -// #ifdef _WIN32
5669 -align:
5670 -// #endif
5671 5852
5672 -// #ifdef UNICODE
5673 -alias TVN_SELCHANGINGW TVN_SELCHANGING;
5674 -alias TVN_SELCHANGEDW TVN_SELCHANGED;
5675 -alias TVN_GETDISPINFOW TVN_GETDISPINFO;
5676 -alias TVN_SETDISPINFOW TVN_SETDISPINFO;
5677 -alias TVN_ITEMEXPANDINGW TVN_ITEMEXPANDING;
5678 -alias TVN_ITEMEXPANDEDW TVN_ITEMEXPANDED;
5679 -alias TVN_BEGINDRAGW TVN_BEGINDRAG;
5680 -alias TVN_BEGINRDRAGW TVN_BEGINRDRAG;
5681 -alias TVN_DELETEITEMW TVN_DELETEITEM;
5682 -alias TVN_BEGINLABELEDITW TVN_BEGINLABELEDIT;
5683 -alias TVN_ENDLABELEDITW TVN_ENDLABELEDIT;
5684 -// #else
5685 -// #...
5686 -// #...
5687 -// #...
5688 -// #...
5689 -// #...
5690 -// #...
5691 -// #...
5692 -// #...
5693 -// #...
5694 -// #...
5695 -// #...
5696 -// #endif
5697 -
5698 -// #if (_WIN32_IE >= 0x0300)
5699 -// #define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW, clrTextBk)
5700 -
5701 -struct tagNMTVCUSTOMDRAW {
5702 - NMCUSTOMDRAW nmcd;
5703 - COLORREF clrText;
5704 - COLORREF clrTextBk;
5705 -// #if (_WIN32_IE >= 0x0400)
5706 - int iLevel;
5707 -// #endif
5708 -}
5709 -alias tagNMTVCUSTOMDRAW NMTVCUSTOMDRAW;
5710 -alias tagNMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW;
5711 -
5712 -// #endif
5713 -
5714 -// #if (_WIN32_IE >= 0x0400)
5853 +//#ifdef _WIN32_WCE // these are PPC only
5854 +/+
5855 +extern (Windows) {
5856 + HWND CommandBar_Create(HINSTANCE, HWND, int);
5857 + BOOL CommandBar_Show(HWND, BOOL);
5858 + int CommandBar_AddBitmap(HWND, HINSTANCE, int, int, int, int);
5859 + HWND CommandBar_InsertComboBox(HWND, HINSTANCE, int, UINT, WORD, WORD);
5860 + BOOL CommandBar_InsertMenubar(HWND, HINSTANCE, WORD, WORD );
5861 + BOOL CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD);
5862 + BOOL CommandBar_DrawMenuBar(HWND, WORD);
5863 + HMENU CommandBar_GetMenu(HWND, WORD);
5864 + BOOL CommandBar_AddAdornments(HWND, DWORD, DWORD);
5865 + int CommandBar_Height(HWND hwndCB);
5866 +}
5715 5867
5716 -struct tagNMTVGETINFOTIPA {
5717 - NMHDR hdr;
5718 - LPSTR pszText;
5719 - int cchTextMax;
5720 - HTREEITEM hItem;
5721 - LPARAM lParam;
5868 +// MinGW: These two are not in the DLL
5869 +void CommandBar_InsertButton(HWND hwnd, int i, LPTBBUTTON lptbbutton) {
5870 + SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton);
5722 5871 }
5723 -alias tagNMTVGETINFOTIPA NMTVGETINFOTIPA;
5724 -alias tagNMTVGETINFOTIPA* LPNMTVGETINFOTIPA;
5725 -
5726 -struct tagNMTVGETINFOTIPW {
5727 - NMHDR hdr;
5728 - LPWSTR pszText;
5729 - int cchTextMax;
5730 - HTREEITEM hItem;
5731 - LPARAM lParam;
5732 -}
5733 -alias tagNMTVGETINFOTIPW NMTVGETINFOTIPW;
5734 -alias tagNMTVGETINFOTIPW* LPNMTVGETINFOTIPW;
5735 -
5736 -// #ifdef UNICODE
5737 -alias TVN_GETINFOTIPW TVN_GETINFOTIP;
5738 -alias NMTVGETINFOTIPW NMTVGETINFOTIP;
5739 -alias LPNMTVGETINFOTIPW LPNMTVGETINFOTIP;
5740 -// #else
5741 -// #...
5742 -// #...
5743 -// #...
5744 -// #endif
5745 -
5746 -enum : uint { TVCDRF_NOIMAGES = 0x00010000 }
5747 -
5748 -// #endif // _WIN32_IE >= 0x0400
5749 -
5750 -// #endif // NOTREEVIEW
5751 -
5752 -// #if (_WIN32_IE >= 0x0300)
5753 -
5754 -// #ifndef NOUSEREXCONTROLS
5755 -
5756 -const wchar[] WC_COMBOBOXEXW = "ComboBoxEx32";
5757 -const char[] WC_COMBOBOXEXA = "ComboBoxEx32";
5758 -
5759 -// #ifdef UNICODE
5760 -alias WC_COMBOBOXEXW WC_COMBOBOXEX;
5761 -// #else
5762 -// #...
5763 -// #endif
5764 -
5765 -enum : uint { CBEIF_TEXT = 0x00000001 }
5766 -enum : uint { CBEIF_IMAGE = 0x00000002 }
5767 -enum : uint { CBEIF_SELECTEDIMAGE = 0x00000004 }
5768 -enum : uint { CBEIF_OVERLAY = 0x00000008 }
5769 -enum : uint { CBEIF_INDENT = 0x00000010 }
5770 -enum : uint { CBEIF_LPARAM = 0x00000020 }
5771 -
5772 -enum : uint { CBEIF_DI_SETITEM = 0x10000000 }
5773 -
5774 -struct tagCOMBOBOXEXITEMA {
5775 - UINT mask;
5776 - INT_PTR iItem;
5777 - LPSTR pszText;
5778 - int cchTextMax;
5779 - int iImage;
5780 - int iSelectedImage;
5781 - int iOverlay;
5782 - int iIndent;
5783 - LPARAM lParam;
5784 -}
5785 -alias tagCOMBOBOXEXITEMA COMBOBOXEXITEMA;
5786 -alias tagCOMBOBOXEXITEMA* PCOMBOBOXEXITEMA;
5787 -
5788 -alias COMBOBOXEXITEMA* PCCOMBOEXITEMA;
5789 -
5790 -struct tagCOMBOBOXEXITEMW {
5791 - UINT mask;
5792 - INT_PTR iItem;
5793 - LPWSTR pszText;
5794 - int cchTextMax;
5795 - int iImage;
5796 - int iSelectedImage;
5797 - int iOverlay;
5798 - int iIndent;
5799 - LPARAM lParam;
5800 -}
5801 -alias tagCOMBOBOXEXITEMW COMBOBOXEXITEMW;
5802 -alias tagCOMBOBOXEXITEMW* PCOMBOBOXEXITEMW;
5803 -
5804 -alias COMBOBOXEXITEMW* PCCOMBOEXITEMW;
5805 -
5806 -// #ifdef UNICODE
5807 -alias COMBOBOXEXITEMW COMBOBOXEXITEM;
5808 -alias PCOMBOBOXEXITEMW PCOMBOBOXEXITEM;
5809 -alias PCCOMBOBOXEXITEMW PCCOMBOBOXEXITEM;
5810 -// #else
5811 -// #...
5812 -// #...
5813 -// #...
5814 -// #endif
5815 -
5816 -enum : uint { CBEM_INSERTITEMA = WM_USER + 1 }
5817 -enum : uint { CBEM_SETIMAGELIST = WM_USER + 2 }
5818 -enum : uint { CBEM_GETIMAGELIST = WM_USER + 3 }
5819 -enum : uint { CBEM_GETITEMA = WM_USER + 4 }
5820 -enum : uint { CBEM_SETITEMA = WM_USER + 5 }
5821 -alias CB_DELETESTRING CBEM_DELETEITEM;
5822 -enum : uint { CBEM_GETCOMBOCONTROL = WM_USER + 6 }
5823 -enum : uint { CBEM_GETEDITCONTROL = WM_USER + 7 }
5824 -// #if (_WIN32_IE >= 0x0400)
5825 -enum : uint { CBEM_SETEXSTYLE = WM_USER + 8 }
5826 -enum : uint { CBEM_SETEXTENDEDSTYLE = WM_USER + 14 }
5827 -enum : uint { CBEM_GETEXSTYLE = WM_USER + 9 }
5828 -enum : uint { CBEM_GETEXTENDEDSTYLE = WM_USER + 9 }
5829 -alias CCM_SETUNICODEFORMAT CBEM_SETUNICODEFORMAT;
5830 -alias CCM_GETUNICODEFORMAT CBEM_GETUNICODEFORMAT;
5831 -// #else
5832 -// #...
5833 -// #...
5834 -// #endif
5835 -enum : uint { CBEM_HASEDITCHANGED = WM_USER + 10 }
5836 -enum : uint { CBEM_INSERTITEMW = WM_USER + 11 }
5837 -enum : uint { CBEM_SETITEMW = WM_USER + 12 }
5838 -enum : uint { CBEM_GETITEMW = WM_USER + 13 }
5839 -
5840 -// #ifdef UNICODE
5841 -alias CBEM_INSERTITEMW CBEM_INSERTITEM;
5842 -alias CBEM_SETITEMW CBEM_SETITEM;
5843 -alias CBEM_GETITEMW CBEM_GETITEM;
5844 -// #else
5845 -// #...
5846 -// #...
5847 -// #...
5848 -// #endif
5849 -
5850 -// #if (_WIN32_WINNT >= 0x501)
5851 -alias CCM_SETWINDOWTHEME CBEM_SETWINDOWTHEME;
5852 -// #endif
5853 -
5854 -enum : uint { CBES_EX_NOEDITIMAGE = 0x00000001 }
5855 -enum : uint { CBES_EX_NOEDITIMAGEINDENT = 0x00000002 }
5856 -enum : uint { CBES_EX_PATHWORDBREAKPROC = 0x00000004 }
5857 -// #if (_WIN32_IE >= 0x0400)
5858 -enum : uint { CBES_EX_NOSIZELIMIT = 0x00000008 }
5859 -enum : uint { CBES_EX_CASESENSITIVE = 0x00000010 }
5860 -
5861 -struct _9 {
5862 - NMHDR hdr;
5863 - COMBOBOXEXITEMA ceItem;
5864 -}
5865 -alias _9 NMCOMBOBOXEXA;
5866 -alias _9* PNMCOMBOBOXEXA;
5867 -
5868 -struct _10 {
5869 - NMHDR hdr;
5870 - COMBOBOXEXITEMW ceItem;
5871 -}
5872 -alias _10 NMCOMBOBOXEXW;
5873 -alias _10* PNMCOMBOBOXEXW;
5874 -
5875 -// #ifdef UNICODE
5876 -alias NMCOMBOBOXEXW NMCOMBOBOXEX;
5877 -alias PNMCOMBOBOXEXW PNMCOMBOBOXEX;
5878 -alias CBEN_GETDISPINFOW CBEN_GETDISPINFO;
5879 -// #else
5880 -// #...
5881 -// #...
5882 -// #...
5883 -// #endif
5884 -
5885 -// #else
5886 -// ...
5887 -
5888 -// #...
5889 -
5890 -// #endif // _WIN32_IE >= 0x0400
5891 -
5892 -// #if (_WIN32_IE >= 0x0400)
5893 -// #define CBEN_GETDISPINFOA (CBEN_FIRST - 0)
5894 -// #endif
5895 -enum : uint { CBEN_INSERTITEM = CBEN_FIRST - 1 }
5896 -enum : uint { CBEN_DELETEITEM = CBEN_FIRST - 2 }
5897 -enum : uint { CBEN_BEGINEDIT = CBEN_FIRST - 4 }
5898 -enum : uint { CBEN_ENDEDITA = CBEN_FIRST - 5 }
5899 -enum : uint { CBEN_ENDEDITW = CBEN_FIRST - 6 }
5900 -
5901 -// #if (_WIN32_IE >= 0x0400)
5902 -// #define CBEN_GETDISPINFOW (CBEN_FIRST - 7)
5903 -// #endif
5904 -
5905 -// #if (_WIN32_IE >= 0x0400)
5906 -enum : uint { CBEN_DRAGBEGINA = CBEN_FIRST - 8 }
5907 -enum : uint { CBEN_DRAGBEGINW = CBEN_FIRST - 9 }
5908 -
5909 -// #ifdef UNICODE
5910 -alias CBEN_DRAGBEGINW CBEN_DRAGBEGIN;
5911 -// #else
5912 -// #...
5913 -// #endif
5914 -
5915 -// #endif //(_WIN32_IE >= 0x0400)
5916 -
5917 -// #ifdef UNICODE
5918 -alias CBEN_ENDEDITW CBEN_ENDEDIT;
5919 -// #else
5920 -// #...
5921 -// #endif
5922 -
5923 -enum : uint { CBENF_KILLFOCUS = 1 }
5924 -enum : uint { CBENF_RETURN = 2 }
5925 -enum : uint { CBENF_ESCAPE = 3 }
5926 -enum : uint { CBENF_DROPDOWN = 4 }
5927 -
5928 -enum : uint { CBEMAXSTRLEN = 260 }
5929 -
5930 -// #if (_WIN32_IE >= 0x0400)
5931 -
5932 -struct _11 {
5933 - NMHDR hdr;
5934 - int iItemid;
5935 - WCHAR szText[CBEMAXSTRLEN];
5936 -}
5937 -alias _11 NMCBEDRAGBEGINW;
5938 -alias _11* LPNMCBEDRAGBEGINW;
5939 -alias _11* PNMCBEDRAGBEGINW;
5940 -
5941 -struct _12 {
5942 - NMHDR hdr;
5943 - int iItemid;
5944 - char szText[CBEMAXSTRLEN];
5945 -}
5946 -alias _12 NMCBEDRAGBEGINA;
5947 -alias _12* LPNMCBEDRAGBEGINA;
5948 -alias _12* PNMCBEDRAGBEGINA;
5949 -
5950 -// #ifdef UNICODE
5951 -alias NMCBEDRAGBEGINW NMCBEDRAGBEGIN;
5952 -alias LPNMCBEDRAGBEGINW LPNMCBEDRAGBEGIN;
5953 -alias PNMCBEDRAGBEGINW PNMCBEDRAGBEGIN;
5954 -// #else
5955 -// #...
5956 -// #...
5957 -// #...
5958 -// #endif
5959 -// #endif // _WIN32_IE >= 0x0400
5960 -
5961 -struct _13 {
5962 - NMHDR hdr;
5963 - BOOL fChanged;
5964 - int iNewSelection;
5965 - WCHAR szText[CBEMAXSTRLEN];
5966 - int iWhy;
5967 -}
5968 -alias _13 NMCBEENDEDITW;
5969 -alias _13* LPNMCBEENDEDITW;
5970 -alias _13* PNMCBEENDEDITW;
5971 -
5972 -struct _14 {
5973 - NMHDR hdr;
5974 - BOOL fChanged;
5975 - int iNewSelection;
5976 - char szText[CBEMAXSTRLEN];
5977 - int iWhy;
5978 -}
5979 -alias _14 NMCBEENDEDITA;
5980 -alias _14* LPNMCBEENDEDITA;
5981 -alias _14* PNMCBEENDEDITA;
5982 -
5983 -// #ifdef UNICODE
5984 -alias NMCBEENDEDITW NMCBEENDEDIT;
5985 -alias LPNMCBEENDEDITW LPNMCBEENDEDIT;
5986 -alias PNMCBEENDEDITW PNMCBEENDEDIT;
5987 -// #else
5988 -// #...
5989 -// #...
5990 -// #...
5991 -// #endif
5992 -
5993 -// #endif
5994 -
5995 -// #endif // _WIN32_IE >= 0x0300
5996 -
5997 -// #ifndef NOTABCONTROL
5998 -
5999 -// #ifdef _WIN32
6000 -
6001 -const char[] WC_TABCONTROLA = "SysTabControl32";
6002 -const wchar[] WC_TABCONTROLW = "SysTabControl32";
6003 -
6004 -// #ifdef UNICODE
6005 -alias WC_TABCONTROLW WC_TABCONTROL;
6006 -// #else
6007 -// #...
6008 -// #endif
6009 -
6010 -// #else
6011 -// #...
6012 -// #endif
6013 -
6014 -// #if (_WIN32_IE >= 0x0300)
6015 -enum : uint { TCS_SCROLLOPPOSITE = 0x0001 }
6016 -enum : uint { TCS_BOTTOM = 0x0002 }
6017 -enum : uint { TCS_RIGHT = 0x0002 }
6018 -enum : uint { TCS_MULTISELECT = 0x0004 }
6019 -// #endif
6020 -// #if (_WIN32_IE >= 0x0400)
6021 -enum : uint { TCS_FLATBUTTONS = 0x0008 }
6022 -// #endif
6023 -enum : uint { TCS_FORCEICONLEFT = 0x0010 }
6024 -enum : uint { TCS_FORCELABELLEFT = 0x0020 }
6025 -// #if (_WIN32_IE >= 0x0300)
6026 -enum : uint { TCS_HOTTRACK = 0x0040 }
6027 -enum : uint { TCS_VERTICAL = 0x0080 }
6028 -// #endif
6029 -enum : uint { TCS_TABS = 0x0000 }
6030 -enum : uint { TCS_BUTTONS = 0x0100 }
6031 -enum : uint { TCS_SINGLELINE = 0x0000 }
6032 -enum : uint { TCS_MULTILINE = 0x0200 }
6033 -enum : uint { TCS_RIGHTJUSTIFY = 0x0000 }
6034 -enum : uint { TCS_FIXEDWIDTH = 0x0400 }
6035 -enum : uint { TCS_RAGGEDRIGHT = 0x0800 }
6036 -enum : uint { TCS_FOCUSONBUTTONDOWN = 0x1000 }
6037 -enum : uint { TCS_OWNERDRAWFIXED = 0x2000 }
6038 -enum : uint { TCS_TOOLTIPS = 0x4000 }
6039 -enum : uint { TCS_FOCUSNEVER = 0x8000 }
6040 -
6041 -// #if (_WIN32_IE >= 0x0400)
6042 -
6043 -enum : uint { TCS_EX_FLATSEPARATORS = 0x00000001 }
6044 -enum : uint { TCS_EX_REGISTERDROP = 0x00000002 }
6045 -// #endif
6046 -
6047 -enum : uint { TCM_GETIMAGELIST = TCM_FIRST + 2 }
6048 -// #define TabCtrl_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd), TCM_GETIMAGELIST, 0, 0L)
6049 -
6050 -enum : uint { TCM_SETIMAGELIST = TCM_FIRST + 3 }
6051 -// #define TabCtrl_SetImageList(hwnd, himl) (HIMAGELIST)SNDMSG((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(HIMAGELIST)(himl))
6052 -
6053 -enum : uint { TCM_GETITEMCOUNT = TCM_FIRST + 4 }
6054 -// #define TabCtrl_GetItemCount(hwnd) (int)SNDMSG((hwnd), TCM_GETITEMCOUNT, 0, 0L)
6055 -
6056 -enum : uint { TCIF_TEXT = 0x0001 }
6057 -enum : uint { TCIF_IMAGE = 0x0002 }
6058 -enum : uint { TCIF_RTLREADING = 0x0004 }
6059 -enum : uint { TCIF_PARAM = 0x0008 }
6060 -// #if (_WIN32_IE >= 0x0300)
6061 -enum : uint { TCIF_STATE = 0x0010 }
6062 -
6063 -enum : uint { TCIS_BUTTONPRESSED = 0x0001 }
6064 -// #endif
6065 -// #if (_WIN32_IE >= 0x0400)
6066 -enum : uint { TCIS_HIGHLIGHTED = 0x0002 }
6067 -// #endif
6068 -
6069 -// #if (_WIN32_IE >= 0x0300)
6070 -alias TCITEMHEADERA TC_ITEMHEADERA;
6071 -alias TCITEMHEADERW TC_ITEMHEADERW;
6072 -// #else
6073 -// #...
6074 -// #...
6075 -// #...
6076 -// #...
6077 -// #endif
6078 -alias TCITEMHEADER TC_ITEMHEADER;
6079 -
6080 -struct tagTCITEMHEADERA {
6081 - UINT mask;
6082 - UINT lpReserved1;
6083 - UINT lpReserved2;
6084 - LPSTR pszText;
6085 - int cchTextMax;
6086 - int iImage;
6087 -}
6088 -alias tagTCITEMHEADERA TCITEMHEADERA;
6089 -alias tagTCITEMHEADERA* LPTCITEMHEADERA;
6090 -
6091 -struct tagTCITEMHEADERW {
6092 - UINT mask;
6093 - UINT lpReserved1;
6094 - UINT lpReserved2;
6095 - LPWSTR pszText;
6096 - int cchTextMax;
6097 - int iImage;
6098 -}
6099 -alias tagTCITEMHEADERW TCITEMHEADERW;
6100 -alias tagTCITEMHEADERW* LPTCITEMHEADERW;
6101 -
6102 -// #ifdef UNICODE
6103 -alias TCITEMHEADERW TCITEMHEADER;
6104 -alias LPTCITEMHEADERW LPTCITEMHEADER;
6105 -// #else
6106 -// #...
6107 -// #...
6108 -// #endif
6109 -
6110 -// #if (_WIN32_IE >= 0x0300)
6111 -alias TCITEMA TC_ITEMA;
6112 -alias TCITEMW TC_ITEMW;
6113 -// #else
6114 -// #...
6115 -// #...
6116 -// #...
6117 -// #...
6118 -// #endif
6119 -alias TCITEM TC_ITEM;
6120 -
6121 -struct tagTCITEMA {
6122 - UINT mask;
6123 -// #if (_WIN32_IE >= 0x0300)
6124 - DWORD dwState;
6125 - DWORD dwStateMask;
6126 -// #else
6127 -// ...
6128 -// #endif
6129 - LPSTR pszText;
6130 - int cchTextMax;
6131 - int iImage;
6132 - LPARAM lParam;
6133 -}
6134 -alias tagTCITEMA TCITEMA;
6135 -alias tagTCITEMA* LPTCITEMA;
6136 -
6137 -struct tagTCITEMW {
6138 - UINT mask;
6139 -// #if (_WIN32_IE >= 0x0300)
6140 - DWORD dwState;
6141 - DWORD dwStateMask;
6142 -// #else
6143 -// ...
6144 -// #endif
6145 - LPWSTR pszText;
6146 - int cchTextMax;
6147 - int iImage;
6148 - LPARAM lParam;
6149 -}
6150 -alias tagTCITEMW TCITEMW;
6151 -alias tagTCITEMW* LPTCITEMW;
6152 -
6153 -// #ifdef UNICODE
6154 -alias TCITEMW TCITEM;
6155 -alias LPTCITEMW LPTCITEM;
6156 -// #else
6157 -// #...
6158 -// #...
6159 -// #endif
6160 -
6161 -enum : uint { TCM_GETITEMA = TCM_FIRST + 5 }
6162 -enum : uint { TCM_GETITEMW = TCM_FIRST + 60 }
6163 -
6164 -// #ifdef UNICODE
6165 -alias TCM_GETITEMW TCM_GETITEM;
6166 -// #else
6167 -// #...
6168 -// #endif
6169 -
6170 -// #define TabCtrl_GetItem(hwnd, iItem, pitem) (BOOL)SNDMSG((hwnd), TCM_GETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem))
6171 -
6172 -enum : uint { TCM_SETITEMA = TCM_FIRST + 6 }
6173 -enum : uint { TCM_SETITEMW = TCM_FIRST + 61 }
6174 -
6175 -// #ifdef UNICODE
6176 -alias TCM_SETITEMW TCM_SETITEM;
6177 -// #else
6178 -// #...
6179 -// #endif
6180 -
6181 -// #define TabCtrl_SetItem(hwnd, iItem, pitem) (BOOL)SNDMSG((hwnd), TCM_SETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem))
6182 -
6183 -enum : uint { TCM_INSERTITEMA = TCM_FIRST + 7 }
6184 -enum : uint { TCM_INSERTITEMW = TCM_FIRST + 62 }
6185 -
6186 -// #ifdef UNICODE
6187 -alias TCM_INSERTITEMW TCM_INSERTITEM;
6188 -// #else
6189 -// #...
6190 -// #endif
6191 -
6192 -// #define TabCtrl_InsertItem(hwnd, iItem, pitem) (int)SNDMSG((hwnd), TCM_INSERTITEM, (WPARAM)(int)(iItem), (LPARAM)(const TC_ITEM *)(pitem))
6193 -
6194 -enum : uint { TCM_DELETEITEM = TCM_FIRST + 8 }
6195 -// #define TabCtrl_DeleteItem(hwnd, i) (BOOL)SNDMSG((hwnd), TCM_DELETEITEM, (WPARAM)(int)(i), 0L)
6196 -
6197 -enum : uint { TCM_DELETEALLITEMS = TCM_FIRST + 9 }
6198 -// #define TabCtrl_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), TCM_DELETEALLITEMS, 0, 0L)
6199 -
6200 -enum : uint { TCM_GETITEMRECT = TCM_FIRST + 10 }
6201 -// #define TabCtrl_GetItemRect(hwnd, i, prc) (BOOL)SNDMSG((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT *)(prc))
6202 -
6203 -enum : uint { TCM_GETCURSEL = TCM_FIRST + 11 }
6204 -// #define TabCtrl_GetCurSel(hwnd) (int)SNDMSG((hwnd), TCM_GETCURSEL, 0, 0)
6205 -
6206 -enum : uint { TCM_SETCURSEL = TCM_FIRST + 12 }
6207 -// #define TabCtrl_SetCurSel(hwnd, i) (int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)(i), 0)
6208 -
6209 -enum : uint { TCHT_NOWHERE = 0x0001 }
6210 -enum : uint { TCHT_ONITEMICON = 0x0002 }
6211 -enum : uint { TCHT_ONITEMLABEL = 0x0004 }
6212 -enum : uint { TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL }
6213 -
6214 -// #if (_WIN32_IE >= 0x0300)
6215 -alias LPTCHITTESTINFO LPTC_HITTESTINFO;
6216 -alias TCHITTESTINFO TC_HITTESTINFO;
6217 -// #else
6218 -// #...
6219 -// #...
6220 -// #...
6221 -// #endif
6222 -
6223 -struct tagTCHITTESTINFO {
6224 - POINT pt;
6225 - UINT flags;
6226 -}
6227 -alias tagTCHITTESTINFO TCHITTESTINFO;
6228 -alias tagTCHITTESTINFO* LPTCHITTESTINFO;
6229 -
6230 -enum : uint { TCM_HITTEST = TCM_FIRST + 13 }
6231 -// #define TabCtrl_HitTest(hwndTC, pinfo) (int)SNDMSG((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO *)(pinfo))
6232 -
6233 -enum : uint { TCM_SETITEMEXTRA = TCM_FIRST + 14 }
6234 -// #define TabCtrl_SetItemExtra(hwndTC, cb) (BOOL)SNDMSG((hwndTC), TCM_SETITEMEXTRA, (WPARAM)(cb), 0L)
6235 -
6236 -enum : uint { TCM_ADJUSTRECT = TCM_FIRST + 40 }
6237 -// #define TabCtrl_AdjustRect(hwnd, bLarger, prc) (int)SNDMSG(hwnd, TCM_ADJUSTRECT, (WPARAM)(BOOL)(bLarger), (LPARAM)(RECT *)prc)
6238 -
6239 -enum : uint { TCM_SETITEMSIZE = TCM_FIRST + 41 }
6240 -// #define TabCtrl_SetItemSize(hwnd, x, y) (DWORD)SNDMSG((hwnd), TCM_SETITEMSIZE, 0, MAKELPARAM(x,y))
6241 -
6242 -enum : uint { TCM_REMOVEIMAGE = TCM_FIRST + 42 }
6243 -// #define TabCtrl_RemoveImage(hwnd, i) (void)SNDMSG((hwnd), TCM_REMOVEIMAGE, i, 0L)
6244 -
6245 -enum : uint { TCM_SETPADDING = TCM_FIRST + 43 }
6246 -// #define TabCtrl_SetPadding(hwnd, cx, cy) (void)SNDMSG((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy))
6247 -
6248 -enum : uint { TCM_GETROWCOUNT = TCM_FIRST + 44 }
6249 -// #define TabCtrl_GetRowCount(hwnd) (int)SNDMSG((hwnd), TCM_GETROWCOUNT, 0, 0L)
6250 -
6251 -enum : uint { TCM_GETTOOLTIPS = TCM_FIRST + 45 }
6252 -// #define TabCtrl_GetToolTips(hwnd) (HWND)SNDMSG((hwnd), TCM_GETTOOLTIPS, 0, 0L)
6253 -
6254 -enum : uint { TCM_SETTOOLTIPS = TCM_FIRST + 46 }
6255 -// #define TabCtrl_SetToolTips(hwnd, hwndTT) (void)SNDMSG((hwnd), TCM_SETTOOLTIPS, (WPARAM)(hwndTT), 0L)
6256 -
6257 -enum : uint { TCM_GETCURFOCUS = TCM_FIRST + 47 }
6258 -// #define TabCtrl_GetCurFocus(hwnd) (int)SNDMSG((hwnd), TCM_GETCURFOCUS, 0, 0)
6259 -
6260 -enum : uint { TCM_SETCURFOCUS = TCM_FIRST + 48 }
6261 -// #define TabCtrl_SetCurFocus(hwnd, i) SNDMSG((hwnd),TCM_SETCURFOCUS, i, 0)
6262 -
6263 -// #if (_WIN32_IE >= 0x0300)
6264 -enum : uint { TCM_SETMINTABWIDTH = TCM_FIRST + 49 }
6265 -// #define TabCtrl_SetMinTabWidth(hwnd, x) (int)SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x)
6266 -
6267 -enum : uint { TCM_DESELECTALL = TCM_FIRST + 50 }
6268 -// #define TabCtrl_DeselectAll(hwnd, fExcludeFocus) (void)SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0)
6269 -// #endif
6270 -
6271 -// #if (_WIN32_IE >= 0x0400)
6272 -
6273 -enum : uint { TCM_HIGHLIGHTITEM = TCM_FIRST + 51 }
6274 -// #define TabCtrl_HighlightItem(hwnd, i, fHighlight) (BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)(i), (LPARAM)MAKELONG (fHighlight, 0))
6275 -
6276 -enum : uint { TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52 }
6277 -// #define TabCtrl_SetExtendedStyle(hwnd, dw) (DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw)
6278 -
6279 -enum : uint { TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53 }
6280 -// #define TabCtrl_GetExtendedStyle(hwnd) (DWORD)SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0)
6281 -
6282 -alias CCM_SETUNICODEFORMAT TCM_SETUNICODEFORMAT;
6283 -// #define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
6284 -
6285 -alias CCM_GETUNICODEFORMAT TCM_GETUNICODEFORMAT;
6286 -// #define TabCtrl_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0)
6287 -
6288 -// #endif // _WIN32_IE >= 0x0400
6289 -
6290 -enum : uint { TCN_KEYDOWN = TCN_FIRST - 0 }
6291 -
6292 -// #if (_WIN32_IE >= 0x0300)
6293 -alias NMTCKEYDOWN TC_KEYDOWN;
6294 -// #else
6295 -// #...
6296 -// #...
6297 -// #endif
6298 -
6299 -// #ifdef _WIN32
6300 -align(1):
6301 -// #endif
6302 -
6303 -struct tagTCKEYDOWN {
6304 - NMHDR hdr;
6305 - WORD wVKey;
6306 - UINT flags;
6307 -}
6308 -alias tagTCKEYDOWN NMTCKEYDOWN;
6309 -
6310 -// #ifdef _WIN32
6311 -align:
6312 -// #endif
6313 -
6314 -enum : uint { TCN_SELCHANGE = TCN_FIRST - 1 }
6315 -enum : uint { TCN_SELCHANGING = TCN_FIRST - 2 }
6316 -// #if (_WIN32_IE >= 0x0400)
6317 -enum : uint { TCN_GETOBJECT = TCN_FIRST - 3 }
6318 -// #endif // _WIN32_IE >= 0x0400
6319 -// #if (_WIN32_IE >= 0x0500)
6320 -enum : uint { TCN_FOCUSCHANGE = TCN_FIRST - 4 }
6321 -// #endif // _WIN32_IE >= 0x0500
6322 -// #endif // NOTABCONTROL
6323 -
6324 -// #ifndef NOANIMATE
6325 -
6326 -// #ifdef _WIN32
6327 -
6328 -const wchar[] ANIMATE_CLASSW = "SysAnimate32";
6329 -const char[] ANIMATE_CLASSA = "SysAnimate32";
6330 -
6331 -// #ifdef UNICODE
6332 -alias ANIMATE_CLASSW ANIMATE_CLASS;
6333 -// #else
6334 -// #...
6335 -// #endif
6336 -
6337 -enum : uint { ACS_CENTER = 0x0001 }
6338 -enum : uint { ACS_TRANSPARENT = 0x0002 }
6339 -enum : uint { ACS_AUTOPLAY = 0x0004 }
6340 -// #if (_WIN32_IE >= 0x0300)
6341 -enum : uint { ACS_TIMER = 0x0008 }
6342 -// #endif
6343 -
6344 -enum : uint { ACM_OPENA = WM_USER+100 }
6345 -enum : uint { ACM_OPENW = WM_USER+103 }
6346 -
6347 -// #ifdef UNICODE
6348 -alias ACM_OPENW ACM_OPEN;
6349 -// #else
6350 -// #...
6351 -// #endif
6352 -
6353 -enum : uint { ACM_PLAY = WM_USER+101 }
6354 -enum : uint { ACM_STOP = WM_USER+102 }
6355 -
6356 -enum : uint { ACN_START = 1 }
6357 -enum : uint { ACN_STOP = 2 }
6358 -
6359 -// #define Animate_Create(hwndP, id, dwStyle, hInstance) CreateWindow(ANIMATE_CLASS, NULL, dwStyle, 0, 0, 0, 0, hwndP, (HMENU)(id), hInstance, NULL)
6360 -
6361 -// #define Animate_Open(hwnd, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, 0, (LPARAM)(LPTSTR)(szName))
6362 -// #define Animate_OpenEx(hwnd, hInst, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, (WPARAM)(hInst), (LPARAM)(LPTSTR)(szName))
6363 -// #define Animate_Play(hwnd, from, to, rep) (BOOL)SNDMSG(hwnd, ACM_PLAY, (WPARAM)(rep), (LPARAM)MAKELONG(from, to))
6364 -// #define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd, ACM_STOP, 0, 0)
6365 -// #define Animate_Close(hwnd) Animate_Open(hwnd, NULL)
6366 -// #define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1)
6367 -// #endif
6368 -
6369 -// #endif // NOANIMATE
6370 -
6371 -// #if (_WIN32_IE >= 0x0300)
6372 -
6373 -// #ifndef NOMONTHCAL
6374 -// #ifdef _WIN32
6375 -
6376 -const wchar[] MONTHCAL_CLASSW = "SysMonthCal32";
6377 -const char[] MONTHCAL_CLASSA = "SysMonthCal32";
6378 -
6379 -// #ifdef UNICODE
6380 -alias MONTHCAL_CLASSW MONTHCAL_CLASS;
6381 -// #else
6382 -// #...
6383 -// #endif
6384 -
6385 -alias DWORD MONTHDAYSTATE;
6386 -alias DWORD* LPMONTHDAYSTATE;
6387 -
6388 -enum : uint { MCM_FIRST = 0x1000 }
6389 -
6390 -enum : uint { MCM_GETCURSEL = MCM_FIRST + 1 }
6391 -// #define MonthCal_GetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETCURSEL, 0, (LPARAM)(pst))
6392 -
6393 -enum : uint { MCM_SETCURSEL = MCM_FIRST + 2 }
6394 -// #define MonthCal_SetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_SETCURSEL, 0, (LPARAM)(pst))
6395 -
6396 -enum : uint { MCM_GETMAXSELCOUNT = MCM_FIRST + 3 }
6397 -// #define MonthCal_GetMaxSelCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXSELCOUNT, 0, 0L)
6398 -
6399 -enum : uint { MCM_SETMAXSELCOUNT = MCM_FIRST + 4 }
6400 -// #define MonthCal_SetMaxSelCount(hmc, n) (BOOL)SNDMSG(hmc, MCM_SETMAXSELCOUNT, (WPARAM)(n), 0L)
6401 -
6402 -enum : uint { MCM_GETSELRANGE = MCM_FIRST + 5 }
6403 -// #define MonthCal_GetSelRange(hmc, rgst) SNDMSG(hmc, MCM_GETSELRANGE, 0, (LPARAM)(rgst))
6404 -
6405 -enum : uint { MCM_SETSELRANGE = MCM_FIRST + 6 }
6406 -// #define MonthCal_SetSelRange(hmc, rgst) SNDMSG(hmc, MCM_SETSELRANGE, 0, (LPARAM)(rgst))
6407 -
6408 -enum : uint { MCM_GETMONTHRANGE = MCM_FIRST + 7 }
6409 -// #define MonthCal_GetMonthRange(hmc, gmr, rgst) (DWORD)SNDMSG(hmc, MCM_GETMONTHRANGE, (WPARAM)(gmr), (LPARAM)(rgst))
6410 -
6411 -enum : uint { MCM_SETDAYSTATE = MCM_FIRST + 8 }
6412 -// #define MonthCal_SetDayState(hmc, cbds, rgds) SNDMSG(hmc, MCM_SETDAYSTATE, (WPARAM)(cbds), (LPARAM)(rgds))
6413 -
6414 -enum : uint { MCM_GETMINREQRECT = MCM_FIRST + 9 }
6415 -// #define MonthCal_GetMinReqRect(hmc, prc) SNDMSG(hmc, MCM_GETMINREQRECT, 0, (LPARAM)(prc))
6416 -
6417 -enum : uint { MCM_SETCOLOR = MCM_FIRST + 10 }
6418 -// #define MonthCal_SetColor(hmc, iColor, clr) SNDMSG(hmc, MCM_SETCOLOR, iColor, clr)
6419 -
6420 -enum : uint { MCM_GETCOLOR = MCM_FIRST + 11 }
6421 -// #define MonthCal_GetColor(hmc, iColor) SNDMSG(hmc, MCM_GETCOLOR, iColor, 0)
6422 -
6423 -enum : uint { MCSC_BACKGROUND = 0 }
6424 -enum : uint { MCSC_TEXT = 1 }
6425 -enum : uint { MCSC_TITLEBK = 2 }
6426 -enum : uint { MCSC_TITLETEXT = 3 }
6427 -enum : uint { MCSC_MONTHBK = 4 }
6428 -enum : uint { MCSC_TRAILINGTEXT = 5 }
6429 -
6430 -enum : uint { MCM_SETTODAY = MCM_FIRST + 12 }
6431 -// #define MonthCal_SetToday(hmc, pst) SNDMSG(hmc, MCM_SETTODAY, 0, (LPARAM)(pst))
6432 -
6433 -enum : uint { MCM_GETTODAY = MCM_FIRST + 13 }
6434 -// #define MonthCal_GetToday(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETTODAY, 0, (LPARAM)(pst))
6435 -
6436 -enum : uint { MCM_HITTEST = MCM_FIRST + 14 }
6437 -// #define MonthCal_HitTest(hmc, pinfo) SNDMSG(hmc, MCM_HITTEST, 0, (LPARAM)(PMCHITTESTINFO)(pinfo))
6438 -
6439 -struct _15 {
6440 - UINT cbSize;
6441 - POINT pt;
6442 - UINT uHit;
6443 - SYSTEMTIME st;
6444 -}
6445 -alias _15 MCHITTESTINFO;
6446 -alias _15* PMCHITTESTINFO;
6447 -
6448 -enum : uint { MCHT_TITLE = 0x00010000 }
6449 -enum : uint { MCHT_CALENDAR = 0x00020000 }
6450 -enum : uint { MCHT_TODAYLINK = 0x00030000 }
6451 -
6452 -enum : uint { MCHT_NEXT = 0x01000000 }
6453 -enum : uint { MCHT_PREV = 0x02000000 }
6454 -
6455 -enum : uint { MCHT_NOWHERE = 0x00000000 }
6456 -
6457 -enum : uint { MCHT_TITLEBK = MCHT_TITLE }
6458 -enum : uint { MCHT_TITLEMONTH = MCHT_TITLE | 0x0001 }
6459 -enum : uint { MCHT_TITLEYEAR = MCHT_TITLE | 0x0002 }
6460 -enum : uint { MCHT_TITLEBTNNEXT = MCHT_TITLE | MCHT_NEXT | 0x0003 }
6461 -enum : uint { MCHT_TITLEBTNPREV = MCHT_TITLE | MCHT_PREV | 0x0003 }
6462 -
6463 -enum : uint { MCHT_CALENDARBK = MCHT_CALENDAR }
6464 -enum : uint { MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001 }
6465 -enum : uint { MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE | MCHT_NEXT }
6466 -enum : uint { MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE | MCHT_PREV }
6467 -enum : uint { MCHT_CALENDARDAY = MCHT_CALENDAR | 0x0002 }
6468 -enum : uint { MCHT_CALENDARWEEKNUM = MCHT_CALENDAR | 0x0003 }
6469 -
6470 -enum : uint { MCM_SETFIRSTDAYOFWEEK = MCM_FIRST + 15 }
6471 -// #define MonthCal_SetFirstDayOfWeek(hmc, iDay) SNDMSG(hmc, MCM_SETFIRSTDAYOFWEEK, 0, iDay)
6472 -
6473 -enum : uint { MCM_GETFIRSTDAYOFWEEK = MCM_FIRST + 16 }
6474 -// #define MonthCal_GetFirstDayOfWeek(hmc) (DWORD)SNDMSG(hmc, MCM_GETFIRSTDAYOFWEEK, 0, 0)
6475 -
6476 -enum : uint { MCM_GETRANGE = MCM_FIRST + 17 }
6477 -// #define MonthCal_GetRange(hmc, rgst) (DWORD)SNDMSG(hmc, MCM_GETRANGE, 0, (LPARAM)(rgst))
6478 -
6479 -enum : uint { MCM_SETRANGE = MCM_FIRST + 18 }
6480 -// #define MonthCal_SetRange(hmc, gd, rgst) (BOOL)SNDMSG(hmc, MCM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst))
6481 -
6482 -enum : uint { MCM_GETMONTHDELTA = MCM_FIRST + 19 }
6483 -// #define MonthCal_GetMonthDelta(hmc) (int)SNDMSG(hmc, MCM_GETMONTHDELTA, 0, 0)
6484 -
6485 -enum : uint { MCM_SETMONTHDELTA = MCM_FIRST + 20 }
6486 -// #define MonthCal_SetMonthDelta(hmc, n) (int)SNDMSG(hmc, MCM_SETMONTHDELTA, n, 0)
6487 -
6488 -enum : uint { MCM_GETMAXTODAYWIDTH = MCM_FIRST + 21 }
6489 -// #define MonthCal_GetMaxTodayWidth(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXTODAYWIDTH, 0, 0)
6490 -
6491 -// #if (_WIN32_IE >= 0x0400)
6492 -alias CCM_SETUNICODEFORMAT MCM_SETUNICODEFORMAT;
6493 -// #define MonthCal_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0)
6494 -
6495 -alias CCM_GETUNICODEFORMAT MCM_GETUNICODEFORMAT;
6496 -// #define MonthCal_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0)
6497 -// #endif
6498 -
6499 -struct tagNMSELCHANGE {
6500 - NMHDR nmhdr;
6501 -
6502 - SYSTEMTIME stSelStart;
6503 - SYSTEMTIME stSelEnd;
6504 -}
6505 -alias tagNMSELCHANGE NMSELCHANGE;
6506 -alias tagNMSELCHANGE* LPNMSELCHANGE;
6507 -
6508 -enum : uint { MCN_SELCHANGE = MCN_FIRST + 1 }
6509 -
6510 -struct tagNMDAYSTATE {
6511 - NMHDR nmhdr;
6512 -
6513 - SYSTEMTIME stStart;
6514 - int cDayState;
6515 - LPMONTHDAYSTATE prgDayState;
6516 -}
6517 -alias tagNMDAYSTATE NMDAYSTATE;
6518 -alias tagNMDAYSTATE* LPNMDAYSTATE;
6519 -
6520 -enum : uint { MCN_GETDAYSTATE = MCN_FIRST + 3 }
6521 -
6522 -alias NMSELCHANGE NMSELECT;
6523 -alias NMSELCHANGE* LPNMSELECT;
6524 -
6525 -enum : uint { MCN_SELECT = MCN_FIRST + 4 }
6526 -
6527 -enum : uint { MCS_DAYSTATE = 0x0001 }
6528 -enum : uint { MCS_MULTISELECT = 0x0002 }
6529 -enum : uint { MCS_WEEKNUMBERS = 0x0004 }
6530 -// #if (_WIN32_IE >= 0x0400)
6531 -enum : uint { MCS_NOTODAYCIRCLE = 0x0008 }
6532 -enum : uint { MCS_NOTODAY = 0x0010 }
6533 -// #else
6534 -// #...
6535 -// #endif
6536 -
6537 -enum : uint { GMR_VISIBLE = 0 }
6538 -enum : uint { GMR_DAYSTATE = 1 }
6539 -
6540 -// #endif // _WIN32
6541 -// #endif // NOMONTHCAL
6542 -
6543 -// #ifndef NODATETIMEPICK
6544 -// #ifdef _WIN32
6545 -
6546 -const wchar[] DATETIMEPICK_CLASSW = "SysDateTimePick32";
6547 -const char[] DATETIMEPICK_CLASSA = "SysDateTimePick32";
6548 -
6549 -// #ifdef UNICODE
6550 -alias DATETIMEPICK_CLASSW DATETIMEPICK_CLASS;
6551 -// #else
6552 -// #...
6553 -// #endif
6554 -
6555 -enum : uint { DTM_FIRST = 0x1000 }
6556 -
6557 -enum : uint { DTM_GETSYSTEMTIME = DTM_FIRST + 1 }
6558 -// #define DateTime_GetSystemtime(hdp, pst) (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME, 0, (LPARAM)(pst))
6559 -
6560 -enum : uint { DTM_SETSYSTEMTIME = DTM_FIRST + 2 }
6561 -// #define DateTime_SetSystemtime(hdp, gd, pst) (BOOL)SNDMSG(hdp, DTM_SETSYSTEMTIME, (WPARAM)(gd), (LPARAM)(pst))
6562 -
6563 -enum : uint { DTM_GETRANGE = DTM_FIRST + 3 }
6564 -// #define DateTime_GetRange(hdp, rgst) (DWORD)SNDMSG(hdp, DTM_GETRANGE, 0, (LPARAM)(rgst))
6565 -
6566 -enum : uint { DTM_SETRANGE = DTM_FIRST + 4 }
6567 -// #define DateTime_SetRange(hdp, gd, rgst) (BOOL)SNDMSG(hdp, DTM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst))
6568 -
6569 -enum : uint { DTM_SETFORMATA = DTM_FIRST + 5 }
6570 -enum : uint { DTM_SETFORMATW = DTM_FIRST + 50 }
6571 -
6572 -// #ifdef UNICODE
6573 -alias DTM_SETFORMATW DTM_SETFORMAT;
6574 -// #else
6575 -// #...
6576 -// #endif
6577 -
6578 -// #define DateTime_SetFormat(hdp, sz) (BOOL)SNDMSG(hdp, DTM_SETFORMAT, 0, (LPARAM)(sz))
6579 -
6580 -enum : uint { DTM_SETMCCOLOR = DTM_FIRST + 6 }
6581 -// #define DateTime_SetMonthCalColor(hdp, iColor, clr) SNDMSG(hdp, DTM_SETMCCOLOR, iColor, clr)
6582 -
6583 -enum : uint { DTM_GETMCCOLOR = DTM_FIRST + 7 }
6584 -// #define DateTime_GetMonthCalColor(hdp, iColor) SNDMSG(hdp, DTM_GETMCCOLOR, iColor, 0)
6585 -
6586 -enum : uint { DTM_GETMONTHCAL = DTM_FIRST + 8 }
6587 -// #define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0)
6588 -
6589 -// #if (_WIN32_IE >= 0x0400)
6590 -
6591 -enum : uint { DTM_SETMCFONT = DTM_FIRST + 9 }
6592 -// #define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw))
6593 -
6594 -enum : uint { DTM_GETMCFONT = DTM_FIRST + 10 }
6595 -// #define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0)
6596 -
6597 -// #endif // _WIN32_IE >= 0x0400
6598 -
6599 -enum : uint { DTS_UPDOWN = 0x0001 }
6600 -enum : uint { DTS_SHOWNONE = 0x0002 }
6601 -enum : uint { DTS_SHORTDATEFORMAT = 0x0000 }
6602 -enum : uint { DTS_LONGDATEFORMAT = 0x0004 }
6603 -// #if (_WIN32_IE >= 0x500)
6604 -enum : uint { DTS_SHORTDATECENTURYFORMAT = 0x000C }
6605 -// #endif // (_WIN32_IE >= 0x500)
6606 -enum : uint { DTS_TIMEFORMAT = 0x0009 }
6607 -enum : uint { DTS_APPCANPARSE = 0x0010 }
6608 -enum : uint { DTS_RIGHTALIGN = 0x0020 }
6609 -
6610 -enum : uint { DTN_DATETIMECHANGE = DTN_FIRST + 1 }
6611 -struct tagNMDATETIMECHANGE {
6612 - NMHDR nmhdr;
6613 - DWORD dwFlags;
6614 - SYSTEMTIME st;
6615 -}
6616 -alias tagNMDATETIMECHANGE NMDATETIMECHANGE;
6617 -alias tagNMDATETIMECHANGE* LPNMDATETIMECHANGE;
6618 -
6619 -enum : uint { DTN_USERSTRINGA = DTN_FIRST + 2 }
6620 -enum : uint { DTN_USERSTRINGW = DTN_FIRST + 15 }
6621 -struct tagNMDATETIMESTRINGA {
6622 - NMHDR nmhdr;
6623 - LPCSTR pszUserString;
6624 - SYSTEMTIME st;
6625 - DWORD dwFlags;
6626 -}
6627 -alias tagNMDATETIMESTRINGA NMDATETIMESTRINGA;
6628 -alias tagNMDATETIMESTRINGA* LPNMDATETIMESTRINGA;
6629 -
6630 -struct tagNMDATETIMESTRINGW {
6631 - NMHDR nmhdr;
6632 - LPCWSTR pszUserString;
6633 - SYSTEMTIME st;
6634 - DWORD dwFlags;
6635 -}
6636 -alias tagNMDATETIMESTRINGW NMDATETIMESTRINGW;
6637 -alias tagNMDATETIMESTRINGW* LPNMDATETIMESTRINGW;
6638 -
6639 -// #ifdef UNICODE
6640 -alias DTN_USERSTRINGW DTN_USERSTRING;
6641 -alias NMDATETIMESTRINGW NMDATETIMESTRING;
6642 -alias LPNMDATETIMESTRINGW LPNMDATETIMESTRING;
6643 -// #else
6644 -// #...
6645 -// #...
6646 -// #...
6647 -// #endif
6648 -
6649 -enum : uint { DTN_WMKEYDOWNA = DTN_FIRST + 3 }
6650 -enum : uint { DTN_WMKEYDOWNW = DTN_FIRST + 16 }
6651 -struct tagNMDATETIMEWMKEYDOWNA {
6652 - NMHDR nmhdr;
6653 - int nVirtKey;
6654 - LPCSTR pszFormat;
6655 - SYSTEMTIME st;
6656 -}
6657 -alias tagNMDATETIMEWMKEYDOWNA NMDATETIMEWMKEYDOWNA;
6658 -alias tagNMDATETIMEWMKEYDOWNA* LPNMDATETIMEWMKEYDOWNA;
6659 -
6660 -struct tagNMDATETIMEWMKEYDOWNW {
6661 - NMHDR nmhdr;
6662 - int nVirtKey;
6663 - LPCWSTR pszFormat;
6664 - SYSTEMTIME st;
6665 -}
6666 -alias tagNMDATETIMEWMKEYDOWNW NMDATETIMEWMKEYDOWNW;
6667 -alias tagNMDATETIMEWMKEYDOWNW* LPNMDATETIMEWMKEYDOWNW;
6668 -
6669 -// #ifdef UNICODE
6670 -alias DTN_WMKEYDOWNW DTN_WMKEYDOWN;
6671 -alias NMDATETIMEWMKEYDOWNW NMDATETIMEWMKEYDOWN;
6672 -alias LPNMDATETIMEWMKEYDOWNW LPNMDATETIMEWMKEYDOWN;
6673 -// #else
6674 -// #...
6675 -// #...
6676 -// #...
6677 -// #endif
6678 -
6679 -enum : uint { DTN_FORMATA = DTN_FIRST + 4 }
6680 -enum : uint { DTN_FORMATW = DTN_FIRST + 17 }
6681 -struct tagNMDATETIMEFORMATA {
6682 - NMHDR nmhdr;
6683 - LPCSTR pszFormat;
6684 - SYSTEMTIME st;
6685 - LPCSTR pszDisplay;
6686 - CHAR szDisplay[64];
6687 -}
6688 -alias tagNMDATETIMEFORMATA NMDATETIMEFORMATA;
6689 -alias tagNMDATETIMEFORMATA* LPNMDATETIMEFORMATA;
6690 -
6691 -struct tagNMDATETIMEFORMATW {
6692 - NMHDR nmhdr;
6693 - LPCWSTR pszFormat;
6694 - SYSTEMTIME st;
6695 - LPCWSTR pszDisplay;
6696 - WCHAR szDisplay[64];
6697 -}
6698 -alias tagNMDATETIMEFORMATW NMDATETIMEFORMATW;
6699 -alias tagNMDATETIMEFORMATW* LPNMDATETIMEFORMATW;
6700 -
6701 -// #ifdef UNICODE
6702 -alias DTN_FORMATW DTN_FORMAT;
6703 -alias NMDATETIMEFORMATW NMDATETIMEFORMAT;
6704 -alias LPNMDATETIMEFORMATW LPNMDATETIMEFORMAT;
6705 -// #else
6706 -// #...
6707 -// #...
6708 -// #...
6709 -// #endif
6710 -
6711 -enum : uint { DTN_FORMATQUERYA = DTN_FIRST + 5 }
6712 -enum : uint { DTN_FORMATQUERYW = DTN_FIRST + 18 }
6713 -struct tagNMDATETIMEFORMATQUERYA {
6714 - NMHDR nmhdr;
6715 - LPCSTR pszFormat;
6716 - SIZE szMax;
6717 -}
6718 -alias tagNMDATETIMEFORMATQUERYA NMDATETIMEFORMATQUERYA;
6719 -alias tagNMDATETIMEFORMATQUERYA* LPNMDATETIMEFORMATQUERYA;
6720 -
6721 -struct tagNMDATETIMEFORMATQUERYW {
6722 - NMHDR nmhdr;
6723 - LPCWSTR pszFormat;
6724 - SIZE szMax;
6725 -}
6726 -alias tagNMDATETIMEFORMATQUERYW NMDATETIMEFORMATQUERYW;
6727 -alias tagNMDATETIMEFORMATQUERYW* LPNMDATETIMEFORMATQUERYW;
6728 -
6729 -// #ifdef UNICODE
6730 -alias DTN_FORMATQUERYW DTN_FORMATQUERY;
6731 -alias NMDATETIMEFORMATQUERYW NMDATETIMEFORMATQUERY;
6732 -alias LPNMDATETIMEFORMATQUERYW LPNMDATETIMEFORMATQUERY;
6733 -// #else
6734 -// #...
6735 -// #...
6736 -// #...
6737 -// #endif
6738 -
6739 -enum : uint { DTN_DROPDOWN = DTN_FIRST + 6 }
6740 -enum : uint { DTN_CLOSEUP = DTN_FIRST + 7 }
6741 -
6742 -enum : uint { GDTR_MIN = 0x0001 }
6743 -enum : uint { GDTR_MAX = 0x0002 }
6744 -
6745 -enum { GDT_ERROR = -1 }
6746 -enum : uint { GDT_VALID = 0 }
6747 -enum : uint { GDT_NONE = 1 }
6748 -
6749 -// #endif // _WIN32
6750 -// #endif // NODATETIMEPICK
6751 -
6752 -// #if (_WIN32_IE >= 0x0400)
6753 -
6754 -// #ifndef NOIPADDRESS
6755 -
6756 -enum : uint { IPM_CLEARADDRESS = WM_USER+100 }
6757 -enum : uint { IPM_SETADDRESS = WM_USER+101 }
6758 -enum : uint { IPM_GETADDRESS = WM_USER+102 }
6759 -enum : uint { IPM_SETRANGE = WM_USER+103 }
6760 -enum : uint { IPM_SETFOCUS = WM_USER+104 }
6761 -enum : uint { IPM_ISBLANK = WM_USER+105 }
6762 -
6763 -const wchar[] WC_IPADDRESSW = "SysIPAddress32";
6764 -const char[] WC_IPADDRESSA = "SysIPAddress32";
6765 -
6766 -// #ifdef UNICODE
6767 -alias WC_IPADDRESSW WC_IPADDRESS;
6768 -// #else
6769 -// #...
6770 -// #endif
6771 -
6772 -enum : uint { IPN_FIELDCHANGED = IPN_FIRST - 0 }
6773 -struct tagNMIPADDRESS {
6774 - NMHDR hdr;
6775 - int iField;
6776 - int iValue;
6777 -}
6778 -alias tagNMIPADDRESS NMIPADDRESS;
6779 -alias tagNMIPADDRESS* LPNMIPADDRESS;
6780 -
6781 -// #define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low)))
6782 -
6783 -// #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
6784 -
6785 -// #define FIRST_IPADDRESS(x) ((x>>24) & 0xff)
6786 -// #define SECOND_IPADDRESS(x) ((x>>16) & 0xff)
6787 -// #define THIRD_IPADDRESS(x) ((x>>8) & 0xff)
6788 -// #define FOURTH_IPADDRESS(x) (x & 0xff)
6789 -
6790 -// #endif // NOIPADDRESS
6791 -
6792 -// #ifndef NOPAGESCROLLER
6793 -
6794 -const wchar[] WC_PAGESCROLLERW = "SysPager";
6795 -const char[] WC_PAGESCROLLERA = "SysPager";
6796 -
6797 -// #ifdef UNICODE
6798 -alias WC_PAGESCROLLERW WC_PAGESCROLLER;
6799 -// #else
6800 -// #...
6801 -// #endif
6802 -
6803 -enum : uint { PGS_VERT = 0x00000000 }
6804 -enum : uint { PGS_HORZ = 0x00000001 }
6805 -enum : uint { PGS_AUTOSCROLL = 0x00000002 }
6806 -enum : uint { PGS_DRAGNDROP = 0x00000004 }
6807 -
6808 -enum : uint { PGF_INVISIBLE = 0 }
6809 -enum : uint { PGF_NORMAL = 1 }
6810 -enum : uint { PGF_GRAYED = 2 }
6811 -enum : uint { PGF_DEPRESSED = 4 }
6812 -enum : uint { PGF_HOT = 8 }
6813 -
6814 -enum : uint { PGB_TOPORLEFT = 0 }
6815 -enum : uint { PGB_BOTTOMORRIGHT = 1 }
6816 -
6817 -enum : uint { PGM_SETCHILD = PGM_FIRST + 1 }
6818 -// #define Pager_SetChild(hwnd, hwndChild) (void)SNDMSG((hwnd), PGM_SETCHILD, 0, (LPARAM)(hwndChild))
6819 -
6820 -enum : uint { PGM_RECALCSIZE = PGM_FIRST + 2 }
6821 -// #define Pager_RecalcSize(hwnd) (void)SNDMSG((hwnd), PGM_RECALCSIZE, 0, 0)
6822 -
6823 -enum : uint { PGM_FORWARDMOUSE = PGM_FIRST + 3 }
6824 -// #define Pager_ForwardMouse(hwnd, bForward) (void)SNDMSG((hwnd), PGM_FORWARDMOUSE, (WPARAM)(bForward), 0)
6825 -
6826 -enum : uint { PGM_SETBKCOLOR = PGM_FIRST + 4 }
6827 -// #define Pager_SetBkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), PGM_SETBKCOLOR, 0, (LPARAM)(clr))
6828 -
6829 -enum : uint { PGM_GETBKCOLOR = PGM_FIRST + 5 }
6830 -// #define Pager_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), PGM_GETBKCOLOR, 0, 0)
6831 -
6832 -enum : uint { PGM_SETBORDER = PGM_FIRST + 6 }
6833 -// #define Pager_SetBorder(hwnd, iBorder) (int)SNDMSG((hwnd), PGM_SETBORDER, 0, (LPARAM)(iBorder))
6834 -
6835 -enum : uint { PGM_GETBORDER = PGM_FIRST + 7 }
6836 -// #define Pager_GetBorder(hwnd) (int)SNDMSG((hwnd), PGM_GETBORDER, 0, 0)
6837 -
6838 -enum : uint { PGM_SETPOS = PGM_FIRST + 8 }
6839 -// #define Pager_SetPos(hwnd, iPos) (int)SNDMSG((hwnd), PGM_SETPOS, 0, (LPARAM)(iPos))
6840 -
6841 -enum : uint { PGM_GETPOS = PGM_FIRST + 9 }
6842 -// #define Pager_GetPos(hwnd) (int)SNDMSG((hwnd), PGM_GETPOS, 0, 0)
6843 -
6844 -enum : uint { PGM_SETBUTTONSIZE = PGM_FIRST + 10 }
6845 -// #define Pager_SetButtonSize(hwnd, iSize) (int)SNDMSG((hwnd), PGM_SETBUTTONSIZE, 0, (LPARAM)(iSize))
6846 -
6847 -enum : uint { PGM_GETBUTTONSIZE = PGM_FIRST + 11 }
6848 -// #define Pager_GetButtonSize(hwnd) (int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0)
6849 -
6850 -enum : uint { PGM_GETBUTTONSTATE = PGM_FIRST + 12 }
6851 -// #define Pager_GetButtonState(hwnd, iButton) (DWORD)SNDMSG((hwnd), PGM_GETBUTTONSTATE, 0, (LPARAM)(iButton))
6852 -
6853 -alias CCM_GETDROPTARGET PGM_GETDROPTARGET;
6854 -// #define Pager_GetDropTarget(hwnd, ppdt) (void)SNDMSG((hwnd), PGM_GETDROPTARGET, 0, (LPARAM)(ppdt))
6855 -
6856 -enum : uint { PGN_SCROLL = PGN_FIRST-1 }
6857 -
6858 -enum : uint { PGF_SCROLLUP = 1 }
6859 -enum : uint { PGF_SCROLLDOWN = 2 }
6860 -enum : uint { PGF_SCROLLLEFT = 4 }
6861 -enum : uint { PGF_SCROLLRIGHT = 8 }
6862 -
6863 -enum : uint { PGK_SHIFT = 1 }
6864 -enum : uint { PGK_CONTROL = 2 }
6865 -enum : uint { PGK_MENU = 4 }
6866 -
6867 -// #ifdef _WIN32
6868 -align(1):
6869 -// #endif
6870 -
6871 -struct _16 {
6872 - NMHDR hdr;
6873 - WORD fwKeys;
6874 - RECT rcParent;
6875 - int iDir;
6876 - int iXpos;
6877 - int iYpos;
6878 - int iScroll;
6879 -}
6880 -alias _16 NMPGSCROLL;
6881 -alias _16* LPNMPGSCROLL;
6882 -
6883 -// #ifdef _WIN32
6884 -align:
6885 -// #endif
6886 -
6887 -enum : uint { PGN_CALCSIZE = PGN_FIRST-2 }
6888 -
6889 -enum : uint { PGF_CALCWIDTH = 1 }
6890 -enum : uint { PGF_CALCHEIGHT = 2 }
6891 -
6892 -struct _17 {
6893 - NMHDR hdr;
6894 - DWORD dwFlag;
6895 - int iWidth;
6896 - int iHeight;
6897 -}
6898 -alias _17 NMPGCALCSIZE;
6899 -alias _17* LPNMPGCALCSIZE;
6900 -
6901 -enum : uint { PGN_HOTITEMCHANGE = PGN_FIRST-3 }
6902 -
6903 -struct tagNMPGHOTITEM {
6904 - NMHDR hdr;
6905 - int idOld;
6906 - int idNew;
6907 - DWORD dwFlags;
6908 -}
6909 -alias tagNMPGHOTITEM NMPGHOTITEM;
6910 -alias tagNMPGHOTITEM* LPNMPGHOTITEM;
6911 -
6912 -// #endif // NOPAGESCROLLER
6913 -
6914 -// #ifndef NONATIVEFONTCTL
6915 -
6916 -const wchar[] WC_NATIVEFONTCTLW = "NativeFontCtl";
6917 -const char[] WC_NATIVEFONTCTLA = "NativeFontCtl";
6918 -
6919 -// #ifdef UNICODE
6920 -alias WC_NATIVEFONTCTLW WC_NATIVEFONTCTL;
6921 -// #else
6922 -// #...
6923 -// #endif
6924 -
6925 -enum : uint { NFS_EDIT = 0x0001 }
6926 -enum : uint { NFS_STATIC = 0x0002 }
6927 -enum : uint { NFS_LISTCOMBO = 0x0004 }
6928 -enum : uint { NFS_BUTTON = 0x0008 }
6929 -enum : uint { NFS_ALL = 0x0010 }
6930 -enum : uint { NFS_USEFONTASSOC = 0x0020 }
6931 -
6932 -// #endif // NONATIVEFONTCTL
6933 -
6934 -// #ifndef NOBUTTON
6935 -
6936 -// #ifdef _WIN32
6937 -
6938 -const char[] WC_BUTTONA = "Button";
6939 -const wchar[] WC_BUTTONW = "Button";
6940 -
6941 -// #ifdef UNICODE
6942 -alias WC_BUTTONW WC_BUTTON;
6943 -// #else
6944 -// #...
6945 -// #endif
6946 -
6947 -// #else
6948 -// #...
6949 -// #endif
6950 -
6951 -// #if (_WIN32_WINNT >= 0x501)
6952 -enum : uint { BUTTON_IMAGELIST_ALIGN_LEFT = 0 }
6953 -enum : uint { BUTTON_IMAGELIST_ALIGN_RIGHT = 1 }
6954 -enum : uint { BUTTON_IMAGELIST_ALIGN_TOP = 2 }
6955 -enum : uint { BUTTON_IMAGELIST_ALIGN_BOTTOM = 3 }
6956 -enum : uint { BUTTON_IMAGELIST_ALIGN_CENTER = 4 }
6957 -
6958 -struct _18 {
6959 - HIMAGELIST himl;
6960 - RECT margin;
6961 - UINT uAlign;
6962 -}
6963 -alias _18 BUTTON_IMAGELIST;
6964 -alias _18* PBUTTON_IMAGELIST;
6965 -
6966 -enum : uint { BCM_GETIDEALSIZE = BCM_FIRST + 0x0001 }
6967 -// #define Button_GetIdealSize(hwnd, psize) (BOOL)SNDMSG((hwnd), BCM_GETIDEALSIZE, 0, (LPARAM)(psize))
6968 -
6969 -enum : uint { BCM_SETIMAGELIST = BCM_FIRST + 0x0002 }
6970 -// #define Button_SetImageList(hwnd, pbuttonImagelist) (BOOL)SNDMSG((hwnd), BCM_SETIMAGELIST, 0, (LPARAM)(pbuttonImagelist))
6971 -
6972 -enum : uint { BCM_GETIMAGELIST = BCM_FIRST + 0x0003 }
6973 -// #define Button_GetImageList(hwnd, pbuttonImagelist) (BOOL)SNDMSG((hwnd), BCM_GETIMAGELIST, 0, (LPARAM)(pbuttonImagelist))
6974 -
6975 -enum : uint { BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004 }
6976 -// #define Button_SetTextMargin(hwnd, pmargin) (BOOL)SNDMSG((hwnd), BCM_SETTEXTMARGIN, 0, (LPARAM)(pmargin))
6977 -enum : uint { BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005 }
6978 -// #define Button_GetTextMargin(hwnd, pmargin) (BOOL)SNDMSG((hwnd), BCM_GETTEXTMARGIN, 0, (LPARAM)(pmargin))
6979 -
6980 -struct tagNMBCHOTITEM {
6981 - NMHDR hdr;
6982 - DWORD dwFlags;
6983 -}
6984 -alias tagNMBCHOTITEM NMBCHOTITEM;
6985 -alias tagNMBCHOTITEM* LPNMBCHOTITEM;
6986 -
6987 -enum : uint { BCN_HOTITEMCHANGE = BCN_FIRST + 0x0001 }
6988 -
6989 -enum : uint { BST_HOT = 0x0200 }
6990 -
6991 -// #endif
6992 -
6993 -// #endif // NOBUTTON
6994 -
6995 -// #ifndef NOSTATIC
6996 -
6997 -// #ifdef _WIN32
6998 -
6999 -const char[] WC_STATICA = "Static";
7000 -const wchar[] WC_STATICW = "Static";
7001 -
7002 -// #ifdef UNICODE
7003 -alias WC_STATICW WC_STATIC;
7004 -// #else
7005 -// #...
7006 -// #endif
7007 -
7008 -// #else
7009 -// #...
7010 -// #endif
7011 -
7012 -// #endif // NOSTATIC
7013 -
7014 -// #ifndef NOEDIT
7015 -
7016 -// #ifdef _WIN32
7017 -
7018 -const char[] WC_EDITA = "Edit";
7019 -const wchar[] WC_EDITW = "Edit";
7020 -
7021 -// #ifdef UNICODE
7022 -alias WC_EDITW WC_EDIT;
7023 -// #else
7024 -// #...
7025 -// #endif
7026 -
7027 -// #else
7028 -// #...
7029 -// #endif
7030 -
7031 -// #if (_WIN32_WINNT >= 0x501)
7032 -enum : uint { EM_SETCUEBANNER = ECM_FIRST + 1 }
7033 -// #define Edit_SetCueBannerText(hwnd, lpcwText) (BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, 0, (LPARAM)(lpcwText))
7034 -enum : uint { EM_GETCUEBANNER = ECM_FIRST + 2 }
7035 -// #define Edit_GetCueBannerText(hwnd, lpwText, cchText) (BOOL)SNDMSG((hwnd), EM_GETCUEBANNER, (WPARAM)(lpwText), (LPARAM)(cchText))
7036 -
7037 -struct _tagEDITBALLOONTIP {
7038 - DWORD cbStruct;
7039 - LPCWSTR pszTitle;
7040 - LPCWSTR pszText;
7041 - INT ttiIcon;
7042 -}
7043 -alias _tagEDITBALLOONTIP EDITBALLOONTIP;
7044 -alias _tagEDITBALLOONTIP* PEDITBALLOONTIP;
7045 -
7046 -enum : uint { EM_SHOWBALLOONTIP = ECM_FIRST + 3 }
7047 -// #define Edit_ShowBalloonTip(hwnd, peditballoontip) (BOOL)SNDMSG((hwnd), EM_SHOWBALLOONTIP, 0, (LPARAM)(peditballoontip))
7048 -enum : uint { EM_HIDEBALLOONTIP = ECM_FIRST + 4 }
7049 -// #define Edit_HideBalloonTip(hwnd) (BOOL)SNDMSG((hwnd), EM_HIDEBALLOONTIP, 0, 0)
7050 -// #endif
7051 -
7052 -// #endif // NOEDIT
7053 -
7054 -// #ifndef NOLISTBOX
7055 -
7056 -// #ifdef _WIN32
7057 -
7058 -const char[] WC_LISTBOXA = "ListBox";
7059 -const wchar[] WC_LISTBOXW = "ListBox";
7060 -
7061 -// #ifdef UNICODE
7062 -alias WC_LISTBOXW WC_LISTBOX;
7063 -// #else
7064 -// #...
7065 -// #endif
7066 -
7067 -// #else
7068 -// #...
7069 -// #endif
7070 -
7071 -// #endif // NOLISTBOX
7072 -
7073 -// #ifndef NOCOMBOBOX
7074 -
7075 -// #ifdef _WIN32
7076 -
7077 -const char[] WC_COMBOBOXA = "ComboBox";
7078 -const wchar[] WC_COMBOBOXW = "ComboBox";
7079 -
7080 -// #ifdef UNICODE
7081 -alias WC_COMBOBOXW WC_COMBOBOX;
7082 -// #else
7083 -// #...
7084 -// #endif
7085 -
7086 -// #else
7087 -// #...
7088 -// #endif
7089 -
7090 -// #endif // NOCOMBOBOX
7091 -
7092 -// #if (_WIN32_WINNT >= 0x501)
7093 -
7094 -enum : uint { CB_SETMINVISIBLE = CBM_FIRST + 1 }
7095 -enum : uint { CB_GETMINVISIBLE = CBM_FIRST + 2 }
7096 -
7097 -// #define ComboBox_SetMinVisible(hwnd, iMinVisible) (BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)iMinVisible, 0)
7098 -
7099 -// #define ComboBox_GetMinVisible(hwnd) (int)SNDMSG((hwnd), CB_GETMINVISIBLE, 0, 0)
7100 -
7101 -// #endif
7102 -
7103 -// #ifndef NOSCROLLBAR
7104 -
7105 -// #ifdef _WIN32
7106 -
7107 -const char[] WC_SCROLLBARA = "ScrollBar";
7108 -const wchar[] WC_SCROLLBARW = "ScrollBar";
7109 -
7110 -// #ifdef UNICODE
7111 -alias WC_SCROLLBARW WC_SCROLLBAR;
7112 -// #else
7113 -// #...
7114 -// #endif
7115 -
7116 -// #else
7117 -// #...
7118 -// #endif
7119 -
7120 -// #endif // NOSCROLLBAR
7121 -
7122 -// #ifdef _WIN32
7123 -// #if (_WIN32_WINNT >= 0x501)
7124 -
7125 -enum { INVALID_LINK_INDEX = -1 }
7126 -enum : uint { MAX_LINKID_TEXT = 48 }
7127 -enum { L_MAX_URL_LENGTH = 2048 + 32 + 4 }
7128 -
7129 -const wchar[] WC_LINK = "SysLink";
7130 -
7131 -enum : uint { LWS_TRANSPARENT = 0x0001 }
7132 -enum : uint { LWS_IGNORERETURN = 0x0002 }
7133 -
7134 -enum : uint { LIF_ITEMINDEX = 0x00000001 }
7135 -enum : uint { LIF_STATE = 0x00000002 }
7136 -enum : uint { LIF_ITEMID = 0x00000004 }
7137 -enum : uint { LIF_URL = 0x00000008 }
7138 -
7139 -enum : uint { LIS_FOCUSED = 0x00000001 }
7140 -enum : uint { LIS_ENABLED = 0x00000002 }
7141 -enum : uint { LIS_VISITED = 0x00000004 }
7142 -
7143 -struct tagLITEM {
7144 - UINT mask ;
7145 - int iLink ;
7146 - UINT state ;
7147 - UINT stateMask ;
7148 - WCHAR szID[MAX_LINKID_TEXT] ;
7149 - WCHAR szUrl[L_MAX_URL_LENGTH] ;
7150 -}
7151 -alias tagLITEM LITEM;
7152 -alias tagLITEM* PLITEM;
7153 -
7154 -struct tagLHITTESTINFO {
7155 - POINT pt ;
7156 - LITEM item ;
7157 -}
7158 -alias tagLHITTESTINFO LHITTESTINFO;
7159 -alias tagLHITTESTINFO* PLHITTESTINFO;
7160 -
7161 -struct tagNMLINK {
7162 - NMHDR hdr;
7163 - LITEM item ;
7164 -}
7165 -alias tagNMLINK NMLINK;
7166 -alias tagNMLINK* PNMLINK;
7167 -
7168 -enum : uint { LM_HITTEST = WM_USER+0x300 }
7169 -enum : uint { LM_GETIDEALHEIGHT = WM_USER+0x301 }
7170 -enum : uint { LM_SETITEM = WM_USER+0x302 }
7171 -enum : uint { LM_GETITEM = WM_USER+0x303 }
7172 -
7173 -// #endif
7174 -// #endif // _WIN32
7175 -
7176 -// #ifndef NOMUI
7177 -extern(Windows) export void InitMUILanguage(LANGID uiLang);
7178 -
7179 -extern(Windows) export LANGID GetMUILanguage();
7180 -// #endif // NOMUI
7181 -
7182 -// #endif // _WIN32_IE >= 0x0400
7183 -
7184 -// #ifdef _WIN32
7185 -
7186 -// #ifndef NOTRACKMOUSEEVENT
7187 -
7188 -// #ifndef WM_MOUSEHOVER
7189 -// #...
7190 -// #...
7191 -// #endif
7192 -
7193 -// #ifndef TME_HOVER
7194 -
7195 -enum : uint { TME_HOVER = 0x00000001 }
7196 -enum : uint { TME_LEAVE = 0x00000002 }
7197 -// #if (WINVER >= 0x0500)
7198 -enum : uint { TME_NONCLIENT = 0x00000010 }
7199 -// #endif /* WINVER >= 0x0500 */
7200 -enum : uint { TME_QUERY = 0x40000000 }
7201 -enum : uint { TME_CANCEL = 0x80000000 }
7202 -
7203 -enum : uint { HOVER_DEFAULT = 0xFFFFFFFF }
7204 -
7205 -struct tagTRACKMOUSEEVENT {
7206 - DWORD cbSize;
7207 - DWORD dwFlags;
7208 - HWND hwndTrack;
7209 - DWORD dwHoverTime;
7210 -}
7211 -alias tagTRACKMOUSEEVENT TRACKMOUSEEVENT;
7212 -alias tagTRACKMOUSEEVENT* LPTRACKMOUSEEVENT;
7213 -
7214 -// #endif // !TME_HOVER
7215 -
7216 -extern(Windows) export BOOL _TrackMouseEvent(
7217 - LPTRACKMOUSEEVENT lpEventTrack);
7218 -
7219 -// #endif // !NOTRACKMOUSEEVENT
7220 -
7221 -// #if (_WIN32_IE >= 0x0400)
7222 -
7223 -// #ifndef NOFLATSBAPIS
7224 -
7225 -enum : uint { WSB_PROP_CYVSCROLL = 0x00000001 }
7226 -enum : uint { WSB_PROP_CXHSCROLL = 0x00000002 }
7227 -enum : uint { WSB_PROP_CYHSCROLL = 0x00000004 }
7228 -enum : uint { WSB_PROP_CXVSCROLL = 0x00000008 }
7229 -enum : uint { WSB_PROP_CXHTHUMB = 0x00000010 }
7230 -enum : uint { WSB_PROP_CYVTHUMB = 0x00000020 }
7231 -enum : uint { WSB_PROP_VBKGCOLOR = 0x00000040 }
7232 -enum : uint { WSB_PROP_HBKGCOLOR = 0x00000080 }
7233 -enum : uint { WSB_PROP_VSTYLE = 0x00000100 }
7234 -enum : uint { WSB_PROP_HSTYLE = 0x00000200 }
7235 -enum : uint { WSB_PROP_WINSTYLE = 0x00000400 }
7236 -enum : uint { WSB_PROP_PALETTE = 0x00000800 }
7237 -enum : uint { WSB_PROP_MASK = 0x00000FFF }
7238 -
7239 -enum : uint { FSB_FLAT_MODE = 2 }
7240 -enum : uint { FSB_ENCARTA_MODE = 1 }
7241 -enum : uint { FSB_REGULAR_MODE = 0 }
7242 -
7243 -extern(Windows) export BOOL FlatSB_EnableScrollBar(HWND, int, UINT);
7244 -extern(Windows) export BOOL FlatSB_ShowScrollBar(HWND, int code, BOOL);
7245 -
7246 -extern(Windows) export BOOL FlatSB_GetScrollRange(HWND, int code, LPINT, LPINT);
7247 -extern(Windows) export BOOL FlatSB_GetScrollInfo(HWND, int code, LPSCROLLINFO);
7248 -
7249 -extern(Windows) export int FlatSB_GetScrollPos(HWND, int code);
7250 -
7251 -extern(Windows) export BOOL FlatSB_GetScrollProp(HWND, int propIndex, LPINT);
7252 -// #ifdef _WIN64
7253 -// ...
7254 -// #else
7255 -alias FlatSB_GetScrollProp FlatSB_GetScrollPropPtr;
7256 -// #endif
7257 -
7258 -extern(Windows) export int FlatSB_SetScrollPos(HWND, int code, int pos, BOOL fRedraw);
7259 -
7260 -extern(Windows) export int FlatSB_SetScrollInfo(HWND, int code, LPSCROLLINFO, BOOL fRedraw);
7261 -
7262 -extern(Windows) export int FlatSB_SetScrollRange(HWND, int code, int min, int max, BOOL fRedraw);
7263 -extern(Windows) export BOOL FlatSB_SetScrollProp(HWND, UINT index, INT_PTR newValue, BOOL);
7264 -alias FlatSB_SetScrollProp FlatSB_SetScrollPropPtr;
7265 -
7266 -extern(Windows) export BOOL InitializeFlatSB(HWND);
7267 -extern(Windows) export HRESULT UninitializeFlatSB(HWND);
7268 -
7269 -// #endif // NOFLATSBAPIS
7270 -
7271 -// #endif // _WIN32_IE >= 0x0400
7272 -
7273 -// #endif /* _WIN32 */
7274 -
7275 -// #endif // _WIN32_IE >= 0x0300
7276 -
7277 -// #if (_WIN32_WINNT >= 0x501)
7278 -
7279 -extern(Windows) alias LRESULT function(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData) SUBCLASSPROC;
7280 -
7281 -extern(Windows) export BOOL SetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass,
7282 - DWORD_PTR dwRefData);
7283 -extern(Windows) export BOOL GetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass,
7284 - DWORD_PTR *pdwRefData);
7285 -extern(Windows) export BOOL RemoveWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass,
7286 - UINT_PTR uIdSubclass);
7287 -
7288 -extern(Windows) export LRESULT DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
7289 -// #endif
7290 -
7291 -// #if (_WIN32_WINNT >= 0x501)
7292 -
7293 -extern(Windows) export int DrawShadowText(HDC hdc, LPCWSTR pszText, UINT cch, RECT* prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow,
7294 - int ixOffset, int iyOffset);
7295 -// #endif
7296 -
7297 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
7298 -// #if ISOLATION_AWARE_ENABLED
7299 -
7300 -// #if !defined(ISOLATION_AWARE_INLINE)
7301 -// #if defined(__cplusplus)
7302 -// #...
7303 -// #else
7304 -// #...
7305 -// #endif
7306 -// #endif
7307 -
7308 -// ...
7309 -
7310 -// ...
7311 -// #if defined(__IStream_INTERFACE_DEFINED__)
7312 -// ...
7313 -// #if defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501)
7314 -// ...
7315 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) */
7316 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) */
7317 -// ...
7318 -// #if !defined(NOTRACKMOUSEEVENT)
7319 -// ...
7320 -// #endif /* !defined(NOTRACKMOUSEEVENT) */
7321 -// ...
7322 -// #if (_WIN32_IE >= 0x560)
7323 -// ...
7324 -// #endif /* (_WIN32_IE >= 0x560) */
7325 -// ...
7326 -
7327 -// #if defined(UNICODE)
7328 -
7329 -// #...
7330 -// #...
7331 -// #...
7332 -
7333 -// #else /* UNICODE */
7334 -
7335 -// #...
7336 -// #...
7337 -// #...
7338 -
7339 -// #endif /* UNICODE */
7340 -
7341 -// ...
7342 -
7343 -// ...
7344 -
7345 -// ...
7346 -
7347 -// ...
7348 -
7349 -// ...
7350 -
7351 -// ...
7352 -
7353 -// ...
7354 -
7355 -// ...
7356 -
7357 -// ...
7358 -
7359 -// ...
7360 -
7361 -// ...
7362 -
7363 -// ...
7364 -
7365 -// ...
7366 -
7367 -// ...
7368 -
7369 -// ...
7370 -
7371 -// ...
7372 -
7373 -// ...
7374 -
7375 -// ...
7376 -
7377 -// ...
7378 -
7379 -// ...
7380 -
7381 -// ...
7382 -
7383 -// ...
7384 -
7385 -// ...
7386 -
7387 -// ...
7388 -
7389 -// ...
7390 -
7391 -// ...
7392 -
7393 -// ...
7394 -
7395 -// ...
7396 -
7397 -// ...
7398 -
7399 -// #if defined(__IStream_INTERFACE_DEFINED__)
7400 -
7401 -// ...
7402 -
7403 -// ...
7404 -
7405 -// #if defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501)
7406 -
7407 -// ...
7408 -
7409 -// ...
7410 -
7411 -// ...
7412 -
7413 -// ...
7414 -
7415 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) */
7416 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) */
7417 -
7418 -// ...
7419 -
7420 -// ...
7421 -
7422 -// ...
7423 -
7424 -// ...
7425 -
7426 -// ...
7427 -
7428 -// ...
7429 -
7430 -// ...
7431 -
7432 -// ...
7433 -
7434 -// ...
7435 -
7436 -// ...
7437 -
7438 -// ...
7439 -
7440 -// ...
7441 -
7442 -// ...
7443 -
7444 -// ...
7445 -
7446 -// ...
7447 -
7448 -// ...
7449 -
7450 -// ...
7451 -
7452 -// ...
7453 -
7454 -// ...
7455 -
7456 -// ...
7457 -
7458 -// #if !defined(NOTRACKMOUSEEVENT)
7459 -
7460 -// ...
7461 -
7462 -// #endif /* !defined(NOTRACKMOUSEEVENT) */
7463 -
7464 -// ...
7465 -
7466 -// ...
7467 -
7468 -// ...
7469 -
7470 -// ...
7471 -
7472 -// ...
7473 -
7474 -// ...
7475 -
7476 -// ...
7477 -// #if defined(_WIN64)
7478 -// ...
7479 -// #else
7480 -// ...
7481 -// #endif
7482 -// ...
7483 -
7484 -// ...
7485 -
7486 -// ...
7487 -
7488 -// ...
7489 -
7490 -// ...
7491 -
7492 -// ...
7493 -
7494 -// ...
7495 -
7496 -// ...
7497 -
7498 -// #if (_WIN32_IE >= 0x560)
7499 -
7500 -// ...
7501 -
7502 -// ...
7503 -
7504 -// ...
7505 -
7506 -// #endif /* (_WIN32_IE >= 0x560) */
7507 -
7508 -// ...
7509 -
7510 -// ...
7511 -
7512 -// ...
7513 -
7514 -// #...
7515 -// #...
7516 -// #...
7517 -// #...
7518 -// #...
7519 -// #...
7520 -// #...
7521 -// #...
7522 -// #...
7523 -// #...
7524 -// #...
7525 -// #...
7526 -// #...
7527 -// #...
7528 -// #if defined(FlatSB_GetScrollPropPtr)
7529 -// #...
7530 -// #endif
7531 -// #...
7532 -// #...
7533 -// #...
7534 -// #...
7535 -// #...
7536 -// #...
7537 -// #...
7538 -// #...
7539 -// #...
7540 -// #...
7541 -// #...
7542 -// #...
7543 -// #...
7544 -// #...
7545 -// #...
7546 -// #...
7547 -// #...
7548 -// #...
7549 -// #...
7550 -// #...
7551 -// #...
7552 -// #...
7553 -// #...
7554 -// #...
7555 -// #...
7556 -// #...
7557 -// #...
7558 -// #...
7559 -// #...
7560 -// #...
7561 -// #...
7562 -// #...
7563 -// #...
7564 -// #...
7565 -// #...
7566 -// #...
7567 -// #...
7568 -// #...
7569 -// #...
7570 -// #...
7571 -// #...
7572 -// #...
7573 -// #...
7574 -// #...
7575 -// #...
7576 -// #...
7577 -// #...
7578 -// #...
7579 -// #...
7580 -// #...
7581 -// #...
7582 -// #...
7583 -// #...
7584 -// #...
7585 -// #...
7586 -// #...
7587 -// #...
7588 -// #...
7589 -
7590 -// #endif /* ISOLATION_AWARE_ENABLED */
7591 -// #endif /* RC */
7592 -
7593 -// #ifdef __cplusplus
7594 -// }
7595 -// #endif
7596 -
7597 -// #endif
7598 -
7599 -// #endif // _INC_COMMCTRL
7600 -
5872 +alias DestroyWindow CommandBar_Destroy;
5873 ++/
5874 +//#endif // _WIN32_WCE