0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 63 6f 6d module win32.com
0010: 6d 63 74 72 6c 3b 0d 0a 0d 0a 2f 2f 20 54 72 61 mctrl;....// Tra
0020: 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63 nslated from Mic
0030: 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20 rosoft Platform
0040: 53 44 4b 20 41 75 67 75 73 74 20 32 30 30 31 20 SDK August 2001
0050: 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59 Edition..// by Y
0060: 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c .Tomino (demoonl
0070: 69 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d it@inter7.jp)...
0080: 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 .import win32.wi
0090: 6e 75 73 65 72 3b 0d 0a 61 6c 69 61 73 20 76 6f nuser;..alias vo
00a0: 69 64 20 5f 50 53 50 3b 0d 0a 61 6c 69 61 73 20 id _PSP;..alias
00b0: 76 6f 69 64 20 5f 49 4d 41 47 45 4c 49 53 54 3b void _IMAGELIST;
00c0: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 20 5f 54 52 ..alias void _TR
00d0: 45 45 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c EEITEM;..alias L
00e0: 50 54 42 53 41 56 45 50 41 52 41 4d 57 20 4c 50 PTBSAVEPARAMW LP
00f0: 54 42 53 41 56 45 50 41 52 41 4d 53 57 3b 0d 0a TBSAVEPARAMSW;..
0100: 61 6c 69 61 73 20 50 43 43 4f 4d 42 4f 45 58 49 alias PCCOMBOEXI
0110: 54 45 4d 41 20 50 43 43 4f 4d 42 4f 42 4f 58 45 TEMA PCCOMBOBOXE
0120: 58 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 50 XITEMA;..alias P
0130: 43 43 4f 4d 42 4f 45 58 49 54 45 4d 57 20 50 43 CCOMBOEXITEMW PC
0140: 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 3b COMBOBOXEXITEMW;
0150: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
0160: 0d 0a 20 20 4e 4d 5f 46 49 52 53 54 20 3d 20 30 .. NM_FIRST = 0
0170: 2c 0d 0a 20 20 53 42 5f 53 45 54 54 49 50 54 45 ,.. SB_SETTIPTE
0180: 58 54 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 XTA = WM_USER +
0190: 31 36 2c 0d 0a 20 20 53 42 5f 53 45 54 54 49 50 16,.. SB_SETTIP
01a0: 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 20 TEXTW = WM_USER
01b0: 2b 20 31 37 2c 0d 0a 20 20 53 42 5f 47 45 54 54 + 17,.. SB_GETT
01c0: 49 50 54 45 58 54 41 20 3d 20 57 4d 5f 55 53 45 IPTEXTA = WM_USE
01d0: 52 20 2b 20 31 38 2c 0d 0a 20 20 53 42 5f 47 45 R + 18,.. SB_GE
01e0: 54 54 49 50 54 45 58 54 57 20 3d 20 57 4d 5f 55 TTIPTEXTW = WM_U
01f0: 53 45 52 20 2b 20 31 39 2c 0d 0a 20 20 54 56 48 SER + 19,.. TVH
0200: 54 5f 4f 4e 49 54 45 4d 53 54 41 54 45 49 43 4f T_ONITEMSTATEICO
0210: 4e 20 3d 20 30 78 30 30 34 30 2c 0d 0a 20 20 43 N = 0x0040,.. C
0220: 42 45 4e 5f 46 49 52 53 54 20 3d 20 30 55 20 2d BEN_FIRST = 0U -
0230: 20 38 30 30 55 2c 0d 0a 20 20 43 42 45 4e 5f 47 800U,.. CBEN_G
0240: 45 54 44 49 53 50 49 4e 46 4f 41 20 3d 20 43 42 ETDISPINFOA = CB
0250: 45 4e 5f 46 49 52 53 54 20 2d 20 30 2c 0d 0a 20 EN_FIRST - 0,..
0260: 20 43 42 45 4e 5f 47 45 54 44 49 53 50 49 4e 46 CBEN_GETDISPINF
0270: 4f 57 20 3d 20 43 42 45 4e 5f 46 49 52 53 54 20 OW = CBEN_FIRST
0280: 2d 20 37 0d 0a 7d 0d 0a 2f 2f 20 69 6e 6c 69 6e - 7..}..// inlin
0290: 65 20 23 69 6e 63 6c 75 64 65 20 3c 70 72 73 68 e #include <prsh
02a0: 74 2e 68 3e 0d 0a 2f 2f 20 2d 2d 2d 2d 0d 0a 0d t.h>..// ----...
02b0: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 50 52 53 .// #ifndef _PRS
02c0: 48 54 5f 48 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e HT_H_..// #defin
02d0: 65 20 5f 50 52 53 48 54 5f 48 5f 0d 0a 0d 0a 2f e _PRSHT_H_..../
02e0: 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 52 45 / #ifndef _WINRE
02f0: 53 52 43 5f 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 SRC_..// #ifndef
0300: 20 5f 57 49 4e 33 32 5f 49 45 0d 0a 2f 2f 20 23 _WIN32_IE..// #
0310: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f .....// #else../
0320: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
0330: 20 3c 20 30 78 30 34 30 30 29 20 26 26 20 64 65 < 0x0400) && de
0340: 66 69 6e 65 64 28 5f 57 49 4e 33 32 5f 57 49 4e fined(_WIN32_WIN
0350: 4e 54 29 20 26 26 20 28 5f 57 49 4e 33 32 5f 57 NT) && (_WIN32_W
0360: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d INNT >= 0x0500).
0370: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e .// #.....// #en
0380: 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a dif..// #endif..
0390: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
03a0: 23 69 66 6e 64 65 66 20 57 49 4e 43 4f 4d 4d 43 #ifndef WINCOMMC
03b0: 54 52 4c 41 50 49 0d 0a 2f 2f 20 23 69 66 20 21 TRLAPI..// #if !
03c0: 64 65 66 69 6e 65 64 28 5f 43 4f 4d 43 54 4c 33 defined(_COMCTL3
03d0: 32 5f 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 2_) && defined(_
03e0: 57 49 4e 33 32 29 0d 0a 2f 2f 20 23 64 65 66 69 WIN32)..// #defi
03f0: 6e 65 20 57 49 4e 43 4f 4d 4d 43 54 52 4c 41 50 ne WINCOMMCTRLAP
0400: 49 20 44 45 43 4c 53 50 45 43 5f 49 4d 50 4f 52 I DECLSPEC_IMPOR
0410: 54 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 T..// #else..//
0420: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
0430: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 57 49 .// #endif // WI
0440: 4e 43 4f 4d 4d 43 54 52 4c 41 50 49 0d 0a 0d 0a NCOMMCTRLAPI....
0450: 2f 2f 20 23 69 66 6e 64 65 66 20 43 43 53 49 5a // #ifndef CCSIZ
0460: 45 4f 46 5f 53 54 52 55 43 54 0d 0a 2f 2f 20 23 EOF_STRUCT..// #
0470: 64 65 66 69 6e 65 20 43 43 53 49 5a 45 4f 46 5f define CCSIZEOF_
0480: 53 54 52 55 43 54 28 73 74 72 75 63 74 6e 61 6d STRUCT(structnam
0490: 65 2c 20 6d 65 6d 62 65 72 29 20 28 28 28 69 6e e, member) (((in
04a0: 74 29 28 28 4c 50 42 59 54 45 29 28 26 28 28 73 t)((LPBYTE)(&((s
04b0: 74 72 75 63 74 6e 61 6d 65 2a 29 30 29 2d 3e 6d tructname*)0)->m
04c0: 65 6d 62 65 72 29 20 2d 20 28 28 4c 50 42 59 54 ember) - ((LPBYT
04d0: 45 29 28 28 73 74 72 75 63 74 6e 61 6d 65 2a 29 E)((structname*)
04e0: 30 29 29 29 29 20 2b 20 73 69 7a 65 6f 66 28 28 0)))) + sizeof((
04f0: 28 73 74 72 75 63 74 6e 61 6d 65 2a 29 30 29 2d (structname*)0)-
0500: 3e 6d 65 6d 62 65 72 29 29 0d 0a 2f 2f 20 23 65 >member))..// #e
0510: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 ndif....// #ifnd
0520: 65 66 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d ef DUMMYUNIONNAM
0530: 45 0d 0a 2f 2f 20 23 69 66 64 65 66 20 4e 4f 4e E..// #ifdef NON
0540: 41 4d 45 4c 45 53 53 55 4e 49 4f 4e 0d 0a 2f 2f AMELESSUNION..//
0550: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
0560: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
0570: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
0580: 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 lse..// #define
0590: 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a DUMMYUNIONNAME..
05a0: 2f 2f 20 23 64 65 66 69 6e 65 20 44 55 4d 4d 59 // #define DUMMY
05b0: 55 4e 49 4f 4e 4e 41 4d 45 32 0d 0a 2f 2f 20 23 UNIONNAME2..// #
05c0: 64 65 66 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f define DUMMYUNIO
05d0: 4e 4e 41 4d 45 33 0d 0a 2f 2f 20 23 64 65 66 69 NNAME3..// #defi
05e0: 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d ne DUMMYUNIONNAM
05f0: 45 34 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 E4..// #define D
0600: 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 35 0d 0a UMMYUNIONNAME5..
0610: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 // #endif..// #e
0620: 6e 64 69 66 20 2f 2f 20 44 55 4d 4d 59 55 4e 49 ndif // DUMMYUNI
0630: 4f 4e 4e 41 4d 45 0d 0a 0d 0a 2f 2f 20 23 69 66 ONNAME....// #if
0640: 64 65 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 23 def _WIN64..// #
0650: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 .....// #else..a
0660: 6c 69 67 6e 28 34 29 3a 0d 0a 2f 2f 20 23 65 6e lign(4):..// #en
0670: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 dif....// #ifdef
0680: 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f __cplusplus..//
0690: 20 65 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a 2f extern "C" {../
06a0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
06b0: 69 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a 2f ifndef SNDMSG../
06c0: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 / #ifdef __cplus
06d0: 70 6c 75 73 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 plus..// #ifndef
06e0: 20 5f 4d 41 43 0d 0a 2f 2f 20 23 64 65 66 69 6e _MAC..// #defin
06f0: 65 20 53 4e 44 4d 53 47 20 3a 3a 53 65 6e 64 4d e SNDMSG ::SendM
0700: 65 73 73 61 67 65 0d 0a 2f 2f 20 23 65 6c 73 65 essage..// #else
0710: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
0720: 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a ndif..// #else..
0730: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d // #ifndef _MAC.
0740: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c .// #.....// #el
0750: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
0760: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 #endif..// #endi
0770: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 f..// #endif //
0780: 69 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a 0d ifndef SNDMSG...
0790: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
07a0: 41 58 50 52 4f 50 50 41 47 45 53 20 3d 20 31 30 AXPROPPAGES = 10
07b0: 30 20 7d 0d 0a 0d 0a 2f 2f 20 73 74 72 75 63 74 0 }....// struct
07c0: 20 5f 50 53 50 3b 0d 0a 61 6c 69 61 73 20 5f 50 _PSP;..alias _P
07d0: 53 50 2a 20 48 50 52 4f 50 53 48 45 45 54 50 41 SP* HPROPSHEETPA
07e0: 47 45 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 GE;....// #ifnde
07f0: 66 20 4d 49 44 4c 5f 50 41 53 53 0d 0a 2f 2f 20 f MIDL_PASS..//
0800: 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48 45 45 struct _PROPSHEE
0810: 54 50 41 47 45 41 3b 0d 0a 2f 2f 20 73 74 72 75 TPAGEA;..// stru
0820: 63 74 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 ct _PROPSHEETPAG
0830: 45 57 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a EW;..// #endif..
0840: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
0850: 29 20 61 6c 69 61 73 20 55 49 4e 54 20 66 75 6e ) alias UINT fun
0860: 63 74 69 6f 6e 28 48 57 4e 44 20 68 77 6e 64 2c ction(HWND hwnd,
0870: 20 55 49 4e 54 20 75 4d 73 67 2c 20 20 5f 50 52 UINT uMsg, _PR
0880: 4f 50 53 48 45 45 54 50 41 47 45 41 20 2a 70 70 OPSHEETPAGEA *pp
0890: 73 70 29 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 sp) LPFNPSPCALLB
08a0: 41 43 4b 41 3b 0d 0a 65 78 74 65 72 6e 28 57 69 ACKA;..extern(Wi
08b0: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 55 49 4e ndows) alias UIN
08c0: 54 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 20 T function(HWND
08d0: 68 77 6e 64 2c 20 55 49 4e 54 20 75 4d 73 67 2c hwnd, UINT uMsg,
08e0: 20 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 _PROPSHEETPAGE
08f0: 57 20 2a 70 70 73 70 29 20 4c 50 46 4e 50 53 50 W *ppsp) LPFNPSP
0900: 43 41 4c 4c 42 41 43 4b 57 3b 0d 0a 0d 0a 2f 2f CALLBACKW;....//
0910: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
0920: 0a 61 6c 69 61 73 20 4c 50 46 4e 50 53 50 43 41 .alias LPFNPSPCA
0930: 4c 4c 42 41 43 4b 57 20 4c 50 46 4e 50 53 50 43 LLBACKW LPFNPSPC
0940: 41 4c 4c 42 41 43 4b 3b 0d 0a 2f 2f 20 23 65 6c ALLBACK;..// #el
0950: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
0960: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a #endif....enum :
0970: 20 75 69 6e 74 20 7b 20 50 53 50 5f 44 45 46 41 uint { PSP_DEFA
0980: 55 4c 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 ULT = 0x00000000
0990: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
09a0: 7b 20 50 53 50 5f 44 4c 47 49 4e 44 49 52 45 43 { PSP_DLGINDIREC
09b0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d T = 0x00000001 }
09c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
09d0: 50 53 50 5f 55 53 45 48 49 43 4f 4e 20 3d 20 30 PSP_USEHICON = 0
09e0: 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 x00000002 }..enu
09f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55 m : uint { PSP_U
0a00: 53 45 49 43 4f 4e 49 44 20 3d 20 30 78 30 30 30 SEICONID = 0x000
0a10: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00004 }..enum :
0a20: 75 69 6e 74 20 7b 20 50 53 50 5f 55 53 45 54 49 uint { PSP_USETI
0a30: 54 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 38 TLE = 0x00000008
0a40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
0a50: 7b 20 50 53 50 5f 52 54 4c 52 45 41 44 49 4e 47 { PSP_RTLREADING
0a60: 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d = 0x00000010 }.
0a70: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
0a80: 20 50 53 50 5f 48 41 53 48 45 4c 50 20 3d 20 30 PSP_HASHELP = 0
0a90: 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 x00000020 }..enu
0aa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55 m : uint { PSP_U
0ab0: 53 45 52 45 46 50 41 52 45 4e 54 20 3d 20 30 78 SEREFPARENT = 0x
0ac0: 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 00000040 }..enum
0ad0: 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55 53 : uint { PSP_US
0ae0: 45 43 41 4c 4c 42 41 43 4b 20 3d 20 30 78 30 30 ECALLBACK = 0x00
0af0: 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 000080 }..enum :
0b00: 20 75 69 6e 74 20 7b 20 50 53 50 5f 50 52 45 4d uint { PSP_PREM
0b10: 41 54 55 52 45 20 3d 20 30 78 30 30 30 30 30 34 ATURE = 0x000004
0b20: 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 00 }....// #if (
0b30: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
0b40: 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 400)....enum : u
0b50: 69 6e 74 20 7b 20 50 53 50 5f 48 49 44 45 48 45 int { PSP_HIDEHE
0b60: 41 44 45 52 20 3d 20 30 78 30 30 30 30 30 38 30 ADER = 0x0000080
0b70: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
0b80: 20 7b 20 50 53 50 5f 55 53 45 48 45 41 44 45 52 { PSP_USEHEADER
0b90: 54 49 54 4c 45 20 3d 20 30 78 30 30 30 30 31 30 TITLE = 0x000010
0ba0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
0bb0: 74 20 7b 20 50 53 50 5f 55 53 45 48 45 41 44 45 t { PSP_USEHEADE
0bc0: 52 53 55 42 54 49 54 4c 45 20 3d 20 30 78 30 30 RSUBTITLE = 0x00
0bd0: 30 30 32 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 002000 }....// #
0be0: 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f endif..// #if (_
0bf0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
0c00: 78 30 35 30 31 29 20 7c 7c 20 49 53 4f 4c 41 54 x0501) || ISOLAT
0c10: 49 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 ION_AWARE_ENABLE
0c20: 44 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b D..enum : uint {
0c30: 20 50 53 50 5f 55 53 45 46 55 53 49 4f 4e 43 4f PSP_USEFUSIONCO
0c40: 4e 54 45 58 54 20 3d 20 30 78 30 30 30 30 34 30 NTEXT = 0x000040
0c50: 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 00 }..// #endif.
0c60: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
0c70: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 2_IE >= 0x0500).
0c80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
0c90: 53 50 43 42 5f 41 44 44 52 45 46 20 3d 20 30 20 SPCB_ADDREF = 0
0ca0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e }..// #endif..en
0cb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 43 um : uint { PSPC
0cc0: 42 5f 52 45 4c 45 41 53 45 20 3d 20 31 20 7d 0d B_RELEASE = 1 }.
0cd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
0ce0: 53 50 43 42 5f 43 52 45 41 54 45 20 3d 20 32 20 SPCB_CREATE = 2
0cf0: 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 }....// #define
0d00: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 PROPSHEETPAGEA_V
0d10: 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 1_SIZE CCSIZEOF_
0d20: 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 45 54 STRUCT(PROPSHEET
0d30: 50 41 47 45 41 2c 20 70 63 52 65 66 50 61 72 65 PAGEA, pcRefPare
0d40: 6e 74 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 nt)..// #define
0d50: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 PROPSHEETPAGEW_V
0d60: 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 1_SIZE CCSIZEOF_
0d70: 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 45 54 STRUCT(PROPSHEET
0d80: 50 41 47 45 57 2c 20 70 63 52 65 66 50 61 72 65 PAGEW, pcRefPare
0d90: 6e 74 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e nt)....// #defin
0da0: 65 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 e PROPSHEETPAGEA
0db0: 5f 56 32 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f _V2_SIZE CCSIZEO
0dc0: 46 5f 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 F_STRUCT(PROPSHE
0dd0: 45 54 50 41 47 45 41 2c 20 70 73 7a 48 65 61 64 ETPAGEA, pszHead
0de0: 65 72 53 75 62 54 69 74 6c 65 29 0d 0a 2f 2f 20 erSubTitle)..//
0df0: 23 64 65 66 69 6e 65 20 50 52 4f 50 53 48 45 45 #define PROPSHEE
0e00: 54 50 41 47 45 57 5f 56 32 5f 53 49 5a 45 20 43 TPAGEW_V2_SIZE C
0e10: 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 50 CSIZEOF_STRUCT(P
0e20: 52 4f 50 53 48 45 45 54 50 41 47 45 57 2c 20 70 ROPSHEETPAGEW, p
0e30: 73 7a 48 65 61 64 65 72 53 75 62 54 69 74 6c 65 szHeaderSubTitle
0e40: 29 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f )....// #ifdef _
0e50: 57 49 4e 33 32 0d 0a 61 6c 69 61 73 20 4c 50 43 WIN32..alias LPC
0e60: 44 4c 47 54 45 4d 50 4c 41 54 45 20 50 52 4f 50 DLGTEMPLATE PROP
0e70: 53 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55 52 SHEETPAGE_RESOUR
0e80: 43 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f CE;..// #else../
0e90: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 / .....// #endif
0ea0: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 ....// #define P
0eb0: 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 31 ROPSHEETPAGEA_V1
0ec0: 5f 46 49 45 4c 44 53 20 44 57 4f 52 44 20 64 77 _FIELDS DWORD dw
0ed0: 53 69 7a 65 3b 20 44 57 4f 52 44 20 64 77 46 6c Size; DWORD dwFl
0ee0: 61 67 73 3b 20 48 49 4e 53 54 41 4e 43 45 20 68 ags; HINSTANCE h
0ef0: 49 6e 73 74 61 6e 63 65 3b 20 75 6e 69 6f 6e 20 Instance; union
0f00: 7b 20 4c 50 43 53 54 52 20 70 73 7a 54 65 6d 70 { LPCSTR pszTemp
0f10: 6c 61 74 65 3b 20 50 52 4f 50 53 48 45 45 54 50 late; PROPSHEETP
0f20: 41 47 45 5f 52 45 53 4f 55 52 43 45 20 70 52 65 AGE_RESOURCE pRe
0f30: 73 6f 75 72 63 65 3b 20 7d 20 44 55 4d 4d 59 55 source; } DUMMYU
0f40: 4e 49 4f 4e 4e 41 4d 45 3b 20 75 6e 69 6f 6e 20 NIONNAME; union
0f50: 7b 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 20 4c { HICON hIcon; L
0f60: 50 43 53 54 52 20 70 73 7a 49 63 6f 6e 3b 20 7d PCSTR pszIcon; }
0f70: 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 32 DUMMYUNIONNAME2
0f80: 3b 20 4c 50 43 53 54 52 20 70 73 7a 54 69 74 6c ; LPCSTR pszTitl
0f90: 65 3b 20 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c e; DLGPROC pfnDl
0fa0: 67 50 72 6f 63 3b 20 4c 50 41 52 41 4d 20 6c 50 gProc; LPARAM lP
0fb0: 61 72 61 6d 3b 20 4c 50 46 4e 50 53 50 43 41 4c aram; LPFNPSPCAL
0fc0: 4c 42 41 43 4b 41 20 70 66 6e 43 61 6c 6c 62 61 LBACKA pfnCallba
0fd0: 63 6b 3b 20 55 49 4e 54 20 2a 70 63 52 65 66 50 ck; UINT *pcRefP
0fe0: 61 72 65 6e 74 3b 0d 0a 2f 2f 20 23 64 65 66 69 arent;..// #defi
0ff0: 6e 65 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 ne PROPSHEETPAGE
1000: 57 5f 56 31 5f 46 49 45 4c 44 53 20 44 57 4f 52 W_V1_FIELDS DWOR
1010: 44 20 64 77 53 69 7a 65 3b 20 44 57 4f 52 44 20 D dwSize; DWORD
1020: 64 77 46 6c 61 67 73 3b 20 48 49 4e 53 54 41 4e dwFlags; HINSTAN
1030: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 20 75 6e CE hInstance; un
1040: 69 6f 6e 20 7b 20 4c 50 43 57 53 54 52 20 70 73 ion { LPCWSTR ps
1050: 7a 54 65 6d 70 6c 61 74 65 3b 20 50 52 4f 50 53 zTemplate; PROPS
1060: 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55 52 43 HEETPAGE_RESOURC
1070: 45 20 70 52 65 73 6f 75 72 63 65 3b 20 7d 20 44 E pResource; } D
1080: 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 3b 20 75 UMMYUNIONNAME; u
1090: 6e 69 6f 6e 20 7b 20 48 49 43 4f 4e 20 68 49 63 nion { HICON hIc
10a0: 6f 6e 3b 20 4c 50 43 57 53 54 52 20 70 73 7a 49 on; LPCWSTR pszI
10b0: 63 6f 6e 3b 20 7d 20 44 55 4d 4d 59 55 4e 49 4f con; } DUMMYUNIO
10c0: 4e 4e 41 4d 45 32 3b 20 4c 50 43 57 53 54 52 20 NNAME2; LPCWSTR
10d0: 70 73 7a 54 69 74 6c 65 3b 20 44 4c 47 50 52 4f pszTitle; DLGPRO
10e0: 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b 20 4c 50 C pfnDlgProc; LP
10f0: 41 52 41 4d 20 6c 50 61 72 61 6d 3b 20 4c 50 46 ARAM lParam; LPF
1100: 4e 50 53 50 43 41 4c 4c 42 41 43 4b 57 20 70 66 NPSPCALLBACKW pf
1110: 6e 43 61 6c 6c 62 61 63 6b 3b 20 55 49 4e 54 20 nCallback; UINT
1120: 2a 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 2f *pcRefParent;../
1130: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 / #if (_WIN32_WI
1140: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 20 7c NNT >= 0x0501) |
1150: 7c 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 | ISOLATION_AWAR
1160: 45 5f 45 4e 41 42 4c 45 44 0d 0a 61 6c 69 61 73 E_ENABLED..alias
1170: 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 _PROPSHEETPAGEA
1180: 5f 56 33 20 5f 50 52 4f 50 53 48 45 45 54 50 41 _V3 _PROPSHEETPA
1190: 47 45 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f GEA;..alias _PRO
11a0: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 5f PSHEETPAGEW_V3 _
11b0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 3b 0d PROPSHEETPAGEW;.
11c0: 0a 2f 2f 20 23 65 6c 69 66 20 28 5f 57 49 4e 33 .// #elif (_WIN3
11d0: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
11e0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
11f0: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ...// #else..//
1200: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
1210: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 / #endif....stru
1220: 63 74 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 ct _PROPSHEETPAG
1230: 45 41 5f 56 31 20 7b 0d 0a 20 20 44 57 4f 52 44 EA_V1 {.. DWORD
1240: 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 dwSize;.. DWOR
1250: 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 48 49 D dwFlags;.. HI
1260: 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 NSTANCE hInstanc
1270: 65 3b 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 e;.. union {..
1280: 20 20 20 4c 50 43 53 54 52 20 70 73 7a 54 65 6d LPCSTR pszTem
1290: 70 6c 61 74 65 3b 0d 0a 20 20 20 20 50 52 4f 50 plate;.. PROP
12a0: 53 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55 52 SHEETPAGE_RESOUR
12b0: 43 45 20 70 52 65 73 6f 75 72 63 65 3b 0d 0a 20 CE pResource;..
12c0: 20 7d 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 }.. union {..
12d0: 20 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d HICON hIcon;.
12e0: 0a 20 20 20 20 4c 50 43 53 54 52 20 70 73 7a 49 . LPCSTR pszI
12f0: 63 6f 6e 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50 43 con;.. }.. LPC
1300: 53 54 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20 STR pszTitle;..
1310: 20 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50 DLGPROC pfnDlgP
1320: 72 6f 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c roc;.. LPARAM l
1330: 50 61 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50 53 Param;.. LPFNPS
1340: 50 43 41 4c 4c 42 41 43 4b 41 20 70 66 6e 43 61 PCALLBACKA pfnCa
1350: 6c 6c 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 2a llback;.. UINT*
1360: 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 7d pcRefParent;..}
1370: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 ..alias _PROPSHE
1380: 45 54 50 41 47 45 41 5f 56 31 20 50 52 4f 50 53 ETPAGEA_V1 PROPS
1390: 48 45 45 54 50 41 47 45 41 5f 56 31 3b 0d 0a 61 HEETPAGEA_V1;..a
13a0: 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 lias _PROPSHEETP
13b0: 41 47 45 41 5f 56 31 2a 20 4c 50 50 52 4f 50 53 AGEA_V1* LPPROPS
13c0: 48 45 45 54 50 41 47 45 41 5f 56 31 3b 0d 0a 0d HEETPAGEA_V1;...
13d0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 .alias PROPSHEET
13e0: 50 41 47 45 41 5f 56 31 2a 20 4c 50 43 50 52 4f PAGEA_V1* LPCPRO
13f0: 50 53 48 45 45 54 50 41 47 45 41 5f 56 31 3b 0d PSHEETPAGEA_V1;.
1400: 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 ...struct _PROPS
1410: 48 45 45 54 50 41 47 45 41 5f 56 32 20 7b 0d 0a HEETPAGEA_V2 {..
1420: 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d DWORD dwSize;.
1430: 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 . DWORD dwFlags
1440: 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 ;.. HINSTANCE h
1450: 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69 Instance;.. uni
1460: 6f 6e 20 7b 0d 0a 20 20 20 20 4c 50 43 53 54 52 on {.. LPCSTR
1470: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20 pszTemplate;..
1480: 20 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 PROPSHEETPAGE
1490: 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75 _RESOURCE pResou
14a0: 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69 rce;.. }.. uni
14b0: 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20 on {.. HICON
14c0: 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 53 hIcon;.. LPCS
14d0: 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 7d TR pszIcon;.. }
14e0: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 54 69 .. LPCSTR pszTi
14f0: 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f 43 20 tle;.. DLGPROC
1500: 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20 20 4c pfnDlgProc;.. L
1510: 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 PARAM lParam;..
1520: 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b LPFNPSPCALLBACK
1530: 41 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a A pfnCallback;..
1540: 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50 61 72 UINT* pcRefPar
1550: 65 6e 74 3b 0d 0a 0d 0a 20 20 4c 50 43 53 54 52 ent;.... LPCSTR
1560: 20 70 73 7a 48 65 61 64 65 72 54 69 74 6c 65 3b pszHeaderTitle;
1570: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 48 65 .. LPCSTR pszHe
1580: 61 64 65 72 53 75 62 54 69 74 6c 65 3b 0d 0a 7d aderSubTitle;..}
1590: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 ..alias _PROPSHE
15a0: 45 54 50 41 47 45 41 5f 56 32 20 50 52 4f 50 53 ETPAGEA_V2 PROPS
15b0: 48 45 45 54 50 41 47 45 41 5f 56 32 3b 0d 0a 61 HEETPAGEA_V2;..a
15c0: 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 lias _PROPSHEETP
15d0: 41 47 45 41 5f 56 32 2a 20 4c 50 50 52 4f 50 53 AGEA_V2* LPPROPS
15e0: 48 45 45 54 50 41 47 45 41 5f 56 32 3b 0d 0a 0d HEETPAGEA_V2;...
15f0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 .alias PROPSHEET
1600: 50 41 47 45 41 5f 56 32 2a 20 4c 50 43 50 52 4f PAGEA_V2* LPCPRO
1610: 50 53 48 45 45 54 50 41 47 45 41 5f 56 32 3b 0d PSHEETPAGEA_V2;.
1620: 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 ...struct _PROPS
1630: 48 45 45 54 50 41 47 45 41 5f 56 33 20 7b 0d 0a HEETPAGEA_V3 {..
1640: 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d DWORD dwSize;.
1650: 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 . DWORD dwFlags
1660: 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 ;.. HINSTANCE h
1670: 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69 Instance;.. uni
1680: 6f 6e 20 7b 0d 0a 20 20 20 20 4c 50 43 53 54 52 on {.. LPCSTR
1690: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20 pszTemplate;..
16a0: 20 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 PROPSHEETPAGE
16b0: 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75 _RESOURCE pResou
16c0: 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69 rce;.. }.. uni
16d0: 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20 on {.. HICON
16e0: 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 53 hIcon;.. LPCS
16f0: 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 7d TR pszIcon;.. }
1700: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 54 69 .. LPCSTR pszTi
1710: 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f 43 20 tle;.. DLGPROC
1720: 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20 20 4c pfnDlgProc;.. L
1730: 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 PARAM lParam;..
1740: 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b LPFNPSPCALLBACK
1750: 41 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a A pfnCallback;..
1760: 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50 61 72 UINT* pcRefPar
1770: 65 6e 74 3b 0d 0a 0d 0a 20 20 4c 50 43 53 54 52 ent;.... LPCSTR
1780: 20 70 73 7a 48 65 61 64 65 72 54 69 74 6c 65 3b pszHeaderTitle;
1790: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 48 65 .. LPCSTR pszHe
17a0: 61 64 65 72 53 75 62 54 69 74 6c 65 3b 0d 0a 0d aderSubTitle;...
17b0: 0a 20 20 48 41 4e 44 4c 45 20 68 41 63 74 43 74 . HANDLE hActCt
17c0: 78 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 x;..}..alias _PR
17d0: 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 33 20 OPSHEETPAGEA_V3
17e0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 PROPSHEETPAGEA_V
17f0: 33 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 3;..alias _PROPS
1800: 48 45 45 54 50 41 47 45 41 5f 56 33 2a 20 4c 50 HEETPAGEA_V3* LP
1810: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 PROPSHEETPAGEA_V
1820: 33 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 52 4f 50 3;....alias PROP
1830: 53 48 45 45 54 50 41 47 45 41 5f 56 33 2a 20 4c SHEETPAGEA_V3* L
1840: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 PCPROPSHEETPAGEA
1850: 5f 56 33 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f _V3;....struct _
1860: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 PROPSHEETPAGEW_V
1870: 31 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 1 {.. DWORD dwS
1880: 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 ize;.. DWORD dw
1890: 46 6c 61 67 73 3b 0d 0a 20 20 48 49 4e 53 54 41 Flags;.. HINSTA
18a0: 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a NCE hInstance;..
18b0: 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 4c union {.. L
18c0: 50 43 57 53 54 52 20 70 73 7a 54 65 6d 70 6c 61 PCWSTR pszTempla
18d0: 74 65 3b 0d 0a 20 20 20 20 50 52 4f 50 53 48 45 te;.. PROPSHE
18e0: 45 54 50 41 47 45 5f 52 45 53 4f 55 52 43 45 20 ETPAGE_RESOURCE
18f0: 70 52 65 73 6f 75 72 63 65 3b 0d 0a 20 20 7d 0d pResource;.. }.
1900: 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 . union {..
1910: 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 HICON hIcon;..
1920: 20 20 4c 50 43 57 53 54 52 20 70 73 7a 49 63 6f LPCWSTR pszIco
1930: 6e 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50 43 57 53 n;.. }.. LPCWS
1940: 54 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20 20 TR pszTitle;..
1950: 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50 72 DLGPROC pfnDlgPr
1960: 6f 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 oc;.. LPARAM lP
1970: 61 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50 53 50 aram;.. LPFNPSP
1980: 43 41 4c 4c 42 41 43 4b 57 20 70 66 6e 43 61 6c CALLBACKW pfnCal
1990: 6c 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 2a 20 lback;.. UINT*
19a0: 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 7d 0d pcRefParent;..}.
19b0: 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 .alias _PROPSHEE
19c0: 54 50 41 47 45 57 5f 56 31 20 50 52 4f 50 53 48 TPAGEW_V1 PROPSH
19d0: 45 45 54 50 41 47 45 57 5f 56 31 3b 0d 0a 61 6c EETPAGEW_V1;..al
19e0: 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41 ias _PROPSHEETPA
19f0: 47 45 57 5f 56 31 2a 20 4c 50 50 52 4f 50 53 48 GEW_V1* LPPROPSH
1a00: 45 45 54 50 41 47 45 57 5f 56 31 3b 0d 0a 0d 0a EETPAGEW_V1;....
1a10: 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50 alias PROPSHEETP
1a20: 41 47 45 57 5f 56 31 2a 20 4c 50 43 50 52 4f 50 AGEW_V1* LPCPROP
1a30: 53 48 45 45 54 50 41 47 45 57 5f 56 31 3b 0d 0a SHEETPAGEW_V1;..
1a40: 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48 ..struct _PROPSH
1a50: 45 45 54 50 41 47 45 57 5f 56 32 20 7b 0d 0a 20 EETPAGEW_V2 {..
1a60: 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a DWORD dwSize;..
1a70: 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b DWORD dwFlags;
1a80: 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 .. HINSTANCE hI
1a90: 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69 6f nstance;.. unio
1aa0: 6e 20 7b 0d 0a 20 20 20 20 4c 50 43 57 53 54 52 n {.. LPCWSTR
1ab0: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20 pszTemplate;..
1ac0: 20 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 PROPSHEETPAGE
1ad0: 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75 _RESOURCE pResou
1ae0: 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69 rce;.. }.. uni
1af0: 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20 on {.. HICON
1b00: 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 57 hIcon;.. LPCW
1b10: 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 STR pszIcon;..
1b20: 7d 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a }.. LPCWSTR psz
1b30: 54 69 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f Title;.. DLGPRO
1b40: 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20 C pfnDlgProc;..
1b50: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d LPARAM lParam;.
1b60: 0a 20 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 . LPFNPSPCALLBA
1b70: 43 4b 57 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b CKW pfnCallback;
1b80: 0d 0a 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50 .. UINT* pcRefP
1b90: 61 72 65 6e 74 3b 0d 0a 0d 0a 20 20 4c 50 43 57 arent;.... LPCW
1ba0: 53 54 52 20 70 73 7a 48 65 61 64 65 72 54 69 74 STR pszHeaderTit
1bb0: 6c 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 le;.. LPCWSTR p
1bc0: 73 7a 48 65 61 64 65 72 53 75 62 54 69 74 6c 65 szHeaderSubTitle
1bd0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 4f ;..}..alias _PRO
1be0: 50 53 48 45 45 54 50 41 47 45 57 5f 56 32 20 50 PSHEETPAGEW_V2 P
1bf0: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 32 ROPSHEETPAGEW_V2
1c00: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 ;..alias _PROPSH
1c10: 45 45 54 50 41 47 45 57 5f 56 32 2a 20 4c 50 50 EETPAGEW_V2* LPP
1c20: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 32 ROPSHEETPAGEW_V2
1c30: 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 ;....alias PROPS
1c40: 48 45 45 54 50 41 47 45 57 5f 56 32 2a 20 4c 50 HEETPAGEW_V2* LP
1c50: 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f CPROPSHEETPAGEW_
1c60: 56 32 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 V2;....struct _P
1c70: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 ROPSHEETPAGEW_V3
1c80: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 {.. DWORD dwSi
1c90: 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 ze;.. DWORD dwF
1ca0: 6c 61 67 73 3b 0d 0a 20 20 48 49 4e 53 54 41 4e lags;.. HINSTAN
1cb0: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 CE hInstance;..
1cc0: 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 4c 50 union {.. LP
1cd0: 43 57 53 54 52 20 70 73 7a 54 65 6d 70 6c 61 74 CWSTR pszTemplat
1ce0: 65 3b 0d 0a 20 20 20 20 50 52 4f 50 53 48 45 45 e;.. PROPSHEE
1cf0: 54 50 41 47 45 5f 52 45 53 4f 55 52 43 45 20 70 TPAGE_RESOURCE p
1d00: 52 65 73 6f 75 72 63 65 3b 0d 0a 20 20 7d 0d 0a Resource;.. }..
1d10: 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 48 union {.. H
1d20: 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 20 ICON hIcon;..
1d30: 20 4c 50 43 57 53 54 52 20 70 73 7a 49 63 6f 6e LPCWSTR pszIcon
1d40: 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50 43 57 53 54 ;.. }.. LPCWST
1d50: 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20 20 44 R pszTitle;.. D
1d60: 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50 72 6f LGPROC pfnDlgPro
1d70: 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 c;.. LPARAM lPa
1d80: 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50 53 50 43 ram;.. LPFNPSPC
1d90: 41 4c 4c 42 41 43 4b 57 20 70 66 6e 43 61 6c 6c ALLBACKW pfnCall
1da0: 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 2a 20 70 back;.. UINT* p
1db0: 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 0d 0a 20 cRefParent;....
1dc0: 20 4c 50 43 57 53 54 52 20 70 73 7a 48 65 61 64 LPCWSTR pszHead
1dd0: 65 72 54 69 74 6c 65 3b 0d 0a 20 20 4c 50 43 57 erTitle;.. LPCW
1de0: 53 54 52 20 70 73 7a 48 65 61 64 65 72 53 75 62 STR pszHeaderSub
1df0: 54 69 74 6c 65 3b 0d 0a 0d 0a 20 20 48 41 4e 44 Title;.... HAND
1e00: 4c 45 20 68 41 63 74 43 74 78 3b 0d 0a 7d 0d 0a LE hActCtx;..}..
1e10: 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 alias _PROPSHEET
1e20: 50 41 47 45 57 5f 56 33 20 50 52 4f 50 53 48 45 PAGEW_V3 PROPSHE
1e30: 45 54 50 41 47 45 57 5f 56 33 3b 0d 0a 61 6c 69 ETPAGEW_V3;..ali
1e40: 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 as _PROPSHEETPAG
1e50: 45 57 5f 56 33 2a 20 4c 50 50 52 4f 50 53 48 45 EW_V3* LPPROPSHE
1e60: 45 54 50 41 47 45 57 5f 56 33 3b 0d 0a 0d 0a 61 ETPAGEW_V3;....a
1e70: 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50 41 lias PROPSHEETPA
1e80: 47 45 57 5f 56 33 2a 20 4c 50 43 50 52 4f 50 53 GEW_V3* LPCPROPS
1e90: 48 45 45 54 50 41 47 45 57 5f 56 33 3b 0d 0a 0d HEETPAGEW_V3;...
1ea0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 .alias PROPSHEET
1eb0: 50 41 47 45 41 5f 56 33 20 50 52 4f 50 53 48 45 PAGEA_V3 PROPSHE
1ec0: 45 54 50 41 47 45 41 5f 4c 41 54 45 53 54 3b 0d ETPAGEA_LATEST;.
1ed0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 .alias PROPSHEET
1ee0: 50 41 47 45 57 5f 56 33 20 50 52 4f 50 53 48 45 PAGEW_V3 PROPSHE
1ef0: 45 54 50 41 47 45 57 5f 4c 41 54 45 53 54 3b 0d ETPAGEW_LATEST;.
1f00: 0a 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 45 .alias LPPROPSHE
1f10: 45 54 50 41 47 45 41 5f 56 33 20 4c 50 50 52 4f ETPAGEA_V3 LPPRO
1f20: 50 53 48 45 45 54 50 41 47 45 41 5f 4c 41 54 45 PSHEETPAGEA_LATE
1f30: 53 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f ST;..alias LPPRO
1f40: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 4c PSHEETPAGEW_V3 L
1f50: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f PPROPSHEETPAGEW_
1f60: 4c 41 54 45 53 54 3b 0d 0a 61 6c 69 61 73 20 4c LATEST;..alias L
1f70: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 PCPROPSHEETPAGEA
1f80: 5f 56 33 20 4c 50 43 50 52 4f 50 53 48 45 45 54 _V3 LPCPROPSHEET
1f90: 50 41 47 45 41 5f 4c 41 54 45 53 54 3b 0d 0a 61 PAGEA_LATEST;..a
1fa0: 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 lias LPCPROPSHEE
1fb0: 54 50 41 47 45 57 5f 56 33 20 4c 50 43 50 52 4f TPAGEW_V3 LPCPRO
1fc0: 50 53 48 45 45 54 50 41 47 45 57 5f 4c 41 54 45 PSHEETPAGEW_LATE
1fd0: 53 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f ST;....// #if (_
1fe0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
1ff0: 78 30 35 30 31 29 20 7c 7c 20 49 53 4f 4c 41 54 x0501) || ISOLAT
2000: 49 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 ION_AWARE_ENABLE
2010: 44 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 D..alias PROPSHE
2020: 45 54 50 41 47 45 41 5f 56 33 20 50 52 4f 50 53 ETPAGEA_V3 PROPS
2030: 48 45 45 54 50 41 47 45 41 3b 0d 0a 61 6c 69 61 HEETPAGEA;..alia
2040: 73 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 s PROPSHEETPAGEW
2050: 5f 56 33 20 50 52 4f 50 53 48 45 45 54 50 41 47 _V3 PROPSHEETPAG
2060: 45 57 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f EW;..alias LPPRO
2070: 50 53 48 45 45 54 50 41 47 45 41 5f 56 33 20 4c PSHEETPAGEA_V3 L
2080: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 3b PPROPSHEETPAGEA;
2090: 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 ..alias LPPROPSH
20a0: 45 45 54 50 41 47 45 57 5f 56 33 20 4c 50 50 52 EETPAGEW_V3 LPPR
20b0: 4f 50 53 48 45 45 54 50 41 47 45 57 3b 0d 0a 61 OPSHEETPAGEW;..a
20c0: 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 lias LPCPROPSHEE
20d0: 54 50 41 47 45 41 5f 56 33 20 4c 50 43 50 52 4f TPAGEA_V3 LPCPRO
20e0: 50 53 48 45 45 54 50 41 47 45 41 3b 0d 0a 61 6c PSHEETPAGEA;..al
20f0: 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 ias LPCPROPSHEET
2100: 50 41 47 45 57 5f 56 33 20 4c 50 43 50 52 4f 50 PAGEW_V3 LPCPROP
2110: 53 48 45 45 54 50 41 47 45 57 3b 0d 0a 2f 2f 20 SHEETPAGEW;..//
2120: 23 65 6c 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 #elif (_WIN32_IE
2130: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 >= 0x0400)..//
2140: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f .....// #else../
2150: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 / .....// #endif
2160: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 30 20 2f 2f 20 ....// #if 0 //
2170: 49 45 55 4e 49 58 20 72 65 73 65 72 76 65 64 2e IEUNIX reserved.
2180: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f 5f 53 54 44 ....// #if __STD
2190: 43 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 28 C__ || defined (
21a0: 4e 4f 4e 41 4d 45 4c 45 53 53 55 4e 49 4f 4e 29 NONAMELESSUNION)
21b0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
21c0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
21d0: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 #endif..// #end
21e0: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 if....// #ifdef
21f0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50 UNICODE..alias P
2200: 52 4f 50 53 48 45 45 54 50 41 47 45 57 20 50 52 ROPSHEETPAGEW PR
2210: 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 61 6c OPSHEETPAGE;..al
2220: 69 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54 50 ias LPPROPSHEETP
2230: 41 47 45 57 20 4c 50 50 52 4f 50 53 48 45 45 54 AGEW LPPROPSHEET
2240: 50 41 47 45 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 PAGE;..alias LPC
2250: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 20 4c PROPSHEETPAGEW L
2260: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 3b PCPROPSHEETPAGE;
2270: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f ..// #define PRO
2280: 50 53 48 45 45 54 50 41 47 45 5f 56 31 5f 53 49 PSHEETPAGE_V1_SI
2290: 5a 45 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 ZE PROPSHEETPAGE
22a0: 57 5f 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 64 W_V1_SIZE..// #d
22b0: 65 66 69 6e 65 20 50 52 4f 50 53 48 45 45 54 50 efine PROPSHEETP
22c0: 41 47 45 5f 56 32 5f 53 49 5a 45 20 50 52 4f 50 AGE_V2_SIZE PROP
22d0: 53 48 45 45 54 50 41 47 45 57 5f 56 32 5f 53 49 SHEETPAGEW_V2_SI
22e0: 5a 45 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 ZE..alias PROPSH
22f0: 45 45 54 50 41 47 45 57 5f 56 31 20 50 52 4f 50 EETPAGEW_V1 PROP
2300: 53 48 45 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61 SHEETPAGE_V1;..a
2310: 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54 lias LPPROPSHEET
2320: 50 41 47 45 57 5f 56 31 20 4c 50 50 52 4f 50 53 PAGEW_V1 LPPROPS
2330: 48 45 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61 6c HEETPAGE_V1;..al
2340: 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 ias LPCPROPSHEET
2350: 50 41 47 45 57 5f 56 31 20 4c 50 43 50 52 4f 50 PAGEW_V1 LPCPROP
2360: 53 48 45 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61 SHEETPAGE_V1;..a
2370: 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50 41 lias PROPSHEETPA
2380: 47 45 57 5f 56 32 20 50 52 4f 50 53 48 45 45 54 GEW_V2 PROPSHEET
2390: 50 41 47 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 PAGE_V2;..alias
23a0: 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 LPPROPSHEETPAGEW
23b0: 5f 56 32 20 4c 50 50 52 4f 50 53 48 45 45 54 50 _V2 LPPROPSHEETP
23c0: 41 47 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 4c AGE_V2;..alias L
23d0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 PCPROPSHEETPAGEW
23e0: 5f 56 32 20 4c 50 43 50 52 4f 50 53 48 45 45 54 _V2 LPCPROPSHEET
23f0: 50 41 47 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 PAGE_V2;..alias
2400: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 PROPSHEETPAGEW_V
2410: 33 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 3 PROPSHEETPAGE_
2420: 56 33 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f V3;..alias LPPRO
2430: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 4c PSHEETPAGEW_V3 L
2440: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 56 PPROPSHEETPAGE_V
2450: 33 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 50 52 4f 3;..alias LPCPRO
2460: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 4c PSHEETPAGEW_V3 L
2470: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f PCPROPSHEETPAGE_
2480: 56 33 3b 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 V3;..alias PROPS
2490: 48 45 45 54 50 41 47 45 57 5f 4c 41 54 45 53 54 HEETPAGEW_LATEST
24a0: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 4c PROPSHEETPAGE_L
24b0: 41 54 45 53 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 ATEST;..alias LP
24c0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 4c PROPSHEETPAGEW_L
24d0: 41 54 45 53 54 20 4c 50 50 52 4f 50 53 48 45 45 ATEST LPPROPSHEE
24e0: 54 50 41 47 45 5f 4c 41 54 45 53 54 3b 0d 0a 61 TPAGE_LATEST;..a
24f0: 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 lias LPCPROPSHEE
2500: 54 50 41 47 45 57 5f 4c 41 54 45 53 54 20 4c 50 TPAGEW_LATEST LP
2510: 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 4c CPROPSHEETPAGE_L
2520: 41 54 45 53 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 ATEST;..// #else
2530: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
2540: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
2550: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
2560: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
2570: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
2580: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
2590: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
25a0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
25b0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
25c0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
25d0: 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ndif....enum : u
25e0: 69 6e 74 20 7b 20 50 53 48 5f 44 45 46 41 55 4c int { PSH_DEFAUL
25f0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d T = 0x00000000 }
2600: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2610: 50 53 48 5f 50 52 4f 50 54 49 54 4c 45 20 3d 20 PSH_PROPTITLE =
2620: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 0x00000001 }..en
2630: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f um : uint { PSH_
2640: 55 53 45 48 49 43 4f 4e 20 3d 20 30 78 30 30 30 USEHICON = 0x000
2650: 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00002 }..enum :
2660: 75 69 6e 74 20 7b 20 50 53 48 5f 55 53 45 49 43 uint { PSH_USEIC
2670: 4f 4e 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 ONID = 0x0000000
2680: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 4 }..enum : uint
2690: 20 7b 20 50 53 48 5f 50 52 4f 50 53 48 45 45 54 { PSH_PROPSHEET
26a0: 50 41 47 45 20 3d 20 30 78 30 30 30 30 30 30 30 PAGE = 0x0000000
26b0: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 8 }..enum : uint
26c0: 20 7b 20 50 53 48 5f 57 49 5a 41 52 44 48 41 53 { PSH_WIZARDHAS
26d0: 46 49 4e 49 53 48 20 3d 20 30 78 30 30 30 30 30 FINISH = 0x00000
26e0: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 010 }..enum : ui
26f0: 6e 74 20 7b 20 50 53 48 5f 57 49 5a 41 52 44 20 nt { PSH_WIZARD
2700: 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a = 0x00000020 }..
2710: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
2720: 48 5f 55 53 45 50 53 54 41 52 54 50 41 47 45 20 H_USEPSTARTPAGE
2730: 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a = 0x00000040 }..
2740: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
2750: 48 5f 4e 4f 41 50 50 4c 59 4e 4f 57 20 3d 20 30 H_NOAPPLYNOW = 0
2760: 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 x00000080 }..enu
2770: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 55 m : uint { PSH_U
2780: 53 45 43 41 4c 4c 42 41 43 4b 20 3d 20 30 78 30 SECALLBACK = 0x0
2790: 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 0000100 }..enum
27a0: 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 48 41 53 : uint { PSH_HAS
27b0: 48 45 4c 50 20 3d 20 30 78 30 30 30 30 30 32 30 HELP = 0x0000020
27c0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
27d0: 20 7b 20 50 53 48 5f 4d 4f 44 45 4c 45 53 53 20 { PSH_MODELESS
27e0: 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a = 0x00000400 }..
27f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
2800: 48 5f 52 54 4c 52 45 41 44 49 4e 47 20 3d 20 30 H_RTLREADING = 0
2810: 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 x00000800 }..enu
2820: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 57 m : uint { PSH_W
2830: 49 5a 41 52 44 43 4f 4e 54 45 58 54 48 45 4c 50 IZARDCONTEXTHELP
2840: 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d = 0x00001000 }.
2850: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
2860: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
2870: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
2880: 32 5f 49 45 20 3c 20 30 78 30 35 30 30 29 0d 0a 2_IE < 0x0500)..
2890: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 // #.....// #els
28a0: 65 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b e..enum : uint {
28b0: 20 50 53 48 5f 57 49 5a 41 52 44 39 37 20 3d 20 PSH_WIZARD97 =
28c0: 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 2f 2f 0x01000000 }..//
28d0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 #endif....enum
28e0: 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 57 41 54 : uint { PSH_WAT
28f0: 45 52 4d 41 52 4b 20 3d 20 30 78 30 30 30 30 38 ERMARK = 0x00008
2900: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 000 }..enum : ui
2910: 6e 74 20 7b 20 50 53 48 5f 55 53 45 48 42 4d 57 nt { PSH_USEHBMW
2920: 41 54 45 52 4d 41 52 4b 20 3d 20 30 78 30 30 30 ATERMARK = 0x000
2930: 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 10000 }..enum :
2940: 75 69 6e 74 20 7b 20 50 53 48 5f 55 53 45 48 50 uint { PSH_USEHP
2950: 4c 57 41 54 45 52 4d 41 52 4b 20 3d 20 30 78 30 LWATERMARK = 0x0
2960: 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 0020000 }..enum
2970: 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 53 54 52 : uint { PSH_STR
2980: 45 54 43 48 57 41 54 45 52 4d 41 52 4b 20 3d 20 ETCHWATERMARK =
2990: 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 0x00040000 }..en
29a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f um : uint { PSH_
29b0: 48 45 41 44 45 52 20 3d 20 30 78 30 30 30 38 30 HEADER = 0x00080
29c0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 000 }..enum : ui
29d0: 6e 74 20 7b 20 50 53 48 5f 55 53 45 48 42 4d 48 nt { PSH_USEHBMH
29e0: 45 41 44 45 52 20 3d 20 30 78 30 30 31 30 30 30 EADER = 0x001000
29f0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
2a00: 74 20 7b 20 50 53 48 5f 55 53 45 50 41 47 45 4c t { PSH_USEPAGEL
2a10: 41 4e 47 20 3d 20 30 78 30 30 32 30 30 30 30 30 ANG = 0x00200000
2a20: 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d }....// #endif.
2a30: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
2a40: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 2_IE >= 0x0500).
2a50: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2a60: 20 50 53 48 5f 57 49 5a 41 52 44 5f 4c 49 54 45 PSH_WIZARD_LITE
2a70: 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d 0d = 0x00400000 }.
2a80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
2a90: 53 48 5f 4e 4f 43 4f 4e 54 45 58 54 48 45 4c 50 SH_NOCONTEXTHELP
2aa0: 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d 0d = 0x02000000 }.
2ab0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
2ac0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
2ad0: 61 6c 69 61 73 20 69 6e 74 20 66 75 6e 63 74 69 alias int functi
2ae0: 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 4c on(HWND, UINT, L
2af0: 50 41 52 41 4d 29 20 50 46 4e 50 52 4f 50 53 48 PARAM) PFNPROPSH
2b00: 45 45 54 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a EETCALLBACK;....
2b10: 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53 // #define PROPS
2b20: 48 45 45 54 48 45 41 44 45 52 41 5f 56 31 5f 53 HEETHEADERA_V1_S
2b30: 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 IZE CCSIZEOF_STR
2b40: 55 43 54 28 50 52 4f 50 53 48 45 45 54 48 45 41 UCT(PROPSHEETHEA
2b50: 44 45 52 41 2c 20 70 66 6e 43 61 6c 6c 62 61 63 DERA, pfnCallbac
2b60: 6b 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 k)..// #define P
2b70: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 57 5f ROPSHEETHEADERW_
2b80: 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 V1_SIZE CCSIZEOF
2b90: 5f 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 45 _STRUCT(PROPSHEE
2ba0: 54 48 45 41 44 45 52 57 2c 20 70 66 6e 43 61 6c THEADERW, pfnCal
2bb0: 6c 62 61 63 6b 29 0d 0a 0d 0a 2f 2f 20 23 64 65 lback)....// #de
2bc0: 66 69 6e 65 20 50 52 4f 50 53 48 45 45 54 48 45 fine PROPSHEETHE
2bd0: 41 44 45 52 41 5f 56 32 5f 53 49 5a 45 20 43 43 ADERA_V2_SIZE CC
2be0: 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 50 52 SIZEOF_STRUCT(PR
2bf0: 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2c 20 OPSHEETHEADERA,
2c00: 44 55 4d 4d 59 55 4e 49 4f 4e 35 5f 4d 45 4d 42 DUMMYUNION5_MEMB
2c10: 45 52 28 68 62 6d 48 65 61 64 65 72 29 29 0d 0a ER(hbmHeader))..
2c20: 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53 // #define PROPS
2c30: 48 45 45 54 48 45 41 44 45 52 57 5f 56 32 5f 53 HEETHEADERW_V2_S
2c40: 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 IZE CCSIZEOF_STR
2c50: 55 43 54 28 50 52 4f 50 53 48 45 45 54 48 45 41 UCT(PROPSHEETHEA
2c60: 44 45 52 57 2c 20 44 55 4d 4d 59 55 4e 49 4f 4e DERW, DUMMYUNION
2c70: 35 5f 4d 45 4d 42 45 52 28 68 62 6d 48 65 61 64 5_MEMBER(hbmHead
2c80: 65 72 29 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f er))....struct _
2c90: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 PROPSHEETHEADERA
2ca0: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 {.. DWORD dwSi
2cb0: 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 ze;.. DWORD dwF
2cc0: 6c 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77 lags;.. HWND hw
2cd0: 6e 64 50 61 72 65 6e 74 3b 0d 0a 20 20 48 49 4e ndParent;.. HIN
2ce0: 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 STANCE hInstance
2cf0: 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48 49 ;..union {.. HI
2d00: 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 4c 50 CON hIcon;.. LP
2d10: 43 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 7d CSTR pszIcon;..}
2d20: 0d 0a 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a .... LPCSTR psz
2d30: 43 61 70 74 69 6f 6e 3b 0d 0a 20 20 55 49 4e 54 Caption;.. UINT
2d40: 20 6e 50 61 67 65 73 3b 0d 0a 75 6e 69 6f 6e 20 nPages;..union
2d50: 7b 0d 0a 20 20 55 49 4e 54 20 6e 53 74 61 72 74 {.. UINT nStart
2d60: 50 61 67 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 Page;.. LPCSTR
2d70: 70 53 74 61 72 74 50 61 67 65 3b 0d 0a 7d 0d 0a pStartPage;..}..
2d80: 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 4c 50 43 ..union {.. LPC
2d90: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 20 70 PROPSHEETPAGEA p
2da0: 70 73 70 3b 0d 0a 20 20 48 50 52 4f 50 53 48 45 psp;.. HPROPSHE
2db0: 45 54 50 41 47 45 20 2a 70 68 70 61 67 65 3b 0d ETPAGE *phpage;.
2dc0: 0a 7d 0d 0a 0d 0a 20 20 50 46 4e 50 52 4f 50 53 .}.... PFNPROPS
2dd0: 48 45 45 54 43 41 4c 4c 42 41 43 4b 20 70 66 6e HEETCALLBACK pfn
2de0: 43 61 6c 6c 62 61 63 6b 3b 0d 0a 2f 2f 20 23 69 Callback;..// #i
2df0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
2e00: 30 78 30 34 30 30 29 0d 0a 75 6e 69 6f 6e 20 7b 0x0400)..union {
2e10: 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 57 .. HBITMAP hbmW
2e20: 61 74 65 72 6d 61 72 6b 3b 0d 0a 20 20 4c 50 43 atermark;.. LPC
2e30: 53 54 52 20 70 73 7a 62 6d 57 61 74 65 72 6d 61 STR pszbmWaterma
2e40: 72 6b 3b 0d 0a 7d 0d 0a 0d 0a 20 20 48 50 41 4c rk;..}.... HPAL
2e50: 45 54 54 45 20 68 70 6c 57 61 74 65 72 6d 61 72 ETTE hplWatermar
2e60: 6b 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48 k;..union {.. H
2e70: 42 49 54 4d 41 50 20 68 62 6d 48 65 61 64 65 72 BITMAP hbmHeader
2e80: 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 62 ;.. LPCSTR pszb
2e90: 6d 48 65 61 64 65 72 3b 0d 0a 7d 0d 0a 0d 0a 2f mHeader;..}..../
2ea0: 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 / #endif..}..ali
2eb0: 61 73 20 5f 50 52 4f 50 53 48 45 45 54 48 45 41 as _PROPSHEETHEA
2ec0: 44 45 52 41 20 50 52 4f 50 53 48 45 45 54 48 45 DERA PROPSHEETHE
2ed0: 41 44 45 52 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 ADERA;..alias _P
2ee0: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2a ROPSHEETHEADERA*
2ef0: 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 LPPROPSHEETHEAD
2f00: 45 52 41 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 52 ERA;....alias PR
2f10: 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2a 20 OPSHEETHEADERA*
2f20: 4c 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 LPCPROPSHEETHEAD
2f30: 45 52 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f ERA;....struct _
2f40: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 57 PROPSHEETHEADERW
2f50: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 {.. DWORD dwSi
2f60: 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 ze;.. DWORD dwF
2f70: 6c 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77 lags;.. HWND hw
2f80: 6e 64 50 61 72 65 6e 74 3b 0d 0a 20 20 48 49 4e ndParent;.. HIN
2f90: 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 STANCE hInstance
2fa0: 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48 49 ;..union {.. HI
2fb0: 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 4c 50 CON hIcon;.. LP
2fc0: 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a CWSTR pszIcon;..
2fd0: 7d 0d 0a 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 }.... LPCWSTR p
2fe0: 73 7a 43 61 70 74 69 6f 6e 3b 0d 0a 20 20 55 49 szCaption;.. UI
2ff0: 4e 54 20 6e 50 61 67 65 73 3b 0d 0a 75 6e 69 6f NT nPages;..unio
3000: 6e 20 7b 0d 0a 20 20 55 49 4e 54 20 6e 53 74 61 n {.. UINT nSta
3010: 72 74 50 61 67 65 3b 0d 0a 20 20 4c 50 43 57 53 rtPage;.. LPCWS
3020: 54 52 20 70 53 74 61 72 74 50 61 67 65 3b 0d 0a TR pStartPage;..
3030: 7d 0d 0a 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 }....union {..
3040: 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 LPCPROPSHEETPAGE
3050: 57 20 70 70 73 70 3b 0d 0a 20 20 48 50 52 4f 50 W ppsp;.. HPROP
3060: 53 48 45 45 54 50 41 47 45 20 2a 70 68 70 61 67 SHEETPAGE *phpag
3070: 65 3b 0d 0a 7d 0d 0a 0d 0a 20 20 50 46 4e 50 52 e;..}.... PFNPR
3080: 4f 50 53 48 45 45 54 43 41 4c 4c 42 41 43 4b 20 OPSHEETCALLBACK
3090: 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a 2f 2f pfnCallback;..//
30a0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
30b0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 75 6e 69 6f >= 0x0400)..unio
30c0: 6e 20 7b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 n {.. HBITMAP h
30d0: 62 6d 57 61 74 65 72 6d 61 72 6b 3b 0d 0a 20 20 bmWatermark;..
30e0: 4c 50 43 57 53 54 52 20 70 73 7a 62 6d 57 61 74 LPCWSTR pszbmWat
30f0: 65 72 6d 61 72 6b 3b 0d 0a 7d 0d 0a 0d 0a 20 20 ermark;..}....
3100: 48 50 41 4c 45 54 54 45 20 68 70 6c 57 61 74 65 HPALETTE hplWate
3110: 72 6d 61 72 6b 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d rmark;..union {.
3120: 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 48 65 . HBITMAP hbmHe
3130: 61 64 65 72 3b 0d 0a 20 20 4c 50 43 57 53 54 52 ader;.. LPCWSTR
3140: 20 70 73 7a 62 6d 48 65 61 64 65 72 3b 0d 0a 7d pszbmHeader;..}
3150: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d ....// #endif..}
3160: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 ..alias _PROPSHE
3170: 45 54 48 45 41 44 45 52 57 20 50 52 4f 50 53 48 ETHEADERW PROPSH
3180: 45 45 54 48 45 41 44 45 52 57 3b 0d 0a 61 6c 69 EETHEADERW;..ali
3190: 61 73 20 5f 50 52 4f 50 53 48 45 45 54 48 45 41 as _PROPSHEETHEA
31a0: 44 45 52 57 2a 20 4c 50 50 52 4f 50 53 48 45 45 DERW* LPPROPSHEE
31b0: 54 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 61 6c 69 THEADERW;....ali
31c0: 61 73 20 50 52 4f 50 53 48 45 45 54 48 45 41 44 as PROPSHEETHEAD
31d0: 45 52 57 2a 20 4c 50 43 50 52 4f 50 53 48 45 45 ERW* LPCPROPSHEE
31e0: 54 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 2f 2f 20 THEADERW;....//
31f0: 23 69 66 20 30 20 2f 2f 49 45 55 4e 49 58 20 72 #if 0 //IEUNIX r
3200: 65 73 65 72 76 65 64 2e 0d 0a 0d 0a 2f 2f 20 23 eserved.....// #
3210: 69 66 20 5f 5f 53 54 44 43 5f 5f 20 7c 7c 20 64 if __STDC__ || d
3220: 65 66 69 6e 65 64 20 28 4e 4f 4e 41 4d 45 4c 45 efined (NONAMELE
3230: 53 53 55 4e 49 4f 4e 29 0d 0a 2f 2f 20 23 2e 2e SSUNION)..// #..
3240: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
3250: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
3260: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
3270: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a f..// #endif....
3280: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
3290: 45 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 E..alias PROPSHE
32a0: 45 54 48 45 41 44 45 52 57 20 50 52 4f 50 53 48 ETHEADERW PROPSH
32b0: 45 45 54 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 EETHEADER;..alia
32c0: 73 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 s LPPROPSHEETHEA
32d0: 44 45 52 57 20 4c 50 50 52 4f 50 53 48 45 45 54 DERW LPPROPSHEET
32e0: 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20 4c HEADER;..alias L
32f0: 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 PCPROPSHEETHEADE
3300: 52 57 20 4c 50 43 50 52 4f 50 53 48 45 45 54 48 RW LPCPROPSHEETH
3310: 45 41 44 45 52 3b 0d 0a 2f 2f 20 23 64 65 66 69 EADER;..// #defi
3320: 6e 65 20 50 52 4f 50 53 48 45 45 54 48 45 41 44 ne PROPSHEETHEAD
3330: 45 52 5f 56 31 5f 53 49 5a 45 20 50 52 4f 50 53 ER_V1_SIZE PROPS
3340: 48 45 45 54 48 45 41 44 45 52 57 5f 56 31 5f 53 HEETHEADERW_V1_S
3350: 49 5a 45 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 IZE..// #define
3360: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 5f PROPSHEETHEADER_
3370: 56 32 5f 53 49 5a 45 20 50 52 4f 50 53 48 45 45 V2_SIZE PROPSHEE
3380: 54 48 45 41 44 45 52 57 5f 56 32 5f 53 49 5a 45 THEADERW_V2_SIZE
3390: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
33a0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
33b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
33c0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
33d0: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e if....enum : uin
33e0: 74 20 7b 20 50 53 43 42 5f 49 4e 49 54 49 41 4c t { PSCB_INITIAL
33f0: 49 5a 45 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d IZED = 1 }..enum
3400: 20 3a 20 75 69 6e 74 20 7b 20 50 53 43 42 5f 50 : uint { PSCB_P
3410: 52 45 43 52 45 41 54 45 20 3d 20 32 20 7d 0d 0a RECREATE = 2 }..
3420: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
3430: 5f 49 45 20 3e 3d 20 30 78 35 36 30 29 0d 0a 0d _IE >= 0x560)...
3440: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
3450: 53 43 42 5f 42 55 54 54 4f 4e 50 52 45 53 53 45 SCB_BUTTONPRESSE
3460: 44 20 3d 20 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 D = 3 }..// #end
3470: 69 66 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 if // _WIN32_IE
3480: 20 3e 3d 20 30 78 35 36 30 0d 0a 0d 0a 65 78 74 >= 0x560....ext
3490: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
34a0: 6f 72 74 20 48 50 52 4f 50 53 48 45 45 54 50 41 ort HPROPSHEETPA
34b0: 47 45 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 GE CreatePropert
34c0: 79 53 68 65 65 74 50 61 67 65 41 28 4c 50 43 50 ySheetPageA(LPCP
34d0: 52 4f 50 53 48 45 45 54 50 41 47 45 41 20 63 6f ROPSHEETPAGEA co
34e0: 6e 73 74 50 72 6f 70 53 68 65 65 74 50 61 67 65 nstPropSheetPage
34f0: 50 6f 69 6e 74 65 72 29 3b 0d 0a 65 78 74 65 72 Pointer);..exter
3500: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 n(Windows) expor
3510: 74 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 t HPROPSHEETPAGE
3520: 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 53 CreatePropertyS
3530: 68 65 65 74 50 61 67 65 57 28 4c 50 43 50 52 4f heetPageW(LPCPRO
3540: 50 53 48 45 45 54 50 41 47 45 57 20 63 6f 6e 73 PSHEETPAGEW cons
3550: 74 50 72 6f 70 53 68 65 65 74 50 61 67 65 50 6f tPropSheetPagePo
3560: 69 6e 74 65 72 29 3b 0d 0a 65 78 74 65 72 6e 28 inter);..extern(
3570: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
3580: 42 4f 4f 4c 20 44 65 73 74 72 6f 79 50 72 6f 70 BOOL DestroyProp
3590: 65 72 74 79 53 68 65 65 74 50 61 67 65 28 48 50 ertySheetPage(HP
35a0: 52 4f 50 53 48 45 45 54 50 41 47 45 29 3b 0d 0a ROPSHEETPAGE);..
35b0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
35c0: 29 20 65 78 70 6f 72 74 20 49 4e 54 5f 50 54 52 ) export INT_PTR
35d0: 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 41 28 PropertySheetA(
35e0: 4c 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 LPCPROPSHEETHEAD
35f0: 45 52 41 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 ERA);....extern(
3600: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
3610: 49 4e 54 5f 50 54 52 20 50 72 6f 70 65 72 74 79 INT_PTR Property
3620: 53 68 65 65 74 57 28 4c 50 43 50 52 4f 50 53 48 SheetW(LPCPROPSH
3630: 45 45 54 48 45 41 44 45 52 57 29 3b 0d 0a 0d 0a EETHEADERW);....
3640: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
3650: 45 0d 0a 61 6c 69 61 73 20 43 72 65 61 74 65 50 E..alias CreateP
3660: 72 6f 70 65 72 74 79 53 68 65 65 74 50 61 67 65 ropertySheetPage
3670: 57 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 W CreateProperty
3680: 53 68 65 65 74 50 61 67 65 3b 0d 0a 61 6c 69 61 SheetPage;..alia
3690: 73 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 57 s PropertySheetW
36a0: 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 3b 0d PropertySheet;.
36b0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e .// #else..// #.
36c0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
36d0: 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e #endif....extern
36e0: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 (Windows) alias
36f0: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 50 BOOL function(HP
3700: 52 4f 50 53 48 45 45 54 50 41 47 45 2c 20 4c 50 ROPSHEETPAGE, LP
3710: 41 52 41 4d 29 20 4c 50 46 4e 41 44 44 50 52 4f ARAM) LPFNADDPRO
3720: 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 65 78 74 PSHEETPAGE;..ext
3730: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 ern(Windows) ali
3740: 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e as BOOL function
3750: 28 4c 50 56 4f 49 44 2c 20 4c 50 46 4e 41 44 44 (LPVOID, LPFNADD
3760: 50 52 4f 50 53 48 45 45 54 50 41 47 45 2c 20 4c PROPSHEETPAGE, L
3770: 50 41 52 41 4d 29 20 4c 50 46 4e 41 44 44 50 52 PARAM) LPFNADDPR
3780: 4f 50 53 48 45 45 54 50 41 47 45 53 3b 0d 0a 0d OPSHEETPAGES;...
3790: 0a 73 74 72 75 63 74 20 5f 50 53 48 4e 4f 54 49 .struct _PSHNOTI
37a0: 46 59 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 FY {.. NMHDR hd
37b0: 72 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 r;.. LPARAM lPa
37c0: 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f ram;..}..alias _
37d0: 50 53 48 4e 4f 54 49 46 59 20 50 53 48 4e 4f 54 PSHNOTIFY PSHNOT
37e0: 49 46 59 3b 0d 0a 61 6c 69 61 73 20 5f 50 53 48 IFY;..alias _PSH
37f0: 4e 4f 54 49 46 59 2a 20 4c 50 50 53 48 4e 4f 54 NOTIFY* LPPSHNOT
3800: 49 46 59 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 IFY;....enum : u
3810: 69 6e 74 20 7b 20 50 53 4e 5f 46 49 52 53 54 20 int { PSN_FIRST
3820: 3d 20 30 55 2d 32 30 30 55 20 7d 0d 0a 65 6e 75 = 0U-200U }..enu
3830: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 4c m : uint { PSN_L
3840: 41 53 54 20 3d 20 30 55 2d 32 39 39 55 20 7d 0d AST = 0U-299U }.
3850: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
3860: 20 50 53 4e 5f 53 45 54 41 43 54 49 56 45 20 3d PSN_SETACTIVE =
3870: 20 50 53 4e 5f 46 49 52 53 54 2d 30 20 7d 0d 0a PSN_FIRST-0 }..
3880: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
3890: 4e 5f 4b 49 4c 4c 41 43 54 49 56 45 20 3d 20 50 N_KILLACTIVE = P
38a0: 53 4e 5f 46 49 52 53 54 2d 31 20 7d 0d 0a 0d 0a SN_FIRST-1 }....
38b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
38c0: 4e 5f 41 50 50 4c 59 20 3d 20 50 53 4e 5f 46 49 N_APPLY = PSN_FI
38d0: 52 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 RST-2 }..enum :
38e0: 75 69 6e 74 20 7b 20 50 53 4e 5f 52 45 53 45 54 uint { PSN_RESET
38f0: 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d 33 20 7d = PSN_FIRST-3 }
3900: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
3910: 7b 20 50 53 4e 5f 48 45 4c 50 20 3d 20 50 53 4e { PSN_HELP = PSN
3920: 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 6e 75 6d _FIRST-5 }..enum
3930: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 57 49 : uint { PSN_WI
3940: 5a 42 41 43 4b 20 3d 20 50 53 4e 5f 46 49 52 53 ZBACK = PSN_FIRS
3950: 54 2d 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 T-6 }..enum : ui
3960: 6e 74 20 7b 20 50 53 4e 5f 57 49 5a 4e 45 58 54 nt { PSN_WIZNEXT
3970: 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d 37 20 7d = PSN_FIRST-7 }
3980: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
3990: 50 53 4e 5f 57 49 5a 46 49 4e 49 53 48 20 3d 20 PSN_WIZFINISH =
39a0: 50 53 4e 5f 46 49 52 53 54 2d 38 20 7d 0d 0a 65 PSN_FIRST-8 }..e
39b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e num : uint { PSN
39c0: 5f 51 55 45 52 59 43 41 4e 43 45 4c 20 3d 20 50 _QUERYCANCEL = P
39d0: 53 4e 5f 46 49 52 53 54 2d 39 20 7d 0d 0a 2f 2f SN_FIRST-9 }..//
39e0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
39f0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d >= 0x0400)..enum
3a00: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 47 45 : uint { PSN_GE
3a10: 54 4f 42 4a 45 43 54 20 3d 20 50 53 4e 5f 46 49 TOBJECT = PSN_FI
3a20: 52 53 54 2d 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e RST-10 }..// #en
3a30: 64 69 66 20 2f 2f 20 30 78 30 34 30 30 0d 0a 2f dif // 0x0400../
3a40: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
3a50: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 >= 0x0500)..enu
3a60: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 54 m : uint { PSN_T
3a70: 52 41 4e 53 4c 41 54 45 41 43 43 45 4c 45 52 41 RANSLATEACCELERA
3a80: 54 4f 52 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d TOR = PSN_FIRST-
3a90: 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 12 }..enum : uin
3aa0: 74 20 7b 20 50 53 4e 5f 51 55 45 52 59 49 4e 49 t { PSN_QUERYINI
3ab0: 54 49 41 4c 46 4f 43 55 53 20 3d 20 50 53 4e 5f TIALFOCUS = PSN_
3ac0: 46 49 52 53 54 2d 31 33 20 7d 0d 0a 2f 2f 20 23 FIRST-13 }..// #
3ad0: 65 6e 64 69 66 20 2f 2f 20 30 78 30 35 30 30 0d endif // 0x0500.
3ae0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
3af0: 20 50 53 4e 52 45 54 5f 4e 4f 45 52 52 4f 52 20 PSNRET_NOERROR
3b00: 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 0 }..enum : ui
3b10: 6e 74 20 7b 20 50 53 4e 52 45 54 5f 49 4e 56 41 nt { PSNRET_INVA
3b20: 4c 49 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 LID = 1 }..enum
3b30: 3a 20 75 69 6e 74 20 7b 20 50 53 4e 52 45 54 5f : uint { PSNRET_
3b40: 49 4e 56 41 4c 49 44 5f 4e 4f 43 48 41 4e 47 45 INVALID_NOCHANGE
3b50: 50 41 47 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d PAGE = 2 }..enum
3b60: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 52 45 54 : uint { PSNRET
3b70: 5f 4d 45 53 53 41 47 45 48 41 4e 44 4c 45 44 20 _MESSAGEHANDLED
3b80: 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 = 3 }....enum :
3b90: 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54 43 55 uint { PSM_SETCU
3ba0: 52 53 45 4c 20 3d 20 57 4d 5f 55 53 45 52 20 2b RSEL = WM_USER +
3bb0: 20 31 30 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 101 }..// #defi
3bc0: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74 ne PropSheet_Set
3bd0: 43 75 72 53 65 6c 28 68 44 6c 67 2c 20 68 70 61 CurSel(hDlg, hpa
3be0: 67 65 2c 20 69 6e 64 65 78 29 20 53 4e 44 4d 53 ge, index) SNDMS
3bf0: 47 28 68 44 6c 67 2c 20 50 53 4d 5f 53 45 54 43 G(hDlg, PSM_SETC
3c00: 55 52 53 45 4c 2c 20 28 57 50 41 52 41 4d 29 69 URSEL, (WPARAM)i
3c10: 6e 64 65 78 2c 20 28 4c 50 41 52 41 4d 29 68 70 ndex, (LPARAM)hp
3c20: 61 67 65 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 age)....enum : u
3c30: 69 6e 74 20 7b 20 50 53 4d 5f 52 45 4d 4f 56 45 int { PSM_REMOVE
3c40: 50 41 47 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b PAGE = WM_USER +
3c50: 20 31 30 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 102 }..// #defi
3c60: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 52 65 6d ne PropSheet_Rem
3c70: 6f 76 65 50 61 67 65 28 68 44 6c 67 2c 20 69 6e ovePage(hDlg, in
3c80: 64 65 78 2c 20 68 70 61 67 65 29 20 53 4e 44 4d dex, hpage) SNDM
3c90: 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 52 45 4d SG(hDlg, PSM_REM
3ca0: 4f 56 45 50 41 47 45 2c 20 69 6e 64 65 78 2c 20 OVEPAGE, index,
3cb0: 28 4c 50 41 52 41 4d 29 68 70 61 67 65 29 0d 0a (LPARAM)hpage)..
3cc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
3cd0: 50 53 4d 5f 41 44 44 50 41 47 45 20 3d 20 57 4d PSM_ADDPAGE = WM
3ce0: 5f 55 53 45 52 20 2b 20 31 30 33 20 7d 0d 0a 2f _USER + 103 }../
3cf0: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 / #define PropSh
3d00: 65 65 74 5f 41 64 64 50 61 67 65 28 68 44 6c 67 eet_AddPage(hDlg
3d10: 2c 20 68 70 61 67 65 29 20 53 4e 44 4d 53 47 28 , hpage) SNDMSG(
3d20: 68 44 6c 67 2c 20 50 53 4d 5f 41 44 44 50 41 47 hDlg, PSM_ADDPAG
3d30: 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 68 70 E, 0, (LPARAM)hp
3d40: 61 67 65 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 age)....enum : u
3d50: 69 6e 74 20 7b 20 50 53 4d 5f 43 48 41 4e 47 45 int { PSM_CHANGE
3d60: 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 D = WM_USER + 10
3d70: 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4 }..// #define
3d80: 50 72 6f 70 53 68 65 65 74 5f 43 68 61 6e 67 65 PropSheet_Change
3d90: 64 28 68 44 6c 67 2c 20 68 77 6e 64 29 20 53 4e d(hDlg, hwnd) SN
3da0: 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 43 DMSG(hDlg, PSM_C
3db0: 48 41 4e 47 45 44 2c 20 28 57 50 41 52 41 4d 29 HANGED, (WPARAM)
3dc0: 68 77 6e 64 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 hwnd, 0L)....enu
3dd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 52 m : uint { PSM_R
3de0: 45 53 54 41 52 54 57 49 4e 44 4f 57 53 20 3d 20 ESTARTWINDOWS =
3df0: 57 4d 5f 55 53 45 52 20 2b 20 31 30 35 20 7d 0d WM_USER + 105 }.
3e00: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 .// #define Prop
3e10: 53 68 65 65 74 5f 52 65 73 74 61 72 74 57 69 6e Sheet_RestartWin
3e20: 64 6f 77 73 28 68 44 6c 67 29 20 53 4e 44 4d 53 dows(hDlg) SNDMS
3e30: 47 28 68 44 6c 67 2c 20 50 53 4d 5f 52 45 53 54 G(hDlg, PSM_REST
3e40: 41 52 54 57 49 4e 44 4f 57 53 2c 20 30 2c 20 30 ARTWINDOWS, 0, 0
3e50: 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e L)....enum : uin
3e60: 74 20 7b 20 50 53 4d 5f 52 45 42 4f 4f 54 53 59 t { PSM_REBOOTSY
3e70: 53 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52 20 2b STEM = WM_USER +
3e80: 20 31 30 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 106 }..// #defi
3e90: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 52 65 62 ne PropSheet_Reb
3ea0: 6f 6f 74 53 79 73 74 65 6d 28 68 44 6c 67 29 20 ootSystem(hDlg)
3eb0: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d SNDMSG(hDlg, PSM
3ec0: 5f 52 45 42 4f 4f 54 53 59 53 54 45 4d 2c 20 30 _REBOOTSYSTEM, 0
3ed0: 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 , 0L)....enum :
3ee0: 75 69 6e 74 20 7b 20 50 53 4d 5f 43 41 4e 43 45 uint { PSM_CANCE
3ef0: 4c 54 4f 43 4c 4f 53 45 20 3d 20 57 4d 5f 55 53 LTOCLOSE = WM_US
3f00: 45 52 20 2b 20 31 30 37 20 7d 0d 0a 2f 2f 20 23 ER + 107 }..// #
3f10: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 define PropSheet
3f20: 5f 43 61 6e 63 65 6c 54 6f 43 6c 6f 73 65 28 68 _CancelToClose(h
3f30: 44 6c 67 29 20 50 6f 73 74 4d 65 73 73 61 67 65 Dlg) PostMessage
3f40: 28 68 44 6c 67 2c 20 50 53 4d 5f 43 41 4e 43 45 (hDlg, PSM_CANCE
3f50: 4c 54 4f 43 4c 4f 53 45 2c 20 30 2c 20 30 4c 29 LTOCLOSE, 0, 0L)
3f60: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
3f70: 7b 20 50 53 4d 5f 51 55 45 52 59 53 49 42 4c 49 { PSM_QUERYSIBLI
3f80: 4e 47 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 NGS = WM_USER +
3f90: 31 30 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 108 }..// #defin
3fa0: 65 20 50 72 6f 70 53 68 65 65 74 5f 51 75 65 72 e PropSheet_Quer
3fb0: 79 53 69 62 6c 69 6e 67 73 28 68 44 6c 67 2c 20 ySiblings(hDlg,
3fc0: 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 20 wParam, lParam)
3fd0: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d SNDMSG(hDlg, PSM
3fe0: 5f 51 55 45 52 59 53 49 42 4c 49 4e 47 53 2c 20 _QUERYSIBLINGS,
3ff0: 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 0d wParam, lParam).
4000: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
4010: 20 50 53 4d 5f 55 4e 43 48 41 4e 47 45 44 20 3d PSM_UNCHANGED =
4020: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 39 20 7d WM_USER + 109 }
4030: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f ..// #define Pro
4040: 70 53 68 65 65 74 5f 55 6e 43 68 61 6e 67 65 64 pSheet_UnChanged
4050: 28 68 44 6c 67 2c 20 68 77 6e 64 29 20 53 4e 44 (hDlg, hwnd) SND
4060: 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 55 4e MSG(hDlg, PSM_UN
4070: 43 48 41 4e 47 45 44 2c 20 28 57 50 41 52 41 4d CHANGED, (WPARAM
4080: 29 68 77 6e 64 2c 20 30 4c 29 0d 0a 0d 0a 65 6e )hwnd, 0L)....en
4090: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f um : uint { PSM_
40a0: 41 50 50 4c 59 20 3d 20 57 4d 5f 55 53 45 52 20 APPLY = WM_USER
40b0: 2b 20 31 31 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 110 }..// #def
40c0: 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 41 70 ine PropSheet_Ap
40d0: 70 6c 79 28 68 44 6c 67 29 20 53 4e 44 4d 53 47 ply(hDlg) SNDMSG
40e0: 28 68 44 6c 67 2c 20 50 53 4d 5f 41 50 50 4c 59 (hDlg, PSM_APPLY
40f0: 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d , 0, 0L)....enum
4100: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45 : uint { PSM_SE
4110: 54 54 49 54 4c 45 41 20 3d 20 57 4d 5f 55 53 45 TTITLEA = WM_USE
4120: 52 20 2b 20 31 31 31 20 7d 0d 0a 65 6e 75 6d 20 R + 111 }..enum
4130: 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54 : uint { PSM_SET
4140: 54 49 54 4c 45 57 20 3d 20 57 4d 5f 55 53 45 52 TITLEW = WM_USER
4150: 20 2b 20 31 32 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 + 120 }....// #
4160: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
4170: 6c 69 61 73 20 50 53 4d 5f 53 45 54 54 49 54 4c lias PSM_SETTITL
4180: 45 57 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 3b EW PSM_SETTITLE;
4190: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
41a0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
41b0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f ..// #define Pro
41c0: 70 53 68 65 65 74 5f 53 65 74 54 69 74 6c 65 28 pSheet_SetTitle(
41d0: 68 44 6c 67 2c 20 77 53 74 79 6c 65 2c 20 6c 70 hDlg, wStyle, lp
41e0: 73 7a 54 65 78 74 29 20 53 4e 44 4d 53 47 28 68 szText) SNDMSG(h
41f0: 44 6c 67 2c 20 50 53 4d 5f 53 45 54 54 49 54 4c Dlg, PSM_SETTITL
4200: 45 2c 20 77 53 74 79 6c 65 2c 20 28 4c 50 41 52 E, wStyle, (LPAR
4210: 41 4d 29 28 4c 50 43 54 53 54 52 29 28 6c 70 73 AM)(LPCTSTR)(lps
4220: 7a 54 65 78 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 zText))....enum
4230: 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54 : uint { PSM_SET
4240: 57 49 5a 42 55 54 54 4f 4e 53 20 3d 20 57 4d 5f WIZBUTTONS = WM_
4250: 55 53 45 52 20 2b 20 31 31 32 20 7d 0d 0a 2f 2f USER + 112 }..//
4260: 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 #define PropShe
4270: 65 74 5f 53 65 74 57 69 7a 42 75 74 74 6f 6e 73 et_SetWizButtons
4280: 28 68 44 6c 67 2c 20 64 77 46 6c 61 67 73 29 20 (hDlg, dwFlags)
4290: 50 6f 73 74 4d 65 73 73 61 67 65 28 68 44 6c 67 PostMessage(hDlg
42a0: 2c 20 50 53 4d 5f 53 45 54 57 49 5a 42 55 54 54 , PSM_SETWIZBUTT
42b0: 4f 4e 53 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 ONS, 0, (LPARAM)
42c0: 64 77 46 6c 61 67 73 29 0d 0a 0d 0a 65 6e 75 6d dwFlags)....enum
42d0: 20 3a 20 75 69 6e 74 20 7b 20 50 53 57 49 5a 42 : uint { PSWIZB
42e0: 5f 42 41 43 4b 20 3d 20 30 78 30 30 30 30 30 30 _BACK = 0x000000
42f0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 01 }..enum : uin
4300: 74 20 7b 20 50 53 57 49 5a 42 5f 4e 45 58 54 20 t { PSWIZB_NEXT
4310: 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a = 0x00000002 }..
4320: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
4330: 57 49 5a 42 5f 46 49 4e 49 53 48 20 3d 20 30 78 WIZB_FINISH = 0x
4340: 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 00000004 }..enum
4350: 20 3a 20 75 69 6e 74 20 7b 20 50 53 57 49 5a 42 : uint { PSWIZB
4360: 5f 44 49 53 41 42 4c 45 44 46 49 4e 49 53 48 20 _DISABLEDFINISH
4370: 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a = 0x00000008 }..
4380: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
4390: 50 53 4d 5f 50 52 45 53 53 42 55 54 54 4f 4e 20 PSM_PRESSBUTTON
43a0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31 33 20 = WM_USER + 113
43b0: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 }..// #define Pr
43c0: 6f 70 53 68 65 65 74 5f 50 72 65 73 73 42 75 74 opSheet_PressBut
43d0: 74 6f 6e 28 68 44 6c 67 2c 20 69 42 75 74 74 6f ton(hDlg, iButto
43e0: 6e 29 20 50 6f 73 74 4d 65 73 73 61 67 65 28 68 n) PostMessage(h
43f0: 44 6c 67 2c 20 50 53 4d 5f 50 52 45 53 53 42 55 Dlg, PSM_PRESSBU
4400: 54 54 4f 4e 2c 20 28 57 50 41 52 41 4d 29 69 42 TTON, (WPARAM)iB
4410: 75 74 74 6f 6e 2c 20 30 29 0d 0a 0d 0a 65 6e 75 utton, 0)....enu
4420: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e m : uint { PSBTN
4430: 5f 42 41 43 4b 20 3d 20 30 20 7d 0d 0a 65 6e 75 _BACK = 0 }..enu
4440: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e m : uint { PSBTN
4450: 5f 4e 45 58 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 _NEXT = 1 }..enu
4460: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e m : uint { PSBTN
4470: 5f 46 49 4e 49 53 48 20 3d 20 32 20 7d 0d 0a 65 _FINISH = 2 }..e
4480: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 num : uint { PSB
4490: 54 4e 5f 4f 4b 20 3d 20 33 20 7d 0d 0a 65 6e 75 TN_OK = 3 }..enu
44a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e m : uint { PSBTN
44b0: 5f 41 50 50 4c 59 4e 4f 57 20 3d 20 34 20 7d 0d _APPLYNOW = 4 }.
44c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
44d0: 53 42 54 4e 5f 43 41 4e 43 45 4c 20 3d 20 35 20 SBTN_CANCEL = 5
44e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
44f0: 20 50 53 42 54 4e 5f 48 45 4c 50 20 3d 20 36 20 PSBTN_HELP = 6
4500: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
4510: 20 50 53 42 54 4e 5f 4d 41 58 20 3d 20 36 20 7d PSBTN_MAX = 6 }
4520: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
4530: 7b 20 50 53 4d 5f 53 45 54 43 55 52 53 45 4c 49 { PSM_SETCURSELI
4540: 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31 D = WM_USER + 11
4550: 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4 }..// #define
4560: 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75 72 PropSheet_SetCur
4570: 53 65 6c 42 79 49 44 28 68 44 6c 67 2c 20 69 64 SelByID(hDlg, id
4580: 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 ) SNDMSG(hDlg, P
4590: 53 4d 5f 53 45 54 43 55 52 53 45 4c 49 44 2c 20 SM_SETCURSELID,
45a0: 30 2c 20 28 4c 50 41 52 41 4d 29 69 64 29 0d 0a 0, (LPARAM)id)..
45b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
45c0: 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58 PSM_SETFINISHTEX
45d0: 54 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 TA = WM_USER + 1
45e0: 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 15 }..enum : uin
45f0: 74 20 7b 20 50 53 4d 5f 53 45 54 46 49 4e 49 53 t { PSM_SETFINIS
4600: 48 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 HTEXTW = WM_USER
4610: 20 2b 20 31 32 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 + 121 }....// #
4620: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
4630: 6c 69 61 73 20 50 53 4d 5f 53 45 54 46 49 4e 49 lias PSM_SETFINI
4640: 53 48 54 45 58 54 57 20 50 53 4d 5f 53 45 54 46 SHTEXTW PSM_SETF
4650: 49 4e 49 53 48 54 45 58 54 3b 0d 0a 2f 2f 20 23 INISHTEXT;..// #
4660: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
4670: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
4680: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 define PropSheet
4690: 5f 53 65 74 46 69 6e 69 73 68 54 65 78 74 28 68 _SetFinishText(h
46a0: 44 6c 67 2c 20 6c 70 73 7a 54 65 78 74 29 20 53 Dlg, lpszText) S
46b0: 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f NDMSG(hDlg, PSM_
46c0: 53 45 54 46 49 4e 49 53 48 54 45 58 54 2c 20 30 SETFINISHTEXT, 0
46d0: 2c 20 28 4c 50 41 52 41 4d 29 6c 70 73 7a 54 65 , (LPARAM)lpszTe
46e0: 78 74 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 xt)....enum : ui
46f0: 6e 74 20 7b 20 50 53 4d 5f 47 45 54 54 41 42 43 nt { PSM_GETTABC
4700: 4f 4e 54 52 4f 4c 20 3d 20 57 4d 5f 55 53 45 52 ONTROL = WM_USER
4710: 20 2b 20 31 31 36 20 7d 0d 0a 2f 2f 20 23 64 65 + 116 }..// #de
4720: 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 47 fine PropSheet_G
4730: 65 74 54 61 62 43 6f 6e 74 72 6f 6c 28 68 44 6c etTabControl(hDl
4740: 67 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 g) (HWND)SNDMSG(
4750: 68 44 6c 67 2c 20 50 53 4d 5f 47 45 54 54 41 42 hDlg, PSM_GETTAB
4760: 43 4f 4e 54 52 4f 4c 2c 20 30 2c 20 30 29 0d 0a CONTROL, 0, 0)..
4770: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
4780: 50 53 4d 5f 49 53 44 49 41 4c 4f 47 4d 45 53 53 PSM_ISDIALOGMESS
4790: 41 47 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 AGE = WM_USER +
47a0: 31 31 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 117 }..// #defin
47b0: 65 20 50 72 6f 70 53 68 65 65 74 5f 49 73 44 69 e PropSheet_IsDi
47c0: 61 6c 6f 67 4d 65 73 73 61 67 65 28 68 44 6c 67 alogMessage(hDlg
47d0: 2c 20 70 4d 73 67 29 20 28 42 4f 4f 4c 29 53 4e , pMsg) (BOOL)SN
47e0: 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 49 DMSG(hDlg, PSM_I
47f0: 53 44 49 41 4c 4f 47 4d 45 53 53 41 47 45 2c 20 SDIALOGMESSAGE,
4800: 30 2c 20 28 4c 50 41 52 41 4d 29 70 4d 73 67 29 0, (LPARAM)pMsg)
4810: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
4820: 7b 20 50 53 4d 5f 47 45 54 43 55 52 52 45 4e 54 { PSM_GETCURRENT
4830: 50 41 47 45 48 57 4e 44 20 3d 20 57 4d 5f 55 53 PAGEHWND = WM_US
4840: 45 52 20 2b 20 31 31 38 20 7d 0d 0a 2f 2f 20 23 ER + 118 }..// #
4850: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 define PropSheet
4860: 5f 47 65 74 43 75 72 72 65 6e 74 50 61 67 65 48 _GetCurrentPageH
4870: 77 6e 64 28 68 44 6c 67 29 20 28 48 57 4e 44 29 wnd(hDlg) (HWND)
4880: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d SNDMSG(hDlg, PSM
4890: 5f 47 45 54 43 55 52 52 45 4e 54 50 41 47 45 48 _GETCURRENTPAGEH
48a0: 57 4e 44 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 WND, 0, 0L)....e
48b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d num : uint { PSM
48c0: 5f 49 4e 53 45 52 54 50 41 47 45 20 3d 20 57 4d _INSERTPAGE = WM
48d0: 5f 55 53 45 52 20 2b 20 31 31 39 20 7d 0d 0a 2f _USER + 119 }../
48e0: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 / #define PropSh
48f0: 65 65 74 5f 49 6e 73 65 72 74 50 61 67 65 28 68 eet_InsertPage(h
4900: 44 6c 67 2c 20 69 6e 64 65 78 2c 20 68 70 61 67 Dlg, index, hpag
4910: 65 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 e) SNDMSG(hDlg,
4920: 50 53 4d 5f 49 4e 53 45 52 54 50 41 47 45 2c 20 PSM_INSERTPAGE,
4930: 28 57 50 41 52 41 4d 29 28 69 6e 64 65 78 29 2c (WPARAM)(index),
4940: 20 28 4c 50 41 52 41 4d 29 28 68 70 61 67 65 29 (LPARAM)(hpage)
4950: 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 )....// #if (_WI
4960: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 N32_IE >= 0x0500
4970: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
4980: 20 50 53 4d 5f 53 45 54 48 45 41 44 45 52 54 49 PSM_SETHEADERTI
4990: 54 4c 45 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b TLEA = WM_USER +
49a0: 20 31 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 125 }..enum : u
49b0: 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54 48 45 41 int { PSM_SETHEA
49c0: 44 45 52 54 49 54 4c 45 57 20 3d 20 57 4d 5f 55 DERTITLEW = WM_U
49d0: 53 45 52 20 2b 20 31 32 36 20 7d 0d 0a 0d 0a 2f SER + 126 }..../
49e0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 / #ifdef UNICODE
49f0: 0d 0a 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 48 ..alias PSM_SETH
4a00: 45 41 44 45 52 54 49 54 4c 45 57 20 50 53 4d 5f EADERTITLEW PSM_
4a10: 53 45 54 48 45 41 44 45 52 54 49 54 4c 45 3b 0d SETHEADERTITLE;.
4a20: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e .// #else..// #.
4a30: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ....// #endif...
4a40: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 .// #define Prop
4a50: 53 68 65 65 74 5f 53 65 74 48 65 61 64 65 72 54 Sheet_SetHeaderT
4a60: 69 74 6c 65 28 68 44 6c 67 2c 20 69 6e 64 65 78 itle(hDlg, index
4a70: 2c 20 6c 70 73 7a 54 65 78 74 29 20 53 4e 44 4d , lpszText) SNDM
4a80: 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 53 45 54 SG(hDlg, PSM_SET
4a90: 48 45 41 44 45 52 54 49 54 4c 45 2c 20 28 57 50 HEADERTITLE, (WP
4aa0: 41 52 41 4d 29 28 69 6e 64 65 78 29 2c 20 28 4c ARAM)(index), (L
4ab0: 50 41 52 41 4d 29 28 6c 70 73 7a 54 65 78 74 29 PARAM)(lpszText)
4ac0: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
4ad0: 20 7b 20 50 53 4d 5f 53 45 54 48 45 41 44 45 52 { PSM_SETHEADER
4ae0: 53 55 42 54 49 54 4c 45 41 20 3d 20 57 4d 5f 55 SUBTITLEA = WM_U
4af0: 53 45 52 20 2b 20 31 32 37 20 7d 0d 0a 65 6e 75 SER + 127 }..enu
4b00: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 m : uint { PSM_S
4b10: 45 54 48 45 41 44 45 52 53 55 42 54 49 54 4c 45 ETHEADERSUBTITLE
4b20: 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 32 W = WM_USER + 12
4b30: 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 8 }....// #ifdef
4b40: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 UNICODE..alias
4b50: 50 53 4d 5f 53 45 54 48 45 41 44 45 52 53 55 42 PSM_SETHEADERSUB
4b60: 54 49 54 4c 45 57 20 50 53 4d 5f 53 45 54 48 45 TITLEW PSM_SETHE
4b70: 41 44 45 52 53 55 42 54 49 54 4c 45 3b 0d 0a 2f ADERSUBTITLE;../
4b80: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
4b90: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
4ba0: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 / #define PropSh
4bb0: 65 65 74 5f 53 65 74 48 65 61 64 65 72 53 75 62 eet_SetHeaderSub
4bc0: 54 69 74 6c 65 28 68 44 6c 67 2c 20 69 6e 64 65 Title(hDlg, inde
4bd0: 78 2c 20 6c 70 73 7a 54 65 78 74 29 20 53 4e 44 x, lpszText) SND
4be0: 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 53 45 MSG(hDlg, PSM_SE
4bf0: 54 48 45 41 44 45 52 53 55 42 54 49 54 4c 45 2c THEADERSUBTITLE,
4c00: 20 28 57 50 41 52 41 4d 29 28 69 6e 64 65 78 29 (WPARAM)(index)
4c10: 2c 20 28 4c 50 41 52 41 4d 29 28 6c 70 73 7a 54 , (LPARAM)(lpszT
4c20: 65 78 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 ext))....enum :
4c30: 75 69 6e 74 20 7b 20 50 53 4d 5f 48 57 4e 44 54 uint { PSM_HWNDT
4c40: 4f 49 4e 44 45 58 20 3d 20 57 4d 5f 55 53 45 52 OINDEX = WM_USER
4c50: 20 2b 20 31 32 39 20 7d 0d 0a 2f 2f 20 23 64 65 + 129 }..// #de
4c60: 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 48 fine PropSheet_H
4c70: 77 6e 64 54 6f 49 6e 64 65 78 28 68 44 6c 67 2c wndToIndex(hDlg,
4c80: 20 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d hwnd) (int)SNDM
4c90: 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 48 57 4e SG(hDlg, PSM_HWN
4ca0: 44 54 4f 49 4e 44 45 58 2c 20 28 57 50 41 52 41 DTOINDEX, (WPARA
4cb0: 4d 29 28 68 77 6e 64 29 2c 20 30 29 0d 0a 0d 0a M)(hwnd), 0)....
4cc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
4cd0: 4d 5f 49 4e 44 45 58 54 4f 48 57 4e 44 20 3d 20 M_INDEXTOHWND =
4ce0: 57 4d 5f 55 53 45 52 20 2b 20 31 33 30 20 7d 0d WM_USER + 130 }.
4cf0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 .// #define Prop
4d00: 53 68 65 65 74 5f 49 6e 64 65 78 54 6f 48 77 6e Sheet_IndexToHwn
4d10: 64 28 68 44 6c 67 2c 20 69 29 20 28 48 57 4e 44 d(hDlg, i) (HWND
4d20: 29 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 )SNDMSG(hDlg, PS
4d30: 4d 5f 49 4e 44 45 58 54 4f 48 57 4e 44 2c 20 28 M_INDEXTOHWND, (
4d40: 57 50 41 52 41 4d 29 28 69 29 2c 20 30 29 0d 0a WPARAM)(i), 0)..
4d50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
4d60: 50 53 4d 5f 50 41 47 45 54 4f 49 4e 44 45 58 20 PSM_PAGETOINDEX
4d70: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 31 20 = WM_USER + 131
4d80: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 }..// #define Pr
4d90: 6f 70 53 68 65 65 74 5f 50 61 67 65 54 6f 49 6e opSheet_PageToIn
4da0: 64 65 78 28 68 44 6c 67 2c 20 68 70 61 67 65 29 dex(hDlg, hpage)
4db0: 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 68 44 6c (int)SNDMSG(hDl
4dc0: 67 2c 20 50 53 4d 5f 50 41 47 45 54 4f 49 4e 44 g, PSM_PAGETOIND
4dd0: 45 58 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 EX, 0, (LPARAM)(
4de0: 68 70 61 67 65 29 29 0d 0a 0d 0a 65 6e 75 6d 20 hpage))....enum
4df0: 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 49 4e 44 : uint { PSM_IND
4e00: 45 58 54 4f 50 41 47 45 20 3d 20 57 4d 5f 55 53 EXTOPAGE = WM_US
4e10: 45 52 20 2b 20 31 33 32 20 7d 0d 0a 2f 2f 20 23 ER + 132 }..// #
4e20: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 define PropSheet
4e30: 5f 49 6e 64 65 78 54 6f 50 61 67 65 28 68 44 6c _IndexToPage(hDl
4e40: 67 2c 20 69 29 20 28 48 50 52 4f 50 53 48 45 45 g, i) (HPROPSHEE
4e50: 54 50 41 47 45 29 53 4e 44 4d 53 47 28 68 44 6c TPAGE)SNDMSG(hDl
4e60: 67 2c 20 50 53 4d 5f 49 4e 44 45 58 54 4f 50 41 g, PSM_INDEXTOPA
4e70: 47 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c GE, (WPARAM)(i),
4e80: 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 0)....enum : ui
4e90: 6e 74 20 7b 20 50 53 4d 5f 49 44 54 4f 49 4e 44 nt { PSM_IDTOIND
4ea0: 45 58 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 EX = WM_USER + 1
4eb0: 33 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 33 }..// #define
4ec0: 20 50 72 6f 70 53 68 65 65 74 5f 49 64 54 6f 49 PropSheet_IdToI
4ed0: 6e 64 65 78 28 68 44 6c 67 2c 20 69 64 29 20 28 ndex(hDlg, id) (
4ee0: 69 6e 74 29 53 4e 44 4d 53 47 28 68 44 6c 67 2c int)SNDMSG(hDlg,
4ef0: 20 50 53 4d 5f 49 44 54 4f 49 4e 44 45 58 2c 20 PSM_IDTOINDEX,
4f00: 30 2c 20 28 4c 50 41 52 41 4d 29 28 69 64 29 29 0, (LPARAM)(id))
4f10: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
4f20: 7b 20 50 53 4d 5f 49 4e 44 45 58 54 4f 49 44 20 { PSM_INDEXTOID
4f30: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 34 20 = WM_USER + 134
4f40: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 }..// #define Pr
4f50: 6f 70 53 68 65 65 74 5f 49 6e 64 65 78 54 6f 49 opSheet_IndexToI
4f60: 64 28 68 44 6c 67 2c 20 69 29 20 53 4e 44 4d 53 d(hDlg, i) SNDMS
4f70: 47 28 68 44 6c 67 2c 20 50 53 4d 5f 49 4e 44 45 G(hDlg, PSM_INDE
4f80: 58 54 4f 49 44 2c 20 28 57 50 41 52 41 4d 29 28 XTOID, (WPARAM)(
4f90: 69 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a i), 0)....enum :
4fa0: 20 75 69 6e 74 20 7b 20 50 53 4d 5f 47 45 54 52 uint { PSM_GETR
4fb0: 45 53 55 4c 54 20 3d 20 57 4d 5f 55 53 45 52 20 ESULT = WM_USER
4fc0: 2b 20 31 33 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 135 }..// #def
4fd0: 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 47 65 ine PropSheet_Ge
4fe0: 74 52 65 73 75 6c 74 28 68 44 6c 67 29 20 53 4e tResult(hDlg) SN
4ff0: 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 47 DMSG(hDlg, PSM_G
5000: 45 54 52 45 53 55 4c 54 2c 20 30 2c 20 30 29 0d ETRESULT, 0, 0).
5010: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
5020: 20 50 53 4d 5f 52 45 43 41 4c 43 50 41 47 45 53 PSM_RECALCPAGES
5030: 49 5a 45 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b IZES = WM_USER +
5040: 20 31 33 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 136 }..// #defi
5050: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 52 65 63 ne PropSheet_Rec
5060: 61 6c 63 50 61 67 65 53 69 7a 65 73 28 68 44 6c alcPageSizes(hDl
5070: 67 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 g) SNDMSG(hDlg,
5080: 50 53 4d 5f 52 45 43 41 4c 43 50 41 47 45 53 49 PSM_RECALCPAGESI
5090: 5a 45 53 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 ZES, 0, 0)..// #
50a0: 65 6e 64 69 66 20 2f 2f 20 30 78 30 35 30 30 0d endif // 0x0500.
50b0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
50c0: 20 49 44 5f 50 53 52 45 53 54 41 52 54 57 49 4e ID_PSRESTARTWIN
50d0: 44 4f 57 53 20 3d 20 30 78 32 20 7d 0d 0a 65 6e DOWS = 0x2 }..en
50e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 5f 50 um : uint { ID_P
50f0: 53 52 45 42 4f 4f 54 53 59 53 54 45 4d 20 3d 20 SREBOOTSYSTEM =
5100: 49 44 5f 50 53 52 45 53 54 41 52 54 57 49 4e 44 ID_PSRESTARTWIND
5110: 4f 57 53 20 7c 20 30 78 31 20 7d 0d 0a 0d 0a 65 OWS | 0x1 }....e
5120: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 5a num : uint { WIZ
5130: 5f 43 58 44 4c 47 20 3d 20 32 37 36 20 7d 0d 0a _CXDLG = 276 }..
5140: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 enum : uint { WI
5150: 5a 5f 43 59 44 4c 47 20 3d 20 31 34 30 20 7d 0d Z_CYDLG = 140 }.
5160: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
5170: 20 57 49 5a 5f 43 58 42 4d 50 20 3d 20 38 30 20 WIZ_CXBMP = 80
5180: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
5190: 20 7b 20 57 49 5a 5f 42 4f 44 59 58 20 3d 20 39 { WIZ_BODYX = 9
51a0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 2 }..enum : uint
51b0: 20 7b 20 57 49 5a 5f 42 4f 44 59 43 58 20 3d 20 { WIZ_BODYCX =
51c0: 31 38 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 184 }....enum :
51d0: 75 69 6e 74 20 7b 20 50 52 4f 50 5f 53 4d 5f 43 uint { PROP_SM_C
51e0: 58 44 4c 47 20 3d 20 32 31 32 20 7d 0d 0a 65 6e XDLG = 212 }..en
51f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 50 um : uint { PROP
5200: 5f 53 4d 5f 43 59 44 4c 47 20 3d 20 31 38 38 20 _SM_CYDLG = 188
5210: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
5220: 20 7b 20 50 52 4f 50 5f 4d 45 44 5f 43 58 44 4c { PROP_MED_CXDL
5230: 47 20 3d 20 32 32 37 20 7d 0d 0a 65 6e 75 6d 20 G = 227 }..enum
5240: 3a 20 75 69 6e 74 20 7b 20 50 52 4f 50 5f 4d 45 : uint { PROP_ME
5250: 44 5f 43 59 44 4c 47 20 3d 20 32 31 35 20 7d 0d D_CYDLG = 215 }.
5260: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
5270: 20 50 52 4f 50 5f 4c 47 5f 43 58 44 4c 47 20 3d PROP_LG_CXDLG =
5280: 20 32 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 252 }..enum : u
5290: 69 6e 74 20 7b 20 50 52 4f 50 5f 4c 47 5f 43 59 int { PROP_LG_CY
52a0: 44 4c 47 20 3d 20 32 31 38 20 7d 0d 0a 0d 0a 2f DLG = 218 }..../
52b0: 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 52 / #if !defined(R
52c0: 43 5f 49 4e 56 4f 4b 45 44 29 20 2f 2a 20 52 43 C_INVOKED) /* RC
52d0: 20 63 6f 6d 70 6c 61 69 6e 73 20 61 62 6f 75 74 complains about
52e0: 20 6c 6f 6e 67 20 73 79 6d 62 6f 6c 73 20 69 6e long symbols in
52f0: 20 23 69 66 73 20 2a 2f 0d 0a 2f 2f 20 23 69 66 #ifs */..// #if
5300: 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45 ISOLATION_AWARE
5310: 5f 45 4e 41 42 4c 45 44 0d 0a 0d 0a 2f 2f 20 23 _ENABLED....// #
5320: 69 66 20 21 64 65 66 69 6e 65 64 28 49 53 4f 4c if !defined(ISOL
5330: 41 54 49 4f 4e 5f 41 57 41 52 45 5f 49 4e 4c 49 ATION_AWARE_INLI
5340: 4e 45 29 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 NE)..// #if defi
5350: 6e 65 64 28 5f 5f 63 70 6c 75 73 70 6c 75 73 29 ned(__cplusplus)
5360: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
5370: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
5380: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 #endif..// #end
5390: 69 66 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a if....// .......
53a0: 2f 2f 20 23 69 66 6e 64 65 66 20 43 43 53 49 5a // #ifndef CCSIZ
53b0: 45 4f 46 5f 53 54 52 55 43 54 0d 0a 2f 2f 20 23 EOF_STRUCT..// #
53c0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
53d0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 ..// .......// #
53e0: 69 66 20 64 65 66 69 6e 65 64 28 55 4e 49 43 4f if defined(UNICO
53f0: 44 45 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a DE)....// #.....
5400: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 // #.......// #e
5410: 6c 73 65 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a lse /* UNICODE *
5420: 2f 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f /....// #.....//
5430: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 #.......// #end
5440: 69 66 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a 2f if /* UNICODE */
5450: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
5460: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
5470: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
5480: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
5490: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
54a0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
54b0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d .......// #....
54c0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
54d0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
54e0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 .......// #endif
54f0: 20 2f 2a 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 /* ISOLATION_AW
5500: 41 52 45 5f 45 4e 41 42 4c 45 44 20 2a 2f 0d 0a ARE_ENABLED */..
5510: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 52 43 20 // #endif /* RC
5520: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 */....// #ifdef
5530: 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 __cplusplus..//
5540: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a }..// #endif....
5550: 61 6c 69 67 6e 3a 0d 0a 0d 0a 2f 2f 20 23 65 6e align:....// #en
5560: 64 69 66 20 20 2f 2f 20 5f 50 52 53 48 54 5f 48 dif // _PRSHT_H
5570: 5f 0d 0a 0d 0a 2f 2f 20 2d 2d 2d 2d 0d 0a 0d 0a _....// ----....
5580: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 49 4e 43 5f // #ifndef _INC_
5590: 43 4f 4d 4d 43 54 52 4c 0d 0a 2f 2f 20 23 64 65 COMMCTRL..// #de
55a0: 66 69 6e 65 20 5f 49 4e 43 5f 43 4f 4d 4d 43 54 fine _INC_COMMCT
55b0: 52 4c 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 RL....// #ifndef
55c0: 20 5f 57 49 4e 52 45 53 52 43 5f 0d 0a 2f 2f 20 _WINRESRC_..//
55d0: 23 69 66 6e 64 65 66 20 5f 57 49 4e 33 32 5f 49 #ifndef _WIN32_I
55e0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 E..// #.....// #
55f0: 65 6c 73 65 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 else..// #if (_W
5600: 49 4e 33 32 5f 49 45 20 3c 20 30 78 30 34 30 30 IN32_IE < 0x0400
5610: 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 57 49 ) && defined(_WI
5620: 4e 33 32 5f 57 49 4e 4e 54 29 20 26 26 20 28 5f N32_WINNT) && (_
5630: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
5640: 78 30 35 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d x0500)..// #....
5650: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 .// #endif..// #
5660: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 endif..// #endif
5670: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f ....// #ifndef _
5680: 48 52 45 53 55 4c 54 5f 44 45 46 49 4e 45 44 0d HRESULT_DEFINED.
5690: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 48 52 45 .// #define _HRE
56a0: 53 55 4c 54 5f 44 45 46 49 4e 45 44 0d 0a 61 6c SULT_DEFINED..al
56b0: 69 61 73 20 4c 4f 4e 47 20 48 52 45 53 55 4c 54 ias LONG HRESULT
56c0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 ;..// #endif //
56d0: 5f 48 52 45 53 55 4c 54 5f 44 45 46 49 4e 45 44 _HRESULT_DEFINED
56e0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e ....// #ifndef N
56f0: 4f 55 53 45 52 0d 0a 0d 0a 2f 2f 20 23 69 66 6e OUSER....// #ifn
5700: 64 65 66 20 57 49 4e 43 4f 4d 4d 43 54 52 4c 41 def WINCOMMCTRLA
5710: 50 49 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 PI..// #if !defi
5720: 6e 65 64 28 5f 43 4f 4d 43 54 4c 33 32 5f 29 20 ned(_COMCTL32_)
5730: 26 26 20 64 65 66 69 6e 65 64 28 5f 57 49 4e 33 && defined(_WIN3
5740: 32 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57 2)..// #define W
5750: 49 4e 43 4f 4d 4d 43 54 52 4c 41 50 49 20 44 45 INCOMMCTRLAPI DE
5760: 43 4c 53 50 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f CLSPEC_IMPORT../
5770: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
5780: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 ..// #endif..//
5790: 23 65 6e 64 69 66 20 2f 2f 20 57 49 4e 43 4f 4d #endif // WINCOM
57a0: 4d 43 54 52 4c 41 50 49 0d 0a 0d 0a 2f 2f 20 23 MCTRLAPI....// #
57b0: 69 66 6e 64 65 66 20 44 55 4d 4d 59 55 4e 49 4f ifndef DUMMYUNIO
57c0: 4e 4e 41 4d 45 0d 0a 2f 2f 20 23 69 66 64 65 66 NNAME..// #ifdef
57d0: 20 4e 4f 4e 41 4d 45 4c 45 53 53 55 4e 49 4f 4e NONAMELESSUNION
57e0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
57f0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
5800: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
5810: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 / #else..// #def
5820: 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 ine DUMMYUNIONNA
5830: 4d 45 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 ME..// #define D
5840: 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 32 0d 0a UMMYUNIONNAME2..
5850: 2f 2f 20 23 64 65 66 69 6e 65 20 44 55 4d 4d 59 // #define DUMMY
5860: 55 4e 49 4f 4e 4e 41 4d 45 33 0d 0a 2f 2f 20 23 UNIONNAME3..// #
5870: 64 65 66 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f define DUMMYUNIO
5880: 4e 4e 41 4d 45 34 0d 0a 2f 2f 20 23 64 65 66 69 NNAME4..// #defi
5890: 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d ne DUMMYUNIONNAM
58a0: 45 35 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f E5..// #endif../
58b0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 44 55 4d 4d / #endif // DUMM
58c0: 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a 0d 0a 2f 2f YUNIONNAME....//
58d0: 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 #ifdef __cplusp
58e0: 6c 75 73 0d 0a 2f 2f 20 65 78 74 65 72 6e 20 22 lus..// extern "
58f0: 43 22 20 7b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d C" {..// #endif.
5900: 0a 0d 0a 2f 2f 20 23 69 6e 63 6c 75 64 65 20 3c ...// #include <
5910: 70 72 73 68 74 2e 68 3e 0d 0a 0d 0a 2f 2f 20 23 prsht.h>....// #
5920: 69 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a 2f ifndef SNDMSG../
5930: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 / #ifdef __cplus
5940: 70 6c 75 73 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 plus..// #ifndef
5950: 20 5f 4d 41 43 0d 0a 2f 2f 20 23 64 65 66 69 6e _MAC..// #defin
5960: 65 20 53 4e 44 4d 53 47 20 3a 3a 53 65 6e 64 4d e SNDMSG ::SendM
5970: 65 73 73 61 67 65 0d 0a 2f 2f 20 23 65 6c 73 65 essage..// #else
5980: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
5990: 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a ndif..// #else..
59a0: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d // #ifndef _MAC.
59b0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c .// #.....// #el
59c0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
59d0: 23 65 6e 64 69 66 20 2f 2f 5f 4d 41 43 0d 0a 2f #endif //_MAC../
59e0: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e / #endif..// #en
59f0: 64 69 66 20 2f 2f 20 69 66 6e 64 65 66 20 53 4e dif // ifndef SN
5a00: 44 4d 53 47 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 DMSG....// #ifde
5a10: 66 20 5f 4d 41 43 0d 0a 2f 2f 20 23 69 66 6e 64 f _MAC..// #ifnd
5a20: 65 66 20 52 43 5f 49 4e 56 4f 4b 45 44 0d 0a 2f ef RC_INVOKED../
5a30: 2f 20 23 69 66 6e 64 65 66 20 5f 57 4c 4d 5f 4e / #ifndef _WLM_N
5a40: 4f 46 4f 52 43 45 5f 4c 49 42 53 0d 0a 0d 0a 2f OFORCE_LIBS..../
5a50: 2f 20 23 69 66 6e 64 65 66 20 5f 57 4c 4d 44 4c / #ifndef _WLMDL
5a60: 4c 0d 0a 2f 2f 20 20 20 20 20 23 69 66 64 65 66 L..// #ifdef
5a70: 20 5f 44 45 42 55 47 0d 0a 2f 2f 20 23 2e 2e 2e _DEBUG..// #...
5a80: 0d 0a 2f 2f 20 20 20 20 20 23 65 6c 73 65 0d 0a ..// #else..
5a90: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20 20 20 20 // #.....//
5aa0: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 2e 2e 2e 0d #endif..// #....
5ab0: 0a 2f 2f 20 20 20 20 20 23 65 6c 73 65 0d 0a 2f .// #else../
5ac0: 2f 20 20 20 20 20 23 69 66 64 65 66 20 5f 44 45 / #ifdef _DE
5ad0: 42 55 47 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f BUG..// #.....//
5ae0: 20 20 20 20 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 #else..// #
5af0: 2e 2e 2e 0d 0a 2f 2f 20 20 20 20 20 23 65 6e 64 .....// #end
5b00: 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f if..// #endif //
5b10: 20 5f 57 4c 4d 44 4c 4c 0d 0a 0d 0a 2f 2f 20 23 _WLMDLL....// #
5b20: 65 6e 64 69 66 20 2f 2f 20 5f 57 4c 4d 5f 4e 4f endif // _WLM_NO
5b30: 46 4f 52 43 45 5f 4c 49 42 53 0d 0a 2f 2f 20 23 FORCE_LIBS..// #
5b40: 65 6e 64 69 66 20 2f 2f 20 52 43 5f 49 4e 56 4f endif // RC_INVO
5b50: 4b 45 44 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f KED..// #endif /
5b60: 2f 5f 4d 41 43 0d 0a 0d 0a 65 78 74 65 72 6e 28 /_MAC....extern(
5b70: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
5b80: 76 6f 69 64 20 49 6e 69 74 43 6f 6d 6d 6f 6e 43 void InitCommonC
5b90: 6f 6e 74 72 6f 6c 73 28 29 3b 0d 0a 0d 0a 2f 2f ontrols();....//
5ba0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
5bb0: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 73 74 72 75 >= 0x0300)..stru
5bc0: 63 74 20 74 61 67 49 4e 49 54 43 4f 4d 4d 4f 4e ct tagINITCOMMON
5bd0: 43 4f 4e 54 52 4f 4c 53 45 58 20 7b 0d 0a 20 20 CONTROLSEX {..
5be0: 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a 20 DWORD dwSize;..
5bf0: 20 44 57 4f 52 44 20 64 77 49 43 43 3b 0d 0a 7d DWORD dwICC;..}
5c00: 0d 0a 61 6c 69 61 73 20 74 61 67 49 4e 49 54 43 ..alias tagINITC
5c10: 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f 4c 53 45 58 20 OMMONCONTROLSEX
5c20: 49 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f INITCOMMONCONTRO
5c30: 4c 53 45 58 3b 0d 0a 61 6c 69 61 73 20 74 61 67 LSEX;..alias tag
5c40: 49 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f INITCOMMONCONTRO
5c50: 4c 53 45 58 2a 20 4c 50 49 4e 49 54 43 4f 4d 4d LSEX* LPINITCOMM
5c60: 4f 4e 43 4f 4e 54 52 4f 4c 53 45 58 3b 0d 0a 0d ONCONTROLSEX;...
5c70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
5c80: 43 43 5f 4c 49 53 54 56 49 45 57 5f 43 4c 41 53 CC_LISTVIEW_CLAS
5c90: 53 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 31 SES = 0x00000001
5ca0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
5cb0: 7b 20 49 43 43 5f 54 52 45 45 56 49 45 57 5f 43 { ICC_TREEVIEW_C
5cc0: 4c 41 53 53 45 53 20 3d 20 30 78 30 30 30 30 30 LASSES = 0x00000
5cd0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 002 }..enum : ui
5ce0: 6e 74 20 7b 20 49 43 43 5f 42 41 52 5f 43 4c 41 nt { ICC_BAR_CLA
5cf0: 53 53 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 SSES = 0x0000000
5d00: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 4 }..enum : uint
5d10: 20 7b 20 49 43 43 5f 54 41 42 5f 43 4c 41 53 53 { ICC_TAB_CLASS
5d20: 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 ES = 0x00000008
5d30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
5d40: 20 49 43 43 5f 55 50 44 4f 57 4e 5f 43 4c 41 53 ICC_UPDOWN_CLAS
5d50: 53 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d S = 0x00000010 }
5d60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5d70: 49 43 43 5f 50 52 4f 47 52 45 53 53 5f 43 4c 41 ICC_PROGRESS_CLA
5d80: 53 53 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 SS = 0x00000020
5d90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
5da0: 20 49 43 43 5f 48 4f 54 4b 45 59 5f 43 4c 41 53 ICC_HOTKEY_CLAS
5db0: 53 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d S = 0x00000040 }
5dc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5dd0: 49 43 43 5f 41 4e 49 4d 41 54 45 5f 43 4c 41 53 ICC_ANIMATE_CLAS
5de0: 53 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d S = 0x00000080 }
5df0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5e00: 49 43 43 5f 57 49 4e 39 35 5f 43 4c 41 53 53 45 ICC_WIN95_CLASSE
5e10: 53 20 3d 20 30 78 30 30 30 30 30 30 46 46 20 7d S = 0x000000FF }
5e20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5e30: 49 43 43 5f 44 41 54 45 5f 43 4c 41 53 53 45 53 ICC_DATE_CLASSES
5e40: 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d = 0x00000100 }.
5e50: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
5e60: 43 43 5f 55 53 45 52 45 58 5f 43 4c 41 53 53 45 CC_USEREX_CLASSE
5e70: 53 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d S = 0x00000200 }
5e80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5e90: 49 43 43 5f 43 4f 4f 4c 5f 43 4c 41 53 53 45 53 ICC_COOL_CLASSES
5ea0: 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d = 0x00000400 }.
5eb0: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
5ec0: 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 IE >= 0x0400)..e
5ed0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 num : uint { ICC
5ee0: 5f 49 4e 54 45 52 4e 45 54 5f 43 4c 41 53 53 45 _INTERNET_CLASSE
5ef0: 53 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d S = 0x00000800 }
5f00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5f10: 49 43 43 5f 50 41 47 45 53 43 52 4f 4c 4c 45 52 ICC_PAGESCROLLER
5f20: 5f 43 4c 41 53 53 20 3d 20 30 78 30 30 30 30 31 _CLASS = 0x00001
5f30: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 000 }..enum : ui
5f40: 6e 74 20 7b 20 49 43 43 5f 4e 41 54 49 56 45 46 nt { ICC_NATIVEF
5f50: 4e 54 43 54 4c 5f 43 4c 41 53 53 20 3d 20 30 78 NTCTL_CLASS = 0x
5f60: 30 30 30 30 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 00002000 }..// #
5f70: 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f endif..// #if (_
5f80: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
5f90: 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 x501)..enum : ui
5fa0: 6e 74 20 7b 20 49 43 43 5f 53 54 41 4e 44 41 52 nt { ICC_STANDAR
5fb0: 44 5f 43 4c 41 53 53 45 53 20 3d 20 30 78 30 30 D_CLASSES = 0x00
5fc0: 30 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 004000 }..enum :
5fd0: 20 75 69 6e 74 20 7b 20 49 43 43 5f 4c 49 4e 4b uint { ICC_LINK
5fe0: 5f 43 4c 41 53 53 20 3d 20 30 78 30 30 30 30 38 _CLASS = 0x00008
5ff0: 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 000 }..// #endif
6000: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f ....extern(Windo
6010: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 ws) export BOOL
6020: 49 6e 69 74 43 6f 6d 6d 6f 6e 43 6f 6e 74 72 6f InitCommonContro
6030: 6c 73 45 78 28 4c 50 49 4e 49 54 43 4f 4d 4d 4f lsEx(LPINITCOMMO
6040: 4e 43 4f 4e 54 52 4f 4c 53 45 58 29 3b 0d 0a 2f NCONTROLSEX);../
6050: 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f / #endif //
6060: 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 _WIN32_IE >= 0x
6070: 30 33 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 0300....enum : u
6080: 69 6e 74 20 7b 20 4f 44 54 5f 48 45 41 44 45 52 int { ODT_HEADER
6090: 20 3d 20 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a = 100 }..enum :
60a0: 20 75 69 6e 74 20 7b 20 4f 44 54 5f 54 41 42 20 uint { ODT_TAB
60b0: 3d 20 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 = 101 }..enum :
60c0: 75 69 6e 74 20 7b 20 4f 44 54 5f 4c 49 53 54 56 uint { ODT_LISTV
60d0: 49 45 57 20 3d 20 31 30 32 20 7d 0d 0a 0d 0a 65 IEW = 102 }....e
60e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
60f0: 5f 46 49 52 53 54 20 3d 20 30 78 31 30 30 30 20 _FIRST = 0x1000
6100: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
6110: 20 54 56 5f 46 49 52 53 54 20 3d 20 30 78 31 31 TV_FIRST = 0x11
6120: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
6130: 74 20 7b 20 48 44 4d 5f 46 49 52 53 54 20 3d 20 t { HDM_FIRST =
6140: 30 78 31 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x1200 }..enum :
6150: 20 75 69 6e 74 20 7b 20 54 43 4d 5f 46 49 52 53 uint { TCM_FIRS
6160: 54 20 3d 20 30 78 31 33 30 30 20 7d 0d 0a 0d 0a T = 0x1300 }....
6170: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
6180: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e E >= 0x0400)..en
6190: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d 5f um : uint { PGM_
61a0: 46 49 52 53 54 20 3d 20 30 78 31 34 30 30 20 7d FIRST = 0x1400 }
61b0: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
61c0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 _WINNT >= 0x501)
61d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
61e0: 45 43 4d 5f 46 49 52 53 54 20 3d 20 30 78 31 35 ECM_FIRST = 0x15
61f0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
6200: 74 20 7b 20 42 43 4d 5f 46 49 52 53 54 20 3d 20 t { BCM_FIRST =
6210: 30 78 31 36 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x1600 }..enum :
6220: 20 75 69 6e 74 20 7b 20 43 42 4d 5f 46 49 52 53 uint { CBM_FIRS
6230: 54 20 3d 20 30 78 31 37 30 30 20 7d 0d 0a 2f 2f T = 0x1700 }..//
6240: 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 #endif..enum :
6250: 75 69 6e 74 20 7b 20 43 43 4d 5f 46 49 52 53 54 uint { CCM_FIRST
6260: 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 = 0x2000 }..enu
6270: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 4c m : uint { CCM_L
6280: 41 53 54 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 AST = CCM_FIRST
6290: 2b 20 30 78 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75 + 0x200 }....enu
62a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 53 m : uint { CCM_S
62b0: 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 43 43 4d 5f ETBKCOLOR = CCM_
62c0: 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 0d 0a 73 FIRST + 1 }....s
62d0: 74 72 75 63 74 20 74 61 67 43 4f 4c 4f 52 53 43 truct tagCOLORSC
62e0: 48 45 4d 45 20 7b 0d 0a 20 20 44 57 4f 52 44 20 HEME {.. DWORD
62f0: 64 77 53 69 7a 65 3b 0d 0a 20 20 43 4f 4c 4f 52 dwSize;.. COLOR
6300: 52 45 46 20 63 6c 72 42 74 6e 48 69 67 68 6c 69 REF clrBtnHighli
6310: 67 68 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 ght;.. COLORREF
6320: 20 63 6c 72 42 74 6e 53 68 61 64 6f 77 3b 0d 0a clrBtnShadow;..
6330: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 4c 4f }..alias tagCOLO
6340: 52 53 43 48 45 4d 45 20 43 4f 4c 4f 52 53 43 48 RSCHEME COLORSCH
6350: 45 4d 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43 EME;..alias tagC
6360: 4f 4c 4f 52 53 43 48 45 4d 45 2a 20 4c 50 43 4f OLORSCHEME* LPCO
6370: 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a 0d 0a 65 6e LORSCHEME;....en
6380: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f um : uint { CCM_
6390: 53 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45 20 3d SETCOLORSCHEME =
63a0: 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d CCM_FIRST + 2 }
63b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
63c0: 43 43 4d 5f 47 45 54 43 4f 4c 4f 52 53 43 48 45 CCM_GETCOLORSCHE
63d0: 4d 45 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b ME = CCM_FIRST +
63e0: 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 3 }..enum : uin
63f0: 74 20 7b 20 43 43 4d 5f 47 45 54 44 52 4f 50 54 t { CCM_GETDROPT
6400: 41 52 47 45 54 20 3d 20 43 43 4d 5f 46 49 52 53 ARGET = CCM_FIRS
6410: 54 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 T + 4 }..enum :
6420: 75 69 6e 74 20 7b 20 43 43 4d 5f 53 45 54 55 4e uint { CCM_SETUN
6430: 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20 43 43 ICODEFORMAT = CC
6440: 4d 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 65 M_FIRST + 5 }..e
6450: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d num : uint { CCM
6460: 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 _GETUNICODEFORMA
6470: 54 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 T = CCM_FIRST +
6480: 36 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 6 }....// #if (_
6490: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 WIN32_IE >= 0x05
64a0: 30 30 29 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 00)..// #if (_WI
64b0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 N32_WINNT >= 0x5
64c0: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 01)..enum : uint
64d0: 20 7b 20 43 4f 4d 43 54 4c 33 32 5f 56 45 52 53 { COMCTL32_VERS
64e0: 49 4f 4e 20 3d 20 36 20 7d 0d 0a 2f 2f 20 23 65 ION = 6 }..// #e
64f0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
6500: 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 #endif....enum
6510: 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 53 45 54 : uint { CCM_SET
6520: 56 45 52 53 49 4f 4e 20 3d 20 43 43 4d 5f 46 49 VERSION = CCM_FI
6530: 52 53 54 20 2b 20 30 78 37 20 7d 0d 0a 65 6e 75 RST + 0x7 }..enu
6540: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 47 m : uint { CCM_G
6550: 45 54 56 45 52 53 49 4f 4e 20 3d 20 43 43 4d 5f ETVERSION = CCM_
6560: 46 49 52 53 54 20 2b 20 30 78 38 20 7d 0d 0a 65 FIRST + 0x8 }..e
6570: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d num : uint { CCM
6580: 5f 53 45 54 4e 4f 54 49 46 59 57 49 4e 44 4f 57 _SETNOTIFYWINDOW
6590: 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 30 = CCM_FIRST + 0
65a0: 78 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 x9 }..// #if (_W
65b0: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 IN32_WINNT >= 0x
65c0: 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 501)..enum : uin
65d0: 74 20 7b 20 43 43 4d 5f 53 45 54 57 49 4e 44 4f t { CCM_SETWINDO
65e0: 57 54 48 45 4d 45 20 3d 20 43 43 4d 5f 46 49 52 WTHEME = CCM_FIR
65f0: 53 54 20 2b 20 30 78 62 20 7d 0d 0a 65 6e 75 6d ST + 0xb }..enum
6600: 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 44 50 : uint { CCM_DP
6610: 49 53 43 41 4c 45 20 3d 20 43 43 4d 5f 46 49 52 ISCALE = CCM_FIR
6620: 53 54 20 2b 20 30 78 63 20 7d 0d 0a 2f 2f 20 23 ST + 0xc }..// #
6630: 65 6e 64 69 66 20 0d 0a 2f 2f 20 23 65 6e 64 69 endif ..// #endi
6640: 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 49 45 20 f // (_WIN32_IE
6650: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 2f 2f >= 0x0500)....//
6660: 20 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e #endif // (_WIN
6670: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 32_IE >= 0x0400)
6680: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e ....// #if (_WIN
6690: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 32_IE >= 0x0400)
66a0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
66b0: 7b 20 49 4e 46 4f 54 49 50 53 49 5a 45 20 3d 20 { INFOTIPSIZE =
66c0: 31 30 32 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 1024 }..// #endi
66d0: 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 f....// #define
66e0: 48 41 4e 44 4c 45 5f 57 4d 5f 4e 4f 54 49 46 59 HANDLE_WM_NOTIFY
66f0: 28 68 77 6e 64 2c 20 77 50 61 72 61 6d 2c 20 6c (hwnd, wParam, l
6700: 50 61 72 61 6d 2c 20 66 6e 29 20 28 66 6e 29 28 Param, fn) (fn)(
6710: 28 68 77 6e 64 29 2c 20 28 69 6e 74 29 28 77 50 (hwnd), (int)(wP
6720: 61 72 61 6d 29 2c 20 28 4e 4d 48 44 52 20 2a 29 aram), (NMHDR *)
6730: 28 6c 50 61 72 61 6d 29 29 0d 0a 2f 2f 20 23 64 (lParam))..// #d
6740: 65 66 69 6e 65 20 46 4f 52 57 41 52 44 5f 57 4d efine FORWARD_WM
6750: 5f 4e 4f 54 49 46 59 28 68 77 6e 64 2c 20 69 64 _NOTIFY(hwnd, id
6760: 46 72 6f 6d 2c 20 70 6e 6d 68 64 72 2c 20 66 6e From, pnmhdr, fn
6770: 29 20 28 4c 52 45 53 55 4c 54 29 28 66 6e 29 28 ) (LRESULT)(fn)(
6780: 28 68 77 6e 64 29 2c 20 57 4d 5f 4e 4f 54 49 46 (hwnd), WM_NOTIF
6790: 59 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 Y, (WPARAM)(int)
67a0: 28 69 64 46 72 6f 6d 29 2c 20 28 4c 50 41 52 41 (idFrom), (LPARA
67b0: 4d 29 28 4e 4d 48 44 52 20 2a 29 28 70 6e 6d 68 M)(NMHDR *)(pnmh
67c0: 64 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 dr))....enum : u
67d0: 69 6e 74 20 7b 20 4e 4d 5f 4f 55 54 4f 46 4d 45 int { NM_OUTOFME
67e0: 4d 4f 52 59 20 3d 20 4e 4d 5f 46 49 52 53 54 2d MORY = NM_FIRST-
67f0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
6800: 20 7b 20 4e 4d 5f 43 4c 49 43 4b 20 3d 20 4e 4d { NM_CLICK = NM
6810: 5f 46 49 52 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d _FIRST-2 }..enum
6820: 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 44 42 4c : uint { NM_DBL
6830: 43 4c 4b 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 33 CLK = NM_FIRST-3
6840: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
6850: 7b 20 4e 4d 5f 52 45 54 55 52 4e 20 3d 20 4e 4d { NM_RETURN = NM
6860: 5f 46 49 52 53 54 2d 34 20 7d 0d 0a 65 6e 75 6d _FIRST-4 }..enum
6870: 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 52 43 4c : uint { NM_RCL
6880: 49 43 4b 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 35 ICK = NM_FIRST-5
6890: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
68a0: 7b 20 4e 4d 5f 52 44 42 4c 43 4c 4b 20 3d 20 4e { NM_RDBLCLK = N
68b0: 4d 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75 M_FIRST-6 }..enu
68c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 53 45 m : uint { NM_SE
68d0: 54 46 4f 43 55 53 20 3d 20 4e 4d 5f 46 49 52 53 TFOCUS = NM_FIRS
68e0: 54 2d 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 T-7 }..enum : ui
68f0: 6e 74 20 7b 20 4e 4d 5f 4b 49 4c 4c 46 4f 43 55 nt { NM_KILLFOCU
6900: 53 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 38 20 7d S = NM_FIRST-8 }
6910: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
6920: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
6930: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d enum : uint { NM
6940: 5f 43 55 53 54 4f 4d 44 52 41 57 20 3d 20 4e 4d _CUSTOMDRAW = NM
6950: 5f 46 49 52 53 54 2d 31 32 20 7d 0d 0a 65 6e 75 _FIRST-12 }..enu
6960: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 48 4f m : uint { NM_HO
6970: 56 45 52 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 VER = NM_FIRST-1
6980: 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 3 }..// #endif..
6990: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
69a0: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e E >= 0x0400)..en
69b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 4e um : uint { NM_N
69c0: 43 48 49 54 54 45 53 54 20 3d 20 4e 4d 5f 46 49 CHITTEST = NM_FI
69d0: 52 53 54 2d 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a RST-14 }..enum :
69e0: 20 75 69 6e 74 20 7b 20 4e 4d 5f 4b 45 59 44 4f uint { NM_KEYDO
69f0: 57 4e 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 35 WN = NM_FIRST-15
6a00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
6a10: 7b 20 4e 4d 5f 52 45 4c 45 41 53 45 44 43 41 50 { NM_RELEASEDCAP
6a20: 54 55 52 45 20 3d 20 4e 4d 5f 46 49 52 53 54 2d TURE = NM_FIRST-
6a30: 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 16 }..enum : uin
6a40: 74 20 7b 20 4e 4d 5f 53 45 54 43 55 52 53 4f 52 t { NM_SETCURSOR
6a50: 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 37 20 7d = NM_FIRST-17 }
6a60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
6a70: 4e 4d 5f 43 48 41 52 20 3d 20 4e 4d 5f 46 49 52 NM_CHAR = NM_FIR
6a80: 53 54 2d 31 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 ST-18 }..// #end
6a90: 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e if..// #if (_WIN
6aa0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 31 29 32_IE >= 0x0401)
6ab0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
6ac0: 4e 4d 5f 54 4f 4f 4c 54 49 50 53 43 52 45 41 54 NM_TOOLTIPSCREAT
6ad0: 45 44 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 39 ED = NM_FIRST-19
6ae0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f }..// #endif../
6af0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
6b00: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 >= 0x0500)..enu
6b10: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 4c 44 m : uint { NM_LD
6b20: 4f 57 4e 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 32 OWN = NM_FIRST-2
6b30: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
6b40: 20 7b 20 4e 4d 5f 52 44 4f 57 4e 20 3d 20 4e 4d { NM_RDOWN = NM
6b50: 5f 46 49 52 53 54 2d 32 31 20 7d 0d 0a 65 6e 75 _FIRST-21 }..enu
6b60: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 54 48 m : uint { NM_TH
6b70: 45 4d 45 43 48 41 4e 47 45 44 20 3d 20 4e 4d 5f EMECHANGED = NM_
6b80: 46 49 52 53 54 2d 32 32 20 7d 0d 0a 2f 2f 20 23 FIRST-22 }..// #
6b90: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e endif....// #ifn
6ba0: 64 65 66 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 def CCSIZEOF_STR
6bb0: 55 43 54 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 UCT..// #define
6bc0: 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 CCSIZEOF_STRUCT(
6bd0: 73 74 72 75 63 74 6e 61 6d 65 2c 20 6d 65 6d 62 structname, memb
6be0: 65 72 29 20 28 28 28 69 6e 74 29 28 28 4c 50 42 er) (((int)((LPB
6bf0: 59 54 45 29 28 26 28 28 73 74 72 75 63 74 6e 61 YTE)(&((structna
6c00: 6d 65 2a 29 30 29 2d 3e 6d 65 6d 62 65 72 29 20 me*)0)->member)
6c10: 2d 20 28 28 4c 50 42 59 54 45 29 28 28 73 74 72 - ((LPBYTE)((str
6c20: 75 63 74 6e 61 6d 65 2a 29 30 29 29 29 29 20 2b uctname*)0)))) +
6c30: 20 73 69 7a 65 6f 66 28 28 28 73 74 72 75 63 74 sizeof(((struct
6c40: 6e 61 6d 65 2a 29 30 29 2d 3e 6d 65 6d 62 65 72 name*)0)->member
6c50: 29 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ))..// #endif...
6c60: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
6c70: 49 45 20 3e 3d 20 30 78 30 34 30 31 29 0d 0a 73 IE >= 0x0401)..s
6c80: 74 72 75 63 74 20 74 61 67 4e 4d 54 4f 4f 4c 54 truct tagNMTOOLT
6c90: 49 50 53 43 52 45 41 54 45 44 20 7b 0d 0a 20 20 IPSCREATED {..
6ca0: 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 48 57 NMHDR hdr;.. HW
6cb0: 4e 44 20 68 77 6e 64 54 6f 6f 6c 54 69 70 73 3b ND hwndToolTips;
6cc0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d ..}..alias tagNM
6cd0: 54 4f 4f 4c 54 49 50 53 43 52 45 41 54 45 44 20 TOOLTIPSCREATED
6ce0: 4e 4d 54 4f 4f 4c 54 49 50 53 43 52 45 41 54 45 NMTOOLTIPSCREATE
6cf0: 44 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 D;..alias tagNMT
6d00: 4f 4f 4c 54 49 50 53 43 52 45 41 54 45 44 2a 20 OOLTIPSCREATED*
6d10: 4c 50 4e 4d 54 4f 4f 4c 54 49 50 53 43 52 45 41 LPNMTOOLTIPSCREA
6d20: 54 45 44 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 TED;....// #endi
6d30: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 f....// #if (_WI
6d40: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
6d50: 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4d )..struct tagNMM
6d60: 4f 55 53 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 OUSE {.. NMHDR
6d70: 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 hdr;.. DWORD_PT
6d80: 52 20 64 77 49 74 65 6d 53 70 65 63 3b 0d 0a 20 R dwItemSpec;..
6d90: 20 44 57 4f 52 44 5f 50 54 52 20 64 77 49 74 65 DWORD_PTR dwIte
6da0: 6d 44 61 74 61 3b 0d 0a 20 20 50 4f 49 4e 54 20 mData;.. POINT
6db0: 70 74 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77 pt;.. LPARAM dw
6dc0: 48 69 74 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69 HitInfo;..}..ali
6dd0: 61 73 20 74 61 67 4e 4d 4d 4f 55 53 45 20 4e 4d as tagNMMOUSE NM
6de0: 4d 4f 55 53 45 3b 0d 0a 61 6c 69 61 73 20 74 61 MOUSE;..alias ta
6df0: 67 4e 4d 4d 4f 55 53 45 2a 20 4c 50 4e 4d 4d 4f gNMMOUSE* LPNMMO
6e00: 55 53 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4e 4d USE;....alias NM
6e10: 4d 4f 55 53 45 20 4e 4d 43 4c 49 43 4b 3b 0d 0a MOUSE NMCLICK;..
6e20: 61 6c 69 61 73 20 4c 50 4e 4d 4d 4f 55 53 45 20 alias LPNMMOUSE
6e30: 4c 50 4e 4d 43 4c 49 43 4b 3b 0d 0a 0d 0a 73 74 LPNMCLICK;....st
6e40: 72 75 63 74 20 74 61 67 4e 4d 4f 42 4a 45 43 54 ruct tagNMOBJECT
6e50: 4e 4f 54 49 46 59 20 7b 0d 0a 20 20 4e 4d 48 44 NOTIFY {.. NMHD
6e60: 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 R hdr;.. int iI
6e70: 74 65 6d 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 tem;..// #ifdef
6e80: 5f 5f 49 49 44 5f 44 45 46 49 4e 45 44 5f 5f 0d __IID_DEFINED__.
6e90: 0a 20 20 49 49 44 2a 20 70 69 69 64 3b 0d 0a 2f . IID* piid;../
6ea0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d / #else..// ....
6eb0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 76 6f .// #endif.. vo
6ec0: 69 64 20 2a 70 4f 62 6a 65 63 74 3b 0d 0a 20 20 id *pObject;..
6ed0: 48 52 45 53 55 4c 54 20 68 52 65 73 75 6c 74 3b HRESULT hResult;
6ee0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 .. DWORD dwFlag
6ef0: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 s;..}..alias tag
6f00: 4e 4d 4f 42 4a 45 43 54 4e 4f 54 49 46 59 20 4e NMOBJECTNOTIFY N
6f10: 4d 4f 42 4a 45 43 54 4e 4f 54 49 46 59 3b 0d 0a MOBJECTNOTIFY;..
6f20: 61 6c 69 61 73 20 74 61 67 4e 4d 4f 42 4a 45 43 alias tagNMOBJEC
6f30: 54 4e 4f 54 49 46 59 2a 20 4c 50 4e 4d 4f 42 4a TNOTIFY* LPNMOBJ
6f40: 45 43 54 4e 4f 54 49 46 59 3b 0d 0a 0d 0a 73 74 ECTNOTIFY;....st
6f50: 72 75 63 74 20 74 61 67 4e 4d 4b 45 59 20 7b 0d ruct tagNMKEY {.
6f60: 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 . NMHDR hdr;..
6f70: 20 55 49 4e 54 20 6e 56 4b 65 79 3b 0d 0a 20 20 UINT nVKey;..
6f80: 55 49 4e 54 20 75 46 6c 61 67 73 3b 0d 0a 7d 0d UINT uFlags;..}.
6f90: 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4b 45 59 20 .alias tagNMKEY
6fa0: 4e 4d 4b 45 59 3b 0d 0a 61 6c 69 61 73 20 74 61 NMKEY;..alias ta
6fb0: 67 4e 4d 4b 45 59 2a 20 4c 50 4e 4d 4b 45 59 3b gNMKEY* LPNMKEY;
6fc0: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d ....struct tagNM
6fd0: 43 48 41 52 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 CHAR {.. NMHDR
6fe0: 68 64 72 3b 0d 0a 20 20 55 49 4e 54 20 63 68 3b hdr;.. UINT ch;
6ff0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 49 74 65 6d .. DWORD dwItem
7000: 50 72 65 76 3b 0d 0a 20 20 44 57 4f 52 44 20 64 Prev;.. DWORD d
7010: 77 49 74 65 6d 4e 65 78 74 3b 0d 0a 7d 0d 0a 61 wItemNext;..}..a
7020: 6c 69 61 73 20 74 61 67 4e 4d 43 48 41 52 20 4e lias tagNMCHAR N
7030: 4d 43 48 41 52 3b 0d 0a 61 6c 69 61 73 20 74 61 MCHAR;..alias ta
7040: 67 4e 4d 43 48 41 52 2a 20 4c 50 4e 4d 43 48 41 gNMCHAR* LPNMCHA
7050: 52 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 R;....// #endif
7060: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 5f 57 49 // _WI
7070: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
7080: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e ....// #define N
7090: 4d 5f 46 49 52 53 54 20 28 30 55 2d 20 30 55 29 M_FIRST (0U- 0U)
70a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
70b0: 4e 4d 5f 4c 41 53 54 20 3d 20 30 55 2d 20 39 39 NM_LAST = 0U- 99
70c0: 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 U }....enum : ui
70d0: 6e 74 20 7b 20 4c 56 4e 5f 46 49 52 53 54 20 3d nt { LVN_FIRST =
70e0: 20 30 55 2d 31 30 30 55 20 7d 0d 0a 65 6e 75 6d 0U-100U }..enum
70f0: 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 4c 41 : uint { LVN_LA
7100: 53 54 20 3d 20 30 55 2d 31 39 39 55 20 7d 0d 0a ST = 0U-199U }..
7110: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
7120: 48 44 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 33 HDN_FIRST = 0U-3
7130: 30 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 00U }..enum : ui
7140: 6e 74 20 7b 20 48 44 4e 5f 4c 41 53 54 20 3d 20 nt { HDN_LAST =
7150: 30 55 2d 33 39 39 55 20 7d 0d 0a 0d 0a 65 6e 75 0U-399U }....enu
7160: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 46 m : uint { TVN_F
7170: 49 52 53 54 20 3d 20 30 55 2d 34 30 30 55 20 7d IRST = 0U-400U }
7180: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
7190: 54 56 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 34 39 TVN_LAST = 0U-49
71a0: 39 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 9U }....enum : u
71b0: 69 6e 74 20 7b 20 54 54 4e 5f 46 49 52 53 54 20 int { TTN_FIRST
71c0: 3d 20 30 55 2d 35 32 30 55 20 7d 0d 0a 65 6e 75 = 0U-520U }..enu
71d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4e 5f 4c m : uint { TTN_L
71e0: 41 53 54 20 3d 20 30 55 2d 35 34 39 55 20 7d 0d AST = 0U-549U }.
71f0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
7200: 20 54 43 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d TCN_FIRST = 0U-
7210: 35 35 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 550U }..enum : u
7220: 69 6e 74 20 7b 20 54 43 4e 5f 4c 41 53 54 20 3d int { TCN_LAST =
7230: 20 30 55 2d 35 38 30 55 20 7d 0d 0a 0d 0a 65 6e 0U-580U }....en
7240: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 4e 5f um : uint { CDN_
7250: 46 49 52 53 54 20 3d 20 30 55 2d 36 30 31 55 20 FIRST = 0U-601U
7260: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
7270: 20 43 44 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 36 CDN_LAST = 0U-6
7280: 39 39 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 99U }....enum :
7290: 75 69 6e 74 20 7b 20 54 42 4e 5f 46 49 52 53 54 uint { TBN_FIRST
72a0: 20 3d 20 30 55 2d 37 30 30 55 20 7d 0d 0a 65 6e = 0U-700U }..en
72b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f um : uint { TBN_
72c0: 4c 41 53 54 20 3d 20 30 55 2d 37 32 30 55 20 7d LAST = 0U-720U }
72d0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
72e0: 7b 20 55 44 4e 5f 46 49 52 53 54 20 3d 20 30 55 { UDN_FIRST = 0U
72f0: 2d 37 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 -721 }..enum : u
7300: 69 6e 74 20 7b 20 55 44 4e 5f 4c 41 53 54 20 3d int { UDN_LAST =
7310: 20 30 55 2d 37 34 30 20 7d 0d 0a 2f 2f 20 23 69 0U-740 }..// #i
7320: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
7330: 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 0x0300)..enum :
7340: 75 69 6e 74 20 7b 20 4d 43 4e 5f 46 49 52 53 54 uint { MCN_FIRST
7350: 20 3d 20 30 55 2d 37 35 30 55 20 7d 0d 0a 65 6e = 0U-750U }..en
7360: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4e 5f um : uint { MCN_
7370: 4c 41 53 54 20 3d 20 30 55 2d 37 35 39 55 20 7d LAST = 0U-759U }
7380: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
7390: 7b 20 44 54 4e 5f 46 49 52 53 54 20 3d 20 30 55 { DTN_FIRST = 0U
73a0: 2d 37 36 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 -760U }..enum :
73b0: 75 69 6e 74 20 7b 20 44 54 4e 5f 4c 41 53 54 20 uint { DTN_LAST
73c0: 3d 20 30 55 2d 37 39 39 55 20 7d 0d 0a 0d 0a 2f = 0U-799U }..../
73d0: 2f 20 23 64 65 66 69 6e 65 20 43 42 45 4e 5f 46 / #define CBEN_F
73e0: 49 52 53 54 20 28 30 55 2d 38 30 30 55 29 0d 0a IRST (0U-800U)..
73f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 enum : uint { CB
7400: 45 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 38 33 30 EN_LAST = 0U-830
7410: 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 U }....enum : ui
7420: 6e 74 20 7b 20 52 42 4e 5f 46 49 52 53 54 20 3d nt { RBN_FIRST =
7430: 20 30 55 2d 38 33 31 55 20 7d 0d 0a 65 6e 75 6d 0U-831U }..enum
7440: 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 4c 41 : uint { RBN_LA
7450: 53 54 20 3d 20 30 55 2d 38 35 39 55 20 7d 0d 0a ST = 0U-859U }..
7460: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
7470: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
7480: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 = 0x0400)..enum
7490: 3a 20 75 69 6e 74 20 7b 20 49 50 4e 5f 46 49 52 : uint { IPN_FIR
74a0: 53 54 20 3d 20 30 55 2d 38 36 30 55 20 7d 0d 0a ST = 0U-860U }..
74b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 enum : uint { IP
74c0: 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 38 37 39 55 N_LAST = 0U-879U
74d0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e }....enum : uin
74e0: 74 20 7b 20 53 42 4e 5f 46 49 52 53 54 20 3d 20 t { SBN_FIRST =
74f0: 30 55 2d 38 38 30 55 20 7d 0d 0a 65 6e 75 6d 20 0U-880U }..enum
7500: 3a 20 75 69 6e 74 20 7b 20 53 42 4e 5f 4c 41 53 : uint { SBN_LAS
7510: 54 20 3d 20 30 55 2d 38 39 39 55 20 7d 0d 0a 0d T = 0U-899U }...
7520: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
7530: 47 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 39 30 GN_FIRST = 0U-90
7540: 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 0U }..enum : uin
7550: 74 20 7b 20 50 47 4e 5f 4c 41 53 54 20 3d 20 30 t { PGN_LAST = 0
7560: 55 2d 39 35 30 55 20 7d 0d 0a 0d 0a 2f 2f 20 23 U-950U }....// #
7570: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 endif....// #if
7580: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
7590: 30 35 30 30 29 0d 0a 2f 2f 20 23 69 66 6e 64 65 0500)..// #ifnde
75a0: 66 20 57 4d 4e 5f 46 49 52 53 54 0d 0a 65 6e 75 f WMN_FIRST..enu
75b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 4e 5f 46 m : uint { WMN_F
75c0: 49 52 53 54 20 3d 20 30 55 2d 31 30 30 30 55 20 IRST = 0U-1000U
75d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
75e0: 20 57 4d 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 31 WMN_LAST = 0U-1
75f0: 32 30 30 55 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 200U }..// #endi
7600: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a f..// #endif....
7610: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 // #if (_WIN32_W
7620: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d INNT >= 0x0501).
7630: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 .enum : uint { B
7640: 43 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 31 32 CN_FIRST = 0U-12
7650: 35 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 50U }..enum : ui
7660: 6e 74 20 7b 20 42 43 4e 5f 4c 41 53 54 20 3d 20 nt { BCN_LAST =
7670: 30 55 2d 31 33 35 30 55 20 7d 0d 0a 2f 2f 20 23 0U-1350U }..// #
7680: 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 endif....enum :
7690: 75 69 6e 74 20 7b 20 4d 53 47 46 5f 43 4f 4d 4d uint { MSGF_COMM
76a0: 43 54 52 4c 5f 42 45 47 49 4e 44 52 41 47 20 3d CTRL_BEGINDRAG =
76b0: 20 30 78 34 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 0x4200 }..enum
76c0: 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f 43 4f : uint { MSGF_CO
76d0: 4d 4d 43 54 52 4c 5f 53 49 5a 45 48 45 41 44 45 MMCTRL_SIZEHEADE
76e0: 52 20 3d 20 30 78 34 32 30 31 20 7d 0d 0a 65 6e R = 0x4201 }..en
76f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 um : uint { MSGF
7700: 5f 43 4f 4d 4d 43 54 52 4c 5f 44 52 41 47 53 45 _COMMCTRL_DRAGSE
7710: 4c 45 43 54 20 3d 20 30 78 34 32 30 32 20 7d 0d LECT = 0x4202 }.
7720: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
7730: 53 47 46 5f 43 4f 4d 4d 43 54 52 4c 5f 54 4f 4f SGF_COMMCTRL_TOO
7740: 4c 42 41 52 43 55 53 54 20 3d 20 30 78 34 32 30 LBARCUST = 0x420
7750: 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 3 }....// #if (_
7760: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 WIN32_IE >= 0x03
7770: 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 00)....enum : ui
7780: 6e 74 20 7b 20 43 44 52 46 5f 44 4f 44 45 46 41 nt { CDRF_DODEFA
7790: 55 4c 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 ULT = 0x00000000
77a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
77b0: 7b 20 43 44 52 46 5f 4e 45 57 46 4f 4e 54 20 3d { CDRF_NEWFONT =
77c0: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 0x00000002 }..e
77d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 52 num : uint { CDR
77e0: 46 5f 53 4b 49 50 44 45 46 41 55 4c 54 20 3d 20 F_SKIPDEFAULT =
77f0: 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 0x00000004 }....
7800: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 enum : uint { CD
7810: 52 46 5f 4e 4f 54 49 46 59 50 4f 53 54 50 41 49 RF_NOTIFYPOSTPAI
7820: 4e 54 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 NT = 0x00000010
7830: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
7840: 20 43 44 52 46 5f 4e 4f 54 49 46 59 49 54 45 4d CDRF_NOTIFYITEM
7850: 44 52 41 57 20 3d 20 30 78 30 30 30 30 30 30 32 DRAW = 0x0000002
7860: 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 0 }..// #if (_WI
7870: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
7880: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
7890: 20 43 44 52 46 5f 4e 4f 54 49 46 59 53 55 42 49 CDRF_NOTIFYSUBI
78a0: 54 45 4d 44 52 41 57 20 3d 20 30 78 30 30 30 30 TEMDRAW = 0x0000
78b0: 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 0020 }..// #endi
78c0: 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b f..enum : uint {
78d0: 20 43 44 52 46 5f 4e 4f 54 49 46 59 50 4f 53 54 CDRF_NOTIFYPOST
78e0: 45 52 41 53 45 20 3d 20 30 78 30 30 30 30 30 30 ERASE = 0x000000
78f0: 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 40 }....enum : u
7900: 69 6e 74 20 7b 20 43 44 44 53 5f 50 52 45 50 41 int { CDDS_PREPA
7910: 49 4e 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 INT = 0x00000001
7920: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
7930: 7b 20 43 44 44 53 5f 50 4f 53 54 50 41 49 4e 54 { CDDS_POSTPAINT
7940: 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d = 0x00000002 }.
7950: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
7960: 44 44 53 5f 50 52 45 45 52 41 53 45 20 3d 20 30 DDS_PREERASE = 0
7970: 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65 6e 75 x00000003 }..enu
7980: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f m : uint { CDDS_
7990: 50 4f 53 54 45 52 41 53 45 20 3d 20 30 78 30 30 POSTERASE = 0x00
79a0: 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 000004 }....enum
79b0: 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f 49 : uint { CDDS_I
79c0: 54 45 4d 20 3d 20 30 78 30 30 30 31 30 30 30 30 TEM = 0x00010000
79d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
79e0: 7b 20 43 44 44 53 5f 49 54 45 4d 50 52 45 50 41 { CDDS_ITEMPREPA
79f0: 49 4e 54 20 3d 20 43 44 44 53 5f 49 54 45 4d 20 INT = CDDS_ITEM
7a00: 7c 20 43 44 44 53 5f 50 52 45 50 41 49 4e 54 20 | CDDS_PREPAINT
7a10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
7a20: 20 43 44 44 53 5f 49 54 45 4d 50 4f 53 54 50 41 CDDS_ITEMPOSTPA
7a30: 49 4e 54 20 3d 20 43 44 44 53 5f 49 54 45 4d 20 INT = CDDS_ITEM
7a40: 7c 20 43 44 44 53 5f 50 4f 53 54 50 41 49 4e 54 | CDDS_POSTPAINT
7a50: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
7a60: 7b 20 43 44 44 53 5f 49 54 45 4d 50 52 45 45 52 { CDDS_ITEMPREER
7a70: 41 53 45 20 3d 20 43 44 44 53 5f 49 54 45 4d 20 ASE = CDDS_ITEM
7a80: 7c 20 43 44 44 53 5f 50 52 45 45 52 41 53 45 20 | CDDS_PREERASE
7a90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
7aa0: 20 43 44 44 53 5f 49 54 45 4d 50 4f 53 54 45 52 CDDS_ITEMPOSTER
7ab0: 41 53 45 20 3d 20 43 44 44 53 5f 49 54 45 4d 20 ASE = CDDS_ITEM
7ac0: 7c 20 43 44 44 53 5f 50 4f 53 54 45 52 41 53 45 | CDDS_POSTERASE
7ad0: 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e }..// #if (_WIN
7ae0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 32_IE >= 0x0400)
7af0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
7b00: 43 44 44 53 5f 53 55 42 49 54 45 4d 20 3d 20 30 CDDS_SUBITEM = 0
7b10: 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 2f 2f 20 x00020000 }..//
7b20: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a #endif....enum :
7b30: 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 53 45 4c uint { CDIS_SEL
7b40: 45 43 54 45 44 20 3d 20 30 78 30 30 30 31 20 7d ECTED = 0x0001 }
7b50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
7b60: 43 44 49 53 5f 47 52 41 59 45 44 20 3d 20 30 78 CDIS_GRAYED = 0x
7b70: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0002 }..enum : u
7b80: 69 6e 74 20 7b 20 43 44 49 53 5f 44 49 53 41 42 int { CDIS_DISAB
7b90: 4c 45 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a LED = 0x0004 }..
7ba0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 enum : uint { CD
7bb0: 49 53 5f 43 48 45 43 4b 45 44 20 3d 20 30 78 30 IS_CHECKED = 0x0
7bc0: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 008 }..enum : ui
7bd0: 6e 74 20 7b 20 43 44 49 53 5f 46 4f 43 55 53 20 nt { CDIS_FOCUS
7be0: 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d = 0x0010 }..enum
7bf0: 20 3a 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 44 : uint { CDIS_D
7c00: 45 46 41 55 4c 54 20 3d 20 30 78 30 30 32 30 20 EFAULT = 0x0020
7c10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
7c20: 20 43 44 49 53 5f 48 4f 54 20 3d 20 30 78 30 30 CDIS_HOT = 0x00
7c30: 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 40 }..enum : uin
7c40: 74 20 7b 20 43 44 49 53 5f 4d 41 52 4b 45 44 20 t { CDIS_MARKED
7c50: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d = 0x0080 }..enum
7c60: 20 3a 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 49 : uint { CDIS_I
7c70: 4e 44 45 54 45 52 4d 49 4e 41 54 45 20 3d 20 30 NDETERMINATE = 0
7c80: 78 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 x0100 }..// #if
7c90: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d (_WIN32_WINNT >=
7ca0: 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 0x501)..enum :
7cb0: 75 69 6e 74 20 7b 20 43 44 49 53 5f 53 48 4f 57 uint { CDIS_SHOW
7cc0: 4b 45 59 42 4f 41 52 44 43 55 45 53 20 3d 20 30 KEYBOARDCUES = 0
7cd0: 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 x0200 }..// #end
7ce0: 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 if....struct tag
7cf0: 4e 4d 43 55 53 54 4f 4d 44 52 41 57 49 4e 46 4f NMCUSTOMDRAWINFO
7d00: 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b {.. NMHDR hdr;
7d10: 0d 0a 20 20 44 57 4f 52 44 20 64 77 44 72 61 77 .. DWORD dwDraw
7d20: 53 74 61 67 65 3b 0d 0a 20 20 48 44 43 20 68 64 Stage;.. HDC hd
7d30: 63 3b 0d 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a c;.. RECT rc;..
7d40: 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 49 74 DWORD_PTR dwIt
7d50: 65 6d 53 70 65 63 3b 0d 0a 20 20 55 49 4e 54 20 emSpec;.. UINT
7d60: 75 49 74 65 6d 53 74 61 74 65 3b 0d 0a 20 20 4c uItemState;.. L
7d70: 50 41 52 41 4d 20 6c 49 74 65 6d 6c 50 61 72 61 PARAM lItemlPara
7d80: 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 m;..}..alias tag
7d90: 4e 4d 43 55 53 54 4f 4d 44 52 41 57 49 4e 46 4f NMCUSTOMDRAWINFO
7da0: 20 4e 4d 43 55 53 54 4f 4d 44 52 41 57 3b 0d 0a NMCUSTOMDRAW;..
7db0: 61 6c 69 61 73 20 74 61 67 4e 4d 43 55 53 54 4f alias tagNMCUSTO
7dc0: 4d 44 52 41 57 49 4e 46 4f 2a 20 4c 50 4e 4d 43 MDRAWINFO* LPNMC
7dd0: 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 73 74 USTOMDRAW;....st
7de0: 72 75 63 74 20 74 61 67 4e 4d 54 54 43 55 53 54 ruct tagNMTTCUST
7df0: 4f 4d 44 52 41 57 20 7b 0d 0a 20 20 4e 4d 43 55 OMDRAW {.. NMCU
7e00: 53 54 4f 4d 44 52 41 57 20 6e 6d 63 64 3b 0d 0a STOMDRAW nmcd;..
7e10: 20 20 55 49 4e 54 20 75 44 72 61 77 46 6c 61 67 UINT uDrawFlag
7e20: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 s;..}..alias tag
7e30: 4e 4d 54 54 43 55 53 54 4f 4d 44 52 41 57 20 4e NMTTCUSTOMDRAW N
7e40: 4d 54 54 43 55 53 54 4f 4d 44 52 41 57 3b 0d 0a MTTCUSTOMDRAW;..
7e50: 61 6c 69 61 73 20 74 61 67 4e 4d 54 54 43 55 53 alias tagNMTTCUS
7e60: 54 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 54 54 43 TOMDRAW* LPNMTTC
7e70: 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 2f 2f USTOMDRAW;....//
7e80: 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 #endif //
7e90: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
7ea0: 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 300....// #ifnde
7eb0: 66 20 4e 4f 49 4d 41 47 45 41 50 49 53 0d 0a 0d f NOIMAGEAPIS...
7ec0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
7ed0: 4c 52 5f 4e 4f 4e 45 20 3d 20 30 78 46 46 46 46 LR_NONE = 0xFFFF
7ee0: 46 46 46 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 FFFF }..enum : u
7ef0: 69 6e 74 20 7b 20 43 4c 52 5f 44 45 46 41 55 4c int { CLR_DEFAUL
7f00: 54 20 3d 20 30 78 46 46 30 30 30 30 30 30 20 7d T = 0xFF000000 }
7f10: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 48 ....// #ifndef H
7f20: 49 4d 41 47 45 4c 49 53 54 0d 0a 2f 2f 20 73 74 IMAGELIST..// st
7f30: 72 75 63 74 20 5f 49 4d 41 47 45 4c 49 53 54 3b ruct _IMAGELIST;
7f40: 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 4c 49 ..alias _IMAGELI
7f50: 53 54 2a 20 48 49 4d 41 47 45 4c 49 53 54 3b 0d ST* HIMAGELIST;.
7f60: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
7f70: 20 23 69 66 6e 64 65 66 20 49 4d 41 47 45 4c 49 #ifndef IMAGELI
7f80: 53 54 44 52 41 57 50 41 52 41 4d 53 0d 0a 2f 2f STDRAWPARAMS..//
7f90: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
7fa0: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 73 74 72 75 >= 0x0300)..stru
7fb0: 63 74 20 5f 49 4d 41 47 45 4c 49 53 54 44 52 41 ct _IMAGELISTDRA
7fc0: 57 50 41 52 41 4d 53 20 7b 0d 0a 20 20 44 57 4f WPARAMS {.. DWO
7fd0: 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48 49 RD cbSize;.. HI
7fe0: 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b 0d 0a MAGELIST himl;..
7ff0: 20 20 69 6e 74 20 69 3b 0d 0a 20 20 48 44 43 20 int i;.. HDC
8000: 68 64 63 44 73 74 3b 0d 0a 20 20 69 6e 74 20 78 hdcDst;.. int x
8010: 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a 20 20 69 ;.. int y;.. i
8020: 6e 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20 63 79 nt cx;.. int cy
8030: 3b 0d 0a 20 20 69 6e 74 20 78 42 69 74 6d 61 70 ;.. int xBitmap
8040: 3b 0d 0a 20 20 69 6e 74 20 79 42 69 74 6d 61 70 ;.. int yBitmap
8050: 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 72 67 ;.. COLORREF rg
8060: 62 42 6b 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 bBk;.. COLORREF
8070: 20 72 67 62 46 67 3b 0d 0a 20 20 55 49 4e 54 20 rgbFg;.. UINT
8080: 66 53 74 79 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 fStyle;.. DWORD
8090: 20 64 77 52 6f 70 3b 0d 0a 2f 2f 20 23 69 66 20 dwRop;..// #if
80a0: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d (_WIN32_WINNT >=
80b0: 20 30 78 35 30 31 29 0d 0a 20 20 44 57 4f 52 44 0x501).. DWORD
80c0: 20 66 53 74 61 74 65 3b 0d 0a 20 20 44 57 4f 52 fState;.. DWOR
80d0: 44 20 46 72 61 6d 65 3b 0d 0a 20 20 43 4f 4c 4f D Frame;.. COLO
80e0: 52 52 45 46 20 63 72 45 66 66 65 63 74 3b 0d 0a RREF crEffect;..
80f0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c // #endif..}..al
8100: 69 61 73 20 5f 49 4d 41 47 45 4c 49 53 54 44 52 ias _IMAGELISTDR
8110: 41 57 50 41 52 41 4d 53 20 49 4d 41 47 45 4c 49 AWPARAMS IMAGELI
8120: 53 54 44 52 41 57 50 41 52 41 4d 53 3b 0d 0a 61 STDRAWPARAMS;..a
8130: 6c 69 61 73 20 5f 49 4d 41 47 45 4c 49 53 54 44 lias _IMAGELISTD
8140: 52 41 57 50 41 52 41 4d 53 2a 20 4c 50 49 4d 41 RAWPARAMS* LPIMA
8150: 47 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d 53 GELISTDRAWPARAMS
8160: 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 ;....// #define
8170: 49 4d 41 47 45 4c 49 53 54 44 52 41 57 50 41 52 IMAGELISTDRAWPAR
8180: 41 4d 53 5f 56 33 5f 53 49 5a 45 20 43 43 53 49 AMS_V3_SIZE CCSI
8190: 5a 45 4f 46 5f 53 54 52 55 43 54 28 49 4d 41 47 ZEOF_STRUCT(IMAG
81a0: 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d 53 2c ELISTDRAWPARAMS,
81b0: 20 64 77 52 6f 70 29 0d 0a 0d 0a 2f 2f 20 23 65 dwRop)....// #e
81c0: 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 ndif // _WI
81d0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
81e0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 ..// #endif....e
81f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 num : uint { ILC
8200: 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30 _MASK = 0x000000
8210: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 01 }..enum : uin
8220: 74 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52 20 3d 20 t { ILC_COLOR =
8230: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 0x00000000 }..en
8240: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f um : uint { ILC_
8250: 43 4f 4c 4f 52 44 44 42 20 3d 20 30 78 30 30 30 COLORDDB = 0x000
8260: 30 30 30 46 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 000FE }..enum :
8270: 75 69 6e 74 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52 uint { ILC_COLOR
8280: 34 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 4 = 0x00000004 }
8290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
82a0: 49 4c 43 5f 43 4f 4c 4f 52 38 20 3d 20 30 78 30 ILC_COLOR8 = 0x0
82b0: 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 0000008 }..enum
82c0: 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f 43 4f 4c : uint { ILC_COL
82d0: 4f 52 31 36 20 3d 20 30 78 30 30 30 30 30 30 31 OR16 = 0x0000001
82e0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
82f0: 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52 32 34 20 3d { ILC_COLOR24 =
8300: 20 30 78 30 30 30 30 30 30 31 38 20 7d 0d 0a 65 0x00000018 }..e
8310: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 num : uint { ILC
8320: 5f 43 4f 4c 4f 52 33 32 20 3d 20 30 78 30 30 30 _COLOR32 = 0x000
8330: 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00020 }..enum :
8340: 75 69 6e 74 20 7b 20 49 4c 43 5f 50 41 4c 45 54 uint { ILC_PALET
8350: 54 45 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 TE = 0x00000800
8360: 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
8370: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 2_WINNT >= 0x501
8380: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
8390: 20 49 4c 43 5f 4d 49 52 52 4f 52 20 3d 20 30 78 ILC_MIRROR = 0x
83a0: 30 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 00002000 }..enum
83b0: 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f 50 45 : uint { ILC_PE
83c0: 52 49 54 45 4d 4d 49 52 52 4f 52 20 3d 20 30 78 RITEMMIRROR = 0x
83d0: 30 30 30 30 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 00008000 }..// #
83e0: 65 6e 64 69 66 09 0d 0a 65 78 74 65 72 6e 28 57 endif...extern(W
83f0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 indows) export H
8400: 49 4d 41 47 45 4c 49 53 54 20 49 6d 61 67 65 4c IMAGELIST ImageL
8410: 69 73 74 5f 43 72 65 61 74 65 28 69 6e 74 20 63 ist_Create(int c
8420: 78 2c 20 69 6e 74 20 63 79 2c 20 55 49 4e 54 20 x, int cy, UINT
8430: 66 6c 61 67 73 2c 20 69 6e 74 20 63 49 6e 69 74 flags, int cInit
8440: 69 61 6c 2c 20 69 6e 74 20 63 47 72 6f 77 29 3b ial, int cGrow);
8450: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
8460: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d ) export BOOL Im
8470: 61 67 65 4c 69 73 74 5f 44 65 73 74 72 6f 79 28 ageList_Destroy(
8480: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 29 HIMAGELIST himl)
8490: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 ;....extern(Wind
84a0: 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 ows) export int
84b0: 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 49 6d 61 ImageList_GetIma
84c0: 67 65 43 6f 75 6e 74 28 48 49 4d 41 47 45 4c 49 geCount(HIMAGELI
84d0: 53 54 20 68 69 6d 6c 29 3b 0d 0a 2f 2f 20 23 69 ST himl);..// #i
84e0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
84f0: 30 78 30 33 30 30 29 0d 0a 65 78 74 65 72 6e 28 0x0300)..extern(
8500: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
8510: 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 53 BOOL ImageList_S
8520: 65 74 49 6d 61 67 65 43 6f 75 6e 74 28 48 49 4d etImageCount(HIM
8530: 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 55 49 AGELIST himl, UI
8540: 4e 54 20 75 4e 65 77 43 6f 75 6e 74 29 3b 0d 0a NT uNewCount);..
8550: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 // #endif....ext
8560: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
8570: 6f 72 74 20 69 6e 74 20 49 6d 61 67 65 4c 69 73 ort int ImageLis
8580: 74 5f 41 64 64 28 48 49 4d 41 47 45 4c 49 53 54 t_Add(HIMAGELIST
8590: 20 68 69 6d 6c 2c 20 48 42 49 54 4d 41 50 20 68 himl, HBITMAP h
85a0: 62 6d 49 6d 61 67 65 2c 20 48 42 49 54 4d 41 50 bmImage, HBITMAP
85b0: 20 68 62 6d 4d 61 73 6b 29 3b 0d 0a 0d 0a 65 78 hbmMask);....ex
85c0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
85d0: 70 6f 72 74 20 69 6e 74 20 49 6d 61 67 65 4c 69 port int ImageLi
85e0: 73 74 5f 52 65 70 6c 61 63 65 49 63 6f 6e 28 48 st_ReplaceIcon(H
85f0: 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 IMAGELIST himl,
8600: 69 6e 74 20 69 2c 20 48 49 43 4f 4e 20 68 69 63 int i, HICON hic
8610: 6f 6e 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e on);..extern(Win
8620: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 43 4f 4c dows) export COL
8630: 4f 52 52 45 46 20 49 6d 61 67 65 4c 69 73 74 5f ORREF ImageList_
8640: 53 65 74 42 6b 43 6f 6c 6f 72 28 48 49 4d 41 47 SetBkColor(HIMAG
8650: 45 4c 49 53 54 20 68 69 6d 6c 2c 20 43 4f 4c 4f ELIST himl, COLO
8660: 52 52 45 46 20 63 6c 72 42 6b 29 3b 0d 0a 65 78 RREF clrBk);..ex
8670: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
8680: 70 6f 72 74 20 43 4f 4c 4f 52 52 45 46 20 49 6d port COLORREF Im
8690: 61 67 65 4c 69 73 74 5f 47 65 74 42 6b 43 6f 6c ageList_GetBkCol
86a0: 6f 72 28 48 49 4d 41 47 45 4c 49 53 54 20 68 69 or(HIMAGELIST hi
86b0: 6d 6c 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e ml);..extern(Win
86c0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f dows) export BOO
86d0: 4c 20 49 6d 61 67 65 4c 69 73 74 5f 53 65 74 4f L ImageList_SetO
86e0: 76 65 72 6c 61 79 49 6d 61 67 65 28 48 49 4d 41 verlayImage(HIMA
86f0: 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74 GELIST himl, int
8700: 20 69 49 6d 61 67 65 2c 20 69 6e 74 20 69 4f 76 iImage, int iOv
8710: 65 72 6c 61 79 29 3b 0d 0a 0d 0a 2f 2f 20 23 64 erlay);....// #d
8720: 65 66 69 6e 65 20 49 6d 61 67 65 4c 69 73 74 5f efine ImageList_
8730: 41 64 64 49 63 6f 6e 28 68 69 6d 6c 2c 20 68 69 AddIcon(himl, hi
8740: 63 6f 6e 29 20 49 6d 61 67 65 4c 69 73 74 5f 52 con) ImageList_R
8750: 65 70 6c 61 63 65 49 63 6f 6e 28 68 69 6d 6c 2c eplaceIcon(himl,
8760: 20 2d 31 2c 20 68 69 63 6f 6e 29 0d 0a 0d 0a 65 -1, hicon)....e
8770: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44 num : uint { ILD
8780: 5f 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 _NORMAL = 0x0000
8790: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
87a0: 69 6e 74 20 7b 20 49 4c 44 5f 54 52 41 4e 53 50 int { ILD_TRANSP
87b0: 41 52 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 ARENT = 0x000000
87c0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 01 }..enum : uin
87d0: 74 20 7b 20 49 4c 44 5f 4d 41 53 4b 20 3d 20 30 t { ILD_MASK = 0
87e0: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 x00000010 }..enu
87f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44 5f 49 m : uint { ILD_I
8800: 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30 30 32 MAGE = 0x0000002
8810: 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 0 }..// #if (_WI
8820: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
8830: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
8840: 20 49 4c 44 5f 52 4f 50 20 3d 20 30 78 30 30 30 ILD_ROP = 0x000
8850: 30 30 30 34 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 00040 }..// #end
8860: 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 if..enum : uint
8870: 7b 20 49 4c 44 5f 42 4c 45 4e 44 32 35 20 3d 20 { ILD_BLEND25 =
8880: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 0x00000002 }..en
8890: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44 5f um : uint { ILD_
88a0: 42 4c 45 4e 44 35 30 20 3d 20 30 78 30 30 30 30 BLEND50 = 0x0000
88b0: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0004 }..enum : u
88c0: 69 6e 74 20 7b 20 49 4c 44 5f 4f 56 45 52 4c 41 int { ILD_OVERLA
88d0: 59 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 46 YMASK = 0x00000F
88e0: 30 30 20 7d 0d 0a 75 69 6e 74 20 49 4e 44 45 58 00 }..uint INDEX
88f0: 54 4f 4f 56 45 52 4c 41 59 4d 41 53 4b 28 75 69 TOOVERLAYMASK(ui
8900: 6e 74 20 69 29 7b 20 72 65 74 75 72 6e 20 69 20 nt i){ return i
8910: 3c 3c 20 38 3b 20 7d 0d 0a 65 6e 75 6d 20 3a 20 << 8; }..enum :
8920: 75 69 6e 74 20 7b 20 49 4c 44 5f 50 52 45 53 45 uint { ILD_PRESE
8930: 52 56 45 41 4c 50 48 41 20 3d 20 30 78 30 30 30 RVEALPHA = 0x000
8940: 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 01000 }..enum :
8950: 75 69 6e 74 20 7b 20 49 4c 44 5f 53 43 41 4c 45 uint { ILD_SCALE
8960: 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d = 0x00002000 }.
8970: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
8980: 4c 44 5f 44 50 49 53 43 41 4c 45 20 3d 20 30 78 LD_DPISCALE = 0x
8990: 30 30 30 30 34 30 30 30 20 7d 0d 0a 0d 0a 61 6c 00004000 }....al
89a0: 69 61 73 20 49 4c 44 5f 42 4c 45 4e 44 35 30 20 ias ILD_BLEND50
89b0: 49 4c 44 5f 53 45 4c 45 43 54 45 44 3b 0d 0a 61 ILD_SELECTED;..a
89c0: 6c 69 61 73 20 49 4c 44 5f 42 4c 45 4e 44 32 35 lias ILD_BLEND25
89d0: 20 49 4c 44 5f 46 4f 43 55 53 3b 0d 0a 61 6c 69 ILD_FOCUS;..ali
89e0: 61 73 20 49 4c 44 5f 42 4c 45 4e 44 35 30 20 49 as ILD_BLEND50 I
89f0: 4c 44 5f 42 4c 45 4e 44 3b 0d 0a 61 6c 69 61 73 LD_BLEND;..alias
8a00: 20 43 4c 52 5f 44 45 46 41 55 4c 54 20 43 4c 52 CLR_DEFAULT CLR
8a10: 5f 48 49 4c 49 47 48 54 3b 0d 0a 0d 0a 65 6e 75 _HILIGHT;....enu
8a20: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 53 5f 4e m : uint { ILS_N
8a30: 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30 30 ORMAL = 0x000000
8a40: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
8a50: 74 20 7b 20 49 4c 53 5f 47 4c 4f 57 20 3d 20 30 t { ILS_GLOW = 0
8a60: 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 x00000001 }..enu
8a70: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 53 5f 53 m : uint { ILS_S
8a80: 48 41 44 4f 57 20 3d 20 30 78 30 30 30 30 30 30 HADOW = 0x000000
8a90: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 02 }..enum : uin
8aa0: 74 20 7b 20 49 4c 53 5f 53 41 54 55 52 41 54 45 t { ILS_SATURATE
8ab0: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d = 0x00000004 }.
8ac0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 .enum : uint { I
8ad0: 4c 53 5f 41 4c 50 48 41 20 3d 20 30 78 30 30 30 LS_ALPHA = 0x000
8ae0: 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 78 74 65 72 00008 }....exter
8af0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 n(Windows) expor
8b00: 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 t BOOL ImageList
8b10: 5f 44 72 61 77 28 48 49 4d 41 47 45 4c 49 53 54 _Draw(HIMAGELIST
8b20: 20 68 69 6d 6c 2c 20 69 6e 74 20 69 2c 20 48 44 himl, int i, HD
8b30: 43 20 68 64 63 44 73 74 2c 20 69 6e 74 20 78 2c C hdcDst, int x,
8b40: 20 69 6e 74 20 79 2c 20 55 49 4e 54 20 66 53 74 int y, UINT fSt
8b50: 79 6c 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 yle);....// #ifd
8b60: 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74 ef _WIN32....ext
8b70: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
8b80: 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 ort BOOL ImageLi
8b90: 73 74 5f 52 65 70 6c 61 63 65 28 48 49 4d 41 47 st_Replace(HIMAG
8ba0: 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74 20 ELIST himl, int
8bb0: 69 2c 20 48 42 49 54 4d 41 50 20 68 62 6d 49 6d i, HBITMAP hbmIm
8bc0: 61 67 65 2c 20 48 42 49 54 4d 41 50 20 68 62 6d age, HBITMAP hbm
8bd0: 4d 61 73 6b 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e Mask);....extern
8be0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 (Windows) export
8bf0: 20 69 6e 74 20 49 6d 61 67 65 4c 69 73 74 5f 41 int ImageList_A
8c00: 64 64 4d 61 73 6b 65 64 28 48 49 4d 41 47 45 4c ddMasked(HIMAGEL
8c10: 49 53 54 20 68 69 6d 6c 2c 20 48 42 49 54 4d 41 IST himl, HBITMA
8c20: 50 20 68 62 6d 49 6d 61 67 65 2c 20 43 4f 4c 4f P hbmImage, COLO
8c30: 52 52 45 46 20 63 72 4d 61 73 6b 29 3b 0d 0a 65 RREF crMask);..e
8c40: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
8c50: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 xport BOOL Image
8c60: 4c 69 73 74 5f 44 72 61 77 45 78 28 48 49 4d 41 List_DrawEx(HIMA
8c70: 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74 GELIST himl, int
8c80: 20 69 2c 20 48 44 43 20 68 64 63 44 73 74 2c 20 i, HDC hdcDst,
8c90: 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e int x, int y, in
8ca0: 74 20 64 78 2c 20 69 6e 74 20 64 79 2c 20 43 4f t dx, int dy, CO
8cb0: 4c 4f 52 52 45 46 20 72 67 62 42 6b 2c 20 43 4f LORREF rgbBk, CO
8cc0: 4c 4f 52 52 45 46 20 72 67 62 46 67 2c 20 55 49 LORREF rgbFg, UI
8cd0: 4e 54 20 66 53 74 79 6c 65 29 3b 0d 0a 2f 2f 20 NT fStyle);..//
8ce0: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
8cf0: 3d 20 30 78 30 33 30 30 29 0d 0a 65 78 74 65 72 = 0x0300)..exter
8d00: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 n(Windows) expor
8d10: 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 t BOOL ImageList
8d20: 5f 44 72 61 77 49 6e 64 69 72 65 63 74 28 49 4d _DrawIndirect(IM
8d30: 41 47 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d AGELISTDRAWPARAM
8d40: 53 2a 20 70 69 6d 6c 64 70 29 3b 0d 0a 2f 2f 20 S* pimldp);..//
8d50: 23 65 6e 64 69 66 0d 0a 65 78 74 65 72 6e 28 57 #endif..extern(W
8d60: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 indows) export B
8d70: 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 52 65 OOL ImageList_Re
8d80: 6d 6f 76 65 28 48 49 4d 41 47 45 4c 49 53 54 20 move(HIMAGELIST
8d90: 68 69 6d 6c 2c 20 69 6e 74 20 69 29 3b 0d 0a 65 himl, int i);..e
8da0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
8db0: 78 70 6f 72 74 20 48 49 43 4f 4e 20 49 6d 61 67 xport HICON Imag
8dc0: 65 4c 69 73 74 5f 47 65 74 49 63 6f 6e 28 48 49 eList_GetIcon(HI
8dd0: 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 MAGELIST himl, i
8de0: 6e 74 20 69 2c 20 55 49 4e 54 20 66 6c 61 67 73 nt i, UINT flags
8df0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f );..extern(Windo
8e00: 77 73 29 20 65 78 70 6f 72 74 20 48 49 4d 41 47 ws) export HIMAG
8e10: 45 4c 49 53 54 20 49 6d 61 67 65 4c 69 73 74 5f ELIST ImageList_
8e20: 4c 6f 61 64 49 6d 61 67 65 41 28 48 49 4e 53 54 LoadImageA(HINST
8e30: 41 4e 43 45 20 68 69 2c 20 4c 50 43 53 54 52 20 ANCE hi, LPCSTR
8e40: 6c 70 62 6d 70 2c 20 69 6e 74 20 63 78 2c 20 69 lpbmp, int cx, i
8e50: 6e 74 20 63 47 72 6f 77 2c 20 43 4f 4c 4f 52 52 nt cGrow, COLORR
8e60: 45 46 20 63 72 4d 61 73 6b 2c 20 55 49 4e 54 20 EF crMask, UINT
8e70: 75 54 79 70 65 2c 20 55 49 4e 54 20 75 46 6c 61 uType, UINT uFla
8e80: 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e gs);..extern(Win
8e90: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 49 4d dows) export HIM
8ea0: 41 47 45 4c 49 53 54 20 49 6d 61 67 65 4c 69 73 AGELIST ImageLis
8eb0: 74 5f 4c 6f 61 64 49 6d 61 67 65 57 28 48 49 4e t_LoadImageW(HIN
8ec0: 53 54 41 4e 43 45 20 68 69 2c 20 4c 50 43 57 53 STANCE hi, LPCWS
8ed0: 54 52 20 6c 70 62 6d 70 2c 20 69 6e 74 20 63 78 TR lpbmp, int cx
8ee0: 2c 20 69 6e 74 20 63 47 72 6f 77 2c 20 43 4f 4c , int cGrow, COL
8ef0: 4f 52 52 45 46 20 63 72 4d 61 73 6b 2c 20 55 49 ORREF crMask, UI
8f00: 4e 54 20 75 54 79 70 65 2c 20 55 49 4e 54 20 75 NT uType, UINT u
8f10: 46 6c 61 67 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 Flags);....// #i
8f20: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
8f30: 69 61 73 20 49 6d 61 67 65 4c 69 73 74 5f 4c 6f ias ImageList_Lo
8f40: 61 64 49 6d 61 67 65 57 20 49 6d 61 67 65 4c 69 adImageW ImageLi
8f50: 73 74 5f 4c 6f 61 64 49 6d 61 67 65 3b 0d 0a 2f st_LoadImage;../
8f60: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
8f70: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
8f80: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
8f90: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 >= 0x0300)..enu
8fa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 46 5f m : uint { ILCF_
8fb0: 4d 4f 56 45 20 3d 20 30 78 30 30 30 30 30 30 30 MOVE = 0x0000000
8fc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
8fd0: 20 7b 20 49 4c 43 46 5f 53 57 41 50 20 3d 20 30 { ILCF_SWAP = 0
8fe0: 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 78 74 x00000001 }..ext
8ff0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
9000: 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 ort BOOL ImageLi
9010: 73 74 5f 43 6f 70 79 28 48 49 4d 41 47 45 4c 49 st_Copy(HIMAGELI
9020: 53 54 20 68 69 6d 6c 44 73 74 2c 20 69 6e 74 20 ST himlDst, int
9030: 69 44 73 74 2c 20 48 49 4d 41 47 45 4c 49 53 54 iDst, HIMAGELIST
9040: 20 68 69 6d 6c 53 72 63 2c 20 69 6e 74 20 69 53 himlSrc, int iS
9050: 72 63 2c 20 55 49 4e 54 20 75 46 6c 61 67 73 29 rc, UINT uFlags)
9060: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ;..// #endif....
9070: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
9080: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 export BOOL Imag
9090: 65 4c 69 73 74 5f 42 65 67 69 6e 44 72 61 67 28 eList_BeginDrag(
90a0: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 54 HIMAGELIST himlT
90b0: 72 61 63 6b 2c 20 69 6e 74 20 69 54 72 61 63 6b rack, int iTrack
90c0: 2c 20 69 6e 74 20 64 78 48 6f 74 73 70 6f 74 2c , int dxHotspot,
90d0: 20 69 6e 74 20 64 79 48 6f 74 73 70 6f 74 29 3b int dyHotspot);
90e0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
90f0: 29 20 65 78 70 6f 72 74 20 76 6f 69 64 20 49 6d ) export void Im
9100: 61 67 65 4c 69 73 74 5f 45 6e 64 44 72 61 67 28 ageList_EndDrag(
9110: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f );..extern(Windo
9120: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 ws) export BOOL
9130: 49 6d 61 67 65 4c 69 73 74 5f 44 72 61 67 45 6e ImageList_DragEn
9140: 74 65 72 28 48 57 4e 44 20 68 77 6e 64 4c 6f 63 ter(HWND hwndLoc
9150: 6b 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 k, int x, int y)
9160: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ;..extern(Window
9170: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 s) export BOOL I
9180: 6d 61 67 65 4c 69 73 74 5f 44 72 61 67 4c 65 61 mageList_DragLea
9190: 76 65 28 48 57 4e 44 20 68 77 6e 64 4c 6f 63 6b ve(HWND hwndLock
91a0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f );..extern(Windo
91b0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 ws) export BOOL
91c0: 49 6d 61 67 65 4c 69 73 74 5f 44 72 61 67 4d 6f ImageList_DragMo
91d0: 76 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 ve(int x, int y)
91e0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ;..extern(Window
91f0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 s) export BOOL I
9200: 6d 61 67 65 4c 69 73 74 5f 53 65 74 44 72 61 67 mageList_SetDrag
9210: 43 75 72 73 6f 72 49 6d 61 67 65 28 48 49 4d 41 CursorImage(HIMA
9220: 47 45 4c 49 53 54 20 68 69 6d 6c 44 72 61 67 2c GELIST himlDrag,
9230: 20 69 6e 74 20 69 44 72 61 67 2c 20 69 6e 74 20 int iDrag, int
9240: 64 78 48 6f 74 73 70 6f 74 2c 20 69 6e 74 20 64 dxHotspot, int d
9250: 79 48 6f 74 73 70 6f 74 29 3b 0d 0a 0d 0a 65 78 yHotspot);....ex
9260: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
9270: 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c port BOOL ImageL
9280: 69 73 74 5f 44 72 61 67 53 68 6f 77 4e 6f 6c 6f ist_DragShowNolo
9290: 63 6b 28 42 4f 4f 4c 20 66 53 68 6f 77 29 3b 0d ck(BOOL fShow);.
92a0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
92b0: 20 65 78 70 6f 72 74 20 48 49 4d 41 47 45 4c 49 export HIMAGELI
92c0: 53 54 20 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 ST ImageList_Get
92d0: 44 72 61 67 49 6d 61 67 65 28 50 4f 49 4e 54 20 DragImage(POINT
92e0: 2a 70 70 74 2c 50 4f 49 4e 54 20 2a 70 70 74 48 *ppt,POINT *pptH
92f0: 6f 74 73 70 6f 74 29 3b 0d 0a 0d 0a 2f 2f 20 23 otspot);....// #
9300: 64 65 66 69 6e 65 20 49 6d 61 67 65 4c 69 73 74 define ImageList
9310: 5f 52 65 6d 6f 76 65 41 6c 6c 28 68 69 6d 6c 29 _RemoveAll(himl)
9320: 20 49 6d 61 67 65 4c 69 73 74 5f 52 65 6d 6f 76 ImageList_Remov
9330: 65 28 68 69 6d 6c 2c 20 2d 31 29 0d 0a 2f 2f 20 e(himl, -1)..//
9340: 23 64 65 66 69 6e 65 20 49 6d 61 67 65 4c 69 73 #define ImageLis
9350: 74 5f 45 78 74 72 61 63 74 49 63 6f 6e 28 68 69 t_ExtractIcon(hi
9360: 2c 20 68 69 6d 6c 2c 20 69 29 20 49 6d 61 67 65 , himl, i) Image
9370: 4c 69 73 74 5f 47 65 74 49 63 6f 6e 28 68 69 6d List_GetIcon(him
9380: 6c 2c 20 69 2c 20 30 29 0d 0a 2f 2f 20 23 64 65 l, i, 0)..// #de
9390: 66 69 6e 65 20 49 6d 61 67 65 4c 69 73 74 5f 4c fine ImageList_L
93a0: 6f 61 64 42 69 74 6d 61 70 28 68 69 2c 20 6c 70 oadBitmap(hi, lp
93b0: 62 6d 70 2c 20 63 78 2c 20 63 47 72 6f 77 2c 20 bmp, cx, cGrow,
93c0: 63 72 4d 61 73 6b 29 20 49 6d 61 67 65 4c 69 73 crMask) ImageLis
93d0: 74 5f 4c 6f 61 64 49 6d 61 67 65 28 68 69 2c 20 t_LoadImage(hi,
93e0: 6c 70 62 6d 70 2c 20 63 78 2c 20 63 47 72 6f 77 lpbmp, cx, cGrow
93f0: 2c 20 63 72 4d 61 73 6b 2c 20 49 4d 41 47 45 5f , crMask, IMAGE_
9400: 42 49 54 4d 41 50 2c 20 30 29 0d 0a 0d 0a 2f 2f BITMAP, 0)....//
9410: 20 23 69 66 64 65 66 20 5f 5f 49 53 74 72 65 61 #ifdef __IStrea
9420: 6d 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 m_INTERFACE_DEFI
9430: 4e 45 44 5f 5f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d NED__....// ....
9440: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
9450: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 2_WINNT >= 0x050
9460: 31 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 1)..// #.....//
9470: 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a #.......// .....
9480: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
9490: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 #endif....// #if
94a0: 6e 64 65 66 20 49 4d 41 47 45 49 4e 46 4f 0d 0a ndef IMAGEINFO..
94b0: 73 74 72 75 63 74 20 5f 49 4d 41 47 45 49 4e 46 struct _IMAGEINF
94c0: 4f 20 7b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 O {.. HBITMAP h
94d0: 62 6d 49 6d 61 67 65 3b 0d 0a 20 20 48 42 49 54 bmImage;.. HBIT
94e0: 4d 41 50 20 68 62 6d 4d 61 73 6b 3b 0d 0a 20 20 MAP hbmMask;..
94f0: 69 6e 74 20 55 6e 75 73 65 64 31 3b 0d 0a 20 20 int Unused1;..
9500: 69 6e 74 20 55 6e 75 73 65 64 32 3b 0d 0a 20 20 int Unused2;..
9510: 52 45 43 54 20 72 63 49 6d 61 67 65 3b 0d 0a 7d RECT rcImage;..}
9520: 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 49 4e ..alias _IMAGEIN
9530: 46 4f 20 49 4d 41 47 45 49 4e 46 4f 3b 0d 0a 61 FO IMAGEINFO;..a
9540: 6c 69 61 73 20 5f 49 4d 41 47 45 49 4e 46 4f 2a lias _IMAGEINFO*
9550: 20 4c 50 49 4d 41 47 45 49 4e 46 4f 3b 0d 0a 0d LPIMAGEINFO;...
9560: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 .// #endif....ex
9570: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
9580: 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c port BOOL ImageL
9590: 69 73 74 5f 47 65 74 49 63 6f 6e 53 69 7a 65 28 ist_GetIconSize(
95a0: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c HIMAGELIST himl,
95b0: 20 69 6e 74 20 2a 63 78 2c 20 69 6e 74 20 2a 63 int *cx, int *c
95c0: 79 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 y);..extern(Wind
95d0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c ows) export BOOL
95e0: 20 49 6d 61 67 65 4c 69 73 74 5f 53 65 74 49 63 ImageList_SetIc
95f0: 6f 6e 53 69 7a 65 28 48 49 4d 41 47 45 4c 49 53 onSize(HIMAGELIS
9600: 54 20 68 69 6d 6c 2c 20 69 6e 74 20 63 78 2c 20 T himl, int cx,
9610: 69 6e 74 20 63 79 29 3b 0d 0a 65 78 74 65 72 6e int cy);..extern
9620: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 (Windows) export
9630: 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f BOOL ImageList_
9640: 47 65 74 49 6d 61 67 65 49 6e 66 6f 28 48 49 4d GetImageInfo(HIM
9650: 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e AGELIST himl, in
9660: 74 20 69 2c 20 49 4d 41 47 45 49 4e 46 4f 20 2a t i, IMAGEINFO *
9670: 70 49 6d 61 67 65 49 6e 66 6f 29 3b 0d 0a 65 78 pImageInfo);..ex
9680: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
9690: 70 6f 72 74 20 48 49 4d 41 47 45 4c 49 53 54 20 port HIMAGELIST
96a0: 49 6d 61 67 65 4c 69 73 74 5f 4d 65 72 67 65 28 ImageList_Merge(
96b0: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 31 HIMAGELIST himl1
96c0: 2c 20 69 6e 74 20 69 31 2c 20 48 49 4d 41 47 45 , int i1, HIMAGE
96d0: 4c 49 53 54 20 68 69 6d 6c 32 2c 20 69 6e 74 20 LIST himl2, int
96e0: 69 32 2c 20 69 6e 74 20 64 78 2c 20 69 6e 74 20 i2, int dx, int
96f0: 64 79 29 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 dy);..// #if (_W
9700: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 IN32_IE >= 0x040
9710: 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 0)..extern(Windo
9720: 77 73 29 20 65 78 70 6f 72 74 20 48 49 4d 41 47 ws) export HIMAG
9730: 45 4c 49 53 54 20 49 6d 61 67 65 4c 69 73 74 5f ELIST ImageList_
9740: 44 75 70 6c 69 63 61 74 65 28 48 49 4d 41 47 45 Duplicate(HIMAGE
9750: 4c 49 53 54 20 68 69 6d 6c 29 3b 0d 0a 2f 2f 20 LIST himl);..//
9760: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e #endif....// #en
9770: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 dif....// #endif
9780: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e ....// #ifndef N
9790: 4f 48 45 41 44 45 52 0d 0a 0d 0a 2f 2f 20 23 69 OHEADER....// #i
97a0: 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 63 6f 6e fdef _WIN32..con
97b0: 73 74 20 63 68 61 72 5b 5d 20 57 43 5f 48 45 41 st char[] WC_HEA
97c0: 44 45 52 41 20 3d 20 22 53 79 73 48 65 61 64 65 DERA = "SysHeade
97d0: 72 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 r32";..const wch
97e0: 61 72 5b 5d 20 57 43 5f 48 45 41 44 45 52 57 20 ar[] WC_HEADERW
97f0: 3d 20 22 53 79 73 48 65 61 64 65 72 33 32 22 3b = "SysHeader32";
9800: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
9810: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f ICODE..alias WC_
9820: 48 45 41 44 45 52 57 20 57 43 5f 48 45 41 44 45 HEADERW WC_HEADE
9830: 52 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f R;..// #else..//
9840: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
9850: 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f ....// #else..//
9860: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
9870: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
9880: 7b 20 48 44 53 5f 48 4f 52 5a 20 3d 20 30 78 30 { HDS_HORZ = 0x0
9890: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 000 }..enum : ui
98a0: 6e 74 20 7b 20 48 44 53 5f 42 55 54 54 4f 4e 53 nt { HDS_BUTTONS
98b0: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 2f 2f 20 = 0x0002 }..//
98c0: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
98d0: 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 = 0x0300)..enum
98e0: 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f 48 4f 54 : uint { HDS_HOT
98f0: 54 52 41 43 4b 20 3d 20 30 78 30 30 30 34 20 7d TRACK = 0x0004 }
9900: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 ..// #endif..enu
9910: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f 48 m : uint { HDS_H
9920: 49 44 44 45 4e 20 3d 20 30 78 30 30 30 38 20 7d IDDEN = 0x0008 }
9930: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e ....// #if (_WIN
9940: 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 32_IE >= 0x0300)
9950: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
9960: 48 44 53 5f 44 52 41 47 44 52 4f 50 20 3d 20 30 HDS_DRAGDROP = 0
9970: 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0040 }..enum :
9980: 75 69 6e 74 20 7b 20 48 44 53 5f 46 55 4c 4c 44 uint { HDS_FULLD
9990: 52 41 47 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a RAG = 0x0080 }..
99a0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 // #endif..// #i
99b0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
99c0: 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 0x0500)..enum :
99d0: 75 69 6e 74 20 7b 20 48 44 53 5f 46 49 4c 54 45 uint { HDS_FILTE
99e0: 52 42 41 52 20 3d 20 30 78 30 31 30 30 20 7d 0d RBAR = 0x0100 }.
99f0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
9a00: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e #if (_WIN32_WIN
9a10: 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e NT >= 0x501)..en
9a20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f um : uint { HDS_
9a30: 46 4c 41 54 20 3d 20 30 78 30 32 30 30 20 7d 0d FLAT = 0x0200 }.
9a40: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
9a50: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
9a60: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e >= 0x0500)....en
9a70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 54 um : uint { HDFT
9a80: 5f 49 53 53 54 52 49 4e 47 20 3d 20 30 78 30 30 _ISSTRING = 0x00
9a90: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
9aa0: 74 20 7b 20 48 44 46 54 5f 49 53 4e 55 4d 42 45 t { HDFT_ISNUMBE
9ab0: 52 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a R = 0x0001 }....
9ac0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 enum : uint { HD
9ad0: 46 54 5f 48 41 53 4e 4f 56 41 4c 55 45 20 3d 20 FT_HASNOVALUE =
9ae0: 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 0x8000 }....// #
9af0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
9b00: 6c 69 61 73 20 48 44 5f 54 45 58 54 46 49 4c 54 lias HD_TEXTFILT
9b10: 45 52 57 20 48 44 5f 54 45 58 54 46 49 4c 54 45 ERW HD_TEXTFILTE
9b20: 52 3b 0d 0a 61 6c 69 61 73 20 48 44 5f 54 45 58 R;..alias HD_TEX
9b30: 54 46 49 4c 54 45 52 57 20 48 44 54 45 58 54 46 TFILTERW HDTEXTF
9b40: 49 4c 54 45 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 ILTER;..alias LP
9b50: 48 44 5f 54 45 58 54 46 49 4c 54 45 52 57 20 4c HD_TEXTFILTERW L
9b60: 50 48 44 5f 54 45 58 54 46 49 4c 54 45 52 3b 0d PHD_TEXTFILTER;.
9b70: 0a 61 6c 69 61 73 20 4c 50 48 44 5f 54 45 58 54 .alias LPHD_TEXT
9b80: 46 49 4c 54 45 52 57 20 4c 50 48 44 54 45 58 54 FILTERW LPHDTEXT
9b90: 46 49 4c 54 45 52 3b 0d 0a 2f 2f 20 23 65 6c 73 FILTER;..// #els
9ba0: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
9bb0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
9bc0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
9bd0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 48 44 5f 54 ....struct _HD_T
9be0: 45 58 54 46 49 4c 54 45 52 41 20 7b 0d 0a 20 20 EXTFILTERA {..
9bf0: 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a LPSTR pszText;..
9c00: 20 20 49 4e 54 20 63 63 68 54 65 78 74 4d 61 78 INT cchTextMax
9c10: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48 44 5f ;..}..alias _HD_
9c20: 54 45 58 54 46 49 4c 54 45 52 41 20 48 44 5f 54 TEXTFILTERA HD_T
9c30: 45 58 54 46 49 4c 54 45 52 41 3b 0d 0a 61 6c 69 EXTFILTERA;..ali
9c40: 61 73 20 5f 48 44 5f 54 45 58 54 46 49 4c 54 45 as _HD_TEXTFILTE
9c50: 52 41 2a 20 4c 50 48 44 5f 54 45 58 54 46 49 4c RA* LPHD_TEXTFIL
9c60: 54 45 52 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 TERA;....struct
9c70: 5f 48 44 5f 54 45 58 54 46 49 4c 54 45 52 57 20 _HD_TEXTFILTERW
9c80: 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 {.. LPWSTR pszT
9c90: 65 78 74 3b 0d 0a 20 20 49 4e 54 20 63 63 68 54 ext;.. INT cchT
9ca0: 65 78 74 4d 61 78 3b 0d 0a 7d 0d 0a 61 6c 69 61 extMax;..}..alia
9cb0: 73 20 5f 48 44 5f 54 45 58 54 46 49 4c 54 45 52 s _HD_TEXTFILTER
9cc0: 57 20 48 44 5f 54 45 58 54 46 49 4c 54 45 52 57 W HD_TEXTFILTERW
9cd0: 3b 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 54 45 58 ;..alias _HD_TEX
9ce0: 54 46 49 4c 54 45 52 57 2a 20 4c 50 48 44 5f 54 TFILTERW* LPHD_T
9cf0: 45 58 54 46 49 4c 54 45 52 57 3b 0d 0a 0d 0a 2f EXTFILTERW;..../
9d00: 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 5f 57 49 / #endif // _WI
9d10: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 N32_IE >= 0x0500
9d20: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e ....// #if (_WIN
9d30: 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 32_IE >= 0x0300)
9d40: 0d 0a 61 6c 69 61 73 20 48 44 49 54 45 4d 41 20 ..alias HDITEMA
9d50: 48 44 5f 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 HD_ITEMA;..alias
9d60: 20 48 44 49 54 45 4d 57 20 48 44 5f 49 54 45 4d HDITEMW HD_ITEM
9d70: 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f W;..// #else..//
9d80: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
9d90: 2f 2f 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 // #endif..alias
9da0: 20 48 44 49 54 45 4d 20 48 44 5f 49 54 45 4d 3b HDITEM HD_ITEM;
9db0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 48 44 5f 49 ....struct _HD_I
9dc0: 54 45 4d 41 20 7b 0d 0a 20 20 55 49 4e 54 20 6d TEMA {.. UINT m
9dd0: 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 63 78 79 3b ask;.. int cxy;
9de0: 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 .. LPSTR pszTex
9df0: 74 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 t;.. HBITMAP hb
9e00: 6d 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 m;.. int cchTex
9e10: 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 66 6d 74 tMax;.. int fmt
9e20: 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 ;.. LPARAM lPar
9e30: 61 6d 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 am;..// #if (_WI
9e40: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
9e50: 29 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b ).. int iImage;
9e60: 0d 0a 20 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d .. int iOrder;.
9e70: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 .// #endif..// #
9e80: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
9e90: 20 30 78 30 35 30 30 29 0d 0a 20 20 55 49 4e 54 0x0500).. UINT
9ea0: 20 74 79 70 65 3b 0d 0a 20 20 76 6f 69 64 20 2a type;.. void *
9eb0: 20 20 70 76 46 69 6c 74 65 72 3b 0d 0a 2f 2f 20 pvFilter;..//
9ec0: 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 #endif..}..alias
9ed0: 20 5f 48 44 5f 49 54 45 4d 41 20 48 44 49 54 45 _HD_ITEMA HDITE
9ee0: 4d 41 3b 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 49 MA;..alias _HD_I
9ef0: 54 45 4d 41 2a 20 4c 50 48 44 49 54 45 4d 41 3b TEMA* LPHDITEMA;
9f00: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 ....// #define H
9f10: 44 49 54 45 4d 41 5f 56 31 5f 53 49 5a 45 20 43 DITEMA_V1_SIZE C
9f20: 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 48 CSIZEOF_STRUCT(H
9f30: 44 49 54 45 4d 41 2c 20 6c 50 61 72 61 6d 29 0d DITEMA, lParam).
9f40: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 44 49 54 .// #define HDIT
9f50: 45 4d 57 5f 56 31 5f 53 49 5a 45 20 43 43 53 49 EMW_V1_SIZE CCSI
9f60: 5a 45 4f 46 5f 53 54 52 55 43 54 28 48 44 49 54 ZEOF_STRUCT(HDIT
9f70: 45 4d 57 2c 20 6c 50 61 72 61 6d 29 0d 0a 0d 0a EMW, lParam)....
9f80: 73 74 72 75 63 74 20 5f 48 44 5f 49 54 45 4d 57 struct _HD_ITEMW
9f90: 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b {.. UINT mask;
9fa0: 0d 0a 20 20 69 6e 74 20 63 78 79 3b 0d 0a 20 20 .. int cxy;..
9fb0: 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d LPWSTR pszText;.
9fc0: 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d . HBITMAP hbm;.
9fd0: 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 . int cchTextMa
9fe0: 78 3b 0d 0a 20 20 69 6e 74 20 66 6d 74 3b 0d 0a x;.. int fmt;..
9ff0: 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b LPARAM lParam;
a000: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
a010: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
a020: 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 int iImage;..
a030: 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d 0a 2f 2f int iOrder;..//
a040: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 #endif..// #if
a050: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
a060: 30 35 30 30 29 0d 0a 20 20 55 49 4e 54 20 74 79 0500).. UINT ty
a070: 70 65 3b 0d 0a 20 20 76 6f 69 64 20 2a 20 20 70 pe;.. void * p
a080: 76 46 69 6c 74 65 72 3b 0d 0a 2f 2f 20 23 65 6e vFilter;..// #en
a090: 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48 dif..}..alias _H
a0a0: 44 5f 49 54 45 4d 57 20 48 44 49 54 45 4d 57 3b D_ITEMW HDITEMW;
a0b0: 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 49 54 45 4d ..alias _HD_ITEM
a0c0: 57 2a 20 4c 50 48 44 49 54 45 4d 57 3b 0d 0a 0d W* LPHDITEMW;...
a0d0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
a0e0: 44 45 0d 0a 61 6c 69 61 73 20 48 44 49 54 45 4d DE..alias HDITEM
a0f0: 57 20 48 44 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 W HDITEM;..alias
a100: 20 4c 50 48 44 49 54 45 4d 57 20 4c 50 48 44 49 LPHDITEMW LPHDI
a110: 54 45 4d 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 TEM;..// #define
a120: 20 48 44 49 54 45 4d 5f 56 31 5f 53 49 5a 45 20 HDITEM_V1_SIZE
a130: 48 44 49 54 45 4d 57 5f 56 31 5f 53 49 5a 45 0d HDITEMW_V1_SIZE.
a140: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e .// #else..// #.
a150: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
a160: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
a170: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
a180: 20 48 44 49 5f 57 49 44 54 48 20 3d 20 30 78 30 HDI_WIDTH = 0x0
a190: 30 30 31 20 7d 0d 0a 61 6c 69 61 73 20 48 44 49 001 }..alias HDI
a1a0: 5f 57 49 44 54 48 20 48 44 49 5f 48 45 49 47 48 _WIDTH HDI_HEIGH
a1b0: 54 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 T;..enum : uint
a1c0: 7b 20 48 44 49 5f 54 45 58 54 20 3d 20 30 78 30 { HDI_TEXT = 0x0
a1d0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 002 }..enum : ui
a1e0: 6e 74 20 7b 20 48 44 49 5f 46 4f 52 4d 41 54 20 nt { HDI_FORMAT
a1f0: 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d = 0x0004 }..enum
a200: 20 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f 4c 50 : uint { HDI_LP
a210: 41 52 41 4d 20 3d 20 30 78 30 30 30 38 20 7d 0d ARAM = 0x0008 }.
a220: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
a230: 44 49 5f 42 49 54 4d 41 50 20 3d 20 30 78 30 30 DI_BITMAP = 0x00
a240: 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 10 }..// #if (_W
a250: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 IN32_IE >= 0x030
a260: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
a270: 7b 20 48 44 49 5f 49 4d 41 47 45 20 3d 20 30 78 { HDI_IMAGE = 0x
a280: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0020 }..enum : u
a290: 69 6e 74 20 7b 20 48 44 49 5f 44 49 5f 53 45 54 int { HDI_DI_SET
a2a0: 49 54 45 4d 20 3d 20 30 78 30 30 34 30 20 7d 0d ITEM = 0x0040 }.
a2b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
a2c0: 44 49 5f 4f 52 44 45 52 20 3d 20 30 78 30 30 38 DI_ORDER = 0x008
a2d0: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0 }..// #endif..
a2e0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
a2f0: 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e E >= 0x0500)..en
a300: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f um : uint { HDI_
a310: 46 49 4c 54 45 52 20 3d 20 30 78 30 31 30 30 20 FILTER = 0x0100
a320: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a }..// #endif....
a330: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 enum : uint { HD
a340: 46 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30 20 F_LEFT = 0x0000
a350: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
a360: 20 48 44 46 5f 52 49 47 48 54 20 3d 20 30 78 30 HDF_RIGHT = 0x0
a370: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 001 }..enum : ui
a380: 6e 74 20 7b 20 48 44 46 5f 43 45 4e 54 45 52 20 nt { HDF_CENTER
a390: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d = 0x0002 }..enum
a3a0: 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 5f 4a 55 : uint { HDF_JU
a3b0: 53 54 49 46 59 4d 41 53 4b 20 3d 20 30 78 30 30 STIFYMASK = 0x00
a3c0: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 03 }..enum : uin
a3d0: 74 20 7b 20 48 44 46 5f 52 54 4c 52 45 41 44 49 t { HDF_RTLREADI
a3e0: 4e 47 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 0d NG = 0x0004 }...
a3f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
a400: 44 46 5f 4f 57 4e 45 52 44 52 41 57 20 3d 20 30 DF_OWNERDRAW = 0
a410: 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x8000 }..enum :
a420: 75 69 6e 74 20 7b 20 48 44 46 5f 53 54 52 49 4e uint { HDF_STRIN
a430: 47 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e G = 0x4000 }..en
a440: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 5f um : uint { HDF_
a450: 42 49 54 4d 41 50 20 3d 20 30 78 32 30 30 30 20 BITMAP = 0x2000
a460: 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
a470: 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 2_IE >= 0x0300).
a480: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
a490: 44 46 5f 42 49 54 4d 41 50 5f 4f 4e 5f 52 49 47 DF_BITMAP_ON_RIG
a4a0: 48 54 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 HT = 0x1000 }..e
a4b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 num : uint { HDF
a4c0: 5f 49 4d 41 47 45 20 3d 20 30 78 30 38 30 30 20 _IMAGE = 0x0800
a4d0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a }..// #endif....
a4e0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 // #if (_WIN32_W
a4f0: 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a INNT >= 0x501)..
a500: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 enum : uint { HD
a510: 46 5f 53 4f 52 54 55 50 20 3d 20 30 78 30 34 30 F_SORTUP = 0x040
a520: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
a530: 20 7b 20 48 44 46 5f 53 4f 52 54 44 4f 57 4e 20 { HDF_SORTDOWN
a540: 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 = 0x0200 }..// #
a550: 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 endif....enum :
a560: 75 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54 49 54 uint { HDM_GETIT
a570: 45 4d 43 4f 55 4e 54 20 3d 20 48 44 4d 5f 46 49 EMCOUNT = HDM_FI
a580: 52 53 54 20 2b 20 30 20 7d 0d 0a 2f 2f 20 23 64 RST + 0 }..// #d
a590: 65 66 69 6e 65 20 48 65 61 64 65 72 5f 47 65 74 efine Header_Get
a5a0: 49 74 65 6d 43 6f 75 6e 74 28 68 77 6e 64 48 44 ItemCount(hwndHD
a5b0: 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 ) (int)SNDMSG((h
a5c0: 77 6e 64 48 44 29 2c 20 48 44 4d 5f 47 45 54 49 wndHD), HDM_GETI
a5d0: 54 45 4d 43 4f 55 4e 54 2c 20 30 2c 20 30 4c 29 TEMCOUNT, 0, 0L)
a5e0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
a5f0: 7b 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d { HDM_INSERTITEM
a600: 41 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 A = HDM_FIRST +
a610: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
a620: 20 7b 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 { HDM_INSERTITE
a630: 4d 57 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b MW = HDM_FIRST +
a640: 20 31 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 10 }....// #ifd
a650: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
a660: 73 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d s HDM_INSERTITEM
a670: 57 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d W HDM_INSERTITEM
a680: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
a690: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
a6a0: 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 ...// #define He
a6b0: 61 64 65 72 5f 49 6e 73 65 72 74 49 74 65 6d 28 ader_InsertItem(
a6c0: 68 77 6e 64 48 44 2c 20 69 2c 20 70 68 64 69 29 hwndHD, i, phdi)
a6d0: 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 (int)SNDMSG((hw
a6e0: 6e 64 48 44 29 2c 20 48 44 4d 5f 49 4e 53 45 52 ndHD), HDM_INSER
a6f0: 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28 TITEM, (WPARAM)(
a700: 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d int)(i), (LPARAM
a710: 29 28 63 6f 6e 73 74 20 48 44 5f 49 54 45 4d 20 )(const HD_ITEM
a720: 2a 29 28 70 68 64 69 29 29 0d 0a 0d 0a 65 6e 75 *)(phdi))....enu
a730: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 44 m : uint { HDM_D
a740: 45 4c 45 54 45 49 54 45 4d 20 3d 20 48 44 4d 5f ELETEITEM = HDM_
a750: 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20 FIRST + 2 }..//
a760: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 44 #define Header_D
a770: 65 6c 65 74 65 49 74 65 6d 28 68 77 6e 64 48 44 eleteItem(hwndHD
a780: 2c 20 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 , i) (BOOL)SNDMS
a790: 47 28 28 68 77 6e 64 48 44 29 2c 20 48 44 4d 5f G((hwndHD), HDM_
a7a0: 44 45 4c 45 54 45 49 54 45 4d 2c 20 28 57 50 41 DELETEITEM, (WPA
a7b0: 52 41 4d 29 28 69 6e 74 29 28 69 29 2c 20 30 4c RAM)(int)(i), 0L
a7c0: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
a7d0: 20 7b 20 48 44 4d 5f 47 45 54 49 54 45 4d 41 20 { HDM_GETITEMA
a7e0: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 33 20 = HDM_FIRST + 3
a7f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
a800: 20 48 44 4d 5f 47 45 54 49 54 45 4d 57 20 3d 20 HDM_GETITEMW =
a810: 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 31 20 7d HDM_FIRST + 11 }
a820: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
a830: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48 44 4d ICODE..alias HDM
a840: 5f 47 45 54 49 54 45 4d 57 20 48 44 4d 5f 47 45 _GETITEMW HDM_GE
a850: 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 TITEM;..// #else
a860: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
a870: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 ndif....// #defi
a880: 6e 65 20 48 65 61 64 65 72 5f 47 65 74 49 74 65 ne Header_GetIte
a890: 6d 28 68 77 6e 64 48 44 2c 20 69 2c 20 70 68 64 m(hwndHD, i, phd
a8a0: 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 i) (BOOL)SNDMSG(
a8b0: 28 68 77 6e 64 48 44 29 2c 20 48 44 4d 5f 47 45 (hwndHD), HDM_GE
a8c0: 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28 TITEM, (WPARAM)(
a8d0: 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d int)(i), (LPARAM
a8e0: 29 28 48 44 5f 49 54 45 4d 20 2a 29 28 70 68 64 )(HD_ITEM *)(phd
a8f0: 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 i))....enum : ui
a900: 6e 74 20 7b 20 48 44 4d 5f 53 45 54 49 54 45 4d nt { HDM_SETITEM
a910: 41 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 A = HDM_FIRST +
a920: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 4 }..enum : uint
a930: 20 7b 20 48 44 4d 5f 53 45 54 49 54 45 4d 57 20 { HDM_SETITEMW
a940: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 32 = HDM_FIRST + 12
a950: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 }....// #ifdef
a960: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48 UNICODE..alias H
a970: 44 4d 5f 53 45 54 49 54 45 4d 57 20 48 44 4d 5f DM_SETITEMW HDM_
a980: 53 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c SETITEM;..// #el
a990: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
a9a0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 #endif....// #de
a9b0: 66 69 6e 65 20 48 65 61 64 65 72 5f 53 65 74 49 fine Header_SetI
a9c0: 74 65 6d 28 68 77 6e 64 48 44 2c 20 69 2c 20 70 tem(hwndHD, i, p
a9d0: 68 64 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 hdi) (BOOL)SNDMS
a9e0: 47 28 28 68 77 6e 64 48 44 29 2c 20 48 44 4d 5f G((hwndHD), HDM_
a9f0: 53 45 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d SETITEM, (WPARAM
aa00: 29 28 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 )(int)(i), (LPAR
aa10: 41 4d 29 28 63 6f 6e 73 74 20 48 44 5f 49 54 45 AM)(const HD_ITE
aa20: 4d 20 2a 29 28 70 68 64 69 29 29 0d 0a 0d 0a 2f M *)(phdi))..../
aa30: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
aa40: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 >= 0x0300)..ali
aa50: 61 73 20 48 44 4c 41 59 4f 55 54 20 48 44 5f 4c as HDLAYOUT HD_L
aa60: 41 59 4f 55 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 AYOUT;..// #else
aa70: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
aa80: 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f ndif....struct _
aa90: 48 44 5f 4c 41 59 4f 55 54 20 7b 0d 0a 20 20 52 HD_LAYOUT {.. R
aaa0: 45 43 54 20 2a 70 72 63 3b 0d 0a 20 20 57 49 4e ECT *prc;.. WIN
aab0: 44 4f 57 50 4f 53 20 2a 70 77 70 6f 73 3b 0d 0a DOWPOS *pwpos;..
aac0: 7d 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 4c 41 59 }..alias _HD_LAY
aad0: 4f 55 54 20 48 44 4c 41 59 4f 55 54 3b 0d 0a 61 OUT HDLAYOUT;..a
aae0: 6c 69 61 73 20 5f 48 44 5f 4c 41 59 4f 55 54 2a lias _HD_LAYOUT*
aaf0: 20 4c 50 48 44 4c 41 59 4f 55 54 3b 0d 0a 0d 0a LPHDLAYOUT;....
ab00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 enum : uint { HD
ab10: 4d 5f 4c 41 59 4f 55 54 20 3d 20 48 44 4d 5f 46 M_LAYOUT = HDM_F
ab20: 49 52 53 54 20 2b 20 35 20 7d 0d 0a 2f 2f 20 23 IRST + 5 }..// #
ab30: 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 4c 61 define Header_La
ab40: 79 6f 75 74 28 68 77 6e 64 48 44 2c 20 70 6c 61 yout(hwndHD, pla
ab50: 79 6f 75 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d yout) (BOOL)SNDM
ab60: 53 47 28 28 68 77 6e 64 48 44 29 2c 20 48 44 4d SG((hwndHD), HDM
ab70: 5f 4c 41 59 4f 55 54 2c 20 30 2c 20 28 4c 50 41 _LAYOUT, 0, (LPA
ab80: 52 41 4d 29 28 48 44 5f 4c 41 59 4f 55 54 20 2a RAM)(HD_LAYOUT *
ab90: 29 28 70 6c 61 79 6f 75 74 29 29 0d 0a 0d 0a 65 )(playout))....e
aba0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 48 54 num : uint { HHT
abb0: 5f 4e 4f 57 48 45 52 45 20 3d 20 30 78 30 30 30 _NOWHERE = 0x000
abc0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
abd0: 20 7b 20 48 48 54 5f 4f 4e 48 45 41 44 45 52 20 { HHT_ONHEADER
abe0: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d = 0x0002 }..enum
abf0: 20 3a 20 75 69 6e 74 20 7b 20 48 48 54 5f 4f 4e : uint { HHT_ON
ac00: 44 49 56 49 44 45 52 20 3d 20 30 78 30 30 30 34 DIVIDER = 0x0004
ac10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
ac20: 7b 20 48 48 54 5f 4f 4e 44 49 56 4f 50 45 4e 20 { HHT_ONDIVOPEN
ac30: 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 = 0x0008 }..// #
ac40: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
ac50: 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 0x0500)..enum :
ac60: 20 75 69 6e 74 20 7b 20 48 48 54 5f 4f 4e 46 49 uint { HHT_ONFI
ac70: 4c 54 45 52 20 3d 20 30 78 30 30 31 30 20 7d 0d LTER = 0x0010 }.
ac80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
ac90: 48 54 5f 4f 4e 46 49 4c 54 45 52 42 55 54 54 4f HT_ONFILTERBUTTO
aca0: 4e 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 2f 2f N = 0x0020 }..//
acb0: 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 #endif..enum :
acc0: 75 69 6e 74 20 7b 20 48 48 54 5f 41 42 4f 56 45 uint { HHT_ABOVE
acd0: 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 = 0x0100 }..enu
ace0: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 48 54 5f 42 m : uint { HHT_B
acf0: 45 4c 4f 57 20 3d 20 30 78 30 32 30 30 20 7d 0d ELOW = 0x0200 }.
ad00: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
ad10: 48 54 5f 54 4f 52 49 47 48 54 20 3d 20 30 78 30 HT_TORIGHT = 0x0
ad20: 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 400 }..enum : ui
ad30: 6e 74 20 7b 20 48 48 54 5f 54 4f 4c 45 46 54 20 nt { HHT_TOLEFT
ad40: 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 2f 2f = 0x0800 }....//
ad50: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
ad60: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 >= 0x0300)..alia
ad70: 73 20 48 44 48 49 54 54 45 53 54 49 4e 46 4f 20 s HDHITTESTINFO
ad80: 48 44 5f 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d HD_HITTESTINFO;.
ad90: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e .// #else..// #.
ada0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ....// #endif...
adb0: 0a 73 74 72 75 63 74 20 5f 48 44 5f 48 49 54 54 .struct _HD_HITT
adc0: 45 53 54 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49 ESTINFO {.. POI
add0: 4e 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 20 66 NT pt;.. UINT f
ade0: 6c 61 67 73 3b 0d 0a 20 20 69 6e 74 20 69 49 74 lags;.. int iIt
adf0: 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48 em;..}..alias _H
ae00: 44 5f 48 49 54 54 45 53 54 49 4e 46 4f 20 48 44 D_HITTESTINFO HD
ae10: 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c HITTESTINFO;..al
ae20: 69 61 73 20 5f 48 44 5f 48 49 54 54 45 53 54 49 ias _HD_HITTESTI
ae30: 4e 46 4f 2a 20 4c 50 48 44 48 49 54 54 45 53 54 NFO* LPHDHITTEST
ae40: 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 INFO;....enum :
ae50: 75 69 6e 74 20 7b 20 48 44 4d 5f 48 49 54 54 45 uint { HDM_HITTE
ae60: 53 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b ST = HDM_FIRST +
ae70: 20 36 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 6 }....// #if (
ae80: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
ae90: 33 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 300)....enum : u
aea0: 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54 49 54 45 int { HDM_GETITE
aeb0: 4d 52 45 43 54 20 3d 20 48 44 4d 5f 46 49 52 53 MRECT = HDM_FIRS
aec0: 54 20 2b 20 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 T + 7 }..// #def
aed0: 69 6e 65 20 48 65 61 64 65 72 5f 47 65 74 49 74 ine Header_GetIt
aee0: 65 6d 52 65 63 74 28 68 77 6e 64 2c 20 69 49 74 emRect(hwnd, iIt
aef0: 65 6d 2c 20 6c 70 72 63 29 20 28 42 4f 4f 4c 29 em, lprc) (BOOL)
af00: 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 SNDMSG((hwnd), H
af10: 44 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 2c 20 DM_GETITEMRECT,
af20: 28 57 50 41 52 41 4d 29 28 69 49 74 65 6d 29 2c (WPARAM)(iItem),
af30: 20 28 4c 50 41 52 41 4d 29 28 6c 70 72 63 29 29 (LPARAM)(lprc))
af40: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
af50: 7b 20 48 44 4d 5f 53 45 54 49 4d 41 47 45 4c 49 { HDM_SETIMAGELI
af60: 53 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b ST = HDM_FIRST +
af70: 20 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 8 }..// #define
af80: 20 48 65 61 64 65 72 5f 53 65 74 49 6d 61 67 65 Header_SetImage
af90: 4c 69 73 74 28 68 77 6e 64 2c 20 68 69 6d 6c 29 List(hwnd, himl)
afa0: 20 28 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44 (HIMAGELIST)SND
afb0: 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f MSG((hwnd), HDM_
afc0: 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 30 2c SETIMAGELIST, 0,
afd0: 20 28 4c 50 41 52 41 4d 29 28 68 69 6d 6c 29 29 (LPARAM)(himl))
afe0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
aff0: 7b 20 48 44 4d 5f 47 45 54 49 4d 41 47 45 4c 49 { HDM_GETIMAGELI
b000: 53 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b ST = HDM_FIRST +
b010: 20 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 9 }..// #define
b020: 20 48 65 61 64 65 72 5f 47 65 74 49 6d 61 67 65 Header_GetImage
b030: 4c 69 73 74 28 68 77 6e 64 29 20 28 48 49 4d 41 List(hwnd) (HIMA
b040: 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 68 GELIST)SNDMSG((h
b050: 77 6e 64 29 2c 20 48 44 4d 5f 47 45 54 49 4d 41 wnd), HDM_GETIMA
b060: 47 45 4c 49 53 54 2c 20 30 2c 20 30 29 0d 0a 0d GELIST, 0, 0)...
b070: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
b080: 44 4d 5f 4f 52 44 45 52 54 4f 49 4e 44 45 58 20 DM_ORDERTOINDEX
b090: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 35 = HDM_FIRST + 15
b0a0: 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 }..// #define H
b0b0: 65 61 64 65 72 5f 4f 72 64 65 72 54 6f 49 6e 64 eader_OrderToInd
b0c0: 65 78 28 68 77 6e 64 2c 20 69 29 20 28 69 6e 74 ex(hwnd, i) (int
b0d0: 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
b0e0: 48 44 4d 5f 4f 52 44 45 52 54 4f 49 4e 44 45 58 HDM_ORDERTOINDEX
b0f0: 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c 20 30 , (WPARAM)(i), 0
b100: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
b110: 20 7b 20 48 44 4d 5f 43 52 45 41 54 45 44 52 41 { HDM_CREATEDRA
b120: 47 49 4d 41 47 45 20 3d 20 48 44 4d 5f 46 49 52 GIMAGE = HDM_FIR
b130: 53 54 20 2b 20 31 36 20 7d 0d 0a 2f 2f 20 23 64 ST + 16 }..// #d
b140: 65 66 69 6e 65 20 48 65 61 64 65 72 5f 43 72 65 efine Header_Cre
b150: 61 74 65 44 72 61 67 49 6d 61 67 65 28 68 77 6e ateDragImage(hwn
b160: 64 2c 20 69 29 20 28 48 49 4d 41 47 45 4c 49 53 d, i) (HIMAGELIS
b170: 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c T)SNDMSG((hwnd),
b180: 20 48 44 4d 5f 43 52 45 41 54 45 44 52 41 47 49 HDM_CREATEDRAGI
b190: 4d 41 47 45 2c 20 28 57 50 41 52 41 4d 29 28 69 MAGE, (WPARAM)(i
b1a0: 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 ), 0)....enum :
b1b0: 75 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54 4f 52 uint { HDM_GETOR
b1c0: 44 45 52 41 52 52 41 59 20 3d 20 48 44 4d 5f 46 DERARRAY = HDM_F
b1d0: 49 52 53 54 20 2b 20 31 37 20 7d 0d 0a 2f 2f 20 IRST + 17 }..//
b1e0: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 47 #define Header_G
b1f0: 65 74 4f 72 64 65 72 41 72 72 61 79 28 68 77 6e etOrderArray(hwn
b200: 64 2c 20 69 43 6f 75 6e 74 2c 20 6c 70 69 29 20 d, iCount, lpi)
b210: 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 (BOOL)SNDMSG((hw
b220: 6e 64 29 2c 20 48 44 4d 5f 47 45 54 4f 52 44 45 nd), HDM_GETORDE
b230: 52 41 52 52 41 59 2c 20 28 57 50 41 52 41 4d 29 RARRAY, (WPARAM)
b240: 28 69 43 6f 75 6e 74 29 2c 20 28 4c 50 41 52 41 (iCount), (LPARA
b250: 4d 29 28 6c 70 69 29 29 0d 0a 0d 0a 65 6e 75 6d M)(lpi))....enum
b260: 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 53 45 : uint { HDM_SE
b270: 54 4f 52 44 45 52 41 52 52 41 59 20 3d 20 48 44 TORDERARRAY = HD
b280: 4d 5f 46 49 52 53 54 20 2b 20 31 38 20 7d 0d 0a M_FIRST + 18 }..
b290: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65 // #define Heade
b2a0: 72 5f 53 65 74 4f 72 64 65 72 41 72 72 61 79 28 r_SetOrderArray(
b2b0: 68 77 6e 64 2c 20 69 43 6f 75 6e 74 2c 20 6c 70 hwnd, iCount, lp
b2c0: 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 i) (BOOL)SNDMSG(
b2d0: 28 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 4f (hwnd), HDM_SETO
b2e0: 52 44 45 52 41 52 52 41 59 2c 20 28 57 50 41 52 RDERARRAY, (WPAR
b2f0: 41 4d 29 28 69 43 6f 75 6e 74 29 2c 20 28 4c 50 AM)(iCount), (LP
b300: 41 52 41 4d 29 28 6c 70 69 29 29 0d 0a 0d 0a 65 ARAM)(lpi))....e
b310: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d num : uint { HDM
b320: 5f 53 45 54 48 4f 54 44 49 56 49 44 45 52 20 3d _SETHOTDIVIDER =
b330: 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 39 20 HDM_FIRST + 19
b340: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 }..// #define He
b350: 61 64 65 72 5f 53 65 74 48 6f 74 44 69 76 69 64 ader_SetHotDivid
b360: 65 72 28 68 77 6e 64 2c 20 66 50 6f 73 2c 20 64 er(hwnd, fPos, d
b370: 77 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 w) (int)SNDMSG((
b380: 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 48 4f hwnd), HDM_SETHO
b390: 54 44 49 56 49 44 45 52 2c 20 28 57 50 41 52 41 TDIVIDER, (WPARA
b3a0: 4d 29 28 66 50 6f 73 29 2c 20 28 4c 50 41 52 41 M)(fPos), (LPARA
b3b0: 4d 29 28 64 77 29 29 0d 0a 0d 0a 2f 2f 20 23 65 M)(dw))....// #e
b3c0: 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 ndif // _WI
b3d0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
b3e0: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e ....// #if (_WIN
b3f0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 32_IE >= 0x0500)
b400: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
b410: 7b 20 48 44 4d 5f 53 45 54 42 49 54 4d 41 50 4d { HDM_SETBITMAPM
b420: 41 52 47 49 4e 20 3d 20 48 44 4d 5f 46 49 52 53 ARGIN = HDM_FIRS
b430: 54 20 2b 20 32 30 20 7d 0d 0a 2f 2f 20 23 64 65 T + 20 }..// #de
b440: 66 69 6e 65 20 48 65 61 64 65 72 5f 53 65 74 42 fine Header_SetB
b450: 69 74 6d 61 70 4d 61 72 67 69 6e 28 68 77 6e 64 itmapMargin(hwnd
b460: 2c 20 69 57 69 64 74 68 29 20 28 69 6e 74 29 53 , iWidth) (int)S
b470: 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44 NDMSG((hwnd), HD
b480: 4d 5f 53 45 54 42 49 54 4d 41 50 4d 41 52 47 49 M_SETBITMAPMARGI
b490: 4e 2c 20 28 57 50 41 52 41 4d 29 28 69 57 69 64 N, (WPARAM)(iWid
b4a0: 74 68 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 th), 0)....enum
b4b0: 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54 : uint { HDM_GET
b4c0: 42 49 54 4d 41 50 4d 41 52 47 49 4e 20 3d 20 48 BITMAPMARGIN = H
b4d0: 44 4d 5f 46 49 52 53 54 20 2b 20 32 31 20 7d 0d DM_FIRST + 21 }.
b4e0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 .// #define Head
b4f0: 65 72 5f 47 65 74 42 69 74 6d 61 70 4d 61 72 67 er_GetBitmapMarg
b500: 69 6e 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e in(hwnd) (int)SN
b510: 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44 4d DMSG((hwnd), HDM
b520: 5f 47 45 54 42 49 54 4d 41 50 4d 41 52 47 49 4e _GETBITMAPMARGIN
b530: 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e 64 , 0, 0)..// #end
b540: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 if....// #if (_W
b550: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 IN32_IE >= 0x040
b560: 30 29 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 0)..alias CCM_SE
b570: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 48 TUNICODEFORMAT H
b580: 44 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 DM_SETUNICODEFOR
b590: 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 MAT;..// #define
b5a0: 20 48 65 61 64 65 72 5f 53 65 74 55 6e 69 63 6f Header_SetUnico
b5b0: 64 65 46 6f 72 6d 61 74 28 68 77 6e 64 2c 20 66 deFormat(hwnd, f
b5c0: 55 6e 69 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53 Unicode) (BOOL)S
b5d0: 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44 NDMSG((hwnd), HD
b5e0: 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d M_SETUNICODEFORM
b5f0: 41 54 2c 20 28 57 50 41 52 41 4d 29 28 66 55 6e AT, (WPARAM)(fUn
b600: 69 63 6f 64 65 29 2c 20 30 29 0d 0a 0d 0a 61 6c icode), 0)....al
b610: 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f ias CCM_GETUNICO
b620: 44 45 46 4f 52 4d 41 54 20 48 44 4d 5f 47 45 54 DEFORMAT HDM_GET
b630: 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a UNICODEFORMAT;..
b640: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65 // #define Heade
b650: 72 5f 47 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d r_GetUnicodeForm
b660: 61 74 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 at(hwnd) (BOOL)S
b670: 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44 NDMSG((hwnd), HD
b680: 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d M_GETUNICODEFORM
b690: 41 54 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 AT, 0, 0)..// #e
b6a0: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 ndif....// #if (
b6b0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
b6c0: 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 500)..enum : uin
b6d0: 74 20 7b 20 48 44 4d 5f 53 45 54 46 49 4c 54 45 t { HDM_SETFILTE
b6e0: 52 43 48 41 4e 47 45 54 49 4d 45 4f 55 54 20 3d RCHANGETIMEOUT =
b6f0: 20 48 44 4d 5f 46 49 52 53 54 2b 32 32 20 7d 0d HDM_FIRST+22 }.
b700: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 .// #define Head
b710: 65 72 5f 53 65 74 46 69 6c 74 65 72 43 68 61 6e er_SetFilterChan
b720: 67 65 54 69 6d 65 6f 75 74 28 68 77 6e 64 2c 20 geTimeout(hwnd,
b730: 69 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 i) (int)SNDMSG((
b740: 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 46 49 hwnd), HDM_SETFI
b750: 4c 54 45 52 43 48 41 4e 47 45 54 49 4d 45 4f 55 LTERCHANGETIMEOU
b760: 54 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 69 T, 0, (LPARAM)(i
b770: 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ))....enum : uin
b780: 74 20 7b 20 48 44 4d 5f 45 44 49 54 46 49 4c 54 t { HDM_EDITFILT
b790: 45 52 20 3d 20 48 44 4d 5f 46 49 52 53 54 2b 32 ER = HDM_FIRST+2
b7a0: 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 3 }..// #define
b7b0: 48 65 61 64 65 72 5f 45 64 69 74 46 69 6c 74 65 Header_EditFilte
b7c0: 72 28 68 77 6e 64 2c 20 69 2c 20 66 44 69 73 63 r(hwnd, i, fDisc
b7d0: 61 72 64 43 68 61 6e 67 65 73 29 20 28 69 6e 74 ardChanges) (int
b7e0: 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
b7f0: 48 44 4d 5f 45 44 49 54 46 49 4c 54 45 52 2c 20 HDM_EDITFILTER,
b800: 28 57 50 41 52 41 4d 29 28 69 29 2c 20 4d 41 4b (WPARAM)(i), MAK
b810: 45 4c 50 41 52 41 4d 28 66 44 69 73 63 61 72 64 ELPARAM(fDiscard
b820: 43 68 61 6e 67 65 73 2c 20 30 29 29 0d 0a 0d 0a Changes, 0))....
b830: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 enum : uint { HD
b840: 4d 5f 43 4c 45 41 52 46 49 4c 54 45 52 20 3d 20 M_CLEARFILTER =
b850: 48 44 4d 5f 46 49 52 53 54 2b 32 34 20 7d 0d 0a HDM_FIRST+24 }..
b860: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65 // #define Heade
b870: 72 5f 43 6c 65 61 72 46 69 6c 74 65 72 28 68 77 r_ClearFilter(hw
b880: 6e 64 2c 20 69 29 20 28 69 6e 74 29 53 4e 44 4d nd, i) (int)SNDM
b890: 53 47 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 43 SG((hwnd), HDM_C
b8a0: 4c 45 41 52 46 49 4c 54 45 52 2c 20 28 57 50 41 LEARFILTER, (WPA
b8b0: 52 41 4d 29 28 69 29 2c 20 30 29 0d 0a 2f 2f 20 RAM)(i), 0)..//
b8c0: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 43 #define Header_C
b8d0: 6c 65 61 72 41 6c 6c 46 69 6c 74 65 72 73 28 68 learAllFilters(h
b8e0: 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 wnd) (int)SNDMSG
b8f0: 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 43 4c 45 ((hwnd), HDM_CLE
b900: 41 52 46 49 4c 54 45 52 2c 20 28 57 50 41 52 41 ARFILTER, (WPARA
b910: 4d 29 2d 31 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e M)-1, 0)..// #en
b920: 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 dif....enum : ui
b930: 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 43 48 41 nt { HDN_ITEMCHA
b940: 4e 47 49 4e 47 41 20 3d 20 48 44 4e 5f 46 49 52 NGINGA = HDN_FIR
b950: 53 54 2d 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 ST-0 }..enum : u
b960: 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 43 48 int { HDN_ITEMCH
b970: 41 4e 47 49 4e 47 57 20 3d 20 48 44 4e 5f 46 49 ANGINGW = HDN_FI
b980: 52 53 54 2d 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a RST-20 }..enum :
b990: 20 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d uint { HDN_ITEM
b9a0: 43 48 41 4e 47 45 44 41 20 3d 20 48 44 4e 5f 46 CHANGEDA = HDN_F
b9b0: 49 52 53 54 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a IRST-1 }..enum :
b9c0: 20 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d uint { HDN_ITEM
b9d0: 43 48 41 4e 47 45 44 57 20 3d 20 48 44 4e 5f 46 CHANGEDW = HDN_F
b9e0: 49 52 53 54 2d 32 31 20 7d 0d 0a 65 6e 75 6d 20 IRST-21 }..enum
b9f0: 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 : uint { HDN_ITE
ba00: 4d 43 4c 49 43 4b 41 20 3d 20 48 44 4e 5f 46 49 MCLICKA = HDN_FI
ba10: 52 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 RST-2 }..enum :
ba20: 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 43 uint { HDN_ITEMC
ba30: 4c 49 43 4b 57 20 3d 20 48 44 4e 5f 46 49 52 53 LICKW = HDN_FIRS
ba40: 54 2d 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 T-22 }..enum : u
ba50: 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 44 42 int { HDN_ITEMDB
ba60: 4c 43 4c 49 43 4b 41 20 3d 20 48 44 4e 5f 46 49 LCLICKA = HDN_FI
ba70: 52 53 54 2d 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 RST-3 }..enum :
ba80: 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 44 uint { HDN_ITEMD
ba90: 42 4c 43 4c 49 43 4b 57 20 3d 20 48 44 4e 5f 46 BLCLICKW = HDN_F
baa0: 49 52 53 54 2d 32 33 20 7d 0d 0a 65 6e 75 6d 20 IRST-23 }..enum
bab0: 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 44 49 56 : uint { HDN_DIV
bac0: 49 44 45 52 44 42 4c 43 4c 49 43 4b 41 20 3d 20 IDERDBLCLICKA =
bad0: 48 44 4e 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 HDN_FIRST-5 }..e
bae0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e num : uint { HDN
baf0: 5f 44 49 56 49 44 45 52 44 42 4c 43 4c 49 43 4b _DIVIDERDBLCLICK
bb00: 57 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 35 W = HDN_FIRST-25
bb10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
bb20: 7b 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 43 4b { HDN_BEGINTRACK
bb30: 41 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 36 20 A = HDN_FIRST-6
bb40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
bb50: 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 43 4b 57 HDN_BEGINTRACKW
bb60: 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 36 20 = HDN_FIRST-26
bb70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
bb80: 20 48 44 4e 5f 45 4e 44 54 52 41 43 4b 41 20 3d HDN_ENDTRACKA =
bb90: 20 48 44 4e 5f 46 49 52 53 54 2d 37 20 7d 0d 0a HDN_FIRST-7 }..
bba0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 enum : uint { HD
bbb0: 4e 5f 45 4e 44 54 52 41 43 4b 57 20 3d 20 48 44 N_ENDTRACKW = HD
bbc0: 4e 5f 46 49 52 53 54 2d 32 37 20 7d 0d 0a 65 6e N_FIRST-27 }..en
bbd0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f um : uint { HDN_
bbe0: 54 52 41 43 4b 41 20 3d 20 48 44 4e 5f 46 49 52 TRACKA = HDN_FIR
bbf0: 53 54 2d 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 ST-8 }..enum : u
bc00: 69 6e 74 20 7b 20 48 44 4e 5f 54 52 41 43 4b 57 int { HDN_TRACKW
bc10: 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 38 20 = HDN_FIRST-28
bc20: 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
bc30: 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 2_IE >= 0x0300).
bc40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
bc50: 44 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20 DN_GETDISPINFOA
bc60: 3d 20 48 44 4e 5f 46 49 52 53 54 2d 39 20 7d 0d = HDN_FIRST-9 }.
bc70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
bc80: 44 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57 20 DN_GETDISPINFOW
bc90: 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 39 20 7d = HDN_FIRST-29 }
bca0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
bcb0: 48 44 4e 5f 42 45 47 49 4e 44 52 41 47 20 3d 20 HDN_BEGINDRAG =
bcc0: 48 44 4e 5f 46 49 52 53 54 2d 31 30 20 7d 0d 0a HDN_FIRST-10 }..
bcd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 enum : uint { HD
bce0: 4e 5f 45 4e 44 44 52 41 47 20 3d 20 48 44 4e 5f N_ENDDRAG = HDN_
bcf0: 46 49 52 53 54 2d 31 31 20 7d 0d 0a 2f 2f 20 23 FIRST-11 }..// #
bd00: 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f endif..// #if (_
bd10: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 WIN32_IE >= 0x05
bd20: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 00)..enum : uint
bd30: 20 7b 20 48 44 4e 5f 46 49 4c 54 45 52 43 48 41 { HDN_FILTERCHA
bd40: 4e 47 45 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d NGE = HDN_FIRST-
bd50: 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 12 }..enum : uin
bd60: 74 20 7b 20 48 44 4e 5f 46 49 4c 54 45 52 42 54 t { HDN_FILTERBT
bd70: 4e 43 4c 49 43 4b 20 3d 20 48 44 4e 5f 46 49 52 NCLICK = HDN_FIR
bd80: 53 54 2d 31 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 ST-13 }..// #end
bd90: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 if....// #ifdef
bda0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48 UNICODE..alias H
bdb0: 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47 57 DN_ITEMCHANGINGW
bdc0: 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e HDN_ITEMCHANGIN
bdd0: 47 3b 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 49 54 G;..alias HDN_IT
bde0: 45 4d 43 48 41 4e 47 45 44 57 20 48 44 4e 5f 49 EMCHANGEDW HDN_I
bdf0: 54 45 4d 43 48 41 4e 47 45 44 3b 0d 0a 61 6c 69 TEMCHANGED;..ali
be00: 61 73 20 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b as HDN_ITEMCLICK
be10: 57 20 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b 3b W HDN_ITEMCLICK;
be20: 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 49 54 45 4d ..alias HDN_ITEM
be30: 44 42 4c 43 4c 49 43 4b 57 20 48 44 4e 5f 49 54 DBLCLICKW HDN_IT
be40: 45 4d 44 42 4c 43 4c 49 43 4b 3b 0d 0a 61 6c 69 EMDBLCLICK;..ali
be50: 61 73 20 48 44 4e 5f 44 49 56 49 44 45 52 44 42 as HDN_DIVIDERDB
be60: 4c 43 4c 49 43 4b 57 20 48 44 4e 5f 44 49 56 49 LCLICKW HDN_DIVI
be70: 44 45 52 44 42 4c 43 4c 49 43 4b 3b 0d 0a 61 6c DERDBLCLICK;..al
be80: 69 61 73 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 ias HDN_BEGINTRA
be90: 43 4b 57 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 CKW HDN_BEGINTRA
bea0: 43 4b 3b 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 45 CK;..alias HDN_E
beb0: 4e 44 54 52 41 43 4b 57 20 48 44 4e 5f 45 4e 44 NDTRACKW HDN_END
bec0: 54 52 41 43 4b 3b 0d 0a 61 6c 69 61 73 20 48 44 TRACK;..alias HD
bed0: 4e 5f 54 52 41 43 4b 57 20 48 44 4e 5f 54 52 41 N_TRACKW HDN_TRA
bee0: 43 4b 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 CK;..// #if (_WI
bef0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
bf00: 29 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 47 45 54 )..alias HDN_GET
bf10: 44 49 53 50 49 4e 46 4f 57 20 48 44 4e 5f 47 45 DISPINFOW HDN_GE
bf20: 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 TDISPINFO;..// #
bf30: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d endif..// #else.
bf40: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
bf50: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
bf60: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
bf70: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
bf80: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 // #.....// #if
bf90: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
bfa0: 30 33 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0300)..// #.....
bfb0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 // #endif..// #e
bfc0: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 ndif....// #if (
bfd0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
bfe0: 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e 4d 48 45 300)..alias NMHE
bff0: 41 44 45 52 41 20 48 44 5f 4e 4f 54 49 46 59 41 ADERA HD_NOTIFYA
c000: 3b 0d 0a 61 6c 69 61 73 20 4e 4d 48 45 41 44 45 ;..alias NMHEADE
c010: 52 57 20 48 44 5f 4e 4f 54 49 46 59 57 3b 0d 0a RW HD_NOTIFYW;..
c020: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
c030: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
c040: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
c050: 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20 4e #endif..alias N
c060: 4d 48 45 41 44 45 52 20 48 44 5f 4e 4f 54 49 46 MHEADER HD_NOTIF
c070: 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 Y;....struct tag
c080: 4e 4d 48 45 41 44 45 52 41 20 7b 0d 0a 20 20 4e NMHEADERA {.. N
c090: 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 MHDR hdr;.. int
c0a0: 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 20 69 iItem;.. int i
c0b0: 42 75 74 74 6f 6e 3b 0d 0a 20 20 48 44 49 54 45 Button;.. HDITE
c0c0: 4d 41 20 2a 70 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 MA *pitem;..}..a
c0d0: 6c 69 61 73 20 74 61 67 4e 4d 48 45 41 44 45 52 lias tagNMHEADER
c0e0: 41 20 4e 4d 48 45 41 44 45 52 41 3b 0d 0a 61 6c A NMHEADERA;..al
c0f0: 69 61 73 20 74 61 67 4e 4d 48 45 41 44 45 52 41 ias tagNMHEADERA
c100: 2a 20 4c 50 4e 4d 48 45 41 44 45 52 41 3b 0d 0a * LPNMHEADERA;..
c110: 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 48 45 ..struct tagNMHE
c120: 41 44 45 52 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 ADERW {.. NMHDR
c130: 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74 hdr;.. int iIt
c140: 65 6d 3b 0d 0a 20 20 69 6e 74 20 69 42 75 74 74 em;.. int iButt
c150: 6f 6e 3b 0d 0a 20 20 48 44 49 54 45 4d 57 20 2a on;.. HDITEMW *
c160: 70 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 pitem;..}..alias
c170: 20 74 61 67 4e 4d 48 45 41 44 45 52 57 20 4e 4d tagNMHEADERW NM
c180: 48 45 41 44 45 52 57 3b 0d 0a 61 6c 69 61 73 20 HEADERW;..alias
c190: 74 61 67 4e 4d 48 45 41 44 45 52 57 2a 20 4c 50 tagNMHEADERW* LP
c1a0: 4e 4d 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 2f 2f NMHEADERW;....//
c1b0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
c1c0: 0a 61 6c 69 61 73 20 4e 4d 48 45 41 44 45 52 57 .alias NMHEADERW
c1d0: 20 4e 4d 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 NMHEADER;..alia
c1e0: 73 20 4c 50 4e 4d 48 45 41 44 45 52 57 20 4c 50 s LPNMHEADERW LP
c1f0: 4e 4d 48 45 41 44 45 52 3b 0d 0a 2f 2f 20 23 65 NMHEADER;..// #e
c200: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
c210: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
c220: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d ....struct tagNM
c230: 48 44 44 49 53 50 49 4e 46 4f 57 20 7b 0d 0a 20 HDDISPINFOW {..
c240: 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 NMHDR hdr;.. i
c250: 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 55 49 4e nt iItem;.. UIN
c260: 54 20 6d 61 73 6b 3b 0d 0a 20 20 4c 50 57 53 54 T mask;.. LPWST
c270: 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e R pszText;.. in
c280: 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 t cchTextMax;..
c290: 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 int iImage;..
c2a0: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a LPARAM lParam;..
c2b0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48 44 }..alias tagNMHD
c2c0: 44 49 53 50 49 4e 46 4f 57 20 4e 4d 48 44 44 49 DISPINFOW NMHDDI
c2d0: 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 SPINFOW;..alias
c2e0: 74 61 67 4e 4d 48 44 44 49 53 50 49 4e 46 4f 57 tagNMHDDISPINFOW
c2f0: 2a 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46 4f * LPNMHDDISPINFO
c300: 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 W;....struct tag
c310: 4e 4d 48 44 44 49 53 50 49 4e 46 4f 41 20 7b 0d NMHDDISPINFOA {.
c320: 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 . NMHDR hdr;..
c330: 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 55 int iItem;.. U
c340: 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 4c 50 53 INT mask;.. LPS
c350: 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 TR pszText;.. i
c360: 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a nt cchTextMax;..
c370: 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 int iImage;..
c380: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d LPARAM lParam;.
c390: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48 .}..alias tagNMH
c3a0: 44 44 49 53 50 49 4e 46 4f 41 20 4e 4d 48 44 44 DDISPINFOA NMHDD
c3b0: 49 53 50 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 ISPINFOA;..alias
c3c0: 20 74 61 67 4e 4d 48 44 44 49 53 50 49 4e 46 4f tagNMHDDISPINFO
c3d0: 41 2a 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46 A* LPNMHDDISPINF
c3e0: 4f 41 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 OA;....// #ifdef
c3f0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 UNICODE..alias
c400: 4e 4d 48 44 44 49 53 50 49 4e 46 4f 57 20 4e 4d NMHDDISPINFOW NM
c410: 48 44 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 HDDISPINFO;..ali
c420: 61 73 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46 as LPNMHDDISPINF
c430: 4f 57 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46 OW LPNMHDDISPINF
c440: 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f O;..// #else..//
c450: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
c460: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
c470: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
c480: 3d 20 30 78 30 35 30 30 29 0d 0a 73 74 72 75 63 = 0x0500)..struc
c490: 74 20 74 61 67 4e 4d 48 44 46 49 4c 54 45 52 42 t tagNMHDFILTERB
c4a0: 54 4e 43 4c 49 43 4b 20 7b 0d 0a 20 20 4e 4d 48 TNCLICK {.. NMH
c4b0: 44 52 20 68 64 72 3b 0d 0a 20 20 49 4e 54 20 69 DR hdr;.. INT i
c4c0: 49 74 65 6d 3b 0d 0a 20 20 52 45 43 54 20 72 63 Item;.. RECT rc
c4d0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e ;..}..alias tagN
c4e0: 4d 48 44 46 49 4c 54 45 52 42 54 4e 43 4c 49 43 MHDFILTERBTNCLIC
c4f0: 4b 20 4e 4d 48 44 46 49 4c 54 45 52 42 54 4e 43 K NMHDFILTERBTNC
c500: 4c 49 43 4b 3b 0d 0a 61 6c 69 61 73 20 74 61 67 LICK;..alias tag
c510: 4e 4d 48 44 46 49 4c 54 45 52 42 54 4e 43 4c 49 NMHDFILTERBTNCLI
c520: 43 4b 2a 20 4c 50 4e 4d 48 44 46 49 4c 54 45 52 CK* LPNMHDFILTER
c530: 42 54 4e 43 4c 49 43 4b 3b 0d 0a 0d 0a 2f 2f 20 BTNCLICK;....//
c540: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e #endif....// #en
c550: 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f 48 45 dif // NOHE
c560: 41 44 45 52 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 ADER....// #ifnd
c570: 65 66 20 4e 4f 54 4f 4f 4c 42 41 52 0d 0a 0d 0a ef NOTOOLBAR....
c580: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 // #ifdef _WIN32
c590: 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 ..const wchar[]
c5a0: 54 4f 4f 4c 42 41 52 43 4c 41 53 53 4e 41 4d 45 TOOLBARCLASSNAME
c5b0: 57 20 3d 20 22 54 6f 6f 6c 62 61 72 57 69 6e 64 W = "ToolbarWind
c5c0: 6f 77 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 ow32";..const ch
c5d0: 61 72 5b 5d 20 54 4f 4f 4c 42 41 52 43 4c 41 53 ar[] TOOLBARCLAS
c5e0: 53 4e 41 4d 45 41 20 3d 20 22 54 6f 6f 6c 62 61 SNAMEA = "Toolba
c5f0: 72 57 69 6e 64 6f 77 33 32 22 3b 0d 0a 0d 0a 2f rWindow32";..../
c600: 2f 20 23 69 66 64 65 66 20 20 55 4e 49 43 4f 44 / #ifdef UNICOD
c610: 45 0d 0a 61 6c 69 61 73 20 54 4f 4f 4c 42 41 52 E..alias TOOLBAR
c620: 43 4c 41 53 53 4e 41 4d 45 57 20 54 4f 4f 4c 42 CLASSNAMEW TOOLB
c630: 41 52 43 4c 41 53 53 4e 41 4d 45 3b 0d 0a 2f 2f ARCLASSNAME;..//
c640: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
c650: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
c660: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
c670: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 .// #endif....st
c680: 72 75 63 74 20 5f 54 42 42 55 54 54 4f 4e 20 7b ruct _TBBUTTON {
c690: 0d 0a 20 20 69 6e 74 20 69 42 69 74 6d 61 70 3b .. int iBitmap;
c6a0: 0d 0a 20 20 69 6e 74 20 69 64 43 6f 6d 6d 61 6e .. int idComman
c6b0: 64 3b 0d 0a 20 20 42 59 54 45 20 66 73 53 74 61 d;.. BYTE fsSta
c6c0: 74 65 3b 0d 0a 20 20 42 59 54 45 20 66 73 53 74 te;.. BYTE fsSt
c6d0: 79 6c 65 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 yle;..// #ifdef
c6e0: 5f 57 49 4e 36 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a _WIN64..// .....
c6f0: 2f 2f 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64 // #elif defined
c700: 28 5f 57 49 4e 33 32 29 0d 0a 20 20 42 59 54 45 (_WIN32).. BYTE
c710: 20 62 52 65 73 65 72 76 65 64 5b 32 5d 3b 0d 0a bReserved[2];..
c720: 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 44 57 4f // #endif.. DWO
c730: 52 44 5f 50 54 52 20 64 77 44 61 74 61 3b 0d 0a RD_PTR dwData;..
c740: 20 20 49 4e 54 5f 50 54 52 20 69 53 74 72 69 6e INT_PTR iStrin
c750: 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 42 g;..}..alias _TB
c760: 42 55 54 54 4f 4e 20 54 42 42 55 54 54 4f 4e 3b BUTTON TBBUTTON;
c770: 0d 0a 61 6c 69 61 73 20 5f 54 42 42 55 54 54 4f ..alias _TBBUTTO
c780: 4e 2a 20 50 54 42 42 55 54 54 4f 4e 3b 0d 0a 61 N* PTBBUTTON;..a
c790: 6c 69 61 73 20 5f 54 42 42 55 54 54 4f 4e 2a 20 lias _TBBUTTON*
c7a0: 4c 50 54 42 42 55 54 54 4f 4e 3b 0d 0a 0d 0a 61 LPTBBUTTON;....a
c7b0: 6c 69 61 73 20 54 42 42 55 54 54 4f 4e 2a 20 4c lias TBBUTTON* L
c7c0: 50 43 54 42 42 55 54 54 4f 4e 3b 0d 0a 0d 0a 73 PCTBBUTTON;....s
c7d0: 74 72 75 63 74 20 5f 43 4f 4c 4f 52 4d 41 50 20 truct _COLORMAP
c7e0: 7b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 66 72 {.. COLORREF fr
c7f0: 6f 6d 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 om;.. COLORREF
c800: 74 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 43 to;..}..alias _C
c810: 4f 4c 4f 52 4d 41 50 20 43 4f 4c 4f 52 4d 41 50 OLORMAP COLORMAP
c820: 3b 0d 0a 61 6c 69 61 73 20 5f 43 4f 4c 4f 52 4d ;..alias _COLORM
c830: 41 50 2a 20 4c 50 43 4f 4c 4f 52 4d 41 50 3b 0d AP* LPCOLORMAP;.
c840: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
c850: 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 43 s) export HWND C
c860: 72 65 61 74 65 54 6f 6f 6c 62 61 72 45 78 28 48 reateToolbarEx(H
c870: 57 4e 44 20 68 77 6e 64 2c 20 44 57 4f 52 44 20 WND hwnd, DWORD
c880: 77 73 2c 20 55 49 4e 54 20 77 49 44 2c 20 69 6e ws, UINT wID, in
c890: 74 20 6e 42 69 74 6d 61 70 73 2c 0d 0a 20 20 48 t nBitmaps,.. H
c8a0: 49 4e 53 54 41 4e 43 45 20 68 42 4d 49 6e 73 74 INSTANCE hBMInst
c8b0: 2c 20 55 49 4e 54 5f 50 54 52 20 77 42 4d 49 44 , UINT_PTR wBMID
c8c0: 2c 20 4c 50 43 54 42 42 55 54 54 4f 4e 20 6c 70 , LPCTBBUTTON lp
c8d0: 42 75 74 74 6f 6e 73 2c 0d 0a 20 20 69 6e 74 20 Buttons,.. int
c8e0: 69 4e 75 6d 42 75 74 74 6f 6e 73 2c 20 69 6e 74 iNumButtons, int
c8f0: 20 64 78 42 75 74 74 6f 6e 2c 20 69 6e 74 20 64 dxButton, int d
c900: 79 42 75 74 74 6f 6e 2c 0d 0a 20 20 69 6e 74 20 yButton,.. int
c910: 64 78 42 69 74 6d 61 70 2c 20 69 6e 74 20 64 79 dxBitmap, int dy
c920: 42 69 74 6d 61 70 2c 20 55 49 4e 54 20 75 53 74 Bitmap, UINT uSt
c930: 72 75 63 74 53 69 7a 65 29 3b 0d 0a 0d 0a 65 78 ructSize);....ex
c940: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
c950: 70 6f 72 74 20 48 42 49 54 4d 41 50 20 43 72 65 port HBITMAP Cre
c960: 61 74 65 4d 61 70 70 65 64 42 69 74 6d 61 70 28 ateMappedBitmap(
c970: 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 HINSTANCE hInsta
c980: 6e 63 65 2c 20 49 4e 54 5f 50 54 52 20 69 64 42 nce, INT_PTR idB
c990: 69 74 6d 61 70 2c 0d 0a 20 20 55 49 4e 54 20 77 itmap,.. UINT w
c9a0: 46 6c 61 67 73 2c 20 4c 50 43 4f 4c 4f 52 4d 41 Flags, LPCOLORMA
c9b0: 50 20 6c 70 43 6f 6c 6f 72 4d 61 70 2c 0d 0a 20 P lpColorMap,..
c9c0: 20 69 6e 74 20 69 4e 75 6d 4d 61 70 73 29 3b 0d int iNumMaps);.
c9d0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
c9e0: 20 43 4d 42 5f 4d 41 53 4b 45 44 20 3d 20 30 78 CMB_MASKED = 0x
c9f0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 02 }..enum : uin
ca00: 74 20 7b 20 54 42 53 54 41 54 45 5f 43 48 45 43 t { TBSTATE_CHEC
ca10: 4b 45 44 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e KED = 0x01 }..en
ca20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 um : uint { TBST
ca30: 41 54 45 5f 50 52 45 53 53 45 44 20 3d 20 30 78 ATE_PRESSED = 0x
ca40: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 02 }..enum : uin
ca50: 74 20 7b 20 54 42 53 54 41 54 45 5f 45 4e 41 42 t { TBSTATE_ENAB
ca60: 4c 45 44 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e LED = 0x04 }..en
ca70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 um : uint { TBST
ca80: 41 54 45 5f 48 49 44 44 45 4e 20 3d 20 30 78 30 ATE_HIDDEN = 0x0
ca90: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 8 }..enum : uint
caa0: 20 7b 20 54 42 53 54 41 54 45 5f 49 4e 44 45 54 { TBSTATE_INDET
cab0: 45 52 4d 49 4e 41 54 45 20 3d 20 30 78 31 30 20 ERMINATE = 0x10
cac0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
cad0: 20 54 42 53 54 41 54 45 5f 57 52 41 50 20 3d 20 TBSTATE_WRAP =
cae0: 30 78 32 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 0x20 }..// #if (
caf0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
cb00: 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 300)..enum : uin
cb10: 74 20 7b 20 54 42 53 54 41 54 45 5f 45 4c 4c 49 t { TBSTATE_ELLI
cb20: 50 53 45 53 20 3d 20 30 78 34 30 20 7d 0d 0a 2f PSES = 0x40 }../
cb30: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 / #endif..// #if
cb40: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
cb50: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 x0400)..enum : u
cb60: 69 6e 74 20 7b 20 54 42 53 54 41 54 45 5f 4d 41 int { TBSTATE_MA
cb70: 52 4b 45 44 20 3d 20 30 78 38 30 20 7d 0d 0a 2f RKED = 0x80 }../
cb80: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d / #endif....enum
cb90: 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c : uint { TBSTYL
cba0: 45 5f 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 E_BUTTON = 0x000
cbb0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
cbc0: 20 7b 20 54 42 53 54 59 4c 45 5f 53 45 50 20 3d { TBSTYLE_SEP =
cbd0: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
cbe0: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 : uint { TBSTYLE
cbf0: 5f 43 48 45 43 4b 20 3d 20 30 78 30 30 30 32 20 _CHECK = 0x0002
cc00: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
cc10: 20 54 42 53 54 59 4c 45 5f 47 52 4f 55 50 20 3d TBSTYLE_GROUP =
cc20: 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 0x0004 }..enum
cc30: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 : uint { TBSTYLE
cc40: 5f 43 48 45 43 4b 47 52 4f 55 50 20 3d 20 54 42 _CHECKGROUP = TB
cc50: 53 54 59 4c 45 5f 47 52 4f 55 50 20 7c 20 54 42 STYLE_GROUP | TB
cc60: 53 54 59 4c 45 5f 43 48 45 43 4b 20 7d 0d 0a 2f STYLE_CHECK }../
cc70: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
cc80: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 >= 0x0300)..enu
cc90: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 m : uint { TBSTY
cca0: 4c 45 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 30 78 LE_DROPDOWN = 0x
ccb0: 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 0008 }..// #endi
ccc0: 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 f..// #if (_WIN3
ccd0: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
cce0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
ccf0: 42 53 54 59 4c 45 5f 41 55 54 4f 53 49 5a 45 20 BSTYLE_AUTOSIZE
cd00: 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d = 0x0010 }..enum
cd10: 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c : uint { TBSTYL
cd20: 45 5f 4e 4f 50 52 45 46 49 58 20 3d 20 30 78 30 E_NOPREFIX = 0x0
cd30: 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 020 }..// #endif
cd40: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
cd50: 7b 20 54 42 53 54 59 4c 45 5f 54 4f 4f 4c 54 49 { TBSTYLE_TOOLTI
cd60: 50 53 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 PS = 0x0100 }..e
cd70: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 num : uint { TBS
cd80: 54 59 4c 45 5f 57 52 41 50 41 42 4c 45 20 3d 20 TYLE_WRAPABLE =
cd90: 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0200 }..enum :
cda0: 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f uint { TBSTYLE_
cdb0: 41 4c 54 44 52 41 47 20 3d 20 30 78 30 34 30 30 ALTDRAG = 0x0400
cdc0: 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e }..// #if (_WIN
cdd0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 32_IE >= 0x0300)
cde0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
cdf0: 54 42 53 54 59 4c 45 5f 46 4c 41 54 20 3d 20 30 TBSTYLE_FLAT = 0
ce00: 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0800 }..enum :
ce10: 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f 4c uint { TBSTYLE_L
ce20: 49 53 54 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a IST = 0x1000 }..
ce30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
ce40: 53 54 59 4c 45 5f 43 55 53 54 4f 4d 45 52 41 53 STYLE_CUSTOMERAS
ce50: 45 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 2f 2f E = 0x2000 }..//
ce60: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 #endif..// #if
ce70: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
ce80: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0400)..enum : ui
ce90: 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f 52 45 47 nt { TBSTYLE_REG
cea0: 49 53 54 45 52 44 52 4f 50 20 3d 20 30 78 34 30 ISTERDROP = 0x40
ceb0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
cec0: 74 20 7b 20 54 42 53 54 59 4c 45 5f 54 52 41 4e t { TBSTYLE_TRAN
ced0: 53 50 41 52 45 4e 54 20 3d 20 30 78 38 30 30 30 SPARENT = 0x8000
cee0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
cef0: 7b 20 54 42 53 54 59 4c 45 5f 45 58 5f 44 52 41 { TBSTYLE_EX_DRA
cf00: 57 44 44 41 52 52 4f 57 53 20 3d 20 30 78 30 30 WDDARROWS = 0x00
cf10: 30 30 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 65 6e 000001 }..// #en
cf20: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f dif....// #if (_
cf30: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 WIN32_IE >= 0x05
cf40: 30 30 29 0d 0a 61 6c 69 61 73 20 54 42 53 54 59 00)..alias TBSTY
cf50: 4c 45 5f 42 55 54 54 4f 4e 20 42 54 4e 53 5f 42 LE_BUTTON BTNS_B
cf60: 55 54 54 4f 4e 3b 0d 0a 61 6c 69 61 73 20 54 42 UTTON;..alias TB
cf70: 53 54 59 4c 45 5f 53 45 50 20 42 54 4e 53 5f 53 STYLE_SEP BTNS_S
cf80: 45 50 3b 0d 0a 61 6c 69 61 73 20 54 42 53 54 59 EP;..alias TBSTY
cf90: 4c 45 5f 43 48 45 43 4b 20 42 54 4e 53 5f 43 48 LE_CHECK BTNS_CH
cfa0: 45 43 4b 3b 0d 0a 61 6c 69 61 73 20 54 42 53 54 ECK;..alias TBST
cfb0: 59 4c 45 5f 47 52 4f 55 50 20 42 54 4e 53 5f 47 YLE_GROUP BTNS_G
cfc0: 52 4f 55 50 3b 0d 0a 61 6c 69 61 73 20 54 42 53 ROUP;..alias TBS
cfd0: 54 59 4c 45 5f 43 48 45 43 4b 47 52 4f 55 50 20 TYLE_CHECKGROUP
cfe0: 42 54 4e 53 5f 43 48 45 43 4b 47 52 4f 55 50 3b BTNS_CHECKGROUP;
cff0: 0d 0a 61 6c 69 61 73 20 54 42 53 54 59 4c 45 5f ..alias TBSTYLE_
d000: 44 52 4f 50 44 4f 57 4e 20 42 54 4e 53 5f 44 52 DROPDOWN BTNS_DR
d010: 4f 50 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 54 OPDOWN;..alias T
d020: 42 53 54 59 4c 45 5f 41 55 54 4f 53 49 5a 45 20 BSTYLE_AUTOSIZE
d030: 42 54 4e 53 5f 41 55 54 4f 53 49 5a 45 3b 0d 0a BTNS_AUTOSIZE;..
d040: 61 6c 69 61 73 20 54 42 53 54 59 4c 45 5f 4e 4f alias TBSTYLE_NO
d050: 50 52 45 46 49 58 20 42 54 4e 53 5f 4e 4f 50 52 PREFIX BTNS_NOPR
d060: 45 46 49 58 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f EFIX;..// #if (_
d070: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 WIN32_IE >= 0x05
d080: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 01)..enum : uint
d090: 20 7b 20 42 54 4e 53 5f 53 48 4f 57 54 45 58 54 { BTNS_SHOWTEXT
d0a0: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 2f 2f 20 = 0x0040 }..//
d0b0: 23 65 6e 64 69 66 20 20 2f 2f 20 30 78 30 35 30 #endif // 0x050
d0c0: 31 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 1..enum : uint {
d0d0: 20 42 54 4e 53 5f 57 48 4f 4c 45 44 52 4f 50 44 BTNS_WHOLEDROPD
d0e0: 4f 57 4e 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a OWN = 0x0080 }..
d0f0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
d100: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
d110: 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 = 0x0501)..enum
d120: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 : uint { TBSTYLE
d130: 5f 45 58 5f 4d 49 58 45 44 42 55 54 54 4f 4e 53 _EX_MIXEDBUTTONS
d140: 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d = 0x00000008 }.
d150: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
d160: 42 53 54 59 4c 45 5f 45 58 5f 48 49 44 45 43 4c BSTYLE_EX_HIDECL
d170: 49 50 50 45 44 42 55 54 54 4f 4e 53 20 3d 20 30 IPPEDBUTTONS = 0
d180: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 2f 2f 20 x00000010 }..//
d190: 23 65 6e 64 69 66 20 20 2f 2f 20 30 78 30 35 30 #endif // 0x050
d1a0: 31 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 1....// #if (_WI
d1b0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 N32_WINNT >= 0x5
d1c0: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 01)..enum : uint
d1d0: 20 7b 20 54 42 53 54 59 4c 45 5f 45 58 5f 44 4f { TBSTYLE_EX_DO
d1e0: 55 42 4c 45 42 55 46 46 45 52 20 3d 20 30 78 30 UBLEBUFFER = 0x0
d1f0: 30 30 30 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 0000080 }..// #e
d200: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 ndif....// #if (
d210: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
d220: 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 400)....struct _
d230: 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41 57 20 7b NMTBCUSTOMDRAW {
d240: 0d 0a 20 20 4e 4d 43 55 53 54 4f 4d 44 52 41 57 .. NMCUSTOMDRAW
d250: 20 6e 6d 63 64 3b 0d 0a 20 20 48 42 52 55 53 48 nmcd;.. HBRUSH
d260: 20 68 62 72 4d 6f 6e 6f 44 69 74 68 65 72 3b 0d hbrMonoDither;.
d270: 0a 20 20 48 42 52 55 53 48 20 68 62 72 4c 69 6e . HBRUSH hbrLin
d280: 65 73 3b 0d 0a 20 20 48 50 45 4e 20 68 70 65 6e es;.. HPEN hpen
d290: 4c 69 6e 65 73 3b 0d 0a 0d 0a 20 20 43 4f 4c 4f Lines;.... COLO
d2a0: 52 52 45 46 20 63 6c 72 54 65 78 74 3b 0d 0a 20 RREF clrText;..
d2b0: 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 4d 61 72 COLORREF clrMar
d2c0: 6b 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 k;.. COLORREF c
d2d0: 6c 72 54 65 78 74 48 69 67 68 6c 69 67 68 74 3b lrTextHighlight;
d2e0: 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 .. COLORREF clr
d2f0: 42 74 6e 46 61 63 65 3b 0d 0a 20 20 43 4f 4c 4f BtnFace;.. COLO
d300: 52 52 45 46 20 63 6c 72 42 74 6e 48 69 67 68 6c RREF clrBtnHighl
d310: 69 67 68 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 ight;.. COLORRE
d320: 46 20 63 6c 72 48 69 67 68 6c 69 67 68 74 48 6f F clrHighlightHo
d330: 74 54 72 61 63 6b 3b 0d 0a 0d 0a 20 20 52 45 43 tTrack;.... REC
d340: 54 20 72 63 54 65 78 74 3b 0d 0a 0d 0a 20 20 69 T rcText;.... i
d350: 6e 74 20 6e 53 74 72 69 6e 67 42 6b 4d 6f 64 65 nt nStringBkMode
d360: 3b 0d 0a 20 20 69 6e 74 20 6e 48 4c 53 74 72 69 ;.. int nHLStri
d370: 6e 67 42 6b 4d 6f 64 65 3b 0d 0a 2f 2f 20 23 69 ngBkMode;..// #i
d380: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 f (_WIN32_WINNT
d390: 3e 3d 20 30 78 35 30 31 29 0d 0a 20 20 69 6e 74 >= 0x501).. int
d3a0: 20 69 4c 69 73 74 47 61 70 3b 0d 0a 2f 2f 20 23 iListGap;..// #
d3b0: 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 endif..}..alias
d3c0: 5f 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41 57 20 _NMTBCUSTOMDRAW
d3d0: 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41 57 3b 0d NMTBCUSTOMDRAW;.
d3e0: 0a 61 6c 69 61 73 20 5f 4e 4d 54 42 43 55 53 54 .alias _NMTBCUST
d3f0: 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 54 42 43 55 OMDRAW* LPNMTBCU
d400: 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 65 6e 75 STOMDRAW;....enu
d410: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44 52 m : uint { TBCDR
d420: 46 5f 4e 4f 45 44 47 45 53 20 3d 20 30 78 30 30 F_NOEDGES = 0x00
d430: 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 010000 }..enum :
d440: 20 75 69 6e 74 20 7b 20 54 42 43 44 52 46 5f 48 uint { TBCDRF_H
d450: 49 4c 49 54 45 48 4f 54 54 52 41 43 4b 20 3d 20 ILITEHOTTRACK =
d460: 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 0x00020000 }..en
d470: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44 um : uint { TBCD
d480: 52 46 5f 4e 4f 4f 46 46 53 45 54 20 3d 20 30 78 RF_NOOFFSET = 0x
d490: 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 00040000 }..enum
d4a0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44 52 46 : uint { TBCDRF
d4b0: 5f 4e 4f 4d 41 52 4b 20 3d 20 30 78 30 30 30 38 _NOMARK = 0x0008
d4c0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
d4d0: 69 6e 74 20 7b 20 54 42 43 44 52 46 5f 4e 4f 45 int { TBCDRF_NOE
d4e0: 54 43 48 45 44 45 46 46 45 43 54 20 3d 20 30 78 TCHEDEFFECT = 0x
d4f0: 30 30 31 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 00100000 }..// #
d500: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 endif....// #if
d510: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
d520: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0500)..enum : ui
d530: 6e 74 20 7b 20 54 42 43 44 52 46 5f 42 4c 45 4e nt { TBCDRF_BLEN
d540: 44 49 43 4f 4e 20 3d 20 30 78 30 30 32 30 30 30 DICON = 0x002000
d550: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
d560: 74 20 7b 20 54 42 43 44 52 46 5f 4e 4f 42 41 43 t { TBCDRF_NOBAC
d570: 4b 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 34 30 KGROUND = 0x0040
d580: 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 0000 }..// #endi
d590: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 f....enum : uint
d5a0: 20 7b 20 54 42 5f 45 4e 41 42 4c 45 42 55 54 54 { TB_ENABLEBUTT
d5b0: 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 ON = WM_USER + 1
d5c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
d5d0: 7b 20 54 42 5f 43 48 45 43 4b 42 55 54 54 4f 4e { TB_CHECKBUTTON
d5e0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 20 7d = WM_USER + 2 }
d5f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
d600: 54 42 5f 50 52 45 53 53 42 55 54 54 4f 4e 20 3d TB_PRESSBUTTON =
d610: 20 57 4d 5f 55 53 45 52 20 2b 20 33 20 7d 0d 0a WM_USER + 3 }..
d620: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
d630: 5f 48 49 44 45 42 55 54 54 4f 4e 20 3d 20 57 4d _HIDEBUTTON = WM
d640: 5f 55 53 45 52 20 2b 20 34 20 7d 0d 0a 65 6e 75 _USER + 4 }..enu
d650: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e m : uint { TB_IN
d660: 44 45 54 45 52 4d 49 4e 41 54 45 20 3d 20 57 4d DETERMINATE = WM
d670: 5f 55 53 45 52 20 2b 20 35 20 7d 0d 0a 2f 2f 20 _USER + 5 }..//
d680: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
d690: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 = 0x0400)..enum
d6a0: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4d 41 52 4b : uint { TB_MARK
d6b0: 42 55 54 54 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 BUTTON = WM_USER
d6c0: 20 2b 20 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 + 6 }..// #endi
d6d0: 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b f..enum : uint {
d6e0: 20 54 42 5f 49 53 42 55 54 54 4f 4e 45 4e 41 42 TB_ISBUTTONENAB
d6f0: 4c 45 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 LED = WM_USER +
d700: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 9 }..enum : uint
d710: 20 7b 20 54 42 5f 49 53 42 55 54 54 4f 4e 43 48 { TB_ISBUTTONCH
d720: 45 43 4b 45 44 20 3d 20 57 4d 5f 55 53 45 52 20 ECKED = WM_USER
d730: 2b 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 10 }..enum : u
d740: 69 6e 74 20 7b 20 54 42 5f 49 53 42 55 54 54 4f int { TB_ISBUTTO
d750: 4e 50 52 45 53 53 45 44 20 3d 20 57 4d 5f 55 53 NPRESSED = WM_US
d760: 45 52 20 2b 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 ER + 11 }..enum
d770: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 53 42 55 : uint { TB_ISBU
d780: 54 54 4f 4e 48 49 44 44 45 4e 20 3d 20 57 4d 5f TTONHIDDEN = WM_
d790: 55 53 45 52 20 2b 20 31 32 20 7d 0d 0a 65 6e 75 USER + 12 }..enu
d7a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 53 m : uint { TB_IS
d7b0: 42 55 54 54 4f 4e 49 4e 44 45 54 45 52 4d 49 4e BUTTONINDETERMIN
d7c0: 41 54 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 ATE = WM_USER +
d7d0: 31 33 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 13 }..// #if (_W
d7e0: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 IN32_IE >= 0x040
d7f0: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
d800: 7b 20 54 42 5f 49 53 42 55 54 54 4f 4e 48 49 47 { TB_ISBUTTONHIG
d810: 48 4c 49 47 48 54 45 44 20 3d 20 57 4d 5f 55 53 HLIGHTED = WM_US
d820: 45 52 20 2b 20 31 34 20 7d 0d 0a 2f 2f 20 23 65 ER + 14 }..// #e
d830: 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ndif..enum : uin
d840: 74 20 7b 20 54 42 5f 53 45 54 53 54 41 54 45 20 t { TB_SETSTATE
d850: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 37 20 7d = WM_USER + 17 }
d860: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
d870: 54 42 5f 47 45 54 53 54 41 54 45 20 3d 20 57 4d TB_GETSTATE = WM
d880: 5f 55 53 45 52 20 2b 20 31 38 20 7d 0d 0a 65 6e _USER + 18 }..en
d890: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 um : uint { TB_A
d8a0: 44 44 42 49 54 4d 41 50 20 3d 20 57 4d 5f 55 53 DDBITMAP = WM_US
d8b0: 45 52 20 2b 20 31 39 20 7d 0d 0a 0d 0a 2f 2f 20 ER + 19 }....//
d8c0: 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 73 #ifdef _WIN32..s
d8d0: 74 72 75 63 74 20 74 61 67 54 42 41 44 44 42 49 truct tagTBADDBI
d8e0: 54 4d 41 50 20 7b 0d 0a 20 20 48 49 4e 53 54 41 TMAP {.. HINSTA
d8f0: 4e 43 45 20 68 49 6e 73 74 3b 0d 0a 20 20 55 49 NCE hInst;.. UI
d900: 4e 54 5f 50 54 52 20 6e 49 44 3b 0d 0a 7d 0d 0a NT_PTR nID;..}..
d910: 61 6c 69 61 73 20 74 61 67 54 42 41 44 44 42 49 alias tagTBADDBI
d920: 54 4d 41 50 20 54 42 41 44 44 42 49 54 4d 41 50 TMAP TBADDBITMAP
d930: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 42 41 44 ;..alias tagTBAD
d940: 44 42 49 54 4d 41 50 2a 20 4c 50 54 42 41 44 44 DBITMAP* LPTBADD
d950: 42 49 54 4d 41 50 3b 0d 0a 0d 0a 48 49 4e 53 54 BITMAP;....HINST
d960: 41 4e 43 45 20 48 49 4e 53 54 5f 43 4f 4d 4d 43 ANCE HINST_COMMC
d970: 54 52 4c 20 3d 20 63 61 73 74 28 48 49 4e 53 54 TRL = cast(HINST
d980: 41 4e 43 45 29 28 2d 31 29 3b 0d 0a 65 6e 75 6d ANCE)(-1);..enum
d990: 20 3a 20 75 69 6e 74 20 7b 20 49 44 42 5f 53 54 : uint { IDB_ST
d9a0: 44 5f 53 4d 41 4c 4c 5f 43 4f 4c 4f 52 20 3d 20 D_SMALL_COLOR =
d9b0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
d9c0: 20 7b 20 49 44 42 5f 53 54 44 5f 4c 41 52 47 45 { IDB_STD_LARGE
d9d0: 5f 43 4f 4c 4f 52 20 3d 20 31 20 7d 0d 0a 65 6e _COLOR = 1 }..en
d9e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 42 5f um : uint { IDB_
d9f0: 56 49 45 57 5f 53 4d 41 4c 4c 5f 43 4f 4c 4f 52 VIEW_SMALL_COLOR
da00: 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 4 }..enum : u
da10: 69 6e 74 20 7b 20 49 44 42 5f 56 49 45 57 5f 4c int { IDB_VIEW_L
da20: 41 52 47 45 5f 43 4f 4c 4f 52 20 3d 20 35 20 7d ARGE_COLOR = 5 }
da30: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
da40: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
da50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 enum : uint { ID
da60: 42 5f 48 49 53 54 5f 53 4d 41 4c 4c 5f 43 4f 4c B_HIST_SMALL_COL
da70: 4f 52 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a OR = 8 }..enum :
da80: 20 75 69 6e 74 20 7b 20 49 44 42 5f 48 49 53 54 uint { IDB_HIST
da90: 5f 4c 41 52 47 45 5f 43 4f 4c 4f 52 20 3d 20 39 _LARGE_COLOR = 9
daa0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d }..// #endif...
dab0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 .enum : uint { S
dac0: 54 44 5f 43 55 54 20 3d 20 30 20 7d 0d 0a 65 6e TD_CUT = 0 }..en
dad0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f um : uint { STD_
dae0: 43 4f 50 59 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d COPY = 1 }..enum
daf0: 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 50 41 : uint { STD_PA
db00: 53 54 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 STE = 2 }..enum
db10: 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 55 4e 44 : uint { STD_UND
db20: 4f 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 O = 3 }..enum :
db30: 75 69 6e 74 20 7b 20 53 54 44 5f 52 45 44 4f 57 uint { STD_REDOW
db40: 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 4 }..enum : u
db50: 69 6e 74 20 7b 20 53 54 44 5f 44 45 4c 45 54 45 int { STD_DELETE
db60: 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 5 }..enum : u
db70: 69 6e 74 20 7b 20 53 54 44 5f 46 49 4c 45 4e 45 int { STD_FILENE
db80: 57 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 W = 6 }..enum :
db90: 75 69 6e 74 20 7b 20 53 54 44 5f 46 49 4c 45 4f uint { STD_FILEO
dba0: 50 45 4e 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 PEN = 7 }..enum
dbb0: 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 46 49 4c : uint { STD_FIL
dbc0: 45 53 41 56 45 20 3d 20 38 20 7d 0d 0a 65 6e 75 ESAVE = 8 }..enu
dbd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 50 m : uint { STD_P
dbe0: 52 49 4e 54 50 52 45 20 3d 20 39 20 7d 0d 0a 65 RINTPRE = 9 }..e
dbf0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 num : uint { STD
dc00: 5f 50 52 4f 50 45 52 54 49 45 53 20 3d 20 31 30 _PROPERTIES = 10
dc10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
dc20: 7b 20 53 54 44 5f 48 45 4c 50 20 3d 20 31 31 20 { STD_HELP = 11
dc30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
dc40: 20 53 54 44 5f 46 49 4e 44 20 3d 20 31 32 20 7d STD_FIND = 12 }
dc50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
dc60: 53 54 44 5f 52 45 50 4c 41 43 45 20 3d 20 31 33 STD_REPLACE = 13
dc70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
dc80: 7b 20 53 54 44 5f 50 52 49 4e 54 20 3d 20 31 34 { STD_PRINT = 14
dc90: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e }....enum : uin
dca0: 74 20 7b 20 56 49 45 57 5f 4c 41 52 47 45 49 43 t { VIEW_LARGEIC
dcb0: 4f 4e 53 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 ONS = 0 }..enum
dcc0: 3a 20 75 69 6e 74 20 7b 20 56 49 45 57 5f 53 4d : uint { VIEW_SM
dcd0: 41 4c 4c 49 43 4f 4e 53 20 3d 20 31 20 7d 0d 0a ALLICONS = 1 }..
dce0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 enum : uint { VI
dcf0: 45 57 5f 4c 49 53 54 20 3d 20 32 20 7d 0d 0a 65 EW_LIST = 2 }..e
dd00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 45 num : uint { VIE
dd10: 57 5f 44 45 54 41 49 4c 53 20 3d 20 33 20 7d 0d W_DETAILS = 3 }.
dd20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 .enum : uint { V
dd30: 49 45 57 5f 53 4f 52 54 4e 41 4d 45 20 3d 20 34 IEW_SORTNAME = 4
dd40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
dd50: 7b 20 56 49 45 57 5f 53 4f 52 54 53 49 5a 45 20 { VIEW_SORTSIZE
dd60: 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 5 }..enum : ui
dd70: 6e 74 20 7b 20 56 49 45 57 5f 53 4f 52 54 44 41 nt { VIEW_SORTDA
dd80: 54 45 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a TE = 6 }..enum :
dd90: 20 75 69 6e 74 20 7b 20 56 49 45 57 5f 53 4f 52 uint { VIEW_SOR
dda0: 54 54 59 50 45 20 3d 20 37 20 7d 0d 0a 65 6e 75 TTYPE = 7 }..enu
ddb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 45 57 5f m : uint { VIEW_
ddc0: 50 41 52 45 4e 54 46 4f 4c 44 45 52 20 3d 20 38 PARENTFOLDER = 8
ddd0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
dde0: 7b 20 56 49 45 57 5f 4e 45 54 43 4f 4e 4e 45 43 { VIEW_NETCONNEC
ddf0: 54 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 T = 9 }..enum :
de00: 75 69 6e 74 20 7b 20 56 49 45 57 5f 4e 45 54 44 uint { VIEW_NETD
de10: 49 53 43 4f 4e 4e 45 43 54 20 3d 20 31 30 20 7d ISCONNECT = 10 }
de20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
de30: 56 49 45 57 5f 4e 45 57 46 4f 4c 44 45 52 20 3d VIEW_NEWFOLDER =
de40: 20 31 31 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 11 }..// #if (_
de50: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 WIN32_IE >= 0x04
de60: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 00)..enum : uint
de70: 20 7b 20 56 49 45 57 5f 56 49 45 57 4d 45 4e 55 { VIEW_VIEWMENU
de80: 20 3d 20 31 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 = 12 }..// #end
de90: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 if....// #if (_W
dea0: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 IN32_IE >= 0x030
deb0: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
dec0: 7b 20 48 49 53 54 5f 42 41 43 4b 20 3d 20 30 20 { HIST_BACK = 0
ded0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
dee0: 20 48 49 53 54 5f 46 4f 52 57 41 52 44 20 3d 20 HIST_FORWARD =
def0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
df00: 20 7b 20 48 49 53 54 5f 46 41 56 4f 52 49 54 45 { HIST_FAVORITE
df10: 53 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 S = 2 }..enum :
df20: 75 69 6e 74 20 7b 20 48 49 53 54 5f 41 44 44 54 uint { HIST_ADDT
df30: 4f 46 41 56 4f 52 49 54 45 53 20 3d 20 33 20 7d OFAVORITES = 3 }
df40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
df50: 48 49 53 54 5f 56 49 45 57 54 52 45 45 20 3d 20 HIST_VIEWTREE =
df60: 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 4 }..// #endif..
df70: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
df80: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
df90: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 >= 0x0400)..enu
dfa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 44 m : uint { TB_AD
dfb0: 44 42 55 54 54 4f 4e 53 41 20 3d 20 57 4d 5f 55 DBUTTONSA = WM_U
dfc0: 53 45 52 20 2b 20 32 30 20 7d 0d 0a 65 6e 75 6d SER + 20 }..enum
dfd0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e 53 : uint { TB_INS
dfe0: 45 52 54 42 55 54 54 4f 4e 41 20 3d 20 57 4d 5f ERTBUTTONA = WM_
dff0: 55 53 45 52 20 2b 20 32 31 20 7d 0d 0a 2f 2f 20 USER + 21 }..//
e000: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
e010: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
e020: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e if....enum : uin
e030: 74 20 7b 20 54 42 5f 44 45 4c 45 54 45 42 55 54 t { TB_DELETEBUT
e040: 54 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 TON = WM_USER +
e050: 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 22 }..enum : uin
e060: 74 20 7b 20 54 42 5f 47 45 54 42 55 54 54 4f 4e t { TB_GETBUTTON
e070: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 33 20 = WM_USER + 23
e080: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
e090: 20 54 42 5f 42 55 54 54 4f 4e 43 4f 55 4e 54 20 TB_BUTTONCOUNT
e0a0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 34 20 7d = WM_USER + 24 }
e0b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
e0c0: 54 42 5f 43 4f 4d 4d 41 4e 44 54 4f 49 4e 44 45 TB_COMMANDTOINDE
e0d0: 58 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 35 X = WM_USER + 25
e0e0: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 }....// #ifdef
e0f0: 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74 _WIN32....struct
e100: 20 74 61 67 54 42 53 41 56 45 50 41 52 41 4d 53 tagTBSAVEPARAMS
e110: 41 20 7b 0d 0a 20 20 48 4b 45 59 20 68 6b 72 3b A {.. HKEY hkr;
e120: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 53 75 .. LPCSTR pszSu
e130: 62 4b 65 79 3b 0d 0a 20 20 4c 50 43 53 54 52 20 bKey;.. LPCSTR
e140: 70 73 7a 56 61 6c 75 65 4e 61 6d 65 3b 0d 0a 7d pszValueName;..}
e150: 0d 0a 61 6c 69 61 73 20 74 61 67 54 42 53 41 56 ..alias tagTBSAV
e160: 45 50 41 52 41 4d 53 41 20 54 42 53 41 56 45 50 EPARAMSA TBSAVEP
e170: 41 52 41 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 ARAMSA;..alias t
e180: 61 67 54 42 53 41 56 45 50 41 52 41 4d 53 41 2a agTBSAVEPARAMSA*
e190: 20 4c 50 54 42 53 41 56 45 50 41 52 41 4d 53 41 LPTBSAVEPARAMSA
e1a0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54 ;....struct tagT
e1b0: 42 53 41 56 45 50 41 52 41 4d 53 57 20 7b 0d 0a BSAVEPARAMSW {..
e1c0: 20 20 48 4b 45 59 20 68 6b 72 3b 0d 0a 20 20 4c HKEY hkr;.. L
e1d0: 50 43 57 53 54 52 20 70 73 7a 53 75 62 4b 65 79 PCWSTR pszSubKey
e1e0: 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a ;.. LPCWSTR psz
e1f0: 56 61 6c 75 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 ValueName;..}..a
e200: 6c 69 61 73 20 74 61 67 54 42 53 41 56 45 50 41 lias tagTBSAVEPA
e210: 52 41 4d 53 57 20 54 42 53 41 56 45 50 41 52 41 RAMSW TBSAVEPARA
e220: 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 MSW;..alias tagT
e230: 42 53 41 56 45 50 41 52 41 4d 53 57 2a 20 4c 50 BSAVEPARAMSW* LP
e240: 54 42 53 41 56 45 50 41 52 41 4d 57 3b 0d 0a 0d TBSAVEPARAMW;...
e250: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
e260: 44 45 0d 0a 61 6c 69 61 73 20 54 42 53 41 56 45 DE..alias TBSAVE
e270: 50 41 52 41 4d 53 57 20 54 42 53 41 56 45 50 41 PARAMSW TBSAVEPA
e280: 52 41 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 RAMS;..alias LPT
e290: 42 53 41 56 45 50 41 52 41 4d 53 57 20 4c 50 54 BSAVEPARAMSW LPT
e2a0: 42 53 41 56 45 50 41 52 41 4d 53 3b 0d 0a 2f 2f BSAVEPARAMS;..//
e2b0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
e2c0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e .// #.....// #en
e2d0: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 dif....// #endif
e2e0: 20 20 2f 2f 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 // _WIN32....e
e2f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f num : uint { TB_
e300: 53 41 56 45 52 45 53 54 4f 52 45 41 20 3d 20 57 SAVERESTOREA = W
e310: 4d 5f 55 53 45 52 20 2b 20 32 36 20 7d 0d 0a 65 M_USER + 26 }..e
e320: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f num : uint { TB_
e330: 53 41 56 45 52 45 53 54 4f 52 45 57 20 3d 20 57 SAVERESTOREW = W
e340: 4d 5f 55 53 45 52 20 2b 20 37 36 20 7d 0d 0a 65 M_USER + 76 }..e
e350: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f num : uint { TB_
e360: 43 55 53 54 4f 4d 49 5a 45 20 3d 20 57 4d 5f 55 CUSTOMIZE = WM_U
e370: 53 45 52 20 2b 20 32 37 20 7d 0d 0a 65 6e 75 6d SER + 27 }..enum
e380: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 44 44 : uint { TB_ADD
e390: 53 54 52 49 4e 47 41 20 3d 20 57 4d 5f 55 53 45 STRINGA = WM_USE
e3a0: 52 20 2b 20 32 38 20 7d 0d 0a 65 6e 75 6d 20 3a R + 28 }..enum :
e3b0: 20 75 69 6e 74 20 7b 20 54 42 5f 41 44 44 53 54 uint { TB_ADDST
e3c0: 52 49 4e 47 57 20 3d 20 57 4d 5f 55 53 45 52 20 RINGW = WM_USER
e3d0: 2b 20 37 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 77 }..enum : u
e3e0: 69 6e 74 20 7b 20 54 42 5f 47 45 54 49 54 45 4d int { TB_GETITEM
e3f0: 52 45 43 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b RECT = WM_USER +
e400: 20 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 29 }..enum : ui
e410: 6e 74 20 7b 20 54 42 5f 42 55 54 54 4f 4e 53 54 nt { TB_BUTTONST
e420: 52 55 43 54 53 49 5a 45 20 3d 20 57 4d 5f 55 53 RUCTSIZE = WM_US
e430: 45 52 20 2b 20 33 30 20 7d 0d 0a 65 6e 75 6d 20 ER + 30 }..enum
e440: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 42 : uint { TB_SETB
e450: 55 54 54 4f 4e 53 49 5a 45 20 3d 20 57 4d 5f 55 UTTONSIZE = WM_U
e460: 53 45 52 20 2b 20 33 31 20 7d 0d 0a 65 6e 75 6d SER + 31 }..enum
e470: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 : uint { TB_SET
e480: 42 49 54 4d 41 50 53 49 5a 45 20 3d 20 57 4d 5f BITMAPSIZE = WM_
e490: 55 53 45 52 20 2b 20 33 32 20 7d 0d 0a 65 6e 75 USER + 32 }..enu
e4a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 55 m : uint { TB_AU
e4b0: 54 4f 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 TOSIZE = WM_USER
e4c0: 20 2b 20 33 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 + 33 }..enum :
e4d0: 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 54 4f 4f uint { TB_GETTOO
e4e0: 4c 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20 LTIPS = WM_USER
e4f0: 2b 20 33 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 35 }..enum : u
e500: 69 6e 74 20 7b 20 54 42 5f 53 45 54 54 4f 4f 4c int { TB_SETTOOL
e510: 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b TIPS = WM_USER +
e520: 20 33 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 36 }..enum : ui
e530: 6e 74 20 7b 20 54 42 5f 53 45 54 50 41 52 45 4e nt { TB_SETPAREN
e540: 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 37 T = WM_USER + 37
e550: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
e560: 7b 20 54 42 5f 53 45 54 52 4f 57 53 20 3d 20 57 { TB_SETROWS = W
e570: 4d 5f 55 53 45 52 20 2b 20 33 39 20 7d 0d 0a 65 M_USER + 39 }..e
e580: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f num : uint { TB_
e590: 47 45 54 52 4f 57 53 20 3d 20 57 4d 5f 55 53 45 GETROWS = WM_USE
e5a0: 52 20 2b 20 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a R + 40 }..enum :
e5b0: 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 43 4d uint { TB_SETCM
e5c0: 44 49 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 DID = WM_USER +
e5d0: 34 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 42 }..enum : uin
e5e0: 74 20 7b 20 54 42 5f 43 48 41 4e 47 45 42 49 54 t { TB_CHANGEBIT
e5f0: 4d 41 50 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 MAP = WM_USER +
e600: 34 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 43 }..enum : uin
e610: 74 20 7b 20 54 42 5f 47 45 54 42 49 54 4d 41 50 t { TB_GETBITMAP
e620: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 34 20 = WM_USER + 44
e630: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
e640: 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58 TB_GETBUTTONTEX
e650: 54 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 TA = WM_USER + 4
e660: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 5 }..enum : uint
e670: 20 7b 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 { TB_GETBUTTONT
e680: 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b EXTW = WM_USER +
e690: 20 37 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 75 }..enum : ui
e6a0: 6e 74 20 7b 20 54 42 5f 52 45 50 4c 41 43 45 42 nt { TB_REPLACEB
e6b0: 49 54 4d 41 50 20 3d 20 57 4d 5f 55 53 45 52 20 ITMAP = WM_USER
e6c0: 2b 20 34 36 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 + 46 }..// #if (
e6d0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
e6e0: 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 300)..enum : uin
e6f0: 74 20 7b 20 54 42 5f 53 45 54 49 4e 44 45 4e 54 t { TB_SETINDENT
e700: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 37 20 = WM_USER + 47
e710: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
e720: 20 54 42 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 TB_SETIMAGELIST
e730: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 38 20 = WM_USER + 48
e740: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
e750: 20 54 42 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 TB_GETIMAGELIST
e760: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 39 20 = WM_USER + 49
e770: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
e780: 20 54 42 5f 4c 4f 41 44 49 4d 41 47 45 53 20 3d TB_LOADIMAGES =
e790: 20 57 4d 5f 55 53 45 52 20 2b 20 35 30 20 7d 0d WM_USER + 50 }.
e7a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
e7b0: 42 5f 47 45 54 52 45 43 54 20 3d 20 57 4d 5f 55 B_GETRECT = WM_U
e7c0: 53 45 52 20 2b 20 35 31 20 7d 0d 0a 65 6e 75 6d SER + 51 }..enum
e7d0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 : uint { TB_SET
e7e0: 48 4f 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 57 HOTIMAGELIST = W
e7f0: 4d 5f 55 53 45 52 20 2b 20 35 32 20 7d 0d 0a 65 M_USER + 52 }..e
e800: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f num : uint { TB_
e810: 47 45 54 48 4f 54 49 4d 41 47 45 4c 49 53 54 20 GETHOTIMAGELIST
e820: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 33 20 7d = WM_USER + 53 }
e830: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
e840: 54 42 5f 53 45 54 44 49 53 41 42 4c 45 44 49 4d TB_SETDISABLEDIM
e850: 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55 53 45 AGELIST = WM_USE
e860: 52 20 2b 20 35 34 20 7d 0d 0a 65 6e 75 6d 20 3a R + 54 }..enum :
e870: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 44 49 uint { TB_GETDI
e880: 53 41 42 4c 45 44 49 4d 41 47 45 4c 49 53 54 20 SABLEDIMAGELIST
e890: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 35 20 7d = WM_USER + 55 }
e8a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
e8b0: 54 42 5f 53 45 54 53 54 59 4c 45 20 3d 20 57 4d TB_SETSTYLE = WM
e8c0: 5f 55 53 45 52 20 2b 20 35 36 20 7d 0d 0a 65 6e _USER + 56 }..en
e8d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 um : uint { TB_G
e8e0: 45 54 53 54 59 4c 45 20 3d 20 57 4d 5f 55 53 45 ETSTYLE = WM_USE
e8f0: 52 20 2b 20 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a R + 57 }..enum :
e900: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 42 55 uint { TB_GETBU
e910: 54 54 4f 4e 53 49 5a 45 20 3d 20 57 4d 5f 55 53 TTONSIZE = WM_US
e920: 45 52 20 2b 20 35 38 20 7d 0d 0a 65 6e 75 6d 20 ER + 58 }..enum
e930: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 42 : uint { TB_SETB
e940: 55 54 54 4f 4e 57 49 44 54 48 20 3d 20 57 4d 5f UTTONWIDTH = WM_
e950: 55 53 45 52 20 2b 20 35 39 20 7d 0d 0a 65 6e 75 USER + 59 }..enu
e960: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 m : uint { TB_SE
e970: 54 4d 41 58 54 45 58 54 52 4f 57 53 20 3d 20 57 TMAXTEXTROWS = W
e980: 4d 5f 55 53 45 52 20 2b 20 36 30 20 7d 0d 0a 65 M_USER + 60 }..e
e990: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f num : uint { TB_
e9a0: 47 45 54 54 45 58 54 52 4f 57 53 20 3d 20 57 4d GETTEXTROWS = WM
e9b0: 5f 55 53 45 52 20 2b 20 36 31 20 7d 0d 0a 2f 2f _USER + 61 }..//
e9c0: 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 #endif //
e9d0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
e9e0: 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 300....// #ifdef
e9f0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 UNICODE..alias
ea00: 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58 54 TB_GETBUTTONTEXT
ea10: 57 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 W TB_GETBUTTONTE
ea20: 58 54 3b 0d 0a 61 6c 69 61 73 20 54 42 5f 53 41 XT;..alias TB_SA
ea30: 56 45 52 45 53 54 4f 52 45 57 20 54 42 5f 53 41 VERESTOREW TB_SA
ea40: 56 45 52 45 53 54 4f 52 45 3b 0d 0a 61 6c 69 61 VERESTORE;..alia
ea50: 73 20 54 42 5f 41 44 44 53 54 52 49 4e 47 57 20 s TB_ADDSTRINGW
ea60: 54 42 5f 41 44 44 53 54 52 49 4e 47 3b 0d 0a 2f TB_ADDSTRING;../
ea70: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
ea80: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
ea90: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f ....// #endif../
eaa0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
eab0: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 >= 0x0400)..enu
eac0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 m : uint { TB_GE
ead0: 54 4f 42 4a 45 43 54 20 3d 20 57 4d 5f 55 53 45 TOBJECT = WM_USE
eae0: 52 20 2b 20 36 32 20 7d 0d 0a 65 6e 75 6d 20 3a R + 62 }..enum :
eaf0: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 48 4f uint { TB_GETHO
eb00: 54 49 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52 20 TITEM = WM_USER
eb10: 2b 20 37 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 71 }..enum : u
eb20: 69 6e 74 20 7b 20 54 42 5f 53 45 54 48 4f 54 49 int { TB_SETHOTI
eb30: 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 TEM = WM_USER +
eb40: 37 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 72 }..enum : uin
eb50: 74 20 7b 20 54 42 5f 53 45 54 41 4e 43 48 4f 52 t { TB_SETANCHOR
eb60: 48 49 47 48 4c 49 47 48 54 20 3d 20 57 4d 5f 55 HIGHLIGHT = WM_U
eb70: 53 45 52 20 2b 20 37 33 20 7d 0d 0a 65 6e 75 6d SER + 73 }..enum
eb80: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 : uint { TB_GET
eb90: 41 4e 43 48 4f 52 48 49 47 48 4c 49 47 48 54 20 ANCHORHIGHLIGHT
eba0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 34 20 7d = WM_USER + 74 }
ebb0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
ebc0: 54 42 5f 4d 41 50 41 43 43 45 4c 45 52 41 54 4f TB_MAPACCELERATO
ebd0: 52 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 RA = WM_USER + 7
ebe0: 38 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 30 8 }....struct _0
ebf0: 20 7b 0d 0a 20 20 69 6e 74 20 69 42 75 74 74 6f {.. int iButto
ec00: 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c n;.. DWORD dwFl
ec10: 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f ags;..}..alias _
ec20: 30 20 54 42 49 4e 53 45 52 54 4d 41 52 4b 3b 0d 0 TBINSERTMARK;.
ec30: 0a 61 6c 69 61 73 20 5f 30 2a 20 4c 50 54 42 49 .alias _0* LPTBI
ec40: 4e 53 45 52 54 4d 41 52 4b 3b 0d 0a 0d 0a 65 6e NSERTMARK;....en
ec50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 49 4d um : uint { TBIM
ec60: 48 54 5f 41 46 54 45 52 20 3d 20 30 78 30 30 30 HT_AFTER = 0x000
ec70: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00001 }..enum :
ec80: 75 69 6e 74 20 7b 20 54 42 49 4d 48 54 5f 42 41 uint { TBIMHT_BA
ec90: 43 4b 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 30 CKGROUND = 0x000
eca0: 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 00002 }....enum
ecb0: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 49 : uint { TB_GETI
ecc0: 4e 53 45 52 54 4d 41 52 4b 20 3d 20 57 4d 5f 55 NSERTMARK = WM_U
ecd0: 53 45 52 20 2b 20 37 39 20 7d 0d 0a 65 6e 75 6d SER + 79 }..enum
ece0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 : uint { TB_SET
ecf0: 49 4e 53 45 52 54 4d 41 52 4b 20 3d 20 57 4d 5f INSERTMARK = WM_
ed00: 55 53 45 52 20 2b 20 38 30 20 7d 0d 0a 65 6e 75 USER + 80 }..enu
ed10: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e m : uint { TB_IN
ed20: 53 45 52 54 4d 41 52 4b 48 49 54 54 45 53 54 20 SERTMARKHITTEST
ed30: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 31 20 7d = WM_USER + 81 }
ed40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
ed50: 54 42 5f 4d 4f 56 45 42 55 54 54 4f 4e 20 3d 20 TB_MOVEBUTTON =
ed60: 57 4d 5f 55 53 45 52 20 2b 20 38 32 20 7d 0d 0a WM_USER + 82 }..
ed70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
ed80: 5f 47 45 54 4d 41 58 53 49 5a 45 20 3d 20 57 4d _GETMAXSIZE = WM
ed90: 5f 55 53 45 52 20 2b 20 38 33 20 7d 0d 0a 65 6e _USER + 83 }..en
eda0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 um : uint { TB_S
edb0: 45 54 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 ETEXTENDEDSTYLE
edc0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 34 20 7d = WM_USER + 84 }
edd0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
ede0: 54 42 5f 47 45 54 45 58 54 45 4e 44 45 44 53 54 TB_GETEXTENDEDST
edf0: 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 YLE = WM_USER +
ee00: 38 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 85 }..enum : uin
ee10: 74 20 7b 20 54 42 5f 47 45 54 50 41 44 44 49 4e t { TB_GETPADDIN
ee20: 47 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 36 G = WM_USER + 86
ee30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
ee40: 7b 20 54 42 5f 53 45 54 50 41 44 44 49 4e 47 20 { TB_SETPADDING
ee50: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 37 20 7d = WM_USER + 87 }
ee60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
ee70: 54 42 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b TB_SETINSERTMARK
ee80: 43 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20 COLOR = WM_USER
ee90: 2b 20 38 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 88 }..enum : u
eea0: 69 6e 74 20 7b 20 54 42 5f 47 45 54 49 4e 53 45 int { TB_GETINSE
eeb0: 52 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d 20 57 4d RTMARKCOLOR = WM
eec0: 5f 55 53 45 52 20 2b 20 38 39 20 7d 0d 0a 0d 0a _USER + 89 }....
eed0: 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 43 4f 4c alias CCM_SETCOL
eee0: 4f 52 53 43 48 45 4d 45 20 54 42 5f 53 45 54 43 ORSCHEME TB_SETC
eef0: 4f 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a 61 6c 69 OLORSCHEME;..ali
ef00: 61 73 20 43 43 4d 5f 47 45 54 43 4f 4c 4f 52 53 as CCM_GETCOLORS
ef10: 43 48 45 4d 45 20 54 42 5f 47 45 54 43 4f 4c 4f CHEME TB_GETCOLO
ef20: 52 53 43 48 45 4d 45 3b 0d 0a 0d 0a 61 6c 69 61 RSCHEME;....alia
ef30: 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 s CCM_SETUNICODE
ef40: 46 4f 52 4d 41 54 20 54 42 5f 53 45 54 55 4e 49 FORMAT TB_SETUNI
ef50: 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 CODEFORMAT;..ali
ef60: 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 as CCM_GETUNICOD
ef70: 45 46 4f 52 4d 41 54 20 54 42 5f 47 45 54 55 4e EFORMAT TB_GETUN
ef80: 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 0d 0a ICODEFORMAT;....
ef90: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
efa0: 5f 4d 41 50 41 43 43 45 4c 45 52 41 54 4f 52 57 _MAPACCELERATORW
efb0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39 30 20 = WM_USER + 90
efc0: 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 }..// #ifdef UNI
efd0: 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 42 5f 4d CODE..alias TB_M
efe0: 41 50 41 43 43 45 4c 45 52 41 54 4f 52 57 20 54 APACCELERATORW T
eff0: 42 5f 4d 41 50 41 43 43 45 4c 45 52 41 54 4f 52 B_MAPACCELERATOR
f000: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
f010: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
f020: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f ...// #endif //
f030: 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 _WIN32_IE >= 0x
f040: 30 34 30 30 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 0400....struct _
f050: 31 20 7b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 1 {.. HINSTANCE
f060: 20 68 49 6e 73 74 4f 6c 64 3b 0d 0a 20 20 55 49 hInstOld;.. UI
f070: 4e 54 5f 50 54 52 20 6e 49 44 4f 6c 64 3b 0d 0a NT_PTR nIDOld;..
f080: 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 HINSTANCE hIns
f090: 74 4e 65 77 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 tNew;.. UINT_PT
f0a0: 52 20 6e 49 44 4e 65 77 3b 0d 0a 20 20 69 6e 74 R nIDNew;.. int
f0b0: 20 6e 42 75 74 74 6f 6e 73 3b 0d 0a 7d 0d 0a 61 nButtons;..}..a
f0c0: 6c 69 61 73 20 5f 31 20 54 42 52 45 50 4c 41 43 lias _1 TBREPLAC
f0d0: 45 42 49 54 4d 41 50 3b 0d 0a 61 6c 69 61 73 20 EBITMAP;..alias
f0e0: 5f 31 2a 20 4c 50 54 42 52 45 50 4c 41 43 45 42 _1* LPTBREPLACEB
f0f0: 49 54 4d 41 50 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 ITMAP;....// #if
f100: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 6e def _WIN32....en
f110: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 42 46 um : uint { TBBF
f120: 5f 4c 41 52 47 45 20 3d 20 30 78 30 30 30 31 20 _LARGE = 0x0001
f130: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
f140: 20 7b 20 54 42 5f 47 45 54 42 49 54 4d 41 50 46 { TB_GETBITMAPF
f150: 4c 41 47 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b LAGS = WM_USER +
f160: 20 34 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 41 }....// #if
f170: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
f180: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0400)..enum : ui
f190: 6e 74 20 7b 20 54 42 49 46 5f 49 4d 41 47 45 20 nt { TBIF_IMAGE
f1a0: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a = 0x00000001 }..
f1b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
f1c0: 49 46 5f 54 45 58 54 20 3d 20 30 78 30 30 30 30 IF_TEXT = 0x0000
f1d0: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0002 }..enum : u
f1e0: 69 6e 74 20 7b 20 54 42 49 46 5f 53 54 41 54 45 int { TBIF_STATE
f1f0: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d = 0x00000004 }.
f200: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
f210: 42 49 46 5f 53 54 59 4c 45 20 3d 20 30 78 30 30 BIF_STYLE = 0x00
f220: 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 000008 }..enum :
f230: 20 75 69 6e 74 20 7b 20 54 42 49 46 5f 4c 50 41 uint { TBIF_LPA
f240: 52 41 4d 20 3d 20 30 78 30 30 30 30 30 30 31 30 RAM = 0x00000010
f250: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
f260: 7b 20 54 42 49 46 5f 43 4f 4d 4d 41 4e 44 20 3d { TBIF_COMMAND =
f270: 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 0x00000020 }..e
f280: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 49 num : uint { TBI
f290: 46 5f 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30 F_SIZE = 0x00000
f2a0: 30 34 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 040 }....// #if
f2b0: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
f2c0: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0500)..enum : ui
f2d0: 6e 74 20 7b 20 54 42 49 46 5f 42 59 49 4e 44 45 nt { TBIF_BYINDE
f2e0: 58 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d X = 0x80000000 }
f2f0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 ..// #endif....s
f300: 74 72 75 63 74 20 5f 32 20 7b 0d 0a 20 20 55 49 truct _2 {.. UI
f310: 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 NT cbSize;.. DW
f320: 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 ORD dwMask;.. i
f330: 6e 74 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20 nt idCommand;..
f340: 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 int iImage;..
f350: 42 59 54 45 20 66 73 53 74 61 74 65 3b 0d 0a 20 BYTE fsState;..
f360: 20 42 59 54 45 20 66 73 53 74 79 6c 65 3b 0d 0a BYTE fsStyle;..
f370: 20 20 57 4f 52 44 20 63 78 3b 0d 0a 20 20 44 57 WORD cx;.. DW
f380: 4f 52 44 5f 50 54 52 20 6c 50 61 72 61 6d 3b 0d ORD_PTR lParam;.
f390: 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 . LPSTR pszText
f3a0: 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 ;.. int cchText
f3b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 32 20 54 ;..}..alias _2 T
f3c0: 42 42 55 54 54 4f 4e 49 4e 46 4f 41 3b 0d 0a 61 BBUTTONINFOA;..a
f3d0: 6c 69 61 73 20 5f 32 2a 20 4c 50 54 42 42 55 54 lias _2* LPTBBUT
f3e0: 54 4f 4e 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 TONINFOA;....str
f3f0: 75 63 74 20 5f 33 20 7b 0d 0a 20 20 55 49 4e 54 uct _3 {.. UINT
f400: 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 cbSize;.. DWOR
f410: 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74 D dwMask;.. int
f420: 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20 20 69 idCommand;.. i
f430: 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 42 59 nt iImage;.. BY
f440: 54 45 20 66 73 53 74 61 74 65 3b 0d 0a 20 20 42 TE fsState;.. B
f450: 59 54 45 20 66 73 53 74 79 6c 65 3b 0d 0a 20 20 YTE fsStyle;..
f460: 57 4f 52 44 20 63 78 3b 0d 0a 20 20 44 57 4f 52 WORD cx;.. DWOR
f470: 44 5f 50 54 52 20 6c 50 61 72 61 6d 3b 0d 0a 20 D_PTR lParam;..
f480: 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b LPWSTR pszText;
f490: 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 3b .. int cchText;
f4a0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 33 20 54 42 ..}..alias _3 TB
f4b0: 42 55 54 54 4f 4e 49 4e 46 4f 57 3b 0d 0a 61 6c BUTTONINFOW;..al
f4c0: 69 61 73 20 5f 33 2a 20 4c 50 54 42 42 55 54 54 ias _3* LPTBBUTT
f4d0: 4f 4e 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 ONINFOW;....// #
f4e0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
f4f0: 6c 69 61 73 20 54 42 42 55 54 54 4f 4e 49 4e 46 lias TBBUTTONINF
f500: 4f 57 20 54 42 42 55 54 54 4f 4e 49 4e 46 4f 3b OW TBBUTTONINFO;
f510: 0d 0a 61 6c 69 61 73 20 4c 50 54 42 42 55 54 54 ..alias LPTBBUTT
f520: 4f 4e 49 4e 46 4f 57 20 4c 50 54 42 42 55 54 54 ONINFOW LPTBBUTT
f530: 4f 4e 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 ONINFO;..// #els
f540: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
f550: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
f560: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
f570: 54 42 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f TB_GETBUTTONINFO
f580: 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 33 W = WM_USER + 63
f590: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
f5a0: 7b 20 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e { TB_SETBUTTONIN
f5b0: 46 4f 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 FOW = WM_USER +
f5c0: 36 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 64 }..enum : uin
f5d0: 74 20 7b 20 54 42 5f 47 45 54 42 55 54 54 4f 4e t { TB_GETBUTTON
f5e0: 49 4e 46 4f 41 20 3d 20 57 4d 5f 55 53 45 52 20 INFOA = WM_USER
f5f0: 2b 20 36 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 65 }..enum : u
f600: 69 6e 74 20 7b 20 54 42 5f 53 45 54 42 55 54 54 int { TB_SETBUTT
f610: 4f 4e 49 4e 46 4f 41 20 3d 20 57 4d 5f 55 53 45 ONINFOA = WM_USE
f620: 52 20 2b 20 36 36 20 7d 0d 0a 2f 2f 20 23 69 66 R + 66 }..// #if
f630: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 def UNICODE..ali
f640: 61 73 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 49 as TB_GETBUTTONI
f650: 4e 46 4f 57 20 54 42 5f 47 45 54 42 55 54 54 4f NFOW TB_GETBUTTO
f660: 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 42 NINFO;..alias TB
f670: 5f 53 45 54 42 55 54 54 4f 4e 49 4e 46 4f 57 20 _SETBUTTONINFOW
f680: 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e 46 4f TB_SETBUTTONINFO
f690: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
f6a0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
f6b0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d / #endif....enum
f6c0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e 53 : uint { TB_INS
f6d0: 45 52 54 42 55 54 54 4f 4e 57 20 3d 20 57 4d 5f ERTBUTTONW = WM_
f6e0: 55 53 45 52 20 2b 20 36 37 20 7d 0d 0a 65 6e 75 USER + 67 }..enu
f6f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 44 m : uint { TB_AD
f700: 44 42 55 54 54 4f 4e 53 57 20 3d 20 57 4d 5f 55 DBUTTONSW = WM_U
f710: 53 45 52 20 2b 20 36 38 20 7d 0d 0a 0d 0a 65 6e SER + 68 }....en
f720: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 48 um : uint { TB_H
f730: 49 54 54 45 53 54 20 3d 20 57 4d 5f 55 53 45 52 ITTEST = WM_USER
f740: 20 2b 20 36 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 + 69 }....// #i
f750: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
f760: 69 61 73 20 54 42 5f 49 4e 53 45 52 54 42 55 54 ias TB_INSERTBUT
f770: 54 4f 4e 57 20 54 42 5f 49 4e 53 45 52 54 42 55 TONW TB_INSERTBU
f780: 54 54 4f 4e 3b 0d 0a 61 6c 69 61 73 20 54 42 5f TTON;..alias TB_
f790: 41 44 44 42 55 54 54 4f 4e 53 57 20 54 42 5f 41 ADDBUTTONSW TB_A
f7a0: 44 44 42 55 54 54 4f 4e 53 3b 0d 0a 2f 2f 20 23 DDBUTTONS;..// #
f7b0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
f7c0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
f7d0: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 f....enum : uint
f7e0: 20 7b 20 54 42 5f 53 45 54 44 52 41 57 54 45 58 { TB_SETDRAWTEX
f7f0: 54 46 4c 41 47 53 20 3d 20 57 4d 5f 55 53 45 52 TFLAGS = WM_USER
f800: 20 2b 20 37 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 + 70 }....// #e
f810: 6e 64 69 66 20 20 2f 2f 20 5f 57 49 4e 33 32 5f ndif // _WIN32_
f820: 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a IE >= 0x0400....
f830: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
f840: 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a E >= 0x0500)....
f850: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
f860: 5f 47 45 54 53 54 52 49 4e 47 57 20 3d 20 57 4d _GETSTRINGW = WM
f870: 5f 55 53 45 52 20 2b 20 39 31 20 7d 0d 0a 65 6e _USER + 91 }..en
f880: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 um : uint { TB_G
f890: 45 54 53 54 52 49 4e 47 41 20 3d 20 57 4d 5f 55 ETSTRINGA = WM_U
f8a0: 53 45 52 20 2b 20 39 32 20 7d 0d 0a 2f 2f 20 23 SER + 92 }..// #
f8b0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
f8c0: 6c 69 61 73 20 54 42 5f 47 45 54 53 54 52 49 4e lias TB_GETSTRIN
f8d0: 47 57 20 54 42 5f 47 45 54 53 54 52 49 4e 47 3b GW TB_GETSTRING;
f8e0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
f8f0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
f900: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 ..// #endif //
f910: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
f920: 35 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 500....// #if (_
f930: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
f940: 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 x501)..enum : ui
f950: 6e 74 20 7b 20 54 42 4d 46 5f 50 41 44 20 3d 20 nt { TBMF_PAD =
f960: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 0x00000001 }..en
f970: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 46 um : uint { TBMF
f980: 5f 42 41 52 50 41 44 20 3d 20 30 78 30 30 30 30 _BARPAD = 0x0000
f990: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0002 }..enum : u
f9a0: 69 6e 74 20 7b 20 54 42 4d 46 5f 42 55 54 54 4f int { TBMF_BUTTO
f9b0: 4e 53 50 41 43 49 4e 47 20 3d 20 30 78 30 30 30 NSPACING = 0x000
f9c0: 30 30 30 30 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 00004 }....struc
f9d0: 74 20 5f 34 20 7b 0d 0a 20 20 55 49 4e 54 20 63 t _4 {.. UINT c
f9e0: 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 bSize;.. DWORD
f9f0: 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 63 dwMask;.. int c
fa00: 78 50 61 64 3b 0d 0a 20 20 69 6e 74 20 63 79 50 xPad;.. int cyP
fa10: 61 64 3b 0d 0a 20 20 69 6e 74 20 63 78 42 61 72 ad;.. int cxBar
fa20: 50 61 64 3b 0d 0a 20 20 69 6e 74 20 63 79 42 61 Pad;.. int cyBa
fa30: 72 50 61 64 3b 0d 0a 20 20 69 6e 74 20 63 78 42 rPad;.. int cxB
fa40: 75 74 74 6f 6e 53 70 61 63 69 6e 67 3b 0d 0a 20 uttonSpacing;..
fa50: 20 69 6e 74 20 63 79 42 75 74 74 6f 6e 53 70 61 int cyButtonSpa
fa60: 63 69 6e 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 cing;..}..alias
fa70: 5f 34 20 54 42 4d 45 54 52 49 43 53 3b 0d 0a 61 _4 TBMETRICS;..a
fa80: 6c 69 61 73 20 5f 34 2a 20 4c 50 54 42 4d 45 54 lias _4* LPTBMET
fa90: 52 49 43 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 RICS;....enum :
faa0: 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 4d 45 54 uint { TB_GETMET
fab0: 52 49 43 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b RICS = WM_USER +
fac0: 20 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 101 }..enum : u
fad0: 69 6e 74 20 7b 20 54 42 5f 53 45 54 4d 45 54 52 int { TB_SETMETR
fae0: 49 43 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 ICS = WM_USER +
faf0: 31 30 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 102 }..// #endif
fb00: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e ....// #if (_WIN
fb10: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 32_WINNT >= 0x50
fb20: 31 29 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 1)..alias CCM_SE
fb30: 54 57 49 4e 44 4f 57 54 48 45 4d 45 20 54 42 5f TWINDOWTHEME TB_
fb40: 53 45 54 57 49 4e 44 4f 57 54 48 45 4d 45 3b 0d SETWINDOWTHEME;.
fb50: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e .// #endif....en
fb60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f um : uint { TBN_
fb70: 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f 41 20 3d GETBUTTONINFOA =
fb80: 20 54 42 4e 5f 46 49 52 53 54 2d 30 20 7d 0d 0a TBN_FIRST-0 }..
fb90: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
fba0: 4e 5f 42 45 47 49 4e 44 52 41 47 20 3d 20 54 42 N_BEGINDRAG = TB
fbb0: 4e 5f 46 49 52 53 54 2d 31 20 7d 0d 0a 65 6e 75 N_FIRST-1 }..enu
fbc0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 45 m : uint { TBN_E
fbd0: 4e 44 44 52 41 47 20 3d 20 54 42 4e 5f 46 49 52 NDDRAG = TBN_FIR
fbe0: 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 ST-2 }..enum : u
fbf0: 69 6e 74 20 7b 20 54 42 4e 5f 42 45 47 49 4e 41 int { TBN_BEGINA
fc00: 44 4a 55 53 54 20 3d 20 54 42 4e 5f 46 49 52 53 DJUST = TBN_FIRS
fc10: 54 2d 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 T-3 }..enum : ui
fc20: 6e 74 20 7b 20 54 42 4e 5f 45 4e 44 41 44 4a 55 nt { TBN_ENDADJU
fc30: 53 54 20 3d 20 54 42 4e 5f 46 49 52 53 54 2d 34 ST = TBN_FIRST-4
fc40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
fc50: 7b 20 54 42 4e 5f 52 45 53 45 54 20 3d 20 54 42 { TBN_RESET = TB
fc60: 4e 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 6e 75 N_FIRST-5 }..enu
fc70: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 51 m : uint { TBN_Q
fc80: 55 45 52 59 49 4e 53 45 52 54 20 3d 20 54 42 4e UERYINSERT = TBN
fc90: 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75 6d _FIRST-6 }..enum
fca0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 51 55 : uint { TBN_QU
fcb0: 45 52 59 44 45 4c 45 54 45 20 3d 20 54 42 4e 5f ERYDELETE = TBN_
fcc0: 46 49 52 53 54 2d 37 20 7d 0d 0a 65 6e 75 6d 20 FIRST-7 }..enum
fcd0: 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 54 4f 4f : uint { TBN_TOO
fce0: 4c 42 41 52 43 48 41 4e 47 45 20 3d 20 54 42 4e LBARCHANGE = TBN
fcf0: 5f 46 49 52 53 54 2d 38 20 7d 0d 0a 65 6e 75 6d _FIRST-8 }..enum
fd00: 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 43 55 : uint { TBN_CU
fd10: 53 54 48 45 4c 50 20 3d 20 54 42 4e 5f 46 49 52 STHELP = TBN_FIR
fd20: 53 54 2d 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 ST-9 }..// #if (
fd30: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
fd40: 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 300)..enum : uin
fd50: 74 20 7b 20 54 42 4e 5f 44 52 4f 50 44 4f 57 4e t { TBN_DROPDOWN
fd60: 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 31 = TBN_FIRST - 1
fd70: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0 }..// #endif..
fd80: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
fd90: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e E >= 0x0400)..en
fda0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f um : uint { TBN_
fdb0: 47 45 54 4f 42 4a 45 43 54 20 3d 20 54 42 4e 5f GETOBJECT = TBN_
fdc0: 46 49 52 53 54 20 2d 20 31 32 20 7d 0d 0a 0d 0a FIRST - 12 }....
fdd0: 73 74 72 75 63 74 20 74 61 67 4e 4d 54 42 48 4f struct tagNMTBHO
fde0: 54 49 54 45 4d 20 7b 0d 0a 20 20 4e 4d 48 44 52 TITEM {.. NMHDR
fdf0: 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 64 4f hdr;.. int idO
fe00: 6c 64 3b 0d 0a 20 20 69 6e 74 20 69 64 4e 65 77 ld;.. int idNew
fe10: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 ;.. DWORD dwFla
fe20: 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 gs;..}..alias ta
fe30: 67 4e 4d 54 42 48 4f 54 49 54 45 4d 20 4e 4d 54 gNMTBHOTITEM NMT
fe40: 42 48 4f 54 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 BHOTITEM;..alias
fe50: 20 74 61 67 4e 4d 54 42 48 4f 54 49 54 45 4d 2a tagNMTBHOTITEM*
fe60: 20 4c 50 4e 4d 54 42 48 4f 54 49 54 45 4d 3b 0d LPNMTBHOTITEM;.
fe70: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
fe80: 20 48 49 43 46 5f 4f 54 48 45 52 20 3d 20 30 78 HICF_OTHER = 0x
fe90: 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 00000000 }..enum
fea0: 20 3a 20 75 69 6e 74 20 7b 20 48 49 43 46 5f 4d : uint { HICF_M
feb0: 4f 55 53 45 20 3d 20 30 78 30 30 30 30 30 30 30 OUSE = 0x0000000
fec0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
fed0: 20 7b 20 48 49 43 46 5f 41 52 52 4f 57 4b 45 59 { HICF_ARROWKEY
fee0: 53 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d S = 0x00000002 }
fef0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
ff00: 48 49 43 46 5f 41 43 43 45 4c 45 52 41 54 4f 52 HICF_ACCELERATOR
ff10: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d = 0x00000004 }.
ff20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
ff30: 49 43 46 5f 44 55 50 41 43 43 45 4c 20 3d 20 30 ICF_DUPACCEL = 0
ff40: 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 x00000008 }..enu
ff50: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 43 46 5f m : uint { HICF_
ff60: 45 4e 54 45 52 49 4e 47 20 3d 20 30 78 30 30 30 ENTERING = 0x000
ff70: 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00010 }..enum :
ff80: 75 69 6e 74 20 7b 20 48 49 43 46 5f 4c 45 41 56 uint { HICF_LEAV
ff90: 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30 32 30 ING = 0x00000020
ffa0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
ffb0: 7b 20 48 49 43 46 5f 52 45 53 45 4c 45 43 54 20 { HICF_RESELECT
ffc0: 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a = 0x00000040 }..
ffd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 enum : uint { HI
ffe0: 43 46 5f 4c 4d 4f 55 53 45 20 3d 20 30 78 30 30 CF_LMOUSE = 0x00
fff0: 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 000080 }..enum :
10000 20 75 69 6e 74 20 7b 20 48 49 43 46 5f 54 4f 47 uint { HICF_TOG
10010 47 4c 45 44 52 4f 50 44 4f 57 4e 20 3d 20 30 78 GLEDROPDOWN = 0x
10020 30 30 30 30 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e 00000100 }....en
10030 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f um : uint { TBN_
10040 48 4f 54 49 54 45 4d 43 48 41 4e 47 45 20 3d 20 HOTITEMCHANGE =
10050 54 42 4e 5f 46 49 52 53 54 20 2d 20 31 33 20 7d TBN_FIRST - 13 }
10060 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
10070 54 42 4e 5f 44 52 41 47 4f 55 54 20 3d 20 54 42 TBN_DRAGOUT = TB
10080 4e 5f 46 49 52 53 54 20 2d 20 31 34 20 7d 0d 0a N_FIRST - 14 }..
10090 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
100a0 4e 5f 44 45 4c 45 54 49 4e 47 42 55 54 54 4f 4e N_DELETINGBUTTON
100b0 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 31 = TBN_FIRST - 1
100c0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 5 }..enum : uint
100d0 20 7b 20 54 42 4e 5f 47 45 54 44 49 53 50 49 4e { TBN_GETDISPIN
100e0 46 4f 41 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 FOA = TBN_FIRST
100f0 2d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 - 16 }..enum : u
10100 69 6e 74 20 7b 20 54 42 4e 5f 47 45 54 44 49 53 int { TBN_GETDIS
10110 50 49 4e 46 4f 57 20 3d 20 54 42 4e 5f 46 49 52 PINFOW = TBN_FIR
10120 53 54 20 2d 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 ST - 17 }..enum
10130 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 47 45 54 : uint { TBN_GET
10140 49 4e 46 4f 54 49 50 41 20 3d 20 54 42 4e 5f 46 INFOTIPA = TBN_F
10150 49 52 53 54 20 2d 20 31 38 20 7d 0d 0a 65 6e 75 IRST - 18 }..enu
10160 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 47 m : uint { TBN_G
10170 45 54 49 4e 46 4f 54 49 50 57 20 3d 20 54 42 4e ETINFOTIPW = TBN
10180 5f 46 49 52 53 54 20 2d 20 31 39 20 7d 0d 0a 65 _FIRST - 19 }..e
10190 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e num : uint { TBN
101a0 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f 57 20 _GETBUTTONINFOW
101b0 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 32 30 = TBN_FIRST - 20
101c0 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e }..// #if (_WIN
101d0 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 32_IE >= 0x0500)
101e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
101f0 54 42 4e 5f 52 45 53 54 4f 52 45 20 3d 20 54 42 TBN_RESTORE = TB
10200 4e 5f 46 49 52 53 54 20 2d 20 32 31 20 7d 0d 0a N_FIRST - 21 }..
10210 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
10220 4e 5f 53 41 56 45 20 3d 20 54 42 4e 5f 46 49 52 N_SAVE = TBN_FIR
10230 53 54 20 2d 20 32 32 20 7d 0d 0a 65 6e 75 6d 20 ST - 22 }..enum
10240 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 49 4e 49 : uint { TBN_INI
10250 54 43 55 53 54 4f 4d 49 5a 45 20 3d 20 54 42 4e TCUSTOMIZE = TBN
10260 5f 46 49 52 53 54 20 2d 20 32 33 20 7d 0d 0a 65 _FIRST - 23 }..e
10270 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e num : uint { TBN
10280 52 46 5f 48 49 44 45 48 45 4c 50 20 3d 20 30 78 RF_HIDEHELP = 0x
10290 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 00000001 }..enum
102a0 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 52 46 5f : uint { TBNRF_
102b0 45 4e 44 43 55 53 54 4f 4d 49 5a 45 20 3d 20 30 ENDCUSTOMIZE = 0
102c0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 2f 2f 20 x00000002 }..//
102d0 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e 33 #endif // (_WIN3
102e0 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 2_IE >= 0x0500).
102f0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
10300 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 2_IE >= 0x0500).
10310 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 54 ...struct tagNMT
10320 42 53 41 56 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 BSAVE {.. NMHDR
10330 20 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 2a hdr;.. DWORD *
10340 20 70 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 pData;.. DWORD
10350 20 2a 20 70 43 75 72 72 65 6e 74 3b 0d 0a 20 20 * pCurrent;..
10360 55 49 4e 54 20 63 62 44 61 74 61 3b 0d 0a 20 20 UINT cbData;..
10370 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e int iItem;.. in
10380 74 20 63 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 54 t cButtons;.. T
10390 42 42 55 54 54 4f 4e 20 74 62 42 75 74 74 6f 6e BBUTTON tbButton
103a0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e ;..}..alias tagN
103b0 4d 54 42 53 41 56 45 20 4e 4d 54 42 53 41 56 45 MTBSAVE NMTBSAVE
103c0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 ;..alias tagNMTB
103d0 53 41 56 45 2a 20 4c 50 4e 4d 54 42 53 41 56 45 SAVE* LPNMTBSAVE
103e0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e ;....struct tagN
103f0 4d 54 42 52 45 53 54 4f 52 45 20 7b 0d 0a 20 20 MTBRESTORE {..
10400 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 57 NMHDR hdr;.. DW
10410 4f 52 44 20 2a 20 70 44 61 74 61 3b 0d 0a 20 20 ORD * pData;..
10420 44 57 4f 52 44 20 2a 20 70 43 75 72 72 65 6e 74 DWORD * pCurrent
10430 3b 0d 0a 20 20 55 49 4e 54 20 63 62 44 61 74 61 ;.. UINT cbData
10440 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d ;.. int iItem;.
10450 0a 20 20 69 6e 74 20 63 42 75 74 74 6f 6e 73 3b . int cButtons;
10460 0d 0a 20 20 69 6e 74 20 63 62 42 79 74 65 73 50 .. int cbBytesP
10470 65 72 52 65 63 6f 72 64 3b 0d 0a 20 20 54 42 42 erRecord;.. TBB
10480 55 54 54 4f 4e 20 74 62 42 75 74 74 6f 6e 3b 0d UTTON tbButton;.
10490 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 .}..alias tagNMT
104a0 42 52 45 53 54 4f 52 45 20 4e 4d 54 42 52 45 53 BRESTORE NMTBRES
104b0 54 4f 52 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67 TORE;..alias tag
104c0 4e 4d 54 42 52 45 53 54 4f 52 45 2a 20 4c 50 4e NMTBRESTORE* LPN
104d0 4d 54 42 52 45 53 54 4f 52 45 3b 0d 0a 0d 0a 2f MTBRESTORE;..../
104e0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 / #endif // (_WI
104f0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 N32_IE >= 0x0500
10500 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e )....struct tagN
10510 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41 20 7b MTBGETINFOTIPA {
10520 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a .. NMHDR hdr;..
10530 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b LPSTR pszText;
10540 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d .. int cchTextM
10550 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d ax;.. int iItem
10560 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 ;.. LPARAM lPar
10570 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 am;..}..alias ta
10580 67 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41 gNMTBGETINFOTIPA
10590 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41 NMTBGETINFOTIPA
105a0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 ;..alias tagNMTB
105b0 47 45 54 49 4e 46 4f 54 49 50 41 2a 20 4c 50 4e GETINFOTIPA* LPN
105c0 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41 3b 0d MTBGETINFOTIPA;.
105d0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 54 ...struct tagNMT
105e0 42 47 45 54 49 4e 46 4f 54 49 50 57 20 7b 0d 0a BGETINFOTIPW {..
105f0 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 NMHDR hdr;..
10600 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d LPWSTR pszText;.
10610 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 . int cchTextMa
10620 78 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b x;.. int iItem;
10630 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 .. LPARAM lPara
10640 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 m;..}..alias tag
10650 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 57 20 NMTBGETINFOTIPW
10660 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 57 3b NMTBGETINFOTIPW;
10670 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 47 ..alias tagNMTBG
10680 45 54 49 4e 46 4f 54 49 50 57 2a 20 4c 50 4e 4d ETINFOTIPW* LPNM
10690 54 42 47 45 54 49 4e 46 4f 54 49 50 57 3b 0d 0a TBGETINFOTIPW;..
106a0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
106b0 4f 44 45 0d 0a 61 6c 69 61 73 20 54 42 4e 5f 47 ODE..alias TBN_G
106c0 45 54 49 4e 46 4f 54 49 50 57 20 54 42 4e 5f 47 ETINFOTIPW TBN_G
106d0 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 ETINFOTIP;..alia
106e0 73 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 s NMTBGETINFOTIP
106f0 57 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 W NMTBGETINFOTIP
10700 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 42 47 ;..alias LPNMTBG
10710 45 54 49 4e 46 4f 54 49 50 57 20 4c 50 4e 4d 54 ETINFOTIPW LPNMT
10720 42 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 2f 2f BGETINFOTIP;..//
10730 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
10740 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
10750 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
10760 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
10770 4e 46 5f 49 4d 41 47 45 20 3d 20 30 78 30 30 30 NF_IMAGE = 0x000
10780 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00001 }..enum :
10790 75 69 6e 74 20 7b 20 54 42 4e 46 5f 54 45 58 54 uint { TBNF_TEXT
107a0 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d = 0x00000002 }.
107b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
107c0 42 4e 46 5f 44 49 5f 53 45 54 49 54 45 4d 20 3d BNF_DI_SETITEM =
107d0 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0x10000000 }...
107e0 0a 73 74 72 75 63 74 20 5f 35 20 7b 0d 0a 20 20 .struct _5 {..
107f0 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 57 NMHDR hdr;.. DW
10800 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 ORD dwMask;.. i
10810 6e 74 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20 nt idCommand;..
10820 20 44 57 4f 52 44 5f 50 54 52 20 6c 50 61 72 61 DWORD_PTR lPara
10830 6d 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 m;.. int iImage
10840 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 ;.. LPSTR pszTe
10850 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 xt;.. int cchTe
10860 78 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 35 xt;..}..alias _5
10870 20 4e 4d 54 42 44 49 53 50 49 4e 46 4f 41 3b 0d NMTBDISPINFOA;.
10880 0a 61 6c 69 61 73 20 5f 35 2a 20 4c 50 4e 4d 54 .alias _5* LPNMT
10890 42 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 BDISPINFOA;....s
108a0 74 72 75 63 74 20 5f 36 20 7b 0d 0a 20 20 4e 4d truct _6 {.. NM
108b0 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 57 4f 52 HDR hdr;.. DWOR
108c0 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74 D dwMask;.. int
108d0 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20 20 44 idCommand;.. D
108e0 57 4f 52 44 5f 50 54 52 20 6c 50 61 72 61 6d 3b WORD_PTR lParam;
108f0 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d .. int iImage;.
10900 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 . LPWSTR pszTex
10910 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 t;.. int cchTex
10920 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 36 20 t;..}..alias _6
10930 4e 4d 54 42 44 49 53 50 49 4e 46 4f 57 3b 0d 0a NMTBDISPINFOW;..
10940 61 6c 69 61 73 20 5f 36 2a 20 4c 50 4e 4d 54 42 alias _6* LPNMTB
10950 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f DISPINFOW;....//
10960 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
10970 0a 61 6c 69 61 73 20 54 42 4e 5f 47 45 54 44 49 .alias TBN_GETDI
10980 53 50 49 4e 46 4f 57 20 54 42 4e 5f 47 45 54 44 SPINFOW TBN_GETD
10990 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 ISPINFO;..alias
109a0 4e 4d 54 42 44 49 53 50 49 4e 46 4f 57 20 4e 4d NMTBDISPINFOW NM
109b0 54 42 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 TBDISPINFO;..ali
109c0 61 73 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e 46 as LPNMTBDISPINF
109d0 4f 57 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e 46 OW LPNMTBDISPINF
109e0 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f O;..// #else..//
109f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
10a00 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
10a10 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e if....enum : uin
10a20 74 20 7b 20 54 42 44 44 52 45 54 5f 44 45 46 41 t { TBDDRET_DEFA
10a30 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 ULT = 0 }..enum
10a40 3a 20 75 69 6e 74 20 7b 20 54 42 44 44 52 45 54 : uint { TBDDRET
10a50 5f 4e 4f 44 45 46 41 55 4c 54 20 3d 20 31 20 7d _NODEFAULT = 1 }
10a60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
10a70 54 42 44 44 52 45 54 5f 54 52 45 41 54 50 52 45 TBDDRET_TREATPRE
10a80 53 53 45 44 20 3d 20 32 20 7d 0d 0a 0d 0a 2f 2f SSED = 2 }....//
10a90 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 #endif....// #i
10aa0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
10ab0 69 61 73 20 54 42 4e 5f 47 45 54 42 55 54 54 4f ias TBN_GETBUTTO
10ac0 4e 49 4e 46 4f 57 20 54 42 4e 5f 47 45 54 42 55 NINFOW TBN_GETBU
10ad0 54 54 4f 4e 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 TTONINFO;..// #e
10ae0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
10af0 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 #endif....// #i
10b00 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
10b10 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e 0x0300)..alias N
10b20 4d 54 4f 4f 4c 42 41 52 41 20 54 42 4e 4f 54 49 MTOOLBARA TBNOTI
10b30 46 59 41 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 4f FYA;..alias NMTO
10b40 4f 4c 42 41 52 57 20 54 42 4e 4f 54 49 46 59 57 OLBARW TBNOTIFYW
10b50 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 4f 4f ;..alias LPNMTOO
10b60 4c 42 41 52 41 20 4c 50 54 42 4e 4f 54 49 46 59 LBARA LPTBNOTIFY
10b70 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 4f A;..alias LPNMTO
10b80 4f 4c 42 41 52 57 20 4c 50 54 42 4e 4f 54 49 46 OLBARW LPTBNOTIF
10b90 59 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f YW;..// #else../
10ba0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
10bb0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
10bc0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
10bd0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
10be0 0d 0a 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42 41 ..alias NMTOOLBA
10bf0 52 20 54 42 4e 4f 54 49 46 59 3b 0d 0a 61 6c 69 R TBNOTIFY;..ali
10c00 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 20 4c as LPNMTOOLBAR L
10c10 50 54 42 4e 4f 54 49 46 59 3b 0d 0a 0d 0a 2f 2f PTBNOTIFY;....//
10c20 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
10c30 3e 3d 20 30 78 30 33 30 30 29 0d 0a 73 74 72 75 >= 0x0300)..stru
10c40 63 74 20 74 61 67 4e 4d 54 4f 4f 4c 42 41 52 41 ct tagNMTOOLBARA
10c50 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b {.. NMHDR hdr;
10c60 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a .. int iItem;..
10c70 20 20 54 42 42 55 54 54 4f 4e 20 74 62 42 75 74 TBBUTTON tbBut
10c80 74 6f 6e 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 ton;.. int cchT
10c90 65 78 74 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 ext;.. LPSTR ps
10ca0 7a 54 65 78 74 3b 0d 0a 2f 2f 20 23 69 66 20 28 zText;..// #if (
10cb0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 _WIN32_IE >= 0x5
10cc0 30 30 29 0d 0a 20 20 52 45 43 54 20 72 63 42 75 00).. RECT rcBu
10cd0 74 74 6f 6e 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 tton;..// #endif
10ce0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d ..}..alias tagNM
10cf0 54 4f 4f 4c 42 41 52 41 20 4e 4d 54 4f 4f 4c 42 TOOLBARA NMTOOLB
10d00 41 52 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e ARA;..alias tagN
10d10 4d 54 4f 4f 4c 42 41 52 41 2a 20 4c 50 4e 4d 54 MTOOLBARA* LPNMT
10d20 4f 4f 4c 42 41 52 41 3b 0d 0a 0d 0a 2f 2f 20 23 OOLBARA;....// #
10d30 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 endif....// #if
10d40 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
10d50 30 33 30 30 29 0d 0a 73 74 72 75 63 74 20 74 61 0300)..struct ta
10d60 67 4e 4d 54 4f 4f 4c 42 41 52 57 20 7b 0d 0a 20 gNMTOOLBARW {..
10d70 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 NMHDR hdr;.. i
10d80 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 54 42 42 nt iItem;.. TBB
10d90 55 54 54 4f 4e 20 74 62 42 75 74 74 6f 6e 3b 0d UTTON tbButton;.
10da0 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 3b 0d . int cchText;.
10db0 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 . LPWSTR pszTex
10dc0 74 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e t;..// #if (_WIN
10dd0 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 0d 32_IE >= 0x500).
10de0 0a 20 20 52 45 43 54 20 72 63 42 75 74 74 6f 6e . RECT rcButton
10df0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d ;..// #endif..}.
10e00 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 4f 4f 4c .alias tagNMTOOL
10e10 42 41 52 57 20 4e 4d 54 4f 4f 4c 42 41 52 57 3b BARW NMTOOLBARW;
10e20 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 4f 4f ..alias tagNMTOO
10e30 4c 42 41 52 57 2a 20 4c 50 4e 4d 54 4f 4f 4c 42 LBARW* LPNMTOOLB
10e40 41 52 57 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 ARW;....// #endi
10e50 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 f....// #ifdef U
10e60 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e 4d NICODE..alias NM
10e70 54 4f 4f 4c 42 41 52 57 20 4e 4d 54 4f 4f 4c 42 TOOLBARW NMTOOLB
10e80 41 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 AR;..alias LPNMT
10e90 4f 4f 4c 42 41 52 57 20 4c 50 4e 4d 54 4f 4f 4c OOLBARW LPNMTOOL
10ea0 42 41 52 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a BAR;..// #else..
10eb0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
10ec0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
10ed0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
10ee0 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f endif // NO
10ef0 54 4f 4f 4c 42 41 52 0d 0a 0d 0a 2f 2f 20 23 69 TOOLBAR....// #i
10f00 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
10f10 30 78 30 33 30 30 29 0d 0a 0d 0a 2f 2f 20 23 69 0x0300)....// #i
10f20 66 6e 64 65 66 20 4e 4f 52 45 42 41 52 0d 0a 0d fndef NOREBAR...
10f30 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 .// #ifdef _WIN3
10f40 32 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 2..const wchar[]
10f50 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45 57 REBARCLASSNAMEW
10f60 20 3d 20 22 52 65 42 61 72 57 69 6e 64 6f 77 33 = "ReBarWindow3
10f70 32 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 2";..const char[
10f80 5d 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45 ] REBARCLASSNAME
10f90 41 20 3d 20 22 52 65 42 61 72 57 69 6e 64 6f 77 A = "ReBarWindow
10fa0 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 32";....// #ifde
10fb0 66 20 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 f UNICODE..alia
10fc0 73 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45 s REBARCLASSNAME
10fd0 57 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45 W REBARCLASSNAME
10fe0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
10ff0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
11000 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ...// #else..//
11010 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
11020 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
11030 20 52 42 49 4d 5f 49 4d 41 47 45 4c 49 53 54 20 RBIM_IMAGELIST
11040 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a = 0x00000001 }..
11050 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
11060 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a _IE >= 0x0400)..
11070 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 enum : uint { RB
11080 53 5f 54 4f 4f 4c 54 49 50 53 20 3d 20 30 78 30 S_TOOLTIPS = 0x0
11090 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 100 }..enum : ui
110a0 6e 74 20 7b 20 52 42 53 5f 56 41 52 48 45 49 47 nt { RBS_VARHEIG
110b0 48 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 HT = 0x0200 }..e
110c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 53 num : uint { RBS
110d0 5f 42 41 4e 44 42 4f 52 44 45 52 53 20 3d 20 30 _BANDBORDERS = 0
110e0 78 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0400 }..enum :
110f0 75 69 6e 74 20 7b 20 52 42 53 5f 46 49 58 45 44 uint { RBS_FIXED
11100 4f 52 44 45 52 20 3d 20 30 78 30 38 30 30 20 7d ORDER = 0x0800 }
11110 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
11120 52 42 53 5f 52 45 47 49 53 54 45 52 44 52 4f 50 RBS_REGISTERDROP
11130 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 = 0x1000 }..enu
11140 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 53 5f 41 m : uint { RBS_A
11150 55 54 4f 53 49 5a 45 20 3d 20 30 78 32 30 30 30 UTOSIZE = 0x2000
11160 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
11170 7b 20 52 42 53 5f 56 45 52 54 49 43 41 4c 47 52 { RBS_VERTICALGR
11180 49 50 50 45 52 20 3d 20 30 78 34 30 30 30 20 7d IPPER = 0x4000 }
11190 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
111a0 52 42 53 5f 44 42 4c 43 4c 4b 54 4f 47 47 4c 45 RBS_DBLCLKTOGGLE
111b0 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f 2f 20 = 0x8000 }..//
111c0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
111d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
111e0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
111f0 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 ndif // _WI
11200 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
11210 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52 45 ....struct tagRE
11220 42 41 52 49 4e 46 4f 20 7b 0d 0a 20 20 55 49 4e BARINFO {.. UIN
11230 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e T cbSize;.. UIN
11240 54 20 66 4d 61 73 6b 3b 0d 0a 2f 2f 20 23 69 66 T fMask;..// #if
11250 6e 64 65 66 20 4e 4f 49 4d 41 47 45 41 50 49 53 ndef NOIMAGEAPIS
11260 0d 0a 20 20 48 49 4d 41 47 45 4c 49 53 54 20 68 .. HIMAGELIST h
11270 69 6d 6c 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a iml;..// #else..
11280 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 // .....// #endi
11290 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52 f..}..alias tagR
112a0 45 42 41 52 49 4e 46 4f 20 52 45 42 41 52 49 4e EBARINFO REBARIN
112b0 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52 45 FO;..alias tagRE
112c0 42 41 52 49 4e 46 4f 2a 20 4c 50 52 45 42 41 52 BARINFO* LPREBAR
112d0 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 INFO;....enum :
112e0 75 69 6e 74 20 7b 20 52 42 42 53 5f 42 52 45 41 uint { RBBS_BREA
112f0 4b 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d K = 0x00000001 }
11300 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
11310 52 42 42 53 5f 46 49 58 45 44 53 49 5a 45 20 3d RBBS_FIXEDSIZE =
11320 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 0x00000002 }..e
11330 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 num : uint { RBB
11340 53 5f 43 48 49 4c 44 45 44 47 45 20 3d 20 30 78 S_CHILDEDGE = 0x
11350 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 00000004 }..enum
11360 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 48 : uint { RBBS_H
11370 49 44 44 45 4e 20 3d 20 30 78 30 30 30 30 30 30 IDDEN = 0x000000
11380 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 08 }..enum : uin
11390 74 20 7b 20 52 42 42 53 5f 4e 4f 56 45 52 54 20 t { RBBS_NOVERT
113a0 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a = 0x00000010 }..
113b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 enum : uint { RB
113c0 42 53 5f 46 49 58 45 44 42 4d 50 20 3d 20 30 78 BS_FIXEDBMP = 0x
113d0 30 30 30 30 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 00000020 }..// #
113e0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
113f0 20 30 78 30 34 30 30 29 20 20 20 20 20 20 20 20 0x0400)
11400 20 20 20 20 20 20 20 2f 2f 0d 0a 65 6e 75 6d 20 //..enum
11410 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 56 41 : uint { RBBS_VA
11420 52 49 41 42 4c 45 48 45 49 47 48 54 20 3d 20 30 RIABLEHEIGHT = 0
11430 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 x00000040 }..enu
11440 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 5f m : uint { RBBS_
11450 47 52 49 50 50 45 52 41 4c 57 41 59 53 20 3d 20 GRIPPERALWAYS =
11460 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 0x00000080 }..en
11470 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 um : uint { RBBS
11480 5f 4e 4f 47 52 49 50 50 45 52 20 3d 20 30 78 30 _NOGRIPPER = 0x0
11490 30 30 30 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 0000100 }..// #i
114a0 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
114b0 30 78 30 35 30 30 29 20 20 20 20 20 20 20 20 20 0x0500)
114c0 20 20 20 20 20 20 2f 2f 0d 0a 65 6e 75 6d 20 3a //..enum :
114d0 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 55 53 45 uint { RBBS_USE
114e0 43 48 45 56 52 4f 4e 20 3d 20 30 78 30 30 30 30 CHEVRON = 0x0000
114f0 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 0200 }..// #if (
11500 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
11510 35 30 31 29 20 20 20 20 20 20 20 20 20 20 20 20 501)
11520 20 20 20 2f 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 //..enum : ui
11530 6e 74 20 7b 20 52 42 42 53 5f 48 49 44 45 54 49 nt { RBBS_HIDETI
11540 54 4c 45 20 3d 20 30 78 30 30 30 30 30 34 30 30 TLE = 0x00000400
11550 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
11560 7b 20 52 42 42 53 5f 54 4f 50 41 4c 49 47 4e 20 { RBBS_TOPALIGN
11570 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a = 0x00000800 }..
11580 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 30 78 30 // #endif // 0x0
11590 35 30 31 20 20 20 20 20 20 20 20 20 20 20 20 20 501
115a0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 2f //../
115b0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 30 78 30 35 / #endif // 0x05
115c0 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00
115d0 20 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 2f 2f //..//
115e0 20 23 65 6e 64 69 66 20 2f 2f 20 30 78 30 34 30 #endif // 0x040
115f0 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0
11600 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 0d 0a 65 //....e
11610 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 num : uint { RBB
11620 49 4d 5f 53 54 59 4c 45 20 3d 20 30 78 30 30 30 IM_STYLE = 0x000
11630 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00001 }..enum :
11640 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f 43 4f 4c uint { RBBIM_COL
11650 4f 52 53 20 3d 20 30 78 30 30 30 30 30 30 30 32 ORS = 0x00000002
11660 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
11670 7b 20 52 42 42 49 4d 5f 54 45 58 54 20 3d 20 30 { RBBIM_TEXT = 0
11680 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 x00000004 }..enu
11690 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 49 4d m : uint { RBBIM
116a0 5f 49 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30 _IMAGE = 0x00000
116b0 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 008 }..enum : ui
116c0 6e 74 20 7b 20 52 42 42 49 4d 5f 43 48 49 4c 44 nt { RBBIM_CHILD
116d0 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d = 0x00000010 }.
116e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 .enum : uint { R
116f0 42 42 49 4d 5f 43 48 49 4c 44 53 49 5a 45 20 3d BBIM_CHILDSIZE =
11700 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 0x00000020 }..e
11710 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 num : uint { RBB
11720 49 4d 5f 53 49 5a 45 20 3d 20 30 78 30 30 30 30 IM_SIZE = 0x0000
11730 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0040 }..enum : u
11740 69 6e 74 20 7b 20 52 42 42 49 4d 5f 42 41 43 4b int { RBBIM_BACK
11750 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30 GROUND = 0x00000
11760 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 080 }..enum : ui
11770 6e 74 20 7b 20 52 42 42 49 4d 5f 49 44 20 3d 20 nt { RBBIM_ID =
11780 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 2f 2f 0x00000100 }..//
11790 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
117a0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d >= 0x0400)..enum
117b0 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f : uint { RBBIM_
117c0 49 44 45 41 4c 53 49 5a 45 20 3d 20 30 78 30 30 IDEALSIZE = 0x00
117d0 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 000200 }..enum :
117e0 20 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f 4c 50 uint { RBBIM_LP
117f0 41 52 41 4d 20 3d 20 30 78 30 30 30 30 30 34 30 ARAM = 0x0000040
11800 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
11810 20 7b 20 52 42 42 49 4d 5f 48 45 41 44 45 52 53 { RBBIM_HEADERS
11820 49 5a 45 20 3d 20 30 78 30 30 30 30 30 38 30 30 IZE = 0x00000800
11830 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d }..// #endif...
11840 0a 73 74 72 75 63 74 20 74 61 67 52 45 42 41 52 .struct tagREBAR
11850 42 41 4e 44 49 4e 46 4f 41 20 7b 0d 0a 20 20 55 BANDINFOA {.. U
11860 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 INT cbSize;.. U
11870 49 4e 54 20 66 4d 61 73 6b 3b 0d 0a 20 20 55 49 INT fMask;.. UI
11880 4e 54 20 66 53 74 79 6c 65 3b 0d 0a 20 20 43 4f NT fStyle;.. CO
11890 4c 4f 52 52 45 46 20 63 6c 72 46 6f 72 65 3b 0d LORREF clrFore;.
118a0 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 42 . COLORREF clrB
118b0 61 63 6b 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 ack;.. LPSTR lp
118c0 54 65 78 74 3b 0d 0a 20 20 55 49 4e 54 20 63 63 Text;.. UINT cc
118d0 68 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 h;.. int iImage
118e0 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 43 68 ;.. HWND hwndCh
118f0 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63 78 4d ild;.. UINT cxM
11900 69 6e 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 inChild;.. UINT
11910 20 63 79 4d 69 6e 43 68 69 6c 64 3b 0d 0a 20 20 cyMinChild;..
11920 55 49 4e 54 20 63 78 3b 0d 0a 20 20 48 42 49 54 UINT cx;.. HBIT
11930 4d 41 50 20 68 62 6d 42 61 63 6b 3b 0d 0a 20 20 MAP hbmBack;..
11940 55 49 4e 54 20 77 49 44 3b 0d 0a 2f 2f 20 23 69 UINT wID;..// #i
11950 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
11960 30 78 30 34 30 30 29 0d 0a 20 20 55 49 4e 54 20 0x0400).. UINT
11970 63 79 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 cyChild;.. UINT
11980 20 63 79 4d 61 78 43 68 69 6c 64 3b 0d 0a 20 20 cyMaxChild;..
11990 55 49 4e 54 20 63 79 49 6e 74 65 67 72 61 6c 3b UINT cyIntegral;
119a0 0d 0a 20 20 55 49 4e 54 20 63 78 49 64 65 61 6c .. UINT cxIdeal
119b0 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 ;.. LPARAM lPar
119c0 61 6d 3b 0d 0a 20 20 55 49 4e 54 20 63 78 48 65 am;.. UINT cxHe
119d0 61 64 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 ader;..// #endif
119e0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52 45 ..}..alias tagRE
119f0 42 41 52 42 41 4e 44 49 4e 46 4f 41 20 52 45 42 BARBANDINFOA REB
11a00 41 52 42 41 4e 44 49 4e 46 4f 41 3b 0d 0a 61 6c ARBANDINFOA;..al
11a10 69 61 73 20 74 61 67 52 45 42 41 52 42 41 4e 44 ias tagREBARBAND
11a20 49 4e 46 4f 41 2a 20 4c 50 52 45 42 41 52 42 41 INFOA* LPREBARBA
11a30 4e 44 49 4e 46 4f 41 3b 0d 0a 0d 0a 61 6c 69 61 NDINFOA;....alia
11a40 73 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 s REBARBANDINFOA
11a50 2a 20 4c 50 43 52 45 42 41 52 42 41 4e 44 49 4e * LPCREBARBANDIN
11a60 46 4f 41 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 FOA;....// #defi
11a70 6e 65 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f ne REBARBANDINFO
11a80 41 5f 56 33 5f 53 49 5a 45 20 43 43 53 49 5a 45 A_V3_SIZE CCSIZE
11a90 4f 46 5f 53 54 52 55 43 54 28 52 45 42 41 52 42 OF_STRUCT(REBARB
11aa0 41 4e 44 49 4e 46 4f 41 2c 20 77 49 44 29 0d 0a ANDINFOA, wID)..
11ab0 2f 2f 20 23 64 65 66 69 6e 65 20 52 45 42 41 52 // #define REBAR
11ac0 42 41 4e 44 49 4e 46 4f 57 5f 56 33 5f 53 49 5a BANDINFOW_V3_SIZ
11ad0 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 E CCSIZEOF_STRUC
11ae0 54 28 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 T(REBARBANDINFOW
11af0 2c 20 77 49 44 29 0d 0a 0d 0a 73 74 72 75 63 74 , wID)....struct
11b00 20 74 61 67 52 45 42 41 52 42 41 4e 44 49 4e 46 tagREBARBANDINF
11b10 4f 57 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 OW {.. UINT cbS
11b20 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 66 4d 61 ize;.. UINT fMa
11b30 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 66 53 74 79 sk;.. UINT fSty
11b40 6c 65 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 le;.. COLORREF
11b50 63 6c 72 46 6f 72 65 3b 0d 0a 20 20 43 4f 4c 4f clrFore;.. COLO
11b60 52 52 45 46 20 63 6c 72 42 61 63 6b 3b 0d 0a 20 RREF clrBack;..
11b70 20 4c 50 57 53 54 52 20 6c 70 54 65 78 74 3b 0d LPWSTR lpText;.
11b80 0a 20 20 55 49 4e 54 20 63 63 68 3b 0d 0a 20 20 . UINT cch;..
11b90 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 48 int iImage;.. H
11ba0 57 4e 44 20 68 77 6e 64 43 68 69 6c 64 3b 0d 0a WND hwndChild;..
11bb0 20 20 55 49 4e 54 20 63 78 4d 69 6e 43 68 69 6c UINT cxMinChil
11bc0 64 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 69 6e d;.. UINT cyMin
11bd0 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63 Child;.. UINT c
11be0 78 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 x;.. HBITMAP hb
11bf0 6d 42 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 20 77 mBack;.. UINT w
11c00 49 44 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 ID;..// #if (_WI
11c10 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
11c20 29 0d 0a 20 20 55 49 4e 54 20 63 79 43 68 69 6c ).. UINT cyChil
11c30 64 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 61 78 d;.. UINT cyMax
11c40 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63 Child;.. UINT c
11c50 79 49 6e 74 65 67 72 61 6c 3b 0d 0a 20 20 55 49 yIntegral;.. UI
11c60 4e 54 20 63 78 49 64 65 61 6c 3b 0d 0a 20 20 4c NT cxIdeal;.. L
11c70 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 PARAM lParam;..
11c80 20 55 49 4e 54 20 63 78 48 65 61 64 65 72 3b 0d UINT cxHeader;.
11c90 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 .// #endif..}..a
11ca0 6c 69 61 73 20 74 61 67 52 45 42 41 52 42 41 4e lias tagREBARBAN
11cb0 44 49 4e 46 4f 57 20 52 45 42 41 52 42 41 4e 44 DINFOW REBARBAND
11cc0 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61 INFOW;..alias ta
11cd0 67 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 2a gREBARBANDINFOW*
11ce0 20 4c 50 52 45 42 41 52 42 41 4e 44 49 4e 46 4f LPREBARBANDINFO
11cf0 57 3b 0d 0a 0d 0a 61 6c 69 61 73 20 52 45 42 41 W;....alias REBA
11d00 52 42 41 4e 44 49 4e 46 4f 57 2a 20 4c 50 43 52 RBANDINFOW* LPCR
11d10 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 3b 0d 0a EBARBANDINFOW;..
11d20 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
11d30 4f 44 45 0d 0a 61 6c 69 61 73 20 52 45 42 41 52 ODE..alias REBAR
11d40 42 41 4e 44 49 4e 46 4f 57 20 52 45 42 41 52 42 BANDINFOW REBARB
11d50 41 4e 44 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 ANDINFO;..alias
11d60 4c 50 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 LPREBARBANDINFOW
11d70 20 4c 50 52 45 42 41 52 42 41 4e 44 49 4e 46 4f LPREBARBANDINFO
11d80 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 52 45 42 41 ;..alias LPCREBA
11d90 52 42 41 4e 44 49 4e 46 4f 57 20 4c 50 43 52 45 RBANDINFOW LPCRE
11da0 42 41 52 42 41 4e 44 49 4e 46 4f 3b 0d 0a 2f 2f BARBANDINFO;..//
11db0 20 23 64 65 66 69 6e 65 20 52 45 42 41 52 42 41 #define REBARBA
11dc0 4e 44 49 4e 46 4f 5f 56 33 5f 53 49 5a 45 20 52 NDINFO_V3_SIZE R
11dd0 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 5f 56 33 EBARBANDINFOW_V3
11de0 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c 73 65 0d _SIZE..// #else.
11df0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
11e00 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
11e10 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
11e20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
11e30 52 42 5f 49 4e 53 45 52 54 42 41 4e 44 41 20 3d RB_INSERTBANDA =
11e40 20 57 4d 5f 55 53 45 52 20 2b 20 31 20 7d 0d 0a WM_USER + 1 }..
11e50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 enum : uint { RB
11e60 5f 44 45 4c 45 54 45 42 41 4e 44 20 3d 20 57 4d _DELETEBAND = WM
11e70 5f 55 53 45 52 20 2b 20 32 20 7d 0d 0a 65 6e 75 _USER + 2 }..enu
11e80 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 m : uint { RB_GE
11e90 54 42 41 52 49 4e 46 4f 20 3d 20 57 4d 5f 55 53 TBARINFO = WM_US
11ea0 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a ER + 3 }..enum :
11eb0 20 75 69 6e 74 20 7b 20 52 42 5f 53 45 54 42 41 uint { RB_SETBA
11ec0 52 49 4e 46 4f 20 3d 20 57 4d 5f 55 53 45 52 20 RINFO = WM_USER
11ed0 2b 20 34 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f + 4 }..// #if (_
11ee0 57 49 4e 33 32 5f 49 45 20 3c 20 30 78 30 34 30 WIN32_IE < 0x040
11ef0 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 0)..// #.....//
11f00 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 #endif..enum : u
11f10 69 6e 74 20 7b 20 52 42 5f 53 45 54 42 41 4e 44 int { RB_SETBAND
11f20 49 4e 46 4f 41 20 3d 20 57 4d 5f 55 53 45 52 20 INFOA = WM_USER
11f30 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 + 6 }..enum : ui
11f40 6e 74 20 7b 20 52 42 5f 53 45 54 50 41 52 45 4e nt { RB_SETPAREN
11f50 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 20 T = WM_USER + 7
11f60 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
11f70 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
11f80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 .enum : uint { R
11f90 42 5f 48 49 54 54 45 53 54 20 3d 20 57 4d 5f 55 B_HITTEST = WM_U
11fa0 53 45 52 20 2b 20 38 20 7d 0d 0a 65 6e 75 6d 20 SER + 8 }..enum
11fb0 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 52 : uint { RB_GETR
11fc0 45 43 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 ECT = WM_USER +
11fd0 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 9 }..// #endif..
11fe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 enum : uint { RB
11ff0 5f 49 4e 53 45 52 54 42 41 4e 44 57 20 3d 20 57 _INSERTBANDW = W
12000 4d 5f 55 53 45 52 20 2b 20 31 30 20 7d 0d 0a 65 M_USER + 10 }..e
12010 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f num : uint { RB_
12020 53 45 54 42 41 4e 44 49 4e 46 4f 57 20 3d 20 57 SETBANDINFOW = W
12030 4d 5f 55 53 45 52 20 2b 20 31 31 20 7d 0d 0a 65 M_USER + 11 }..e
12040 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f num : uint { RB_
12050 47 45 54 42 41 4e 44 43 4f 55 4e 54 20 3d 20 57 GETBANDCOUNT = W
12060 4d 5f 55 53 45 52 20 2b 20 31 32 20 7d 0d 0a 65 M_USER + 12 }..e
12070 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f num : uint { RB_
12080 47 45 54 52 4f 57 43 4f 55 4e 54 20 3d 20 57 4d GETROWCOUNT = WM
12090 5f 55 53 45 52 20 2b 20 31 33 20 7d 0d 0a 65 6e _USER + 13 }..en
120a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 um : uint { RB_G
120b0 45 54 52 4f 57 48 45 49 47 48 54 20 3d 20 57 4d ETROWHEIGHT = WM
120c0 5f 55 53 45 52 20 2b 20 31 34 20 7d 0d 0a 2f 2f _USER + 14 }..//
120d0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
120e0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d >= 0x0400)..enum
120f0 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 49 44 54 : uint { RB_IDT
12100 4f 49 4e 44 45 58 20 3d 20 57 4d 5f 55 53 45 52 OINDEX = WM_USER
12110 20 2b 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 + 16 }..enum :
12120 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 54 4f 4f uint { RB_GETTOO
12130 4c 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20 LTIPS = WM_USER
12140 2b 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 17 }..enum : u
12150 69 6e 74 20 7b 20 52 42 5f 53 45 54 54 4f 4f 4c int { RB_SETTOOL
12160 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b TIPS = WM_USER +
12170 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 18 }..enum : ui
12180 6e 74 20 7b 20 52 42 5f 53 45 54 42 4b 43 4f 4c nt { RB_SETBKCOL
12190 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 OR = WM_USER + 1
121a0 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 9 }..enum : uint
121b0 20 7b 20 52 42 5f 47 45 54 42 4b 43 4f 4c 4f 52 { RB_GETBKCOLOR
121c0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 30 20 = WM_USER + 20
121d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
121e0 20 52 42 5f 53 45 54 54 45 58 54 43 4f 4c 4f 52 RB_SETTEXTCOLOR
121f0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 31 20 = WM_USER + 21
12200 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
12210 20 52 42 5f 47 45 54 54 45 58 54 43 4f 4c 4f 52 RB_GETTEXTCOLOR
12220 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 32 20 = WM_USER + 22
12230 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 }....// #if (_WI
12240 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 N32_WINNT >= 0x0
12250 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 501)..enum : uin
12260 74 20 7b 20 52 42 53 54 52 5f 43 48 41 4e 47 45 t { RBSTR_CHANGE
12270 52 45 43 54 20 3d 20 30 78 30 30 30 31 20 7d 0d RECT = 0x0001 }.
12280 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e .// #endif....en
12290 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 53 um : uint { RB_S
122a0 49 5a 45 54 4f 52 45 43 54 20 3d 20 57 4d 5f 55 IZETORECT = WM_U
122b0 53 45 52 20 2b 20 32 33 20 7d 0d 0a 2f 2f 20 23 SER + 23 }..// #
122c0 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 endif // _W
122d0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 IN32_IE >= 0x040
122e0 30 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 0....alias CCM_S
122f0 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45 20 52 42 ETCOLORSCHEME RB
12300 5f 53 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45 3b _SETCOLORSCHEME;
12310 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 43 ..alias CCM_GETC
12320 4f 4c 4f 52 53 43 48 45 4d 45 20 52 42 5f 47 45 OLORSCHEME RB_GE
12330 54 43 4f 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a 0d TCOLORSCHEME;...
12340 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
12350 44 45 0d 0a 61 6c 69 61 73 20 52 42 5f 49 4e 53 DE..alias RB_INS
12360 45 52 54 42 41 4e 44 57 20 52 42 5f 49 4e 53 45 ERTBANDW RB_INSE
12370 52 54 42 41 4e 44 3b 0d 0a 61 6c 69 61 73 20 52 RTBAND;..alias R
12380 42 5f 53 45 54 42 41 4e 44 49 4e 46 4f 57 20 52 B_SETBANDINFOW R
12390 42 5f 53 45 54 42 41 4e 44 49 4e 46 4f 3b 0d 0a B_SETBANDINFO;..
123a0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
123b0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
123c0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 endif....// #if
123d0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
123e0 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0400)....enum :
123f0 75 69 6e 74 20 7b 20 52 42 5f 42 45 47 49 4e 44 uint { RB_BEGIND
12400 52 41 47 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 RAG = WM_USER +
12410 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 24 }..enum : uin
12420 74 20 7b 20 52 42 5f 45 4e 44 44 52 41 47 20 3d t { RB_ENDDRAG =
12430 20 57 4d 5f 55 53 45 52 20 2b 20 32 35 20 7d 0d WM_USER + 25 }.
12440 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 .enum : uint { R
12450 42 5f 44 52 41 47 4d 4f 56 45 20 3d 20 57 4d 5f B_DRAGMOVE = WM_
12460 55 53 45 52 20 2b 20 32 36 20 7d 0d 0a 65 6e 75 USER + 26 }..enu
12470 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 m : uint { RB_GE
12480 54 42 41 52 48 45 49 47 48 54 20 3d 20 57 4d 5f TBARHEIGHT = WM_
12490 55 53 45 52 20 2b 20 32 37 20 7d 0d 0a 65 6e 75 USER + 27 }..enu
124a0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 m : uint { RB_GE
124b0 54 42 41 4e 44 49 4e 46 4f 57 20 3d 20 57 4d 5f TBANDINFOW = WM_
124c0 55 53 45 52 20 2b 20 32 38 20 7d 0d 0a 65 6e 75 USER + 28 }..enu
124d0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 m : uint { RB_GE
124e0 54 42 41 4e 44 49 4e 46 4f 41 20 3d 20 57 4d 5f TBANDINFOA = WM_
124f0 55 53 45 52 20 2b 20 32 39 20 7d 0d 0a 0d 0a 2f USER + 29 }..../
12500 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 / #ifdef UNICODE
12510 0d 0a 61 6c 69 61 73 20 52 42 5f 47 45 54 42 41 ..alias RB_GETBA
12520 4e 44 49 4e 46 4f 57 20 52 42 5f 47 45 54 42 41 NDINFOW RB_GETBA
12530 4e 44 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 NDINFO;..// #els
12540 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
12550 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 endif....enum :
12560 75 69 6e 74 20 7b 20 52 42 5f 4d 49 4e 49 4d 49 uint { RB_MINIMI
12570 5a 45 42 41 4e 44 20 3d 20 57 4d 5f 55 53 45 52 ZEBAND = WM_USER
12580 20 2b 20 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 + 30 }..enum :
12590 75 69 6e 74 20 7b 20 52 42 5f 4d 41 58 49 4d 49 uint { RB_MAXIMI
125a0 5a 45 42 41 4e 44 20 3d 20 57 4d 5f 55 53 45 52 ZEBAND = WM_USER
125b0 20 2b 20 33 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 + 31 }....enum
125c0 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 44 : uint { RB_GETD
125d0 52 4f 50 54 41 52 47 45 54 20 3d 20 43 43 4d 5f ROPTARGET = CCM_
125e0 47 45 54 44 52 4f 50 54 41 52 47 45 54 20 7d 0d GETDROPTARGET }.
125f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
12600 20 52 42 5f 47 45 54 42 41 4e 44 42 4f 52 44 45 RB_GETBANDBORDE
12610 52 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 RS = WM_USER + 3
12620 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 4 }....enum : ui
12630 6e 74 20 7b 20 52 42 5f 53 48 4f 57 42 41 4e 44 nt { RB_SHOWBAND
12640 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 35 20 = WM_USER + 35
12650 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
12660 20 52 42 5f 53 45 54 50 41 4c 45 54 54 45 20 3d RB_SETPALETTE =
12670 20 57 4d 5f 55 53 45 52 20 2b 20 33 37 20 7d 0d WM_USER + 37 }.
12680 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 .enum : uint { R
12690 42 5f 47 45 54 50 41 4c 45 54 54 45 20 3d 20 57 B_GETPALETTE = W
126a0 4d 5f 55 53 45 52 20 2b 20 33 38 20 7d 0d 0a 65 M_USER + 38 }..e
126b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f num : uint { RB_
126c0 4d 4f 56 45 42 41 4e 44 20 3d 20 57 4d 5f 55 53 MOVEBAND = WM_US
126d0 45 52 20 2b 20 33 39 20 7d 0d 0a 0d 0a 61 6c 69 ER + 39 }....ali
126e0 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 as CCM_SETUNICOD
126f0 45 46 4f 52 4d 41 54 20 52 42 5f 53 45 54 55 4e EFORMAT RB_SETUN
12700 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c ICODEFORMAT;..al
12710 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f ias CCM_GETUNICO
12720 44 45 46 4f 52 4d 41 54 20 52 42 5f 47 45 54 55 DEFORMAT RB_GETU
12730 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 0d NICODEFORMAT;...
12740 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 .// #endif
12750 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 // _WIN32_IE >=
12760 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 0x0400....// #if
12770 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e (_WIN32_WINNT >
12780 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a = 0x501)..enum :
12790 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 42 41 uint { RB_GETBA
127a0 4e 44 4d 41 52 47 49 4e 53 20 3d 20 57 4d 5f 55 NDMARGINS = WM_U
127b0 53 45 52 20 2b 20 34 30 20 7d 0d 0a 61 6c 69 61 SER + 40 }..alia
127c0 73 20 43 43 4d 5f 53 45 54 57 49 4e 44 4f 57 54 s CCM_SETWINDOWT
127d0 48 45 4d 45 20 52 42 5f 53 45 54 57 49 4e 44 4f HEME RB_SETWINDO
127e0 57 54 48 45 4d 45 3b 0d 0a 2f 2f 20 23 65 6e 64 WTHEME;..// #end
127f0 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 if....// #if (_W
12800 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 IN32_IE >= 0x050
12810 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
12820 7b 20 52 42 5f 50 55 53 48 43 48 45 56 52 4f 4e { RB_PUSHCHEVRON
12830 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 33 20 = WM_USER + 43
12840 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 }..// #endif
12850 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e // _WIN32_IE >
12860 3d 20 30 78 30 35 30 30 0d 0a 0d 0a 65 6e 75 6d = 0x0500....enum
12870 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 48 45 : uint { RBN_HE
12880 49 47 48 54 43 48 41 4e 47 45 20 3d 20 52 42 4e IGHTCHANGE = RBN
12890 5f 46 49 52 53 54 20 2d 20 30 20 7d 0d 0a 0d 0a _FIRST - 0 }....
128a0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
128b0 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e E >= 0x0400)..en
128c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f um : uint { RBN_
128d0 47 45 54 4f 42 4a 45 43 54 20 3d 20 52 42 4e 5f GETOBJECT = RBN_
128e0 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 65 6e 75 FIRST - 1 }..enu
128f0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 4c m : uint { RBN_L
12900 41 59 4f 55 54 43 48 41 4e 47 45 44 20 3d 20 52 AYOUTCHANGED = R
12910 42 4e 5f 46 49 52 53 54 20 2d 20 32 20 7d 0d 0a BN_FIRST - 2 }..
12920 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 enum : uint { RB
12930 4e 5f 41 55 54 4f 53 49 5a 45 20 3d 20 52 42 4e N_AUTOSIZE = RBN
12940 5f 46 49 52 53 54 20 2d 20 33 20 7d 0d 0a 65 6e _FIRST - 3 }..en
12950 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f um : uint { RBN_
12960 42 45 47 49 4e 44 52 41 47 20 3d 20 52 42 4e 5f BEGINDRAG = RBN_
12970 46 49 52 53 54 20 2d 20 34 20 7d 0d 0a 65 6e 75 FIRST - 4 }..enu
12980 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 45 m : uint { RBN_E
12990 4e 44 44 52 41 47 20 3d 20 52 42 4e 5f 46 49 52 NDDRAG = RBN_FIR
129a0 53 54 20 2d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a ST - 5 }..enum :
129b0 20 75 69 6e 74 20 7b 20 52 42 4e 5f 44 45 4c 45 uint { RBN_DELE
129c0 54 49 4e 47 42 41 4e 44 20 3d 20 52 42 4e 5f 46 TINGBAND = RBN_F
129d0 49 52 53 54 20 2d 20 36 20 7d 0d 0a 65 6e 75 6d IRST - 6 }..enum
129e0 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 44 45 : uint { RBN_DE
129f0 4c 45 54 45 44 42 41 4e 44 20 3d 20 52 42 4e 5f LETEDBAND = RBN_
12a00 46 49 52 53 54 20 2d 20 37 20 7d 0d 0a 65 6e 75 FIRST - 7 }..enu
12a10 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 43 m : uint { RBN_C
12a20 48 49 4c 44 53 49 5a 45 20 3d 20 52 42 4e 5f 46 HILDSIZE = RBN_F
12a30 49 52 53 54 20 2d 20 38 20 7d 0d 0a 0d 0a 2f 2f IRST - 8 }....//
12a40 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
12a50 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d >= 0x0500)..enum
12a60 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 43 48 : uint { RBN_CH
12a70 45 56 52 4f 4e 50 55 53 48 45 44 20 3d 20 52 42 EVRONPUSHED = RB
12a80 4e 5f 46 49 52 53 54 20 2d 20 31 30 20 7d 0d 0a N_FIRST - 10 }..
12a90 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f // #endif /
12aa0 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 / _WIN32_IE >= 0
12ab0 78 30 35 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 20 x0500....// #if
12ac0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
12ad0 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0500)..enum : ui
12ae0 6e 74 20 7b 20 52 42 4e 5f 4d 49 4e 4d 41 58 20 nt { RBN_MINMAX
12af0 3d 20 52 42 4e 5f 46 49 52 53 54 20 2d 20 32 31 = RBN_FIRST - 21
12b00 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d }..// #endif...
12b10 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
12b20 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 WINNT >= 0x0501)
12b30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
12b40 52 42 4e 5f 41 55 54 4f 42 52 45 41 4b 20 3d 20 RBN_AUTOBREAK =
12b50 52 42 4e 5f 46 49 52 53 54 20 2d 20 32 32 20 7d RBN_FIRST - 22 }
12b60 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 ..// #endif....s
12b70 74 72 75 63 74 20 74 61 67 4e 4d 52 45 42 41 52 truct tagNMREBAR
12b80 43 48 49 4c 44 53 49 5a 45 20 7b 0d 0a 20 20 4e CHILDSIZE {.. N
12b90 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 55 49 4e MHDR hdr;.. UIN
12ba0 54 20 75 42 61 6e 64 3b 0d 0a 20 20 55 49 4e 54 T uBand;.. UINT
12bb0 20 77 49 44 3b 0d 0a 20 20 52 45 43 54 20 72 63 wID;.. RECT rc
12bc0 43 68 69 6c 64 3b 0d 0a 20 20 52 45 43 54 20 72 Child;.. RECT r
12bd0 63 42 61 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 cBand;..}..alias
12be0 20 74 61 67 4e 4d 52 45 42 41 52 43 48 49 4c 44 tagNMREBARCHILD
12bf0 53 49 5a 45 20 4e 4d 52 45 42 41 52 43 48 49 4c SIZE NMREBARCHIL
12c00 44 53 49 5a 45 3b 0d 0a 61 6c 69 61 73 20 74 61 DSIZE;..alias ta
12c10 67 4e 4d 52 45 42 41 52 43 48 49 4c 44 53 49 5a gNMREBARCHILDSIZ
12c20 45 2a 20 4c 50 4e 4d 52 45 42 41 52 43 48 49 4c E* LPNMREBARCHIL
12c30 44 53 49 5a 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 DSIZE;....struct
12c40 20 74 61 67 4e 4d 52 45 42 41 52 20 7b 0d 0a 20 tagNMREBAR {..
12c50 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 NMHDR hdr;.. D
12c60 57 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 WORD dwMask;..
12c70 55 49 4e 54 20 75 42 61 6e 64 3b 0d 0a 20 20 55 UINT uBand;.. U
12c80 49 4e 54 20 66 53 74 79 6c 65 3b 0d 0a 20 20 55 INT fStyle;.. U
12c90 49 4e 54 20 77 49 44 3b 0d 0a 20 20 4c 50 41 52 INT wID;.. LPAR
12ca0 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 AM lParam;..}..a
12cb0 6c 69 61 73 20 74 61 67 4e 4d 52 45 42 41 52 20 lias tagNMREBAR
12cc0 4e 4d 52 45 42 41 52 3b 0d 0a 61 6c 69 61 73 20 NMREBAR;..alias
12cd0 74 61 67 4e 4d 52 45 42 41 52 2a 20 4c 50 4e 4d tagNMREBAR* LPNM
12ce0 52 45 42 41 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a REBAR;....enum :
12cf0 20 75 69 6e 74 20 7b 20 52 42 4e 4d 5f 49 44 20 uint { RBNM_ID
12d00 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a = 0x00000001 }..
12d10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 enum : uint { RB
12d20 4e 4d 5f 53 54 59 4c 45 20 3d 20 30 78 30 30 30 NM_STYLE = 0x000
12d30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00002 }..enum :
12d40 75 69 6e 74 20 7b 20 52 42 4e 4d 5f 4c 50 41 52 uint { RBNM_LPAR
12d50 41 4d 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 AM = 0x00000004
12d60 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e }....struct tagN
12d70 4d 52 42 41 55 54 4f 53 49 5a 45 20 7b 0d 0a 20 MRBAUTOSIZE {..
12d80 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 42 NMHDR hdr;.. B
12d90 4f 4f 4c 20 66 43 68 61 6e 67 65 64 3b 0d 0a 20 OOL fChanged;..
12da0 20 52 45 43 54 20 72 63 54 61 72 67 65 74 3b 0d RECT rcTarget;.
12db0 0a 20 20 52 45 43 54 20 72 63 41 63 74 75 61 6c . RECT rcActual
12dc0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e ;..}..alias tagN
12dd0 4d 52 42 41 55 54 4f 53 49 5a 45 20 4e 4d 52 42 MRBAUTOSIZE NMRB
12de0 41 55 54 4f 53 49 5a 45 3b 0d 0a 61 6c 69 61 73 AUTOSIZE;..alias
12df0 20 74 61 67 4e 4d 52 42 41 55 54 4f 53 49 5a 45 tagNMRBAUTOSIZE
12e00 2a 20 4c 50 4e 4d 52 42 41 55 54 4f 53 49 5a 45 * LPNMRBAUTOSIZE
12e10 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 ;....// #if (_WI
12e20 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 N32_IE >= 0x0500
12e30 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 52 )..struct tagNMR
12e40 45 42 41 52 43 48 45 56 52 4f 4e 20 7b 0d 0a 20 EBARCHEVRON {..
12e50 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 55 NMHDR hdr;.. U
12e60 49 4e 54 20 75 42 61 6e 64 3b 0d 0a 20 20 55 49 INT uBand;.. UI
12e70 4e 54 20 77 49 44 3b 0d 0a 20 20 4c 50 41 52 41 NT wID;.. LPARA
12e80 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 52 45 43 M lParam;.. REC
12e90 54 20 72 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 T rc;.. LPARAM
12ea0 6c 50 61 72 61 6d 4e 4d 3b 0d 0a 7d 0d 0a 61 6c lParamNM;..}..al
12eb0 69 61 73 20 74 61 67 4e 4d 52 45 42 41 52 43 48 ias tagNMREBARCH
12ec0 45 56 52 4f 4e 20 4e 4d 52 45 42 41 52 43 48 45 EVRON NMREBARCHE
12ed0 56 52 4f 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67 VRON;..alias tag
12ee0 4e 4d 52 45 42 41 52 43 48 45 56 52 4f 4e 2a 20 NMREBARCHEVRON*
12ef0 4c 50 4e 4d 52 45 42 41 52 43 48 45 56 52 4f 4e LPNMREBARCHEVRON
12f00 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a ;....// #endif..
12f10 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
12f20 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 _WINNT >= 0x0501
12f30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
12f40 20 52 42 41 42 5f 41 55 54 4f 53 49 5a 45 20 3d RBAB_AUTOSIZE =
12f50 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
12f60 3a 20 75 69 6e 74 20 7b 20 52 42 41 42 5f 41 44 : uint { RBAB_AD
12f70 44 42 41 4e 44 20 3d 20 30 78 30 30 30 32 20 7d DBAND = 0x0002 }
12f80 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d ....struct tagNM
12f90 52 45 42 41 52 41 55 54 4f 42 52 45 41 4b 20 7b REBARAUTOBREAK {
12fa0 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a .. NMHDR hdr;..
12fb0 20 20 55 49 4e 54 20 75 42 61 6e 64 3b 0d 0a 20 UINT uBand;..
12fc0 20 55 49 4e 54 20 77 49 44 3b 0d 0a 20 20 4c 50 UINT wID;.. LP
12fd0 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 ARAM lParam;..
12fe0 55 49 4e 54 20 75 4d 73 67 3b 0d 0a 20 20 55 49 UINT uMsg;.. UI
12ff0 4e 54 20 66 53 74 79 6c 65 43 75 72 72 65 6e 74 NT fStyleCurrent
13000 3b 0d 0a 20 20 42 4f 4f 4c 20 66 41 75 74 6f 42 ;.. BOOL fAutoB
13010 72 65 61 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 reak;..}..alias
13020 74 61 67 4e 4d 52 45 42 41 52 41 55 54 4f 42 52 tagNMREBARAUTOBR
13030 45 41 4b 20 4e 4d 52 45 42 41 52 41 55 54 4f 42 EAK NMREBARAUTOB
13040 52 45 41 4b 3b 0d 0a 61 6c 69 61 73 20 74 61 67 REAK;..alias tag
13050 4e 4d 52 45 42 41 52 41 55 54 4f 42 52 45 41 4b NMREBARAUTOBREAK
13060 2a 20 4c 50 4e 4d 52 45 42 41 52 41 55 54 4f 42 * LPNMREBARAUTOB
13070 52 45 41 4b 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 REAK;....// #end
13080 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e if....enum : uin
13090 74 20 7b 20 52 42 48 54 5f 4e 4f 57 48 45 52 45 t { RBHT_NOWHERE
130a0 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 = 0x0001 }..enu
130b0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 48 54 5f m : uint { RBHT_
130c0 43 41 50 54 49 4f 4e 20 3d 20 30 78 30 30 30 32 CAPTION = 0x0002
130d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
130e0 7b 20 52 42 48 54 5f 43 4c 49 45 4e 54 20 3d 20 { RBHT_CLIENT =
130f0 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0003 }..enum :
13100 20 75 69 6e 74 20 7b 20 52 42 48 54 5f 47 52 41 uint { RBHT_GRA
13110 42 42 45 52 20 3d 20 30 78 30 30 30 34 20 7d 0d BBER = 0x0004 }.
13120 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
13130 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 IE >= 0x0500)..e
13140 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 48 num : uint { RBH
13150 54 5f 43 48 45 56 52 4f 4e 20 3d 20 30 78 30 30 T_CHEVRON = 0x00
13160 30 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 08 }..// #endif.
13170 0a 0d 0a 73 74 72 75 63 74 20 5f 52 42 5f 48 49 ...struct _RB_HI
13180 54 54 45 53 54 49 4e 46 4f 20 7b 0d 0a 20 20 50 TTESTINFO {.. P
13190 4f 49 4e 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 OINT pt;.. UINT
131a0 20 66 6c 61 67 73 3b 0d 0a 20 20 69 6e 74 20 69 flags;.. int i
131b0 42 61 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 Band;..}..alias
131c0 5f 52 42 5f 48 49 54 54 45 53 54 49 4e 46 4f 20 _RB_HITTESTINFO
131d0 52 42 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a RBHITTESTINFO;..
131e0 61 6c 69 61 73 20 5f 52 42 5f 48 49 54 54 45 53 alias _RB_HITTES
131f0 54 49 4e 46 4f 2a 20 4c 50 52 42 48 49 54 54 45 TINFO* LPRBHITTE
13200 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 2f 2f 20 23 65 STINFO;....// #e
13210 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 ndif // _WI
13220 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
13230 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 ....// #endif
13240 20 20 20 2f 2f 20 4e 4f 52 45 42 41 52 0d 0a 0d // NOREBAR...
13250 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 .// #endif
13260 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 // _WIN32_IE >=
13270 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 0x0300....// #if
13280 6e 64 65 66 20 4e 4f 54 4f 4f 4c 54 49 50 53 0d ndef NOTOOLTIPS.
13290 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 ...// #ifdef _WI
132a0 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68 N32....const wch
132b0 61 72 5b 5d 20 54 4f 4f 4c 54 49 50 53 5f 43 4c ar[] TOOLTIPS_CL
132c0 41 53 53 57 20 3d 20 22 74 6f 6f 6c 74 69 70 73 ASSW = "tooltips
132d0 5f 63 6c 61 73 73 33 32 22 3b 0d 0a 63 6f 6e 73 _class32";..cons
132e0 74 20 63 68 61 72 5b 5d 20 54 4f 4f 4c 54 49 50 t char[] TOOLTIP
132f0 53 5f 43 4c 41 53 53 41 20 3d 20 22 74 6f 6f 6c S_CLASSA = "tool
13300 74 69 70 73 5f 63 6c 61 73 73 33 32 22 3b 0d 0a tips_class32";..
13310 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
13320 4f 44 45 0d 0a 61 6c 69 61 73 20 54 4f 4f 4c 54 ODE..alias TOOLT
13330 49 50 53 5f 43 4c 41 53 53 57 20 54 4f 4f 4c 54 IPS_CLASSW TOOLT
13340 49 50 53 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 IPS_CLASS;..// #
13350 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
13360 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
13370 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
13380 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
13390 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
133a0 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 0x0300)..alias
133b0 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 41 20 4c 50 LPTTTOOLINFOA LP
133c0 54 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 TOOLINFOA;..alia
133d0 73 20 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 57 20 s LPTTTOOLINFOW
133e0 4c 50 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a 61 6c LPTOOLINFOW;..al
133f0 69 61 73 20 54 54 54 4f 4f 4c 49 4e 46 4f 41 20 ias TTTOOLINFOA
13400 54 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 TOOLINFOA;..alia
13410 73 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 20 54 4f s TTTOOLINFOW TO
13420 4f 4c 49 4e 46 4f 57 3b 0d 0a 2f 2f 20 23 65 6c OLINFOW;..// #el
13430 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
13440 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
13450 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
13460 66 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 54 54 54 f....alias LPTTT
13470 4f 4f 4c 49 4e 46 4f 20 4c 50 54 4f 4f 4c 49 4e OOLINFO LPTOOLIN
13480 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 54 54 4f 4f FO;..alias TTTOO
13490 4c 49 4e 46 4f 20 54 4f 4f 4c 49 4e 46 4f 3b 0d LINFO TOOLINFO;.
134a0 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 54 ...// #define TT
134b0 54 4f 4f 4c 49 4e 46 4f 41 5f 56 31 5f 53 49 5a TOOLINFOA_V1_SIZ
134c0 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 E CCSIZEOF_STRUC
134d0 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 41 2c 20 6c T(TTTOOLINFOA, l
134e0 70 73 7a 54 65 78 74 29 0d 0a 2f 2f 20 23 64 65 pszText)..// #de
134f0 66 69 6e 65 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 fine TTTOOLINFOW
13500 5f 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f _V1_SIZE CCSIZEO
13510 46 5f 53 54 52 55 43 54 28 54 54 54 4f 4f 4c 49 F_STRUCT(TTTOOLI
13520 4e 46 4f 57 2c 20 6c 70 73 7a 54 65 78 74 29 0d NFOW, lpszText).
13530 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 54 54 4f .// #define TTTO
13540 4f 4c 49 4e 46 4f 41 5f 56 32 5f 53 49 5a 45 20 OLINFOA_V2_SIZE
13550 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 CCSIZEOF_STRUCT(
13560 54 54 54 4f 4f 4c 49 4e 46 4f 41 2c 20 6c 50 61 TTTOOLINFOA, lPa
13570 72 61 6d 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 ram)..// #define
13580 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 5f 56 32 5f TTTOOLINFOW_V2_
13590 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 SIZE CCSIZEOF_ST
135a0 52 55 43 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 57 RUCT(TTTOOLINFOW
135b0 2c 20 6c 50 61 72 61 6d 29 0d 0a 2f 2f 20 23 64 , lParam)..// #d
135c0 65 66 69 6e 65 20 54 54 54 4f 4f 4c 49 4e 46 4f efine TTTOOLINFO
135d0 41 5f 56 33 5f 53 49 5a 45 20 43 43 53 49 5a 45 A_V3_SIZE CCSIZE
135e0 4f 46 5f 53 54 52 55 43 54 28 54 54 54 4f 4f 4c OF_STRUCT(TTTOOL
135f0 49 4e 46 4f 41 2c 20 6c 70 52 65 73 65 72 76 65 INFOA, lpReserve
13600 64 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 d)..// #define T
13610 54 54 4f 4f 4c 49 4e 46 4f 57 5f 56 33 5f 53 49 TTOOLINFOW_V3_SI
13620 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 ZE CCSIZEOF_STRU
13630 43 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 57 2c 20 CT(TTTOOLINFOW,
13640 6c 70 52 65 73 65 72 76 65 64 29 0d 0a 0d 0a 73 lpReserved)....s
13650 74 72 75 63 74 20 74 61 67 54 4f 4f 4c 49 4e 46 truct tagTOOLINF
13660 4f 41 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 OA {.. UINT cbS
13670 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 75 46 6c ize;.. UINT uFl
13680 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e ags;.. HWND hwn
13690 64 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75 d;.. UINT_PTR u
136a0 49 64 3b 0d 0a 20 20 52 45 43 54 20 72 65 63 74 Id;.. RECT rect
136b0 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 ;.. HINSTANCE h
136c0 69 6e 73 74 3b 0d 0a 20 20 4c 50 53 54 52 20 6c inst;.. LPSTR l
136d0 70 73 7a 54 65 78 74 3b 0d 0a 2f 2f 20 23 69 66 pszText;..// #if
136e0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
136f0 78 30 33 30 30 29 0d 0a 20 20 4c 50 41 52 41 4d x0300).. LPARAM
13700 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6e lParam;..// #en
13710 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 dif..// #if (_WI
13720 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 N32_WINNT >= 0x0
13730 35 30 31 29 0d 0a 20 20 76 6f 69 64 20 2a 6c 70 501).. void *lp
13740 52 65 73 65 72 76 65 64 3b 0d 0a 2f 2f 20 23 65 Reserved;..// #e
13750 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 ndif..}..alias t
13760 61 67 54 4f 4f 4c 49 4e 46 4f 41 20 54 54 54 4f agTOOLINFOA TTTO
13770 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 OLINFOA;..alias
13780 74 61 67 54 4f 4f 4c 49 4e 46 4f 41 2a 20 50 54 tagTOOLINFOA* PT
13790 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 OOLINFOA;..alias
137a0 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 41 2a 20 4c tagTOOLINFOA* L
137b0 50 54 54 54 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 0d PTTTOOLINFOA;...
137c0 0a 73 74 72 75 63 74 20 74 61 67 54 4f 4f 4c 49 .struct tagTOOLI
137d0 4e 46 4f 57 20 7b 0d 0a 20 20 55 49 4e 54 20 63 NFOW {.. UINT c
137e0 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 75 bSize;.. UINT u
137f0 46 6c 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 Flags;.. HWND h
13800 77 6e 64 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 52 wnd;.. UINT_PTR
13810 20 75 49 64 3b 0d 0a 20 20 52 45 43 54 20 72 65 uId;.. RECT re
13820 63 74 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 ct;.. HINSTANCE
13830 20 68 69 6e 73 74 3b 0d 0a 20 20 4c 50 57 53 54 hinst;.. LPWST
13840 52 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 2f 2f 20 R lpszText;..//
13850 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
13860 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 4c 50 41 = 0x0300).. LPA
13870 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f 20 RAM lParam;..//
13880 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 #endif..// #if (
13890 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 _WIN32_WINNT >=
138a0 30 78 30 35 30 31 29 0d 0a 20 20 76 6f 69 64 20 0x0501).. void
138b0 2a 6c 70 52 65 73 65 72 76 65 64 3b 0d 0a 2f 2f *lpReserved;..//
138c0 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 #endif..}..alia
138d0 73 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 57 20 54 s tagTOOLINFOW T
138e0 54 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a 61 6c 69 TTOOLINFOW;..ali
138f0 61 73 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 57 2a as tagTOOLINFOW*
13900 20 50 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a 61 6c PTOOLINFOW;..al
13910 69 61 73 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 57 ias tagTOOLINFOW
13920 2a 20 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 57 3b * LPTTTOOLINFOW;
13930 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
13940 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 54 54 ICODE..alias TTT
13950 4f 4f 4c 49 4e 46 4f 57 20 54 54 54 4f 4f 4c 49 OOLINFOW TTTOOLI
13960 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 50 54 4f 4f NFO;..alias PTOO
13970 4c 49 4e 46 4f 57 20 50 54 4f 4f 4c 49 4e 46 4f LINFOW PTOOLINFO
13980 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 54 54 4f 4f ;..alias LPTTTOO
13990 4c 49 4e 46 4f 57 20 4c 50 54 54 54 4f 4f 4c 49 LINFOW LPTTTOOLI
139a0 4e 46 4f 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 NFO;..// #define
139b0 20 54 54 54 4f 4f 4c 49 4e 46 4f 5f 56 31 5f 53 TTTOOLINFO_V1_S
139c0 49 5a 45 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 5f IZE TTTOOLINFOW_
139d0 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c 73 V1_SIZE..// #els
139e0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
139f0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
13a00 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
13a10 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
13a20 7b 20 54 54 53 5f 41 4c 57 41 59 53 54 49 50 20 { TTS_ALWAYSTIP
13a30 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a = 0x01 }..enum :
13a40 20 75 69 6e 74 20 7b 20 54 54 53 5f 4e 4f 50 52 uint { TTS_NOPR
13a50 45 46 49 58 20 3d 20 30 78 30 32 20 7d 0d 0a 2f EFIX = 0x02 }../
13a60 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
13a70 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 >= 0x0500)..enu
13a80 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 53 5f 4e m : uint { TTS_N
13a90 4f 41 4e 49 4d 41 54 45 20 3d 20 30 78 31 30 20 OANIMATE = 0x10
13aa0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
13ab0 20 54 54 53 5f 4e 4f 46 41 44 45 20 3d 20 30 78 TTS_NOFADE = 0x
13ac0 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 20 }..enum : uin
13ad0 74 20 7b 20 54 54 53 5f 42 41 4c 4c 4f 4f 4e 20 t { TTS_BALLOON
13ae0 3d 20 30 78 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a = 0x40 }..enum :
13af0 20 75 69 6e 74 20 7b 20 54 54 53 5f 43 4c 4f 53 uint { TTS_CLOS
13b00 45 20 3d 20 30 78 38 30 20 7d 0d 0a 2f 2f 20 23 E = 0x80 }..// #
13b10 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 endif....enum :
13b20 75 69 6e 74 20 7b 20 54 54 46 5f 49 44 49 53 48 uint { TTF_IDISH
13b30 57 4e 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a WND = 0x0001 }..
13b40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
13b50 54 54 46 5f 43 45 4e 54 45 52 54 49 50 20 3d 20 TTF_CENTERTIP =
13b60 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0002 }..enum :
13b70 20 75 69 6e 74 20 7b 20 54 54 46 5f 52 54 4c 52 uint { TTF_RTLR
13b80 45 41 44 49 4e 47 20 3d 20 30 78 30 30 30 34 20 EADING = 0x0004
13b90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
13ba0 20 54 54 46 5f 53 55 42 43 4c 41 53 53 20 3d 20 TTF_SUBCLASS =
13bb0 30 78 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 0x0010 }..// #if
13bc0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
13bd0 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 x0300)..enum : u
13be0 69 6e 74 20 7b 20 54 54 46 5f 54 52 41 43 4b 20 int { TTF_TRACK
13bf0 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d = 0x0020 }..enum
13c00 20 3a 20 75 69 6e 74 20 7b 20 54 54 46 5f 41 42 : uint { TTF_AB
13c10 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 38 30 20 SOLUTE = 0x0080
13c20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
13c30 20 54 54 46 5f 54 52 41 4e 53 50 41 52 45 4e 54 TTF_TRANSPARENT
13c40 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 2f 2f 20 = 0x0100 }..//
13c50 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
13c60 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20 = 0x0501)..enum
13c70 3a 20 75 69 6e 74 20 7b 20 54 54 46 5f 50 41 52 : uint { TTF_PAR
13c80 53 45 4c 49 4e 4b 53 20 3d 20 30 78 31 30 30 30 SELINKS = 0x1000
13c90 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f }..// #endif //
13ca0 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 _WIN32_IE >= 0x
13cb0 30 35 30 31 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 0501..enum : uin
13cc0 74 20 7b 20 54 54 46 5f 44 49 5f 53 45 54 49 54 t { TTF_DI_SETIT
13cd0 45 4d 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f EM = 0x8000 }../
13ce0 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f / #endif //
13cf0 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 _WIN32_IE >= 0x
13d00 30 33 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 0300....enum : u
13d10 69 6e 74 20 7b 20 54 54 44 54 5f 41 55 54 4f 4d int { TTDT_AUTOM
13d20 41 54 49 43 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d ATIC = 0 }..enum
13d30 20 3a 20 75 69 6e 74 20 7b 20 54 54 44 54 5f 52 : uint { TTDT_R
13d40 45 53 48 4f 57 20 3d 20 31 20 7d 0d 0a 65 6e 75 ESHOW = 1 }..enu
13d50 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 44 54 5f m : uint { TTDT_
13d60 41 55 54 4f 50 4f 50 20 3d 20 32 20 7d 0d 0a 65 AUTOPOP = 2 }..e
13d70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 44 num : uint { TTD
13d80 54 5f 49 4e 49 54 49 41 4c 20 3d 20 33 20 7d 0d T_INITIAL = 3 }.
13d90 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
13da0 20 54 54 49 5f 4e 4f 4e 45 20 3d 20 30 20 7d 0d TTI_NONE = 0 }.
13db0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
13dc0 54 49 5f 49 4e 46 4f 20 3d 20 31 20 7d 0d 0a 65 TI_INFO = 1 }..e
13dd0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 49 num : uint { TTI
13de0 5f 57 41 52 4e 49 4e 47 20 3d 20 32 20 7d 0d 0a _WARNING = 2 }..
13df0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 enum : uint { TT
13e00 49 5f 45 52 52 4f 52 20 3d 20 33 20 7d 0d 0a 0d I_ERROR = 3 }...
13e10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
13e20 54 4d 5f 41 43 54 49 56 41 54 45 20 3d 20 57 4d TM_ACTIVATE = WM
13e30 5f 55 53 45 52 20 2b 20 31 20 7d 0d 0a 65 6e 75 _USER + 1 }..enu
13e40 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 53 m : uint { TTM_S
13e50 45 54 44 45 4c 41 59 54 49 4d 45 20 3d 20 57 4d ETDELAYTIME = WM
13e60 5f 55 53 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75 _USER + 3 }..enu
13e70 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 41 m : uint { TTM_A
13e80 44 44 54 4f 4f 4c 41 20 3d 20 57 4d 5f 55 53 45 DDTOOLA = WM_USE
13e90 52 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 R + 4 }..enum :
13ea0 75 69 6e 74 20 7b 20 54 54 4d 5f 41 44 44 54 4f uint { TTM_ADDTO
13eb0 4f 4c 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 OLW = WM_USER +
13ec0 35 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 50 }..enum : uin
13ed0 74 20 7b 20 54 54 4d 5f 44 45 4c 54 4f 4f 4c 41 t { TTM_DELTOOLA
13ee0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 20 7d = WM_USER + 5 }
13ef0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
13f00 54 54 4d 5f 44 45 4c 54 4f 4f 4c 57 20 3d 20 57 TTM_DELTOOLW = W
13f10 4d 5f 55 53 45 52 20 2b 20 35 31 20 7d 0d 0a 65 M_USER + 51 }..e
13f20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d num : uint { TTM
13f30 5f 4e 45 57 54 4f 4f 4c 52 45 43 54 41 20 3d 20 _NEWTOOLRECTA =
13f40 57 4d 5f 55 53 45 52 20 2b 20 36 20 7d 0d 0a 65 WM_USER + 6 }..e
13f50 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d num : uint { TTM
13f60 5f 4e 45 57 54 4f 4f 4c 52 45 43 54 57 20 3d 20 _NEWTOOLRECTW =
13f70 57 4d 5f 55 53 45 52 20 2b 20 35 32 20 7d 0d 0a WM_USER + 52 }..
13f80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 enum : uint { TT
13f90 4d 5f 52 45 4c 41 59 45 56 45 4e 54 20 3d 20 57 M_RELAYEVENT = W
13fa0 4d 5f 55 53 45 52 20 2b 20 37 20 7d 0d 0a 0d 0a M_USER + 7 }....
13fb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 enum : uint { TT
13fc0 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 4f 41 20 3d M_GETTOOLINFOA =
13fd0 20 57 4d 5f 55 53 45 52 20 2b 20 38 20 7d 0d 0a WM_USER + 8 }..
13fe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 enum : uint { TT
13ff0 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 4f 57 20 3d M_GETTOOLINFOW =
14000 20 57 4d 5f 55 53 45 52 20 2b 20 35 33 20 7d 0d WM_USER + 53 }.
14010 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
14020 20 54 54 4d 5f 53 45 54 54 4f 4f 4c 49 4e 46 4f TTM_SETTOOLINFO
14030 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39 20 A = WM_USER + 9
14040 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
14050 20 54 54 4d 5f 53 45 54 54 4f 4f 4c 49 4e 46 4f TTM_SETTOOLINFO
14060 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 34 W = WM_USER + 54
14070 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e }....enum : uin
14080 74 20 7b 20 54 54 4d 5f 48 49 54 54 45 53 54 41 t { TTM_HITTESTA
14090 20 3d 20 57 4d 5f 55 53 45 52 20 2b 31 30 20 7d = WM_USER +10 }
140a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
140b0 54 54 4d 5f 48 49 54 54 45 53 54 57 20 3d 20 57 TTM_HITTESTW = W
140c0 4d 5f 55 53 45 52 20 2b 35 35 20 7d 0d 0a 65 6e M_USER +55 }..en
140d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f um : uint { TTM_
140e0 47 45 54 54 45 58 54 41 20 3d 20 57 4d 5f 55 53 GETTEXTA = WM_US
140f0 45 52 20 2b 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a ER +11 }..enum :
14100 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54 uint { TTM_GETT
14110 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b EXTW = WM_USER +
14120 35 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 56 }..enum : uin
14130 74 20 7b 20 54 54 4d 5f 55 50 44 41 54 45 54 49 t { TTM_UPDATETI
14140 50 54 45 58 54 41 20 3d 20 57 4d 5f 55 53 45 52 PTEXTA = WM_USER
14150 20 2b 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 +12 }..enum : u
14160 69 6e 74 20 7b 20 54 54 4d 5f 55 50 44 41 54 45 int { TTM_UPDATE
14170 54 49 50 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 TIPTEXTW = WM_US
14180 45 52 20 2b 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a ER +57 }..enum :
14190 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54 uint { TTM_GETT
141a0 4f 4f 4c 43 4f 55 4e 54 20 3d 20 57 4d 5f 55 53 OOLCOUNT = WM_US
141b0 45 52 20 2b 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a ER +13 }..enum :
141c0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 45 4e 55 4d uint { TTM_ENUM
141d0 54 4f 4f 4c 53 41 20 3d 20 57 4d 5f 55 53 45 52 TOOLSA = WM_USER
141e0 20 2b 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 +14 }..enum : u
141f0 69 6e 74 20 7b 20 54 54 4d 5f 45 4e 55 4d 54 4f int { TTM_ENUMTO
14200 4f 4c 53 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b OLSW = WM_USER +
14210 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 58 }..enum : uin
14220 74 20 7b 20 54 54 4d 5f 47 45 54 43 55 52 52 45 t { TTM_GETCURRE
14230 4e 54 54 4f 4f 4c 41 20 3d 20 57 4d 5f 55 53 45 NTTOOLA = WM_USE
14240 52 20 2b 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a R + 15 }..enum :
14250 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 43 uint { TTM_GETC
14260 55 52 52 45 4e 54 54 4f 4f 4c 57 20 3d 20 57 4d URRENTTOOLW = WM
14270 5f 55 53 45 52 20 2b 20 35 39 20 7d 0d 0a 65 6e _USER + 59 }..en
14280 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f um : uint { TTM_
14290 57 49 4e 44 4f 57 46 52 4f 4d 50 4f 49 4e 54 20 WINDOWFROMPOINT
142a0 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 36 20 7d = WM_USER + 16 }
142b0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
142c0 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
142d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 enum : uint { TT
142e0 4d 5f 54 52 41 43 4b 41 43 54 49 56 41 54 45 20 M_TRACKACTIVATE
142f0 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 37 20 7d = WM_USER + 17 }
14300 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
14310 54 54 4d 5f 54 52 41 43 4b 50 4f 53 49 54 49 4f TTM_TRACKPOSITIO
14320 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 38 N = WM_USER + 18
14330 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
14340 7b 20 54 54 4d 5f 53 45 54 54 49 50 42 4b 43 4f { TTM_SETTIPBKCO
14350 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 LOR = WM_USER +
14360 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 19 }..enum : uin
14370 74 20 7b 20 54 54 4d 5f 53 45 54 54 49 50 54 45 t { TTM_SETTIPTE
14380 58 54 43 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 XTCOLOR = WM_USE
14390 52 20 2b 20 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a R + 20 }..enum :
143a0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 44 uint { TTM_GETD
143b0 45 4c 41 59 54 49 4d 45 20 3d 20 57 4d 5f 55 53 ELAYTIME = WM_US
143c0 45 52 20 2b 20 32 31 20 7d 0d 0a 65 6e 75 6d 20 ER + 21 }..enum
143d0 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 : uint { TTM_GET
143e0 54 49 50 42 4b 43 4f 4c 4f 52 20 3d 20 57 4d 5f TIPBKCOLOR = WM_
143f0 55 53 45 52 20 2b 20 32 32 20 7d 0d 0a 65 6e 75 USER + 22 }..enu
14400 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 m : uint { TTM_G
14410 45 54 54 49 50 54 45 58 54 43 4f 4c 4f 52 20 3d ETTIPTEXTCOLOR =
14420 20 57 4d 5f 55 53 45 52 20 2b 20 32 33 20 7d 0d WM_USER + 23 }.
14430 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
14440 54 4d 5f 53 45 54 4d 41 58 54 49 50 57 49 44 54 TM_SETMAXTIPWIDT
14450 48 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 34 H = WM_USER + 24
14460 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
14470 7b 20 54 54 4d 5f 47 45 54 4d 41 58 54 49 50 57 { TTM_GETMAXTIPW
14480 49 44 54 48 20 3d 20 57 4d 5f 55 53 45 52 20 2b IDTH = WM_USER +
14490 20 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 25 }..enum : ui
144a0 6e 74 20 7b 20 54 54 4d 5f 53 45 54 4d 41 52 47 nt { TTM_SETMARG
144b0 49 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 IN = WM_USER + 2
144c0 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 6 }..enum : uint
144d0 20 7b 20 54 54 4d 5f 47 45 54 4d 41 52 47 49 4e { TTM_GETMARGIN
144e0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 37 20 = WM_USER + 27
144f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
14500 20 54 54 4d 5f 50 4f 50 20 3d 20 57 4d 5f 55 53 TTM_POP = WM_US
14510 45 52 20 2b 20 32 38 20 7d 0d 0a 2f 2f 20 23 65 ER + 28 }..// #e
14520 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 ndif..// #if (_W
14530 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 IN32_IE >= 0x040
14540 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
14550 7b 20 54 54 4d 5f 55 50 44 41 54 45 20 3d 20 57 { TTM_UPDATE = W
14560 4d 5f 55 53 45 52 20 2b 20 32 39 20 7d 0d 0a 2f M_USER + 29 }../
14570 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 / #endif..// #if
14580 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
14590 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 x0500)..enum : u
145a0 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 42 55 42 int { TTM_GETBUB
145b0 42 4c 45 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 BLESIZE = WM_USE
145c0 52 20 2b 20 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a R + 30 }..enum :
145d0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 41 44 4a 55 uint { TTM_ADJU
145e0 53 54 52 45 43 54 20 3d 20 57 4d 5f 55 53 45 52 STRECT = WM_USER
145f0 20 2b 20 33 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 + 31 }..enum :
14600 75 69 6e 74 20 7b 20 54 54 4d 5f 53 45 54 54 49 uint { TTM_SETTI
14610 54 4c 45 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b TLEA = WM_USER +
14620 20 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 32 }..enum : ui
14630 6e 74 20 7b 20 54 54 4d 5f 53 45 54 54 49 54 4c nt { TTM_SETTITL
14640 45 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 EW = WM_USER + 3
14650 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 3 }..// #endif..
14660 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
14670 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 _WINNT >= 0x0501
14680 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
14690 20 54 54 4d 5f 50 4f 50 55 50 20 3d 20 57 4d 5f TTM_POPUP = WM_
146a0 55 53 45 52 20 2b 20 33 34 20 7d 0d 0a 65 6e 75 USER + 34 }..enu
146b0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 m : uint { TTM_G
146c0 45 54 54 49 54 4c 45 20 3d 20 57 4d 5f 55 53 45 ETTITLE = WM_USE
146d0 52 20 2b 20 33 35 20 7d 0d 0a 0d 0a 73 74 72 75 R + 35 }....stru
146e0 63 74 20 5f 54 54 47 45 54 54 49 54 4c 45 20 7b ct _TTGETTITLE {
146f0 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 .. DWORD dwSize
14700 3b 0d 0a 20 20 55 49 4e 54 20 75 54 69 74 6c 65 ;.. UINT uTitle
14710 42 69 74 6d 61 70 3b 0d 0a 20 20 55 49 4e 54 20 Bitmap;.. UINT
14720 63 63 68 3b 0d 0a 20 20 57 43 48 41 52 20 2a 20 cch;.. WCHAR *
14730 70 73 7a 54 69 74 6c 65 3b 0d 0a 7d 0d 0a 61 6c pszTitle;..}..al
14740 69 61 73 20 5f 54 54 47 45 54 54 49 54 4c 45 20 ias _TTGETTITLE
14750 54 54 47 45 54 54 49 54 4c 45 3b 0d 0a 61 6c 69 TTGETTITLE;..ali
14760 61 73 20 5f 54 54 47 45 54 54 49 54 4c 45 2a 20 as _TTGETTITLE*
14770 50 54 54 47 45 54 54 49 54 4c 45 3b 0d 0a 0d 0a PTTGETTITLE;....
14780 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
14790 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a #ifdef UNICODE..
147a0 61 6c 69 61 73 20 54 54 4d 5f 41 44 44 54 4f 4f alias TTM_ADDTOO
147b0 4c 57 20 54 54 4d 5f 41 44 44 54 4f 4f 4c 3b 0d LW TTM_ADDTOOL;.
147c0 0a 61 6c 69 61 73 20 54 54 4d 5f 44 45 4c 54 4f .alias TTM_DELTO
147d0 4f 4c 57 20 54 54 4d 5f 44 45 4c 54 4f 4f 4c 3b OLW TTM_DELTOOL;
147e0 0d 0a 61 6c 69 61 73 20 54 54 4d 5f 4e 45 57 54 ..alias TTM_NEWT
147f0 4f 4f 4c 52 45 43 54 57 20 54 54 4d 5f 4e 45 57 OOLRECTW TTM_NEW
14800 54 4f 4f 4c 52 45 43 54 3b 0d 0a 61 6c 69 61 73 TOOLRECT;..alias
14810 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 4f TTM_GETTOOLINFO
14820 57 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 W TTM_GETTOOLINF
14830 4f 3b 0d 0a 61 6c 69 61 73 20 54 54 4d 5f 53 45 O;..alias TTM_SE
14840 54 54 4f 4f 4c 49 4e 46 4f 57 20 54 54 4d 5f 53 TTOOLINFOW TTM_S
14850 45 54 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 61 6c 69 ETTOOLINFO;..ali
14860 61 73 20 54 54 4d 5f 48 49 54 54 45 53 54 57 20 as TTM_HITTESTW
14870 54 54 4d 5f 48 49 54 54 45 53 54 3b 0d 0a 61 6c TTM_HITTEST;..al
14880 69 61 73 20 54 54 4d 5f 47 45 54 54 45 58 54 57 ias TTM_GETTEXTW
14890 20 54 54 4d 5f 47 45 54 54 45 58 54 3b 0d 0a 61 TTM_GETTEXT;..a
148a0 6c 69 61 73 20 54 54 4d 5f 55 50 44 41 54 45 54 lias TTM_UPDATET
148b0 49 50 54 45 58 54 57 20 54 54 4d 5f 55 50 44 41 IPTEXTW TTM_UPDA
148c0 54 45 54 49 50 54 45 58 54 3b 0d 0a 61 6c 69 61 TETIPTEXT;..alia
148d0 73 20 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 57 s TTM_ENUMTOOLSW
148e0 20 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 3b 0d TTM_ENUMTOOLS;.
148f0 0a 61 6c 69 61 73 20 54 54 4d 5f 47 45 54 43 55 .alias TTM_GETCU
14900 52 52 45 4e 54 54 4f 4f 4c 57 20 54 54 4d 5f 47 RRENTTOOLW TTM_G
14910 45 54 43 55 52 52 45 4e 54 54 4f 4f 4c 3b 0d 0a ETCURRENTTOOL;..
14920 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
14930 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 61 6c E >= 0x0500)..al
14940 69 61 73 20 54 54 4d 5f 53 45 54 54 49 54 4c 45 ias TTM_SETTITLE
14950 57 20 54 54 4d 5f 53 45 54 54 49 54 4c 45 3b 0d W TTM_SETTITLE;.
14960 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 .// #endif..// #
14970 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
14980 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
14990 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
149a0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
149b0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
149c0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
149d0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
149e0 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f E >= 0x0500)..//
149f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
14a00 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
14a10 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 / #if (_WIN32_WI
14a20 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 61 NNT >= 0x501)..a
14a30 6c 69 61 73 20 43 43 4d 5f 53 45 54 57 49 4e 44 lias CCM_SETWIND
14a40 4f 57 54 48 45 4d 45 20 54 54 4d 5f 53 45 54 57 OWTHEME TTM_SETW
14a50 49 4e 44 4f 57 54 48 45 4d 45 3b 0d 0a 2f 2f 20 INDOWTHEME;..//
14a60 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 #endif....// #if
14a70 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
14a80 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 50 x0300)..alias LP
14a90 54 54 48 49 54 54 45 53 54 49 4e 46 4f 57 20 4c TTHITTESTINFOW L
14aa0 50 48 49 54 54 45 53 54 49 4e 46 4f 57 3b 0d 0a PHITTESTINFOW;..
14ab0 61 6c 69 61 73 20 4c 50 54 54 48 49 54 54 45 53 alias LPTTHITTES
14ac0 54 49 4e 46 4f 41 20 4c 50 48 49 54 54 45 53 54 TINFOA LPHITTEST
14ad0 49 4e 46 4f 41 3b 0d 0a 2f 2f 20 23 65 6c 73 65 INFOA;..// #else
14ae0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
14af0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ....// #endif...
14b00 0a 61 6c 69 61 73 20 4c 50 54 54 48 49 54 54 45 .alias LPTTHITTE
14b10 53 54 49 4e 46 4f 20 4c 50 48 49 54 54 45 53 54 STINFO LPHITTEST
14b20 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 INFO;....struct
14b30 5f 54 54 5f 48 49 54 54 45 53 54 49 4e 46 4f 41 _TT_HITTESTINFOA
14b40 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b {.. HWND hwnd;
14b50 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20 .. POINT pt;..
14b60 20 54 54 54 4f 4f 4c 49 4e 46 4f 41 20 74 69 3b TTTOOLINFOA ti;
14b70 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 54 5f 48 ..}..alias _TT_H
14b80 49 54 54 45 53 54 49 4e 46 4f 41 20 54 54 48 49 ITTESTINFOA TTHI
14b90 54 54 45 53 54 49 4e 46 4f 41 3b 0d 0a 61 6c 69 TTESTINFOA;..ali
14ba0 61 73 20 5f 54 54 5f 48 49 54 54 45 53 54 49 4e as _TT_HITTESTIN
14bb0 46 4f 41 2a 20 4c 50 54 54 48 49 54 54 45 53 54 FOA* LPTTHITTEST
14bc0 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 INFOA;....struct
14bd0 20 5f 54 54 5f 48 49 54 54 45 53 54 49 4e 46 4f _TT_HITTESTINFO
14be0 57 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 W {.. HWND hwnd
14bf0 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a ;.. POINT pt;..
14c00 20 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 20 74 69 TTTOOLINFOW ti
14c10 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 54 5f ;..}..alias _TT_
14c20 48 49 54 54 45 53 54 49 4e 46 4f 57 20 54 54 48 HITTESTINFOW TTH
14c30 49 54 54 45 53 54 49 4e 46 4f 57 3b 0d 0a 61 6c ITTESTINFOW;..al
14c40 69 61 73 20 5f 54 54 5f 48 49 54 54 45 53 54 49 ias _TT_HITTESTI
14c50 4e 46 4f 57 2a 20 4c 50 54 54 48 49 54 54 45 53 NFOW* LPTTHITTES
14c60 54 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 TINFOW;....// #i
14c70 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
14c80 69 61 73 20 54 54 48 49 54 54 45 53 54 49 4e 46 ias TTHITTESTINF
14c90 4f 57 20 54 54 48 49 54 54 45 53 54 49 4e 46 4f OW TTHITTESTINFO
14ca0 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 54 48 49 54 ;..alias LPTTHIT
14cb0 54 45 53 54 49 4e 46 4f 57 20 4c 50 54 54 48 49 TESTINFOW LPTTHI
14cc0 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 TTESTINFO;..// #
14cd0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
14ce0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
14cf0 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 f....enum : uint
14d00 20 7b 20 54 54 4e 5f 47 45 54 44 49 53 50 49 4e { TTN_GETDISPIN
14d10 46 4f 41 20 3d 20 54 54 4e 5f 46 49 52 53 54 20 FOA = TTN_FIRST
14d20 2d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 - 0 }..enum : ui
14d30 6e 74 20 7b 20 54 54 4e 5f 47 45 54 44 49 53 50 nt { TTN_GETDISP
14d40 49 4e 46 4f 57 20 3d 20 54 54 4e 5f 46 49 52 53 INFOW = TTN_FIRS
14d50 54 20 2d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a T - 10 }..enum :
14d60 20 75 69 6e 74 20 7b 20 54 54 4e 5f 53 48 4f 57 uint { TTN_SHOW
14d70 20 3d 20 54 54 4e 5f 46 49 52 53 54 20 2d 20 31 = TTN_FIRST - 1
14d80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
14d90 7b 20 54 54 4e 5f 50 4f 50 20 3d 20 54 54 4e 5f { TTN_POP = TTN_
14da0 46 49 52 53 54 20 2d 20 32 20 7d 0d 0a 65 6e 75 FIRST - 2 }..enu
14db0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4e 5f 4c m : uint { TTN_L
14dc0 49 4e 4b 43 4c 49 43 4b 20 3d 20 54 54 4e 5f 46 INKCLICK = TTN_F
14dd0 49 52 53 54 20 2d 20 33 20 7d 0d 0a 0d 0a 2f 2f IRST - 3 }....//
14de0 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
14df0 0a 61 6c 69 61 73 20 54 54 4e 5f 47 45 54 44 49 .alias TTN_GETDI
14e00 53 50 49 4e 46 4f 57 20 54 54 4e 5f 47 45 54 44 SPINFOW TTN_GETD
14e10 49 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c ISPINFO;..// #el
14e20 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
14e30 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 #endif....alias
14e40 54 54 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 20 TTN_GETDISPINFO
14e50 54 54 4e 5f 4e 45 45 44 54 45 58 54 3b 0d 0a 61 TTN_NEEDTEXT;..a
14e60 6c 69 61 73 20 54 54 4e 5f 47 45 54 44 49 53 50 lias TTN_GETDISP
14e70 49 4e 46 4f 41 20 54 54 4e 5f 4e 45 45 44 54 45 INFOA TTN_NEEDTE
14e80 58 54 41 3b 0d 0a 61 6c 69 61 73 20 54 54 4e 5f XTA;..alias TTN_
14e90 47 45 54 44 49 53 50 49 4e 46 4f 57 20 54 54 4e GETDISPINFOW TTN
14ea0 5f 4e 45 45 44 54 45 58 54 57 3b 0d 0a 0d 0a 2f _NEEDTEXTW;..../
14eb0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
14ec0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 >= 0x0300)..ali
14ed0 61 73 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 as NMTTDISPINFOW
14ee0 20 54 4f 4f 4c 54 49 50 54 45 58 54 57 3b 0d 0a TOOLTIPTEXTW;..
14ef0 61 6c 69 61 73 20 4e 4d 54 54 44 49 53 50 49 4e alias NMTTDISPIN
14f00 46 4f 41 20 54 4f 4f 4c 54 49 50 54 45 58 54 41 FOA TOOLTIPTEXTA
14f10 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 54 44 ;..alias LPNMTTD
14f20 49 53 50 49 4e 46 4f 41 20 4c 50 54 4f 4f 4c 54 ISPINFOA LPTOOLT
14f30 49 50 54 45 58 54 41 3b 0d 0a 61 6c 69 61 73 20 IPTEXTA;..alias
14f40 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 20 LPNMTTDISPINFOW
14f50 4c 50 54 4f 4f 4c 54 49 50 54 45 58 54 57 3b 0d LPTOOLTIPTEXTW;.
14f60 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e .// #else..// #.
14f70 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
14f80 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
14f90 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
14fa0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c .// #endif....al
14fb0 69 61 73 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f ias NMTTDISPINFO
14fc0 20 54 4f 4f 4c 54 49 50 54 45 58 54 3b 0d 0a 61 TOOLTIPTEXT;..a
14fd0 6c 69 61 73 20 4c 50 4e 4d 54 54 44 49 53 50 49 lias LPNMTTDISPI
14fe0 4e 46 4f 20 4c 50 54 4f 4f 4c 54 49 50 54 45 58 NFO LPTOOLTIPTEX
14ff0 54 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 T;....// #define
15000 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 5f 56 NMTTDISPINFOA_V
15010 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 1_SIZE CCSIZEOF_
15020 53 54 52 55 43 54 28 4e 4d 54 54 44 49 53 50 49 STRUCT(NMTTDISPI
15030 4e 46 4f 41 2c 20 75 46 6c 61 67 73 29 0d 0a 2f NFOA, uFlags)../
15040 2f 20 23 64 65 66 69 6e 65 20 4e 4d 54 54 44 49 / #define NMTTDI
15050 53 50 49 4e 46 4f 57 5f 56 31 5f 53 49 5a 45 20 SPINFOW_V1_SIZE
15060 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 CCSIZEOF_STRUCT(
15070 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 2c 20 75 NMTTDISPINFOW, u
15080 46 6c 61 67 73 29 0d 0a 0d 0a 73 74 72 75 63 74 Flags)....struct
15090 20 74 61 67 4e 4d 54 54 44 49 53 50 49 4e 46 4f tagNMTTDISPINFO
150a0 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 A {.. NMHDR hdr
150b0 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 54 ;.. LPSTR lpszT
150c0 65 78 74 3b 0d 0a 20 20 63 68 61 72 20 73 7a 54 ext;.. char szT
150d0 65 78 74 5b 38 30 5d 3b 0d 0a 20 20 48 49 4e 53 ext[80];.. HINS
150e0 54 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 20 20 TANCE hinst;..
150f0 55 49 4e 54 20 75 46 6c 61 67 73 3b 0d 0a 2f 2f UINT uFlags;..//
15100 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
15110 3e 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 4c 50 >= 0x0300).. LP
15120 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f ARAM lParam;..//
15130 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 #endif..}..alia
15140 73 20 74 61 67 4e 4d 54 54 44 49 53 50 49 4e 46 s tagNMTTDISPINF
15150 4f 41 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 OA NMTTDISPINFOA
15160 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 54 ;..alias tagNMTT
15170 44 49 53 50 49 4e 46 4f 41 2a 20 4c 50 4e 4d 54 DISPINFOA* LPNMT
15180 54 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 TDISPINFOA;....s
15190 74 72 75 63 74 20 74 61 67 4e 4d 54 54 44 49 53 truct tagNMTTDIS
151a0 50 49 4e 46 4f 57 20 7b 0d 0a 20 20 4e 4d 48 44 PINFOW {.. NMHD
151b0 52 20 68 64 72 3b 0d 0a 20 20 4c 50 57 53 54 52 R hdr;.. LPWSTR
151c0 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 20 20 57 43 lpszText;.. WC
151d0 48 41 52 20 73 7a 54 65 78 74 5b 38 30 5d 3b 0d HAR szText[80];.
151e0 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 69 6e . HINSTANCE hin
151f0 73 74 3b 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 st;.. UINT uFla
15200 67 73 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 gs;..// #if (_WI
15210 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
15220 29 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 ).. LPARAM lPar
15230 61 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a am;..// #endif..
15240 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 54 }..alias tagNMTT
15250 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54 54 44 49 DISPINFOW NMTTDI
15260 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 SPINFOW;..alias
15270 74 61 67 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 tagNMTTDISPINFOW
15280 2a 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f * LPNMTTDISPINFO
15290 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 W;....// #ifdef
152a0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e UNICODE..alias N
152b0 4d 54 54 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54 MTTDISPINFOW NMT
152c0 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61 TDISPINFO;..alia
152d0 73 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f s LPNMTTDISPINFO
152e0 57 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f W LPNMTTDISPINFO
152f0 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e 4d ;..// #define NM
15300 54 54 44 49 53 50 49 4e 46 4f 5f 56 31 5f 53 49 TTDISPINFO_V1_SI
15310 5a 45 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 ZE NMTTDISPINFOW
15320 5f 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c _V1_SIZE..// #el
15330 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
15340 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
15350 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
15360 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f endif // NO
15370 54 4f 4f 4c 54 49 50 53 0d 0a 0d 0a 2f 2f 20 23 TOOLTIPS....// #
15380 69 66 6e 64 65 66 20 4e 4f 53 54 41 54 55 53 42 ifndef NOSTATUSB
15390 41 52 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e AR....enum : uin
153a0 74 20 7b 20 53 42 41 52 53 5f 53 49 5a 45 47 52 t { SBARS_SIZEGR
153b0 49 50 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 2f IP = 0x0100 }../
153c0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
153d0 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 >= 0x0500)..enu
153e0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 41 52 53 m : uint { SBARS
153f0 5f 54 4f 4f 4c 54 49 50 53 20 3d 20 30 78 30 38 _TOOLTIPS = 0x08
15400 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 00 }..// #endif.
15410 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
15420 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
15430 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
15440 20 53 42 54 5f 54 4f 4f 4c 54 49 50 53 20 3d 20 SBT_TOOLTIPS =
15450 30 78 30 38 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 0x0800 }..// #en
15460 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 dif....extern(Wi
15470 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f ndows) export vo
15480 69 64 20 44 72 61 77 53 74 61 74 75 73 54 65 78 id DrawStatusTex
15490 74 41 28 48 44 43 20 68 44 43 2c 20 4c 50 52 45 tA(HDC hDC, LPRE
154a0 43 54 20 6c 70 72 63 2c 20 4c 50 43 53 54 52 20 CT lprc, LPCSTR
154b0 70 73 7a 54 65 78 74 2c 20 55 49 4e 54 20 75 46 pszText, UINT uF
154c0 6c 61 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 lags);..extern(W
154d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76 indows) export v
154e0 6f 69 64 20 44 72 61 77 53 74 61 74 75 73 54 65 oid DrawStatusTe
154f0 78 74 57 28 48 44 43 20 68 44 43 2c 20 4c 50 52 xtW(HDC hDC, LPR
15500 45 43 54 20 6c 70 72 63 2c 20 4c 50 43 57 53 54 ECT lprc, LPCWST
15510 52 20 70 73 7a 54 65 78 74 2c 20 55 49 4e 54 20 R pszText, UINT
15520 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65 uFlags);....exte
15530 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f rn(Windows) expo
15540 72 74 20 48 57 4e 44 20 43 72 65 61 74 65 53 74 rt HWND CreateSt
15550 61 74 75 73 57 69 6e 64 6f 77 41 28 4c 4f 4e 47 atusWindowA(LONG
15560 20 73 74 79 6c 65 2c 20 4c 50 43 53 54 52 20 6c style, LPCSTR l
15570 70 73 7a 54 65 78 74 2c 20 48 57 4e 44 20 68 77 pszText, HWND hw
15580 6e 64 50 61 72 65 6e 74 2c 20 55 49 4e 54 20 77 ndParent, UINT w
15590 49 44 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e ID);..extern(Win
155a0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e dows) export HWN
155b0 44 20 43 72 65 61 74 65 53 74 61 74 75 73 57 69 D CreateStatusWi
155c0 6e 64 6f 77 57 28 4c 4f 4e 47 20 73 74 79 6c 65 ndowW(LONG style
155d0 2c 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 54 65 , LPCWSTR lpszTe
155e0 78 74 2c 20 48 57 4e 44 20 68 77 6e 64 50 61 72 xt, HWND hwndPar
155f0 65 6e 74 2c 20 55 49 4e 54 20 77 49 44 29 3b 0d ent, UINT wID);.
15600 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 ...// #ifdef UNI
15610 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 72 65 61 CODE..alias Crea
15620 74 65 53 74 61 74 75 73 57 69 6e 64 6f 77 57 20 teStatusWindowW
15630 43 72 65 61 74 65 53 74 61 74 75 73 57 69 6e 64 CreateStatusWind
15640 6f 77 3b 0d 0a 61 6c 69 61 73 20 44 72 61 77 53 ow;..alias DrawS
15650 74 61 74 75 73 54 65 78 74 57 20 44 72 61 77 53 tatusTextW DrawS
15660 74 61 74 75 73 54 65 78 74 3b 0d 0a 2f 2f 20 23 tatusText;..// #
15670 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
15680 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
15690 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f f....// #ifdef _
156a0 57 49 4e 33 32 0d 0a 63 6f 6e 73 74 20 77 63 68 WIN32..const wch
156b0 61 72 5b 5d 20 53 54 41 54 55 53 43 4c 41 53 53 ar[] STATUSCLASS
156c0 4e 41 4d 45 57 20 3d 20 22 6d 73 63 74 6c 73 5f NAMEW = "msctls_
156d0 73 74 61 74 75 73 62 61 72 33 32 22 3b 0d 0a 63 statusbar32";..c
156e0 6f 6e 73 74 20 63 68 61 72 5b 5d 20 53 54 41 54 onst char[] STAT
156f0 55 53 43 4c 41 53 53 4e 41 4d 45 41 20 3d 20 22 USCLASSNAMEA = "
15700 6d 73 63 74 6c 73 5f 73 74 61 74 75 73 62 61 72 msctls_statusbar
15710 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 32";....// #ifde
15720 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
15730 20 53 54 41 54 55 53 43 4c 41 53 53 4e 41 4d 45 STATUSCLASSNAME
15740 57 20 53 54 41 54 55 53 43 4c 41 53 53 4e 41 4d W STATUSCLASSNAM
15750 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f E;..// #else..//
15760 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
15770 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f ....// #else..//
15780 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
15790 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
157a0 7b 20 53 42 5f 53 45 54 54 45 58 54 41 20 3d 20 { SB_SETTEXTA =
157b0 57 4d 5f 55 53 45 52 2b 31 20 7d 0d 0a 65 6e 75 WM_USER+1 }..enu
157c0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 53 45 m : uint { SB_SE
157d0 54 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 TTEXTW = WM_USER
157e0 2b 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 +11 }..enum : ui
157f0 6e 74 20 7b 20 53 42 5f 47 45 54 54 45 58 54 41 nt { SB_GETTEXTA
15800 20 3d 20 57 4d 5f 55 53 45 52 2b 32 20 7d 0d 0a = WM_USER+2 }..
15810 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 enum : uint { SB
15820 5f 47 45 54 54 45 58 54 57 20 3d 20 57 4d 5f 55 _GETTEXTW = WM_U
15830 53 45 52 2b 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a SER+13 }..enum :
15840 20 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 54 45 uint { SB_GETTE
15850 58 54 4c 45 4e 47 54 48 41 20 3d 20 57 4d 5f 55 XTLENGTHA = WM_U
15860 53 45 52 2b 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 SER+3 }..enum :
15870 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 54 45 58 uint { SB_GETTEX
15880 54 4c 45 4e 47 54 48 57 20 3d 20 57 4d 5f 55 53 TLENGTHW = WM_US
15890 45 52 2b 31 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 ER+12 }....// #i
158a0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
158b0 69 61 73 20 53 42 5f 47 45 54 54 45 58 54 57 20 ias SB_GETTEXTW
158c0 53 42 5f 47 45 54 54 45 58 54 3b 0d 0a 61 6c 69 SB_GETTEXT;..ali
158d0 61 73 20 53 42 5f 53 45 54 54 45 58 54 57 20 53 as SB_SETTEXTW S
158e0 42 5f 53 45 54 54 45 58 54 3b 0d 0a 61 6c 69 61 B_SETTEXT;..alia
158f0 73 20 53 42 5f 47 45 54 54 45 58 54 4c 45 4e 47 s SB_GETTEXTLENG
15900 54 48 57 20 53 42 5f 47 45 54 54 45 58 54 4c 45 THW SB_GETTEXTLE
15910 4e 47 54 48 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f NGTH;..// #if (_
15920 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 WIN32_IE >= 0x04
15930 30 30 29 0d 0a 61 6c 69 61 73 20 53 42 5f 53 45 00)..alias SB_SE
15940 54 54 49 50 54 45 58 54 57 20 53 42 5f 53 45 54 TTIPTEXTW SB_SET
15950 54 49 50 54 45 58 54 3b 0d 0a 61 6c 69 61 73 20 TIPTEXT;..alias
15960 53 42 5f 47 45 54 54 49 50 54 45 58 54 57 20 53 SB_GETTIPTEXTW S
15970 42 5f 47 45 54 54 49 50 54 45 58 54 3b 0d 0a 2f B_GETTIPTEXT;../
15980 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c / #endif..// #el
15990 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
159a0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
159b0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
159c0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 >= 0x0400)..//
159d0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
159e0 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e / #endif..// #en
159f0 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 dif....enum : ui
15a00 6e 74 20 7b 20 53 42 5f 53 45 54 50 41 52 54 53 nt { SB_SETPARTS
15a10 20 3d 20 57 4d 5f 55 53 45 52 2b 34 20 7d 0d 0a = WM_USER+4 }..
15a20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 enum : uint { SB
15a30 5f 47 45 54 50 41 52 54 53 20 3d 20 57 4d 5f 55 _GETPARTS = WM_U
15a40 53 45 52 2b 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 SER+6 }..enum :
15a50 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 42 4f 52 uint { SB_GETBOR
15a60 44 45 52 53 20 3d 20 57 4d 5f 55 53 45 52 2b 37 DERS = WM_USER+7
15a70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
15a80 7b 20 53 42 5f 53 45 54 4d 49 4e 48 45 49 47 48 { SB_SETMINHEIGH
15a90 54 20 3d 20 57 4d 5f 55 53 45 52 2b 38 20 7d 0d T = WM_USER+8 }.
15aa0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 .enum : uint { S
15ab0 42 5f 53 49 4d 50 4c 45 20 3d 20 57 4d 5f 55 53 B_SIMPLE = WM_US
15ac0 45 52 2b 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 ER+9 }..enum : u
15ad0 69 6e 74 20 7b 20 53 42 5f 47 45 54 52 45 43 54 int { SB_GETRECT
15ae0 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 20 7d 0d = WM_USER+10 }.
15af0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
15b00 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 IE >= 0x0300)..e
15b10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f num : uint { SB_
15b20 49 53 53 49 4d 50 4c 45 20 3d 20 57 4d 5f 55 53 ISSIMPLE = WM_US
15b30 45 52 2b 31 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 ER+14 }..// #end
15b40 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e if..// #if (_WIN
15b50 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 32_IE >= 0x0400)
15b60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
15b70 53 42 5f 53 45 54 49 43 4f 4e 20 3d 20 57 4d 5f SB_SETICON = WM_
15b80 55 53 45 52 2b 31 35 20 7d 0d 0a 2f 2f 20 23 64 USER+15 }..// #d
15b90 65 66 69 6e 65 20 53 42 5f 53 45 54 54 49 50 54 efine SB_SETTIPT
15ba0 45 58 54 41 20 28 57 4d 5f 55 53 45 52 2b 31 36 EXTA (WM_USER+16
15bb0 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 42 )..// #define SB
15bc0 5f 53 45 54 54 49 50 54 45 58 54 57 20 28 57 4d _SETTIPTEXTW (WM
15bd0 5f 55 53 45 52 2b 31 37 29 0d 0a 2f 2f 20 23 64 _USER+17)..// #d
15be0 65 66 69 6e 65 20 53 42 5f 47 45 54 54 49 50 54 efine SB_GETTIPT
15bf0 45 58 54 41 20 28 57 4d 5f 55 53 45 52 2b 31 38 EXTA (WM_USER+18
15c00 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 42 )..// #define SB
15c10 5f 47 45 54 54 49 50 54 45 58 54 57 20 28 57 4d _GETTIPTEXTW (WM
15c20 5f 55 53 45 52 2b 31 39 29 0d 0a 65 6e 75 6d 20 _USER+19)..enum
15c30 3a 20 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 49 : uint { SB_GETI
15c40 43 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 2b 32 30 CON = WM_USER+20
15c50 20 7d 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 }..alias CCM_SE
15c60 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 53 TUNICODEFORMAT S
15c70 42 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d B_SETUNICODEFORM
15c80 41 54 3b 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 47 AT;..alias CCM_G
15c90 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 ETUNICODEFORMAT
15ca0 53 42 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 SB_GETUNICODEFOR
15cb0 4d 41 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d MAT;..// #endif.
15cc0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
15cd0 20 53 42 54 5f 4f 57 4e 45 52 44 52 41 57 20 3d SBT_OWNERDRAW =
15ce0 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 0x1000 }..enum
15cf0 3a 20 75 69 6e 74 20 7b 20 53 42 54 5f 4e 4f 42 : uint { SBT_NOB
15d00 4f 52 44 45 52 53 20 3d 20 30 78 30 31 30 30 20 ORDERS = 0x0100
15d10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
15d20 20 53 42 54 5f 50 4f 50 4f 55 54 20 3d 20 30 78 SBT_POPOUT = 0x
15d30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0200 }..enum : u
15d40 69 6e 74 20 7b 20 53 42 54 5f 52 54 4c 52 45 41 int { SBT_RTLREA
15d50 44 49 4e 47 20 3d 20 30 78 30 34 30 30 20 7d 0d DING = 0x0400 }.
15d60 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
15d70 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 IE >= 0x0500)..e
15d80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 54 num : uint { SBT
15d90 5f 4e 4f 54 41 42 50 41 52 53 49 4e 47 20 3d 20 _NOTABPARSING =
15da0 30 78 30 38 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 0x0800 }..// #en
15db0 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d dif....alias CCM
15dc0 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 53 42 5f 53 _SETBKCOLOR SB_S
15dd0 45 54 42 4b 43 4f 4c 4f 52 3b 0d 0a 0d 0a 2f 2f ETBKCOLOR;....//
15de0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
15df0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d >= 0x0400)..enum
15e00 20 3a 20 75 69 6e 74 20 7b 20 53 42 4e 5f 53 49 : uint { SBN_SI
15e10 4d 50 4c 45 4d 4f 44 45 43 48 41 4e 47 45 20 3d MPLEMODECHANGE =
15e20 20 53 42 4e 5f 46 49 52 53 54 20 2d 20 30 20 7d SBN_FIRST - 0 }
15e30 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
15e40 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
15e50 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 >= 0x0500)....e
15e60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f num : uint { SB_
15e70 53 49 4d 50 4c 45 49 44 20 3d 20 30 78 30 30 66 SIMPLEID = 0x00f
15e80 66 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a f }..// #endif..
15e90 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 ..// #endif
15ea0 20 2f 2f 20 4e 4f 53 54 41 54 55 53 42 41 52 0d // NOSTATUSBAR.
15eb0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f ...// #ifndef NO
15ec0 4d 45 4e 55 48 45 4c 50 0d 0a 0d 0a 65 78 74 65 MENUHELP....exte
15ed0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f rn(Windows) expo
15ee0 72 74 20 76 6f 69 64 20 4d 65 6e 75 48 65 6c 70 rt void MenuHelp
15ef0 28 55 49 4e 54 20 75 4d 73 67 2c 20 57 50 41 52 (UINT uMsg, WPAR
15f00 41 4d 20 77 50 61 72 61 6d 2c 20 4c 50 41 52 41 AM wParam, LPARA
15f10 4d 20 6c 50 61 72 61 6d 2c 20 48 4d 45 4e 55 20 M lParam, HMENU
15f20 68 4d 61 69 6e 4d 65 6e 75 2c 20 48 49 4e 53 54 hMainMenu, HINST
15f30 41 4e 43 45 20 68 49 6e 73 74 2c 20 48 57 4e 44 ANCE hInst, HWND
15f40 20 68 77 6e 64 53 74 61 74 75 73 2c 20 55 49 4e hwndStatus, UIN
15f50 54 20 2a 6c 70 77 49 44 73 29 3b 0d 0a 65 78 74 T *lpwIDs);..ext
15f60 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
15f70 6f 72 74 20 42 4f 4f 4c 20 53 68 6f 77 48 69 64 ort BOOL ShowHid
15f80 65 4d 65 6e 75 43 74 6c 28 48 57 4e 44 20 68 57 eMenuCtl(HWND hW
15f90 6e 64 2c 20 55 49 4e 54 5f 50 54 52 20 75 46 6c nd, UINT_PTR uFl
15fa0 61 67 73 2c 20 4c 50 49 4e 54 20 6c 70 49 6e 66 ags, LPINT lpInf
15fb0 6f 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 o);..extern(Wind
15fc0 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f 69 64 ows) export void
15fd0 20 47 65 74 45 66 66 65 63 74 69 76 65 43 6c 69 GetEffectiveCli
15fe0 65 6e 74 52 65 63 74 28 48 57 4e 44 20 68 57 6e entRect(HWND hWn
15ff0 64 2c 20 4c 50 52 45 43 54 20 6c 70 72 63 2c 20 d, LPRECT lprc,
16000 4c 50 49 4e 54 20 6c 70 49 6e 66 6f 29 3b 0d 0a LPINT lpInfo);..
16010 0d 0a 61 6c 69 61 73 20 53 43 5f 53 49 5a 45 20 ..alias SC_SIZE
16020 4d 49 4e 53 59 53 43 4f 4d 4d 41 4e 44 3b 0d 0a MINSYSCOMMAND;..
16030 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
16040 2f 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 41 43 / #ifndef NOTRAC
16050 4b 42 41 52 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 KBAR....// #ifde
16060 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 f _WIN32....cons
16070 74 20 63 68 61 72 5b 5d 20 54 52 41 43 4b 42 41 t char[] TRACKBA
16080 52 5f 43 4c 41 53 53 41 20 3d 20 22 6d 73 63 74 R_CLASSA = "msct
16090 6c 73 5f 74 72 61 63 6b 62 61 72 33 32 22 3b 0d ls_trackbar32";.
160a0 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 54 .const wchar[] T
160b0 52 41 43 4b 42 41 52 5f 43 4c 41 53 53 57 20 3d RACKBAR_CLASSW =
160c0 20 22 6d 73 63 74 6c 73 5f 74 72 61 63 6b 62 61 "msctls_trackba
160d0 72 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 r32";....// #ifd
160e0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
160f0 73 20 54 52 41 43 4b 42 41 52 5f 43 4c 41 53 53 s TRACKBAR_CLASS
16100 57 20 54 52 41 43 4b 42 41 52 5f 43 4c 41 53 53 W TRACKBAR_CLASS
16110 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
16120 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
16130 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ...// #else..//
16140 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
16150 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
16160 20 54 42 53 5f 41 55 54 4f 54 49 43 4b 53 20 3d TBS_AUTOTICKS =
16170 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
16180 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 56 45 52 : uint { TBS_VER
16190 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e T = 0x0002 }..en
161a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f um : uint { TBS_
161b0 48 4f 52 5a 20 3d 20 30 78 30 30 30 30 20 7d 0d HORZ = 0x0000 }.
161c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
161d0 42 53 5f 54 4f 50 20 3d 20 30 78 30 30 30 34 20 BS_TOP = 0x0004
161e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
161f0 20 54 42 53 5f 42 4f 54 54 4f 4d 20 3d 20 30 78 TBS_BOTTOM = 0x
16200 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
16210 69 6e 74 20 7b 20 54 42 53 5f 4c 45 46 54 20 3d int { TBS_LEFT =
16220 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 0x0004 }..enum
16230 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 52 49 47 : uint { TBS_RIG
16240 48 54 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 HT = 0x0000 }..e
16250 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 num : uint { TBS
16260 5f 42 4f 54 48 20 3d 20 30 78 30 30 30 38 20 7d _BOTH = 0x0008 }
16270 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
16280 54 42 53 5f 4e 4f 54 49 43 4b 53 20 3d 20 30 78 TBS_NOTICKS = 0x
16290 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0010 }..enum : u
162a0 69 6e 74 20 7b 20 54 42 53 5f 45 4e 41 42 4c 45 int { TBS_ENABLE
162b0 53 45 4c 52 41 4e 47 45 20 3d 20 30 78 30 30 32 SELRANGE = 0x002
162c0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
162d0 20 7b 20 54 42 53 5f 46 49 58 45 44 4c 45 4e 47 { TBS_FIXEDLENG
162e0 54 48 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 TH = 0x0040 }..e
162f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 num : uint { TBS
16300 5f 4e 4f 54 48 55 4d 42 20 3d 20 30 78 30 30 38 _NOTHUMB = 0x008
16310 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 0 }..// #if (_WI
16320 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
16330 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
16340 20 54 42 53 5f 54 4f 4f 4c 54 49 50 53 20 3d 20 TBS_TOOLTIPS =
16350 30 78 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 0x0100 }..// #en
16360 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 dif..// #if (_WI
16370 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 N32_IE >= 0x0500
16380 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
16390 20 54 42 53 5f 52 45 56 45 52 53 45 44 20 3d 20 TBS_REVERSED =
163a0 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 0x0200 }..// #en
163b0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f dif....// #if (_
163c0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 WIN32_IE >= 0x05
163d0 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 01)..enum : uint
163e0 20 7b 20 54 42 53 5f 44 4f 57 4e 49 53 4c 45 46 { TBS_DOWNISLEF
163f0 54 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 2f 2f T = 0x0400 }..//
16400 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 #endif....enum
16410 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 : uint { TBM_GET
16420 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 20 7d 0d POS = WM_USER }.
16430 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
16440 42 4d 5f 47 45 54 52 41 4e 47 45 4d 49 4e 20 3d BM_GETRANGEMIN =
16450 20 57 4d 5f 55 53 45 52 2b 31 20 7d 0d 0a 65 6e WM_USER+1 }..en
16460 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f um : uint { TBM_
16470 47 45 54 52 41 4e 47 45 4d 41 58 20 3d 20 57 4d GETRANGEMAX = WM
16480 5f 55 53 45 52 2b 32 20 7d 0d 0a 65 6e 75 6d 20 _USER+2 }..enum
16490 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 : uint { TBM_GET
164a0 54 49 43 20 3d 20 57 4d 5f 55 53 45 52 2b 33 20 TIC = WM_USER+3
164b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
164c0 20 54 42 4d 5f 53 45 54 54 49 43 20 3d 20 57 4d TBM_SETTIC = WM
164d0 5f 55 53 45 52 2b 34 20 7d 0d 0a 65 6e 75 6d 20 _USER+4 }..enum
164e0 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 : uint { TBM_SET
164f0 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 2b 35 20 POS = WM_USER+5
16500 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
16510 20 54 42 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20 TBM_SETRANGE =
16520 57 4d 5f 55 53 45 52 2b 36 20 7d 0d 0a 65 6e 75 WM_USER+6 }..enu
16530 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 m : uint { TBM_S
16540 45 54 52 41 4e 47 45 4d 49 4e 20 3d 20 57 4d 5f ETRANGEMIN = WM_
16550 55 53 45 52 2b 37 20 7d 0d 0a 65 6e 75 6d 20 3a USER+7 }..enum :
16560 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 52 uint { TBM_SETR
16570 41 4e 47 45 4d 41 58 20 3d 20 57 4d 5f 55 53 45 ANGEMAX = WM_USE
16580 52 2b 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 R+8 }..enum : ui
16590 6e 74 20 7b 20 54 42 4d 5f 43 4c 45 41 52 54 49 nt { TBM_CLEARTI
165a0 43 53 20 3d 20 57 4d 5f 55 53 45 52 2b 39 20 7d CS = WM_USER+9 }
165b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
165c0 54 42 4d 5f 53 45 54 53 45 4c 20 3d 20 57 4d 5f TBM_SETSEL = WM_
165d0 55 53 45 52 2b 31 30 20 7d 0d 0a 65 6e 75 6d 20 USER+10 }..enum
165e0 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 : uint { TBM_SET
165f0 53 45 4c 53 54 41 52 54 20 3d 20 57 4d 5f 55 53 SELSTART = WM_US
16600 45 52 2b 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ER+11 }..enum :
16610 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 53 45 uint { TBM_SETSE
16620 4c 45 4e 44 20 3d 20 57 4d 5f 55 53 45 52 2b 31 LEND = WM_USER+1
16630 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 2 }..enum : uint
16640 20 7b 20 54 42 4d 5f 47 45 54 50 54 49 43 53 20 { TBM_GETPTICS
16650 3d 20 57 4d 5f 55 53 45 52 2b 31 34 20 7d 0d 0a = WM_USER+14 }..
16660 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 enum : uint { TB
16670 4d 5f 47 45 54 54 49 43 50 4f 53 20 3d 20 57 4d M_GETTICPOS = WM
16680 5f 55 53 45 52 2b 31 35 20 7d 0d 0a 65 6e 75 6d _USER+15 }..enum
16690 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 : uint { TBM_GE
166a0 54 4e 55 4d 54 49 43 53 20 3d 20 57 4d 5f 55 53 TNUMTICS = WM_US
166b0 45 52 2b 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ER+16 }..enum :
166c0 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 53 45 uint { TBM_GETSE
166d0 4c 53 54 41 52 54 20 3d 20 57 4d 5f 55 53 45 52 LSTART = WM_USER
166e0 2b 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 +17 }..enum : ui
166f0 6e 74 20 7b 20 54 42 4d 5f 47 45 54 53 45 4c 45 nt { TBM_GETSELE
16700 4e 44 20 3d 20 57 4d 5f 55 53 45 52 2b 31 38 20 ND = WM_USER+18
16710 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
16720 20 54 42 4d 5f 43 4c 45 41 52 53 45 4c 20 3d 20 TBM_CLEARSEL =
16730 57 4d 5f 55 53 45 52 2b 31 39 20 7d 0d 0a 65 6e WM_USER+19 }..en
16740 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f um : uint { TBM_
16750 53 45 54 54 49 43 46 52 45 51 20 3d 20 57 4d 5f SETTICFREQ = WM_
16760 55 53 45 52 2b 32 30 20 7d 0d 0a 65 6e 75 6d 20 USER+20 }..enum
16770 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 : uint { TBM_SET
16780 50 41 47 45 53 49 5a 45 20 3d 20 57 4d 5f 55 53 PAGESIZE = WM_US
16790 45 52 2b 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ER+21 }..enum :
167a0 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 50 41 uint { TBM_GETPA
167b0 47 45 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 GESIZE = WM_USER
167c0 2b 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 +22 }..enum : ui
167d0 6e 74 20 7b 20 54 42 4d 5f 53 45 54 4c 49 4e 45 nt { TBM_SETLINE
167e0 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 2b 32 SIZE = WM_USER+2
167f0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 3 }..enum : uint
16800 20 7b 20 54 42 4d 5f 47 45 54 4c 49 4e 45 53 49 { TBM_GETLINESI
16810 5a 45 20 3d 20 57 4d 5f 55 53 45 52 2b 32 34 20 ZE = WM_USER+24
16820 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
16830 20 54 42 4d 5f 47 45 54 54 48 55 4d 42 52 45 43 TBM_GETTHUMBREC
16840 54 20 3d 20 57 4d 5f 55 53 45 52 2b 32 35 20 7d T = WM_USER+25 }
16850 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
16860 54 42 4d 5f 47 45 54 43 48 41 4e 4e 45 4c 52 45 TBM_GETCHANNELRE
16870 43 54 20 3d 20 57 4d 5f 55 53 45 52 2b 32 36 20 CT = WM_USER+26
16880 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
16890 20 54 42 4d 5f 53 45 54 54 48 55 4d 42 4c 45 4e TBM_SETTHUMBLEN
168a0 47 54 48 20 3d 20 57 4d 5f 55 53 45 52 2b 32 37 GTH = WM_USER+27
168b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
168c0 7b 20 54 42 4d 5f 47 45 54 54 48 55 4d 42 4c 45 { TBM_GETTHUMBLE
168d0 4e 47 54 48 20 3d 20 57 4d 5f 55 53 45 52 2b 32 NGTH = WM_USER+2
168e0 38 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 8 }..// #if (_WI
168f0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
16900 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
16910 20 54 42 4d 5f 53 45 54 54 4f 4f 4c 54 49 50 53 TBM_SETTOOLTIPS
16920 20 3d 20 57 4d 5f 55 53 45 52 2b 32 39 20 7d 0d = WM_USER+29 }.
16930 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
16940 42 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 20 3d BM_GETTOOLTIPS =
16950 20 57 4d 5f 55 53 45 52 2b 33 30 20 7d 0d 0a 65 WM_USER+30 }..e
16960 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d num : uint { TBM
16970 5f 53 45 54 54 49 50 53 49 44 45 20 3d 20 57 4d _SETTIPSIDE = WM
16980 5f 55 53 45 52 2b 33 31 20 7d 0d 0a 0d 0a 65 6e _USER+31 }....en
16990 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 54 53 um : uint { TBTS
169a0 5f 54 4f 50 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d _TOP = 0 }..enum
169b0 20 3a 20 75 69 6e 74 20 7b 20 54 42 54 53 5f 4c : uint { TBTS_L
169c0 45 46 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 EFT = 1 }..enum
169d0 3a 20 75 69 6e 74 20 7b 20 54 42 54 53 5f 42 4f : uint { TBTS_BO
169e0 54 54 4f 4d 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d TTOM = 2 }..enum
169f0 20 3a 20 75 69 6e 74 20 7b 20 54 42 54 53 5f 52 : uint { TBTS_R
16a00 49 47 48 54 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e IGHT = 3 }....en
16a10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f um : uint { TBM_
16a20 53 45 54 42 55 44 44 59 20 3d 20 57 4d 5f 55 53 SETBUDDY = WM_US
16a30 45 52 2b 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ER+32 }..enum :
16a40 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 42 55 uint { TBM_GETBU
16a50 44 44 59 20 3d 20 57 4d 5f 55 53 45 52 2b 33 33 DDY = WM_USER+33
16a60 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f }..// #endif../
16a70 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
16a80 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61 6c 69 >= 0x0400)..ali
16a90 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 as CCM_SETUNICOD
16aa0 45 46 4f 52 4d 41 54 20 54 42 4d 5f 53 45 54 55 EFORMAT TBM_SETU
16ab0 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 NICODEFORMAT;..a
16ac0 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 lias CCM_GETUNIC
16ad0 4f 44 45 46 4f 52 4d 41 54 20 54 42 4d 5f 47 45 ODEFORMAT TBM_GE
16ae0 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d TUNICODEFORMAT;.
16af0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e .// #endif....en
16b00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4c um : uint { TB_L
16b10 49 4e 45 55 50 20 3d 20 30 20 7d 0d 0a 65 6e 75 INEUP = 0 }..enu
16b20 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4c 49 m : uint { TB_LI
16b30 4e 45 44 4f 57 4e 20 3d 20 31 20 7d 0d 0a 65 6e NEDOWN = 1 }..en
16b40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 50 um : uint { TB_P
16b50 41 47 45 55 50 20 3d 20 32 20 7d 0d 0a 65 6e 75 AGEUP = 2 }..enu
16b60 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 50 41 m : uint { TB_PA
16b70 47 45 44 4f 57 4e 20 3d 20 33 20 7d 0d 0a 65 6e GEDOWN = 3 }..en
16b80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 54 um : uint { TB_T
16b90 48 55 4d 42 50 4f 53 49 54 49 4f 4e 20 3d 20 34 HUMBPOSITION = 4
16ba0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
16bb0 7b 20 54 42 5f 54 48 55 4d 42 54 52 41 43 4b 20 { TB_THUMBTRACK
16bc0 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 5 }..enum : ui
16bd0 6e 74 20 7b 20 54 42 5f 54 4f 50 20 3d 20 36 20 nt { TB_TOP = 6
16be0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
16bf0 20 54 42 5f 42 4f 54 54 4f 4d 20 3d 20 37 20 7d TB_BOTTOM = 7 }
16c00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
16c10 54 42 5f 45 4e 44 54 52 41 43 4b 20 3d 20 38 20 TB_ENDTRACK = 8
16c20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 }....// #if (_WI
16c30 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
16c40 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
16c50 20 7b 20 54 42 43 44 5f 54 49 43 53 20 3d 20 30 { TBCD_TICS = 0
16c60 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0001 }..enum :
16c70 75 69 6e 74 20 7b 20 54 42 43 44 5f 54 48 55 4d uint { TBCD_THUM
16c80 42 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e B = 0x0002 }..en
16c90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44 um : uint { TBCD
16ca0 5f 43 48 41 4e 4e 45 4c 20 3d 20 30 78 30 30 30 _CHANNEL = 0x000
16cb0 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 3 }..// #endif..
16cc0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 74 ..// #endif // t
16cd0 72 61 63 6b 62 61 72 0d 0a 0d 0a 2f 2f 20 23 69 rackbar....// #i
16ce0 66 6e 64 65 66 20 4e 4f 44 52 41 47 4c 49 53 54 fndef NODRAGLIST
16cf0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 44 52 ....struct tagDR
16d00 41 47 4c 49 53 54 49 4e 46 4f 20 7b 0d 0a 20 20 AGLISTINFO {..
16d10 55 49 4e 54 20 75 4e 6f 74 69 66 69 63 61 74 69 UINT uNotificati
16d20 6f 6e 3b 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 on;.. HWND hWnd
16d30 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 43 75 72 ;.. POINT ptCur
16d40 73 6f 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 sor;..}..alias t
16d50 61 67 44 52 41 47 4c 49 53 54 49 4e 46 4f 20 44 agDRAGLISTINFO D
16d60 52 41 47 4c 49 53 54 49 4e 46 4f 3b 0d 0a 61 6c RAGLISTINFO;..al
16d70 69 61 73 20 74 61 67 44 52 41 47 4c 49 53 54 49 ias tagDRAGLISTI
16d80 4e 46 4f 2a 20 4c 50 44 52 41 47 4c 49 53 54 49 NFO* LPDRAGLISTI
16d90 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 NFO;....enum : u
16da0 69 6e 74 20 7b 20 44 4c 5f 42 45 47 49 4e 44 52 int { DL_BEGINDR
16db0 41 47 20 3d 20 57 4d 5f 55 53 45 52 2b 31 33 33 AG = WM_USER+133
16dc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
16dd0 7b 20 44 4c 5f 44 52 41 47 47 49 4e 47 20 3d 20 { DL_DRAGGING =
16de0 57 4d 5f 55 53 45 52 2b 31 33 34 20 7d 0d 0a 65 WM_USER+134 }..e
16df0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 5f num : uint { DL_
16e00 44 52 4f 50 50 45 44 20 3d 20 57 4d 5f 55 53 45 DROPPED = WM_USE
16e10 52 2b 31 33 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 R+135 }..enum :
16e20 75 69 6e 74 20 7b 20 44 4c 5f 43 41 4e 43 45 4c uint { DL_CANCEL
16e30 44 52 41 47 20 3d 20 57 4d 5f 55 53 45 52 2b 31 DRAG = WM_USER+1
16e40 33 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 36 }....enum : u
16e50 69 6e 74 20 7b 20 44 4c 5f 43 55 52 53 4f 52 53 int { DL_CURSORS
16e60 45 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a ET = 0 }..enum :
16e70 20 75 69 6e 74 20 7b 20 44 4c 5f 53 54 4f 50 43 uint { DL_STOPC
16e80 55 52 53 4f 52 20 3d 20 31 20 7d 0d 0a 65 6e 75 URSOR = 1 }..enu
16e90 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 5f 43 4f m : uint { DL_CO
16ea0 50 59 43 55 52 53 4f 52 20 3d 20 32 20 7d 0d 0a PYCURSOR = 2 }..
16eb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c enum : uint { DL
16ec0 5f 4d 4f 56 45 43 55 52 53 4f 52 20 3d 20 33 20 _MOVECURSOR = 3
16ed0 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 }....const TCHAR
16ee0 5b 5d 20 44 52 41 47 4c 49 53 54 4d 53 47 53 54 [] DRAGLISTMSGST
16ef0 52 49 4e 47 20 3d 20 22 63 6f 6d 6d 63 74 72 6c RING = "commctrl
16f00 5f 44 72 61 67 4c 69 73 74 4d 73 67 22 3b 0d 0a _DragListMsg";..
16f10 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
16f20 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 4d 61 ) export BOOL Ma
16f30 6b 65 44 72 61 67 4c 69 73 74 28 48 57 4e 44 20 keDragList(HWND
16f40 68 4c 42 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 hLB);..extern(Wi
16f50 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f ndows) export vo
16f60 69 64 20 44 72 61 77 49 6e 73 65 72 74 28 48 57 id DrawInsert(HW
16f70 4e 44 20 68 61 6e 64 50 61 72 65 6e 74 2c 20 48 ND handParent, H
16f80 57 4e 44 20 68 4c 42 2c 20 69 6e 74 20 6e 49 74 WND hLB, int nIt
16f90 65 6d 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 em);....extern(W
16fa0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 indows) export i
16fb0 6e 74 20 4c 42 49 74 65 6d 46 72 6f 6d 50 74 28 nt LBItemFromPt(
16fc0 48 57 4e 44 20 68 4c 42 2c 20 50 4f 49 4e 54 20 HWND hLB, POINT
16fd0 70 74 2c 20 42 4f 4f 4c 20 62 41 75 74 6f 53 63 pt, BOOL bAutoSc
16fe0 72 6f 6c 6c 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e roll);....// #en
16ff0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 dif....// #ifnde
17000 66 20 4e 4f 55 50 44 4f 57 4e 0d 0a 0d 0a 2f 2f f NOUPDOWN....//
17010 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a #ifdef _WIN32..
17020 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 55 ..const char[] U
17030 50 44 4f 57 4e 5f 43 4c 41 53 53 41 20 3d 20 22 PDOWN_CLASSA = "
17040 6d 73 63 74 6c 73 5f 75 70 64 6f 77 6e 33 32 22 msctls_updown32"
17050 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d ;..const wchar[]
17060 20 55 50 44 4f 57 4e 5f 43 4c 41 53 53 57 20 3d UPDOWN_CLASSW =
17070 20 22 6d 73 63 74 6c 73 5f 75 70 64 6f 77 6e 33 "msctls_updown3
17080 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 2";....// #ifdef
17090 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 UNICODE..alias
170a0 55 50 44 4f 57 4e 5f 43 4c 41 53 53 57 20 55 50 UPDOWN_CLASSW UP
170b0 44 4f 57 4e 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 DOWN_CLASS;..//
170c0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
170d0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
170e0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
170f0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 // #endif....str
17100 75 63 74 20 5f 55 44 41 43 43 45 4c 20 7b 0d 0a uct _UDACCEL {..
17110 20 20 55 49 4e 54 20 6e 53 65 63 3b 0d 0a 20 20 UINT nSec;..
17120 55 49 4e 54 20 6e 49 6e 63 3b 0d 0a 7d 0d 0a 61 UINT nInc;..}..a
17130 6c 69 61 73 20 5f 55 44 41 43 43 45 4c 20 55 44 lias _UDACCEL UD
17140 41 43 43 45 4c 3b 0d 0a 61 6c 69 61 73 20 5f 55 ACCEL;..alias _U
17150 44 41 43 43 45 4c 2a 20 4c 50 55 44 41 43 43 45 DACCEL* LPUDACCE
17160 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e L;....enum : uin
17170 74 20 7b 20 55 44 5f 4d 41 58 56 41 4c 20 3d 20 t { UD_MAXVAL =
17180 30 78 37 66 66 66 20 7d 0d 0a 65 6e 75 6d 20 3a 0x7fff }..enum :
17190 20 75 69 6e 74 20 7b 20 55 44 5f 4d 49 4e 56 41 uint { UD_MINVA
171a0 4c 20 3d 20 2d 55 44 5f 4d 41 58 56 41 4c 20 7d L = -UD_MAXVAL }
171b0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
171c0 7b 20 55 44 53 5f 57 52 41 50 20 3d 20 30 78 30 { UDS_WRAP = 0x0
171d0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 001 }..enum : ui
171e0 6e 74 20 7b 20 55 44 53 5f 53 45 54 42 55 44 44 nt { UDS_SETBUDD
171f0 59 49 4e 54 20 3d 20 30 78 30 30 30 32 20 7d 0d YINT = 0x0002 }.
17200 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 .enum : uint { U
17210 44 53 5f 41 4c 49 47 4e 52 49 47 48 54 20 3d 20 DS_ALIGNRIGHT =
17220 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0004 }..enum :
17230 20 75 69 6e 74 20 7b 20 55 44 53 5f 41 4c 49 47 uint { UDS_ALIG
17240 4e 4c 45 46 54 20 3d 20 30 78 30 30 30 38 20 7d NLEFT = 0x0008 }
17250 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
17260 55 44 53 5f 41 55 54 4f 42 55 44 44 59 20 3d 20 UDS_AUTOBUDDY =
17270 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0010 }..enum :
17280 20 75 69 6e 74 20 7b 20 55 44 53 5f 41 52 52 4f uint { UDS_ARRO
17290 57 4b 45 59 53 20 3d 20 30 78 30 30 32 30 20 7d WKEYS = 0x0020 }
172a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
172b0 55 44 53 5f 48 4f 52 5a 20 3d 20 30 78 30 30 34 UDS_HORZ = 0x004
172c0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
172d0 20 7b 20 55 44 53 5f 4e 4f 54 48 4f 55 53 41 4e { UDS_NOTHOUSAN
172e0 44 53 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f DS = 0x0080 }../
172f0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
17300 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 >= 0x0300)..enu
17310 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 53 5f 48 m : uint { UDS_H
17320 4f 54 54 52 41 43 4b 20 3d 20 30 78 30 31 30 30 OTTRACK = 0x0100
17330 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d }..// #endif...
17340 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 .enum : uint { U
17350 44 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20 57 4d DM_SETRANGE = WM
17360 5f 55 53 45 52 2b 31 30 31 20 7d 0d 0a 65 6e 75 _USER+101 }..enu
17370 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 47 m : uint { UDM_G
17380 45 54 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45 ETRANGE = WM_USE
17390 52 2b 31 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 R+102 }..enum :
173a0 75 69 6e 74 20 7b 20 55 44 4d 5f 53 45 54 50 4f uint { UDM_SETPO
173b0 53 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 33 20 S = WM_USER+103
173c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
173d0 20 55 44 4d 5f 47 45 54 50 4f 53 20 3d 20 57 4d UDM_GETPOS = WM
173e0 5f 55 53 45 52 2b 31 30 34 20 7d 0d 0a 65 6e 75 _USER+104 }..enu
173f0 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53 m : uint { UDM_S
17400 45 54 42 55 44 44 59 20 3d 20 57 4d 5f 55 53 45 ETBUDDY = WM_USE
17410 52 2b 31 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 R+105 }..enum :
17420 75 69 6e 74 20 7b 20 55 44 4d 5f 47 45 54 42 55 uint { UDM_GETBU
17430 44 44 59 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 DDY = WM_USER+10
17440 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 6 }..enum : uint
17450 20 7b 20 55 44 4d 5f 53 45 54 41 43 43 45 4c 20 { UDM_SETACCEL
17460 3d 20 57 4d 5f 55 53 45 52 2b 31 30 37 20 7d 0d = WM_USER+107 }.
17470 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 .enum : uint { U
17480 44 4d 5f 47 45 54 41 43 43 45 4c 20 3d 20 57 4d DM_GETACCEL = WM
17490 5f 55 53 45 52 2b 31 30 38 20 7d 0d 0a 65 6e 75 _USER+108 }..enu
174a0 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53 m : uint { UDM_S
174b0 45 54 42 41 53 45 20 3d 20 57 4d 5f 55 53 45 52 ETBASE = WM_USER
174c0 2b 31 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 +109 }..enum : u
174d0 69 6e 74 20 7b 20 55 44 4d 5f 47 45 54 42 41 53 int { UDM_GETBAS
174e0 45 20 3d 20 57 4d 5f 55 53 45 52 2b 31 31 30 20 E = WM_USER+110
174f0 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
17500 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
17510 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 .enum : uint { U
17520 44 4d 5f 53 45 54 52 41 4e 47 45 33 32 20 3d 20 DM_SETRANGE32 =
17530 57 4d 5f 55 53 45 52 2b 31 31 31 20 7d 0d 0a 65 WM_USER+111 }..e
17540 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d num : uint { UDM
17550 5f 47 45 54 52 41 4e 47 45 33 32 20 3d 20 57 4d _GETRANGE32 = WM
17560 5f 55 53 45 52 2b 31 31 32 20 7d 0d 0a 61 6c 69 _USER+112 }..ali
17570 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 as CCM_SETUNICOD
17580 45 46 4f 52 4d 41 54 20 55 44 4d 5f 53 45 54 55 EFORMAT UDM_SETU
17590 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 NICODEFORMAT;..a
175a0 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 lias CCM_GETUNIC
175b0 4f 44 45 46 4f 52 4d 41 54 20 55 44 4d 5f 47 45 ODEFORMAT UDM_GE
175c0 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d TUNICODEFORMAT;.
175d0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 .// #endif..// #
175e0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
175f0 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 0x0500)..enum :
17600 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53 45 54 50 uint { UDM_SETP
17610 4f 53 33 32 20 3d 20 57 4d 5f 55 53 45 52 2b 31 OS32 = WM_USER+1
17620 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 13 }..enum : uin
17630 74 20 7b 20 55 44 4d 5f 47 45 54 50 4f 53 33 32 t { UDM_GETPOS32
17640 20 3d 20 57 4d 5f 55 53 45 52 2b 31 31 34 20 7d = WM_USER+114 }
17650 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 ..// #endif....e
17660 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
17670 78 70 6f 72 74 20 48 57 4e 44 20 43 72 65 61 74 xport HWND Creat
17680 65 55 70 44 6f 77 6e 43 6f 6e 74 72 6f 6c 28 44 eUpDownControl(D
17690 57 4f 52 44 20 64 77 53 74 79 6c 65 2c 20 69 6e WORD dwStyle, in
176a0 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20 t x, int y, int
176b0 63 78 2c 20 69 6e 74 20 63 79 2c 0d 0a 20 20 48 cx, int cy,.. H
176c0 57 4e 44 20 68 50 61 72 65 6e 74 2c 20 69 6e 74 WND hParent, int
176d0 20 6e 49 44 2c 20 48 49 4e 53 54 41 4e 43 45 20 nID, HINSTANCE
176e0 68 49 6e 73 74 2c 0d 0a 20 20 48 57 4e 44 20 68 hInst,.. HWND h
176f0 42 75 64 64 79 2c 0d 0a 20 20 69 6e 74 20 6e 55 Buddy,.. int nU
17700 70 70 65 72 2c 20 69 6e 74 20 6e 4c 6f 77 65 72 pper, int nLower
17710 2c 20 69 6e 74 20 6e 50 6f 73 29 3b 0d 0a 0d 0a , int nPos);....
17720 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
17730 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c E >= 0x0300)..al
17740 69 61 73 20 4e 4d 55 50 44 4f 57 4e 20 4e 4d 5f ias NMUPDOWN NM_
17750 55 50 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4c UPDOWN;..alias L
17760 50 4e 4d 55 50 44 4f 57 4e 20 4c 50 4e 4d 5f 55 PNMUPDOWN LPNM_U
17770 50 44 4f 57 4e 3b 0d 0a 2f 2f 20 23 65 6c 73 65 PDOWN;..// #else
17780 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
17790 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ....// #endif...
177a0 0a 73 74 72 75 63 74 20 5f 4e 4d 5f 55 50 44 4f .struct _NM_UPDO
177b0 57 4e 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 WN {.. NMHDR hd
177c0 72 3b 0d 0a 20 20 69 6e 74 20 69 50 6f 73 3b 0d r;.. int iPos;.
177d0 0a 20 20 69 6e 74 20 69 44 65 6c 74 61 3b 0d 0a . int iDelta;..
177e0 7d 0d 0a 61 6c 69 61 73 20 5f 4e 4d 5f 55 50 44 }..alias _NM_UPD
177f0 4f 57 4e 20 4e 4d 55 50 44 4f 57 4e 3b 0d 0a 61 OWN NMUPDOWN;..a
17800 6c 69 61 73 20 5f 4e 4d 5f 55 50 44 4f 57 4e 2a lias _NM_UPDOWN*
17810 20 4c 50 4e 4d 55 50 44 4f 57 4e 3b 0d 0a 0d 0a LPNMUPDOWN;....
17820 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 enum : uint { UD
17830 4e 5f 44 45 4c 54 41 50 4f 53 20 3d 20 55 44 4e N_DELTAPOS = UDN
17840 5f 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 0d 0a _FIRST - 1 }....
17850 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 4e 4f // #endif // NO
17860 55 50 44 4f 57 4e 0d 0a 0d 0a 2f 2f 20 23 69 66 UPDOWN....// #if
17870 6e 64 65 66 20 4e 4f 50 52 4f 47 52 45 53 53 0d ndef NOPROGRESS.
17880 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 ...// #ifdef _WI
17890 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 N32....const cha
178a0 72 5b 5d 20 50 52 4f 47 52 45 53 53 5f 43 4c 41 r[] PROGRESS_CLA
178b0 53 53 41 20 3d 20 22 6d 73 63 74 6c 73 5f 70 72 SSA = "msctls_pr
178c0 6f 67 72 65 73 73 33 32 22 3b 0d 0a 63 6f 6e 73 ogress32";..cons
178d0 74 20 77 63 68 61 72 5b 5d 20 50 52 4f 47 52 45 t wchar[] PROGRE
178e0 53 53 5f 43 4c 41 53 53 57 20 3d 20 22 6d 73 63 SS_CLASSW = "msc
178f0 74 6c 73 5f 70 72 6f 67 72 65 73 73 33 32 22 3b tls_progress32";
17900 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
17910 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50 52 4f ICODE..alias PRO
17920 47 52 45 53 53 5f 43 4c 41 53 53 57 20 50 52 4f GRESS_CLASSW PRO
17930 47 52 45 53 53 5f 43 4c 41 53 53 3b 0d 0a 2f 2f GRESS_CLASS;..//
17940 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
17950 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
17960 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
17970 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
17980 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
17990 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d >= 0x0300)..enum
179a0 20 3a 20 75 69 6e 74 20 7b 20 50 42 53 5f 53 4d : uint { PBS_SM
179b0 4f 4f 54 48 20 3d 20 30 78 30 31 20 7d 0d 0a 65 OOTH = 0x01 }..e
179c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 53 num : uint { PBS
179d0 5f 56 45 52 54 49 43 41 4c 20 3d 20 30 78 30 34 _VERTICAL = 0x04
179e0 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d }..// #endif...
179f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
17a00 42 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20 57 4d BM_SETRANGE = WM
17a10 5f 55 53 45 52 2b 31 20 7d 0d 0a 65 6e 75 6d 20 _USER+1 }..enum
17a20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53 45 54 : uint { PBM_SET
17a30 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 2b 32 20 POS = WM_USER+2
17a40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
17a50 20 50 42 4d 5f 44 45 4c 54 41 50 4f 53 20 3d 20 PBM_DELTAPOS =
17a60 57 4d 5f 55 53 45 52 2b 33 20 7d 0d 0a 65 6e 75 WM_USER+3 }..enu
17a70 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53 m : uint { PBM_S
17a80 45 54 53 54 45 50 20 3d 20 57 4d 5f 55 53 45 52 ETSTEP = WM_USER
17a90 2b 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e +4 }..enum : uin
17aa0 74 20 7b 20 50 42 4d 5f 53 54 45 50 49 54 20 3d t { PBM_STEPIT =
17ab0 20 57 4d 5f 55 53 45 52 2b 35 20 7d 0d 0a 2f 2f WM_USER+5 }..//
17ac0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
17ad0 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d >= 0x0300)..enum
17ae0 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53 45 : uint { PBM_SE
17af0 54 52 41 4e 47 45 33 32 20 3d 20 57 4d 5f 55 53 TRANGE32 = WM_US
17b00 45 52 2b 36 20 7d 0d 0a 73 74 72 75 63 74 20 5f ER+6 }..struct _
17b10 37 20 7b 0d 0a 20 20 69 6e 74 20 69 4c 6f 77 3b 7 {.. int iLow;
17b20 0d 0a 20 20 69 6e 74 20 69 48 69 67 68 3b 0d 0a .. int iHigh;..
17b30 7d 0d 0a 61 6c 69 61 73 20 5f 37 20 50 42 52 41 }..alias _7 PBRA
17b40 4e 47 45 3b 0d 0a 61 6c 69 61 73 20 5f 37 2a 20 NGE;..alias _7*
17b50 50 50 42 52 41 4e 47 45 3b 0d 0a 0d 0a 65 6e 75 PPBRANGE;....enu
17b60 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 47 m : uint { PBM_G
17b70 45 54 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45 ETRANGE = WM_USE
17b80 52 2b 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 R+7 }..enum : ui
17b90 6e 74 20 7b 20 50 42 4d 5f 47 45 54 50 4f 53 20 nt { PBM_GETPOS
17ba0 3d 20 57 4d 5f 55 53 45 52 2b 38 20 7d 0d 0a 2f = WM_USER+8 }../
17bb0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
17bc0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 >= 0x0400)..enu
17bd0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53 m : uint { PBM_S
17be0 45 54 42 41 52 43 4f 4c 4f 52 20 3d 20 57 4d 5f ETBARCOLOR = WM_
17bf0 55 53 45 52 2b 39 20 7d 0d 0a 2f 2f 20 23 65 6e USER+9 }..// #en
17c00 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e dif // _WIN
17c10 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 32_IE >= 0x0400.
17c20 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 42 4b .alias CCM_SETBK
17c30 43 4f 4c 4f 52 20 50 42 4d 5f 53 45 54 42 4b 43 COLOR PBM_SETBKC
17c40 4f 4c 4f 52 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 OLOR;..// #endif
17c50 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f // _WIN32_
17c60 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a 0d 0a IE >= 0x0300....
17c70 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 4e 4f // #endif // NO
17c80 50 52 4f 47 52 45 53 53 0d 0a 0d 0a 2f 2f 20 23 PROGRESS....// #
17c90 69 66 6e 64 65 66 20 4e 4f 48 4f 54 4b 45 59 0d ifndef NOHOTKEY.
17ca0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
17cb0 20 48 4f 54 4b 45 59 46 5f 53 48 49 46 54 20 3d HOTKEYF_SHIFT =
17cc0 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 0x01 }..enum :
17cd0 75 69 6e 74 20 7b 20 48 4f 54 4b 45 59 46 5f 43 uint { HOTKEYF_C
17ce0 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 32 20 7d 0d ONTROL = 0x02 }.
17cf0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
17d00 4f 54 4b 45 59 46 5f 41 4c 54 20 3d 20 30 78 30 OTKEYF_ALT = 0x0
17d10 34 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 4 }..// #ifdef _
17d20 4d 41 43 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f MAC..// #.....//
17d30 20 23 65 6c 73 65 0d 0a 65 6e 75 6d 20 3a 20 75 #else..enum : u
17d40 69 6e 74 20 7b 20 48 4f 54 4b 45 59 46 5f 45 58 int { HOTKEYF_EX
17d50 54 20 3d 20 30 78 30 38 20 7d 0d 0a 2f 2f 20 23 T = 0x08 }..// #
17d60 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 endif....enum :
17d70 75 69 6e 74 20 7b 20 48 4b 43 4f 4d 42 5f 4e 4f uint { HKCOMB_NO
17d80 4e 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 NE = 0x0001 }..e
17d90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4b 43 num : uint { HKC
17da0 4f 4d 42 5f 53 20 3d 20 30 78 30 30 30 32 20 7d OMB_S = 0x0002 }
17db0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
17dc0 48 4b 43 4f 4d 42 5f 43 20 3d 20 30 78 30 30 30 HKCOMB_C = 0x000
17dd0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 4 }..enum : uint
17de0 20 7b 20 48 4b 43 4f 4d 42 5f 41 20 3d 20 30 78 { HKCOMB_A = 0x
17df0 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0008 }..enum : u
17e00 69 6e 74 20 7b 20 48 4b 43 4f 4d 42 5f 53 43 20 int { HKCOMB_SC
17e10 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d = 0x0010 }..enum
17e20 20 3a 20 75 69 6e 74 20 7b 20 48 4b 43 4f 4d 42 : uint { HKCOMB
17e30 5f 53 41 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a _SA = 0x0020 }..
17e40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4b enum : uint { HK
17e50 43 4f 4d 42 5f 43 41 20 3d 20 30 78 30 30 34 30 COMB_CA = 0x0040
17e60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
17e70 7b 20 48 4b 43 4f 4d 42 5f 53 43 41 20 3d 20 30 { HKCOMB_SCA = 0
17e80 78 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 x0080 }....enum
17e90 3a 20 75 69 6e 74 20 7b 20 48 4b 4d 5f 53 45 54 : uint { HKM_SET
17ea0 48 4f 54 4b 45 59 20 3d 20 57 4d 5f 55 53 45 52 HOTKEY = WM_USER
17eb0 2b 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e +1 }..enum : uin
17ec0 74 20 7b 20 48 4b 4d 5f 47 45 54 48 4f 54 4b 45 t { HKM_GETHOTKE
17ed0 59 20 3d 20 57 4d 5f 55 53 45 52 2b 32 20 7d 0d Y = WM_USER+2 }.
17ee0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 .enum : uint { H
17ef0 4b 4d 5f 53 45 54 52 55 4c 45 53 20 3d 20 57 4d KM_SETRULES = WM
17f00 5f 55 53 45 52 2b 33 20 7d 0d 0a 0d 0a 2f 2f 20 _USER+3 }....//
17f10 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d #ifdef _WIN32...
17f20 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 48 4f .const char[] HO
17f30 54 4b 45 59 5f 43 4c 41 53 53 41 20 3d 20 22 6d TKEY_CLASSA = "m
17f40 73 63 74 6c 73 5f 68 6f 74 6b 65 79 33 32 22 3b sctls_hotkey32";
17f50 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 ..const wchar[]
17f60 48 4f 54 4b 45 59 5f 43 4c 41 53 53 57 20 3d 20 HOTKEY_CLASSW =
17f70 22 6d 73 63 74 6c 73 5f 68 6f 74 6b 65 79 33 32 "msctls_hotkey32
17f80 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 ";....// #ifdef
17f90 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48 UNICODE..alias H
17fa0 4f 54 4b 45 59 5f 43 4c 41 53 53 57 20 48 4f 54 OTKEY_CLASSW HOT
17fb0 4b 45 59 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 KEY_CLASS;..// #
17fc0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
17fd0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
17fe0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
17ff0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
18000 65 6e 64 69 66 20 20 2f 2f 20 4e 4f 48 4f 54 4b endif // NOHOTK
18010 45 59 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e EY....enum : uin
18020 74 20 7b 20 43 43 53 5f 54 4f 50 20 3d 20 30 78 t { CCS_TOP = 0x
18030 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 00000001 }..enum
18040 20 3a 20 75 69 6e 74 20 7b 20 43 43 53 5f 4e 4f : uint { CCS_NO
18050 4d 4f 56 45 59 20 3d 20 30 78 30 30 30 30 30 30 MOVEY = 0x000000
18060 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 02 }..enum : uin
18070 74 20 7b 20 43 43 53 5f 42 4f 54 54 4f 4d 20 3d t { CCS_BOTTOM =
18080 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65 0x00000003 }..e
18090 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 53 num : uint { CCS
180a0 5f 4e 4f 52 45 53 49 5a 45 20 3d 20 30 78 30 30 _NORESIZE = 0x00
180b0 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 000004 }..enum :
180c0 20 75 69 6e 74 20 7b 20 43 43 53 5f 4e 4f 50 41 uint { CCS_NOPA
180d0 52 45 4e 54 41 4c 49 47 4e 20 3d 20 30 78 30 30 RENTALIGN = 0x00
180e0 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 000008 }..enum :
180f0 20 75 69 6e 74 20 7b 20 43 43 53 5f 41 44 4a 55 uint { CCS_ADJU
18100 53 54 41 42 4c 45 20 3d 20 30 78 30 30 30 30 30 STABLE = 0x00000
18110 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 020 }..enum : ui
18120 6e 74 20 7b 20 43 43 53 5f 4e 4f 44 49 56 49 44 nt { CCS_NODIVID
18130 45 52 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 ER = 0x00000040
18140 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
18150 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 2_IE >= 0x0300).
18160 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
18170 43 53 5f 56 45 52 54 20 3d 20 30 78 30 30 30 30 CS_VERT = 0x0000
18180 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0080 }..enum : u
18190 69 6e 74 20 7b 20 43 43 53 5f 4c 45 46 54 20 3d int { CCS_LEFT =
181a0 20 43 43 53 5f 56 45 52 54 20 7c 20 43 43 53 5f CCS_VERT | CCS_
181b0 54 4f 50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 TOP }..enum : ui
181c0 6e 74 20 7b 20 43 43 53 5f 52 49 47 48 54 20 3d nt { CCS_RIGHT =
181d0 20 43 43 53 5f 56 45 52 54 20 7c 20 43 43 53 5f CCS_VERT | CCS_
181e0 42 4f 54 54 4f 4d 20 7d 0d 0a 65 6e 75 6d 20 3a BOTTOM }..enum :
181f0 20 75 69 6e 74 20 7b 20 43 43 53 5f 4e 4f 4d 4f uint { CCS_NOMO
18200 56 45 58 20 3d 20 43 43 53 5f 56 45 52 54 20 7c VEX = CCS_VERT |
18210 20 43 43 53 5f 4e 4f 4d 4f 56 45 59 20 7d 0d 0a CCS_NOMOVEY }..
18220 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
18230 23 69 66 6e 64 65 66 20 4e 4f 4c 49 53 54 56 49 #ifndef NOLISTVI
18240 45 57 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 EW....// #ifdef
18250 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 _WIN32....const
18260 63 68 61 72 5b 5d 20 57 43 5f 4c 49 53 54 56 49 char[] WC_LISTVI
18270 45 57 41 20 3d 20 22 53 79 73 4c 69 73 74 56 69 EWA = "SysListVi
18280 65 77 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 ew32";..const wc
18290 68 61 72 5b 5d 20 57 43 5f 4c 49 53 54 56 49 45 har[] WC_LISTVIE
182a0 57 57 20 3d 20 22 53 79 73 4c 69 73 74 56 69 65 WW = "SysListVie
182b0 77 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 w32";....// #ifd
182c0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
182d0 73 20 57 43 5f 4c 49 53 54 56 49 45 57 57 20 57 s WC_LISTVIEWW W
182e0 43 5f 4c 49 53 54 56 49 45 57 3b 0d 0a 2f 2f 20 C_LISTVIEW;..//
182f0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
18300 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
18310 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
18320 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 // #endif....enu
18330 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 49 m : uint { LVS_I
18340 43 4f 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a CON = 0x0000 }..
18350 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
18360 53 5f 52 45 50 4f 52 54 20 3d 20 30 78 30 30 30 S_REPORT = 0x000
18370 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
18380 20 7b 20 4c 56 53 5f 53 4d 41 4c 4c 49 43 4f 4e { LVS_SMALLICON
18390 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 = 0x0002 }..enu
183a0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4c m : uint { LVS_L
183b0 49 53 54 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a IST = 0x0003 }..
183c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
183d0 53 5f 54 59 50 45 4d 41 53 4b 20 3d 20 30 78 30 S_TYPEMASK = 0x0
183e0 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 003 }..enum : ui
183f0 6e 74 20 7b 20 4c 56 53 5f 53 49 4e 47 4c 45 53 nt { LVS_SINGLES
18400 45 4c 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 EL = 0x0004 }..e
18410 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 num : uint { LVS
18420 5f 53 48 4f 57 53 45 4c 41 4c 57 41 59 53 20 3d _SHOWSELALWAYS =
18430 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 0x0008 }..enum
18440 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 53 4f 52 : uint { LVS_SOR
18450 54 41 53 43 45 4e 44 49 4e 47 20 3d 20 30 78 30 TASCENDING = 0x0
18460 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 010 }..enum : ui
18470 6e 74 20 7b 20 4c 56 53 5f 53 4f 52 54 44 45 53 nt { LVS_SORTDES
18480 43 45 4e 44 49 4e 47 20 3d 20 30 78 30 30 32 30 CENDING = 0x0020
18490 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
184a0 7b 20 4c 56 53 5f 53 48 41 52 45 49 4d 41 47 45 { LVS_SHAREIMAGE
184b0 4c 49 53 54 53 20 3d 20 30 78 30 30 34 30 20 7d LISTS = 0x0040 }
184c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
184d0 4c 56 53 5f 4e 4f 4c 41 42 45 4c 57 52 41 50 20 LVS_NOLABELWRAP
184e0 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d = 0x0080 }..enum
184f0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 41 55 : uint { LVS_AU
18500 54 4f 41 52 52 41 4e 47 45 20 3d 20 30 78 30 31 TOARRANGE = 0x01
18510 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
18520 74 20 7b 20 4c 56 53 5f 45 44 49 54 4c 41 42 45 t { LVS_EDITLABE
18530 4c 53 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f LS = 0x0200 }../
18540 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
18550 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 >= 0x0300)..enu
18560 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4f m : uint { LVS_O
18570 57 4e 45 52 44 41 54 41 20 3d 20 30 78 31 30 30 WNERDATA = 0x100
18580 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0 }..// #endif..
18590 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
185a0 53 5f 4e 4f 53 43 52 4f 4c 4c 20 3d 20 30 78 32 S_NOSCROLL = 0x2
185b0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 000 }....enum :
185c0 75 69 6e 74 20 7b 20 4c 56 53 5f 54 59 50 45 53 uint { LVS_TYPES
185d0 54 59 4c 45 4d 41 53 4b 20 3d 20 30 78 66 63 30 TYLEMASK = 0xfc0
185e0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 0 }....enum : ui
185f0 6e 74 20 7b 20 4c 56 53 5f 41 4c 49 47 4e 54 4f nt { LVS_ALIGNTO
18600 50 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e P = 0x0000 }..en
18610 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f um : uint { LVS_
18620 41 4c 49 47 4e 4c 45 46 54 20 3d 20 30 78 30 38 ALIGNLEFT = 0x08
18630 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
18640 74 20 7b 20 4c 56 53 5f 41 4c 49 47 4e 4d 41 53 t { LVS_ALIGNMAS
18650 4b 20 3d 20 30 78 30 63 30 30 20 7d 0d 0a 0d 0a K = 0x0c00 }....
18660 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
18670 53 5f 4f 57 4e 45 52 44 52 41 57 46 49 58 45 44 S_OWNERDRAWFIXED
18680 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75 = 0x0400 }..enu
18690 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4e m : uint { LVS_N
186a0 4f 43 4f 4c 55 4d 4e 48 45 41 44 45 52 20 3d 20 OCOLUMNHEADER =
186b0 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x4000 }..enum :
186c0 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4e 4f 53 4f uint { LVS_NOSO
186d0 52 54 48 45 41 44 45 52 20 3d 20 30 78 38 30 30 RTHEADER = 0x800
186e0 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 0 }....// #if (_
186f0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 WIN32_IE >= 0x04
18700 30 30 29 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 00)..alias CCM_S
18710 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 ETUNICODEFORMAT
18720 4c 56 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f LVM_SETUNICODEFO
18730 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e RMAT;..// #defin
18740 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 55 6e e ListView_SetUn
18750 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e 64 icodeFormat(hwnd
18760 2c 20 66 55 6e 69 63 6f 64 65 29 20 28 42 4f 4f , fUnicode) (BOO
18770 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c L)SNDMSG((hwnd),
18780 20 4c 56 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 LVM_SETUNICODEF
18790 4f 52 4d 41 54 2c 20 28 57 50 41 52 41 4d 29 28 ORMAT, (WPARAM)(
187a0 66 55 6e 69 63 6f 64 65 29 2c 20 30 29 0d 0a 0d fUnicode), 0)...
187b0 0a 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e .alias CCM_GETUN
187c0 49 43 4f 44 45 46 4f 52 4d 41 54 20 4c 56 4d 5f ICODEFORMAT LVM_
187d0 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 GETUNICODEFORMAT
187e0 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 ;..// #define Li
187f0 73 74 56 69 65 77 5f 47 65 74 55 6e 69 63 6f 64 stView_GetUnicod
18800 65 46 6f 72 6d 61 74 28 68 77 6e 64 29 20 28 42 eFormat(hwnd) (B
18810 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
18820 29 2c 20 4c 56 4d 5f 47 45 54 55 4e 49 43 4f 44 ), LVM_GETUNICOD
18830 45 46 4f 52 4d 41 54 2c 20 30 2c 20 30 29 0d 0a EFORMAT, 0, 0)..
18840 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 // #endif....enu
18850 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 m : uint { LVM_G
18860 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f ETBKCOLOR = LVM_
18870 46 49 52 53 54 20 2b 20 30 20 7d 0d 0a 2f 2f 20 FIRST + 0 }..//
18880 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
18890 5f 47 65 74 42 6b 43 6f 6c 6f 72 28 68 77 6e 64 _GetBkColor(hwnd
188a0 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d ) (COLORREF)SNDM
188b0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 SG((hwnd), LVM_G
188c0 45 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20 30 4c ETBKCOLOR, 0, 0L
188d0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
188e0 20 7b 20 4c 56 4d 5f 53 45 54 42 4b 43 4f 4c 4f { LVM_SETBKCOLO
188f0 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 R = LVM_FIRST +
18900 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 1 }..// #define
18910 4c 69 73 74 56 69 65 77 5f 53 65 74 42 6b 43 6f ListView_SetBkCo
18920 6c 6f 72 28 68 77 6e 64 2c 20 63 6c 72 42 6b 29 lor(hwnd, clrBk)
18930 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 (BOOL)SNDMSG((h
18940 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 42 4b 43 wnd), LVM_SETBKC
18950 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52 41 4d OLOR, 0, (LPARAM
18960 29 28 43 4f 4c 4f 52 52 45 46 29 28 63 6c 72 42 )(COLORREF)(clrB
18970 6b 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 k))....enum : ui
18980 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 4d 41 47 nt { LVM_GETIMAG
18990 45 4c 49 53 54 20 3d 20 4c 56 4d 5f 46 49 52 53 ELIST = LVM_FIRS
189a0 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 T + 2 }..// #def
189b0 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 ine ListView_Get
189c0 49 6d 61 67 65 4c 69 73 74 28 68 77 6e 64 2c 20 ImageList(hwnd,
189d0 69 49 6d 61 67 65 4c 69 73 74 29 20 28 48 49 4d iImageList) (HIM
189e0 41 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 AGELIST)SNDMSG((
189f0 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 49 4d hwnd), LVM_GETIM
18a00 41 47 45 4c 49 53 54 2c 20 28 57 50 41 52 41 4d AGELIST, (WPARAM
18a10 29 28 49 4e 54 29 28 69 49 6d 61 67 65 4c 69 73 )(INT)(iImageLis
18a20 74 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 t), 0L)....enum
18a30 3a 20 75 69 6e 74 20 7b 20 4c 56 53 49 4c 5f 4e : uint { LVSIL_N
18a40 4f 52 4d 41 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 ORMAL = 0 }..enu
18a50 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 49 4c m : uint { LVSIL
18a60 5f 53 4d 41 4c 4c 20 3d 20 31 20 7d 0d 0a 65 6e _SMALL = 1 }..en
18a70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 49 um : uint { LVSI
18a80 4c 5f 53 54 41 54 45 20 3d 20 32 20 7d 0d 0a 0d L_STATE = 2 }...
18a90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
18aa0 56 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 20 VM_SETIMAGELIST
18ab0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 20 = LVM_FIRST + 3
18ac0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
18ad0 73 74 56 69 65 77 5f 53 65 74 49 6d 61 67 65 4c stView_SetImageL
18ae0 69 73 74 28 68 77 6e 64 2c 20 68 69 6d 6c 2c 20 ist(hwnd, himl,
18af0 69 49 6d 61 67 65 4c 69 73 74 29 20 28 48 49 4d iImageList) (HIM
18b00 41 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 AGELIST)SNDMSG((
18b10 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 49 4d hwnd), LVM_SETIM
18b20 41 47 45 4c 49 53 54 2c 20 28 57 50 41 52 41 4d AGELIST, (WPARAM
18b30 29 28 69 49 6d 61 67 65 4c 69 73 74 29 2c 20 28 )(iImageList), (
18b40 4c 50 41 52 41 4d 29 28 48 49 4d 41 47 45 4c 49 LPARAM)(HIMAGELI
18b50 53 54 29 28 68 69 6d 6c 29 29 0d 0a 0d 0a 65 6e ST)(himl))....en
18b60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f um : uint { LVM_
18b70 47 45 54 49 54 45 4d 43 4f 55 4e 54 20 3d 20 4c GETITEMCOUNT = L
18b80 56 4d 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a VM_FIRST + 4 }..
18b90 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 // #define ListV
18ba0 69 65 77 5f 47 65 74 49 74 65 6d 43 6f 75 6e 74 iew_GetItemCount
18bb0 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d (hwnd) (int)SNDM
18bc0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 SG((hwnd), LVM_G
18bd0 45 54 49 54 45 4d 43 4f 55 4e 54 2c 20 30 2c 20 ETITEMCOUNT, 0,
18be0 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 0L)....enum : ui
18bf0 6e 74 20 7b 20 4c 56 49 46 5f 54 45 58 54 20 3d nt { LVIF_TEXT =
18c00 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
18c10 3a 20 75 69 6e 74 20 7b 20 4c 56 49 46 5f 49 4d : uint { LVIF_IM
18c20 41 47 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a AGE = 0x0002 }..
18c30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
18c40 49 46 5f 50 41 52 41 4d 20 3d 20 30 78 30 30 30 IF_PARAM = 0x000
18c50 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 4 }..enum : uint
18c60 20 7b 20 4c 56 49 46 5f 53 54 41 54 45 20 3d 20 { LVIF_STATE =
18c70 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69 66 0x0008 }..// #if
18c80 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
18c90 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 x0300)..enum : u
18ca0 69 6e 74 20 7b 20 4c 56 49 46 5f 49 4e 44 45 4e int { LVIF_INDEN
18cb0 54 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e T = 0x0010 }..en
18cc0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 46 um : uint { LVIF
18cd0 5f 4e 4f 52 45 43 4f 4d 50 55 54 45 20 3d 20 30 _NORECOMPUTE = 0
18ce0 78 30 38 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 x0800 }..// #end
18cf0 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e if..// #if (_WIN
18d00 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 32_WINNT >= 0x50
18d10 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 1)..enum : uint
18d20 7b 20 4c 56 49 46 5f 47 52 4f 55 50 49 44 20 3d { LVIF_GROUPID =
18d30 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 0x0100 }..enum
18d40 3a 20 75 69 6e 74 20 7b 20 4c 56 49 46 5f 43 4f : uint { LVIF_CO
18d50 4c 55 4d 4e 53 20 3d 20 30 78 30 32 30 30 20 7d LUMNS = 0x0200 }
18d60 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 ..// #endif....e
18d70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 num : uint { LVI
18d80 53 5f 46 4f 43 55 53 45 44 20 3d 20 30 78 30 30 S_FOCUSED = 0x00
18d90 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 01 }..enum : uin
18da0 74 20 7b 20 4c 56 49 53 5f 53 45 4c 45 43 54 45 t { LVIS_SELECTE
18db0 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e D = 0x0002 }..en
18dc0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 53 um : uint { LVIS
18dd0 5f 43 55 54 20 3d 20 30 78 30 30 30 34 20 7d 0d _CUT = 0x0004 }.
18de0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
18df0 56 49 53 5f 44 52 4f 50 48 49 4c 49 54 45 44 20 VIS_DROPHILITED
18e00 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d = 0x0008 }..enum
18e10 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 53 5f 47 : uint { LVIS_G
18e20 4c 4f 57 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a LOW = 0x0010 }..
18e30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
18e40 49 53 5f 41 43 54 49 56 41 54 49 4e 47 20 3d 20 IS_ACTIVATING =
18e50 30 78 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 0x0020 }....enum
18e60 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 53 5f 4f : uint { LVIS_O
18e70 56 45 52 4c 41 59 4d 41 53 4b 20 3d 20 30 78 30 VERLAYMASK = 0x0
18e80 46 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 F00 }..enum : ui
18e90 6e 74 20 7b 20 4c 56 49 53 5f 53 54 41 54 45 49 nt { LVIS_STATEI
18ea0 4d 41 47 45 4d 41 53 4b 20 3d 20 30 78 46 30 30 MAGEMASK = 0xF00
18eb0 30 20 7d 0d 0a 0d 0a 75 69 6e 74 20 49 4e 44 45 0 }....uint INDE
18ec0 58 54 4f 53 54 41 54 45 49 4d 41 47 45 4d 41 53 XTOSTATEIMAGEMAS
18ed0 4b 28 75 69 6e 74 20 69 29 7b 20 72 65 74 75 72 K(uint i){ retur
18ee0 6e 20 69 20 3c 3c 20 31 32 3b 20 7d 0d 0a 0d 0a n i << 12; }....
18ef0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
18f00 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e E >= 0x0300)..en
18f10 75 6d 20 7b 20 49 5f 49 4e 44 45 4e 54 43 41 4c um { I_INDENTCAL
18f20 4c 42 41 43 4b 20 3d 20 2d 31 20 7d 0d 0a 61 6c LBACK = -1 }..al
18f30 69 61 73 20 4c 56 49 54 45 4d 41 20 4c 56 5f 49 ias LVITEMA LV_I
18f40 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 4c 56 49 TEMA;..alias LVI
18f50 54 45 4d 57 20 4c 56 5f 49 54 45 4d 57 3b 0d 0a TEMW LV_ITEMW;..
18f60 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
18f70 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
18f80 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
18f90 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 #endif....// #i
18fa0 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 f (_WIN32_WINNT
18fb0 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 >= 0x501)..enum
18fc0 7b 20 49 5f 47 52 4f 55 50 49 44 43 41 4c 4c 42 { I_GROUPIDCALLB
18fd0 41 43 4b 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d ACK = -1 }..enum
18fe0 20 7b 20 49 5f 47 52 4f 55 50 49 44 4e 4f 4e 45 { I_GROUPIDNONE
18ff0 20 3d 20 2d 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 = -2 }..// #end
19000 69 66 0d 0a 61 6c 69 61 73 20 4c 56 49 54 45 4d if..alias LVITEM
19010 20 4c 56 5f 49 54 45 4d 3b 0d 0a 0d 0a 2f 2f 20 LV_ITEM;....//
19020 23 64 65 66 69 6e 65 20 4c 56 49 54 45 4d 41 5f #define LVITEMA_
19030 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 V1_SIZE CCSIZEOF
19040 5f 53 54 52 55 43 54 28 4c 56 49 54 45 4d 41 2c _STRUCT(LVITEMA,
19050 20 6c 50 61 72 61 6d 29 0d 0a 2f 2f 20 23 64 65 lParam)..// #de
19060 66 69 6e 65 20 4c 56 49 54 45 4d 57 5f 56 31 5f fine LVITEMW_V1_
19070 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 SIZE CCSIZEOF_ST
19080 52 55 43 54 28 4c 56 49 54 45 4d 57 2c 20 6c 50 RUCT(LVITEMW, lP
19090 61 72 61 6d 29 0d 0a 0d 0a 73 74 72 75 63 74 20 aram)....struct
190a0 74 61 67 4c 56 49 54 45 4d 41 20 7b 0d 0a 20 20 tagLVITEMA {..
190b0 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 69 6e UINT mask;.. in
190c0 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 20 t iItem;.. int
190d0 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20 55 49 4e iSubItem;.. UIN
190e0 54 20 73 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 T state;.. UINT
190f0 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 20 20 4c stateMask;.. L
19100 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 PSTR pszText;..
19110 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b int cchTextMax;
19120 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d .. int iImage;.
19130 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d . LPARAM lParam
19140 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ;..// #if (_WIN3
19150 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 2_IE >= 0x0300).
19160 0a 20 20 69 6e 74 20 69 49 6e 64 65 6e 74 3b 0d . int iIndent;.
19170 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 .// #endif..// #
19180 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 if (_WIN32_WINNT
19190 20 3e 3d 20 30 78 35 30 31 29 0d 0a 20 20 69 6e >= 0x501).. in
191a0 74 20 69 47 72 6f 75 70 49 64 3b 0d 0a 20 20 55 t iGroupId;.. U
191b0 49 4e 54 20 63 43 6f 6c 75 6d 6e 73 3b 0d 0a 20 INT cColumns;..
191c0 20 50 55 49 4e 54 20 70 75 43 6f 6c 75 6d 6e 73 PUINT puColumns
191d0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d ;..// #endif..}.
191e0 0a 61 6c 69 61 73 20 74 61 67 4c 56 49 54 45 4d .alias tagLVITEM
191f0 41 20 4c 56 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 A LVITEMA;..alia
19200 73 20 74 61 67 4c 56 49 54 45 4d 41 2a 20 4c 50 s tagLVITEMA* LP
19210 4c 56 49 54 45 4d 41 3b 0d 0a 0d 0a 73 74 72 75 LVITEMA;....stru
19220 63 74 20 74 61 67 4c 56 49 54 45 4d 57 20 7b 0d ct tagLVITEMW {.
19230 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 . UINT mask;..
19240 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 int iItem;.. i
19250 6e 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20 nt iSubItem;..
19260 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a 20 20 55 UINT state;.. U
19270 49 4e 54 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a INT stateMask;..
19280 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 LPWSTR pszText
19290 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 ;.. int cchText
192a0 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 Max;.. int iIma
192b0 67 65 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 ge;.. LPARAM lP
192c0 61 72 61 6d 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f aram;..// #if (_
192d0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 WIN32_IE >= 0x03
192e0 30 30 29 0d 0a 20 20 69 6e 74 20 69 49 6e 64 65 00).. int iInde
192f0 6e 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a nt;..// #endif..
19300 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 // #if (_WIN32_W
19310 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a INNT >= 0x501)..
19320 20 20 69 6e 74 20 69 47 72 6f 75 70 49 64 3b 0d int iGroupId;.
19330 0a 20 20 55 49 4e 54 20 63 43 6f 6c 75 6d 6e 73 . UINT cColumns
19340 3b 0d 0a 20 20 50 55 49 4e 54 20 70 75 43 6f 6c ;.. PUINT puCol
19350 75 6d 6e 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 umns;..// #endif
19360 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 ..}..alias tagLV
19370 49 54 45 4d 57 20 4c 56 49 54 45 4d 57 3b 0d 0a ITEMW LVITEMW;..
19380 61 6c 69 61 73 20 74 61 67 4c 56 49 54 45 4d 57 alias tagLVITEMW
19390 2a 20 4c 50 4c 56 49 54 45 4d 57 3b 0d 0a 0d 0a * LPLVITEMW;....
193a0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
193b0 45 0d 0a 61 6c 69 61 73 20 4c 56 49 54 45 4d 57 E..alias LVITEMW
193c0 20 4c 56 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 LVITEM;..alias
193d0 4c 50 4c 56 49 54 45 4d 57 20 4c 50 4c 56 49 54 LPLVITEMW LPLVIT
193e0 45 4d 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 EM;..// #define
193f0 4c 56 49 54 45 4d 5f 56 31 5f 53 49 5a 45 20 4c LVITEM_V1_SIZE L
19400 56 49 54 45 4d 57 5f 56 31 5f 53 49 5a 45 0d 0a VITEMW_V1_SIZE..
19410 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
19420 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
19430 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
19440 0d 0a 63 6f 6e 73 74 20 4c 50 57 53 54 52 20 4c ..const LPWSTR L
19450 50 53 54 52 5f 54 45 58 54 43 41 4c 4c 42 41 43 PSTR_TEXTCALLBAC
19460 4b 57 20 3d 20 63 61 73 74 28 4c 50 57 53 54 52 KW = cast(LPWSTR
19470 29 2d 31 3b 0d 0a 63 6f 6e 73 74 20 4c 50 53 54 )-1;..const LPST
19480 52 20 4c 50 53 54 52 5f 54 45 58 54 43 41 4c 4c R LPSTR_TEXTCALL
19490 42 41 43 4b 41 20 3d 20 63 61 73 74 28 4c 50 53 BACKA = cast(LPS
194a0 54 52 29 2d 31 3b 0d 0a 2f 2f 20 23 69 66 64 65 TR)-1;..// #ifde
194b0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
194c0 20 4c 50 53 54 52 5f 54 45 58 54 43 41 4c 4c 42 LPSTR_TEXTCALLB
194d0 41 43 4b 57 20 4c 50 53 54 52 5f 54 45 58 54 43 ACKW LPSTR_TEXTC
194e0 41 4c 4c 42 41 43 4b 3b 0d 0a 2f 2f 20 23 65 6c ALLBACK;..// #el
194f0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
19500 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 7b #endif....enum {
19510 20 49 5f 49 4d 41 47 45 43 41 4c 4c 42 41 43 4b I_IMAGECALLBACK
19520 20 3d 20 2d 31 20 7d 0d 0a 2f 2f 20 23 69 66 20 = -1 }..// #if
19530 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
19540 30 35 30 31 29 0d 0a 65 6e 75 6d 20 7b 20 49 5f 0501)..enum { I_
19550 49 4d 41 47 45 4e 4f 4e 45 20 3d 20 2d 32 20 7d IMAGENONE = -2 }
19560 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 ..// #endif //
19570 30 78 30 35 30 31 0d 0a 0d 0a 2f 2f 20 23 69 66 0x0501....// #if
19580 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e (_WIN32_WINNT >
19590 3d 20 30 78 35 30 31 29 0d 0a 0d 0a 65 6e 75 6d = 0x501)....enum
195a0 20 3a 20 75 69 6e 74 20 7b 20 49 5f 43 4f 4c 55 : uint { I_COLU
195b0 4d 4e 53 43 41 4c 4c 42 41 43 4b 20 3d 20 63 61 MNSCALLBACK = ca
195c0 73 74 28 55 49 4e 54 29 2d 31 20 7d 0d 0a 2f 2f st(UINT)-1 }..//
195d0 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 #endif....enum
195e0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 : uint { LVM_GET
195f0 49 54 45 4d 41 20 3d 20 4c 56 4d 5f 46 49 52 53 ITEMA = LVM_FIRS
19600 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 T + 5 }..enum :
19610 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 54 uint { LVM_GETIT
19620 45 4d 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 EMW = LVM_FIRST
19630 2b 20 37 35 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 + 75 }..// #ifde
19640 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
19650 20 4c 56 4d 5f 47 45 54 49 54 45 4d 57 20 4c 56 LVM_GETITEMW LV
19660 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 M_GETITEM;..// #
19670 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
19680 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
19690 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f define ListView_
196a0 47 65 74 49 74 65 6d 28 68 77 6e 64 2c 20 70 69 GetItem(hwnd, pi
196b0 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 tem) (BOOL)SNDMS
196c0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 G((hwnd), LVM_GE
196d0 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41 52 41 TITEM, 0, (LPARA
196e0 4d 29 28 4c 56 5f 49 54 45 4d 20 2a 29 28 70 69 M)(LV_ITEM *)(pi
196f0 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 tem))....enum :
19700 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54 uint { LVM_SETIT
19710 45 4d 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 EMA = LVM_FIRST
19720 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 + 6 }..enum : ui
19730 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54 45 4d nt { LVM_SETITEM
19740 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 W = LVM_FIRST +
19750 37 36 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 76 }..// #ifdef
19760 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c UNICODE..alias L
19770 56 4d 5f 53 45 54 49 54 45 4d 57 20 4c 56 4d 5f VM_SETITEMW LVM_
19780 53 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c SETITEM;..// #el
19790 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
197a0 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 #endif....// #de
197b0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 fine ListView_Se
197c0 74 49 74 65 6d 28 68 77 6e 64 2c 20 70 69 74 65 tItem(hwnd, pite
197d0 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 m) (BOOL)SNDMSG(
197e0 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 49 (hwnd), LVM_SETI
197f0 54 45 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 TEM, 0, (LPARAM)
19800 28 63 6f 6e 73 74 20 4c 56 5f 49 54 45 4d 20 2a (const LV_ITEM *
19810 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 )(pitem))....enu
19820 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 m : uint { LVM_I
19830 4e 53 45 52 54 49 54 45 4d 41 20 3d 20 4c 56 4d NSERTITEMA = LVM
19840 5f 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 65 6e _FIRST + 7 }..en
19850 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f um : uint { LVM_
19860 49 4e 53 45 52 54 49 54 45 4d 57 20 3d 20 4c 56 INSERTITEMW = LV
19870 4d 5f 46 49 52 53 54 20 2b 20 37 37 20 7d 0d 0a M_FIRST + 77 }..
19880 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
19890 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 49 4e 53 E..alias LVM_INS
198a0 45 52 54 49 54 45 4d 57 20 4c 56 4d 5f 49 4e 53 ERTITEMW LVM_INS
198b0 45 52 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c ERTITEM;..// #el
198c0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
198d0 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 64 65 66 69 #endif..// #defi
198e0 6e 65 20 4c 69 73 74 56 69 65 77 5f 49 6e 73 65 ne ListView_Inse
198f0 72 74 49 74 65 6d 28 68 77 6e 64 2c 20 70 69 74 rtItem(hwnd, pit
19900 65 6d 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 em) (int)SNDMSG(
19910 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45 (hwnd), LVM_INSE
19920 52 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41 52 RTITEM, 0, (LPAR
19930 41 4d 29 28 63 6f 6e 73 74 20 4c 56 5f 49 54 45 AM)(const LV_ITE
19940 4d 20 2a 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a M *)(pitem))....
19950 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
19960 4d 5f 44 45 4c 45 54 45 49 54 45 4d 20 3d 20 4c M_DELETEITEM = L
19970 56 4d 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a VM_FIRST + 8 }..
19980 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 // #define ListV
19990 69 65 77 5f 44 65 6c 65 74 65 49 74 65 6d 28 68 iew_DeleteItem(h
199a0 77 6e 64 2c 20 69 29 20 28 42 4f 4f 4c 29 53 4e wnd, i) (BOOL)SN
199b0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d DMSG((hwnd), LVM
199c0 5f 44 45 4c 45 54 45 49 54 45 4d 2c 20 28 57 50 _DELETEITEM, (WP
199d0 41 52 41 4d 29 28 69 6e 74 29 28 69 29 2c 20 30 ARAM)(int)(i), 0
199e0 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e L)....enum : uin
199f0 74 20 7b 20 4c 56 4d 5f 44 45 4c 45 54 45 41 4c t { LVM_DELETEAL
19a00 4c 49 54 45 4d 53 20 3d 20 4c 56 4d 5f 46 49 52 LITEMS = LVM_FIR
19a10 53 54 20 2b 20 39 20 7d 0d 0a 2f 2f 20 23 64 65 ST + 9 }..// #de
19a20 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 44 65 fine ListView_De
19a30 6c 65 74 65 41 6c 6c 49 74 65 6d 73 28 68 77 6e leteAllItems(hwn
19a40 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 d) (BOOL)SNDMSG(
19a50 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 44 45 4c 45 (hwnd), LVM_DELE
19a60 54 45 41 4c 4c 49 54 45 4d 53 2c 20 30 2c 20 30 TEALLITEMS, 0, 0
19a70 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e L)....enum : uin
19a80 74 20 7b 20 4c 56 4d 5f 47 45 54 43 41 4c 4c 42 t { LVM_GETCALLB
19a90 41 43 4b 4d 41 53 4b 20 3d 20 4c 56 4d 5f 46 49 ACKMASK = LVM_FI
19aa0 52 53 54 20 2b 20 31 30 20 7d 0d 0a 2f 2f 20 23 RST + 10 }..// #
19ab0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f define ListView_
19ac0 47 65 74 43 61 6c 6c 62 61 63 6b 4d 61 73 6b 28 GetCallbackMask(
19ad0 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d hwnd) (BOOL)SNDM
19ae0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 SG((hwnd), LVM_G
19af0 45 54 43 41 4c 4c 42 41 43 4b 4d 41 53 4b 2c 20 ETCALLBACKMASK,
19b00 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0, 0)....enum :
19b10 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 43 41 uint { LVM_SETCA
19b20 4c 4c 42 41 43 4b 4d 41 53 4b 20 3d 20 4c 56 4d LLBACKMASK = LVM
19b30 5f 46 49 52 53 54 20 2b 20 31 31 20 7d 0d 0a 2f _FIRST + 11 }../
19b40 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 / #define ListVi
19b50 65 77 5f 53 65 74 43 61 6c 6c 62 61 63 6b 4d 61 ew_SetCallbackMa
19b60 73 6b 28 68 77 6e 64 2c 20 6d 61 73 6b 29 20 28 sk(hwnd, mask) (
19b70 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e BOOL)SNDMSG((hwn
19b80 64 29 2c 20 4c 56 4d 5f 53 45 54 43 41 4c 4c 42 d), LVM_SETCALLB
19b90 41 43 4b 4d 41 53 4b 2c 20 28 57 50 41 52 41 4d ACKMASK, (WPARAM
19ba0 29 28 55 49 4e 54 29 28 6d 61 73 6b 29 2c 20 30 )(UINT)(mask), 0
19bb0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
19bc0 20 7b 20 4c 56 4e 49 5f 41 4c 4c 20 3d 20 30 78 { LVNI_ALL = 0x
19bd0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
19be0 69 6e 74 20 7b 20 4c 56 4e 49 5f 46 4f 43 55 53 int { LVNI_FOCUS
19bf0 45 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 ED = 0x0001 }..e
19c00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e num : uint { LVN
19c10 49 5f 53 45 4c 45 43 54 45 44 20 3d 20 30 78 30 I_SELECTED = 0x0
19c20 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 002 }..enum : ui
19c30 6e 74 20 7b 20 4c 56 4e 49 5f 43 55 54 20 3d 20 nt { LVNI_CUT =
19c40 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0004 }..enum :
19c50 20 75 69 6e 74 20 7b 20 4c 56 4e 49 5f 44 52 4f uint { LVNI_DRO
19c60 50 48 49 4c 49 54 45 44 20 3d 20 30 78 30 30 30 PHILITED = 0x000
19c70 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 8 }....enum : ui
19c80 6e 74 20 7b 20 4c 56 4e 49 5f 41 42 4f 56 45 20 nt { LVNI_ABOVE
19c90 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d = 0x0100 }..enum
19ca0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 49 5f 42 : uint { LVNI_B
19cb0 45 4c 4f 57 20 3d 20 30 78 30 32 30 30 20 7d 0d ELOW = 0x0200 }.
19cc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
19cd0 56 4e 49 5f 54 4f 4c 45 46 54 20 3d 20 30 78 30 VNI_TOLEFT = 0x0
19ce0 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 400 }..enum : ui
19cf0 6e 74 20 7b 20 4c 56 4e 49 5f 54 4f 52 49 47 48 nt { LVNI_TORIGH
19d00 54 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a T = 0x0800 }....
19d10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
19d20 4d 5f 47 45 54 4e 45 58 54 49 54 45 4d 20 3d 20 M_GETNEXTITEM =
19d30 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 32 20 7d LVM_FIRST + 12 }
19d40 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
19d50 74 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 tView_GetNextIte
19d60 6d 28 68 77 6e 64 2c 20 69 2c 20 66 6c 61 67 73 m(hwnd, i, flags
19d70 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 ) (int)SNDMSG((h
19d80 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 4e 45 58 wnd), LVM_GETNEX
19d90 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28 TITEM, (WPARAM)(
19da0 69 6e 74 29 28 69 29 2c 20 4d 41 4b 45 4c 50 41 int)(i), MAKELPA
19db0 52 41 4d 28 28 66 6c 61 67 73 29 2c 20 30 29 29 RAM((flags), 0))
19dc0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
19dd0 7b 20 4c 56 46 49 5f 50 41 52 41 4d 20 3d 20 30 { LVFI_PARAM = 0
19de0 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0001 }..enum :
19df0 75 69 6e 74 20 7b 20 4c 56 46 49 5f 53 54 52 49 uint { LVFI_STRI
19e00 4e 47 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 NG = 0x0002 }..e
19e10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 46 num : uint { LVF
19e20 49 5f 50 41 52 54 49 41 4c 20 3d 20 30 78 30 30 I_PARTIAL = 0x00
19e30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 08 }..enum : uin
19e40 74 20 7b 20 4c 56 46 49 5f 57 52 41 50 20 3d 20 t { LVFI_WRAP =
19e50 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0020 }..enum :
19e60 20 75 69 6e 74 20 7b 20 4c 56 46 49 5f 4e 45 41 uint { LVFI_NEA
19e70 52 45 53 54 58 59 20 3d 20 30 78 30 30 34 30 20 RESTXY = 0x0040
19e80 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 }....// #if (_WI
19e90 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
19ea0 29 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44 49 )..alias LVFINDI
19eb0 4e 46 4f 41 20 4c 56 5f 46 49 4e 44 49 4e 46 4f NFOA LV_FINDINFO
19ec0 41 3b 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44 A;..alias LVFIND
19ed0 49 4e 46 4f 57 20 4c 56 5f 46 49 4e 44 49 4e 46 INFOW LV_FINDINF
19ee0 4f 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f OW;..// #else../
19ef0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
19f00 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
19f10 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
19f20 61 6c 69 61 73 20 4c 56 46 49 4e 44 49 4e 46 4f alias LVFINDINFO
19f30 20 4c 56 5f 46 49 4e 44 49 4e 46 4f 3b 0d 0a 0d LV_FINDINFO;...
19f40 0a 73 74 72 75 63 74 20 74 61 67 4c 56 46 49 4e .struct tagLVFIN
19f50 44 49 4e 46 4f 41 20 7b 0d 0a 20 20 55 49 4e 54 DINFOA {.. UINT
19f60 20 66 6c 61 67 73 3b 0d 0a 20 20 4c 50 43 53 54 flags;.. LPCST
19f70 52 20 70 73 7a 3b 0d 0a 20 20 4c 50 41 52 41 4d R psz;.. LPARAM
19f80 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 50 4f 49 4e lParam;.. POIN
19f90 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 20 76 6b T pt;.. UINT vk
19fa0 44 69 72 65 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61 Direction;..}..a
19fb0 6c 69 61 73 20 74 61 67 4c 56 46 49 4e 44 49 4e lias tagLVFINDIN
19fc0 46 4f 41 20 4c 56 46 49 4e 44 49 4e 46 4f 41 3b FOA LVFINDINFOA;
19fd0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 46 49 4e ..alias tagLVFIN
19fe0 44 49 4e 46 4f 41 2a 20 4c 50 46 49 4e 44 49 4e DINFOA* LPFINDIN
19ff0 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 FOA;....struct t
1a000 61 67 4c 56 46 49 4e 44 49 4e 46 4f 57 20 7b 0d agLVFINDINFOW {.
1a010 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a . UINT flags;..
1a020 20 20 4c 50 43 57 53 54 52 20 70 73 7a 3b 0d 0a LPCWSTR psz;..
1a030 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b LPARAM lParam;
1a040 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20 .. POINT pt;..
1a050 20 55 49 4e 54 20 76 6b 44 69 72 65 63 74 69 6f UINT vkDirectio
1a060 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 n;..}..alias tag
1a070 4c 56 46 49 4e 44 49 4e 46 4f 57 20 4c 56 46 49 LVFINDINFOW LVFI
1a080 4e 44 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 NDINFOW;..alias
1a090 74 61 67 4c 56 46 49 4e 44 49 4e 46 4f 57 2a 20 tagLVFINDINFOW*
1a0a0 4c 50 46 49 4e 44 49 4e 46 4f 57 3b 0d 0a 0d 0a LPFINDINFOW;....
1a0b0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
1a0c0 45 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44 49 E..alias LVFINDI
1a0d0 4e 46 4f 57 20 4c 56 46 49 4e 44 49 4e 46 4f 3b NFOW LVFINDINFO;
1a0e0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
1a0f0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
1a100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1a110 4c 56 4d 5f 46 49 4e 44 49 54 45 4d 41 20 3d 20 LVM_FINDITEMA =
1a120 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 33 20 7d LVM_FIRST + 13 }
1a130 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1a140 4c 56 4d 5f 46 49 4e 44 49 54 45 4d 57 20 3d 20 LVM_FINDITEMW =
1a150 4c 56 4d 5f 46 49 52 53 54 20 2b 20 38 33 20 7d LVM_FIRST + 83 }
1a160 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
1a170 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 46 ODE..alias LVM_F
1a180 49 4e 44 49 54 45 4d 57 20 4c 56 4d 5f 46 49 4e INDITEMW LVM_FIN
1a190 44 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 DITEM;..// #else
1a1a0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
1a1b0 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 ndif....// #defi
1a1c0 6e 65 20 4c 69 73 74 56 69 65 77 5f 46 69 6e 64 ne ListView_Find
1a1d0 49 74 65 6d 28 68 77 6e 64 2c 20 69 53 74 61 72 Item(hwnd, iStar
1a1e0 74 2c 20 70 6c 76 66 69 29 20 28 69 6e 74 29 53 t, plvfi) (int)S
1a1f0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 NDMSG((hwnd), LV
1a200 4d 5f 46 49 4e 44 49 54 45 4d 2c 20 28 57 50 41 M_FINDITEM, (WPA
1a210 52 41 4d 29 28 69 6e 74 29 28 69 53 74 61 72 74 RAM)(int)(iStart
1a220 29 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73 ), (LPARAM)(cons
1a230 74 20 4c 56 5f 46 49 4e 44 49 4e 46 4f 20 2a 29 t LV_FINDINFO *)
1a240 28 70 6c 76 66 69 29 29 0d 0a 0d 0a 65 6e 75 6d (plvfi))....enum
1a250 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f 42 : uint { LVIR_B
1a260 4f 55 4e 44 53 20 3d 20 30 20 7d 0d 0a 65 6e 75 OUNDS = 0 }..enu
1a270 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f m : uint { LVIR_
1a280 49 43 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d ICON = 1 }..enum
1a290 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f 4c : uint { LVIR_L
1a2a0 41 42 45 4c 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d ABEL = 2 }..enum
1a2b0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f 53 : uint { LVIR_S
1a2c0 45 4c 45 43 54 42 4f 55 4e 44 53 20 3d 20 33 20 ELECTBOUNDS = 3
1a2d0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
1a2e0 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45 4d 52 45 { LVM_GETITEMRE
1a2f0 43 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b CT = LVM_FIRST +
1a300 20 31 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 14 }..// #defin
1a310 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74 e ListView_GetIt
1a320 65 6d 52 65 63 74 28 68 77 6e 64 2c 20 69 2c 20 emRect(hwnd, i,
1a330 70 72 63 2c 20 63 6f 64 65 29 20 28 42 4f 4f 4c prc, code) (BOOL
1a340 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
1a350 4c 56 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 2c LVM_GETITEMRECT,
1a360 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 (WPARAM)(int)(i
1a370 29 2c 20 28 28 70 72 63 29 20 3f 20 28 28 28 52 ), ((prc) ? (((R
1a380 45 43 54 20 2a 29 28 70 72 63 29 29 2d 3e 6c 65 ECT *)(prc))->le
1a390 66 74 20 3d 20 28 63 6f 64 65 29 2c 28 4c 50 41 ft = (code),(LPA
1a3a0 52 41 4d 29 28 52 45 43 54 20 2a 29 28 70 72 63 RAM)(RECT *)(prc
1a3b0 29 29 20 3a 20 28 4c 50 41 52 41 4d 29 28 52 45 )) : (LPARAM)(RE
1a3c0 43 54 20 2a 29 4e 55 4c 4c 29 29 0d 0a 0d 0a 65 CT *)NULL))....e
1a3d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1a3e0 5f 53 45 54 49 54 45 4d 50 4f 53 49 54 49 4f 4e _SETITEMPOSITION
1a3f0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 = LVM_FIRST + 1
1a400 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5 }..// #define
1a410 4c 69 73 74 56 69 65 77 5f 53 65 74 49 74 65 6d ListView_SetItem
1a420 50 6f 73 69 74 69 6f 6e 28 68 77 6e 64 4c 56 2c Position(hwndLV,
1a430 20 69 2c 20 78 2c 20 79 29 20 28 42 4f 4f 4c 29 i, x, y) (BOOL)
1a440 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c SNDMSG((hwndLV),
1a450 20 4c 56 4d 5f 53 45 54 49 54 45 4d 50 4f 53 49 LVM_SETITEMPOSI
1a460 54 49 4f 4e 2c 20 28 57 50 41 52 41 4d 29 28 69 TION, (WPARAM)(i
1a470 6e 74 29 28 69 29 2c 20 4d 41 4b 45 4c 50 41 52 nt)(i), MAKELPAR
1a480 41 4d 28 28 78 29 2c 20 28 79 29 29 29 0d 0a 0d AM((x), (y)))...
1a490 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1a4a0 56 4d 5f 47 45 54 49 54 45 4d 50 4f 53 49 54 49 VM_GETITEMPOSITI
1a4b0 4f 4e 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b ON = LVM_FIRST +
1a4c0 20 31 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 16 }..// #defin
1a4d0 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74 e ListView_GetIt
1a4e0 65 6d 50 6f 73 69 74 69 6f 6e 28 68 77 6e 64 4c emPosition(hwndL
1a4f0 56 2c 20 69 2c 20 70 70 74 29 20 28 42 4f 4f 4c V, i, ppt) (BOOL
1a500 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 )SNDMSG((hwndLV)
1a510 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d 50 4f 53 , LVM_GETITEMPOS
1a520 49 54 49 4f 4e 2c 20 28 57 50 41 52 41 4d 29 28 ITION, (WPARAM)(
1a530 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d int)(i), (LPARAM
1a540 29 28 50 4f 49 4e 54 20 2a 29 28 70 70 74 29 29 )(POINT *)(ppt))
1a550 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
1a560 7b 20 4c 56 4d 5f 47 45 54 53 54 52 49 4e 47 57 { LVM_GETSTRINGW
1a570 49 44 54 48 41 20 3d 20 4c 56 4d 5f 46 49 52 53 IDTHA = LVM_FIRS
1a580 54 20 2b 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a T + 17 }..enum :
1a590 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 53 uint { LVM_GETS
1a5a0 54 52 49 4e 47 57 49 44 54 48 57 20 3d 20 4c 56 TRINGWIDTHW = LV
1a5b0 4d 5f 46 49 52 53 54 20 2b 20 38 37 20 7d 0d 0a M_FIRST + 87 }..
1a5c0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
1a5d0 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54 E..alias LVM_GET
1a5e0 53 54 52 49 4e 47 57 49 44 54 48 57 20 4c 56 4d STRINGWIDTHW LVM
1a5f0 5f 47 45 54 53 54 52 49 4e 47 57 49 44 54 48 3b _GETSTRINGWIDTH;
1a600 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
1a610 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
1a620 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1a630 74 56 69 65 77 5f 47 65 74 53 74 72 69 6e 67 57 tView_GetStringW
1a640 69 64 74 68 28 68 77 6e 64 4c 56 2c 20 70 73 7a idth(hwndLV, psz
1a650 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 ) (int)SNDMSG((h
1a660 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 53 wndLV), LVM_GETS
1a670 54 52 49 4e 47 57 49 44 54 48 2c 20 30 2c 20 28 TRINGWIDTH, 0, (
1a680 4c 50 41 52 41 4d 29 28 4c 50 43 54 53 54 52 29 LPARAM)(LPCTSTR)
1a690 28 70 73 7a 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a (psz))....enum :
1a6a0 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 4e 4f 57 uint { LVHT_NOW
1a6b0 48 45 52 45 20 3d 20 30 78 30 30 30 31 20 7d 0d HERE = 0x0001 }.
1a6c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1a6d0 56 48 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e 20 3d VHT_ONITEMICON =
1a6e0 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 0x0002 }..enum
1a6f0 3a 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 4f 4e : uint { LVHT_ON
1a700 49 54 45 4d 4c 41 42 45 4c 20 3d 20 30 78 30 30 ITEMLABEL = 0x00
1a710 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 04 }..enum : uin
1a720 74 20 7b 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 53 t { LVHT_ONITEMS
1a730 54 41 54 45 49 43 4f 4e 20 3d 20 30 78 30 30 30 TATEICON = 0x000
1a740 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 8 }..enum : uint
1a750 20 7b 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 20 3d { LVHT_ONITEM =
1a760 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e LVHT_ONITEMICON
1a770 20 7c 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 4c 41 | LVHT_ONITEMLA
1a780 42 45 4c 20 7c 20 4c 56 48 54 5f 4f 4e 49 54 45 BEL | LVHT_ONITE
1a790 4d 53 54 41 54 45 49 43 4f 4e 20 7d 0d 0a 0d 0a MSTATEICON }....
1a7a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1a7b0 48 54 5f 41 42 4f 56 45 20 3d 20 30 78 30 30 30 HT_ABOVE = 0x000
1a7c0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 8 }..enum : uint
1a7d0 20 7b 20 4c 56 48 54 5f 42 45 4c 4f 57 20 3d 20 { LVHT_BELOW =
1a7e0 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0010 }..enum :
1a7f0 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 54 4f 52 uint { LVHT_TOR
1a800 49 47 48 54 20 3d 20 30 78 30 30 32 30 20 7d 0d IGHT = 0x0020 }.
1a810 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1a820 56 48 54 5f 54 4f 4c 45 46 54 20 3d 20 30 78 30 VHT_TOLEFT = 0x0
1a830 30 34 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 040 }....// #if
1a840 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
1a850 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 56 48 0300)..alias LVH
1a860 49 54 54 45 53 54 49 4e 46 4f 20 4c 56 5f 48 49 ITTESTINFO LV_HI
1a870 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 TTESTINFO;..// #
1a880 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
1a890 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
1a8a0 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 f....// #define
1a8b0 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 5f 56 31 LVHITTESTINFO_V1
1a8c0 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 _SIZE CCSIZEOF_S
1a8d0 54 52 55 43 54 28 4c 56 48 49 54 54 45 53 54 49 TRUCT(LVHITTESTI
1a8e0 4e 46 4f 2c 20 69 49 74 65 6d 29 0d 0a 0d 0a 73 NFO, iItem)....s
1a8f0 74 72 75 63 74 20 74 61 67 4c 56 48 49 54 54 45 truct tagLVHITTE
1a900 53 54 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49 4e STINFO {.. POIN
1a910 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 20 66 6c T pt;.. UINT fl
1a920 61 67 73 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 ags;.. int iIte
1a930 6d 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e m;..// #if (_WIN
1a940 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 32_IE >= 0x0300)
1a950 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d .. int iSubItem
1a960 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d ;..// #endif..}.
1a970 0a 61 6c 69 61 73 20 74 61 67 4c 56 48 49 54 54 .alias tagLVHITT
1a980 45 53 54 49 4e 46 4f 20 4c 56 48 49 54 54 45 53 ESTINFO LVHITTES
1a990 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 TINFO;..alias ta
1a9a0 67 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 2a 20 gLVHITTESTINFO*
1a9b0 4c 50 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 3b LPLVHITTESTINFO;
1a9c0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
1a9d0 7b 20 4c 56 4d 5f 48 49 54 54 45 53 54 20 3d 20 { LVM_HITTEST =
1a9e0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 38 20 7d LVM_FIRST + 18 }
1a9f0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1aa00 74 56 69 65 77 5f 48 69 74 54 65 73 74 28 68 77 tView_HitTest(hw
1aa10 6e 64 4c 56 2c 20 70 69 6e 66 6f 29 20 28 69 6e ndLV, pinfo) (in
1aa20 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 t)SNDMSG((hwndLV
1aa30 29 2c 20 4c 56 4d 5f 48 49 54 54 45 53 54 2c 20 ), LVM_HITTEST,
1aa40 30 2c 20 28 4c 50 41 52 41 4d 29 28 4c 56 5f 48 0, (LPARAM)(LV_H
1aa50 49 54 54 45 53 54 49 4e 46 4f 20 2a 29 28 70 69 ITTESTINFO *)(pi
1aa60 6e 66 6f 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 nfo))....enum :
1aa70 75 69 6e 74 20 7b 20 4c 56 4d 5f 45 4e 53 55 52 uint { LVM_ENSUR
1aa80 45 56 49 53 49 42 4c 45 20 3d 20 4c 56 4d 5f 46 EVISIBLE = LVM_F
1aa90 49 52 53 54 20 2b 20 31 39 20 7d 0d 0a 2f 2f 20 IRST + 19 }..//
1aaa0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
1aab0 5f 45 6e 73 75 72 65 56 69 73 69 62 6c 65 28 68 _EnsureVisible(h
1aac0 77 6e 64 4c 56 2c 20 69 2c 20 66 50 61 72 74 69 wndLV, i, fParti
1aad0 61 6c 4f 4b 29 20 28 42 4f 4f 4c 29 53 4e 44 4d alOK) (BOOL)SNDM
1aae0 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d SG((hwndLV), LVM
1aaf0 5f 45 4e 53 55 52 45 56 49 53 49 42 4c 45 2c 20 _ENSUREVISIBLE,
1ab00 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 29 (WPARAM)(int)(i)
1ab10 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28 28 66 50 , MAKELPARAM((fP
1ab20 61 72 74 69 61 6c 4f 4b 29 2c 20 30 29 29 0d 0a artialOK), 0))..
1ab30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1ab40 4c 56 4d 5f 53 43 52 4f 4c 4c 20 3d 20 4c 56 4d LVM_SCROLL = LVM
1ab50 5f 46 49 52 53 54 20 2b 20 32 30 20 7d 0d 0a 2f _FIRST + 20 }../
1ab60 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 / #define ListVi
1ab70 65 77 5f 53 63 72 6f 6c 6c 28 68 77 6e 64 4c 56 ew_Scroll(hwndLV
1ab80 2c 20 64 78 2c 20 64 79 29 20 28 42 4f 4f 4c 29 , dx, dy) (BOOL)
1ab90 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c SNDMSG((hwndLV),
1aba0 20 4c 56 4d 5f 53 43 52 4f 4c 4c 2c 20 28 57 50 LVM_SCROLL, (WP
1abb0 41 52 41 4d 29 28 69 6e 74 29 28 64 78 29 2c 20 ARAM)(int)(dx),
1abc0 28 4c 50 41 52 41 4d 29 28 69 6e 74 29 28 64 79 (LPARAM)(int)(dy
1abd0 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ))....enum : uin
1abe0 74 20 7b 20 4c 56 4d 5f 52 45 44 52 41 57 49 54 t { LVM_REDRAWIT
1abf0 45 4d 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 EMS = LVM_FIRST
1ac00 2b 20 32 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 21 }..// #defi
1ac10 6e 65 20 4c 69 73 74 56 69 65 77 5f 52 65 64 72 ne ListView_Redr
1ac20 61 77 49 74 65 6d 73 28 68 77 6e 64 4c 56 2c 20 awItems(hwndLV,
1ac30 69 46 69 72 73 74 2c 20 69 4c 61 73 74 29 20 28 iFirst, iLast) (
1ac40 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e BOOL)SNDMSG((hwn
1ac50 64 4c 56 29 2c 20 4c 56 4d 5f 52 45 44 52 41 57 dLV), LVM_REDRAW
1ac60 49 54 45 4d 53 2c 20 28 57 50 41 52 41 4d 29 28 ITEMS, (WPARAM)(
1ac70 69 6e 74 29 28 69 46 69 72 73 74 29 2c 20 28 4c int)(iFirst), (L
1ac80 50 41 52 41 4d 29 28 69 6e 74 29 28 69 4c 61 73 PARAM)(int)(iLas
1ac90 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 t))....enum : ui
1aca0 6e 74 20 7b 20 4c 56 41 5f 44 45 46 41 55 4c 54 nt { LVA_DEFAULT
1acb0 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 = 0x0000 }..enu
1acc0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 41 5f 41 m : uint { LVA_A
1acd0 4c 49 47 4e 4c 45 46 54 20 3d 20 30 78 30 30 30 LIGNLEFT = 0x000
1ace0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
1acf0 20 7b 20 4c 56 41 5f 41 4c 49 47 4e 54 4f 50 20 { LVA_ALIGNTOP
1ad00 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d = 0x0002 }..enum
1ad10 20 3a 20 75 69 6e 74 20 7b 20 4c 56 41 5f 53 4e : uint { LVA_SN
1ad20 41 50 54 4f 47 52 49 44 20 3d 20 30 78 30 30 30 APTOGRID = 0x000
1ad30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 5 }....enum : ui
1ad40 6e 74 20 7b 20 4c 56 4d 5f 41 52 52 41 4e 47 45 nt { LVM_ARRANGE
1ad50 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32 = LVM_FIRST + 2
1ad60 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 2 }..// #define
1ad70 4c 69 73 74 56 69 65 77 5f 41 72 72 61 6e 67 65 ListView_Arrange
1ad80 28 68 77 6e 64 4c 56 2c 20 63 6f 64 65 29 20 28 (hwndLV, code) (
1ad90 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e BOOL)SNDMSG((hwn
1ada0 64 4c 56 29 2c 20 4c 56 4d 5f 41 52 52 41 4e 47 dLV), LVM_ARRANG
1adb0 45 2c 20 28 57 50 41 52 41 4d 29 28 55 49 4e 54 E, (WPARAM)(UINT
1adc0 29 28 63 6f 64 65 29 2c 20 30 4c 29 0d 0a 0d 0a )(code), 0L)....
1add0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1ade0 4d 5f 45 44 49 54 4c 41 42 45 4c 41 20 3d 20 4c M_EDITLABELA = L
1adf0 56 4d 5f 46 49 52 53 54 20 2b 20 32 33 20 7d 0d VM_FIRST + 23 }.
1ae00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1ae10 56 4d 5f 45 44 49 54 4c 41 42 45 4c 57 20 3d 20 VM_EDITLABELW =
1ae20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 31 38 20 LVM_FIRST + 118
1ae30 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 }..// #ifdef UNI
1ae40 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f CODE..alias LVM_
1ae50 45 44 49 54 4c 41 42 45 4c 57 20 4c 56 4d 5f 45 EDITLABELW LVM_E
1ae60 44 49 54 4c 41 42 45 4c 3b 0d 0a 2f 2f 20 23 65 DITLABEL;..// #e
1ae70 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
1ae80 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 #endif....// #d
1ae90 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 45 efine ListView_E
1aea0 64 69 74 4c 61 62 65 6c 28 68 77 6e 64 4c 56 2c ditLabel(hwndLV,
1aeb0 20 69 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 i) (HWND)SNDMSG
1aec0 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 45 ((hwndLV), LVM_E
1aed0 44 49 54 4c 41 42 45 4c 2c 20 28 57 50 41 52 41 DITLABEL, (WPARA
1aee0 4d 29 28 69 6e 74 29 28 69 29 2c 20 30 4c 29 0d M)(int)(i), 0L).
1aef0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1af00 20 4c 56 4d 5f 47 45 54 45 44 49 54 43 4f 4e 54 LVM_GETEDITCONT
1af10 52 4f 4c 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 ROL = LVM_FIRST
1af20 2b 20 32 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 24 }..// #defi
1af30 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 45 ne ListView_GetE
1af40 64 69 74 43 6f 6e 74 72 6f 6c 28 68 77 6e 64 4c ditControl(hwndL
1af50 56 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 V) (HWND)SNDMSG(
1af60 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 (hwndLV), LVM_GE
1af70 54 45 44 49 54 43 4f 4e 54 52 4f 4c 2c 20 30 2c TEDITCONTROL, 0,
1af80 20 30 4c 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 0L)....// #if (
1af90 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
1afa0 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 300)..alias LVCO
1afb0 4c 55 4d 4e 41 20 4c 56 5f 43 4f 4c 55 4d 4e 41 LUMNA LV_COLUMNA
1afc0 3b 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d ;..alias LVCOLUM
1afd0 4e 57 20 4c 56 5f 43 4f 4c 55 4d 4e 57 3b 0d 0a NW LV_COLUMNW;..
1afe0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
1aff0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
1b000 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
1b010 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 #endif....alias
1b020 20 4c 56 43 4f 4c 55 4d 4e 20 4c 56 5f 43 4f 4c LVCOLUMN LV_COL
1b030 55 4d 4e 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 UMN;....// #defi
1b040 6e 65 20 4c 56 43 4f 4c 55 4d 4e 41 5f 56 31 5f ne LVCOLUMNA_V1_
1b050 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 SIZE CCSIZEOF_ST
1b060 52 55 43 54 28 4c 56 43 4f 4c 55 4d 4e 41 2c 20 RUCT(LVCOLUMNA,
1b070 69 53 75 62 49 74 65 6d 29 0d 0a 2f 2f 20 23 64 iSubItem)..// #d
1b080 65 66 69 6e 65 20 4c 56 43 4f 4c 55 4d 4e 57 5f efine LVCOLUMNW_
1b090 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 V1_SIZE CCSIZEOF
1b0a0 5f 53 54 52 55 43 54 28 4c 56 43 4f 4c 55 4d 4e _STRUCT(LVCOLUMN
1b0b0 57 2c 20 69 53 75 62 49 74 65 6d 29 0d 0a 0d 0a W, iSubItem)....
1b0c0 73 74 72 75 63 74 20 74 61 67 4c 56 43 4f 4c 55 struct tagLVCOLU
1b0d0 4d 4e 41 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 MNA {.. UINT ma
1b0e0 73 6b 3b 0d 0a 20 20 69 6e 74 20 66 6d 74 3b 0d sk;.. int fmt;.
1b0f0 0a 20 20 69 6e 74 20 63 78 3b 0d 0a 20 20 4c 50 . int cx;.. LP
1b100 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 STR pszText;..
1b110 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d int cchTextMax;.
1b120 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d 3b . int iSubItem;
1b130 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
1b140 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
1b150 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 int iImage;..
1b160 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d 0a 2f 2f int iOrder;..//
1b170 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 #endif..}..alia
1b180 73 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 41 20 4c s tagLVCOLUMNA L
1b190 56 43 4f 4c 55 4d 4e 41 3b 0d 0a 61 6c 69 61 73 VCOLUMNA;..alias
1b1a0 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 41 2a 20 4c tagLVCOLUMNA* L
1b1b0 50 4c 56 43 4f 4c 55 4d 4e 41 3b 0d 0a 0d 0a 73 PLVCOLUMNA;....s
1b1c0 74 72 75 63 74 20 74 61 67 4c 56 43 4f 4c 55 4d truct tagLVCOLUM
1b1d0 4e 57 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 73 NW {.. UINT mas
1b1e0 6b 3b 0d 0a 20 20 69 6e 74 20 66 6d 74 3b 0d 0a k;.. int fmt;..
1b1f0 20 20 69 6e 74 20 63 78 3b 0d 0a 20 20 4c 50 57 int cx;.. LPW
1b200 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 STR pszText;..
1b210 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d int cchTextMax;.
1b220 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d 3b . int iSubItem;
1b230 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
1b240 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
1b250 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 int iImage;..
1b260 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d 0a 2f 2f int iOrder;..//
1b270 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 #endif..}..alia
1b280 73 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 57 20 4c s tagLVCOLUMNW L
1b290 56 43 4f 4c 55 4d 4e 57 3b 0d 0a 61 6c 69 61 73 VCOLUMNW;..alias
1b2a0 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 57 2a 20 4c tagLVCOLUMNW* L
1b2b0 50 4c 56 43 4f 4c 55 4d 4e 57 3b 0d 0a 0d 0a 2f PLVCOLUMNW;..../
1b2c0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 / #ifdef UNICODE
1b2d0 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d 4e ..alias LVCOLUMN
1b2e0 57 20 4c 56 43 4f 4c 55 4d 4e 3b 0d 0a 61 6c 69 W LVCOLUMN;..ali
1b2f0 61 73 20 4c 50 4c 56 43 4f 4c 55 4d 4e 57 20 4c as LPLVCOLUMNW L
1b300 50 4c 56 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f 20 23 PLVCOLUMN;..// #
1b310 64 65 66 69 6e 65 20 4c 56 43 4f 4c 55 4d 4e 5f define LVCOLUMN_
1b320 56 31 5f 53 49 5a 45 20 4c 56 43 4f 4c 55 4d 4e V1_SIZE LVCOLUMN
1b330 57 5f 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 W_V1_SIZE..// #e
1b340 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
1b350 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
1b360 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 // #endif....enu
1b370 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 5f m : uint { LVCF_
1b380 46 4d 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a FMT = 0x0001 }..
1b390 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1b3a0 43 46 5f 57 49 44 54 48 20 3d 20 30 78 30 30 30 CF_WIDTH = 0x000
1b3b0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 2 }..enum : uint
1b3c0 20 7b 20 4c 56 43 46 5f 54 45 58 54 20 3d 20 30 { LVCF_TEXT = 0
1b3d0 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0004 }..enum :
1b3e0 75 69 6e 74 20 7b 20 4c 56 43 46 5f 53 55 42 49 uint { LVCF_SUBI
1b3f0 54 45 4d 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a TEM = 0x0008 }..
1b400 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
1b410 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e E >= 0x0300)..en
1b420 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 um : uint { LVCF
1b430 5f 49 4d 41 47 45 20 3d 20 30 78 30 30 31 30 20 _IMAGE = 0x0010
1b440 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
1b450 20 4c 56 43 46 5f 4f 52 44 45 52 20 3d 20 30 78 LVCF_ORDER = 0x
1b460 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 0020 }..// #endi
1b470 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 f....enum : uint
1b480 20 7b 20 4c 56 43 46 4d 54 5f 4c 45 46 54 20 3d { LVCFMT_LEFT =
1b490 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 0x0000 }..enum
1b4a0 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 4d 54 5f : uint { LVCFMT_
1b4b0 52 49 47 48 54 20 3d 20 30 78 30 30 30 31 20 7d RIGHT = 0x0001 }
1b4c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1b4d0 4c 56 43 46 4d 54 5f 43 45 4e 54 45 52 20 3d 20 LVCFMT_CENTER =
1b4e0 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0002 }..enum :
1b4f0 20 75 69 6e 74 20 7b 20 4c 56 43 46 4d 54 5f 4a uint { LVCFMT_J
1b500 55 53 54 49 46 59 4d 41 53 4b 20 3d 20 30 78 30 USTIFYMASK = 0x0
1b510 30 30 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 003 }....// #if
1b520 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
1b530 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0300)..enum : ui
1b540 6e 74 20 7b 20 4c 56 43 46 4d 54 5f 49 4d 41 47 nt { LVCFMT_IMAG
1b550 45 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e E = 0x0800 }..en
1b560 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 um : uint { LVCF
1b570 4d 54 5f 42 49 54 4d 41 50 5f 4f 4e 5f 52 49 47 MT_BITMAP_ON_RIG
1b580 48 54 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 HT = 0x1000 }..e
1b590 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 num : uint { LVC
1b5a0 46 4d 54 5f 43 4f 4c 5f 48 41 53 5f 49 4d 41 47 FMT_COL_HAS_IMAG
1b5b0 45 53 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f ES = 0x8000 }../
1b5c0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d / #endif....enum
1b5d0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 : uint { LVM_GE
1b5e0 54 43 4f 4c 55 4d 4e 41 20 3d 20 4c 56 4d 5f 46 TCOLUMNA = LVM_F
1b5f0 49 52 53 54 20 2b 20 32 35 20 7d 0d 0a 65 6e 75 IRST + 25 }..enu
1b600 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 m : uint { LVM_G
1b610 45 54 43 4f 4c 55 4d 4e 57 20 3d 20 4c 56 4d 5f ETCOLUMNW = LVM_
1b620 46 49 52 53 54 20 2b 20 39 35 20 7d 0d 0a 2f 2f FIRST + 95 }..//
1b630 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
1b640 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54 43 4f .alias LVM_GETCO
1b650 4c 55 4d 4e 57 20 4c 56 4d 5f 47 45 54 43 4f 4c LUMNW LVM_GETCOL
1b660 55 4d 4e 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a UMN;..// #else..
1b670 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
1b680 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 if....// #define
1b690 20 4c 69 73 74 56 69 65 77 5f 47 65 74 43 6f 6c ListView_GetCol
1b6a0 75 6d 6e 28 68 77 6e 64 2c 20 69 43 6f 6c 2c 20 umn(hwnd, iCol,
1b6b0 70 63 6f 6c 29 20 28 42 4f 4f 4c 29 53 4e 44 4d pcol) (BOOL)SNDM
1b6c0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 SG((hwnd), LVM_G
1b6d0 45 54 43 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41 ETCOLUMN, (WPARA
1b6e0 4d 29 28 69 6e 74 29 28 69 43 6f 6c 29 2c 20 28 M)(int)(iCol), (
1b6f0 4c 50 41 52 41 4d 29 28 4c 56 5f 43 4f 4c 55 4d LPARAM)(LV_COLUM
1b700 4e 20 2a 29 28 70 63 6f 6c 29 29 0d 0a 0d 0a 65 N *)(pcol))....e
1b710 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1b720 5f 53 45 54 43 4f 4c 55 4d 4e 41 20 3d 20 4c 56 _SETCOLUMNA = LV
1b730 4d 5f 46 49 52 53 54 20 2b 20 32 36 20 7d 0d 0a M_FIRST + 26 }..
1b740 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1b750 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 20 3d 20 4c M_SETCOLUMNW = L
1b760 56 4d 5f 46 49 52 53 54 20 2b 20 39 36 20 7d 0d VM_FIRST + 96 }.
1b770 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
1b780 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 53 45 DE..alias LVM_SE
1b790 54 43 4f 4c 55 4d 4e 57 20 4c 56 4d 5f 53 45 54 TCOLUMNW LVM_SET
1b7a0 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f 20 23 65 6c 73 COLUMN;..// #els
1b7b0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
1b7c0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 endif....// #def
1b7d0 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 ine ListView_Set
1b7e0 43 6f 6c 75 6d 6e 28 68 77 6e 64 2c 20 69 43 6f Column(hwnd, iCo
1b7f0 6c 2c 20 70 63 6f 6c 29 20 28 42 4f 4f 4c 29 53 l, pcol) (BOOL)S
1b800 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 NDMSG((hwnd), LV
1b810 4d 5f 53 45 54 43 4f 4c 55 4d 4e 2c 20 28 57 50 M_SETCOLUMN, (WP
1b820 41 52 41 4d 29 28 69 6e 74 29 28 69 43 6f 6c 29 ARAM)(int)(iCol)
1b830 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73 74 , (LPARAM)(const
1b840 20 4c 56 5f 43 4f 4c 55 4d 4e 20 2a 29 28 70 63 LV_COLUMN *)(pc
1b850 6f 6c 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ol))....enum : u
1b860 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 52 54 int { LVM_INSERT
1b870 43 4f 4c 55 4d 4e 41 20 3d 20 4c 56 4d 5f 46 49 COLUMNA = LVM_FI
1b880 52 53 54 20 2b 20 32 37 20 7d 0d 0a 65 6e 75 6d RST + 27 }..enum
1b890 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e : uint { LVM_IN
1b8a0 53 45 52 54 43 4f 4c 55 4d 4e 57 20 3d 20 4c 56 SERTCOLUMNW = LV
1b8b0 4d 5f 46 49 52 53 54 20 2b 20 39 37 20 7d 0d 0a M_FIRST + 97 }..
1b8c0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
1b8d0 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 49 4e 53 E..alias LVM_INS
1b8e0 45 52 54 43 4f 4c 55 4d 4e 57 20 4c 56 4d 5f 49 ERTCOLUMNW LVM_I
1b8f0 4e 53 45 52 54 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f NSERTCOLUMN;..//
1b900 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
1b910 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
1b920 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 #define ListVie
1b930 77 5f 49 6e 73 65 72 74 43 6f 6c 75 6d 6e 28 68 w_InsertColumn(h
1b940 77 6e 64 2c 20 69 43 6f 6c 2c 20 70 63 6f 6c 29 wnd, iCol, pcol)
1b950 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 (int)SNDMSG((hw
1b960 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45 52 54 43 nd), LVM_INSERTC
1b970 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41 4d 29 28 OLUMN, (WPARAM)(
1b980 69 6e 74 29 28 69 43 6f 6c 29 2c 20 28 4c 50 41 int)(iCol), (LPA
1b990 52 41 4d 29 28 63 6f 6e 73 74 20 4c 56 5f 43 4f RAM)(const LV_CO
1b9a0 4c 55 4d 4e 20 2a 29 28 70 63 6f 6c 29 29 0d 0a LUMN *)(pcol))..
1b9b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1b9c0 4c 56 4d 5f 44 45 4c 45 54 45 43 4f 4c 55 4d 4e LVM_DELETECOLUMN
1b9d0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32 = LVM_FIRST + 2
1b9e0 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 8 }..// #define
1b9f0 4c 69 73 74 56 69 65 77 5f 44 65 6c 65 74 65 43 ListView_DeleteC
1ba00 6f 6c 75 6d 6e 28 68 77 6e 64 2c 20 69 43 6f 6c olumn(hwnd, iCol
1ba10 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 ) (BOOL)SNDMSG((
1ba20 68 77 6e 64 29 2c 20 4c 56 4d 5f 44 45 4c 45 54 hwnd), LVM_DELET
1ba30 45 43 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41 4d ECOLUMN, (WPARAM
1ba40 29 28 69 6e 74 29 28 69 43 6f 6c 29 2c 20 30 29 )(int)(iCol), 0)
1ba50 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
1ba60 7b 20 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 57 { LVM_GETCOLUMNW
1ba70 49 44 54 48 20 3d 20 4c 56 4d 5f 46 49 52 53 54 IDTH = LVM_FIRST
1ba80 20 2b 20 32 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 29 }..// #def
1ba90 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 ine ListView_Get
1baa0 43 6f 6c 75 6d 6e 57 69 64 74 68 28 68 77 6e 64 ColumnWidth(hwnd
1bab0 2c 20 69 43 6f 6c 29 20 28 69 6e 74 29 53 4e 44 , iCol) (int)SND
1bac0 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f MSG((hwnd), LVM_
1bad0 47 45 54 43 4f 4c 55 4d 4e 57 49 44 54 48 2c 20 GETCOLUMNWIDTH,
1bae0 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 43 (WPARAM)(int)(iC
1baf0 6f 6c 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 ol), 0)....enum
1bb00 7b 20 4c 56 53 43 57 5f 41 55 54 4f 53 49 5a 45 { LVSCW_AUTOSIZE
1bb10 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 = -1 }..enum {
1bb20 4c 56 53 43 57 5f 41 55 54 4f 53 49 5a 45 5f 55 LVSCW_AUTOSIZE_U
1bb30 53 45 48 45 41 44 45 52 20 3d 20 2d 32 20 7d 0d SEHEADER = -2 }.
1bb40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1bb50 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 49 44 54 VM_SETCOLUMNWIDT
1bb60 48 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 H = LVM_FIRST +
1bb70 33 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 30 }....// #defi
1bb80 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 43 ne ListView_SetC
1bb90 6f 6c 75 6d 6e 57 69 64 74 68 28 68 77 6e 64 2c olumnWidth(hwnd,
1bba0 20 69 43 6f 6c 2c 20 63 78 29 20 28 42 4f 4f 4c iCol, cx) (BOOL
1bbb0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
1bbc0 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 49 44 LVM_SETCOLUMNWID
1bbd0 54 48 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 TH, (WPARAM)(int
1bbe0 29 28 69 43 6f 6c 29 2c 20 4d 41 4b 45 4c 50 41 )(iCol), MAKELPA
1bbf0 52 41 4d 28 28 63 78 29 2c 20 30 29 29 0d 0a 0d RAM((cx), 0))...
1bc00 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
1bc10 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 IE >= 0x0300)..e
1bc20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1bc30 5f 47 45 54 48 45 41 44 45 52 20 3d 20 4c 56 4d _GETHEADER = LVM
1bc40 5f 46 49 52 53 54 20 2b 20 33 31 20 7d 0d 0a 2f _FIRST + 31 }../
1bc50 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 / #define ListVi
1bc60 65 77 5f 47 65 74 48 65 61 64 65 72 28 68 77 6e ew_GetHeader(hwn
1bc70 64 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 d) (HWND)SNDMSG(
1bc80 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 48 (hwnd), LVM_GETH
1bc90 45 41 44 45 52 2c 20 30 2c 20 30 4c 29 0d 0a 2f EADER, 0, 0L)../
1bca0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d / #endif....enum
1bcb0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 43 52 : uint { LVM_CR
1bcc0 45 41 54 45 44 52 41 47 49 4d 41 47 45 20 3d 20 EATEDRAGIMAGE =
1bcd0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 33 20 7d LVM_FIRST + 33 }
1bce0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1bcf0 74 56 69 65 77 5f 43 72 65 61 74 65 44 72 61 67 tView_CreateDrag
1bd00 49 6d 61 67 65 28 68 77 6e 64 2c 20 69 2c 20 6c Image(hwnd, i, l
1bd10 70 70 74 55 70 4c 65 66 74 29 20 28 48 49 4d 41 pptUpLeft) (HIMA
1bd20 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 68 GELIST)SNDMSG((h
1bd30 77 6e 64 29 2c 20 4c 56 4d 5f 43 52 45 41 54 45 wnd), LVM_CREATE
1bd40 44 52 41 47 49 4d 41 47 45 2c 20 28 57 50 41 52 DRAGIMAGE, (WPAR
1bd50 41 4d 29 28 69 6e 74 29 28 69 29 2c 20 28 4c 50 AM)(int)(i), (LP
1bd60 41 52 41 4d 29 28 4c 50 50 4f 49 4e 54 29 28 6c ARAM)(LPPOINT)(l
1bd70 70 70 74 55 70 4c 65 66 74 29 29 0d 0a 0d 0a 65 pptUpLeft))....e
1bd80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1bd90 5f 47 45 54 56 49 45 57 52 45 43 54 20 3d 20 4c _GETVIEWRECT = L
1bda0 56 4d 5f 46 49 52 53 54 20 2b 20 33 34 20 7d 0d VM_FIRST + 34 }.
1bdb0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 .// #define List
1bdc0 56 69 65 77 5f 47 65 74 56 69 65 77 52 65 63 74 View_GetViewRect
1bdd0 28 68 77 6e 64 2c 20 70 72 63 29 20 28 42 4f 4f (hwnd, prc) (BOO
1bde0 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c L)SNDMSG((hwnd),
1bdf0 20 4c 56 4d 5f 47 45 54 56 49 45 57 52 45 43 54 LVM_GETVIEWRECT
1be00 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 52 45 , 0, (LPARAM)(RE
1be10 43 54 20 2a 29 28 70 72 63 29 29 0d 0a 0d 0a 65 CT *)(prc))....e
1be20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1be30 5f 47 45 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20 _GETTEXTCOLOR =
1be40 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 35 20 7d LVM_FIRST + 35 }
1be50 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1be60 74 56 69 65 77 5f 47 65 74 54 65 78 74 43 6f 6c tView_GetTextCol
1be70 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52 or(hwnd) (COLORR
1be80 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 EF)SNDMSG((hwnd)
1be90 2c 20 4c 56 4d 5f 47 45 54 54 45 58 54 43 4f 4c , LVM_GETTEXTCOL
1bea0 4f 52 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e OR, 0, 0L)....en
1beb0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f um : uint { LVM_
1bec0 53 45 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20 4c SETTEXTCOLOR = L
1bed0 56 4d 5f 46 49 52 53 54 20 2b 20 33 36 20 7d 0d VM_FIRST + 36 }.
1bee0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 .// #define List
1bef0 56 69 65 77 5f 53 65 74 54 65 78 74 43 6f 6c 6f View_SetTextColo
1bf00 72 28 68 77 6e 64 2c 20 63 6c 72 54 65 78 74 29 r(hwnd, clrText)
1bf10 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 (BOOL)SNDMSG((h
1bf20 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 54 45 58 wnd), LVM_SETTEX
1bf30 54 43 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52 TCOLOR, 0, (LPAR
1bf40 41 4d 29 28 43 4f 4c 4f 52 52 45 46 29 28 63 6c AM)(COLORREF)(cl
1bf50 72 54 65 78 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 rText))....enum
1bf60 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 : uint { LVM_GET
1bf70 54 45 58 54 42 4b 43 4f 4c 4f 52 20 3d 20 4c 56 TEXTBKCOLOR = LV
1bf80 4d 5f 46 49 52 53 54 20 2b 20 33 37 20 7d 0d 0a M_FIRST + 37 }..
1bf90 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 // #define ListV
1bfa0 69 65 77 5f 47 65 74 54 65 78 74 42 6b 43 6f 6c iew_GetTextBkCol
1bfb0 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52 or(hwnd) (COLORR
1bfc0 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 EF)SNDMSG((hwnd)
1bfd0 2c 20 4c 56 4d 5f 47 45 54 54 45 58 54 42 4b 43 , LVM_GETTEXTBKC
1bfe0 4f 4c 4f 52 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a OLOR, 0, 0L)....
1bff0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1c000 4d 5f 53 45 54 54 45 58 54 42 4b 43 4f 4c 4f 52 M_SETTEXTBKCOLOR
1c010 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 = LVM_FIRST + 3
1c020 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 8 }..// #define
1c030 4c 69 73 74 56 69 65 77 5f 53 65 74 54 65 78 74 ListView_SetText
1c040 42 6b 43 6f 6c 6f 72 28 68 77 6e 64 2c 20 63 6c BkColor(hwnd, cl
1c050 72 54 65 78 74 42 6b 29 20 28 42 4f 4f 4c 29 53 rTextBk) (BOOL)S
1c060 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 NDMSG((hwnd), LV
1c070 4d 5f 53 45 54 54 45 58 54 42 4b 43 4f 4c 4f 52 M_SETTEXTBKCOLOR
1c080 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 43 4f , 0, (LPARAM)(CO
1c090 4c 4f 52 52 45 46 29 28 63 6c 72 54 65 78 74 42 LORREF)(clrTextB
1c0a0 6b 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 k))....enum : ui
1c0b0 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 54 4f 50 49 nt { LVM_GETTOPI
1c0c0 4e 44 45 58 20 3d 20 4c 56 4d 5f 46 49 52 53 54 NDEX = LVM_FIRST
1c0d0 20 2b 20 33 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 39 }..// #def
1c0e0 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 ine ListView_Get
1c0f0 54 6f 70 49 6e 64 65 78 28 68 77 6e 64 4c 56 29 TopIndex(hwndLV)
1c100 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 (int)SNDMSG((hw
1c110 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 54 4f ndLV), LVM_GETTO
1c120 50 49 4e 44 45 58 2c 20 30 2c 20 30 29 0d 0a 0d PINDEX, 0, 0)...
1c130 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1c140 56 4d 5f 47 45 54 43 4f 55 4e 54 50 45 52 50 41 VM_GETCOUNTPERPA
1c150 47 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b GE = LVM_FIRST +
1c160 20 34 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 40 }..// #defin
1c170 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 43 6f e ListView_GetCo
1c180 75 6e 74 50 65 72 50 61 67 65 28 68 77 6e 64 4c untPerPage(hwndL
1c190 56 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 V) (int)SNDMSG((
1c1a0 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 hwndLV), LVM_GET
1c1b0 43 4f 55 4e 54 50 45 52 50 41 47 45 2c 20 30 2c COUNTPERPAGE, 0,
1c1c0 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 0)....enum : ui
1c1d0 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 4f 52 49 47 nt { LVM_GETORIG
1c1e0 49 4e 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b IN = LVM_FIRST +
1c1f0 20 34 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 41 }..// #defin
1c200 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 4f 72 e ListView_GetOr
1c210 69 67 69 6e 28 68 77 6e 64 4c 56 2c 20 70 70 74 igin(hwndLV, ppt
1c220 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 ) (BOOL)SNDMSG((
1c230 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 hwndLV), LVM_GET
1c240 4f 52 49 47 49 4e 2c 20 28 57 50 41 52 41 4d 29 ORIGIN, (WPARAM)
1c250 30 2c 20 28 4c 50 41 52 41 4d 29 28 50 4f 49 4e 0, (LPARAM)(POIN
1c260 54 20 2a 29 28 70 70 74 29 29 0d 0a 0d 0a 65 6e T *)(ppt))....en
1c270 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f um : uint { LVM_
1c280 55 50 44 41 54 45 20 3d 20 4c 56 4d 5f 46 49 52 UPDATE = LVM_FIR
1c290 53 54 20 2b 20 34 32 20 7d 0d 0a 2f 2f 20 23 64 ST + 42 }..// #d
1c2a0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 55 efine ListView_U
1c2b0 70 64 61 74 65 28 68 77 6e 64 4c 56 2c 20 69 29 pdate(hwndLV, i)
1c2c0 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 (BOOL)SNDMSG((h
1c2d0 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 55 50 44 41 wndLV), LVM_UPDA
1c2e0 54 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c TE, (WPARAM)(i),
1c2f0 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 0L)....enum : u
1c300 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54 45 int { LVM_SETITE
1c310 4d 53 54 41 54 45 20 3d 20 4c 56 4d 5f 46 49 52 MSTATE = LVM_FIR
1c320 53 54 20 2b 20 34 33 20 7d 0d 0a 2f 2f 20 23 64 ST + 43 }..// #d
1c330 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 efine ListView_S
1c340 65 74 49 74 65 6d 53 74 61 74 65 28 68 77 6e 64 etItemState(hwnd
1c350 4c 56 2c 20 69 2c 20 64 61 74 61 2c 20 6d 61 73 LV, i, data, mas
1c360 6b 29 20 7b 20 4c 56 5f 49 54 45 4d 20 5f 6d 73 k) { LV_ITEM _ms
1c370 5f 6c 76 69 3b 20 5f 6d 73 5f 6c 76 69 2e 73 74 _lvi; _ms_lvi.st
1c380 61 74 65 4d 61 73 6b 20 3d 20 6d 61 73 6b 3b 20 ateMask = mask;
1c390 5f 6d 73 5f 6c 76 69 2e 73 74 61 74 65 20 3d 20 _ms_lvi.state =
1c3a0 64 61 74 61 3b 20 53 4e 44 4d 53 47 28 28 68 77 data; SNDMSG((hw
1c3b0 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54 49 54 ndLV), LVM_SETIT
1c3c0 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52 41 4d EMSTATE, (WPARAM
1c3d0 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 28 4c )(i), (LPARAM)(L
1c3e0 56 5f 49 54 45 4d 20 2a 29 26 5f 6d 73 5f 6c 76 V_ITEM *)&_ms_lv
1c3f0 69 29 3b 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 i); }....// #if
1c400 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
1c410 30 33 30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 0300)..// #defin
1c420 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 43 68 e ListView_SetCh
1c430 65 63 6b 53 74 61 74 65 28 68 77 6e 64 4c 56 2c eckState(hwndLV,
1c440 20 69 2c 20 66 43 68 65 63 6b 29 20 4c 69 73 74 i, fCheck) List
1c450 56 69 65 77 5f 53 65 74 49 74 65 6d 53 74 61 74 View_SetItemStat
1c460 65 28 68 77 6e 64 4c 56 2c 20 69 2c 20 49 4e 44 e(hwndLV, i, IND
1c470 45 58 54 4f 53 54 41 54 45 49 4d 41 47 45 4d 41 EXTOSTATEIMAGEMA
1c480 53 4b 28 28 66 43 68 65 63 6b 29 3f 32 3a 31 29 SK((fCheck)?2:1)
1c490 2c 20 4c 56 49 53 5f 53 54 41 54 45 49 4d 41 47 , LVIS_STATEIMAG
1c4a0 45 4d 41 53 4b 29 0d 0a 2f 2f 20 23 65 6e 64 69 EMASK)..// #endi
1c4b0 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 f....enum : uint
1c4c0 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45 4d 53 54 { LVM_GETITEMST
1c4d0 41 54 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 ATE = LVM_FIRST
1c4e0 2b 20 34 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 44 }..// #defi
1c4f0 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 ne ListView_GetI
1c500 74 65 6d 53 74 61 74 65 28 68 77 6e 64 4c 56 2c temState(hwndLV,
1c510 20 69 2c 20 6d 61 73 6b 29 20 28 55 49 4e 54 29 i, mask) (UINT)
1c520 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c SNDMSG((hwndLV),
1c530 20 4c 56 4d 5f 47 45 54 49 54 45 4d 53 54 41 54 LVM_GETITEMSTAT
1c540 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c 20 E, (WPARAM)(i),
1c550 28 4c 50 41 52 41 4d 29 28 6d 61 73 6b 29 29 0d (LPARAM)(mask)).
1c560 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
1c570 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 2_IE >= 0x0300).
1c580 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 .// #define List
1c590 56 69 65 77 5f 47 65 74 43 68 65 63 6b 53 74 61 View_GetCheckSta
1c5a0 74 65 28 68 77 6e 64 4c 56 2c 20 69 29 20 28 28 te(hwndLV, i) ((
1c5b0 28 28 55 49 4e 54 29 28 53 4e 44 4d 53 47 28 28 ((UINT)(SNDMSG((
1c5c0 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 hwndLV), LVM_GET
1c5d0 49 54 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52 ITEMSTATE, (WPAR
1c5e0 41 4d 29 28 69 29 2c 20 4c 56 49 53 5f 53 54 41 AM)(i), LVIS_STA
1c5f0 54 45 49 4d 41 47 45 4d 41 53 4b 29 29 29 20 3e TEIMAGEMASK))) >
1c600 3e 20 31 32 29 20 2d 31 29 0d 0a 2f 2f 20 23 65 > 12) -1)..// #e
1c610 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ndif....enum : u
1c620 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45 int { LVM_GETITE
1c630 4d 54 45 58 54 41 20 3d 20 4c 56 4d 5f 46 49 52 MTEXTA = LVM_FIR
1c640 53 54 20 2b 20 34 35 20 7d 0d 0a 65 6e 75 6d 20 ST + 45 }..enum
1c650 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 : uint { LVM_GET
1c660 49 54 45 4d 54 45 58 54 57 20 3d 20 4c 56 4d 5f ITEMTEXTW = LVM_
1c670 46 49 52 53 54 20 2b 20 31 31 35 20 7d 0d 0a 0d FIRST + 115 }...
1c680 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
1c690 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45 DE..alias LVM_GE
1c6a0 54 49 54 45 4d 54 45 58 54 57 20 4c 56 4d 5f 47 TITEMTEXTW LVM_G
1c6b0 45 54 49 54 45 4d 54 45 58 54 3b 0d 0a 2f 2f 20 ETITEMTEXT;..//
1c6c0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
1c6d0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
1c6e0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
1c6f0 5f 47 65 74 49 74 65 6d 54 65 78 74 28 68 77 6e _GetItemText(hwn
1c700 64 4c 56 2c 20 69 2c 20 69 53 75 62 49 74 65 6d dLV, i, iSubItem
1c710 5f 2c 20 70 73 7a 54 65 78 74 5f 2c 20 63 63 68 _, pszText_, cch
1c720 54 65 78 74 4d 61 78 5f 29 20 7b 20 4c 56 5f 49 TextMax_) { LV_I
1c730 54 45 4d 20 5f 6d 73 5f 6c 76 69 3b 20 5f 6d 73 TEM _ms_lvi; _ms
1c740 5f 6c 76 69 2e 69 53 75 62 49 74 65 6d 20 3d 20 _lvi.iSubItem =
1c750 69 53 75 62 49 74 65 6d 5f 3b 20 5f 6d 73 5f 6c iSubItem_; _ms_l
1c760 76 69 2e 63 63 68 54 65 78 74 4d 61 78 20 3d 20 vi.cchTextMax =
1c770 63 63 68 54 65 78 74 4d 61 78 5f 3b 20 5f 6d 73 cchTextMax_; _ms
1c780 5f 6c 76 69 2e 70 73 7a 54 65 78 74 20 3d 20 70 _lvi.pszText = p
1c790 73 7a 54 65 78 74 5f 3b 20 53 4e 44 4d 53 47 28 szText_; SNDMSG(
1c7a0 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 (hwndLV), LVM_GE
1c7b0 54 49 54 45 4d 54 45 58 54 2c 20 28 57 50 41 52 TITEMTEXT, (WPAR
1c7c0 41 4d 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 AM)(i), (LPARAM)
1c7d0 28 4c 56 5f 49 54 45 4d 20 2a 29 26 5f 6d 73 5f (LV_ITEM *)&_ms_
1c7e0 6c 76 69 29 3b 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 lvi); }....enum
1c7f0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 : uint { LVM_SET
1c800 49 54 45 4d 54 45 58 54 41 20 3d 20 4c 56 4d 5f ITEMTEXTA = LVM_
1c810 46 49 52 53 54 20 2b 20 34 36 20 7d 0d 0a 65 6e FIRST + 46 }..en
1c820 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f um : uint { LVM_
1c830 53 45 54 49 54 45 4d 54 45 58 54 57 20 3d 20 4c SETITEMTEXTW = L
1c840 56 4d 5f 46 49 52 53 54 20 2b 20 31 31 36 20 7d VM_FIRST + 116 }
1c850 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
1c860 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d ICODE..alias LVM
1c870 5f 53 45 54 49 54 45 4d 54 45 58 54 57 20 4c 56 _SETITEMTEXTW LV
1c880 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 3b 0d 0a M_SETITEMTEXT;..
1c890 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
1c8a0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
1c8b0 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 // #define ListV
1c8c0 69 65 77 5f 53 65 74 49 74 65 6d 54 65 78 74 28 iew_SetItemText(
1c8d0 68 77 6e 64 4c 56 2c 20 69 2c 20 69 53 75 62 49 hwndLV, i, iSubI
1c8e0 74 65 6d 5f 2c 20 70 73 7a 54 65 78 74 5f 29 20 tem_, pszText_)
1c8f0 7b 20 4c 56 5f 49 54 45 4d 20 5f 6d 73 5f 6c 76 { LV_ITEM _ms_lv
1c900 69 3b 20 5f 6d 73 5f 6c 76 69 2e 69 53 75 62 49 i; _ms_lvi.iSubI
1c910 74 65 6d 20 3d 20 69 53 75 62 49 74 65 6d 5f 3b tem = iSubItem_;
1c920 20 5f 6d 73 5f 6c 76 69 2e 70 73 7a 54 65 78 74 _ms_lvi.pszText
1c930 20 3d 20 70 73 7a 54 65 78 74 5f 3b 20 53 4e 44 = pszText_; SND
1c940 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 MSG((hwndLV), LV
1c950 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 2c 20 28 M_SETITEMTEXT, (
1c960 57 50 41 52 41 4d 29 28 69 29 2c 20 28 4c 50 41 WPARAM)(i), (LPA
1c970 52 41 4d 29 28 4c 56 5f 49 54 45 4d 20 2a 29 26 RAM)(LV_ITEM *)&
1c980 5f 6d 73 5f 6c 76 69 29 3b 20 7d 0d 0a 0d 0a 2f _ms_lvi); }..../
1c990 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
1c9a0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 0d 0a 65 >= 0x0300)....e
1c9b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 num : uint { LVS
1c9c0 49 43 46 5f 4e 4f 49 4e 56 41 4c 49 44 41 54 45 ICF_NOINVALIDATE
1c9d0 41 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 31 ALL = 0x00000001
1c9e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1c9f0 7b 20 4c 56 53 49 43 46 5f 4e 4f 53 43 52 4f 4c { LVSICF_NOSCROL
1ca00 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d L = 0x00000002 }
1ca10 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 ..// #endif....e
1ca20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1ca30 5f 53 45 54 49 54 45 4d 43 4f 55 4e 54 20 3d 20 _SETITEMCOUNT =
1ca40 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34 37 20 7d LVM_FIRST + 47 }
1ca50 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1ca60 74 56 69 65 77 5f 53 65 74 49 74 65 6d 43 6f 75 tView_SetItemCou
1ca70 6e 74 28 68 77 6e 64 4c 56 2c 20 63 49 74 65 6d nt(hwndLV, cItem
1ca80 73 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c s) SNDMSG((hwndL
1ca90 56 29 2c 20 4c 56 4d 5f 53 45 54 49 54 45 4d 43 V), LVM_SETITEMC
1caa0 4f 55 4e 54 2c 20 28 57 50 41 52 41 4d 29 28 63 OUNT, (WPARAM)(c
1cab0 49 74 65 6d 73 29 2c 20 30 29 0d 0a 0d 0a 2f 2f Items), 0)....//
1cac0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
1cad0 3e 3d 20 30 78 30 33 30 30 29 0d 0a 2f 2f 20 23 >= 0x0300)..// #
1cae0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f define ListView_
1caf0 53 65 74 49 74 65 6d 43 6f 75 6e 74 45 78 28 68 SetItemCountEx(h
1cb00 77 6e 64 4c 56 2c 20 63 49 74 65 6d 73 2c 20 64 wndLV, cItems, d
1cb10 77 46 6c 61 67 73 29 20 53 4e 44 4d 53 47 28 28 wFlags) SNDMSG((
1cb20 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54 hwndLV), LVM_SET
1cb30 49 54 45 4d 43 4f 55 4e 54 2c 20 28 57 50 41 52 ITEMCOUNT, (WPAR
1cb40 41 4d 29 28 63 49 74 65 6d 73 29 2c 20 28 4c 50 AM)(cItems), (LP
1cb50 41 52 41 4d 29 28 64 77 46 6c 61 67 73 29 29 0d ARAM)(dwFlags)).
1cb60 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 .// #endif....ex
1cb70 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c tern(Windows) al
1cb80 69 61 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e ias int function
1cb90 28 4c 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 2c (LPARAM, LPARAM,
1cba0 20 4c 50 41 52 41 4d 29 20 50 46 4e 4c 56 43 4f LPARAM) PFNLVCO
1cbb0 4d 50 41 52 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a MPARE;....enum :
1cbc0 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 4f 52 54 uint { LVM_SORT
1cbd0 49 54 45 4d 53 20 3d 20 4c 56 4d 5f 46 49 52 53 ITEMS = LVM_FIRS
1cbe0 54 20 2b 20 34 38 20 7d 0d 0a 2f 2f 20 23 64 65 T + 48 }..// #de
1cbf0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 6f fine ListView_So
1cc00 72 74 49 74 65 6d 73 28 68 77 6e 64 4c 56 2c 20 rtItems(hwndLV,
1cc10 5f 70 66 6e 43 6f 6d 70 61 72 65 2c 20 5f 6c 50 _pfnCompare, _lP
1cc20 72 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 rm) (BOOL)SNDMSG
1cc30 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 ((hwndLV), LVM_S
1cc40 4f 52 54 49 54 45 4d 53 2c 20 28 57 50 41 52 41 ORTITEMS, (WPARA
1cc50 4d 29 28 4c 50 41 52 41 4d 29 28 5f 6c 50 72 6d M)(LPARAM)(_lPrm
1cc60 29 2c 20 28 4c 50 41 52 41 4d 29 28 50 46 4e 4c ), (LPARAM)(PFNL
1cc70 56 43 4f 4d 50 41 52 45 29 28 5f 70 66 6e 43 6f VCOMPARE)(_pfnCo
1cc80 6d 70 61 72 65 29 29 0d 0a 0d 0a 65 6e 75 6d 20 mpare))....enum
1cc90 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 : uint { LVM_SET
1cca0 49 54 45 4d 50 4f 53 49 54 49 4f 4e 33 32 20 3d ITEMPOSITION32 =
1ccb0 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34 39 20 LVM_FIRST + 49
1ccc0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
1ccd0 73 74 56 69 65 77 5f 53 65 74 49 74 65 6d 50 6f stView_SetItemPo
1cce0 73 69 74 69 6f 6e 33 32 28 68 77 6e 64 4c 56 2c sition32(hwndLV,
1ccf0 20 69 2c 20 78 30 2c 20 79 30 29 20 7b 20 50 4f i, x0, y0) { PO
1cd00 49 4e 54 20 70 74 4e 65 77 50 6f 73 3b 20 70 74 INT ptNewPos; pt
1cd10 4e 65 77 50 6f 73 2e 78 20 3d 20 78 30 3b 20 70 NewPos.x = x0; p
1cd20 74 4e 65 77 50 6f 73 2e 79 20 3d 20 79 30 3b 20 tNewPos.y = y0;
1cd30 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c SNDMSG((hwndLV),
1cd40 20 4c 56 4d 5f 53 45 54 49 54 45 4d 50 4f 53 49 LVM_SETITEMPOSI
1cd50 54 49 4f 4e 33 32 2c 20 28 57 50 41 52 41 4d 29 TION32, (WPARAM)
1cd60 28 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 (int)(i), (LPARA
1cd70 4d 29 26 70 74 4e 65 77 50 6f 73 29 3b 20 7d 0d M)&ptNewPos); }.
1cd80 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1cd90 20 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 45 44 LVM_GETSELECTED
1cda0 43 4f 55 4e 54 20 3d 20 4c 56 4d 5f 46 49 52 53 COUNT = LVM_FIRS
1cdb0 54 20 2b 20 35 30 20 7d 0d 0a 2f 2f 20 23 64 65 T + 50 }..// #de
1cdc0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 fine ListView_Ge
1cdd0 74 53 65 6c 65 63 74 65 64 43 6f 75 6e 74 28 68 tSelectedCount(h
1cde0 77 6e 64 4c 56 29 20 28 55 49 4e 54 29 53 4e 44 wndLV) (UINT)SND
1cdf0 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 MSG((hwndLV), LV
1ce00 4d 5f 47 45 54 53 45 4c 45 43 54 45 44 43 4f 55 M_GETSELECTEDCOU
1ce10 4e 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e NT, 0, 0L)....en
1ce20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f um : uint { LVM_
1ce30 47 45 54 49 54 45 4d 53 50 41 43 49 4e 47 20 3d GETITEMSPACING =
1ce40 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 31 20 LVM_FIRST + 51
1ce50 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
1ce60 73 74 56 69 65 77 5f 47 65 74 49 74 65 6d 53 70 stView_GetItemSp
1ce70 61 63 69 6e 67 28 68 77 6e 64 4c 56 2c 20 66 53 acing(hwndLV, fS
1ce80 6d 61 6c 6c 29 20 28 44 57 4f 52 44 29 53 4e 44 mall) (DWORD)SND
1ce90 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 MSG((hwndLV), LV
1cea0 4d 5f 47 45 54 49 54 45 4d 53 50 41 43 49 4e 47 M_GETITEMSPACING
1ceb0 2c 20 66 53 6d 61 6c 6c 2c 20 30 4c 29 0d 0a 0d , fSmall, 0L)...
1cec0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1ced0 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 VM_GETISEARCHSTR
1cee0 49 4e 47 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54 INGA = LVM_FIRST
1cef0 20 2b 20 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 + 52 }..enum :
1cf00 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 53 uint { LVM_GETIS
1cf10 45 41 52 43 48 53 54 52 49 4e 47 57 20 3d 20 4c EARCHSTRINGW = L
1cf20 56 4d 5f 46 49 52 53 54 20 2b 20 31 31 37 20 7d VM_FIRST + 117 }
1cf30 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
1cf40 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d ICODE..alias LVM
1cf50 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e _GETISEARCHSTRIN
1cf60 47 57 20 4c 56 4d 5f 47 45 54 49 53 45 41 52 43 GW LVM_GETISEARC
1cf70 48 53 54 52 49 4e 47 3b 0d 0a 2f 2f 20 23 65 6c HSTRING;..// #el
1cf80 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
1cf90 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 #endif....// #de
1cfa0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 fine ListView_Ge
1cfb0 74 49 53 65 61 72 63 68 53 74 72 69 6e 67 28 68 tISearchString(h
1cfc0 77 6e 64 4c 56 2c 20 6c 70 73 7a 29 20 28 42 4f wndLV, lpsz) (BO
1cfd0 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c OL)SNDMSG((hwndL
1cfe0 56 29 2c 20 4c 56 4d 5f 47 45 54 49 53 45 41 52 V), LVM_GETISEAR
1cff0 43 48 53 54 52 49 4e 47 2c 20 30 2c 20 28 4c 50 CHSTRING, 0, (LP
1d000 41 52 41 4d 29 28 4c 50 54 53 54 52 29 28 6c 70 ARAM)(LPTSTR)(lp
1d010 73 7a 29 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 sz))....// #if (
1d020 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
1d030 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 300)..enum : uin
1d040 74 20 7b 20 4c 56 4d 5f 53 45 54 49 43 4f 4e 53 t { LVM_SETICONS
1d050 50 41 43 49 4e 47 20 3d 20 4c 56 4d 5f 46 49 52 PACING = LVM_FIR
1d060 53 54 20 2b 20 35 33 20 7d 0d 0a 0d 0a 2f 2f 20 ST + 53 }....//
1d070 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
1d080 5f 53 65 74 49 63 6f 6e 53 70 61 63 69 6e 67 28 _SetIconSpacing(
1d090 68 77 6e 64 4c 56 2c 20 63 78 2c 20 63 79 29 20 hwndLV, cx, cy)
1d0a0 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 (DWORD)SNDMSG((h
1d0b0 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54 49 wndLV), LVM_SETI
1d0c0 43 4f 4e 53 50 41 43 49 4e 47 2c 20 30 2c 20 4d CONSPACING, 0, M
1d0d0 41 4b 45 4c 4f 4e 47 28 63 78 2c 63 79 29 29 0d AKELONG(cx,cy)).
1d0e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1d0f0 20 4c 56 4d 5f 53 45 54 45 58 54 45 4e 44 45 44 LVM_SETEXTENDED
1d100 4c 49 53 54 56 49 45 57 53 54 59 4c 45 20 3d 20 LISTVIEWSTYLE =
1d110 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 34 20 7d LVM_FIRST + 54 }
1d120 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1d130 74 56 69 65 77 5f 53 65 74 45 78 74 65 6e 64 65 tView_SetExtende
1d140 64 4c 69 73 74 56 69 65 77 53 74 79 6c 65 28 68 dListViewStyle(h
1d150 77 6e 64 4c 56 2c 20 64 77 29 20 28 44 57 4f 52 wndLV, dw) (DWOR
1d160 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 D)SNDMSG((hwndLV
1d170 29 2c 20 4c 56 4d 5f 53 45 54 45 58 54 45 4e 44 ), LVM_SETEXTEND
1d180 45 44 4c 49 53 54 56 49 45 57 53 54 59 4c 45 2c EDLISTVIEWSTYLE,
1d190 20 30 2c 20 64 77 29 0d 0a 2f 2f 20 23 69 66 20 0, dw)..// #if
1d1a0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
1d1b0 30 34 30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 0400)..// #defin
1d1c0 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 45 78 e ListView_SetEx
1d1d0 74 65 6e 64 65 64 4c 69 73 74 56 69 65 77 53 74 tendedListViewSt
1d1e0 79 6c 65 45 78 28 68 77 6e 64 4c 56 2c 20 64 77 yleEx(hwndLV, dw
1d1f0 4d 61 73 6b 2c 20 64 77 29 20 28 44 57 4f 52 44 Mask, dw) (DWORD
1d200 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 )SNDMSG((hwndLV)
1d210 2c 20 4c 56 4d 5f 53 45 54 45 58 54 45 4e 44 45 , LVM_SETEXTENDE
1d220 44 4c 49 53 54 56 49 45 57 53 54 59 4c 45 2c 20 DLISTVIEWSTYLE,
1d230 64 77 4d 61 73 6b 2c 20 64 77 29 0d 0a 2f 2f 20 dwMask, dw)..//
1d240 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a #endif....enum :
1d250 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 45 uint { LVM_GETE
1d260 58 54 45 4e 44 45 44 4c 49 53 54 56 49 45 57 53 XTENDEDLISTVIEWS
1d270 54 59 4c 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54 TYLE = LVM_FIRST
1d280 20 2b 20 35 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 55 }..// #def
1d290 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 ine ListView_Get
1d2a0 45 78 74 65 6e 64 65 64 4c 69 73 74 56 69 65 77 ExtendedListView
1d2b0 53 74 79 6c 65 28 68 77 6e 64 4c 56 29 20 28 44 Style(hwndLV) (D
1d2c0 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e WORD)SNDMSG((hwn
1d2d0 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 45 58 54 dLV), LVM_GETEXT
1d2e0 45 4e 44 45 44 4c 49 53 54 56 49 45 57 53 54 59 ENDEDLISTVIEWSTY
1d2f0 4c 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 LE, 0, 0)....enu
1d300 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 m : uint { LVS_E
1d310 58 5f 47 52 49 44 4c 49 4e 45 53 20 3d 20 30 78 X_GRIDLINES = 0x
1d320 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 00000001 }..enum
1d330 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 : uint { LVS_EX
1d340 5f 53 55 42 49 54 45 4d 49 4d 41 47 45 53 20 3d _SUBITEMIMAGES =
1d350 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 0x00000002 }..e
1d360 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 num : uint { LVS
1d370 5f 45 58 5f 43 48 45 43 4b 42 4f 58 45 53 20 3d _EX_CHECKBOXES =
1d380 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 0x00000004 }..e
1d390 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 num : uint { LVS
1d3a0 5f 45 58 5f 54 52 41 43 4b 53 45 4c 45 43 54 20 _EX_TRACKSELECT
1d3b0 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a = 0x00000008 }..
1d3c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1d3d0 53 5f 45 58 5f 48 45 41 44 45 52 44 52 41 47 44 S_EX_HEADERDRAGD
1d3e0 52 4f 50 20 3d 20 30 78 30 30 30 30 30 30 31 30 ROP = 0x00000010
1d3f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1d400 7b 20 4c 56 53 5f 45 58 5f 46 55 4c 4c 52 4f 57 { LVS_EX_FULLROW
1d410 53 45 4c 45 43 54 20 3d 20 30 78 30 30 30 30 30 SELECT = 0x00000
1d420 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 020 }..enum : ui
1d430 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 4f 4e 45 43 nt { LVS_EX_ONEC
1d440 4c 49 43 4b 41 43 54 49 56 41 54 45 20 3d 20 30 LICKACTIVATE = 0
1d450 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 x00000040 }..enu
1d460 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 m : uint { LVS_E
1d470 58 5f 54 57 4f 43 4c 49 43 4b 41 43 54 49 56 41 X_TWOCLICKACTIVA
1d480 54 45 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 TE = 0x00000080
1d490 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
1d4a0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
1d4b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1d4c0 56 53 5f 45 58 5f 46 4c 41 54 53 42 20 3d 20 30 VS_EX_FLATSB = 0
1d4d0 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 x00000100 }..enu
1d4e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 m : uint { LVS_E
1d4f0 58 5f 52 45 47 49 4f 4e 41 4c 20 3d 20 30 78 30 X_REGIONAL = 0x0
1d500 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 0000200 }..enum
1d510 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f : uint { LVS_EX_
1d520 49 4e 46 4f 54 49 50 20 3d 20 30 78 30 30 30 30 INFOTIP = 0x0000
1d530 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0400 }..enum : u
1d540 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 55 4e 44 int { LVS_EX_UND
1d550 45 52 4c 49 4e 45 48 4f 54 20 3d 20 30 78 30 30 ERLINEHOT = 0x00
1d560 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 000800 }..enum :
1d570 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 55 uint { LVS_EX_U
1d580 4e 44 45 52 4c 49 4e 45 43 4f 4c 44 20 3d 20 30 NDERLINECOLD = 0
1d590 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75 x00001000 }..enu
1d5a0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 m : uint { LVS_E
1d5b0 58 5f 4d 55 4c 54 49 57 4f 52 4b 41 52 45 41 53 X_MULTIWORKAREAS
1d5c0 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d = 0x00002000 }.
1d5d0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 .// #endif..// #
1d5e0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
1d5f0 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 0x0500)..enum :
1d600 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 4c uint { LVS_EX_L
1d610 41 42 45 4c 54 49 50 20 3d 20 30 78 30 30 30 30 ABELTIP = 0x0000
1d620 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 4000 }..enum : u
1d630 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 42 4f 52 int { LVS_EX_BOR
1d640 44 45 52 53 45 4c 45 43 54 20 3d 20 30 78 30 30 DERSELECT = 0x00
1d650 30 30 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 008000 }..// #en
1d660 64 69 66 20 20 2f 2f 20 45 6e 64 20 28 5f 57 49 dif // End (_WI
1d670 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 N32_IE >= 0x0500
1d680 29 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 )..// #if (_WIN3
1d690 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 2_WINNT >= 0x501
1d6a0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
1d6b0 20 4c 56 53 5f 45 58 5f 44 4f 55 42 4c 45 42 55 LVS_EX_DOUBLEBU
1d6c0 46 46 45 52 20 3d 20 30 78 30 30 30 31 30 30 30 FFER = 0x0001000
1d6d0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
1d6e0 20 7b 20 4c 56 53 5f 45 58 5f 48 49 44 45 4c 41 { LVS_EX_HIDELA
1d6f0 42 45 4c 53 20 3d 20 30 78 30 30 30 32 30 30 30 BELS = 0x0002000
1d700 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
1d710 20 7b 20 4c 56 53 5f 45 58 5f 53 49 4e 47 4c 45 { LVS_EX_SINGLE
1d720 52 4f 57 20 3d 20 30 78 30 30 30 34 30 30 30 30 ROW = 0x00040000
1d730 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1d740 7b 20 4c 56 53 5f 45 58 5f 53 4e 41 50 54 4f 47 { LVS_EX_SNAPTOG
1d750 52 49 44 20 3d 20 30 78 30 30 30 38 30 30 30 30 RID = 0x00080000
1d760 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1d770 7b 20 4c 56 53 5f 45 58 5f 53 49 4d 50 4c 45 53 { LVS_EX_SIMPLES
1d780 45 4c 45 43 54 20 3d 20 30 78 30 30 31 30 30 30 ELECT = 0x001000
1d790 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 00 }..// #endif.
1d7a0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1d7b0 20 4c 56 4d 5f 47 45 54 53 55 42 49 54 45 4d 52 LVM_GETSUBITEMR
1d7c0 45 43 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 ECT = LVM_FIRST
1d7d0 2b 20 35 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 56 }..// #defi
1d7e0 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 53 ne ListView_GetS
1d7f0 75 62 49 74 65 6d 52 65 63 74 28 68 77 6e 64 2c ubItemRect(hwnd,
1d800 20 69 49 74 65 6d 2c 20 69 53 75 62 49 74 65 6d iItem, iSubItem
1d810 2c 20 63 6f 64 65 2c 20 70 72 63 29 20 28 42 4f , code, prc) (BO
1d820 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 OL)SNDMSG((hwnd)
1d830 2c 20 4c 56 4d 5f 47 45 54 53 55 42 49 54 45 4d , LVM_GETSUBITEM
1d840 52 45 43 54 2c 20 28 57 50 41 52 41 4d 29 28 69 RECT, (WPARAM)(i
1d850 6e 74 29 28 69 49 74 65 6d 29 2c 20 28 28 70 72 nt)(iItem), ((pr
1d860 63 29 20 3f 20 28 28 28 28 4c 50 52 45 43 54 29 c) ? ((((LPRECT)
1d870 28 70 72 63 29 29 2d 3e 74 6f 70 20 3d 20 69 53 (prc))->top = iS
1d880 75 62 49 74 65 6d 29 2c 20 28 28 28 4c 50 52 45 ubItem), (((LPRE
1d890 43 54 29 28 70 72 63 29 29 2d 3e 6c 65 66 74 20 CT)(prc))->left
1d8a0 3d 20 63 6f 64 65 29 2c 20 28 4c 50 41 52 41 4d = code), (LPARAM
1d8b0 29 28 70 72 63 29 29 20 3a 20 28 4c 50 41 52 41 )(prc)) : (LPARA
1d8c0 4d 29 28 4c 50 52 45 43 54 29 4e 55 4c 4c 29 29 M)(LPRECT)NULL))
1d8d0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
1d8e0 7b 20 4c 56 4d 5f 53 55 42 49 54 45 4d 48 49 54 { LVM_SUBITEMHIT
1d8f0 54 45 53 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54 TEST = LVM_FIRST
1d900 20 2b 20 35 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 57 }..// #def
1d910 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 75 62 ine ListView_Sub
1d920 49 74 65 6d 48 69 74 54 65 73 74 28 68 77 6e 64 ItemHitTest(hwnd
1d930 2c 20 70 6c 76 68 74 69 29 20 28 69 6e 74 29 53 , plvhti) (int)S
1d940 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 NDMSG((hwnd), LV
1d950 4d 5f 53 55 42 49 54 45 4d 48 49 54 54 45 53 54 M_SUBITEMHITTEST
1d960 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50 , 0, (LPARAM)(LP
1d970 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 29 28 70 LVHITTESTINFO)(p
1d980 6c 76 68 74 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 lvhti))....enum
1d990 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 : uint { LVM_SET
1d9a0 43 4f 4c 55 4d 4e 4f 52 44 45 52 41 52 52 41 59 COLUMNORDERARRAY
1d9b0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 = LVM_FIRST + 5
1d9c0 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 8 }..// #define
1d9d0 4c 69 73 74 56 69 65 77 5f 53 65 74 43 6f 6c 75 ListView_SetColu
1d9e0 6d 6e 4f 72 64 65 72 41 72 72 61 79 28 68 77 6e mnOrderArray(hwn
1d9f0 64 2c 20 69 43 6f 75 6e 74 2c 20 70 69 29 20 28 d, iCount, pi) (
1da00 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e BOOL)SNDMSG((hwn
1da10 64 29 2c 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d d), LVM_SETCOLUM
1da20 4e 4f 52 44 45 52 41 52 52 41 59 2c 20 28 57 50 NORDERARRAY, (WP
1da30 41 52 41 4d 29 28 69 43 6f 75 6e 74 29 2c 20 28 ARAM)(iCount), (
1da40 4c 50 41 52 41 4d 29 28 4c 50 49 4e 54 29 28 70 LPARAM)(LPINT)(p
1da50 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 i))....enum : ui
1da60 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 43 4f 4c 55 nt { LVM_GETCOLU
1da70 4d 4e 4f 52 44 45 52 41 52 52 41 59 20 3d 20 4c MNORDERARRAY = L
1da80 56 4d 5f 46 49 52 53 54 20 2b 20 35 39 20 7d 0d VM_FIRST + 59 }.
1da90 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 .// #define List
1daa0 56 69 65 77 5f 47 65 74 43 6f 6c 75 6d 6e 4f 72 View_GetColumnOr
1dab0 64 65 72 41 72 72 61 79 28 68 77 6e 64 2c 20 69 derArray(hwnd, i
1dac0 43 6f 75 6e 74 2c 20 70 69 29 20 28 42 4f 4f 4c Count, pi) (BOOL
1dad0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
1dae0 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 4f 52 44 LVM_GETCOLUMNORD
1daf0 45 52 41 52 52 41 59 2c 20 28 57 50 41 52 41 4d ERARRAY, (WPARAM
1db00 29 28 69 43 6f 75 6e 74 29 2c 20 28 4c 50 41 52 )(iCount), (LPAR
1db10 41 4d 29 28 4c 50 49 4e 54 29 28 70 69 29 29 0d AM)(LPINT)(pi)).
1db20 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1db30 20 4c 56 4d 5f 53 45 54 48 4f 54 49 54 45 4d 20 LVM_SETHOTITEM
1db40 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 30 = LVM_FIRST + 60
1db50 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c }..// #define L
1db60 69 73 74 56 69 65 77 5f 53 65 74 48 6f 74 49 74 istView_SetHotIt
1db70 65 6d 28 68 77 6e 64 2c 20 69 29 20 28 69 6e 74 em(hwnd, i) (int
1db80 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
1db90 4c 56 4d 5f 53 45 54 48 4f 54 49 54 45 4d 2c 20 LVM_SETHOTITEM,
1dba0 28 57 50 41 52 41 4d 29 28 69 29 2c 20 30 29 0d (WPARAM)(i), 0).
1dbb0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1dbc0 20 4c 56 4d 5f 47 45 54 48 4f 54 49 54 45 4d 20 LVM_GETHOTITEM
1dbd0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 31 = LVM_FIRST + 61
1dbe0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c }..// #define L
1dbf0 69 73 74 56 69 65 77 5f 47 65 74 48 6f 74 49 74 istView_GetHotIt
1dc00 65 6d 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e em(hwnd) (int)SN
1dc10 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d DMSG((hwnd), LVM
1dc20 5f 47 45 54 48 4f 54 49 54 45 4d 2c 20 30 2c 20 _GETHOTITEM, 0,
1dc30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 0)....enum : uin
1dc40 74 20 7b 20 4c 56 4d 5f 53 45 54 48 4f 54 43 55 t { LVM_SETHOTCU
1dc50 52 53 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 RSOR = LVM_FIRST
1dc60 20 2b 20 36 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 62 }..// #def
1dc70 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 ine ListView_Set
1dc80 48 6f 74 43 75 72 73 6f 72 28 68 77 6e 64 2c 20 HotCursor(hwnd,
1dc90 68 63 75 72 29 20 28 48 43 55 52 53 4f 52 29 53 hcur) (HCURSOR)S
1dca0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 NDMSG((hwnd), LV
1dcb0 4d 5f 53 45 54 48 4f 54 43 55 52 53 4f 52 2c 20 M_SETHOTCURSOR,
1dcc0 30 2c 20 28 4c 50 41 52 41 4d 29 28 68 63 75 72 0, (LPARAM)(hcur
1dcd0 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ))....enum : uin
1dce0 74 20 7b 20 4c 56 4d 5f 47 45 54 48 4f 54 43 55 t { LVM_GETHOTCU
1dcf0 52 53 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 RSOR = LVM_FIRST
1dd00 20 2b 20 36 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 63 }..// #def
1dd10 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 ine ListView_Get
1dd20 48 6f 74 43 75 72 73 6f 72 28 68 77 6e 64 29 20 HotCursor(hwnd)
1dd30 28 48 43 55 52 53 4f 52 29 53 4e 44 4d 53 47 28 (HCURSOR)SNDMSG(
1dd40 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 48 (hwnd), LVM_GETH
1dd50 4f 54 43 55 52 53 4f 52 2c 20 30 2c 20 30 29 0d OTCURSOR, 0, 0).
1dd60 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1dd70 20 4c 56 4d 5f 41 50 50 52 4f 58 49 4d 41 54 45 LVM_APPROXIMATE
1dd80 56 49 45 57 52 45 43 54 20 3d 20 4c 56 4d 5f 46 VIEWRECT = LVM_F
1dd90 49 52 53 54 20 2b 20 36 34 20 7d 0d 0a 2f 2f 20 IRST + 64 }..//
1dda0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
1ddb0 5f 41 70 70 72 6f 78 69 6d 61 74 65 56 69 65 77 _ApproximateView
1ddc0 52 65 63 74 28 68 77 6e 64 2c 20 69 57 69 64 74 Rect(hwnd, iWidt
1ddd0 68 2c 20 69 48 65 69 67 68 74 2c 20 69 43 6f 75 h, iHeight, iCou
1dde0 6e 74 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53 nt) (DWORD)SNDMS
1ddf0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 41 50 G((hwnd), LVM_AP
1de00 50 52 4f 58 49 4d 41 54 45 56 49 45 57 52 45 43 PROXIMATEVIEWREC
1de10 54 2c 20 69 43 6f 75 6e 74 2c 20 4d 41 4b 45 4c T, iCount, MAKEL
1de20 50 41 52 41 4d 28 69 57 69 64 74 68 2c 20 69 48 PARAM(iWidth, iH
1de30 65 69 67 68 74 29 29 0d 0a 2f 2f 20 23 65 6e 64 eight))..// #end
1de40 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 if // _WIN3
1de50 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a 2_IE >= 0x0300..
1de60 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
1de70 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a _IE >= 0x0400)..
1de80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1de90 4c 56 5f 4d 41 58 5f 57 4f 52 4b 41 52 45 41 53 LV_MAX_WORKAREAS
1dea0 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 = 16 }..enum :
1deb0 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 57 4f uint { LVM_SETWO
1dec0 52 4b 41 52 45 41 53 20 3d 20 4c 56 4d 5f 46 49 RKAREAS = LVM_FI
1ded0 52 53 54 20 2b 20 36 35 20 7d 0d 0a 2f 2f 20 23 RST + 65 }..// #
1dee0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f define ListView_
1def0 53 65 74 57 6f 72 6b 41 72 65 61 73 28 68 77 6e SetWorkAreas(hwn
1df00 64 2c 20 6e 57 6f 72 6b 41 72 65 61 73 2c 20 70 d, nWorkAreas, p
1df10 72 63 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 rc) (BOOL)SNDMSG
1df20 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 ((hwnd), LVM_SET
1df30 57 4f 52 4b 41 52 45 41 53 2c 20 28 57 50 41 52 WORKAREAS, (WPAR
1df40 41 4d 29 28 69 6e 74 29 28 6e 57 6f 72 6b 41 72 AM)(int)(nWorkAr
1df50 65 61 73 29 2c 20 28 4c 50 41 52 41 4d 29 28 52 eas), (LPARAM)(R
1df60 45 43 54 20 2a 29 28 70 72 63 29 29 0d 0a 0d 0a ECT *)(prc))....
1df70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1df80 4d 5f 47 45 54 57 4f 52 4b 41 52 45 41 53 20 3d M_GETWORKAREAS =
1df90 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 30 20 LVM_FIRST + 70
1dfa0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
1dfb0 73 74 56 69 65 77 5f 47 65 74 57 6f 72 6b 41 72 stView_GetWorkAr
1dfc0 65 61 73 28 68 77 6e 64 2c 20 6e 57 6f 72 6b 41 eas(hwnd, nWorkA
1dfd0 72 65 61 73 2c 20 70 72 63 29 20 28 42 4f 4f 4c reas, prc) (BOOL
1dfe0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
1dff0 4c 56 4d 5f 47 45 54 57 4f 52 4b 41 52 45 41 53 LVM_GETWORKAREAS
1e000 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 , (WPARAM)(int)(
1e010 6e 57 6f 72 6b 41 72 65 61 73 29 2c 20 28 4c 50 nWorkAreas), (LP
1e020 41 52 41 4d 29 28 52 45 43 54 20 2a 29 28 70 72 ARAM)(RECT *)(pr
1e030 63 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 c))....enum : ui
1e040 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 4e 55 4d 42 nt { LVM_GETNUMB
1e050 45 52 4f 46 57 4f 52 4b 41 52 45 41 53 20 3d 20 EROFWORKAREAS =
1e060 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 33 20 7d LVM_FIRST + 73 }
1e070 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1e080 74 56 69 65 77 5f 47 65 74 4e 75 6d 62 65 72 4f tView_GetNumberO
1e090 66 57 6f 72 6b 41 72 65 61 73 28 68 77 6e 64 2c fWorkAreas(hwnd,
1e0a0 20 70 6e 57 6f 72 6b 41 72 65 61 73 29 20 28 42 pnWorkAreas) (B
1e0b0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
1e0c0 29 2c 20 4c 56 4d 5f 47 45 54 4e 55 4d 42 45 52 ), LVM_GETNUMBER
1e0d0 4f 46 57 4f 52 4b 41 52 45 41 53 2c 20 30 2c 20 OFWORKAREAS, 0,
1e0e0 28 4c 50 41 52 41 4d 29 28 55 49 4e 54 20 2a 29 (LPARAM)(UINT *)
1e0f0 28 70 6e 57 6f 72 6b 41 72 65 61 73 29 29 0d 0a (pnWorkAreas))..
1e100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1e110 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 49 4f 4e LVM_GETSELECTION
1e120 4d 41 52 4b 20 3d 20 4c 56 4d 5f 46 49 52 53 54 MARK = LVM_FIRST
1e130 20 2b 20 36 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 66 }..// #def
1e140 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 ine ListView_Get
1e150 53 65 6c 65 63 74 69 6f 6e 4d 61 72 6b 28 68 77 SelectionMark(hw
1e160 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 nd) (int)SNDMSG(
1e170 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 53 (hwnd), LVM_GETS
1e180 45 4c 45 43 54 49 4f 4e 4d 41 52 4b 2c 20 30 2c ELECTIONMARK, 0,
1e190 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 0)....enum : ui
1e1a0 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 53 45 4c 45 nt { LVM_SETSELE
1e1b0 43 54 49 4f 4e 4d 41 52 4b 20 3d 20 4c 56 4d 5f CTIONMARK = LVM_
1e1c0 46 49 52 53 54 20 2b 20 36 37 20 7d 0d 0a 2f 2f FIRST + 67 }..//
1e1d0 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 #define ListVie
1e1e0 77 5f 53 65 74 53 65 6c 65 63 74 69 6f 6e 4d 61 w_SetSelectionMa
1e1f0 72 6b 28 68 77 6e 64 2c 20 69 29 20 28 69 6e 74 rk(hwnd, i) (int
1e200 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
1e210 4c 56 4d 5f 53 45 54 53 45 4c 45 43 54 49 4f 4e LVM_SETSELECTION
1e220 4d 41 52 4b 2c 20 30 2c 20 28 4c 50 41 52 41 4d MARK, 0, (LPARAM
1e230 29 28 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 )(i))....enum :
1e240 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 48 4f uint { LVM_SETHO
1e250 56 45 52 54 49 4d 45 20 3d 20 4c 56 4d 5f 46 49 VERTIME = LVM_FI
1e260 52 53 54 20 2b 20 37 31 20 7d 0d 0a 2f 2f 20 23 RST + 71 }..// #
1e270 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f define ListView_
1e280 53 65 74 48 6f 76 65 72 54 69 6d 65 28 68 77 6e SetHoverTime(hwn
1e290 64 4c 56 2c 20 64 77 48 6f 76 65 72 54 69 6d 65 dLV, dwHoverTime
1e2a0 4d 73 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53 Ms) (DWORD)SNDMS
1e2b0 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f G((hwndLV), LVM_
1e2c0 53 45 54 48 4f 56 45 52 54 49 4d 45 2c 20 30 2c SETHOVERTIME, 0,
1e2d0 20 28 4c 50 41 52 41 4d 29 28 64 77 48 6f 76 65 (LPARAM)(dwHove
1e2e0 72 54 69 6d 65 4d 73 29 29 0d 0a 0d 0a 65 6e 75 rTimeMs))....enu
1e2f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 m : uint { LVM_G
1e300 45 54 48 4f 56 45 52 54 49 4d 45 20 3d 20 4c 56 ETHOVERTIME = LV
1e310 4d 5f 46 49 52 53 54 20 2b 20 37 32 20 7d 0d 0a M_FIRST + 72 }..
1e320 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 // #define ListV
1e330 69 65 77 5f 47 65 74 48 6f 76 65 72 54 69 6d 65 iew_GetHoverTime
1e340 28 68 77 6e 64 4c 56 29 20 28 44 57 4f 52 44 29 (hwndLV) (DWORD)
1e350 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c SNDMSG((hwndLV),
1e360 20 4c 56 4d 5f 47 45 54 48 4f 56 45 52 54 49 4d LVM_GETHOVERTIM
1e370 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d E, 0, 0)....enum
1e380 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 : uint { LVM_SE
1e390 54 54 4f 4f 4c 54 49 50 53 20 3d 20 4c 56 4d 5f TTOOLTIPS = LVM_
1e3a0 46 49 52 53 54 20 2b 20 37 34 20 7d 0d 0a 2f 2f FIRST + 74 }..//
1e3b0 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 #define ListVie
1e3c0 77 5f 53 65 74 54 6f 6f 6c 54 69 70 73 28 68 77 w_SetToolTips(hw
1e3d0 6e 64 4c 56 2c 20 68 77 6e 64 4e 65 77 48 77 6e ndLV, hwndNewHwn
1e3e0 64 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 d) (HWND)SNDMSG(
1e3f0 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 (hwndLV), LVM_SE
1e400 54 54 4f 4f 4c 54 49 50 53 2c 20 28 57 50 41 52 TTOOLTIPS, (WPAR
1e410 41 4d 29 28 68 77 6e 64 4e 65 77 48 77 6e 64 29 AM)(hwndNewHwnd)
1e420 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 , 0)....enum : u
1e430 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 54 4f 4f int { LVM_GETTOO
1e440 4c 54 49 50 53 20 3d 20 4c 56 4d 5f 46 49 52 53 LTIPS = LVM_FIRS
1e450 54 20 2b 20 37 38 20 7d 0d 0a 2f 2f 20 23 64 65 T + 78 }..// #de
1e460 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 fine ListView_Ge
1e470 74 54 6f 6f 6c 54 69 70 73 28 68 77 6e 64 4c 56 tToolTips(hwndLV
1e480 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 28 ) (HWND)SNDMSG((
1e490 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 hwndLV), LVM_GET
1e4a0 54 4f 4f 4c 54 49 50 53 2c 20 30 2c 20 30 29 0d TOOLTIPS, 0, 0).
1e4b0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1e4c0 20 4c 56 4d 5f 53 4f 52 54 49 54 45 4d 53 45 58 LVM_SORTITEMSEX
1e4d0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 38 = LVM_FIRST + 8
1e4e0 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 1 }..// #define
1e4f0 4c 69 73 74 56 69 65 77 5f 53 6f 72 74 49 74 65 ListView_SortIte
1e500 6d 73 45 78 28 68 77 6e 64 4c 56 2c 20 5f 70 66 msEx(hwndLV, _pf
1e510 6e 43 6f 6d 70 61 72 65 2c 20 5f 6c 50 72 6d 29 nCompare, _lPrm)
1e520 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 (BOOL)SNDMSG((h
1e530 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 4f 52 54 wndLV), LVM_SORT
1e540 49 54 45 4d 53 45 58 2c 20 28 57 50 41 52 41 4d ITEMSEX, (WPARAM
1e550 29 28 4c 50 41 52 41 4d 29 28 5f 6c 50 72 6d 29 )(LPARAM)(_lPrm)
1e560 2c 20 28 4c 50 41 52 41 4d 29 28 50 46 4e 4c 56 , (LPARAM)(PFNLV
1e570 43 4f 4d 50 41 52 45 29 28 5f 70 66 6e 43 6f 6d COMPARE)(_pfnCom
1e580 70 61 72 65 29 29 0d 0a 0d 0a 73 74 72 75 63 74 pare))....struct
1e590 20 74 61 67 4c 56 42 4b 49 4d 41 47 45 41 20 7b tagLVBKIMAGEA {
1e5a0 0d 0a 20 20 55 4c 4f 4e 47 20 75 6c 46 6c 61 67 .. ULONG ulFlag
1e5b0 73 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 s;.. HBITMAP hb
1e5c0 6d 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 49 m;.. LPSTR pszI
1e5d0 6d 61 67 65 3b 0d 0a 20 20 55 49 4e 54 20 63 63 mage;.. UINT cc
1e5e0 68 49 6d 61 67 65 4d 61 78 3b 0d 0a 20 20 69 6e hImageMax;.. in
1e5f0 74 20 78 4f 66 66 73 65 74 50 65 72 63 65 6e 74 t xOffsetPercent
1e600 3b 0d 0a 20 20 69 6e 74 20 79 4f 66 66 73 65 74 ;.. int yOffset
1e610 50 65 72 63 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 Percent;..}..ali
1e620 61 73 20 74 61 67 4c 56 42 4b 49 4d 41 47 45 41 as tagLVBKIMAGEA
1e630 20 4c 56 42 4b 49 4d 41 47 45 41 3b 0d 0a 61 6c LVBKIMAGEA;..al
1e640 69 61 73 20 74 61 67 4c 56 42 4b 49 4d 41 47 45 ias tagLVBKIMAGE
1e650 41 2a 20 4c 50 4c 56 42 4b 49 4d 41 47 45 41 3b A* LPLVBKIMAGEA;
1e660 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56 ....struct tagLV
1e670 42 4b 49 4d 41 47 45 57 20 7b 0d 0a 20 20 55 4c BKIMAGEW {.. UL
1e680 4f 4e 47 20 75 6c 46 6c 61 67 73 3b 0d 0a 20 20 ONG ulFlags;..
1e690 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d 0a 20 20 HBITMAP hbm;..
1e6a0 4c 50 57 53 54 52 20 70 73 7a 49 6d 61 67 65 3b LPWSTR pszImage;
1e6b0 0d 0a 20 20 55 49 4e 54 20 63 63 68 49 6d 61 67 .. UINT cchImag
1e6c0 65 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 78 4f 66 eMax;.. int xOf
1e6d0 66 73 65 74 50 65 72 63 65 6e 74 3b 0d 0a 20 20 fsetPercent;..
1e6e0 69 6e 74 20 79 4f 66 66 73 65 74 50 65 72 63 65 int yOffsetPerce
1e6f0 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 nt;..}..alias ta
1e700 67 4c 56 42 4b 49 4d 41 47 45 57 20 4c 56 42 4b gLVBKIMAGEW LVBK
1e710 49 4d 41 47 45 57 3b 0d 0a 61 6c 69 61 73 20 74 IMAGEW;..alias t
1e720 61 67 4c 56 42 4b 49 4d 41 47 45 57 2a 20 4c 50 agLVBKIMAGEW* LP
1e730 4c 56 42 4b 49 4d 41 47 45 57 3b 0d 0a 0d 0a 65 LVBKIMAGEW;....e
1e740 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 42 num : uint { LVB
1e750 4b 49 46 5f 53 4f 55 52 43 45 5f 4e 4f 4e 45 20 KIF_SOURCE_NONE
1e760 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a = 0x00000000 }..
1e770 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
1e780 42 4b 49 46 5f 53 4f 55 52 43 45 5f 48 42 49 54 BKIF_SOURCE_HBIT
1e790 4d 41 50 20 3d 20 30 78 30 30 30 30 30 30 30 31 MAP = 0x00000001
1e7a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1e7b0 7b 20 4c 56 42 4b 49 46 5f 53 4f 55 52 43 45 5f { LVBKIF_SOURCE_
1e7c0 55 52 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32 URL = 0x00000002
1e7d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1e7e0 7b 20 4c 56 42 4b 49 46 5f 53 4f 55 52 43 45 5f { LVBKIF_SOURCE_
1e7f0 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30 30 MASK = 0x0000000
1e800 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 3 }..enum : uint
1e810 20 7b 20 4c 56 42 4b 49 46 5f 53 54 59 4c 45 5f { LVBKIF_STYLE_
1e820 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30 NORMAL = 0x00000
1e830 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 000 }..enum : ui
1e840 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 53 54 59 4c nt { LVBKIF_STYL
1e850 45 5f 54 49 4c 45 20 3d 20 30 78 30 30 30 30 30 E_TILE = 0x00000
1e860 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 010 }..enum : ui
1e870 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 53 54 59 4c nt { LVBKIF_STYL
1e880 45 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 E_MASK = 0x00000
1e890 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 010 }..// #if (_
1e8a0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0
1e8b0 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 x501)..enum : ui
1e8c0 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 46 4c 41 47 nt { LVBKIF_FLAG
1e8d0 5f 54 49 4c 45 4f 46 46 53 45 54 20 3d 20 30 78 _TILEOFFSET = 0x
1e8e0 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 00000100 }..enum
1e8f0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 42 4b 49 46 : uint { LVBKIF
1e900 5f 54 59 50 45 5f 57 41 54 45 52 4d 41 52 4b 20 _TYPE_WATERMARK
1e910 3d 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a = 0x10000000 }..
1e920 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 // #endif....enu
1e930 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 m : uint { LVM_S
1e940 45 54 42 4b 49 4d 41 47 45 41 20 3d 20 4c 56 4d ETBKIMAGEA = LVM
1e950 5f 46 49 52 53 54 20 2b 20 36 38 20 7d 0d 0a 65 _FIRST + 68 }..e
1e960 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1e970 5f 53 45 54 42 4b 49 4d 41 47 45 57 20 3d 20 4c _SETBKIMAGEW = L
1e980 56 4d 5f 46 49 52 53 54 20 2b 20 31 33 38 20 7d VM_FIRST + 138 }
1e990 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1e9a0 4c 56 4d 5f 47 45 54 42 4b 49 4d 41 47 45 41 20 LVM_GETBKIMAGEA
1e9b0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 39 = LVM_FIRST + 69
1e9c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1e9d0 7b 20 4c 56 4d 5f 47 45 54 42 4b 49 4d 41 47 45 { LVM_GETBKIMAGE
1e9e0 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 W = LVM_FIRST +
1e9f0 31 33 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 139 }....// #if
1ea00 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d (_WIN32_WINNT >=
1ea10 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 0x501)..enum :
1ea20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 53 45 uint { LVM_SETSE
1ea30 4c 45 43 54 45 44 43 4f 4c 55 4d 4e 20 3d 20 4c LECTEDCOLUMN = L
1ea40 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 30 20 7d VM_FIRST + 140 }
1ea50 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1ea60 74 56 69 65 77 5f 53 65 74 53 65 6c 65 63 74 65 tView_SetSelecte
1ea70 64 43 6f 6c 75 6d 6e 28 68 77 6e 64 2c 20 69 43 dColumn(hwnd, iC
1ea80 6f 6c 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 ol) SNDMSG((hwnd
1ea90 29 2c 20 4c 56 4d 5f 53 45 54 53 45 4c 45 43 54 ), LVM_SETSELECT
1eaa0 45 44 43 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41 EDCOLUMN, (WPARA
1eab0 4d 29 69 43 6f 6c 2c 20 30 29 0d 0a 0d 0a 65 6e M)iCol, 0)....en
1eac0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f um : uint { LVM_
1ead0 53 45 54 54 49 4c 45 57 49 44 54 48 20 3d 20 4c SETTILEWIDTH = L
1eae0 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 31 20 7d VM_FIRST + 141 }
1eaf0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1eb00 74 56 69 65 77 5f 53 65 74 54 69 6c 65 57 69 64 tView_SetTileWid
1eb10 74 68 28 68 77 6e 64 2c 20 63 70 57 69 64 74 68 th(hwnd, cpWidth
1eb20 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c ) SNDMSG((hwnd),
1eb30 20 4c 56 4d 5f 53 45 54 54 49 4c 45 57 49 44 54 LVM_SETTILEWIDT
1eb40 48 2c 20 28 57 50 41 52 41 4d 29 63 70 57 69 64 H, (WPARAM)cpWid
1eb50 74 68 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a th, 0)....enum :
1eb60 20 75 69 6e 74 20 7b 20 4c 56 5f 56 49 45 57 5f uint { LV_VIEW_
1eb70 49 43 4f 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d ICON = 0x0000 }.
1eb80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1eb90 56 5f 56 49 45 57 5f 44 45 54 41 49 4c 53 20 3d V_VIEW_DETAILS =
1eba0 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
1ebb0 3a 20 75 69 6e 74 20 7b 20 4c 56 5f 56 49 45 57 : uint { LV_VIEW
1ebc0 5f 53 4d 41 4c 4c 49 43 4f 4e 20 3d 20 30 78 30 _SMALLICON = 0x0
1ebd0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 002 }..enum : ui
1ebe0 6e 74 20 7b 20 4c 56 5f 56 49 45 57 5f 4c 49 53 nt { LV_VIEW_LIS
1ebf0 54 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e T = 0x0003 }..en
1ec00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 5f 56 um : uint { LV_V
1ec10 49 45 57 5f 54 49 4c 45 20 3d 20 30 78 30 30 30 IEW_TILE = 0x000
1ec20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 4 }..enum : uint
1ec30 20 7b 20 4c 56 5f 56 49 45 57 5f 4d 41 58 20 3d { LV_VIEW_MAX =
1ec40 20 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 0x0004 }....enu
1ec50 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 m : uint { LVM_S
1ec60 45 54 56 49 45 57 20 3d 20 4c 56 4d 5f 46 49 52 ETVIEW = LVM_FIR
1ec70 53 54 20 2b 20 31 34 32 20 7d 0d 0a 2f 2f 20 23 ST + 142 }..// #
1ec80 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f define ListView_
1ec90 53 65 74 56 69 65 77 28 68 77 6e 64 2c 20 69 56 SetView(hwnd, iV
1eca0 69 65 77 29 20 28 44 57 4f 52 44 29 53 4e 44 4d iew) (DWORD)SNDM
1ecb0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 SG((hwnd), LVM_S
1ecc0 45 54 56 49 45 57 2c 20 28 57 50 41 52 41 4d 29 ETVIEW, (WPARAM)
1ecd0 28 44 57 4f 52 44 29 69 56 69 65 77 2c 20 30 29 (DWORD)iView, 0)
1ece0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
1ecf0 7b 20 4c 56 4d 5f 47 45 54 56 49 45 57 20 3d 20 { LVM_GETVIEW =
1ed00 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 33 20 LVM_FIRST + 143
1ed10 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
1ed20 73 74 56 69 65 77 5f 47 65 74 56 69 65 77 28 68 stView_GetView(h
1ed30 77 6e 64 29 20 28 44 57 4f 52 44 29 53 4e 44 4d wnd) (DWORD)SNDM
1ed40 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 SG((hwnd), LVM_G
1ed50 45 54 56 49 45 57 2c 20 30 2c 20 30 29 0d 0a 0d ETVIEW, 0, 0)...
1ed60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1ed70 56 47 46 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30 VGF_NONE = 0x000
1ed80 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00000 }..enum :
1ed90 75 69 6e 74 20 7b 20 4c 56 47 46 5f 48 45 41 44 uint { LVGF_HEAD
1eda0 45 52 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 ER = 0x00000001
1edb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
1edc0 20 4c 56 47 46 5f 46 4f 4f 54 45 52 20 3d 20 30 LVGF_FOOTER = 0
1edd0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 x00000002 }..enu
1ede0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 46 5f m : uint { LVGF_
1edf0 53 54 41 54 45 20 3d 20 30 78 30 30 30 30 30 30 STATE = 0x000000
1ee00 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 04 }..enum : uin
1ee10 74 20 7b 20 4c 56 47 46 5f 41 4c 49 47 4e 20 3d t { LVGF_ALIGN =
1ee20 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 0x00000008 }..e
1ee30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 num : uint { LVG
1ee40 46 5f 47 52 4f 55 50 49 44 20 3d 20 30 78 30 30 F_GROUPID = 0x00
1ee50 30 30 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 000010 }....enum
1ee60 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 53 5f 4e : uint { LVGS_N
1ee70 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30 30 ORMAL = 0x000000
1ee80 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
1ee90 74 20 7b 20 4c 56 47 53 5f 43 4f 4c 4c 41 50 53 t { LVGS_COLLAPS
1eea0 45 44 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 ED = 0x00000001
1eeb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
1eec0 20 4c 56 47 53 5f 48 49 44 44 45 4e 20 3d 20 30 LVGS_HIDDEN = 0
1eed0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 x00000002 }....e
1eee0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 num : uint { LVG
1eef0 41 5f 48 45 41 44 45 52 5f 4c 45 46 54 20 3d 20 A_HEADER_LEFT =
1ef00 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 0x00000001 }..en
1ef10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 41 um : uint { LVGA
1ef20 5f 48 45 41 44 45 52 5f 43 45 4e 54 45 52 20 3d _HEADER_CENTER =
1ef30 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 0x00000002 }..e
1ef40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 num : uint { LVG
1ef50 41 5f 48 45 41 44 45 52 5f 52 49 47 48 54 20 3d A_HEADER_RIGHT =
1ef60 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 0x00000004 }..e
1ef70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 num : uint { LVG
1ef80 41 5f 46 4f 4f 54 45 52 5f 4c 45 46 54 20 3d 20 A_FOOTER_LEFT =
1ef90 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 0x00000008 }..en
1efa0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 41 um : uint { LVGA
1efb0 5f 46 4f 4f 54 45 52 5f 43 45 4e 54 45 52 20 3d _FOOTER_CENTER =
1efc0 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 0x00000010 }..e
1efd0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 num : uint { LVG
1efe0 41 5f 46 4f 4f 54 45 52 5f 52 49 47 48 54 20 3d A_FOOTER_RIGHT =
1eff0 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 0d 0x00000020 }...
1f000 0a 73 74 72 75 63 74 20 74 61 67 4c 56 47 52 4f .struct tagLVGRO
1f010 55 50 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 UP {.. UINT cbS
1f020 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 6d 61 73 ize;.. UINT mas
1f030 6b 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a k;.. LPWSTR psz
1f040 48 65 61 64 65 72 3b 0d 0a 20 20 69 6e 74 20 63 Header;.. int c
1f050 63 68 48 65 61 64 65 72 3b 0d 0a 20 20 4c 50 57 chHeader;.. LPW
1f060 53 54 52 20 70 73 7a 46 6f 6f 74 65 72 3b 0d 0a STR pszFooter;..
1f070 20 20 69 6e 74 20 63 63 68 46 6f 6f 74 65 72 3b int cchFooter;
1f080 0d 0a 20 20 69 6e 74 20 69 47 72 6f 75 70 49 64 .. int iGroupId
1f090 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61 74 65 4d ;.. UINT stateM
1f0a0 61 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61 ask;.. UINT sta
1f0b0 74 65 3b 0d 0a 20 20 55 49 4e 54 20 75 41 6c 69 te;.. UINT uAli
1f0c0 67 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 gn;..}..alias ta
1f0d0 67 4c 56 47 52 4f 55 50 20 4c 56 47 52 4f 55 50 gLVGROUP LVGROUP
1f0e0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 47 52 ;..alias tagLVGR
1f0f0 4f 55 50 2a 20 50 4c 56 47 52 4f 55 50 3b 0d 0a OUP* PLVGROUP;..
1f100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1f110 4c 56 4d 5f 49 4e 53 45 52 54 47 52 4f 55 50 20 LVM_INSERTGROUP
1f120 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 = LVM_FIRST + 14
1f130 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5 }..// #define
1f140 4c 69 73 74 56 69 65 77 5f 49 6e 73 65 72 74 47 ListView_InsertG
1f150 72 6f 75 70 28 68 77 6e 64 2c 20 69 6e 64 65 78 roup(hwnd, index
1f160 2c 20 70 67 72 70 29 20 53 4e 44 4d 53 47 28 28 , pgrp) SNDMSG((
1f170 68 77 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45 52 hwnd), LVM_INSER
1f180 54 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d 29 TGROUP, (WPARAM)
1f190 69 6e 64 65 78 2c 20 28 4c 50 41 52 41 4d 29 70 index, (LPARAM)p
1f1a0 67 72 70 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 grp)....enum : u
1f1b0 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 47 52 4f int { LVM_SETGRO
1f1c0 55 50 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49 52 UPINFO = LVM_FIR
1f1d0 53 54 20 2b 20 31 34 37 20 7d 0d 0a 2f 2f 20 23 ST + 147 }..// #
1f1e0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f define ListView_
1f1f0 53 65 74 47 72 6f 75 70 49 6e 66 6f 28 68 77 6e SetGroupInfo(hwn
1f200 64 2c 20 69 47 72 6f 75 70 49 64 2c 20 70 67 72 d, iGroupId, pgr
1f210 70 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 p) SNDMSG((hwnd)
1f220 2c 20 4c 56 4d 5f 53 45 54 47 52 4f 55 50 49 4e , LVM_SETGROUPIN
1f230 46 4f 2c 20 28 57 50 41 52 41 4d 29 69 47 72 6f FO, (WPARAM)iGro
1f240 75 70 49 64 2c 20 28 4c 50 41 52 41 4d 29 70 67 upId, (LPARAM)pg
1f250 72 70 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 rp)....enum : ui
1f260 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 47 52 4f 55 nt { LVM_GETGROU
1f270 50 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49 52 53 PINFO = LVM_FIRS
1f280 54 20 2b 20 31 34 39 20 7d 0d 0a 2f 2f 20 23 64 T + 149 }..// #d
1f290 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 efine ListView_G
1f2a0 65 74 47 72 6f 75 70 49 6e 66 6f 28 68 77 6e 64 etGroupInfo(hwnd
1f2b0 2c 20 69 47 72 6f 75 70 49 64 2c 20 70 67 72 70 , iGroupId, pgrp
1f2c0 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c ) SNDMSG((hwnd),
1f2d0 20 4c 56 4d 5f 47 45 54 47 52 4f 55 50 49 4e 46 LVM_GETGROUPINF
1f2e0 4f 2c 20 28 57 50 41 52 41 4d 29 69 47 72 6f 75 O, (WPARAM)iGrou
1f2f0 70 49 64 2c 20 28 4c 50 41 52 41 4d 29 70 67 72 pId, (LPARAM)pgr
1f300 70 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e p)....enum : uin
1f310 74 20 7b 20 4c 56 4d 5f 52 45 4d 4f 56 45 47 52 t { LVM_REMOVEGR
1f320 4f 55 50 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 OUP = LVM_FIRST
1f330 2b 20 31 35 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 150 }..// #def
1f340 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 52 65 6d ine ListView_Rem
1f350 6f 76 65 47 72 6f 75 70 28 68 77 6e 64 2c 20 69 oveGroup(hwnd, i
1f360 47 72 6f 75 70 49 64 29 20 53 4e 44 4d 53 47 28 GroupId) SNDMSG(
1f370 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 52 45 4d 4f (hwnd), LVM_REMO
1f380 56 45 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d VEGROUP, (WPARAM
1f390 29 69 47 72 6f 75 70 49 64 2c 20 30 29 0d 0a 0d )iGroupId, 0)...
1f3a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
1f3b0 56 4d 5f 4d 4f 56 45 47 52 4f 55 50 20 3d 20 4c VM_MOVEGROUP = L
1f3c0 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 31 20 7d VM_FIRST + 151 }
1f3d0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
1f3e0 74 56 69 65 77 5f 4d 6f 76 65 47 72 6f 75 70 28 tView_MoveGroup(
1f3f0 68 77 6e 64 2c 20 69 47 72 6f 75 70 49 64 2c 20 hwnd, iGroupId,
1f400 74 6f 49 6e 64 65 78 29 20 53 4e 44 4d 53 47 28 toIndex) SNDMSG(
1f410 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 4d 4f 56 45 (hwnd), LVM_MOVE
1f420 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d 29 69 GROUP, (WPARAM)i
1f430 47 72 6f 75 70 49 64 2c 20 28 4c 50 41 52 41 4d GroupId, (LPARAM
1f440 29 74 6f 49 6e 64 65 78 29 0d 0a 0d 0a 65 6e 75 )toIndex)....enu
1f450 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 4d m : uint { LVM_M
1f460 4f 56 45 49 54 45 4d 54 4f 47 52 4f 55 50 20 3d OVEITEMTOGROUP =
1f470 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 34 LVM_FIRST + 154
1f480 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c }..// #define L
1f490 69 73 74 56 69 65 77 5f 4d 6f 76 65 49 74 65 6d istView_MoveItem
1f4a0 54 6f 47 72 6f 75 70 28 68 77 6e 64 2c 20 69 64 ToGroup(hwnd, id
1f4b0 49 74 65 6d 46 72 6f 6d 2c 20 69 64 47 72 6f 75 ItemFrom, idGrou
1f4c0 70 54 6f 29 20 53 4e 44 4d 53 47 28 28 68 77 6e pTo) SNDMSG((hwn
1f4d0 64 29 2c 20 4c 56 4d 5f 4d 4f 56 45 49 54 45 4d d), LVM_MOVEITEM
1f4e0 54 4f 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d TOGROUP, (WPARAM
1f4f0 29 69 64 49 74 65 6d 46 72 6f 6d 2c 20 28 4c 50 )idItemFrom, (LP
1f500 41 52 41 4d 29 69 64 47 72 6f 75 70 54 6f 29 0d ARAM)idGroupTo).
1f510 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
1f520 20 4c 56 47 4d 46 5f 4e 4f 4e 45 20 3d 20 30 78 LVGMF_NONE = 0x
1f530 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 00000000 }..enum
1f540 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 4d 46 5f : uint { LVGMF_
1f550 42 4f 52 44 45 52 53 49 5a 45 20 3d 20 30 78 30 BORDERSIZE = 0x0
1f560 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0000001 }..enum
1f570 3a 20 75 69 6e 74 20 7b 20 4c 56 47 4d 46 5f 42 : uint { LVGMF_B
1f580 4f 52 44 45 52 43 4f 4c 4f 52 20 3d 20 30 78 30 ORDERCOLOR = 0x0
1f590 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 0000002 }..enum
1f5a0 3a 20 75 69 6e 74 20 7b 20 4c 56 47 4d 46 5f 54 : uint { LVGMF_T
1f5b0 45 58 54 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30 EXTCOLOR = 0x000
1f5c0 30 30 30 30 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 00004 }....struc
1f5d0 74 20 74 61 67 4c 56 47 52 4f 55 50 4d 45 54 52 t tagLVGROUPMETR
1f5e0 49 43 53 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 ICS {.. UINT cb
1f5f0 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 6d 61 Size;.. UINT ma
1f600 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 4c 65 66 74 sk;.. UINT Left
1f610 3b 0d 0a 20 20 55 49 4e 54 20 54 6f 70 3b 0d 0a ;.. UINT Top;..
1f620 20 20 55 49 4e 54 20 52 69 67 68 74 3b 0d 0a 20 UINT Right;..
1f630 20 55 49 4e 54 20 42 6f 74 74 6f 6d 3b 0d 0a 20 UINT Bottom;..
1f640 20 43 4f 4c 4f 52 52 45 46 20 63 72 4c 65 66 74 COLORREF crLeft
1f650 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 72 ;.. COLORREF cr
1f660 54 6f 70 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 Top;.. COLORREF
1f670 20 63 72 52 69 67 68 74 3b 0d 0a 20 20 43 4f 4c crRight;.. COL
1f680 4f 52 52 45 46 20 63 72 42 6f 74 74 6f 6d 3b 0d ORREF crBottom;.
1f690 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 72 48 65 . COLORREF crHe
1f6a0 61 64 65 72 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 ader;.. COLORRE
1f6b0 46 20 63 72 46 6f 6f 74 65 72 3b 0d 0a 7d 0d 0a F crFooter;..}..
1f6c0 61 6c 69 61 73 20 74 61 67 4c 56 47 52 4f 55 50 alias tagLVGROUP
1f6d0 4d 45 54 52 49 43 53 20 4c 56 47 52 4f 55 50 4d METRICS LVGROUPM
1f6e0 45 54 52 49 43 53 3b 0d 0a 61 6c 69 61 73 20 74 ETRICS;..alias t
1f6f0 61 67 4c 56 47 52 4f 55 50 4d 45 54 52 49 43 53 agLVGROUPMETRICS
1f700 2a 20 50 4c 56 47 52 4f 55 50 4d 45 54 52 49 43 * PLVGROUPMETRIC
1f710 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e S;....enum : uin
1f720 74 20 7b 20 4c 56 4d 5f 53 45 54 47 52 4f 55 50 t { LVM_SETGROUP
1f730 4d 45 54 52 49 43 53 20 3d 20 4c 56 4d 5f 46 49 METRICS = LVM_FI
1f740 52 53 54 20 2b 20 31 35 35 20 7d 0d 0a 2f 2f 20 RST + 155 }..//
1f750 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
1f760 5f 53 65 74 47 72 6f 75 70 4d 65 74 72 69 63 73 _SetGroupMetrics
1f770 28 68 77 6e 64 2c 20 70 47 72 6f 75 70 4d 65 74 (hwnd, pGroupMet
1f780 72 69 63 73 29 20 53 4e 44 4d 53 47 28 28 68 77 rics) SNDMSG((hw
1f790 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 47 52 4f 55 nd), LVM_SETGROU
1f7a0 50 4d 45 54 52 49 43 53 2c 20 30 2c 20 28 4c 50 PMETRICS, 0, (LP
1f7b0 41 52 41 4d 29 70 47 72 6f 75 70 4d 65 74 72 69 ARAM)pGroupMetri
1f7c0 63 73 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 cs)....enum : ui
1f7d0 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 47 52 4f 55 nt { LVM_GETGROU
1f7e0 50 4d 45 54 52 49 43 53 20 3d 20 4c 56 4d 5f 46 PMETRICS = LVM_F
1f7f0 49 52 53 54 20 2b 20 31 35 36 20 7d 0d 0a 2f 2f IRST + 156 }..//
1f800 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 #define ListVie
1f810 77 5f 47 65 74 47 72 6f 75 70 4d 65 74 72 69 63 w_GetGroupMetric
1f820 73 28 68 77 6e 64 2c 20 70 47 72 6f 75 70 4d 65 s(hwnd, pGroupMe
1f830 74 72 69 63 73 29 20 53 4e 44 4d 53 47 28 28 68 trics) SNDMSG((h
1f840 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 47 52 4f wnd), LVM_GETGRO
1f850 55 50 4d 45 54 52 49 43 53 2c 20 30 2c 20 28 4c UPMETRICS, 0, (L
1f860 50 41 52 41 4d 29 70 47 72 6f 75 70 4d 65 74 72 PARAM)pGroupMetr
1f870 69 63 73 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ics)....enum : u
1f880 69 6e 74 20 7b 20 4c 56 4d 5f 45 4e 41 42 4c 45 int { LVM_ENABLE
1f890 47 52 4f 55 50 56 49 45 57 20 3d 20 4c 56 4d 5f GROUPVIEW = LVM_
1f8a0 46 49 52 53 54 20 2b 20 31 35 37 20 7d 0d 0a 2f FIRST + 157 }../
1f8b0 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 / #define ListVi
1f8c0 65 77 5f 45 6e 61 62 6c 65 47 72 6f 75 70 56 69 ew_EnableGroupVi
1f8d0 65 77 28 68 77 6e 64 2c 20 66 45 6e 61 62 6c 65 ew(hwnd, fEnable
1f8e0 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c ) SNDMSG((hwnd),
1f8f0 20 4c 56 4d 5f 45 4e 41 42 4c 45 47 52 4f 55 50 LVM_ENABLEGROUP
1f900 56 49 45 57 2c 20 28 57 50 41 52 41 4d 29 66 45 VIEW, (WPARAM)fE
1f910 6e 61 62 6c 65 2c 20 30 29 0d 0a 0d 0a 65 78 74 nable, 0)....ext
1f920 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 ern(Windows) ali
1f930 61 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 as int function(
1f940 69 6e 74 2c 20 69 6e 74 2c 20 76 6f 69 64 20 2a int, int, void *
1f950 29 20 50 46 4e 4c 56 47 52 4f 55 50 43 4f 4d 50 ) PFNLVGROUPCOMP
1f960 41 52 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ARE;....enum : u
1f970 69 6e 74 20 7b 20 4c 56 4d 5f 53 4f 52 54 47 52 int { LVM_SORTGR
1f980 4f 55 50 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54 OUPS = LVM_FIRST
1f990 20 2b 20 31 35 38 20 7d 0d 0a 2f 2f 20 23 64 65 + 158 }..// #de
1f9a0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 6f fine ListView_So
1f9b0 72 74 47 72 6f 75 70 73 28 68 77 6e 64 2c 20 5f rtGroups(hwnd, _
1f9c0 70 66 6e 47 72 6f 75 70 43 6f 6d 70 61 74 65 2c pfnGroupCompate,
1f9d0 20 5f 70 6c 76 29 20 53 4e 44 4d 53 47 28 28 68 _plv) SNDMSG((h
1f9e0 77 6e 64 29 2c 20 4c 56 4d 5f 53 4f 52 54 47 52 wnd), LVM_SORTGR
1f9f0 4f 55 50 53 2c 20 28 57 50 41 52 41 4d 29 5f 70 OUPS, (WPARAM)_p
1fa00 66 6e 47 72 6f 75 70 43 6f 6d 70 61 74 65 2c 20 fnGroupCompate,
1fa10 28 4c 50 41 52 41 4d 29 5f 70 6c 76 29 0d 0a 0d (LPARAM)_plv)...
1fa20 0a 73 74 72 75 63 74 20 74 61 67 4c 56 49 4e 53 .struct tagLVINS
1fa30 45 52 54 47 52 4f 55 50 53 4f 52 54 45 44 20 7b ERTGROUPSORTED {
1fa40 0d 0a 20 20 50 46 4e 4c 56 47 52 4f 55 50 43 4f .. PFNLVGROUPCO
1fa50 4d 50 41 52 45 20 70 66 6e 47 72 6f 75 70 43 6f MPARE pfnGroupCo
1fa60 6d 70 61 72 65 3b 0d 0a 20 20 76 6f 69 64 20 2a mpare;.. void *
1fa70 70 76 44 61 74 61 3b 0d 0a 20 20 4c 56 47 52 4f pvData;.. LVGRO
1fa80 55 50 20 6c 76 47 72 6f 75 70 3b 0d 0a 7d 0d 0a UP lvGroup;..}..
1fa90 61 6c 69 61 73 20 74 61 67 4c 56 49 4e 53 45 52 alias tagLVINSER
1faa0 54 47 52 4f 55 50 53 4f 52 54 45 44 20 4c 56 49 TGROUPSORTED LVI
1fab0 4e 53 45 52 54 47 52 4f 55 50 53 4f 52 54 45 44 NSERTGROUPSORTED
1fac0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 49 4e ;..alias tagLVIN
1fad0 53 45 52 54 47 52 4f 55 50 53 4f 52 54 45 44 2a SERTGROUPSORTED*
1fae0 20 50 4c 56 49 4e 53 45 52 54 47 52 4f 55 50 53 PLVINSERTGROUPS
1faf0 4f 52 54 45 44 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a ORTED;....enum :
1fb00 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 uint { LVM_INSE
1fb10 52 54 47 52 4f 55 50 53 4f 52 54 45 44 20 3d 20 RTGROUPSORTED =
1fb20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 39 20 LVM_FIRST + 159
1fb30 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
1fb40 73 74 56 69 65 77 5f 49 6e 73 65 72 74 47 72 6f stView_InsertGro
1fb50 75 70 53 6f 72 74 65 64 28 68 77 6e 64 2c 20 73 upSorted(hwnd, s
1fb60 74 72 75 63 74 49 6e 73 65 72 74 29 20 53 4e 44 tructInsert) SND
1fb70 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f MSG((hwnd), LVM_
1fb80 49 4e 53 45 52 54 47 52 4f 55 50 53 4f 52 54 45 INSERTGROUPSORTE
1fb90 44 2c 20 28 57 50 41 52 41 4d 29 73 74 72 75 63 D, (WPARAM)struc
1fba0 74 49 6e 73 65 72 74 2c 20 30 29 0d 0a 0d 0a 65 tInsert, 0)....e
1fbb0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
1fbc0 5f 52 45 4d 4f 56 45 41 4c 4c 47 52 4f 55 50 53 _REMOVEALLGROUPS
1fbd0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 = LVM_FIRST + 1
1fbe0 36 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 60 }..// #define
1fbf0 20 4c 69 73 74 56 69 65 77 5f 52 65 6d 6f 76 65 ListView_Remove
1fc00 41 6c 6c 47 72 6f 75 70 73 28 68 77 6e 64 29 20 AllGroups(hwnd)
1fc10 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c SNDMSG((hwnd), L
1fc20 56 4d 5f 52 45 4d 4f 56 45 41 4c 4c 47 52 4f 55 VM_REMOVEALLGROU
1fc30 50 53 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 PS, 0, 0)....enu
1fc40 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 48 m : uint { LVM_H
1fc50 41 53 47 52 4f 55 50 20 3d 20 4c 56 4d 5f 46 49 ASGROUP = LVM_FI
1fc60 52 53 54 20 2b 20 31 36 31 20 7d 0d 0a 2f 2f 20 RST + 161 }..//
1fc70 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
1fc80 5f 48 61 73 47 72 6f 75 70 28 68 77 6e 64 2c 20 _HasGroup(hwnd,
1fc90 64 77 47 72 6f 75 70 49 64 29 20 53 4e 44 4d 53 dwGroupId) SNDMS
1fca0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 48 41 G((hwnd), LVM_HA
1fcb0 53 47 52 4f 55 50 2c 20 64 77 47 72 6f 75 70 49 SGROUP, dwGroupI
1fcc0 64 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 d, 0)....enum :
1fcd0 75 69 6e 74 20 7b 20 4c 56 54 56 49 46 5f 41 55 uint { LVTVIF_AU
1fce0 54 4f 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30 TOSIZE = 0x00000
1fcf0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 000 }..enum : ui
1fd00 6e 74 20 7b 20 4c 56 54 56 49 46 5f 46 49 58 45 nt { LVTVIF_FIXE
1fd10 44 57 49 44 54 48 20 3d 20 30 78 30 30 30 30 30 DWIDTH = 0x00000
1fd20 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 001 }..enum : ui
1fd30 6e 74 20 7b 20 4c 56 54 56 49 46 5f 46 49 58 45 nt { LVTVIF_FIXE
1fd40 44 48 45 49 47 48 54 20 3d 20 30 78 30 30 30 30 DHEIGHT = 0x0000
1fd50 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0002 }..enum : u
1fd60 69 6e 74 20 7b 20 4c 56 54 56 49 46 5f 46 49 58 int { LVTVIF_FIX
1fd70 45 44 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30 EDSIZE = 0x00000
1fd80 30 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 003 }....enum :
1fd90 75 69 6e 74 20 7b 20 4c 56 54 56 49 4d 5f 54 49 uint { LVTVIM_TI
1fda0 4c 45 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30 LESIZE = 0x00000
1fdb0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 001 }..enum : ui
1fdc0 6e 74 20 7b 20 4c 56 54 56 49 4d 5f 43 4f 4c 55 nt { LVTVIM_COLU
1fdd0 4d 4e 53 20 3d 20 30 78 30 30 30 30 30 30 30 32 MNS = 0x00000002
1fde0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1fdf0 7b 20 4c 56 54 56 49 4d 5f 4c 41 42 45 4c 4d 41 { LVTVIM_LABELMA
1fe00 52 47 49 4e 20 3d 20 30 78 30 30 30 30 30 30 30 RGIN = 0x0000000
1fe10 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 4 }....struct ta
1fe20 67 4c 56 54 49 4c 45 56 49 45 57 49 4e 46 4f 20 gLVTILEVIEWINFO
1fe30 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 {.. UINT cbSize
1fe40 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61 73 ;.. DWORD dwMas
1fe50 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c k;.. DWORD dwFl
1fe60 61 67 73 3b 0d 0a 20 20 53 49 5a 45 20 73 69 7a ags;.. SIZE siz
1fe70 65 54 69 6c 65 3b 0d 0a 20 20 69 6e 74 20 63 4c eTile;.. int cL
1fe80 69 6e 65 73 3b 0d 0a 20 20 52 45 43 54 20 72 63 ines;.. RECT rc
1fe90 4c 61 62 65 6c 4d 61 72 67 69 6e 3b 0d 0a 7d 0d LabelMargin;..}.
1fea0 0a 61 6c 69 61 73 20 74 61 67 4c 56 54 49 4c 45 .alias tagLVTILE
1feb0 56 49 45 57 49 4e 46 4f 20 4c 56 54 49 4c 45 56 VIEWINFO LVTILEV
1fec0 49 45 57 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 IEWINFO;..alias
1fed0 74 61 67 4c 56 54 49 4c 45 56 49 45 57 49 4e 46 tagLVTILEVIEWINF
1fee0 4f 2a 20 50 4c 56 54 49 4c 45 56 49 45 57 49 4e O* PLVTILEVIEWIN
1fef0 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 FO;....struct ta
1ff00 67 4c 56 54 49 4c 45 49 4e 46 4f 20 7b 0d 0a 20 gLVTILEINFO {..
1ff10 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 UINT cbSize;..
1ff20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 55 int iItem;.. U
1ff30 49 4e 54 20 63 43 6f 6c 75 6d 6e 73 3b 0d 0a 20 INT cColumns;..
1ff40 20 50 55 49 4e 54 20 70 75 43 6f 6c 75 6d 6e 73 PUINT puColumns
1ff50 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c ;..}..alias tagL
1ff60 56 54 49 4c 45 49 4e 46 4f 20 4c 56 54 49 4c 45 VTILEINFO LVTILE
1ff70 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 INFO;..alias tag
1ff80 4c 56 54 49 4c 45 49 4e 46 4f 2a 20 50 4c 56 54 LVTILEINFO* PLVT
1ff90 49 4c 45 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d ILEINFO;....enum
1ffa0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 : uint { LVM_SE
1ffb0 54 54 49 4c 45 56 49 45 57 49 4e 46 4f 20 3d 20 TTILEVIEWINFO =
1ffc0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 36 32 20 LVM_FIRST + 162
1ffd0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
1ffe0 73 74 56 69 65 77 5f 53 65 74 54 69 6c 65 56 69 stView_SetTileVi
1fff0 65 77 49 6e 66 6f 28 68 77 6e 64 2c 20 70 74 76 ewInfo(hwnd, ptv
20000 69 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 i) SNDMSG((hwnd)
20010 2c 20 4c 56 4d 5f 53 45 54 54 49 4c 45 56 49 45 , LVM_SETTILEVIE
20020 57 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41 52 41 WINFO, 0, (LPARA
20030 4d 29 70 74 76 69 29 0d 0a 0d 0a 65 6e 75 6d 20 M)ptvi)....enum
20040 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 : uint { LVM_GET
20050 54 49 4c 45 56 49 45 57 49 4e 46 4f 20 3d 20 4c TILEVIEWINFO = L
20060 56 4d 5f 46 49 52 53 54 20 2b 20 31 36 33 20 7d VM_FIRST + 163 }
20070 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 ..// #define Lis
20080 74 56 69 65 77 5f 47 65 74 54 69 6c 65 56 69 65 tView_GetTileVie
20090 77 49 6e 66 6f 28 68 77 6e 64 2c 20 70 74 76 69 wInfo(hwnd, ptvi
200a0 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c ) SNDMSG((hwnd),
200b0 20 4c 56 4d 5f 47 45 54 54 49 4c 45 56 49 45 57 LVM_GETTILEVIEW
200c0 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41 52 41 4d INFO, 0, (LPARAM
200d0 29 70 74 76 69 29 0d 0a 0d 0a 65 6e 75 6d 20 3a )ptvi)....enum :
200e0 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 54 uint { LVM_SETT
200f0 49 4c 45 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49 ILEINFO = LVM_FI
20100 52 53 54 20 2b 20 31 36 34 20 7d 0d 0a 2f 2f 20 RST + 164 }..//
20110 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
20120 5f 53 65 74 54 69 6c 65 49 6e 66 6f 28 68 77 6e _SetTileInfo(hwn
20130 64 2c 20 70 74 69 29 20 53 4e 44 4d 53 47 28 28 d, pti) SNDMSG((
20140 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 54 49 hwnd), LVM_SETTI
20150 4c 45 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41 52 LEINFO, 0, (LPAR
20160 41 4d 29 70 74 69 29 0d 0a 0d 0a 65 6e 75 6d 20 AM)pti)....enum
20170 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 : uint { LVM_GET
20180 54 49 4c 45 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 TILEINFO = LVM_F
20190 49 52 53 54 20 2b 20 31 36 35 20 7d 0d 0a 2f 2f IRST + 165 }..//
201a0 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 #define ListVie
201b0 77 5f 47 65 74 54 69 6c 65 49 6e 66 6f 28 68 77 w_GetTileInfo(hw
201c0 6e 64 2c 20 70 74 69 29 20 53 4e 44 4d 53 47 28 nd, pti) SNDMSG(
201d0 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 54 (hwnd), LVM_GETT
201e0 49 4c 45 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41 ILEINFO, 0, (LPA
201f0 52 41 4d 29 70 74 69 29 0d 0a 0d 0a 73 74 72 75 RAM)pti)....stru
20200 63 74 20 5f 38 20 7b 0d 0a 20 20 55 49 4e 54 20 ct _8 {.. UINT
20210 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 cbSize;.. DWORD
20220 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 69 6e 74 dwFlags;.. int
20230 20 69 49 74 65 6d 3b 0d 0a 20 20 44 57 4f 52 44 iItem;.. DWORD
20240 20 64 77 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d dwReserved;..}.
20250 0a 61 6c 69 61 73 20 5f 38 20 4c 56 49 4e 53 45 .alias _8 LVINSE
20260 52 54 4d 41 52 4b 3b 0d 0a 61 6c 69 61 73 20 5f RTMARK;..alias _
20270 38 2a 20 4c 50 4c 56 49 4e 53 45 52 54 4d 41 52 8* LPLVINSERTMAR
20280 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e K;....enum : uin
20290 74 20 7b 20 4c 56 49 4d 5f 41 46 54 45 52 20 3d t { LVIM_AFTER =
202a0 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d 0x00000001 }...
202b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
202c0 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b VM_SETINSERTMARK
202d0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 = LVM_FIRST + 1
202e0 36 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 66 }..// #define
202f0 20 4c 69 73 74 56 69 65 77 5f 53 65 74 49 6e 73 ListView_SetIns
20300 65 72 74 4d 61 72 6b 28 68 77 6e 64 2c 20 6c 76 ertMark(hwnd, lv
20310 69 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 im) (BOOL)SNDMSG
20320 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 ((hwnd), LVM_SET
20330 49 4e 53 45 52 54 4d 41 52 4b 2c 20 28 57 50 41 INSERTMARK, (WPA
20340 52 41 4d 29 20 30 2c 20 28 4c 50 41 52 41 4d 29 RAM) 0, (LPARAM)
20350 20 28 6c 76 69 6d 29 29 0d 0a 0d 0a 65 6e 75 6d (lvim))....enum
20360 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 : uint { LVM_GE
20370 54 49 4e 53 45 52 54 4d 41 52 4b 20 3d 20 4c 56 TINSERTMARK = LV
20380 4d 5f 46 49 52 53 54 20 2b 20 31 36 37 20 7d 0d M_FIRST + 167 }.
20390 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 .// #define List
203a0 56 69 65 77 5f 47 65 74 49 6e 73 65 72 74 4d 61 View_GetInsertMa
203b0 72 6b 28 68 77 6e 64 2c 20 6c 76 69 6d 29 20 28 rk(hwnd, lvim) (
203c0 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e BOOL)SNDMSG((hwn
203d0 64 29 2c 20 4c 56 4d 5f 47 45 54 49 4e 53 45 52 d), LVM_GETINSER
203e0 54 4d 41 52 4b 2c 20 28 57 50 41 52 41 4d 29 20 TMARK, (WPARAM)
203f0 30 2c 20 28 4c 50 41 52 41 4d 29 20 28 6c 76 69 0, (LPARAM) (lvi
20400 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 m))....enum : ui
20410 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 52 54 4d nt { LVM_INSERTM
20420 41 52 4b 48 49 54 54 45 53 54 20 3d 20 4c 56 4d ARKHITTEST = LVM
20430 5f 46 49 52 53 54 20 2b 20 31 36 38 20 7d 0d 0a _FIRST + 168 }..
20440 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 // #define ListV
20450 69 65 77 5f 49 6e 73 65 72 74 4d 61 72 6b 48 69 iew_InsertMarkHi
20460 74 54 65 73 74 28 68 77 6e 64 2c 20 70 6f 69 6e tTest(hwnd, poin
20470 74 2c 20 6c 76 69 6d 29 20 28 69 6e 74 29 53 4e t, lvim) (int)SN
20480 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d DMSG((hwnd), LVM
20490 5f 49 4e 53 45 52 54 4d 41 52 4b 48 49 54 54 45 _INSERTMARKHITTE
204a0 53 54 2c 20 28 57 50 41 52 41 4d 29 28 4c 50 50 ST, (WPARAM)(LPP
204b0 4f 49 4e 54 29 28 70 6f 69 6e 74 29 2c 20 28 4c OINT)(point), (L
204c0 50 41 52 41 4d 29 28 4c 50 4c 56 49 4e 53 45 52 PARAM)(LPLVINSER
204d0 54 4d 41 52 4b 29 28 6c 76 69 6d 29 29 0d 0a 0d TMARK)(lvim))...
204e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
204f0 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b VM_GETINSERTMARK
20500 52 45 43 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54 RECT = LVM_FIRST
20510 20 2b 20 31 36 39 20 7d 0d 0a 2f 2f 20 23 64 65 + 169 }..// #de
20520 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 fine ListView_Ge
20530 74 49 6e 73 65 72 74 4d 61 72 6b 52 65 63 74 28 tInsertMarkRect(
20540 68 77 6e 64 2c 20 72 63 29 20 28 69 6e 74 29 53 hwnd, rc) (int)S
20550 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 NDMSG((hwnd), LV
20560 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b 52 M_GETINSERTMARKR
20570 45 43 54 2c 20 28 57 50 41 52 41 4d 29 30 2c 20 ECT, (WPARAM)0,
20580 28 4c 50 41 52 41 4d 29 28 4c 50 52 45 43 54 29 (LPARAM)(LPRECT)
20590 28 72 63 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 (rc))....enum :
205a0 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 4e uint { LVM_SETIN
205b0 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d 20 SERTMARKCOLOR =
205c0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 30 20 LVM_FIRST + 170
205d0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 }..// #define Li
205e0 73 74 56 69 65 77 5f 53 65 74 49 6e 73 65 72 74 stView_SetInsert
205f0 4d 61 72 6b 43 6f 6c 6f 72 28 68 77 6e 64 2c 20 MarkColor(hwnd,
20600 63 6f 6c 6f 72 29 20 28 43 4f 4c 4f 52 52 45 46 color) (COLORREF
20610 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
20620 4c 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 LVM_SETINSERTMAR
20630 4b 43 4f 4c 4f 52 2c 20 28 57 50 41 52 41 4d 29 KCOLOR, (WPARAM)
20640 30 2c 20 28 4c 50 41 52 41 4d 29 28 43 4f 4c 4f 0, (LPARAM)(COLO
20650 52 52 45 46 29 28 63 6f 6c 6f 72 29 29 0d 0a 0d RREF)(color))...
20660 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
20670 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b VM_GETINSERTMARK
20680 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53 COLOR = LVM_FIRS
20690 54 20 2b 20 31 37 31 20 7d 0d 0a 2f 2f 20 23 64 T + 171 }..// #d
206a0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 efine ListView_G
206b0 65 74 49 6e 73 65 72 74 4d 61 72 6b 43 6f 6c 6f etInsertMarkColo
206c0 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52 45 r(hwnd) (COLORRE
206d0 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c F)SNDMSG((hwnd),
206e0 20 4c 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 LVM_GETINSERTMA
206f0 52 4b 43 4f 4c 4f 52 2c 20 28 57 50 41 52 41 4d RKCOLOR, (WPARAM
20700 29 30 2c 20 28 4c 50 41 52 41 4d 29 30 29 0d 0a )0, (LPARAM)0)..
20710 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56 53 45 ..struct tagLVSE
20720 54 49 4e 46 4f 54 49 50 20 7b 0d 0a 20 20 55 49 TINFOTIP {.. UI
20730 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 NT cbSize;.. DW
20740 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 ORD dwFlags;..
20750 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d LPWSTR pszText;.
20760 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 . int iItem;..
20770 20 69 6e 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a int iSubItem;..
20780 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 53 45 }..alias tagLVSE
20790 54 49 4e 46 4f 54 49 50 20 4c 56 53 45 54 49 4e TINFOTIP LVSETIN
207a0 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 73 20 74 61 FOTIP;..alias ta
207b0 67 4c 56 53 45 54 49 4e 46 4f 54 49 50 2a 20 50 gLVSETINFOTIP* P
207c0 4c 56 53 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 0d LVSETINFOTIP;...
207d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
207e0 56 4d 5f 53 45 54 49 4e 46 4f 54 49 50 20 3d 20 VM_SETINFOTIP =
207f0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 33 20 LVM_FIRST + 173
20800 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 }....// #define
20810 4c 69 73 74 56 69 65 77 5f 53 65 74 49 6e 66 6f ListView_SetInfo
20820 54 69 70 28 68 77 6e 64 4c 56 2c 20 70 6c 76 49 Tip(hwndLV, plvI
20830 6e 66 6f 54 69 70 29 20 28 42 4f 4f 4c 29 53 4e nfoTip) (BOOL)SN
20840 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c DMSG((hwndLV), L
20850 56 4d 5f 53 45 54 49 4e 46 4f 54 49 50 2c 20 28 VM_SETINFOTIP, (
20860 57 50 41 52 41 4d 29 30 2c 20 28 4c 50 41 52 41 WPARAM)0, (LPARA
20870 4d 29 70 6c 76 49 6e 66 6f 54 69 70 29 0d 0a 0d M)plvInfoTip)...
20880 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
20890 56 4d 5f 47 45 54 53 45 4c 45 43 54 45 44 43 4f VM_GETSELECTEDCO
208a0 4c 55 4d 4e 20 3d 20 4c 56 4d 5f 46 49 52 53 54 LUMN = LVM_FIRST
208b0 20 2b 20 31 37 34 20 7d 0d 0a 2f 2f 20 23 64 65 + 174 }..// #de
208c0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 fine ListView_Ge
208d0 74 53 65 6c 65 63 74 65 64 43 6f 6c 75 6d 6e 28 tSelectedColumn(
208e0 68 77 6e 64 29 20 28 55 49 4e 54 29 53 4e 44 4d hwnd) (UINT)SNDM
208f0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 SG((hwnd), LVM_G
20900 45 54 53 45 4c 45 43 54 45 44 43 4f 4c 55 4d 4e ETSELECTEDCOLUMN
20910 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 , 0, 0)....enum
20920 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 53 47 : uint { LVM_ISG
20930 52 4f 55 50 56 49 45 57 45 4e 41 42 4c 45 44 20 ROUPVIEWENABLED
20940 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 = LVM_FIRST + 17
20950 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5 }..// #define
20960 4c 69 73 74 56 69 65 77 5f 49 73 47 72 6f 75 70 ListView_IsGroup
20970 56 69 65 77 45 6e 61 62 6c 65 64 28 68 77 6e 64 ViewEnabled(hwnd
20980 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 ) (BOOL)SNDMSG((
20990 68 77 6e 64 29 2c 20 4c 56 4d 5f 49 53 47 52 4f hwnd), LVM_ISGRO
209a0 55 50 56 49 45 57 45 4e 41 42 4c 45 44 2c 20 30 UPVIEWENABLED, 0
209b0 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 , 0)....enum : u
209c0 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 4f 55 54 int { LVM_GETOUT
209d0 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f LINECOLOR = LVM_
209e0 46 49 52 53 54 20 2b 20 31 37 36 20 7d 0d 0a 2f FIRST + 176 }../
209f0 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 / #define ListVi
20a00 65 77 5f 47 65 74 4f 75 74 6c 69 6e 65 43 6f 6c ew_GetOutlineCol
20a10 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52 or(hwnd) (COLORR
20a20 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 EF)SNDMSG((hwnd)
20a30 2c 20 4c 56 4d 5f 47 45 54 4f 55 54 4c 49 4e 45 , LVM_GETOUTLINE
20a40 43 4f 4c 4f 52 2c 20 30 2c 20 30 29 0d 0a 0d 0a COLOR, 0, 0)....
20a50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
20a60 4d 5f 53 45 54 4f 55 54 4c 49 4e 45 43 4f 4c 4f M_SETOUTLINECOLO
20a70 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 R = LVM_FIRST +
20a80 31 37 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 177 }..// #defin
20a90 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 4f 75 e ListView_SetOu
20aa0 74 6c 69 6e 65 43 6f 6c 6f 72 28 68 77 6e 64 2c tlineColor(hwnd,
20ab0 20 63 6f 6c 6f 72 29 20 28 43 4f 4c 4f 52 52 45 color) (COLORRE
20ac0 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c F)SNDMSG((hwnd),
20ad0 20 4c 56 4d 5f 53 45 54 4f 55 54 4c 49 4e 45 43 LVM_SETOUTLINEC
20ae0 4f 4c 4f 52 2c 20 28 57 50 41 52 41 4d 29 30 2c OLOR, (WPARAM)0,
20af0 20 28 4c 50 41 52 41 4d 29 28 43 4f 4c 4f 52 52 (LPARAM)(COLORR
20b00 45 46 29 28 63 6f 6c 6f 72 29 29 0d 0a 0d 0a 65 EF)(color))....e
20b10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d num : uint { LVM
20b20 5f 43 41 4e 43 45 4c 45 44 49 54 4c 41 42 45 4c _CANCELEDITLABEL
20b30 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 = LVM_FIRST + 1
20b40 37 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 79 }..// #define
20b50 20 4c 69 73 74 56 69 65 77 5f 43 61 6e 63 65 6c ListView_Cancel
20b60 45 64 69 74 4c 61 62 65 6c 28 68 77 6e 64 29 20 EditLabel(hwnd)
20b70 28 56 4f 49 44 29 53 4e 44 4d 53 47 28 28 68 77 (VOID)SNDMSG((hw
20b80 6e 64 29 2c 20 4c 56 4d 5f 43 41 4e 43 45 4c 45 nd), LVM_CANCELE
20b90 44 49 54 4c 41 42 45 4c 2c 20 28 57 50 41 52 41 DITLABEL, (WPARA
20ba0 4d 29 30 2c 20 28 4c 50 41 52 41 4d 29 30 29 0d M)0, (LPARAM)0).
20bb0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
20bc0 20 4c 56 4d 5f 4d 41 50 49 4e 44 45 58 54 4f 49 LVM_MAPINDEXTOI
20bd0 44 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 D = LVM_FIRST +
20be0 31 38 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 180 }..// #defin
20bf0 65 20 4c 69 73 74 56 69 65 77 5f 4d 61 70 49 6e e ListView_MapIn
20c00 64 65 78 54 6f 49 44 28 68 77 6e 64 2c 20 69 6e dexToID(hwnd, in
20c10 64 65 78 29 20 28 55 49 4e 54 29 53 4e 44 4d 53 dex) (UINT)SNDMS
20c20 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 4d 41 G((hwnd), LVM_MA
20c30 50 49 4e 44 45 58 54 4f 49 44 2c 20 28 57 50 41 PINDEXTOID, (WPA
20c40 52 41 4d 29 69 6e 64 65 78 2c 20 28 4c 50 41 52 RAM)index, (LPAR
20c50 41 4d 29 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 AM)0)....enum :
20c60 75 69 6e 74 20 7b 20 4c 56 4d 5f 4d 41 50 49 44 uint { LVM_MAPID
20c70 54 4f 49 4e 44 45 58 20 3d 20 4c 56 4d 5f 46 49 TOINDEX = LVM_FI
20c80 52 53 54 20 2b 20 31 38 31 20 7d 0d 0a 2f 2f 20 RST + 181 }..//
20c90 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 #define ListView
20ca0 5f 4d 61 70 49 44 54 6f 49 6e 64 65 78 28 68 77 _MapIDToIndex(hw
20cb0 6e 64 2c 20 69 64 29 20 28 55 49 4e 54 29 53 4e nd, id) (UINT)SN
20cc0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d DMSG((hwnd), LVM
20cd0 5f 4d 41 50 49 44 54 4f 49 4e 44 45 58 2c 20 28 _MAPIDTOINDEX, (
20ce0 57 50 41 52 41 4d 29 69 64 2c 20 28 4c 50 41 52 WPARAM)id, (LPAR
20cf0 41 4d 29 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 AM)0)....// #end
20d00 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 if....// #ifdef
20d10 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c UNICODE..alias L
20d20 56 42 4b 49 4d 41 47 45 57 20 4c 56 42 4b 49 4d VBKIMAGEW LVBKIM
20d30 41 47 45 3b 0d 0a 61 6c 69 61 73 20 4c 50 4c 56 AGE;..alias LPLV
20d40 42 4b 49 4d 41 47 45 57 20 4c 50 4c 56 42 4b 49 BKIMAGEW LPLVBKI
20d50 4d 41 47 45 3b 0d 0a 61 6c 69 61 73 20 4c 56 4d MAGE;..alias LVM
20d60 5f 53 45 54 42 4b 49 4d 41 47 45 57 20 4c 56 4d _SETBKIMAGEW LVM
20d70 5f 53 45 54 42 4b 49 4d 41 47 45 3b 0d 0a 61 6c _SETBKIMAGE;..al
20d80 69 61 73 20 4c 56 4d 5f 47 45 54 42 4b 49 4d 41 ias LVM_GETBKIMA
20d90 47 45 57 20 4c 56 4d 5f 47 45 54 42 4b 49 4d 41 GEW LVM_GETBKIMA
20da0 47 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f GE;..// #else../
20db0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
20dc0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
20dd0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
20de0 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 // #define ListV
20df0 69 65 77 5f 53 65 74 42 6b 49 6d 61 67 65 28 68 iew_SetBkImage(h
20e00 77 6e 64 2c 20 70 6c 76 62 6b 69 29 20 28 42 4f wnd, plvbki) (BO
20e10 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 OL)SNDMSG((hwnd)
20e20 2c 20 4c 56 4d 5f 53 45 54 42 4b 49 4d 41 47 45 , LVM_SETBKIMAGE
20e30 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 6c , 0, (LPARAM)(pl
20e40 76 62 6b 69 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 vbki))....// #de
20e50 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 fine ListView_Ge
20e60 74 42 6b 49 6d 61 67 65 28 68 77 6e 64 2c 20 70 tBkImage(hwnd, p
20e70 6c 76 62 6b 69 29 20 28 42 4f 4f 4c 29 53 4e 44 lvbki) (BOOL)SND
20e80 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f MSG((hwnd), LVM_
20e90 47 45 54 42 4b 49 4d 41 47 45 2c 20 30 2c 20 28 GETBKIMAGE, 0, (
20ea0 4c 50 41 52 41 4d 29 28 70 6c 76 62 6b 69 29 29 LPARAM)(plvbki))
20eb0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 ....// #endif
20ec0 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 // _WIN32_IE
20ed0 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 >= 0x0400....//
20ee0 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
20ef0 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 = 0x0300)..alias
20f00 20 4c 50 4e 4d 4c 49 53 54 56 49 45 57 20 4c 50 LPNMLISTVIEW LP
20f10 4e 4d 5f 4c 49 53 54 56 49 45 57 3b 0d 0a 61 6c NM_LISTVIEW;..al
20f20 69 61 73 20 4e 4d 4c 49 53 54 56 49 45 57 20 4e ias NMLISTVIEW N
20f30 4d 5f 4c 49 53 54 56 49 45 57 3b 0d 0a 2f 2f 20 M_LISTVIEW;..//
20f40 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
20f50 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
20f60 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 ..// #endif....s
20f70 74 72 75 63 74 20 74 61 67 4e 4d 4c 49 53 54 56 truct tagNMLISTV
20f80 49 45 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 IEW {.. NMHDR h
20f90 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d dr;.. int iItem
20fa0 3b 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 ;.. int iSubIte
20fb0 6d 3b 0d 0a 20 20 55 49 4e 54 20 75 4e 65 77 53 m;.. UINT uNewS
20fc0 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 75 4f tate;.. UINT uO
20fd0 6c 64 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 ldState;.. UINT
20fe0 20 75 43 68 61 6e 67 65 64 3b 0d 0a 20 20 50 4f uChanged;.. PO
20ff0 49 4e 54 20 70 74 41 63 74 69 6f 6e 3b 0d 0a 20 INT ptAction;..
21000 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d LPARAM lParam;.
21010 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c .}..alias tagNML
21020 49 53 54 56 49 45 57 20 4e 4d 4c 49 53 54 56 49 ISTVIEW NMLISTVI
21030 45 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d EW;..alias tagNM
21040 4c 49 53 54 56 49 45 57 2a 20 4c 50 4e 4d 4c 49 LISTVIEW* LPNMLI
21050 53 54 56 49 45 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 STVIEW;....// #i
21060 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
21070 30 78 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 0x400)....struct
21080 20 74 61 67 4e 4d 49 54 45 4d 41 43 54 49 56 41 tagNMITEMACTIVA
21090 54 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 TE {.. NMHDR hd
210a0 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b r;.. int iItem;
210b0 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d .. int iSubItem
210c0 3b 0d 0a 20 20 55 49 4e 54 20 75 4e 65 77 53 74 ;.. UINT uNewSt
210d0 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 75 4f 6c ate;.. UINT uOl
210e0 64 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 dState;.. UINT
210f0 75 43 68 61 6e 67 65 64 3b 0d 0a 20 20 50 4f 49 uChanged;.. POI
21100 4e 54 20 70 74 41 63 74 69 6f 6e 3b 0d 0a 20 20 NT ptAction;..
21110 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a LPARAM lParam;..
21120 20 20 55 49 4e 54 20 75 4b 65 79 46 6c 61 67 73 UINT uKeyFlags
21130 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e ;..}..alias tagN
21140 4d 49 54 45 4d 41 43 54 49 56 41 54 45 20 4e 4d MITEMACTIVATE NM
21150 49 54 45 4d 41 43 54 49 56 41 54 45 3b 0d 0a 61 ITEMACTIVATE;..a
21160 6c 69 61 73 20 74 61 67 4e 4d 49 54 45 4d 41 43 lias tagNMITEMAC
21170 54 49 56 41 54 45 2a 20 4c 50 4e 4d 49 54 45 4d TIVATE* LPNMITEM
21180 41 43 54 49 56 41 54 45 3b 0d 0a 0d 0a 65 6e 75 ACTIVATE;....enu
21190 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4b 46 5f m : uint { LVKF_
211a0 41 4c 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a ALT = 0x0001 }..
211b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
211c0 4b 46 5f 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 KF_CONTROL = 0x0
211d0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 002 }..enum : ui
211e0 6e 74 20 7b 20 4c 56 4b 46 5f 53 48 49 46 54 20 nt { LVKF_SHIFT
211f0 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 = 0x0004 }..// #
21200 65 6e 64 69 66 20 2f 2f 28 5f 57 49 4e 33 32 5f endif //(_WIN32_
21210 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d IE >= 0x0400)...
21220 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
21230 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 2f IE >= 0x0300)../
21240 2f 20 23 64 65 66 69 6e 65 20 4e 4d 4c 56 43 55 / #define NMLVCU
21250 53 54 4f 4d 44 52 41 57 5f 56 33 5f 53 49 5a 45 STOMDRAW_V3_SIZE
21260 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 CCSIZEOF_STRUCT
21270 28 4e 4d 4c 56 43 55 53 54 4f 4d 44 52 57 2c 20 (NMLVCUSTOMDRW,
21280 63 6c 72 54 65 78 74 42 6b 29 0d 0a 0d 0a 73 74 clrTextBk)....st
21290 72 75 63 74 20 74 61 67 4e 4d 4c 56 43 55 53 54 ruct tagNMLVCUST
212a0 4f 4d 44 52 41 57 20 7b 0d 0a 20 20 4e 4d 43 55 OMDRAW {.. NMCU
212b0 53 54 4f 4d 44 52 41 57 20 6e 6d 63 64 3b 0d 0a STOMDRAW nmcd;..
212c0 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 54 65 COLORREF clrTe
212d0 78 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 xt;.. COLORREF
212e0 63 6c 72 54 65 78 74 42 6b 3b 0d 0a 2f 2f 20 23 clrTextBk;..// #
212f0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
21300 20 30 78 30 34 30 30 29 0d 0a 20 20 69 6e 74 20 0x0400).. int
21310 69 53 75 62 49 74 65 6d 3b 0d 0a 2f 2f 20 23 65 iSubItem;..// #e
21320 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 ndif..// #if (_W
21330 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 IN32_WINNT >= 0x
21340 35 30 31 29 0d 0a 20 20 44 57 4f 52 44 20 64 77 501).. DWORD dw
21350 49 74 65 6d 54 79 70 65 3b 0d 0a 20 20 43 4f 4c ItemType;.. COL
21360 4f 52 52 45 46 20 63 6c 72 46 61 63 65 3b 0d 0a ORREF clrFace;..
21370 20 20 69 6e 74 20 69 49 63 6f 6e 45 66 66 65 63 int iIconEffec
21380 74 3b 0d 0a 20 20 69 6e 74 20 69 49 63 6f 6e 50 t;.. int iIconP
21390 68 61 73 65 3b 0d 0a 20 20 69 6e 74 20 69 50 61 hase;.. int iPa
213a0 72 74 49 64 3b 0d 0a 20 20 69 6e 74 20 69 53 74 rtId;.. int iSt
213b0 61 74 65 49 64 3b 0d 0a 20 20 52 45 43 54 20 72 ateId;.. RECT r
213c0 63 54 65 78 74 3b 0d 0a 20 20 55 49 4e 54 20 75 cText;.. UINT u
213d0 41 6c 69 67 6e 3b 0d 0a 2f 2f 20 23 65 6e 64 69 Align;..// #endi
213e0 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e f..}..alias tagN
213f0 4d 4c 56 43 55 53 54 4f 4d 44 52 41 57 20 4e 4d MLVCUSTOMDRAW NM
21400 4c 56 43 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 61 LVCUSTOMDRAW;..a
21410 6c 69 61 73 20 74 61 67 4e 4d 4c 56 43 55 53 54 lias tagNMLVCUST
21420 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 4c 56 43 55 OMDRAW* LPNMLVCU
21430 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 65 6e 75 STOMDRAW;....enu
21440 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 44 49 m : uint { LVCDI
21450 5f 49 54 45 4d 20 3d 20 30 78 30 30 30 30 30 30 _ITEM = 0x000000
21460 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
21470 74 20 7b 20 4c 56 43 44 49 5f 47 52 4f 55 50 20 t { LVCDI_GROUP
21480 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a = 0x00000001 }..
21490 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
214a0 4c 56 43 44 52 46 5f 4e 4f 53 45 4c 45 43 54 20 LVCDRF_NOSELECT
214b0 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a = 0x00010000 }..
214c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
214d0 43 44 52 46 5f 4e 4f 47 52 4f 55 50 46 52 41 4d CDRF_NOGROUPFRAM
214e0 45 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d E = 0x00020000 }
214f0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d ....struct tagNM
21500 4c 56 43 41 43 48 45 48 49 4e 54 20 7b 0d 0a 20 LVCACHEHINT {..
21510 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 NMHDR hdr;.. i
21520 6e 74 20 69 46 72 6f 6d 3b 0d 0a 20 20 69 6e 74 nt iFrom;.. int
21530 20 69 54 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 iTo;..}..alias
21540 74 61 67 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54 tagNMLVCACHEHINT
21550 20 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54 3b 0d NMLVCACHEHINT;.
21560 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 43 41 .alias tagNMLVCA
21570 43 48 45 48 49 4e 54 2a 20 4c 50 4e 4d 4c 56 43 CHEHINT* LPNMLVC
21580 41 43 48 45 48 49 4e 54 3b 0d 0a 0d 0a 61 6c 69 ACHEHINT;....ali
21590 61 73 20 4c 50 4e 4d 4c 56 43 41 43 48 45 48 49 as LPNMLVCACHEHI
215a0 4e 54 20 4c 50 4e 4d 5f 43 41 43 48 45 48 49 4e NT LPNM_CACHEHIN
215b0 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c 56 T;..alias LPNMLV
215c0 43 41 43 48 45 48 49 4e 54 20 50 4e 4d 5f 43 41 CACHEHINT PNM_CA
215d0 43 48 45 48 49 4e 54 3b 0d 0a 61 6c 69 61 73 20 CHEHINT;..alias
215e0 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54 20 4e 4d NMLVCACHEHINT NM
215f0 5f 43 41 43 48 45 48 49 4e 54 3b 0d 0a 0d 0a 73 _CACHEHINT;....s
21600 74 72 75 63 74 20 74 61 67 4e 4d 4c 56 46 49 4e truct tagNMLVFIN
21610 44 49 54 45 4d 41 20 7b 0d 0a 20 20 4e 4d 48 44 DITEMA {.. NMHD
21620 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 53 R hdr;.. int iS
21630 74 61 72 74 3b 0d 0a 20 20 4c 56 46 49 4e 44 49 tart;.. LVFINDI
21640 4e 46 4f 41 20 6c 76 66 69 3b 0d 0a 7d 0d 0a 61 NFOA lvfi;..}..a
21650 6c 69 61 73 20 74 61 67 4e 4d 4c 56 46 49 4e 44 lias tagNMLVFIND
21660 49 54 45 4d 41 20 4e 4d 4c 56 46 49 4e 44 49 54 ITEMA NMLVFINDIT
21670 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e EMA;..alias tagN
21680 4d 4c 56 46 49 4e 44 49 54 45 4d 41 2a 20 4c 50 MLVFINDITEMA* LP
21690 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 3b 0d 0a NMLVFINDITEMA;..
216a0 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4c 56 ..struct tagNMLV
216b0 46 49 4e 44 49 54 45 4d 57 20 7b 0d 0a 20 20 4e FINDITEMW {.. N
216c0 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 MHDR hdr;.. int
216d0 20 69 53 74 61 72 74 3b 0d 0a 20 20 4c 56 46 49 iStart;.. LVFI
216e0 4e 44 49 4e 46 4f 57 20 6c 76 66 69 3b 0d 0a 7d NDINFOW lvfi;..}
216f0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 46 ..alias tagNMLVF
21700 49 4e 44 49 54 45 4d 57 20 4e 4d 4c 56 46 49 4e INDITEMW NMLVFIN
21710 44 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 74 DITEMW;..alias t
21720 61 67 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 57 2a agNMLVFINDITEMW*
21730 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 57 LPNMLVFINDITEMW
21740 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c ;....alias LPNML
21750 56 46 49 4e 44 49 54 45 4d 41 20 50 4e 4d 5f 46 VFINDITEMA PNM_F
21760 49 4e 44 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 INDITEMA;..alias
21770 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 LPNMLVFINDITEMA
21780 20 4c 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 41 3b LPNM_FINDITEMA;
21790 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 46 49 4e 44 ..alias NMLVFIND
217a0 49 54 45 4d 41 20 4e 4d 5f 46 49 4e 44 49 54 45 ITEMA NM_FINDITE
217b0 4d 41 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e MA;....alias LPN
217c0 4d 4c 56 46 49 4e 44 49 54 45 4d 57 20 50 4e 4d MLVFINDITEMW PNM
217d0 5f 46 49 4e 44 49 54 45 4d 57 3b 0d 0a 61 6c 69 _FINDITEMW;..ali
217e0 61 73 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 as LPNMLVFINDITE
217f0 4d 57 20 4c 50 4e 4d 5f 46 49 4e 44 49 54 45 4d MW LPNM_FINDITEM
21800 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 46 49 W;..alias NMLVFI
21810 4e 44 49 54 45 4d 57 20 4e 4d 5f 46 49 4e 44 49 NDITEMW NM_FINDI
21820 54 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 TEMW;....// #ifd
21830 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
21840 73 20 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 57 20 s PNM_FINDITEMW
21850 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 3b 0d 0a 61 PNM_FINDITEM;..a
21860 6c 69 61 73 20 4c 50 4e 4d 5f 46 49 4e 44 49 54 lias LPNM_FINDIT
21870 45 4d 57 20 4c 50 4e 4d 5f 46 49 4e 44 49 54 45 EMW LPNM_FINDITE
21880 4d 3b 0d 0a 61 6c 69 61 73 20 4e 4d 5f 46 49 4e M;..alias NM_FIN
21890 44 49 54 45 4d 57 20 4e 4d 5f 46 49 4e 44 49 54 DITEMW NM_FINDIT
218a0 45 4d 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 46 EM;..alias NMLVF
218b0 49 4e 44 49 54 45 4d 57 20 4e 4d 4c 56 46 49 4e INDITEMW NMLVFIN
218c0 44 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c 50 DITEM;..alias LP
218d0 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 57 20 4c 50 NMLVFINDITEMW LP
218e0 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 3b 0d 0a 2f NMLVFINDITEM;../
218f0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
21900 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
21910 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
21920 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
21930 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4c ...struct tagNML
21940 56 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20 7b VODSTATECHANGE {
21950 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a .. NMHDR hdr;..
21960 20 20 69 6e 74 20 69 46 72 6f 6d 3b 0d 0a 20 20 int iFrom;..
21970 69 6e 74 20 69 54 6f 3b 0d 0a 20 20 55 49 4e 54 int iTo;.. UINT
21980 20 75 4e 65 77 53 74 61 74 65 3b 0d 0a 20 20 55 uNewState;.. U
21990 49 4e 54 20 75 4f 6c 64 53 74 61 74 65 3b 0d 0a INT uOldState;..
219a0 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 }..alias tagNMLV
219b0 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20 4e 4d ODSTATECHANGE NM
219c0 4c 56 4f 44 53 54 41 54 45 43 48 41 4e 47 45 3b LVODSTATECHANGE;
219d0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 4f ..alias tagNMLVO
219e0 44 53 54 41 54 45 43 48 41 4e 47 45 2a 20 4c 50 DSTATECHANGE* LP
219f0 4e 4d 4c 56 4f 44 53 54 41 54 45 43 48 41 4e 47 NMLVODSTATECHANG
21a00 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d E;....alias LPNM
21a10 4c 56 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20 LVODSTATECHANGE
21a20 50 4e 4d 5f 4f 44 53 54 41 54 45 43 48 41 4e 47 PNM_ODSTATECHANG
21a30 45 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c 56 E;..alias LPNMLV
21a40 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20 4c 50 ODSTATECHANGE LP
21a50 4e 4d 5f 4f 44 53 54 41 54 45 43 48 41 4e 47 45 NM_ODSTATECHANGE
21a60 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 4f 44 53 ;..alias NMLVODS
21a70 54 41 54 45 43 48 41 4e 47 45 20 4e 4d 5f 4f 44 TATECHANGE NM_OD
21a80 53 54 41 54 45 43 48 41 4e 47 45 3b 0d 0a 2f 2f STATECHANGE;..//
21a90 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 #endif //
21aa0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
21ab0 33 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 300....enum : ui
21ac0 6e 74 20 7b 20 4c 56 4e 5f 49 54 45 4d 43 48 41 nt { LVN_ITEMCHA
21ad0 4e 47 49 4e 47 20 3d 20 4c 56 4e 5f 46 49 52 53 NGING = LVN_FIRS
21ae0 54 2d 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 T-0 }..enum : ui
21af0 6e 74 20 7b 20 4c 56 4e 5f 49 54 45 4d 43 48 41 nt { LVN_ITEMCHA
21b00 4e 47 45 44 20 3d 20 4c 56 4e 5f 46 49 52 53 54 NGED = LVN_FIRST
21b10 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e -1 }..enum : uin
21b20 74 20 7b 20 4c 56 4e 5f 49 4e 53 45 52 54 49 54 t { LVN_INSERTIT
21b30 45 4d 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 32 EM = LVN_FIRST-2
21b40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
21b50 7b 20 4c 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d { LVN_DELETEITEM
21b60 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 33 20 7d = LVN_FIRST-3 }
21b70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
21b80 4c 56 4e 5f 44 45 4c 45 54 45 41 4c 4c 49 54 45 LVN_DELETEALLITE
21b90 4d 53 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 34 MS = LVN_FIRST-4
21ba0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
21bb0 7b 20 4c 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c { LVN_BEGINLABEL
21bc0 45 44 49 54 41 20 3d 20 4c 56 4e 5f 46 49 52 53 EDITA = LVN_FIRS
21bd0 54 2d 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 T-5 }..enum : ui
21be0 6e 74 20 7b 20 4c 56 4e 5f 42 45 47 49 4e 4c 41 nt { LVN_BEGINLA
21bf0 42 45 4c 45 44 49 54 57 20 3d 20 4c 56 4e 5f 46 BELEDITW = LVN_F
21c00 49 52 53 54 2d 37 35 20 7d 0d 0a 65 6e 75 6d 20 IRST-75 }..enum
21c10 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 45 4e 44 : uint { LVN_END
21c20 4c 41 42 45 4c 45 44 49 54 41 20 3d 20 4c 56 4e LABELEDITA = LVN
21c30 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75 6d _FIRST-6 }..enum
21c40 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 45 4e : uint { LVN_EN
21c50 44 4c 41 42 45 4c 45 44 49 54 57 20 3d 20 4c 56 DLABELEDITW = LV
21c60 4e 5f 46 49 52 53 54 2d 37 36 20 7d 0d 0a 65 6e N_FIRST-76 }..en
21c70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f um : uint { LVN_
21c80 43 4f 4c 55 4d 4e 43 4c 49 43 4b 20 3d 20 4c 56 COLUMNCLICK = LV
21c90 4e 5f 46 49 52 53 54 2d 38 20 7d 0d 0a 65 6e 75 N_FIRST-8 }..enu
21ca0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 42 m : uint { LVN_B
21cb0 45 47 49 4e 44 52 41 47 20 3d 20 4c 56 4e 5f 46 EGINDRAG = LVN_F
21cc0 49 52 53 54 2d 39 20 7d 0d 0a 65 6e 75 6d 20 3a IRST-9 }..enum :
21cd0 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 42 45 47 49 uint { LVN_BEGI
21ce0 4e 52 44 52 41 47 20 3d 20 4c 56 4e 5f 46 49 52 NRDRAG = LVN_FIR
21cf0 53 54 2d 31 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 ST-11 }....// #i
21d00 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
21d10 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 0x0300)..enum :
21d20 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44 43 41 43 uint { LVN_ODCAC
21d30 48 45 48 49 4e 54 20 3d 20 4c 56 4e 5f 46 49 52 HEHINT = LVN_FIR
21d40 53 54 2d 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ST-13 }..enum :
21d50 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44 46 49 4e uint { LVN_ODFIN
21d60 44 49 54 45 4d 41 20 3d 20 4c 56 4e 5f 46 49 52 DITEMA = LVN_FIR
21d70 53 54 2d 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ST-52 }..enum :
21d80 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44 46 49 4e uint { LVN_ODFIN
21d90 44 49 54 45 4d 57 20 3d 20 4c 56 4e 5f 46 49 52 DITEMW = LVN_FIR
21da0 53 54 2d 37 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 ST-79 }....enum
21db0 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 49 54 45 : uint { LVN_ITE
21dc0 4d 41 43 54 49 56 41 54 45 20 3d 20 4c 56 4e 5f MACTIVATE = LVN_
21dd0 46 49 52 53 54 2d 31 34 20 7d 0d 0a 65 6e 75 6d FIRST-14 }..enum
21de0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44 : uint { LVN_OD
21df0 53 54 41 54 45 43 48 41 4e 47 45 44 20 3d 20 4c STATECHANGED = L
21e00 56 4e 5f 46 49 52 53 54 2d 31 35 20 7d 0d 0a 0d VN_FIRST-15 }...
21e10 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
21e20 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f 4f 44 DE..alias LVN_OD
21e30 46 49 4e 44 49 54 45 4d 57 20 4c 56 4e 5f 4f 44 FINDITEMW LVN_OD
21e40 46 49 4e 44 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 FINDITEM;..// #e
21e50 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
21e60 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 #endif..// #end
21e70 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 if // _WIN3
21e80 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a 2_IE >= 0x0300..
21e90 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
21ea0 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a _IE >= 0x0400)..
21eb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 enum : uint { LV
21ec0 4e 5f 48 4f 54 54 52 41 43 4b 20 3d 20 4c 56 4e N_HOTTRACK = LVN
21ed0 5f 46 49 52 53 54 2d 32 31 20 7d 0d 0a 2f 2f 20 _FIRST-21 }..//
21ee0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a #endif....enum :
21ef0 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54 44 uint { LVN_GETD
21f00 49 53 50 49 4e 46 4f 41 20 3d 20 4c 56 4e 5f 46 ISPINFOA = LVN_F
21f10 49 52 53 54 2d 35 30 20 7d 0d 0a 65 6e 75 6d 20 IRST-50 }..enum
21f20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54 : uint { LVN_GET
21f30 44 49 53 50 49 4e 46 4f 57 20 3d 20 4c 56 4e 5f DISPINFOW = LVN_
21f40 46 49 52 53 54 2d 37 37 20 7d 0d 0a 65 6e 75 6d FIRST-77 }..enum
21f50 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 53 45 : uint { LVN_SE
21f60 54 44 49 53 50 49 4e 46 4f 41 20 3d 20 4c 56 4e TDISPINFOA = LVN
21f70 5f 46 49 52 53 54 2d 35 31 20 7d 0d 0a 65 6e 75 _FIRST-51 }..enu
21f80 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 53 m : uint { LVN_S
21f90 45 54 44 49 53 50 49 4e 46 4f 57 20 3d 20 4c 56 ETDISPINFOW = LV
21fa0 4e 5f 46 49 52 53 54 2d 37 38 20 7d 0d 0a 0d 0a N_FIRST-78 }....
21fb0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
21fc0 45 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f 42 45 47 E..alias LVN_BEG
21fd0 49 4e 4c 41 42 45 4c 45 44 49 54 57 20 4c 56 4e INLABELEDITW LVN
21fe0 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 3b _BEGINLABELEDIT;
21ff0 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f 45 4e 44 4c ..alias LVN_ENDL
22000 41 42 45 4c 45 44 49 54 57 20 4c 56 4e 5f 45 4e ABELEDITW LVN_EN
22010 44 4c 41 42 45 4c 45 44 49 54 3b 0d 0a 61 6c 69 DLABELEDIT;..ali
22020 61 73 20 4c 56 4e 5f 47 45 54 44 49 53 50 49 4e as LVN_GETDISPIN
22030 46 4f 57 20 4c 56 4e 5f 47 45 54 44 49 53 50 49 FOW LVN_GETDISPI
22040 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f NFO;..alias LVN_
22050 53 45 54 44 49 53 50 49 4e 46 4f 57 20 4c 56 4e SETDISPINFOW LVN
22060 5f 53 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 2f _SETDISPINFO;../
22070 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
22080 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
22090 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
220a0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a #endif....enum :
220b0 20 75 69 6e 74 20 7b 20 4c 56 49 46 5f 44 49 5f uint { LVIF_DI_
220c0 53 45 54 49 54 45 4d 20 3d 20 30 78 31 30 30 30 SETITEM = 0x1000
220d0 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 }....// #if (_W
220e0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 IN32_IE >= 0x030
220f0 30 29 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 44 49 0)..alias NMLVDI
22100 53 50 49 4e 46 4f 41 20 4c 56 5f 44 49 53 50 49 SPINFOA LV_DISPI
22110 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c NFOA;..alias NML
22120 56 44 49 53 50 49 4e 46 4f 57 20 4c 56 5f 44 49 VDISPINFOW LV_DI
22130 53 50 49 4e 46 4f 57 3b 0d 0a 2f 2f 20 23 65 6c SPINFOW;..// #el
22140 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
22150 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
22160 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
22170 66 0d 0a 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 44 f....alias NMLVD
22180 49 53 50 49 4e 46 4f 20 4c 56 5f 44 49 53 50 49 ISPINFO LV_DISPI
22190 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 NFO;....struct t
221a0 61 67 4c 56 44 49 53 50 49 4e 46 4f 20 7b 0d 0a agLVDISPINFO {..
221b0 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 NMHDR hdr;..
221c0 4c 56 49 54 45 4d 41 20 69 74 65 6d 3b 0d 0a 7d LVITEMA item;..}
221d0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 44 49 53 ..alias tagLVDIS
221e0 50 49 4e 46 4f 20 4e 4d 4c 56 44 49 53 50 49 4e PINFO NMLVDISPIN
221f0 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c FOA;..alias tagL
22200 56 44 49 53 50 49 4e 46 4f 2a 20 4c 50 4e 4d 4c VDISPINFO* LPNML
22210 56 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 VDISPINFOA;....s
22220 74 72 75 63 74 20 74 61 67 4c 56 44 49 53 50 49 truct tagLVDISPI
22230 4e 46 4f 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 NFOW {.. NMHDR
22240 68 64 72 3b 0d 0a 20 20 4c 56 49 54 45 4d 57 20 hdr;.. LVITEMW
22250 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 item;..}..alias
22260 74 61 67 4c 56 44 49 53 50 49 4e 46 4f 57 20 4e tagLVDISPINFOW N
22270 4d 4c 56 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 61 MLVDISPINFOW;..a
22280 6c 69 61 73 20 74 61 67 4c 56 44 49 53 50 49 4e lias tagLVDISPIN
22290 46 4f 57 2a 20 4c 50 4e 4d 4c 56 44 49 53 50 49 FOW* LPNMLVDISPI
222a0 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 NFOW;....// #ifd
222b0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
222c0 73 20 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 57 20 s NMLVDISPINFOW
222d0 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 3b 0d 0a 2f NMLVDISPINFO;../
222e0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
222f0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 ..// #endif....e
22300 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e num : uint { LVN
22310 5f 4b 45 59 44 4f 57 4e 20 3d 20 4c 56 4e 5f 46 _KEYDOWN = LVN_F
22320 49 52 53 54 2d 35 35 20 7d 0d 0a 0d 0a 2f 2f 20 IRST-55 }....//
22330 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
22340 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 = 0x0300)..alias
22350 20 4e 4d 4c 56 4b 45 59 44 4f 57 4e 20 4c 56 5f NMLVKEYDOWN LV_
22360 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f 20 23 65 6c KEYDOWN;..// #el
22370 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
22380 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
22390 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 ...// #ifdef _WI
223a0 4e 33 32 0d 0a 61 6c 69 67 6e 28 31 29 3a 0d 0a N32..align(1):..
223b0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 // #endif....str
223c0 75 63 74 20 74 61 67 4c 56 4b 45 59 44 4f 57 4e uct tagLVKEYDOWN
223d0 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b {.. NMHDR hdr;
223e0 0d 0a 20 20 57 4f 52 44 20 77 56 4b 65 79 3b 0d .. WORD wVKey;.
223f0 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a . UINT flags;..
22400 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 4b 45 }..alias tagLVKE
22410 59 44 4f 57 4e 20 4e 4d 4c 56 4b 45 59 44 4f 57 YDOWN NMLVKEYDOW
22420 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 4b N;..alias tagLVK
22430 45 59 44 4f 57 4e 2a 20 4c 50 4e 4d 4c 56 4b 45 EYDOWN* LPNMLVKE
22440 59 44 4f 57 4e 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 YDOWN;....// #if
22450 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 67 def _WIN32..alig
22460 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d n:..// #endif...
22470 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
22480 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 IE >= 0x0300)..e
22490 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e num : uint { LVN
224a0 5f 4d 41 52 51 55 45 45 42 45 47 49 4e 20 3d 20 _MARQUEEBEGIN =
224b0 4c 56 4e 5f 46 49 52 53 54 2d 35 36 20 7d 0d 0a LVN_FIRST-56 }..
224c0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
224d0 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
224e0 3d 20 30 78 30 34 30 30 29 0d 0a 73 74 72 75 63 = 0x0400)..struc
224f0 74 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46 4f t tagNMLVGETINFO
22500 54 49 50 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 TIPA {.. NMHDR
22510 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 hdr;.. DWORD dw
22520 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 53 54 52 20 Flags;.. LPSTR
22530 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 pszText;.. int
22540 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 cchTextMax;.. i
22550 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 nt iItem;.. int
22560 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20 4c 50 iSubItem;.. LP
22570 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d ARAM lParam;..}.
22580 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 47 45 .alias tagNMLVGE
22590 54 49 4e 46 4f 54 49 50 41 20 4e 4d 4c 56 47 45 TINFOTIPA NMLVGE
225a0 54 49 4e 46 4f 54 49 50 41 3b 0d 0a 61 6c 69 61 TINFOTIPA;..alia
225b0 73 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46 4f s tagNMLVGETINFO
225c0 54 49 50 41 2a 20 4c 50 4e 4d 4c 56 47 45 54 49 TIPA* LPNMLVGETI
225d0 4e 46 4f 54 49 50 41 3b 0d 0a 0d 0a 73 74 72 75 NFOTIPA;....stru
225e0 63 74 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46 ct tagNMLVGETINF
225f0 4f 54 49 50 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 OTIPW {.. NMHDR
22600 20 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 hdr;.. DWORD d
22610 77 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 57 53 54 wFlags;.. LPWST
22620 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e R pszText;.. in
22630 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 t cchTextMax;..
22640 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 int iItem;.. i
22650 6e 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20 nt iSubItem;..
22660 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a LPARAM lParam;..
22670 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 }..alias tagNMLV
22680 47 45 54 49 4e 46 4f 54 49 50 57 20 4e 4d 4c 56 GETINFOTIPW NMLV
22690 47 45 54 49 4e 46 4f 54 49 50 57 3b 0d 0a 61 6c GETINFOTIPW;..al
226a0 69 61 73 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e ias tagNMLVGETIN
226b0 46 4f 54 49 50 57 2a 20 4c 50 4e 4d 4c 56 47 45 FOTIPW* LPNMLVGE
226c0 54 49 4e 46 4f 54 49 50 57 3b 0d 0a 0d 0a 65 6e TINFOTIPW;....en
226d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 49 um : uint { LVGI
226e0 54 5f 55 4e 46 4f 4c 44 45 44 20 3d 20 30 78 30 T_UNFOLDED = 0x0
226f0 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 001 }....enum :
22700 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54 49 4e uint { LVN_GETIN
22710 46 4f 54 49 50 41 20 3d 20 4c 56 4e 5f 46 49 52 FOTIPA = LVN_FIR
22720 53 54 2d 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ST-57 }..enum :
22730 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54 49 4e uint { LVN_GETIN
22740 46 4f 54 49 50 57 20 3d 20 4c 56 4e 5f 46 49 52 FOTIPW = LVN_FIR
22750 53 54 2d 35 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 ST-58 }....// #i
22760 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
22770 69 61 73 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 ias LVN_GETINFOT
22780 49 50 57 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 IPW LVN_GETINFOT
22790 49 50 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 47 IP;..alias NMLVG
227a0 45 54 49 4e 46 4f 54 49 50 57 20 4e 4d 4c 56 47 ETINFOTIPW NMLVG
227b0 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 ETINFOTIP;..alia
227c0 73 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 s LPNMLVGETINFOT
227d0 49 50 57 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 IPW LPNMLVGETINF
227e0 4f 54 49 50 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d OTIP;..// #else.
227f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
22800 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
22810 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 endif....// #end
22820 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 if // _WIN3
22830 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 2_IE >= 0x0400..
22840 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
22850 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 _WINNT >= 0x501)
22860 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4c 56 ..struct tagNMLV
22870 53 43 52 4f 4c 4c 20 7b 0d 0a 20 20 4e 4d 48 44 SCROLL {.. NMHD
22880 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 64 78 R hdr;.. int dx
22890 3b 0d 0a 20 20 69 6e 74 20 64 79 3b 0d 0a 7d 0d ;.. int dy;..}.
228a0 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 53 43 .alias tagNMLVSC
228b0 52 4f 4c 4c 20 4e 4d 4c 56 53 43 52 4f 4c 4c 3b ROLL NMLVSCROLL;
228c0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 53 ..alias tagNMLVS
228d0 43 52 4f 4c 4c 2a 20 4c 50 4e 4d 4c 56 53 43 52 CROLL* LPNMLVSCR
228e0 4f 4c 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 OLL;....enum : u
228f0 69 6e 74 20 7b 20 4c 56 4e 5f 42 45 47 49 4e 53 int { LVN_BEGINS
22900 43 52 4f 4c 4c 20 3d 20 4c 56 4e 5f 46 49 52 53 CROLL = LVN_FIRS
22910 54 2d 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 T-80 }..enum : u
22920 69 6e 74 20 7b 20 4c 56 4e 5f 45 4e 44 53 43 52 int { LVN_ENDSCR
22930 4f 4c 4c 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d OLL = LVN_FIRST-
22940 38 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 81 }..// #endif.
22950 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 ...// #endif //
22960 4e 4f 4c 49 53 54 56 49 45 57 0d 0a 0d 0a 2f 2f NOLISTVIEW....//
22970 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 45 45 56 #ifndef NOTREEV
22980 49 45 57 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 IEW....// #ifdef
22990 20 5f 57 49 4e 33 32 0d 0a 63 6f 6e 73 74 20 63 _WIN32..const c
229a0 68 61 72 5b 5d 20 57 43 5f 54 52 45 45 56 49 45 har[] WC_TREEVIE
229b0 57 41 20 3d 20 22 53 79 73 54 72 65 65 56 69 65 WA = "SysTreeVie
229c0 77 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 w32";..const wch
229d0 61 72 5b 5d 20 57 43 5f 54 52 45 45 56 49 45 57 ar[] WC_TREEVIEW
229e0 57 20 3d 20 22 53 79 73 54 72 65 65 56 69 65 77 W = "SysTreeView
229f0 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 32";....// #ifde
22a00 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
22a10 20 57 43 5f 54 52 45 45 56 49 45 57 57 20 57 43 WC_TREEVIEWW WC
22a20 5f 54 52 45 45 56 49 45 57 3b 0d 0a 2f 2f 20 23 _TREEVIEW;..// #
22a30 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
22a40 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
22a50 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
22a60 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d / #endif....enum
22a70 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 48 41 : uint { TVS_HA
22a80 53 42 55 54 54 4f 4e 53 20 3d 20 30 78 30 30 30 SBUTTONS = 0x000
22a90 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
22aa0 20 7b 20 54 56 53 5f 48 41 53 4c 49 4e 45 53 20 { TVS_HASLINES
22ab0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d = 0x0002 }..enum
22ac0 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 4c 49 : uint { TVS_LI
22ad0 4e 45 53 41 54 52 4f 4f 54 20 3d 20 30 78 30 30 NESATROOT = 0x00
22ae0 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 04 }..enum : uin
22af0 74 20 7b 20 54 56 53 5f 45 44 49 54 4c 41 42 45 t { TVS_EDITLABE
22b00 4c 53 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 LS = 0x0008 }..e
22b10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 num : uint { TVS
22b20 5f 44 49 53 41 42 4c 45 44 52 41 47 44 52 4f 50 _DISABLEDRAGDROP
22b30 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 = 0x0010 }..enu
22b40 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 53 m : uint { TVS_S
22b50 48 4f 57 53 45 4c 41 4c 57 41 59 53 20 3d 20 30 HOWSELALWAYS = 0
22b60 78 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 x0020 }..// #if
22b70 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
22b80 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0300)..enum : ui
22b90 6e 74 20 7b 20 54 56 53 5f 52 54 4c 52 45 41 44 nt { TVS_RTLREAD
22ba0 49 4e 47 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a ING = 0x0040 }..
22bb0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
22bc0 54 56 53 5f 4e 4f 54 4f 4f 4c 54 49 50 53 20 3d TVS_NOTOOLTIPS =
22bd0 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 0x0080 }..enum
22be0 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 43 48 45 : uint { TVS_CHE
22bf0 43 4b 42 4f 58 45 53 20 3d 20 30 78 30 31 30 30 CKBOXES = 0x0100
22c00 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
22c10 7b 20 54 56 53 5f 54 52 41 43 4b 53 45 4c 45 43 { TVS_TRACKSELEC
22c20 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f T = 0x0200 }..//
22c30 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
22c40 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d >= 0x0400)..enum
22c50 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 53 49 : uint { TVS_SI
22c60 4e 47 4c 45 45 58 50 41 4e 44 20 3d 20 30 78 30 NGLEEXPAND = 0x0
22c70 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 400 }..enum : ui
22c80 6e 74 20 7b 20 54 56 53 5f 49 4e 46 4f 54 49 50 nt { TVS_INFOTIP
22c90 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 = 0x0800 }..enu
22ca0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 46 m : uint { TVS_F
22cb0 55 4c 4c 52 4f 57 53 45 4c 45 43 54 20 3d 20 30 ULLROWSELECT = 0
22cc0 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x1000 }..enum :
22cd0 75 69 6e 74 20 7b 20 54 56 53 5f 4e 4f 53 43 52 uint { TVS_NOSCR
22ce0 4f 4c 4c 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a OLL = 0x2000 }..
22cf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
22d00 53 5f 4e 4f 4e 45 56 45 4e 48 45 49 47 48 54 20 S_NONEVENHEIGHT
22d10 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f 2f 20 23 = 0x4000 }..// #
22d20 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f endif..// #if (_
22d30 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 WIN32_IE >= 0x50
22d40 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
22d50 7b 20 54 56 53 5f 4e 4f 48 53 43 52 4f 4c 4c 20 { TVS_NOHSCROLL
22d60 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 = 0x8000 }..// #
22d70 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 endif..// #endif
22d80 0d 0a 0d 0a 61 6c 69 61 73 20 5f 54 52 45 45 49 ....alias _TREEI
22d90 54 45 4d 2a 20 48 54 52 45 45 49 54 45 4d 3b 0d TEM* HTREEITEM;.
22da0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
22db0 20 54 56 49 46 5f 54 45 58 54 20 3d 20 30 78 30 TVIF_TEXT = 0x0
22dc0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 001 }..enum : ui
22dd0 6e 74 20 7b 20 54 56 49 46 5f 49 4d 41 47 45 20 nt { TVIF_IMAGE
22de0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d = 0x0002 }..enum
22df0 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 46 5f 50 : uint { TVIF_P
22e00 41 52 41 4d 20 3d 20 30 78 30 30 30 34 20 7d 0d ARAM = 0x0004 }.
22e10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
22e20 56 49 46 5f 53 54 41 54 45 20 3d 20 30 78 30 30 VIF_STATE = 0x00
22e30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 08 }..enum : uin
22e40 74 20 7b 20 54 56 49 46 5f 48 41 4e 44 4c 45 20 t { TVIF_HANDLE
22e50 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d = 0x0010 }..enum
22e60 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 46 5f 53 : uint { TVIF_S
22e70 45 4c 45 43 54 45 44 49 4d 41 47 45 20 3d 20 30 ELECTEDIMAGE = 0
22e80 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0020 }..enum :
22e90 75 69 6e 74 20 7b 20 54 56 49 46 5f 43 48 49 4c uint { TVIF_CHIL
22ea0 44 52 45 4e 20 3d 20 30 78 30 30 34 30 20 7d 0d DREN = 0x0040 }.
22eb0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
22ec0 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 IE >= 0x0400)..e
22ed0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 num : uint { TVI
22ee0 46 5f 49 4e 54 45 47 52 41 4c 20 3d 20 30 78 30 F_INTEGRAL = 0x0
22ef0 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 080 }..// #endif
22f00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
22f10 54 56 49 53 5f 53 45 4c 45 43 54 45 44 20 3d 20 TVIS_SELECTED =
22f20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0002 }..enum :
22f30 20 75 69 6e 74 20 7b 20 54 56 49 53 5f 43 55 54 uint { TVIS_CUT
22f40 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 = 0x0004 }..enu
22f50 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 5f m : uint { TVIS_
22f60 44 52 4f 50 48 49 4c 49 54 45 44 20 3d 20 30 78 DROPHILITED = 0x
22f70 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0008 }..enum : u
22f80 69 6e 74 20 7b 20 54 56 49 53 5f 42 4f 4c 44 20 int { TVIS_BOLD
22f90 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d = 0x0010 }..enum
22fa0 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 5f 45 : uint { TVIS_E
22fb0 58 50 41 4e 44 45 44 20 3d 20 30 78 30 30 32 30 XPANDED = 0x0020
22fc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
22fd0 7b 20 54 56 49 53 5f 45 58 50 41 4e 44 45 44 4f { TVIS_EXPANDEDO
22fe0 4e 43 45 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a NCE = 0x0040 }..
22ff0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
23000 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e E >= 0x0300)..en
23010 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 um : uint { TVIS
23020 5f 45 58 50 41 4e 44 50 41 52 54 49 41 4c 20 3d _EXPANDPARTIAL =
23030 20 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 0x0080 }..// #e
23040 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ndif....enum : u
23050 69 6e 74 20 7b 20 54 56 49 53 5f 4f 56 45 52 4c int { TVIS_OVERL
23060 41 59 4d 41 53 4b 20 3d 20 30 78 30 46 30 30 20 AYMASK = 0x0F00
23070 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
23080 20 54 56 49 53 5f 53 54 41 54 45 49 4d 41 47 45 TVIS_STATEIMAGE
23090 4d 41 53 4b 20 3d 20 30 78 46 30 30 30 20 7d 0d MASK = 0xF000 }.
230a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
230b0 56 49 53 5f 55 53 45 52 4d 41 53 4b 20 3d 20 30 VIS_USERMASK = 0
230c0 78 46 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 xF000 }....enum
230d0 7b 20 49 5f 43 48 49 4c 44 52 45 4e 43 41 4c 4c { I_CHILDRENCALL
230e0 42 41 43 4b 20 3d 20 2d 31 20 7d 0d 0a 0d 0a 2f BACK = -1 }..../
230f0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
23100 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 >= 0x0300)..ali
23110 61 73 20 4c 50 54 56 49 54 45 4d 57 20 4c 50 54 as LPTVITEMW LPT
23120 56 5f 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 V_ITEMW;..alias
23130 4c 50 54 56 49 54 45 4d 41 20 4c 50 54 56 5f 49 LPTVITEMA LPTV_I
23140 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 54 56 49 TEMA;..alias TVI
23150 54 45 4d 57 20 54 56 5f 49 54 45 4d 57 3b 0d 0a TEMW TV_ITEMW;..
23160 61 6c 69 61 73 20 54 56 49 54 45 4d 41 20 54 56 alias TVITEMA TV
23170 5f 49 54 45 4d 41 3b 0d 0a 2f 2f 20 23 65 6c 73 _ITEMA;..// #els
23180 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
23190 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
231a0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
231b0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
231c0 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 54 56 if....alias LPTV
231d0 49 54 45 4d 20 4c 50 54 56 5f 49 54 45 4d 3b 0d ITEM LPTV_ITEM;.
231e0 0a 61 6c 69 61 73 20 54 56 49 54 45 4d 20 54 56 .alias TVITEM TV
231f0 5f 49 54 45 4d 3b 0d 0a 0d 0a 73 74 72 75 63 74 _ITEM;....struct
23200 20 74 61 67 54 56 49 54 45 4d 41 20 7b 0d 0a 20 tagTVITEMA {..
23210 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 48 UINT mask;.. H
23220 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d TREEITEM hItem;.
23230 0a 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a . UINT state;..
23240 20 20 55 49 4e 54 20 73 74 61 74 65 4d 61 73 6b UINT stateMask
23250 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 ;.. LPSTR pszTe
23260 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 xt;.. int cchTe
23270 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 xtMax;.. int iI
23280 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65 mage;.. int iSe
23290 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20 lectedImage;..
232a0 69 6e 74 20 63 43 68 69 6c 64 72 65 6e 3b 0d 0a int cChildren;..
232b0 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b LPARAM lParam;
232c0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 ..}..alias tagTV
232d0 49 54 45 4d 41 20 54 56 49 54 45 4d 41 3b 0d 0a ITEMA TVITEMA;..
232e0 61 6c 69 61 73 20 74 61 67 54 56 49 54 45 4d 41 alias tagTVITEMA
232f0 2a 20 4c 50 54 56 49 54 45 4d 41 3b 0d 0a 0d 0a * LPTVITEMA;....
23300 73 74 72 75 63 74 20 74 61 67 54 56 49 54 45 4d struct tagTVITEM
23310 57 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b W {.. UINT mask
23320 3b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d 20 68 ;.. HTREEITEM h
23330 49 74 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 73 74 Item;.. UINT st
23340 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61 ate;.. UINT sta
23350 74 65 4d 61 73 6b 3b 0d 0a 20 20 4c 50 57 53 54 teMask;.. LPWST
23360 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e R pszText;.. in
23370 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 t cchTextMax;..
23380 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 int iImage;..
23390 69 6e 74 20 69 53 65 6c 65 63 74 65 64 49 6d 61 int iSelectedIma
233a0 67 65 3b 0d 0a 20 20 69 6e 74 20 63 43 68 69 6c ge;.. int cChil
233b0 64 72 65 6e 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 dren;.. LPARAM
233c0 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 lParam;..}..alia
233d0 73 20 74 61 67 54 56 49 54 45 4d 57 20 54 56 49 s tagTVITEMW TVI
233e0 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 TEMW;..alias tag
233f0 54 56 49 54 45 4d 57 2a 20 4c 50 54 56 49 54 45 TVITEMW* LPTVITE
23400 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f MW;....// #if (_
23410 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 WIN32_IE >= 0x04
23420 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 00)....struct ta
23430 67 54 56 49 54 45 4d 45 58 41 20 7b 0d 0a 20 20 gTVITEMEXA {..
23440 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 48 54 UINT mask;.. HT
23450 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d 0a REEITEM hItem;..
23460 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a 20 UINT state;..
23470 20 55 49 4e 54 20 73 74 61 74 65 4d 61 73 6b 3b UINT stateMask;
23480 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 .. LPSTR pszTex
23490 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 t;.. int cchTex
234a0 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d tMax;.. int iIm
234b0 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65 6c age;.. int iSel
234c0 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20 69 ectedImage;.. i
234d0 6e 74 20 63 43 68 69 6c 64 72 65 6e 3b 0d 0a 20 nt cChildren;..
234e0 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d LPARAM lParam;.
234f0 0a 20 20 69 6e 74 20 69 49 6e 74 65 67 72 61 6c . int iIntegral
23500 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 ;..}..alias tagT
23510 56 49 54 45 4d 45 58 41 20 54 56 49 54 45 4d 45 VITEMEXA TVITEME
23520 58 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 XA;..alias tagTV
23530 49 54 45 4d 45 58 41 2a 20 4c 50 54 56 49 54 45 ITEMEXA* LPTVITE
23540 4d 45 58 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 MEXA;....struct
23550 74 61 67 54 56 49 54 45 4d 45 58 57 20 7b 0d 0a tagTVITEMEXW {..
23560 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 UINT mask;..
23570 48 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b HTREEITEM hItem;
23580 0d 0a 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d .. UINT state;.
23590 0a 20 20 55 49 4e 54 20 73 74 61 74 65 4d 61 73 . UINT stateMas
235a0 6b 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a k;.. LPWSTR psz
235b0 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 Text;.. int cch
235c0 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 TextMax;.. int
235d0 69 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 iImage;.. int i
235e0 53 65 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a SelectedImage;..
235f0 20 20 69 6e 74 20 63 43 68 69 6c 64 72 65 6e 3b int cChildren;
23600 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 .. LPARAM lPara
23610 6d 3b 0d 0a 20 20 69 6e 74 20 69 49 6e 74 65 67 m;.. int iInteg
23620 72 61 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 ral;..}..alias t
23630 61 67 54 56 49 54 45 4d 45 58 57 20 54 56 49 54 agTVITEMEXW TVIT
23640 45 4d 45 58 57 3b 0d 0a 61 6c 69 61 73 20 74 61 EMEXW;..alias ta
23650 67 54 56 49 54 45 4d 45 58 57 2a 20 4c 50 54 56 gTVITEMEXW* LPTV
23660 49 54 45 4d 45 58 57 3b 0d 0a 0d 0a 2f 2f 20 23 ITEMEXW;....// #
23670 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
23680 6c 69 61 73 20 54 56 49 54 45 4d 45 58 57 20 54 lias TVITEMEXW T
23690 56 49 54 45 4d 45 58 3b 0d 0a 61 6c 69 61 73 20 VITEMEX;..alias
236a0 4c 50 54 56 49 54 45 4d 45 58 57 20 4c 50 54 56 LPTVITEMEXW LPTV
236b0 49 54 45 4d 45 58 3b 0d 0a 2f 2f 20 23 65 6c 73 ITEMEX;..// #els
236c0 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 e..// .....// #e
236d0 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d ndif // UNICODE.
236e0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
236f0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
23700 45 0d 0a 61 6c 69 61 73 20 54 56 49 54 45 4d 57 E..alias TVITEMW
23710 20 54 56 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 TVITEM;..alias
23720 4c 50 54 56 49 54 45 4d 57 20 4c 50 54 56 49 54 LPTVITEMW LPTVIT
23730 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f EM;..// #else../
23740 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
23750 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 63 6f .// #endif....co
23760 6e 73 74 20 48 54 52 45 45 49 54 45 4d 20 54 56 nst HTREEITEM TV
23770 49 5f 52 4f 4f 54 20 3d 20 63 61 73 74 28 48 54 I_ROOT = cast(HT
23780 52 45 45 49 54 45 4d 29 28 2d 30 78 31 30 30 30 REEITEM)(-0x1000
23790 30 29 3b 0d 0a 63 6f 6e 73 74 20 48 54 52 45 45 0);..const HTREE
237a0 49 54 45 4d 20 54 56 49 5f 46 49 52 53 54 20 3d ITEM TVI_FIRST =
237b0 20 63 61 73 74 28 48 54 52 45 45 49 54 45 4d 29 cast(HTREEITEM)
237c0 28 2d 30 78 30 46 46 46 46 29 3b 0d 0a 63 6f 6e (-0x0FFFF);..con
237d0 73 74 20 48 54 52 45 45 49 54 45 4d 20 54 56 49 st HTREEITEM TVI
237e0 5f 4c 41 53 54 20 3d 20 63 61 73 74 28 48 54 52 _LAST = cast(HTR
237f0 45 45 49 54 45 4d 29 28 2d 30 78 30 46 46 46 45 EEITEM)(-0x0FFFE
23800 29 3b 0d 0a 63 6f 6e 73 74 20 48 54 52 45 45 49 );..const HTREEI
23810 54 45 4d 20 54 56 49 5f 53 4f 52 54 20 3d 20 63 TEM TVI_SORT = c
23820 61 73 74 28 48 54 52 45 45 49 54 45 4d 29 28 2d ast(HTREEITEM)(-
23830 30 78 30 46 46 46 44 29 3b 0d 0a 0d 0a 2f 2f 20 0x0FFFD);....//
23840 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
23850 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 = 0x0300)..alias
23860 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55 43 LPTVINSERTSTRUC
23870 54 41 20 4c 50 54 56 5f 49 4e 53 45 52 54 53 54 TA LPTV_INSERTST
23880 52 55 43 54 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 RUCTA;..alias LP
23890 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 20 TVINSERTSTRUCTW
238a0 4c 50 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43 LPTV_INSERTSTRUC
238b0 54 57 3b 0d 0a 61 6c 69 61 73 20 54 56 49 4e 53 TW;..alias TVINS
238c0 45 52 54 53 54 52 55 43 54 41 20 54 56 5f 49 4e ERTSTRUCTA TV_IN
238d0 53 45 52 54 53 54 52 55 43 54 41 3b 0d 0a 61 6c SERTSTRUCTA;..al
238e0 69 61 73 20 54 56 49 4e 53 45 52 54 53 54 52 55 ias TVINSERTSTRU
238f0 43 54 57 20 54 56 5f 49 4e 53 45 52 54 53 54 52 CTW TV_INSERTSTR
23900 55 43 54 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d UCTW;..// #else.
23910 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
23920 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
23930 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
23940 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
23950 0d 0a 0d 0a 61 6c 69 61 73 20 54 56 49 4e 53 45 ....alias TVINSE
23960 52 54 53 54 52 55 43 54 20 54 56 5f 49 4e 53 45 RTSTRUCT TV_INSE
23970 52 54 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73 RTSTRUCT;..alias
23980 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55 43 LPTVINSERTSTRUC
23990 54 20 4c 50 54 56 5f 49 4e 53 45 52 54 53 54 52 T LPTV_INSERTSTR
239a0 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 UCT;....// #defi
239b0 6e 65 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 ne TVINSERTSTRUC
239c0 54 41 5f 56 31 5f 53 49 5a 45 20 43 43 53 49 5a TA_V1_SIZE CCSIZ
239d0 45 4f 46 5f 53 54 52 55 43 54 28 54 56 49 4e 53 EOF_STRUCT(TVINS
239e0 45 52 54 53 54 52 55 43 54 41 2c 20 69 74 65 6d ERTSTRUCTA, item
239f0 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 56 )..// #define TV
23a00 49 4e 53 45 52 54 53 54 52 55 43 54 57 5f 56 31 INSERTSTRUCTW_V1
23a10 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 _SIZE CCSIZEOF_S
23a20 54 52 55 43 54 28 54 56 49 4e 53 45 52 54 53 54 TRUCT(TVINSERTST
23a30 52 55 43 54 57 2c 20 69 74 65 6d 29 0d 0a 0d 0a RUCTW, item)....
23a40 73 74 72 75 63 74 20 74 61 67 54 56 49 4e 53 45 struct tagTVINSE
23a50 52 54 53 54 52 55 43 54 41 20 7b 0d 0a 20 20 48 RTSTRUCTA {.. H
23a60 54 52 45 45 49 54 45 4d 20 68 50 61 72 65 6e 74 TREEITEM hParent
23a70 3b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d 20 68 ;.. HTREEITEM h
23a80 49 6e 73 65 72 74 41 66 74 65 72 3b 0d 0a 2f 2f InsertAfter;..//
23a90 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
23aa0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 75 6e 69 6f >= 0x0400)..unio
23ab0 6e 20 7b 0d 0a 20 20 54 56 49 54 45 4d 45 58 41 n {.. TVITEMEXA
23ac0 20 69 74 65 6d 65 78 3b 0d 0a 20 20 54 56 5f 49 itemex;.. TV_I
23ad0 54 45 4d 41 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 0d TEMA item;..}...
23ae0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e .// #else..// ..
23af0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d ...// #endif..}.
23b00 0a 61 6c 69 61 73 20 74 61 67 54 56 49 4e 53 45 .alias tagTVINSE
23b10 52 54 53 54 52 55 43 54 41 20 54 56 49 4e 53 45 RTSTRUCTA TVINSE
23b20 52 54 53 54 52 55 43 54 41 3b 0d 0a 61 6c 69 61 RTSTRUCTA;..alia
23b30 73 20 74 61 67 54 56 49 4e 53 45 52 54 53 54 52 s tagTVINSERTSTR
23b40 55 43 54 41 2a 20 4c 50 54 56 49 4e 53 45 52 54 UCTA* LPTVINSERT
23b50 53 54 52 55 43 54 41 3b 0d 0a 0d 0a 73 74 72 75 STRUCTA;....stru
23b60 63 74 20 74 61 67 54 56 49 4e 53 45 52 54 53 54 ct tagTVINSERTST
23b70 52 55 43 54 57 20 7b 0d 0a 20 20 48 54 52 45 45 RUCTW {.. HTREE
23b80 49 54 45 4d 20 68 50 61 72 65 6e 74 3b 0d 0a 20 ITEM hParent;..
23b90 20 48 54 52 45 45 49 54 45 4d 20 68 49 6e 73 65 HTREEITEM hInse
23ba0 72 74 41 66 74 65 72 3b 0d 0a 2f 2f 20 23 69 66 rtAfter;..// #if
23bb0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
23bc0 78 30 34 30 30 29 0d 0a 75 6e 69 6f 6e 20 7b 0d x0400)..union {.
23bd0 0a 20 20 54 56 49 54 45 4d 45 58 57 20 69 74 65 . TVITEMEXW ite
23be0 6d 65 78 3b 0d 0a 20 20 54 56 5f 49 54 45 4d 57 mex;.. TV_ITEMW
23bf0 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 item;..}....//
23c00 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f #else..// ...../
23c10 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 / #endif..}..ali
23c20 61 73 20 74 61 67 54 56 49 4e 53 45 52 54 53 54 as tagTVINSERTST
23c30 52 55 43 54 57 20 54 56 49 4e 53 45 52 54 53 54 RUCTW TVINSERTST
23c40 52 55 43 54 57 3b 0d 0a 61 6c 69 61 73 20 74 61 RUCTW;..alias ta
23c50 67 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 gTVINSERTSTRUCTW
23c60 2a 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55 * LPTVINSERTSTRU
23c70 43 54 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 CTW;....// #ifde
23c80 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
23c90 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 TVINSERTSTRUCTW
23ca0 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 3b TVINSERTSTRUCT;
23cb0 0d 0a 61 6c 69 61 73 20 4c 50 54 56 49 4e 53 45 ..alias LPTVINSE
23cc0 52 54 53 54 52 55 43 54 57 20 4c 50 54 56 49 4e RTSTRUCTW LPTVIN
23cd0 53 45 52 54 53 54 52 55 43 54 3b 0d 0a 2f 2f 20 SERTSTRUCT;..//
23ce0 23 64 65 66 69 6e 65 20 54 56 49 4e 53 45 52 54 #define TVINSERT
23cf0 53 54 52 55 43 54 5f 56 31 5f 53 49 5a 45 20 54 STRUCT_V1_SIZE T
23d00 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 5f 56 VINSERTSTRUCTW_V
23d10 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c 73 65 1_SIZE..// #else
23d20 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
23d30 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
23d40 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a #endif....enum :
23d50 20 75 69 6e 74 20 7b 20 54 56 4d 5f 49 4e 53 45 uint { TVM_INSE
23d60 52 54 49 54 45 4d 41 20 3d 20 54 56 5f 46 49 52 RTITEMA = TV_FIR
23d70 53 54 20 2b 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a ST + 0 }..enum :
23d80 20 75 69 6e 74 20 7b 20 54 56 4d 5f 49 4e 53 45 uint { TVM_INSE
23d90 52 54 49 54 45 4d 57 20 3d 20 54 56 5f 46 49 52 RTITEMW = TV_FIR
23da0 53 54 20 2b 20 35 30 20 7d 0d 0a 2f 2f 20 23 69 ST + 50 }..// #i
23db0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
23dc0 69 61 73 20 54 56 4d 5f 49 4e 53 45 52 54 49 54 ias TVM_INSERTIT
23dd0 45 4d 57 20 54 56 4d 5f 49 4e 53 45 52 54 49 54 EMW TVM_INSERTIT
23de0 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f EM;..// #else../
23df0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
23e00 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 f....// #define
23e10 54 72 65 65 56 69 65 77 5f 49 6e 73 65 72 74 49 TreeView_InsertI
23e20 74 65 6d 28 68 77 6e 64 2c 20 6c 70 69 73 29 20 tem(hwnd, lpis)
23e30 28 48 54 52 45 45 49 54 45 4d 29 53 4e 44 4d 53 (HTREEITEM)SNDMS
23e40 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 49 4e G((hwnd), TVM_IN
23e50 53 45 52 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 SERTITEM, 0, (LP
23e60 41 52 41 4d 29 28 4c 50 54 56 5f 49 4e 53 45 52 ARAM)(LPTV_INSER
23e70 54 53 54 52 55 43 54 29 28 6c 70 69 73 29 29 0d TSTRUCT)(lpis)).
23e80 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
23e90 20 54 56 4d 5f 44 45 4c 45 54 45 49 54 45 4d 20 TVM_DELETEITEM
23ea0 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31 20 7d = TV_FIRST + 1 }
23eb0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 ..// #define Tre
23ec0 65 56 69 65 77 5f 44 65 6c 65 74 65 49 74 65 6d eView_DeleteItem
23ed0 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 28 42 (hwnd, hitem) (B
23ee0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
23ef0 29 2c 20 54 56 4d 5f 44 45 4c 45 54 45 49 54 45 ), TVM_DELETEITE
23f00 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 48 M, 0, (LPARAM)(H
23f10 54 52 45 45 49 54 45 4d 29 28 68 69 74 65 6d 29 TREEITEM)(hitem)
23f20 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 )....// #define
23f30 54 72 65 65 56 69 65 77 5f 44 65 6c 65 74 65 41 TreeView_DeleteA
23f40 6c 6c 49 74 65 6d 73 28 68 77 6e 64 29 20 28 42 llItems(hwnd) (B
23f50 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
23f60 29 2c 20 54 56 4d 5f 44 45 4c 45 54 45 49 54 45 ), TVM_DELETEITE
23f70 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 54 56 M, 0, (LPARAM)TV
23f80 49 5f 52 4f 4f 54 29 0d 0a 0d 0a 65 6e 75 6d 20 I_ROOT)....enum
23f90 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 45 58 50 : uint { TVM_EXP
23fa0 41 4e 44 20 3d 20 54 56 5f 46 49 52 53 54 20 2b AND = TV_FIRST +
23fb0 20 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 2 }..// #define
23fc0 20 54 72 65 65 56 69 65 77 5f 45 78 70 61 6e 64 TreeView_Expand
23fd0 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 63 6f (hwnd, hitem, co
23fe0 64 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 de) (BOOL)SNDMSG
23ff0 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 45 58 50 ((hwnd), TVM_EXP
24000 41 4e 44 2c 20 28 57 50 41 52 41 4d 29 28 63 6f AND, (WPARAM)(co
24010 64 65 29 2c 20 28 4c 50 41 52 41 4d 29 28 48 54 de), (LPARAM)(HT
24020 52 45 45 49 54 45 4d 29 28 68 69 74 65 6d 29 29 REEITEM)(hitem))
24030 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
24040 7b 20 54 56 45 5f 43 4f 4c 4c 41 50 53 45 20 3d { TVE_COLLAPSE =
24050 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
24060 3a 20 75 69 6e 74 20 7b 20 54 56 45 5f 45 58 50 : uint { TVE_EXP
24070 41 4e 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a AND = 0x0002 }..
24080 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
24090 45 5f 54 4f 47 47 4c 45 20 3d 20 30 78 30 30 30 E_TOGGLE = 0x000
240a0 33 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 3 }..// #if (_WI
240b0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
240c0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
240d0 20 54 56 45 5f 45 58 50 41 4e 44 50 41 52 54 49 TVE_EXPANDPARTI
240e0 41 4c 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f AL = 0x4000 }../
240f0 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a / #endif..enum :
24100 20 75 69 6e 74 20 7b 20 54 56 45 5f 43 4f 4c 4c uint { TVE_COLL
24110 41 50 53 45 52 45 53 45 54 20 3d 20 30 78 38 30 APSERESET = 0x80
24120 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 00 }....enum : u
24130 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 49 54 45 int { TVM_GETITE
24140 4d 52 45 43 54 20 3d 20 54 56 5f 46 49 52 53 54 MRECT = TV_FIRST
24150 20 2b 20 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 4 }..// #defi
24160 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 49 ne TreeView_GetI
24170 74 65 6d 52 65 63 74 28 68 77 6e 64 2c 20 68 69 temRect(hwnd, hi
24180 74 65 6d 2c 20 70 72 63 2c 20 63 6f 64 65 29 20 tem, prc, code)
24190 28 2a 28 48 54 52 45 45 49 54 45 4d 20 2a 29 70 (*(HTREEITEM *)p
241a0 72 63 20 3d 20 28 68 69 74 65 6d 29 2c 20 28 42 rc = (hitem), (B
241b0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
241c0 29 2c 20 54 56 4d 5f 47 45 54 49 54 45 4d 52 45 ), TVM_GETITEMRE
241d0 43 54 2c 20 28 57 50 41 52 41 4d 29 28 63 6f 64 CT, (WPARAM)(cod
241e0 65 29 2c 20 28 4c 50 41 52 41 4d 29 28 52 45 43 e), (LPARAM)(REC
241f0 54 20 2a 29 28 70 72 63 29 29 29 0d 0a 0d 0a 65 T *)(prc)))....e
24200 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d num : uint { TVM
24210 5f 47 45 54 43 4f 55 4e 54 20 3d 20 54 56 5f 46 _GETCOUNT = TV_F
24220 49 52 53 54 20 2b 20 35 20 7d 0d 0a 2f 2f 20 23 IRST + 5 }..// #
24230 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f define TreeView_
24240 47 65 74 43 6f 75 6e 74 28 68 77 6e 64 29 20 28 GetCount(hwnd) (
24250 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 68 77 6e UINT)SNDMSG((hwn
24260 64 29 2c 20 54 56 4d 5f 47 45 54 43 4f 55 4e 54 d), TVM_GETCOUNT
24270 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 , 0, 0)....enum
24280 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 : uint { TVM_GET
24290 49 4e 44 45 4e 54 20 3d 20 54 56 5f 46 49 52 53 INDENT = TV_FIRS
242a0 54 20 2b 20 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 T + 6 }..// #def
242b0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 ine TreeView_Get
242c0 49 6e 64 65 6e 74 28 68 77 6e 64 29 20 28 55 49 Indent(hwnd) (UI
242d0 4e 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 NT)SNDMSG((hwnd)
242e0 2c 20 54 56 4d 5f 47 45 54 49 4e 44 45 4e 54 2c , TVM_GETINDENT,
242f0 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 0, 0)....enum :
24300 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 49 uint { TVM_SETI
24310 4e 44 45 4e 54 20 3d 20 54 56 5f 46 49 52 53 54 NDENT = TV_FIRST
24320 20 2b 20 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 7 }..// #defi
24330 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74 49 ne TreeView_SetI
24340 6e 64 65 6e 74 28 68 77 6e 64 2c 20 69 6e 64 65 ndent(hwnd, inde
24350 6e 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 nt) (BOOL)SNDMSG
24360 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54 ((hwnd), TVM_SET
24370 49 4e 44 45 4e 54 2c 20 28 57 50 41 52 41 4d 29 INDENT, (WPARAM)
24380 28 69 6e 64 65 6e 74 29 2c 20 30 29 0d 0a 0d 0a (indent), 0)....
24390 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
243a0 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 20 3d M_GETIMAGELIST =
243b0 20 54 56 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d TV_FIRST + 8 }.
243c0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 .// #define Tree
243d0 56 69 65 77 5f 47 65 74 49 6d 61 67 65 4c 69 73 View_GetImageLis
243e0 74 28 68 77 6e 64 2c 20 69 49 6d 61 67 65 29 20 t(hwnd, iImage)
243f0 28 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d (HIMAGELIST)SNDM
24400 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 SG((hwnd), TVM_G
24410 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 69 49 6d ETIMAGELIST, iIm
24420 61 67 65 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 age, 0)....enum
24430 3a 20 75 69 6e 74 20 7b 20 54 56 53 49 4c 5f 4e : uint { TVSIL_N
24440 4f 52 4d 41 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 ORMAL = 0 }..enu
24450 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 49 4c m : uint { TVSIL
24460 5f 53 54 41 54 45 20 3d 20 32 20 7d 0d 0a 0d 0a _STATE = 2 }....
24470 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
24480 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 20 3d M_SETIMAGELIST =
24490 20 54 56 5f 46 49 52 53 54 20 2b 20 39 20 7d 0d TV_FIRST + 9 }.
244a0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 .// #define Tree
244b0 56 69 65 77 5f 53 65 74 49 6d 61 67 65 4c 69 73 View_SetImageLis
244c0 74 28 68 77 6e 64 2c 20 68 69 6d 6c 2c 20 69 49 t(hwnd, himl, iI
244d0 6d 61 67 65 29 20 28 48 49 4d 41 47 45 4c 49 53 mage) (HIMAGELIS
244e0 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c T)SNDMSG((hwnd),
244f0 20 54 56 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 TVM_SETIMAGELIS
24500 54 2c 20 69 49 6d 61 67 65 2c 20 28 4c 50 41 52 T, iImage, (LPAR
24510 41 4d 29 28 48 49 4d 41 47 45 4c 49 53 54 29 28 AM)(HIMAGELIST)(
24520 68 69 6d 6c 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a himl))....enum :
24530 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 4e uint { TVM_GETN
24540 45 58 54 49 54 45 4d 20 3d 20 54 56 5f 46 49 52 EXTITEM = TV_FIR
24550 53 54 20 2b 20 31 30 20 7d 0d 0a 2f 2f 20 23 64 ST + 10 }..// #d
24560 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47 efine TreeView_G
24570 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e 64 2c etNextItem(hwnd,
24580 20 68 69 74 65 6d 2c 20 63 6f 64 65 29 20 28 48 hitem, code) (H
24590 54 52 45 45 49 54 45 4d 29 53 4e 44 4d 53 47 28 TREEITEM)SNDMSG(
245a0 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 4e (hwnd), TVM_GETN
245b0 45 58 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d EXTITEM, (WPARAM
245c0 29 28 63 6f 64 65 29 2c 20 28 4c 50 41 52 41 4d )(code), (LPARAM
245d0 29 28 48 54 52 45 45 49 54 45 4d 29 28 68 69 74 )(HTREEITEM)(hit
245e0 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 em))....enum : u
245f0 69 6e 74 20 7b 20 54 56 47 4e 5f 52 4f 4f 54 20 int { TVGN_ROOT
24600 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d = 0x0000 }..enum
24610 20 3a 20 75 69 6e 74 20 7b 20 54 56 47 4e 5f 4e : uint { TVGN_N
24620 45 58 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a EXT = 0x0001 }..
24630 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
24640 47 4e 5f 50 52 45 56 49 4f 55 53 20 3d 20 30 78 GN_PREVIOUS = 0x
24650 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0002 }..enum : u
24660 69 6e 74 20 7b 20 54 56 47 4e 5f 50 41 52 45 4e int { TVGN_PAREN
24670 54 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e T = 0x0003 }..en
24680 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 47 4e um : uint { TVGN
24690 5f 43 48 49 4c 44 20 3d 20 30 78 30 30 30 34 20 _CHILD = 0x0004
246a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
246b0 20 54 56 47 4e 5f 46 49 52 53 54 56 49 53 49 42 TVGN_FIRSTVISIB
246c0 4c 45 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 LE = 0x0005 }..e
246d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 47 num : uint { TVG
246e0 4e 5f 4e 45 58 54 56 49 53 49 42 4c 45 20 3d 20 N_NEXTVISIBLE =
246f0 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0006 }..enum :
24700 20 75 69 6e 74 20 7b 20 54 56 47 4e 5f 50 52 45 uint { TVGN_PRE
24710 56 49 4f 55 53 56 49 53 49 42 4c 45 20 3d 20 30 VIOUSVISIBLE = 0
24720 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0007 }..enum :
24730 75 69 6e 74 20 7b 20 54 56 47 4e 5f 44 52 4f 50 uint { TVGN_DROP
24740 48 49 4c 49 54 45 20 3d 20 30 78 30 30 30 38 20 HILITE = 0x0008
24750 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
24760 20 54 56 47 4e 5f 43 41 52 45 54 20 3d 20 30 78 TVGN_CARET = 0x
24770 30 30 30 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 0009 }..// #if (
24780 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 _WIN32_IE >= 0x0
24790 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 400)..enum : uin
247a0 74 20 7b 20 54 56 47 4e 5f 4c 41 53 54 56 49 53 t { TVGN_LASTVIS
247b0 49 42 4c 45 20 3d 20 30 78 30 30 30 41 20 7d 0d IBLE = 0x000A }.
247c0 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 .// #endif
247d0 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 // _WIN32_IE >=
247e0 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 0x0400....// #if
247f0 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e (_WIN32_WINNT >
24800 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a = 0x501)..enum :
24810 20 75 69 6e 74 20 7b 20 54 56 53 49 5f 4e 4f 53 uint { TVSI_NOS
24820 49 4e 47 4c 45 45 58 50 41 4e 44 20 3d 20 30 78 INGLEEXPAND = 0x
24830 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 8000 }..// #endi
24840 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 f....// #define
24850 54 72 65 65 56 69 65 77 5f 47 65 74 43 68 69 6c TreeView_GetChil
24860 64 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 d(hwnd, hitem) T
24870 72 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 reeView_GetNextI
24880 74 65 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c tem(hwnd, hitem,
24890 20 54 56 47 4e 5f 43 48 49 4c 44 29 0d 0a 2f 2f TVGN_CHILD)..//
248a0 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
248b0 77 5f 47 65 74 4e 65 78 74 53 69 62 6c 69 6e 67 w_GetNextSibling
248c0 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 72 (hwnd, hitem) Tr
248d0 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 eeView_GetNextIt
248e0 65 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 em(hwnd, hitem,
248f0 54 56 47 4e 5f 4e 45 58 54 29 0d 0a 2f 2f 20 23 TVGN_NEXT)..// #
24900 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f define TreeView_
24910 47 65 74 50 72 65 76 53 69 62 6c 69 6e 67 28 68 GetPrevSibling(h
24920 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 72 65 65 wnd, hitem) Tree
24930 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 6d View_GetNextItem
24940 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 54 56 (hwnd, hitem, TV
24950 47 4e 5f 50 52 45 56 49 4f 55 53 29 0d 0a 2f 2f GN_PREVIOUS)..//
24960 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
24970 77 5f 47 65 74 50 61 72 65 6e 74 28 68 77 6e 64 w_GetParent(hwnd
24980 2c 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65 , hitem) TreeVie
24990 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 w_GetNextItem(hw
249a0 6e 64 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f nd, hitem, TVGN_
249b0 50 41 52 45 4e 54 29 0d 0a 2f 2f 20 23 64 65 66 PARENT)..// #def
249c0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 ine TreeView_Get
249d0 46 69 72 73 74 56 69 73 69 62 6c 65 28 68 77 6e FirstVisible(hwn
249e0 64 29 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e d) TreeView_GetN
249f0 65 78 74 49 74 65 6d 28 68 77 6e 64 2c 20 4e 55 extItem(hwnd, NU
24a00 4c 4c 2c 20 54 56 47 4e 5f 46 49 52 53 54 56 49 LL, TVGN_FIRSTVI
24a10 53 49 42 4c 45 29 0d 0a 2f 2f 20 23 64 65 66 69 SIBLE)..// #defi
24a20 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e ne TreeView_GetN
24a30 65 78 74 56 69 73 69 62 6c 65 28 68 77 6e 64 2c extVisible(hwnd,
24a40 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65 77 hitem) TreeView
24a50 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e _GetNextItem(hwn
24a60 64 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f 4e d, hitem, TVGN_N
24a70 45 58 54 56 49 53 49 42 4c 45 29 0d 0a 2f 2f 20 EXTVISIBLE)..//
24a80 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 #define TreeView
24a90 5f 47 65 74 50 72 65 76 56 69 73 69 62 6c 65 28 _GetPrevVisible(
24aa0 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 72 65 hwnd, hitem) Tre
24ab0 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 eView_GetNextIte
24ac0 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 54 m(hwnd, hitem, T
24ad0 56 47 4e 5f 50 52 45 56 49 4f 55 53 56 49 53 49 VGN_PREVIOUSVISI
24ae0 42 4c 45 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 BLE)..// #define
24af0 20 54 72 65 65 56 69 65 77 5f 47 65 74 53 65 6c TreeView_GetSel
24b00 65 63 74 69 6f 6e 28 68 77 6e 64 29 20 54 72 65 ection(hwnd) Tre
24b10 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 eView_GetNextIte
24b20 6d 28 68 77 6e 64 2c 20 4e 55 4c 4c 2c 20 54 56 m(hwnd, NULL, TV
24b30 47 4e 5f 43 41 52 45 54 29 0d 0a 2f 2f 20 23 64 GN_CARET)..// #d
24b40 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47 efine TreeView_G
24b50 65 74 44 72 6f 70 48 69 6c 69 67 68 74 28 68 77 etDropHilight(hw
24b60 6e 64 29 20 54 72 65 65 56 69 65 77 5f 47 65 74 nd) TreeView_Get
24b70 4e 65 78 74 49 74 65 6d 28 68 77 6e 64 2c 20 4e NextItem(hwnd, N
24b80 55 4c 4c 2c 20 54 56 47 4e 5f 44 52 4f 50 48 49 ULL, TVGN_DROPHI
24b90 4c 49 54 45 29 0d 0a 2f 2f 20 23 64 65 66 69 6e LITE)..// #defin
24ba0 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 52 6f e TreeView_GetRo
24bb0 6f 74 28 68 77 6e 64 29 20 54 72 65 65 56 69 65 ot(hwnd) TreeVie
24bc0 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 w_GetNextItem(hw
24bd0 6e 64 2c 20 4e 55 4c 4c 2c 20 54 56 47 4e 5f 52 nd, NULL, TVGN_R
24be0 4f 4f 54 29 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 OOT)..// #if (_W
24bf0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 IN32_IE >= 0x040
24c00 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 0)..// #define T
24c10 72 65 65 56 69 65 77 5f 47 65 74 4c 61 73 74 56 reeView_GetLastV
24c20 69 73 69 62 6c 65 28 68 77 6e 64 29 20 54 72 65 isible(hwnd) Tre
24c30 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 eView_GetNextIte
24c40 6d 28 68 77 6e 64 2c 20 4e 55 4c 4c 2c 20 54 56 m(hwnd, NULL, TV
24c50 47 4e 5f 4c 41 53 54 56 49 53 49 42 4c 45 29 0d GN_LASTVISIBLE).
24c60 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 .// #endif
24c70 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 // _WIN32_IE >=
24c80 30 78 30 34 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 0x0400....enum :
24c90 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 4c 45 uint { TVM_SELE
24ca0 43 54 49 54 45 4d 20 3d 20 54 56 5f 46 49 52 53 CTITEM = TV_FIRS
24cb0 54 20 2b 20 31 31 20 7d 0d 0a 2f 2f 20 23 64 65 T + 11 }..// #de
24cc0 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 fine TreeView_Se
24cd0 6c 65 63 74 28 68 77 6e 64 2c 20 68 69 74 65 6d lect(hwnd, hitem
24ce0 2c 20 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53 4e , code) (BOOL)SN
24cf0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d DMSG((hwnd), TVM
24d00 5f 53 45 4c 45 43 54 49 54 45 4d 2c 20 28 57 50 _SELECTITEM, (WP
24d10 41 52 41 4d 29 28 63 6f 64 65 29 2c 20 28 4c 50 ARAM)(code), (LP
24d20 41 52 41 4d 29 28 48 54 52 45 45 49 54 45 4d 29 ARAM)(HTREEITEM)
24d30 28 68 69 74 65 6d 29 29 0d 0a 0d 0a 2f 2f 20 23 (hitem))....// #
24d40 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f define TreeView_
24d50 53 65 6c 65 63 74 49 74 65 6d 28 68 77 6e 64 2c SelectItem(hwnd,
24d60 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65 77 hitem) TreeView
24d70 5f 53 65 6c 65 63 74 28 68 77 6e 64 2c 20 68 69 _Select(hwnd, hi
24d80 74 65 6d 2c 20 54 56 47 4e 5f 43 41 52 45 54 29 tem, TVGN_CARET)
24d90 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 ..// #define Tre
24da0 65 56 69 65 77 5f 53 65 6c 65 63 74 44 72 6f 70 eView_SelectDrop
24db0 54 61 72 67 65 74 28 68 77 6e 64 2c 20 68 69 74 Target(hwnd, hit
24dc0 65 6d 29 20 54 72 65 65 56 69 65 77 5f 53 65 6c em) TreeView_Sel
24dd0 65 63 74 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c ect(hwnd, hitem,
24de0 20 54 56 47 4e 5f 44 52 4f 50 48 49 4c 49 54 45 TVGN_DROPHILITE
24df0 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 )..// #define Tr
24e00 65 65 56 69 65 77 5f 53 65 6c 65 63 74 53 65 74 eeView_SelectSet
24e10 46 69 72 73 74 56 69 73 69 62 6c 65 28 68 77 6e FirstVisible(hwn
24e20 64 2c 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 d, hitem) TreeVi
24e30 65 77 5f 53 65 6c 65 63 74 28 68 77 6e 64 2c 20 ew_Select(hwnd,
24e40 68 69 74 65 6d 2c 20 54 56 47 4e 5f 46 49 52 53 hitem, TVGN_FIRS
24e50 54 56 49 53 49 42 4c 45 29 0d 0a 0d 0a 65 6e 75 TVISIBLE)....enu
24e60 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 m : uint { TVM_G
24e70 45 54 49 54 45 4d 41 20 3d 20 54 56 5f 46 49 52 ETITEMA = TV_FIR
24e80 53 54 20 2b 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 ST + 12 }..enum
24e90 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 : uint { TVM_GET
24ea0 49 54 45 4d 57 20 3d 20 54 56 5f 46 49 52 53 54 ITEMW = TV_FIRST
24eb0 20 2b 20 36 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 + 62 }....// #i
24ec0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c fdef UNICODE..al
24ed0 69 61 73 20 54 56 4d 5f 47 45 54 49 54 45 4d 57 ias TVM_GETITEMW
24ee0 20 54 56 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f TVM_GETITEM;../
24ef0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
24f00 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
24f10 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 / #define TreeVi
24f20 65 77 5f 47 65 74 49 74 65 6d 28 68 77 6e 64 2c ew_GetItem(hwnd,
24f30 20 70 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e pitem) (BOOL)SN
24f40 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d DMSG((hwnd), TVM
24f50 5f 47 45 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 _GETITEM, 0, (LP
24f60 41 52 41 4d 29 28 54 56 5f 49 54 45 4d 20 2a 29 ARAM)(TV_ITEM *)
24f70 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d (pitem))....enum
24f80 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 : uint { TVM_SE
24f90 54 49 54 45 4d 41 20 3d 20 54 56 5f 46 49 52 53 TITEMA = TV_FIRS
24fa0 54 20 2b 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a T + 13 }..enum :
24fb0 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 49 uint { TVM_SETI
24fc0 54 45 4d 57 20 3d 20 54 56 5f 46 49 52 53 54 20 TEMW = TV_FIRST
24fd0 2b 20 36 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 + 63 }....// #if
24fe0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 def UNICODE..ali
24ff0 61 73 20 54 56 4d 5f 53 45 54 49 54 45 4d 57 20 as TVM_SETITEMW
25000 54 56 4d 5f 53 45 54 49 54 45 4d 3b 0d 0a 2f 2f TVM_SETITEM;..//
25010 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
25020 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
25030 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
25040 77 5f 53 65 74 49 74 65 6d 28 68 77 6e 64 2c 20 w_SetItem(hwnd,
25050 70 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 pitem) (BOOL)SND
25060 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f MSG((hwnd), TVM_
25070 53 45 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41 SETITEM, 0, (LPA
25080 52 41 4d 29 28 63 6f 6e 73 74 20 54 56 5f 49 54 RAM)(const TV_IT
25090 45 4d 20 2a 29 28 70 69 74 65 6d 29 29 0d 0a 0d EM *)(pitem))...
250a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
250b0 56 4d 5f 45 44 49 54 4c 41 42 45 4c 41 20 3d 20 VM_EDITLABELA =
250c0 54 56 5f 46 49 52 53 54 20 2b 20 31 34 20 7d 0d TV_FIRST + 14 }.
250d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
250e0 56 4d 5f 45 44 49 54 4c 41 42 45 4c 57 20 3d 20 VM_EDITLABELW =
250f0 54 56 5f 46 49 52 53 54 20 2b 20 36 35 20 7d 0d TV_FIRST + 65 }.
25100 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
25110 44 45 0d 0a 61 6c 69 61 73 20 54 56 4d 5f 45 44 DE..alias TVM_ED
25120 49 54 4c 41 42 45 4c 57 20 54 56 4d 5f 45 44 49 ITLABELW TVM_EDI
25130 54 4c 41 42 45 4c 3b 0d 0a 2f 2f 20 23 65 6c 73 TLABEL;..// #els
25140 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
25150 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 endif....// #def
25160 69 6e 65 20 54 72 65 65 56 69 65 77 5f 45 64 69 ine TreeView_Edi
25170 74 4c 61 62 65 6c 28 68 77 6e 64 2c 20 68 69 74 tLabel(hwnd, hit
25180 65 6d 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 em) (HWND)SNDMSG
25190 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 45 44 49 ((hwnd), TVM_EDI
251a0 54 4c 41 42 45 4c 2c 20 30 2c 20 28 4c 50 41 52 TLABEL, 0, (LPAR
251b0 41 4d 29 28 48 54 52 45 45 49 54 45 4d 29 28 68 AM)(HTREEITEM)(h
251c0 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a item))....enum :
251d0 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 45 uint { TVM_GETE
251e0 44 49 54 43 4f 4e 54 52 4f 4c 20 3d 20 54 56 5f DITCONTROL = TV_
251f0 46 49 52 53 54 20 2b 20 31 35 20 7d 0d 0a 2f 2f FIRST + 15 }..//
25200 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
25210 77 5f 47 65 74 45 64 69 74 43 6f 6e 74 72 6f 6c w_GetEditControl
25220 28 68 77 6e 64 29 20 28 48 57 4e 44 29 53 4e 44 (hwnd) (HWND)SND
25230 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f MSG((hwnd), TVM_
25240 47 45 54 45 44 49 54 43 4f 4e 54 52 4f 4c 2c 20 GETEDITCONTROL,
25250 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0, 0)....enum :
25260 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 56 49 uint { TVM_GETVI
25270 53 49 42 4c 45 43 4f 55 4e 54 20 3d 20 54 56 5f SIBLECOUNT = TV_
25280 46 49 52 53 54 20 2b 20 31 36 20 7d 0d 0a 2f 2f FIRST + 16 }..//
25290 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
252a0 77 5f 47 65 74 56 69 73 69 62 6c 65 43 6f 75 6e w_GetVisibleCoun
252b0 74 28 68 77 6e 64 29 20 28 55 49 4e 54 29 53 4e t(hwnd) (UINT)SN
252c0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d DMSG((hwnd), TVM
252d0 5f 47 45 54 56 49 53 49 42 4c 45 43 4f 55 4e 54 _GETVISIBLECOUNT
252e0 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 , 0, 0)....enum
252f0 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 48 49 54 : uint { TVM_HIT
25300 54 45 53 54 20 3d 20 54 56 5f 46 49 52 53 54 20 TEST = TV_FIRST
25310 2b 20 31 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 17 }..// #defi
25320 6e 65 20 54 72 65 65 56 69 65 77 5f 48 69 74 54 ne TreeView_HitT
25330 65 73 74 28 68 77 6e 64 2c 20 6c 70 68 74 29 20 est(hwnd, lpht)
25340 28 48 54 52 45 45 49 54 45 4d 29 53 4e 44 4d 53 (HTREEITEM)SNDMS
25350 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 48 49 G((hwnd), TVM_HI
25360 54 54 45 53 54 2c 20 30 2c 20 28 4c 50 41 52 41 TTEST, 0, (LPARA
25370 4d 29 28 4c 50 54 56 5f 48 49 54 54 45 53 54 49 M)(LPTV_HITTESTI
25380 4e 46 4f 29 28 6c 70 68 74 29 29 0d 0a 0d 0a 2f NFO)(lpht))..../
25390 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
253a0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 >= 0x0300)..ali
253b0 61 73 20 4c 50 54 56 48 49 54 54 45 53 54 49 4e as LPTVHITTESTIN
253c0 46 4f 20 4c 50 54 56 5f 48 49 54 54 45 53 54 49 FO LPTV_HITTESTI
253d0 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 56 48 49 NFO;..alias TVHI
253e0 54 54 45 53 54 49 4e 46 4f 20 54 56 5f 48 49 54 TTESTINFO TV_HIT
253f0 54 45 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 TESTINFO;..// #e
25400 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
25410 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
25420 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 // #endif....str
25430 75 63 74 20 74 61 67 54 56 48 49 54 54 45 53 54 uct tagTVHITTEST
25440 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 INFO {.. POINT
25450 70 74 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 pt;.. UINT flag
25460 73 3b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d 20 s;.. HTREEITEM
25470 68 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 hItem;..}..alias
25480 20 74 61 67 54 56 48 49 54 54 45 53 54 49 4e 46 tagTVHITTESTINF
25490 4f 20 54 56 48 49 54 54 45 53 54 49 4e 46 4f 3b O TVHITTESTINFO;
254a0 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 48 49 54 ..alias tagTVHIT
254b0 54 45 53 54 49 4e 46 4f 2a 20 4c 50 54 56 48 49 TESTINFO* LPTVHI
254c0 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e TTESTINFO;....en
254d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48 54 um : uint { TVHT
254e0 5f 4e 4f 57 48 45 52 45 20 3d 20 30 78 30 30 30 _NOWHERE = 0x000
254f0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
25500 20 7b 20 54 56 48 54 5f 4f 4e 49 54 45 4d 49 43 { TVHT_ONITEMIC
25510 4f 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 ON = 0x0002 }..e
25520 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48 num : uint { TVH
25530 54 5f 4f 4e 49 54 45 4d 4c 41 42 45 4c 20 3d 20 T_ONITEMLABEL =
25540 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0004 }..enum :
25550 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 4f 4e 49 uint { TVHT_ONI
25560 54 45 4d 20 3d 20 54 56 48 54 5f 4f 4e 49 54 45 TEM = TVHT_ONITE
25570 4d 49 43 4f 4e 20 7c 20 54 56 48 54 5f 4f 4e 49 MICON | TVHT_ONI
25580 54 45 4d 4c 41 42 45 4c 20 7c 20 54 56 48 54 5f TEMLABEL | TVHT_
25590 4f 4e 49 54 45 4d 53 54 41 54 45 49 43 4f 4e 20 ONITEMSTATEICON
255a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
255b0 20 54 56 48 54 5f 4f 4e 49 54 45 4d 49 4e 44 45 TVHT_ONITEMINDE
255c0 4e 54 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 NT = 0x0008 }..e
255d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48 num : uint { TVH
255e0 54 5f 4f 4e 49 54 45 4d 42 55 54 54 4f 4e 20 3d T_ONITEMBUTTON =
255f0 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 0x0010 }..enum
25600 3a 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 4f 4e : uint { TVHT_ON
25610 49 54 45 4d 52 49 47 48 54 20 3d 20 30 78 30 30 ITEMRIGHT = 0x00
25620 32 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 }..// #define
25630 20 54 56 48 54 5f 4f 4e 49 54 45 4d 53 54 41 54 TVHT_ONITEMSTAT
25640 45 49 43 4f 4e 20 30 78 30 30 34 30 0d 0a 0d 0a EICON 0x0040....
25650 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
25660 48 54 5f 41 42 4f 56 45 20 3d 20 30 78 30 31 30 HT_ABOVE = 0x010
25670 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
25680 20 7b 20 54 56 48 54 5f 42 45 4c 4f 57 20 3d 20 { TVHT_BELOW =
25690 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0200 }..enum :
256a0 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 54 4f 52 uint { TVHT_TOR
256b0 49 47 48 54 20 3d 20 30 78 30 34 30 30 20 7d 0d IGHT = 0x0400 }.
256c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
256d0 56 48 54 5f 54 4f 4c 45 46 54 20 3d 20 30 78 30 VHT_TOLEFT = 0x0
256e0 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 800 }....enum :
256f0 75 69 6e 74 20 7b 20 54 56 4d 5f 43 52 45 41 54 uint { TVM_CREAT
25700 45 44 52 41 47 49 4d 41 47 45 20 3d 20 54 56 5f EDRAGIMAGE = TV_
25710 46 49 52 53 54 20 2b 20 31 38 20 7d 0d 0a 2f 2f FIRST + 18 }..//
25720 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
25730 77 5f 43 72 65 61 74 65 44 72 61 67 49 6d 61 67 w_CreateDragImag
25740 65 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 28 e(hwnd, hitem) (
25750 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d 53 HIMAGELIST)SNDMS
25760 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 43 52 G((hwnd), TVM_CR
25770 45 41 54 45 44 52 41 47 49 4d 41 47 45 2c 20 30 EATEDRAGIMAGE, 0
25780 2c 20 28 4c 50 41 52 41 4d 29 28 48 54 52 45 45 , (LPARAM)(HTREE
25790 49 54 45 4d 29 28 68 69 74 65 6d 29 29 0d 0a 0d ITEM)(hitem))...
257a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
257b0 56 4d 5f 53 4f 52 54 43 48 49 4c 44 52 45 4e 20 VM_SORTCHILDREN
257c0 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31 39 20 = TV_FIRST + 19
257d0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 }..// #define Tr
257e0 65 65 56 69 65 77 5f 53 6f 72 74 43 68 69 6c 64 eeView_SortChild
257f0 72 65 6e 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c ren(hwnd, hitem,
25800 20 72 65 63 75 72 73 65 29 20 28 42 4f 4f 4c 29 recurse) (BOOL)
25810 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 SNDMSG((hwnd), T
25820 56 4d 5f 53 4f 52 54 43 48 49 4c 44 52 45 4e 2c VM_SORTCHILDREN,
25830 20 28 57 50 41 52 41 4d 29 28 72 65 63 75 72 73 (WPARAM)(recurs
25840 65 29 2c 20 28 4c 50 41 52 41 4d 29 28 48 54 52 e), (LPARAM)(HTR
25850 45 45 49 54 45 4d 29 28 68 69 74 65 6d 29 29 0d EEITEM)(hitem)).
25860 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
25870 20 54 56 4d 5f 45 4e 53 55 52 45 56 49 53 49 42 TVM_ENSUREVISIB
25880 4c 45 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 LE = TV_FIRST +
25890 32 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 }..// #define
258a0 20 54 72 65 65 56 69 65 77 5f 45 6e 73 75 72 65 TreeView_Ensure
258b0 56 69 73 69 62 6c 65 28 68 77 6e 64 2c 20 68 69 Visible(hwnd, hi
258c0 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 tem) (BOOL)SNDMS
258d0 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 45 4e G((hwnd), TVM_EN
258e0 53 55 52 45 56 49 53 49 42 4c 45 2c 20 30 2c 20 SUREVISIBLE, 0,
258f0 28 4c 50 41 52 41 4d 29 28 48 54 52 45 45 49 54 (LPARAM)(HTREEIT
25900 45 4d 29 28 68 69 74 65 6d 29 29 0d 0a 0d 0a 65 EM)(hitem))....e
25910 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d num : uint { TVM
25920 5f 53 4f 52 54 43 48 49 4c 44 52 45 4e 43 42 20 _SORTCHILDRENCB
25930 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 31 20 = TV_FIRST + 21
25940 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 }..// #define Tr
25950 65 65 56 69 65 77 5f 53 6f 72 74 43 68 69 6c 64 eeView_SortChild
25960 72 65 6e 43 42 28 68 77 6e 64 2c 20 70 73 6f 72 renCB(hwnd, psor
25970 74 2c 20 72 65 63 75 72 73 65 29 20 28 42 4f 4f t, recurse) (BOO
25980 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c L)SNDMSG((hwnd),
25990 20 54 56 4d 5f 53 4f 52 54 43 48 49 4c 44 52 45 TVM_SORTCHILDRE
259a0 4e 43 42 2c 20 28 57 50 41 52 41 4d 29 28 72 65 NCB, (WPARAM)(re
259b0 63 75 72 73 65 29 2c 20 28 4c 50 41 52 41 4d 29 curse), (LPARAM)
259c0 28 4c 50 54 56 5f 53 4f 52 54 43 42 29 28 70 73 (LPTV_SORTCB)(ps
259d0 6f 72 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 ort))....enum :
259e0 75 69 6e 74 20 7b 20 54 56 4d 5f 45 4e 44 45 44 uint { TVM_ENDED
259f0 49 54 4c 41 42 45 4c 4e 4f 57 20 3d 20 54 56 5f ITLABELNOW = TV_
25a00 46 49 52 53 54 20 2b 20 32 32 20 7d 0d 0a 2f 2f FIRST + 22 }..//
25a10 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
25a20 77 5f 45 6e 64 45 64 69 74 4c 61 62 65 6c 4e 6f w_EndEditLabelNo
25a30 77 28 68 77 6e 64 2c 20 66 43 61 6e 63 65 6c 29 w(hwnd, fCancel)
25a40 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 (BOOL)SNDMSG((h
25a50 77 6e 64 29 2c 20 54 56 4d 5f 45 4e 44 45 44 49 wnd), TVM_ENDEDI
25a60 54 4c 41 42 45 4c 4e 4f 57 2c 20 28 57 50 41 52 TLABELNOW, (WPAR
25a70 41 4d 29 28 66 43 61 6e 63 65 6c 29 2c 20 30 29 AM)(fCancel), 0)
25a80 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
25a90 7b 20 54 56 4d 5f 47 45 54 49 53 45 41 52 43 48 { TVM_GETISEARCH
25aa0 53 54 52 49 4e 47 41 20 3d 20 54 56 5f 46 49 52 STRINGA = TV_FIR
25ab0 53 54 20 2b 20 32 33 20 7d 0d 0a 65 6e 75 6d 20 ST + 23 }..enum
25ac0 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 : uint { TVM_GET
25ad0 49 53 45 41 52 43 48 53 54 52 49 4e 47 57 20 3d ISEARCHSTRINGW =
25ae0 20 54 56 5f 46 49 52 53 54 20 2b 20 36 34 20 7d TV_FIRST + 64 }
25af0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
25b00 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 56 4d ICODE..alias TVM
25b10 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e _GETISEARCHSTRIN
25b20 47 57 20 54 56 4d 5f 47 45 54 49 53 45 41 52 43 GW TVM_GETISEARC
25b30 48 53 54 52 49 4e 47 3b 0d 0a 2f 2f 20 23 65 6c HSTRING;..// #el
25b40 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
25b50 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 #endif....// #if
25b60 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
25b70 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 x0300)..enum : u
25b80 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 54 4f 4f int { TVM_SETTOO
25b90 4c 54 49 50 53 20 3d 20 54 56 5f 46 49 52 53 54 LTIPS = TV_FIRST
25ba0 20 2b 20 32 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 24 }..// #def
25bb0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74 ine TreeView_Set
25bc0 54 6f 6f 6c 54 69 70 73 28 68 77 6e 64 2c 20 68 ToolTips(hwnd, h
25bd0 77 6e 64 54 54 29 20 28 48 57 4e 44 29 53 4e 44 wndTT) (HWND)SND
25be0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f MSG((hwnd), TVM_
25bf0 53 45 54 54 4f 4f 4c 54 49 50 53 2c 20 28 57 50 SETTOOLTIPS, (WP
25c00 41 52 41 4d 29 28 68 77 6e 64 54 54 29 2c 20 30 ARAM)(hwndTT), 0
25c10 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
25c20 20 54 56 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 TVM_GETTOOLTIPS
25c30 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 35 = TV_FIRST + 25
25c40 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 }..// #define T
25c50 72 65 65 56 69 65 77 5f 47 65 74 54 6f 6f 6c 54 reeView_GetToolT
25c60 69 70 73 28 68 77 6e 64 29 20 28 48 57 4e 44 29 ips(hwnd) (HWND)
25c70 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 SNDMSG((hwnd), T
25c80 56 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 2c 20 VM_GETTOOLTIPS,
25c90 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0, 0)..// #endif
25ca0 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 ....// #define T
25cb0 72 65 65 56 69 65 77 5f 47 65 74 49 53 65 61 72 reeView_GetISear
25cc0 63 68 53 74 72 69 6e 67 28 68 77 6e 64 54 56 2c chString(hwndTV,
25cd0 20 6c 70 73 7a 29 20 28 42 4f 4f 4c 29 53 4e 44 lpsz) (BOOL)SND
25ce0 4d 53 47 28 28 68 77 6e 64 54 56 29 2c 20 54 56 MSG((hwndTV), TV
25cf0 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49 M_GETISEARCHSTRI
25d00 4e 47 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 NG, 0, (LPARAM)(
25d10 4c 50 54 53 54 52 29 28 6c 70 73 7a 29 29 0d 0a LPTSTR)(lpsz))..
25d20 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
25d30 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a _IE >= 0x0400)..
25d40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
25d50 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b 20 M_SETINSERTMARK
25d60 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 36 20 = TV_FIRST + 26
25d70 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 }..// #define Tr
25d80 65 65 56 69 65 77 5f 53 65 74 49 6e 73 65 72 74 eeView_SetInsert
25d90 4d 61 72 6b 28 68 77 6e 64 2c 20 68 49 74 65 6d Mark(hwnd, hItem
25da0 2c 20 66 41 66 74 65 72 29 20 28 42 4f 4f 4c 29 , fAfter) (BOOL)
25db0 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 SNDMSG((hwnd), T
25dc0 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b VM_SETINSERTMARK
25dd0 2c 20 28 57 50 41 52 41 4d 29 20 28 66 41 66 74 , (WPARAM) (fAft
25de0 65 72 29 2c 20 28 4c 50 41 52 41 4d 29 20 28 68 er), (LPARAM) (h
25df0 49 74 65 6d 29 29 0d 0a 0d 0a 61 6c 69 61 73 20 Item))....alias
25e00 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f CCM_SETUNICODEFO
25e10 52 4d 41 54 20 54 56 4d 5f 53 45 54 55 4e 49 43 RMAT TVM_SETUNIC
25e20 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 ODEFORMAT;..// #
25e30 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f define TreeView_
25e40 53 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d 61 74 SetUnicodeFormat
25e50 28 68 77 6e 64 2c 20 66 55 6e 69 63 6f 64 65 29 (hwnd, fUnicode)
25e60 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 (BOOL)SNDMSG((h
25e70 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54 55 4e 49 wnd), TVM_SETUNI
25e80 43 4f 44 45 46 4f 52 4d 41 54 2c 20 28 57 50 41 CODEFORMAT, (WPA
25e90 52 41 4d 29 28 66 55 6e 69 63 6f 64 65 29 2c 20 RAM)(fUnicode),
25ea0 30 29 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 0)....alias CCM_
25eb0 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 GETUNICODEFORMAT
25ec0 20 54 56 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 TVM_GETUNICODEF
25ed0 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 ORMAT;..// #defi
25ee0 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 55 ne TreeView_GetU
25ef0 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e nicodeFormat(hwn
25f00 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 d) (BOOL)SNDMSG(
25f10 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 55 (hwnd), TVM_GETU
25f20 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c NICODEFORMAT, 0,
25f30 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0)....// #endif
25f40 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e ....// #if (_WIN
25f50 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 32_IE >= 0x0400)
25f60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
25f70 54 56 4d 5f 53 45 54 49 54 45 4d 48 45 49 47 48 TVM_SETITEMHEIGH
25f80 54 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 T = TV_FIRST + 2
25f90 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 7 }..// #define
25fa0 54 72 65 65 56 69 65 77 5f 53 65 74 49 74 65 6d TreeView_SetItem
25fb0 48 65 69 67 68 74 28 68 77 6e 64 2c 20 69 48 65 Height(hwnd, iHe
25fc0 69 67 68 74 29 20 28 69 6e 74 29 53 4e 44 4d 53 ight) (int)SNDMS
25fd0 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45 G((hwnd), TVM_SE
25fe0 54 49 54 45 4d 48 45 49 47 48 54 2c 20 28 57 50 TITEMHEIGHT, (WP
25ff0 41 52 41 4d 29 28 69 48 65 69 67 68 74 29 2c 20 ARAM)(iHeight),
26000 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
26010 7b 20 54 56 4d 5f 47 45 54 49 54 45 4d 48 45 49 { TVM_GETITEMHEI
26020 47 48 54 20 3d 20 54 56 5f 46 49 52 53 54 20 2b GHT = TV_FIRST +
26030 20 32 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 28 }..// #defin
26040 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 49 74 e TreeView_GetIt
26050 65 6d 48 65 69 67 68 74 28 68 77 6e 64 29 20 28 emHeight(hwnd) (
26060 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 int)SNDMSG((hwnd
26070 29 2c 20 54 56 4d 5f 47 45 54 49 54 45 4d 48 45 ), TVM_GETITEMHE
26080 49 47 48 54 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 IGHT, 0, 0)....e
26090 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d num : uint { TVM
260a0 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 54 56 _SETBKCOLOR = TV
260b0 5f 46 49 52 53 54 20 2b 20 32 39 20 7d 0d 0a 2f _FIRST + 29 }../
260c0 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 / #define TreeVi
260d0 65 77 5f 53 65 74 42 6b 43 6f 6c 6f 72 28 68 77 ew_SetBkColor(hw
260e0 6e 64 2c 20 63 6c 72 29 20 28 43 4f 4c 4f 52 52 nd, clr) (COLORR
260f0 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 EF)SNDMSG((hwnd)
26100 2c 20 54 56 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 , TVM_SETBKCOLOR
26110 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c , 0, (LPARAM)(cl
26120 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 r))....enum : ui
26130 6e 74 20 7b 20 54 56 4d 5f 53 45 54 54 45 58 54 nt { TVM_SETTEXT
26140 43 4f 4c 4f 52 20 3d 20 54 56 5f 46 49 52 53 54 COLOR = TV_FIRST
26150 20 2b 20 33 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 + 30 }..// #def
26160 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74 ine TreeView_Set
26170 54 65 78 74 43 6f 6c 6f 72 28 68 77 6e 64 2c 20 TextColor(hwnd,
26180 63 6c 72 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 clr) (COLORREF)S
26190 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 NDMSG((hwnd), TV
261a0 4d 5f 53 45 54 54 45 58 54 43 4f 4c 4f 52 2c 20 M_SETTEXTCOLOR,
261b0 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c 72 29 0, (LPARAM)(clr)
261c0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
261d0 20 7b 20 54 56 4d 5f 47 45 54 42 4b 43 4f 4c 4f { TVM_GETBKCOLO
261e0 52 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 33 R = TV_FIRST + 3
261f0 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 1 }..// #define
26200 54 72 65 65 56 69 65 77 5f 47 65 74 42 6b 43 6f TreeView_GetBkCo
26210 6c 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 lor(hwnd) (COLOR
26220 52 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 REF)SNDMSG((hwnd
26230 29 2c 20 54 56 4d 5f 47 45 54 42 4b 43 4f 4c 4f ), TVM_GETBKCOLO
26240 52 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d R, 0, 0)....enum
26250 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 : uint { TVM_GE
26260 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20 54 56 5f TTEXTCOLOR = TV_
26270 46 49 52 53 54 20 2b 20 33 32 20 7d 0d 0a 2f 2f FIRST + 32 }..//
26280 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
26290 77 5f 47 65 74 54 65 78 74 43 6f 6c 6f 72 28 68 w_GetTextColor(h
262a0 77 6e 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 wnd) (COLORREF)S
262b0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 NDMSG((hwnd), TV
262c0 4d 5f 47 45 54 54 45 58 54 43 4f 4c 4f 52 2c 20 M_GETTEXTCOLOR,
262d0 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0, 0)....enum :
262e0 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 53 43 uint { TVM_SETSC
262f0 52 4f 4c 4c 54 49 4d 45 20 3d 20 54 56 5f 46 49 ROLLTIME = TV_FI
26300 52 53 54 20 2b 20 33 33 20 7d 0d 0a 2f 2f 20 23 RST + 33 }..// #
26310 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f define TreeView_
26320 53 65 74 53 63 72 6f 6c 6c 54 69 6d 65 28 68 77 SetScrollTime(hw
26330 6e 64 2c 20 75 54 69 6d 65 29 20 28 55 49 4e 54 nd, uTime) (UINT
26340 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
26350 54 56 4d 5f 53 45 54 53 43 52 4f 4c 4c 54 49 4d TVM_SETSCROLLTIM
26360 45 2c 20 75 54 69 6d 65 2c 20 30 29 0d 0a 0d 0a E, uTime, 0)....
26370 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
26380 4d 5f 47 45 54 53 43 52 4f 4c 4c 54 49 4d 45 20 M_GETSCROLLTIME
26390 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 33 34 20 = TV_FIRST + 34
263a0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 }..// #define Tr
263b0 65 65 56 69 65 77 5f 47 65 74 53 63 72 6f 6c 6c eeView_GetScroll
263c0 54 69 6d 65 28 68 77 6e 64 29 20 28 55 49 4e 54 Time(hwnd) (UINT
263d0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
263e0 54 56 4d 5f 47 45 54 53 43 52 4f 4c 4c 54 49 4d TVM_GETSCROLLTIM
263f0 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d E, 0, 0)....enum
26400 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 : uint { TVM_SE
26410 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 TINSERTMARKCOLOR
26420 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 33 37 = TV_FIRST + 37
26430 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 }..// #define T
26440 72 65 65 56 69 65 77 5f 53 65 74 49 6e 73 65 72 reeView_SetInser
26450 74 4d 61 72 6b 43 6f 6c 6f 72 28 68 77 6e 64 2c tMarkColor(hwnd,
26460 20 63 6c 72 29 20 28 43 4f 4c 4f 52 52 45 46 29 clr) (COLORREF)
26470 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 SNDMSG((hwnd), T
26480 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b VM_SETINSERTMARK
26490 43 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52 41 COLOR, 0, (LPARA
264a0 4d 29 28 63 6c 72 29 29 0d 0a 65 6e 75 6d 20 3a M)(clr))..enum :
264b0 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 49 uint { TVM_GETI
264c0 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d NSERTMARKCOLOR =
264d0 20 54 56 5f 46 49 52 53 54 20 2b 20 33 38 20 7d TV_FIRST + 38 }
264e0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 ..// #define Tre
264f0 65 56 69 65 77 5f 47 65 74 49 6e 73 65 72 74 4d eView_GetInsertM
26500 61 72 6b 43 6f 6c 6f 72 28 68 77 6e 64 29 20 28 arkColor(hwnd) (
26510 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53 47 28 COLORREF)SNDMSG(
26520 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 49 (hwnd), TVM_GETI
26530 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 2c 20 NSERTMARKCOLOR,
26540 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 0, 0)....// #end
26550 69 66 20 20 2f 2a 20 28 5f 57 49 4e 33 32 5f 49 if /* (_WIN32_I
26560 45 20 3e 3d 20 30 78 30 34 30 30 29 20 2a 2f 0d E >= 0x0400) */.
26570 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
26580 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 2_IE >= 0x0500).
26590 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 ...// #define Tr
265a0 65 65 56 69 65 77 5f 53 65 74 49 74 65 6d 53 74 eeView_SetItemSt
265b0 61 74 65 28 68 77 6e 64 54 56 2c 20 68 74 69 2c ate(hwndTV, hti,
265c0 20 64 61 74 61 2c 20 5f 6d 61 73 6b 29 20 7b 20 data, _mask) {
265d0 54 56 49 54 45 4d 20 5f 6d 73 5f 54 56 69 3b 20 TVITEM _ms_TVi;
265e0 5f 6d 73 5f 54 56 69 2e 6d 61 73 6b 20 3d 20 54 _ms_TVi.mask = T
265f0 56 49 46 5f 53 54 41 54 45 3b 20 5f 6d 73 5f 54 VIF_STATE; _ms_T
26600 56 69 2e 68 49 74 65 6d 20 3d 20 68 74 69 3b 20 Vi.hItem = hti;
26610 5f 6d 73 5f 54 56 69 2e 73 74 61 74 65 4d 61 73 _ms_TVi.stateMas
26620 6b 20 3d 20 5f 6d 61 73 6b 3b 20 5f 6d 73 5f 54 k = _mask; _ms_T
26630 56 69 2e 73 74 61 74 65 20 3d 20 64 61 74 61 3b Vi.state = data;
26640 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 54 56 29 SNDMSG((hwndTV)
26650 2c 20 54 56 4d 5f 53 45 54 49 54 45 4d 2c 20 30 , TVM_SETITEM, 0
26660 2c 20 28 4c 50 41 52 41 4d 29 28 54 56 5f 49 54 , (LPARAM)(TV_IT
26670 45 4d 20 2a 29 26 5f 6d 73 5f 54 56 69 29 3b 20 EM *)&_ms_TVi);
26680 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 }....// #define
26690 54 72 65 65 56 69 65 77 5f 53 65 74 43 68 65 63 TreeView_SetChec
266a0 6b 53 74 61 74 65 28 68 77 6e 64 54 56 2c 20 68 kState(hwndTV, h
266b0 74 69 2c 20 66 43 68 65 63 6b 29 20 54 72 65 65 ti, fCheck) Tree
266c0 56 69 65 77 5f 53 65 74 49 74 65 6d 53 74 61 74 View_SetItemStat
266d0 65 28 68 77 6e 64 54 56 2c 20 68 74 69 2c 20 49 e(hwndTV, hti, I
266e0 4e 44 45 58 54 4f 53 54 41 54 45 49 4d 41 47 45 NDEXTOSTATEIMAGE
266f0 4d 41 53 4b 28 28 66 43 68 65 63 6b 29 3f 32 3a MASK((fCheck)?2:
26700 31 29 2c 20 54 56 49 53 5f 53 54 41 54 45 49 4d 1), TVIS_STATEIM
26710 41 47 45 4d 41 53 4b 29 0d 0a 0d 0a 65 6e 75 6d AGEMASK)....enum
26720 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 : uint { TVM_GE
26730 54 49 54 45 4d 53 54 41 54 45 20 3d 20 54 56 5f TITEMSTATE = TV_
26740 46 49 52 53 54 20 2b 20 33 39 20 7d 0d 0a 2f 2f FIRST + 39 }..//
26750 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 #define TreeVie
26760 77 5f 47 65 74 49 74 65 6d 53 74 61 74 65 28 68 w_GetItemState(h
26770 77 6e 64 54 56 2c 20 68 74 69 2c 20 6d 61 73 6b wndTV, hti, mask
26780 29 20 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 ) (UINT)SNDMSG((
26790 68 77 6e 64 54 56 29 2c 20 54 56 4d 5f 47 45 54 hwndTV), TVM_GET
267a0 49 54 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52 ITEMSTATE, (WPAR
267b0 41 4d 29 28 68 74 69 29 2c 20 28 4c 50 41 52 41 AM)(hti), (LPARA
267c0 4d 29 28 6d 61 73 6b 29 29 0d 0a 0d 0a 2f 2f 20 M)(mask))....//
267d0 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 #define TreeView
267e0 5f 47 65 74 43 68 65 63 6b 53 74 61 74 65 28 68 _GetCheckState(h
267f0 77 6e 64 54 56 2c 20 68 74 69 29 20 28 28 28 28 wndTV, hti) ((((
26800 55 49 4e 54 29 28 53 4e 44 4d 53 47 28 28 68 77 UINT)(SNDMSG((hw
26810 6e 64 54 56 29 2c 20 54 56 4d 5f 47 45 54 49 54 ndTV), TVM_GETIT
26820 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52 41 4d EMSTATE, (WPARAM
26830 29 28 68 74 69 29 2c 20 54 56 49 53 5f 53 54 41 )(hti), TVIS_STA
26840 54 45 49 4d 41 47 45 4d 41 53 4b 29 29 29 20 3e TEIMAGEMASK))) >
26850 3e 20 31 32 29 20 2d 31 29 0d 0a 0d 0a 65 6e 75 > 12) -1)....enu
26860 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 m : uint { TVM_S
26870 45 54 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 54 56 ETLINECOLOR = TV
26880 5f 46 49 52 53 54 20 2b 20 34 30 20 7d 0d 0a 2f _FIRST + 40 }../
26890 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 / #define TreeVi
268a0 65 77 5f 53 65 74 4c 69 6e 65 43 6f 6c 6f 72 28 ew_SetLineColor(
268b0 68 77 6e 64 2c 20 63 6c 72 29 20 28 43 4f 4c 4f hwnd, clr) (COLO
268c0 52 52 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e RREF)SNDMSG((hwn
268d0 64 29 2c 20 54 56 4d 5f 53 45 54 4c 49 4e 45 43 d), TVM_SETLINEC
268e0 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52 41 4d OLOR, 0, (LPARAM
268f0 29 28 63 6c 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20 )(clr))....enum
26900 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 : uint { TVM_GET
26910 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 54 56 5f 46 LINECOLOR = TV_F
26920 49 52 53 54 20 2b 20 34 31 20 7d 0d 0a 2f 2f 20 IRST + 41 }..//
26930 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 #define TreeView
26940 5f 47 65 74 4c 69 6e 65 43 6f 6c 6f 72 28 68 77 _GetLineColor(hw
26950 6e 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e nd) (COLORREF)SN
26960 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d DMSG((hwnd), TVM
26970 5f 47 45 54 4c 49 4e 45 43 4f 4c 4f 52 2c 20 30 _GETLINECOLOR, 0
26980 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 , 0)....// #endi
26990 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 f....// #if (_WI
269a0 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 N32_WINNT >= 0x0
269b0 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 501)..enum : uin
269c0 74 20 7b 20 54 56 4d 5f 4d 41 50 41 43 43 49 44 t { TVM_MAPACCID
269d0 54 4f 48 54 52 45 45 49 54 45 4d 20 3d 20 54 56 TOHTREEITEM = TV
269e0 5f 46 49 52 53 54 20 2b 20 34 32 20 7d 0d 0a 2f _FIRST + 42 }../
269f0 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 / #define TreeVi
26a00 65 77 5f 4d 61 70 41 63 63 49 44 54 6f 48 54 52 ew_MapAccIDToHTR
26a10 45 45 49 54 45 4d 28 68 77 6e 64 2c 20 69 64 29 EEITEM(hwnd, id)
26a20 20 28 48 54 52 45 45 49 54 45 4d 29 53 4e 44 4d (HTREEITEM)SNDM
26a30 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 4d SG((hwnd), TVM_M
26a40 41 50 41 43 43 49 44 54 4f 48 54 52 45 45 49 54 APACCIDTOHTREEIT
26a50 45 4d 2c 20 69 64 2c 20 30 29 0d 0a 0d 0a 65 6e EM, id, 0)....en
26a60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f um : uint { TVM_
26a70 4d 41 50 48 54 52 45 45 49 54 45 4d 54 4f 41 43 MAPHTREEITEMTOAC
26a80 43 49 44 20 3d 20 54 56 5f 46 49 52 53 54 20 2b CID = TV_FIRST +
26a90 20 34 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 43 }..// #defin
26aa0 65 20 54 72 65 65 56 69 65 77 5f 4d 61 70 48 54 e TreeView_MapHT
26ab0 52 45 45 49 54 45 4d 54 6f 41 63 63 49 44 28 68 REEITEMToAccID(h
26ac0 77 6e 64 2c 20 68 74 72 65 65 69 74 65 6d 29 20 wnd, htreeitem)
26ad0 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 68 77 (UINT)SNDMSG((hw
26ae0 6e 64 29 2c 20 54 56 4d 5f 4d 41 50 48 54 52 45 nd), TVM_MAPHTRE
26af0 45 49 54 45 4d 54 4f 41 43 43 49 44 2c 20 28 57 EITEMTOACCID, (W
26b00 50 41 52 41 4d 29 68 74 72 65 65 69 74 65 6d 2c PARAM)htreeitem,
26b10 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0)....// #endif
26b20 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f ....extern(Windo
26b30 77 73 29 20 61 6c 69 61 73 20 69 6e 74 20 66 75 ws) alias int fu
26b40 6e 63 74 69 6f 6e 28 4c 50 41 52 41 4d 20 6c 50 nction(LPARAM lP
26b50 61 72 61 6d 31 2c 20 4c 50 41 52 41 4d 20 6c 50 aram1, LPARAM lP
26b60 61 72 61 6d 32 2c 20 4c 50 41 52 41 4d 20 6c 50 aram2, LPARAM lP
26b70 61 72 61 6d 53 6f 72 74 29 20 50 46 4e 54 56 43 aramSort) PFNTVC
26b80 4f 4d 50 41 52 45 3b 0d 0a 0d 0a 2f 2f 20 23 69 OMPARE;....// #i
26b90 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
26ba0 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 0x0300)..alias L
26bb0 50 54 56 53 4f 52 54 43 42 20 4c 50 54 56 5f 53 PTVSORTCB LPTV_S
26bc0 4f 52 54 43 42 3b 0d 0a 61 6c 69 61 73 20 54 56 ORTCB;..alias TV
26bd0 53 4f 52 54 43 42 20 54 56 5f 53 4f 52 54 43 42 SORTCB TV_SORTCB
26be0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
26bf0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
26c00 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
26c10 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54 f....struct tagT
26c20 56 53 4f 52 54 43 42 20 7b 0d 0a 20 20 48 54 52 VSORTCB {.. HTR
26c30 45 45 49 54 45 4d 20 68 50 61 72 65 6e 74 3b 0d EEITEM hParent;.
26c40 0a 20 20 50 46 4e 54 56 43 4f 4d 50 41 52 45 20 . PFNTVCOMPARE
26c50 6c 70 66 6e 43 6f 6d 70 61 72 65 3b 0d 0a 20 20 lpfnCompare;..
26c60 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a LPARAM lParam;..
26c70 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 53 4f }..alias tagTVSO
26c80 52 54 43 42 20 54 56 53 4f 52 54 43 42 3b 0d 0a RTCB TVSORTCB;..
26c90 61 6c 69 61 73 20 74 61 67 54 56 53 4f 52 54 43 alias tagTVSORTC
26ca0 42 2a 20 4c 50 54 56 53 4f 52 54 43 42 3b 0d 0a B* LPTVSORTCB;..
26cb0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
26cc0 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
26cd0 61 6c 69 61 73 20 4c 50 4e 4d 54 52 45 45 56 49 alias LPNMTREEVI
26ce0 45 57 41 20 4c 50 4e 4d 5f 54 52 45 45 56 49 45 EWA LPNM_TREEVIE
26cf0 57 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 WA;..alias LPNMT
26d00 52 45 45 56 49 45 57 57 20 4c 50 4e 4d 5f 54 52 REEVIEWW LPNM_TR
26d10 45 45 56 49 45 57 57 3b 0d 0a 61 6c 69 61 73 20 EEVIEWW;..alias
26d20 4e 4d 54 52 45 45 56 49 45 57 57 20 4e 4d 5f 54 NMTREEVIEWW NM_T
26d30 52 45 45 56 49 45 57 57 3b 0d 0a 61 6c 69 61 73 REEVIEWW;..alias
26d40 20 4e 4d 54 52 45 45 56 49 45 57 41 20 4e 4d 5f NMTREEVIEWA NM_
26d50 54 52 45 45 56 49 45 57 41 3b 0d 0a 2f 2f 20 23 TREEVIEWA;..// #
26d60 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
26d70 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
26d80 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
26d90 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
26da0 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 4c endif....alias L
26db0 50 4e 4d 54 52 45 45 56 49 45 57 20 4c 50 4e 4d PNMTREEVIEW LPNM
26dc0 5f 54 52 45 45 56 49 45 57 3b 0d 0a 61 6c 69 61 _TREEVIEW;..alia
26dd0 73 20 4e 4d 54 52 45 45 56 49 45 57 20 4e 4d 5f s NMTREEVIEW NM_
26de0 54 52 45 45 56 49 45 57 3b 0d 0a 0d 0a 73 74 72 TREEVIEW;....str
26df0 75 63 74 20 74 61 67 4e 4d 54 52 45 45 56 49 45 uct tagNMTREEVIE
26e00 57 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 WA {.. NMHDR hd
26e10 72 3b 0d 0a 20 20 55 49 4e 54 20 61 63 74 69 6f r;.. UINT actio
26e20 6e 3b 0d 0a 20 20 54 56 49 54 45 4d 41 20 69 74 n;.. TVITEMA it
26e30 65 6d 4f 6c 64 3b 0d 0a 20 20 54 56 49 54 45 4d emOld;.. TVITEM
26e40 41 20 69 74 65 6d 4e 65 77 3b 0d 0a 20 20 50 4f A itemNew;.. PO
26e50 49 4e 54 20 70 74 44 72 61 67 3b 0d 0a 7d 0d 0a INT ptDrag;..}..
26e60 61 6c 69 61 73 20 74 61 67 4e 4d 54 52 45 45 56 alias tagNMTREEV
26e70 49 45 57 41 20 4e 4d 54 52 45 45 56 49 45 57 41 IEWA NMTREEVIEWA
26e80 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 52 ;..alias tagNMTR
26e90 45 45 56 49 45 57 41 2a 20 4c 50 4e 4d 54 52 45 EEVIEWA* LPNMTRE
26ea0 45 56 49 45 57 41 3b 0d 0a 0d 0a 73 74 72 75 63 EVIEWA;....struc
26eb0 74 20 74 61 67 4e 4d 54 52 45 45 56 49 45 57 57 t tagNMTREEVIEWW
26ec0 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b {.. NMHDR hdr;
26ed0 0d 0a 20 20 55 49 4e 54 20 61 63 74 69 6f 6e 3b .. UINT action;
26ee0 0d 0a 20 20 54 56 49 54 45 4d 57 20 69 74 65 6d .. TVITEMW item
26ef0 4f 6c 64 3b 0d 0a 20 20 54 56 49 54 45 4d 57 20 Old;.. TVITEMW
26f00 69 74 65 6d 4e 65 77 3b 0d 0a 20 20 50 4f 49 4e itemNew;.. POIN
26f10 54 20 70 74 44 72 61 67 3b 0d 0a 7d 0d 0a 61 6c T ptDrag;..}..al
26f20 69 61 73 20 74 61 67 4e 4d 54 52 45 45 56 49 45 ias tagNMTREEVIE
26f30 57 57 20 4e 4d 54 52 45 45 56 49 45 57 57 3b 0d WW NMTREEVIEWW;.
26f40 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 52 45 45 .alias tagNMTREE
26f50 56 49 45 57 57 2a 20 4c 50 4e 4d 54 52 45 45 56 VIEWW* LPNMTREEV
26f60 49 45 57 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 IEWW;....// #ifd
26f70 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
26f80 73 20 4e 4d 54 52 45 45 56 49 45 57 57 20 4e 4d s NMTREEVIEWW NM
26f90 54 52 45 45 56 49 45 57 3b 0d 0a 61 6c 69 61 73 TREEVIEW;..alias
26fa0 20 4c 50 4e 4d 54 52 45 45 56 49 45 57 57 20 4c LPNMTREEVIEWW L
26fb0 50 4e 4d 54 52 45 45 56 49 45 57 3b 0d 0a 2f 2f PNMTREEVIEW;..//
26fc0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
26fd0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e .// #.....// #en
26fe0 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 dif....enum : ui
26ff0 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41 4e nt { TVN_SELCHAN
27000 47 49 4e 47 41 20 3d 20 54 56 4e 5f 46 49 52 53 GINGA = TVN_FIRS
27010 54 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 T-1 }..enum : ui
27020 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41 4e nt { TVN_SELCHAN
27030 47 49 4e 47 57 20 3d 20 54 56 4e 5f 46 49 52 53 GINGW = TVN_FIRS
27040 54 2d 35 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 T-50 }..enum : u
27050 69 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41 int { TVN_SELCHA
27060 4e 47 45 44 41 20 3d 20 54 56 4e 5f 46 49 52 53 NGEDA = TVN_FIRS
27070 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 T-2 }..enum : ui
27080 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41 4e nt { TVN_SELCHAN
27090 47 45 44 57 20 3d 20 54 56 4e 5f 46 49 52 53 54 GEDW = TVN_FIRST
270a0 2d 35 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 -51 }....enum :
270b0 75 69 6e 74 20 7b 20 54 56 43 5f 55 4e 4b 4e 4f uint { TVC_UNKNO
270c0 57 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 WN = 0x0000 }..e
270d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 43 num : uint { TVC
270e0 5f 42 59 4d 4f 55 53 45 20 3d 20 30 78 30 30 30 _BYMOUSE = 0x000
270f0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
27100 20 7b 20 54 56 43 5f 42 59 4b 45 59 42 4f 41 52 { TVC_BYKEYBOAR
27110 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a D = 0x0002 }....
27120 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
27130 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20 3d N_GETDISPINFOA =
27140 20 54 56 4e 5f 46 49 52 53 54 2d 33 20 7d 0d 0a TVN_FIRST-3 }..
27150 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
27160 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57 20 3d N_GETDISPINFOW =
27170 20 54 56 4e 5f 46 49 52 53 54 2d 35 32 20 7d 0d TVN_FIRST-52 }.
27180 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
27190 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f 41 20 VN_SETDISPINFOA
271a0 3d 20 54 56 4e 5f 46 49 52 53 54 2d 34 20 7d 0d = TVN_FIRST-4 }.
271b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
271c0 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f 57 20 VN_SETDISPINFOW
271d0 3d 20 54 56 4e 5f 46 49 52 53 54 2d 35 33 20 7d = TVN_FIRST-53 }
271e0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
271f0 7b 20 54 56 49 46 5f 44 49 5f 53 45 54 49 54 45 { TVIF_DI_SETITE
27200 4d 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a M = 0x1000 }....
27210 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 // #if (_WIN32_I
27220 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c E >= 0x0300)..al
27230 69 61 73 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f ias NMTVDISPINFO
27240 41 20 54 56 5f 44 49 53 50 49 4e 46 4f 41 3b 0d A TV_DISPINFOA;.
27250 0a 61 6c 69 61 73 20 4e 4d 54 56 44 49 53 50 49 .alias NMTVDISPI
27260 4e 46 4f 57 20 54 56 5f 44 49 53 50 49 4e 46 4f NFOW TV_DISPINFO
27270 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f W;..// #else..//
27280 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
27290 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
272a0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 ..// #endif....a
272b0 6c 69 61 73 20 4e 4d 54 56 44 49 53 50 49 4e 46 lias NMTVDISPINF
272c0 4f 20 54 56 5f 44 49 53 50 49 4e 46 4f 3b 0d 0a O TV_DISPINFO;..
272d0 0d 0a 73 74 72 75 63 74 20 74 61 67 54 56 44 49 ..struct tagTVDI
272e0 53 50 49 4e 46 4f 41 20 7b 0d 0a 20 20 4e 4d 48 SPINFOA {.. NMH
272f0 44 52 20 68 64 72 3b 0d 0a 20 20 54 56 49 54 45 DR hdr;.. TVITE
27300 4d 41 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 MA item;..}..ali
27310 61 73 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f as tagTVDISPINFO
27320 41 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f 41 3b A NMTVDISPINFOA;
27330 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 44 49 53 ..alias tagTVDIS
27340 50 49 4e 46 4f 41 2a 20 4c 50 4e 4d 54 56 44 49 PINFOA* LPNMTVDI
27350 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 SPINFOA;....stru
27360 63 74 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f ct tagTVDISPINFO
27370 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 W {.. NMHDR hdr
27380 3b 0d 0a 20 20 54 56 49 54 45 4d 57 20 69 74 65 ;.. TVITEMW ite
27390 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 m;..}..alias tag
273a0 54 56 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54 56 TVDISPINFOW NMTV
273b0 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 DISPINFOW;..alia
273c0 73 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f 57 s tagTVDISPINFOW
273d0 2a 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f * LPNMTVDISPINFO
273e0 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 W;....// #ifdef
273f0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e UNICODE..alias N
27400 4d 54 56 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54 MTVDISPINFOW NMT
27410 56 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61 VDISPINFO;..alia
27420 73 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f s LPNMTVDISPINFO
27430 57 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f W LPNMTVDISPINFO
27440 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
27450 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
27460 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d / #endif....enum
27470 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 49 54 : uint { TVN_IT
27480 45 4d 45 58 50 41 4e 44 49 4e 47 41 20 3d 20 54 EMEXPANDINGA = T
27490 56 4e 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 6e VN_FIRST-5 }..en
274a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f um : uint { TVN_
274b0 49 54 45 4d 45 58 50 41 4e 44 49 4e 47 57 20 3d ITEMEXPANDINGW =
274c0 20 54 56 4e 5f 46 49 52 53 54 2d 35 34 20 7d 0d TVN_FIRST-54 }.
274d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
274e0 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 45 44 41 VN_ITEMEXPANDEDA
274f0 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 36 20 7d = TVN_FIRST-6 }
27500 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
27510 54 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 45 44 TVN_ITEMEXPANDED
27520 57 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 35 35 W = TVN_FIRST-55
27530 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
27540 7b 20 54 56 4e 5f 42 45 47 49 4e 44 52 41 47 41 { TVN_BEGINDRAGA
27550 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 37 20 7d = TVN_FIRST-7 }
27560 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
27570 54 56 4e 5f 42 45 47 49 4e 44 52 41 47 57 20 3d TVN_BEGINDRAGW =
27580 20 54 56 4e 5f 46 49 52 53 54 2d 35 36 20 7d 0d TVN_FIRST-56 }.
27590 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
275a0 56 4e 5f 42 45 47 49 4e 52 44 52 41 47 41 20 3d VN_BEGINRDRAGA =
275b0 20 54 56 4e 5f 46 49 52 53 54 2d 38 20 7d 0d 0a TVN_FIRST-8 }..
275c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
275d0 4e 5f 42 45 47 49 4e 52 44 52 41 47 57 20 3d 20 N_BEGINRDRAGW =
275e0 54 56 4e 5f 46 49 52 53 54 2d 35 37 20 7d 0d 0a TVN_FIRST-57 }..
275f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 enum : uint { TV
27600 4e 5f 44 45 4c 45 54 45 49 54 45 4d 41 20 3d 20 N_DELETEITEMA =
27610 54 56 4e 5f 46 49 52 53 54 2d 39 20 7d 0d 0a 65 TVN_FIRST-9 }..e
27620 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e num : uint { TVN
27630 5f 44 45 4c 45 54 45 49 54 45 4d 57 20 3d 20 54 _DELETEITEMW = T
27640 56 4e 5f 46 49 52 53 54 2d 35 38 20 7d 0d 0a 65 VN_FIRST-58 }..e
27650 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e num : uint { TVN
27660 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 41 _BEGINLABELEDITA
27670 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 31 30 20 = TVN_FIRST-10
27680 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
27690 20 54 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45 TVN_BEGINLABELE
276a0 44 49 54 57 20 3d 20 54 56 4e 5f 46 49 52 53 54 DITW = TVN_FIRST
276b0 2d 35 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 -59 }..enum : ui
276c0 6e 74 20 7b 20 54 56 4e 5f 45 4e 44 4c 41 42 45 nt { TVN_ENDLABE
276d0 4c 45 44 49 54 41 20 3d 20 54 56 4e 5f 46 49 52 LEDITA = TVN_FIR
276e0 53 54 2d 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 ST-11 }..enum :
276f0 75 69 6e 74 20 7b 20 54 56 4e 5f 45 4e 44 4c 41 uint { TVN_ENDLA
27700 42 45 4c 45 44 49 54 57 20 3d 20 54 56 4e 5f 46 BELEDITW = TVN_F
27710 49 52 53 54 2d 36 30 20 7d 0d 0a 65 6e 75 6d 20 IRST-60 }..enum
27720 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 4b 45 59 : uint { TVN_KEY
27730 44 4f 57 4e 20 3d 20 54 56 4e 5f 46 49 52 53 54 DOWN = TVN_FIRST
27740 2d 31 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 -12 }....// #if
27750 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
27760 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0400)..enum : ui
27770 6e 74 20 7b 20 54 56 4e 5f 47 45 54 49 4e 46 4f nt { TVN_GETINFO
27780 54 49 50 41 20 3d 20 54 56 4e 5f 46 49 52 53 54 TIPA = TVN_FIRST
27790 2d 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 -13 }..enum : ui
277a0 6e 74 20 7b 20 54 56 4e 5f 47 45 54 49 4e 46 4f nt { TVN_GETINFO
277b0 54 49 50 57 20 3d 20 54 56 4e 5f 46 49 52 53 54 TIPW = TVN_FIRST
277c0 2d 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 -14 }..enum : ui
277d0 6e 74 20 7b 20 54 56 4e 5f 53 49 4e 47 4c 45 45 nt { TVN_SINGLEE
277e0 58 50 41 4e 44 20 3d 20 54 56 4e 5f 46 49 52 53 XPAND = TVN_FIRS
277f0 54 2d 31 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a T-15 }....enum :
27800 20 75 69 6e 74 20 7b 20 54 56 4e 52 45 54 5f 44 uint { TVNRET_D
27810 45 46 41 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e EFAULT = 0 }..en
27820 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 52 um : uint { TVNR
27830 45 54 5f 53 4b 49 50 4f 4c 44 20 3d 20 31 20 7d ET_SKIPOLD = 1 }
27840 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
27850 54 56 4e 52 45 54 5f 53 4b 49 50 4e 45 57 20 3d TVNRET_SKIPNEW =
27860 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 2 }....// #endi
27870 66 20 2f 2f 20 30 78 34 30 30 0d 0a 0d 0a 2f 2f f // 0x400....//
27880 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 #if (_WIN32_IE
27890 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 >= 0x0300)..alia
278a0 73 20 4e 4d 54 56 4b 45 59 44 4f 57 4e 20 54 56 s NMTVKEYDOWN TV
278b0 5f 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f 20 23 65 _KEYDOWN;..// #e
278c0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
278d0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
278e0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 ....// #ifdef _W
278f0 49 4e 33 32 0d 0a 61 6c 69 67 6e 28 31 29 3a 0d IN32..align(1):.
27900 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 .// #endif....st
27910 72 75 63 74 20 74 61 67 54 56 4b 45 59 44 4f 57 ruct tagTVKEYDOW
27920 4e 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 N {.. NMHDR hdr
27930 3b 0d 0a 20 20 57 4f 52 44 20 77 56 4b 65 79 3b ;.. WORD wVKey;
27940 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d .. UINT flags;.
27950 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 4b .}..alias tagTVK
27960 45 59 44 4f 57 4e 20 4e 4d 54 56 4b 45 59 44 4f EYDOWN NMTVKEYDO
27970 57 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 WN;..alias tagTV
27980 4b 45 59 44 4f 57 4e 2a 20 4c 50 4e 4d 54 56 4b KEYDOWN* LPNMTVK
27990 45 59 44 4f 57 4e 3b 0d 0a 0d 0a 2f 2f 20 23 69 EYDOWN;....// #i
279a0 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 fdef _WIN32..ali
279b0 67 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a gn:..// #endif..
279c0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
279d0 4f 44 45 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 53 ODE..alias TVN_S
279e0 45 4c 43 48 41 4e 47 49 4e 47 57 20 54 56 4e 5f ELCHANGINGW TVN_
279f0 53 45 4c 43 48 41 4e 47 49 4e 47 3b 0d 0a 61 6c SELCHANGING;..al
27a00 69 61 73 20 54 56 4e 5f 53 45 4c 43 48 41 4e 47 ias TVN_SELCHANG
27a10 45 44 57 20 54 56 4e 5f 53 45 4c 43 48 41 4e 47 EDW TVN_SELCHANG
27a20 45 44 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 47 ED;..alias TVN_G
27a30 45 54 44 49 53 50 49 4e 46 4f 57 20 54 56 4e 5f ETDISPINFOW TVN_
27a40 47 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c GETDISPINFO;..al
27a50 69 61 73 20 54 56 4e 5f 53 45 54 44 49 53 50 49 ias TVN_SETDISPI
27a60 4e 46 4f 57 20 54 56 4e 5f 53 45 54 44 49 53 50 NFOW TVN_SETDISP
27a70 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 56 4e INFO;..alias TVN
27a80 5f 49 54 45 4d 45 58 50 41 4e 44 49 4e 47 57 20 _ITEMEXPANDINGW
27a90 54 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 49 4e TVN_ITEMEXPANDIN
27aa0 47 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 49 54 G;..alias TVN_IT
27ab0 45 4d 45 58 50 41 4e 44 45 44 57 20 54 56 4e 5f EMEXPANDEDW TVN_
27ac0 49 54 45 4d 45 58 50 41 4e 44 45 44 3b 0d 0a 61 ITEMEXPANDED;..a
27ad0 6c 69 61 73 20 54 56 4e 5f 42 45 47 49 4e 44 52 lias TVN_BEGINDR
27ae0 41 47 57 20 54 56 4e 5f 42 45 47 49 4e 44 52 41 AGW TVN_BEGINDRA
27af0 47 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 42 45 G;..alias TVN_BE
27b00 47 49 4e 52 44 52 41 47 57 20 54 56 4e 5f 42 45 GINRDRAGW TVN_BE
27b10 47 49 4e 52 44 52 41 47 3b 0d 0a 61 6c 69 61 73 GINRDRAG;..alias
27b20 20 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d 57 TVN_DELETEITEMW
27b30 20 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d 3b TVN_DELETEITEM;
27b40 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 42 45 47 49 ..alias TVN_BEGI
27b50 4e 4c 41 42 45 4c 45 44 49 54 57 20 54 56 4e 5f NLABELEDITW TVN_
27b60 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 3b 0d BEGINLABELEDIT;.
27b70 0a 61 6c 69 61 73 20 54 56 4e 5f 45 4e 44 4c 41 .alias TVN_ENDLA
27b80 42 45 4c 45 44 49 54 57 20 54 56 4e 5f 45 4e 44 BELEDITW TVN_END
27b90 4c 41 42 45 4c 45 44 49 54 3b 0d 0a 2f 2f 20 23 LABELEDIT;..// #
27ba0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
27bb0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
27bc0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
27bd0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
27be0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
27bf0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
27c00 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
27c10 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 if....// #if (_W
27c20 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 IN32_IE >= 0x030
27c30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e 0)..// #define N
27c40 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 5f 56 33 MTVCUSTOMDRAW_V3
27c50 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 _SIZE CCSIZEOF_S
27c60 54 52 55 43 54 28 4e 4d 54 56 43 55 53 54 4f 4d TRUCT(NMTVCUSTOM
27c70 44 52 41 57 2c 20 63 6c 72 54 65 78 74 42 6b 29 DRAW, clrTextBk)
27c80 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d ....struct tagNM
27c90 54 56 43 55 53 54 4f 4d 44 52 41 57 20 7b 0d 0a TVCUSTOMDRAW {..
27ca0 20 20 4e 4d 43 55 53 54 4f 4d 44 52 41 57 20 6e NMCUSTOMDRAW n
27cb0 6d 63 64 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 mcd;.. COLORREF
27cc0 20 63 6c 72 54 65 78 74 3b 0d 0a 20 20 43 4f 4c clrText;.. COL
27cd0 4f 52 52 45 46 20 63 6c 72 54 65 78 74 42 6b 3b ORREF clrTextBk;
27ce0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
27cf0 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a _IE >= 0x0400)..
27d00 20 20 69 6e 74 20 69 4c 65 76 65 6c 3b 0d 0a 2f int iLevel;../
27d10 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 / #endif..}..ali
27d20 61 73 20 74 61 67 4e 4d 54 56 43 55 53 54 4f 4d as tagNMTVCUSTOM
27d30 44 52 41 57 20 4e 4d 54 56 43 55 53 54 4f 4d 44 DRAW NMTVCUSTOMD
27d40 52 41 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e RAW;..alias tagN
27d50 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 2a 20 4c MTVCUSTOMDRAW* L
27d60 50 4e 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 3b PNMTVCUSTOMDRAW;
27d70 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ....// #endif...
27d80 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
27d90 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d IE >= 0x0400)...
27da0 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 54 56 47 .struct tagNMTVG
27db0 45 54 49 4e 46 4f 54 49 50 41 20 7b 0d 0a 20 20 ETINFOTIPA {..
27dc0 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 4c 50 NMHDR hdr;.. LP
27dd0 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 STR pszText;..
27de0 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d int cchTextMax;.
27df0 0a 20 20 48 54 52 45 45 49 54 45 4d 20 68 49 74 . HTREEITEM hIt
27e00 65 6d 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 em;.. LPARAM lP
27e10 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 aram;..}..alias
27e20 74 61 67 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 tagNMTVGETINFOTI
27e30 50 41 20 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 PA NMTVGETINFOTI
27e40 50 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d PA;..alias tagNM
27e50 54 56 47 45 54 49 4e 46 4f 54 49 50 41 2a 20 4c TVGETINFOTIPA* L
27e60 50 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 41 PNMTVGETINFOTIPA
27e70 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e ;....struct tagN
27e80 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 57 20 7b MTVGETINFOTIPW {
27e90 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a .. NMHDR hdr;..
27ea0 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 LPWSTR pszText
27eb0 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 ;.. int cchText
27ec0 4d 61 78 3b 0d 0a 20 20 48 54 52 45 45 49 54 45 Max;.. HTREEITE
27ed0 4d 20 68 49 74 65 6d 3b 0d 0a 20 20 4c 50 41 52 M hItem;.. LPAR
27ee0 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 AM lParam;..}..a
27ef0 6c 69 61 73 20 74 61 67 4e 4d 54 56 47 45 54 49 lias tagNMTVGETI
27f00 4e 46 4f 54 49 50 57 20 4e 4d 54 56 47 45 54 49 NFOTIPW NMTVGETI
27f10 4e 46 4f 54 49 50 57 3b 0d 0a 61 6c 69 61 73 20 NFOTIPW;..alias
27f20 74 61 67 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 tagNMTVGETINFOTI
27f30 50 57 2a 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46 PW* LPNMTVGETINF
27f40 4f 54 49 50 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 OTIPW;....// #if
27f50 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 def UNICODE..ali
27f60 61 73 20 54 56 4e 5f 47 45 54 49 4e 46 4f 54 49 as TVN_GETINFOTI
27f70 50 57 20 54 56 4e 5f 47 45 54 49 4e 46 4f 54 49 PW TVN_GETINFOTI
27f80 50 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 56 47 45 P;..alias NMTVGE
27f90 54 49 4e 46 4f 54 49 50 57 20 4e 4d 54 56 47 45 TINFOTIPW NMTVGE
27fa0 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 73 TINFOTIP;..alias
27fb0 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 LPNMTVGETINFOTI
27fc0 50 57 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46 4f PW LPNMTVGETINFO
27fd0 54 49 50 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a TIP;..// #else..
27fe0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
27ff0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
28000 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ndif....enum : u
28010 69 6e 74 20 7b 20 54 56 43 44 52 46 5f 4e 4f 49 int { TVCDRF_NOI
28020 4d 41 47 45 53 20 3d 20 30 78 30 30 30 31 30 30 MAGES = 0x000100
28030 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 00 }....// #endi
28040 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 f // _WIN32
28050 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d _IE >= 0x0400...
28060 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 .// #endif
28070 2f 2f 20 4e 4f 54 52 45 45 56 49 45 57 0d 0a 0d // NOTREEVIEW...
28080 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
28090 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 0d IE >= 0x0300)...
280a0 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 55 53 .// #ifndef NOUS
280b0 45 52 45 58 43 4f 4e 54 52 4f 4c 53 0d 0a 0d 0a EREXCONTROLS....
280c0 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43 const wchar[] WC
280d0 5f 43 4f 4d 42 4f 42 4f 58 45 58 57 20 3d 20 22 _COMBOBOXEXW = "
280e0 43 6f 6d 62 6f 42 6f 78 45 78 33 32 22 3b 0d 0a ComboBoxEx32";..
280f0 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57 43 5f const char[] WC_
28100 43 4f 4d 42 4f 42 4f 58 45 58 41 20 3d 20 22 43 COMBOBOXEXA = "C
28110 6f 6d 62 6f 42 6f 78 45 78 33 32 22 3b 0d 0a 0d omboBoxEx32";...
28120 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
28130 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 43 4f 4d DE..alias WC_COM
28140 42 4f 42 4f 58 45 58 57 20 57 43 5f 43 4f 4d 42 BOBOXEXW WC_COMB
28150 4f 42 4f 58 45 58 3b 0d 0a 2f 2f 20 23 65 6c 73 OBOXEX;..// #els
28160 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
28170 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 endif....enum :
28180 75 69 6e 74 20 7b 20 43 42 45 49 46 5f 54 45 58 uint { CBEIF_TEX
28190 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d T = 0x00000001 }
281a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
281b0 43 42 45 49 46 5f 49 4d 41 47 45 20 3d 20 30 78 CBEIF_IMAGE = 0x
281c0 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 00000002 }..enum
281d0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 49 46 5f : uint { CBEIF_
281e0 53 45 4c 45 43 54 45 44 49 4d 41 47 45 20 3d 20 SELECTEDIMAGE =
281f0 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 0x00000004 }..en
28200 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 49 um : uint { CBEI
28210 46 5f 4f 56 45 52 4c 41 59 20 3d 20 30 78 30 30 F_OVERLAY = 0x00
28220 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 000008 }..enum :
28230 20 75 69 6e 74 20 7b 20 43 42 45 49 46 5f 49 4e uint { CBEIF_IN
28240 44 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 31 DENT = 0x0000001
28250 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
28260 20 7b 20 43 42 45 49 46 5f 4c 50 41 52 41 4d 20 { CBEIF_LPARAM
28270 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a = 0x00000020 }..
28280 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
28290 43 42 45 49 46 5f 44 49 5f 53 45 54 49 54 45 4d CBEIF_DI_SETITEM
282a0 20 3d 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d = 0x10000000 }.
282b0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 43 4f 4d ...struct tagCOM
282c0 42 4f 42 4f 58 45 58 49 54 45 4d 41 20 7b 0d 0a BOBOXEXITEMA {..
282d0 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 UINT mask;..
282e0 49 4e 54 5f 50 54 52 20 69 49 74 65 6d 3b 0d 0a INT_PTR iItem;..
282f0 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b LPSTR pszText;
28300 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d .. int cchTextM
28310 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 ax;.. int iImag
28320 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65 6c 65 63 e;.. int iSelec
28330 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 tedImage;.. int
28340 20 69 4f 76 65 72 6c 61 79 3b 0d 0a 20 20 69 6e iOverlay;.. in
28350 74 20 69 49 6e 64 65 6e 74 3b 0d 0a 20 20 4c 50 t iIndent;.. LP
28360 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d ARAM lParam;..}.
28370 0a 61 6c 69 61 73 20 74 61 67 43 4f 4d 42 4f 42 .alias tagCOMBOB
28380 4f 58 45 58 49 54 45 4d 41 20 43 4f 4d 42 4f 42 OXEXITEMA COMBOB
28390 4f 58 45 58 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 OXEXITEMA;..alia
283a0 73 20 74 61 67 43 4f 4d 42 4f 42 4f 58 45 58 49 s tagCOMBOBOXEXI
283b0 54 45 4d 41 2a 20 50 43 4f 4d 42 4f 42 4f 58 45 TEMA* PCOMBOBOXE
283c0 58 49 54 45 4d 41 3b 0d 0a 0d 0a 61 6c 69 61 73 XITEMA;....alias
283d0 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 COMBOBOXEXITEMA
283e0 2a 20 50 43 43 4f 4d 42 4f 45 58 49 54 45 4d 41 * PCCOMBOEXITEMA
283f0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 43 ;....struct tagC
28400 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 20 7b OMBOBOXEXITEMW {
28410 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a .. UINT mask;..
28420 20 20 49 4e 54 5f 50 54 52 20 69 49 74 65 6d 3b INT_PTR iItem;
28430 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 .. LPWSTR pszTe
28440 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 xt;.. int cchTe
28450 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 xtMax;.. int iI
28460 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65 mage;.. int iSe
28470 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20 lectedImage;..
28480 69 6e 74 20 69 4f 76 65 72 6c 61 79 3b 0d 0a 20 int iOverlay;..
28490 20 69 6e 74 20 69 49 6e 64 65 6e 74 3b 0d 0a 20 int iIndent;..
284a0 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d LPARAM lParam;.
284b0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 4d .}..alias tagCOM
284c0 42 4f 42 4f 58 45 58 49 54 45 4d 57 20 43 4f 4d BOBOXEXITEMW COM
284d0 42 4f 42 4f 58 45 58 49 54 45 4d 57 3b 0d 0a 61 BOBOXEXITEMW;..a
284e0 6c 69 61 73 20 74 61 67 43 4f 4d 42 4f 42 4f 58 lias tagCOMBOBOX
284f0 45 58 49 54 45 4d 57 2a 20 50 43 4f 4d 42 4f 42 EXITEMW* PCOMBOB
28500 4f 58 45 58 49 54 45 4d 57 3b 0d 0a 0d 0a 61 6c OXEXITEMW;....al
28510 69 61 73 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54 ias COMBOBOXEXIT
28520 45 4d 57 2a 20 50 43 43 4f 4d 42 4f 45 58 49 54 EMW* PCCOMBOEXIT
28530 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 EMW;....// #ifde
28540 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
28550 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 COMBOBOXEXITEMW
28560 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 3b COMBOBOXEXITEM;
28570 0d 0a 61 6c 69 61 73 20 50 43 4f 4d 42 4f 42 4f ..alias PCOMBOBO
28580 58 45 58 49 54 45 4d 57 20 50 43 4f 4d 42 4f 42 XEXITEMW PCOMBOB
28590 4f 58 45 58 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 OXEXITEM;..alias
285a0 20 50 43 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 PCCOMBOBOXEXITE
285b0 4d 57 20 50 43 43 4f 4d 42 4f 42 4f 58 45 58 49 MW PCCOMBOBOXEXI
285c0 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a TEM;..// #else..
285d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
285e0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
285f0 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ndif....enum : u
28600 69 6e 74 20 7b 20 43 42 45 4d 5f 49 4e 53 45 52 int { CBEM_INSER
28610 54 49 54 45 4d 41 20 3d 20 57 4d 5f 55 53 45 52 TITEMA = WM_USER
28620 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 + 1 }..enum : u
28630 69 6e 74 20 7b 20 43 42 45 4d 5f 53 45 54 49 4d int { CBEM_SETIM
28640 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55 53 45 AGELIST = WM_USE
28650 52 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 R + 2 }..enum :
28660 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 45 54 49 uint { CBEM_GETI
28670 4d 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55 53 MAGELIST = WM_US
28680 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a ER + 3 }..enum :
28690 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 45 54 uint { CBEM_GET
286a0 49 54 45 4d 41 20 3d 20 57 4d 5f 55 53 45 52 20 ITEMA = WM_USER
286b0 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 + 4 }..enum : ui
286c0 6e 74 20 7b 20 43 42 45 4d 5f 53 45 54 49 54 45 nt { CBEM_SETITE
286d0 4d 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 MA = WM_USER + 5
286e0 20 7d 0d 0a 61 6c 69 61 73 20 43 42 5f 44 45 4c }..alias CB_DEL
286f0 45 54 45 53 54 52 49 4e 47 20 43 42 45 4d 5f 44 ETESTRING CBEM_D
28700 45 4c 45 54 45 49 54 45 4d 3b 0d 0a 65 6e 75 6d ELETEITEM;..enum
28710 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 : uint { CBEM_G
28720 45 54 43 4f 4d 42 4f 43 4f 4e 54 52 4f 4c 20 3d ETCOMBOCONTROL =
28730 20 57 4d 5f 55 53 45 52 20 2b 20 36 20 7d 0d 0a WM_USER + 6 }..
28740 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 enum : uint { CB
28750 45 4d 5f 47 45 54 45 44 49 54 43 4f 4e 54 52 4f EM_GETEDITCONTRO
28760 4c 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 20 L = WM_USER + 7
28770 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
28780 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
28790 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
287a0 42 45 4d 5f 53 45 54 45 58 53 54 59 4c 45 20 3d BEM_SETEXSTYLE =
287b0 20 57 4d 5f 55 53 45 52 20 2b 20 38 20 7d 0d 0a WM_USER + 8 }..
287c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 enum : uint { CB
287d0 45 4d 5f 53 45 54 45 58 54 45 4e 44 45 44 53 54 EM_SETEXTENDEDST
287e0 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 YLE = WM_USER +
287f0 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 14 }..enum : uin
28800 74 20 7b 20 43 42 45 4d 5f 47 45 54 45 58 53 54 t { CBEM_GETEXST
28810 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 YLE = WM_USER +
28820 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 9 }..enum : uint
28830 20 7b 20 43 42 45 4d 5f 47 45 54 45 58 54 45 4e { CBEM_GETEXTEN
28840 44 45 44 53 54 59 4c 45 20 3d 20 57 4d 5f 55 53 DEDSTYLE = WM_US
28850 45 52 20 2b 20 39 20 7d 0d 0a 61 6c 69 61 73 20 ER + 9 }..alias
28860 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f CCM_SETUNICODEFO
28870 52 4d 41 54 20 43 42 45 4d 5f 53 45 54 55 4e 49 RMAT CBEM_SETUNI
28880 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 CODEFORMAT;..ali
28890 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 as CCM_GETUNICOD
288a0 45 46 4f 52 4d 41 54 20 43 42 45 4d 5f 47 45 54 EFORMAT CBEM_GET
288b0 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a UNICODEFORMAT;..
288c0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
288d0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
288e0 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 endif..enum : ui
288f0 6e 74 20 7b 20 43 42 45 4d 5f 48 41 53 45 44 49 nt { CBEM_HASEDI
28900 54 43 48 41 4e 47 45 44 20 3d 20 57 4d 5f 55 53 TCHANGED = WM_US
28910 45 52 20 2b 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 ER + 10 }..enum
28920 3a 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 49 4e : uint { CBEM_IN
28930 53 45 52 54 49 54 45 4d 57 20 3d 20 57 4d 5f 55 SERTITEMW = WM_U
28940 53 45 52 20 2b 20 31 31 20 7d 0d 0a 65 6e 75 6d SER + 11 }..enum
28950 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 53 : uint { CBEM_S
28960 45 54 49 54 45 4d 57 20 3d 20 57 4d 5f 55 53 45 ETITEMW = WM_USE
28970 52 20 2b 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a R + 12 }..enum :
28980 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 45 54 uint { CBEM_GET
28990 49 54 45 4d 57 20 3d 20 57 4d 5f 55 53 45 52 20 ITEMW = WM_USER
289a0 2b 20 31 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 + 13 }....// #if
289b0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 def UNICODE..ali
289c0 61 73 20 43 42 45 4d 5f 49 4e 53 45 52 54 49 54 as CBEM_INSERTIT
289d0 45 4d 57 20 43 42 45 4d 5f 49 4e 53 45 52 54 49 EMW CBEM_INSERTI
289e0 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 43 42 45 4d TEM;..alias CBEM
289f0 5f 53 45 54 49 54 45 4d 57 20 43 42 45 4d 5f 53 _SETITEMW CBEM_S
28a00 45 54 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 43 ETITEM;..alias C
28a10 42 45 4d 5f 47 45 54 49 54 45 4d 57 20 43 42 45 BEM_GETITEMW CBE
28a20 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 M_GETITEM;..// #
28a30 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
28a40 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
28a50 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
28a60 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e #if (_WIN32_WIN
28a70 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 61 6c NT >= 0x501)..al
28a80 69 61 73 20 43 43 4d 5f 53 45 54 57 49 4e 44 4f ias CCM_SETWINDO
28a90 57 54 48 45 4d 45 20 43 42 45 4d 5f 53 45 54 57 WTHEME CBEM_SETW
28aa0 49 4e 44 4f 57 54 48 45 4d 45 3b 0d 0a 2f 2f 20 INDOWTHEME;..//
28ab0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a #endif....enum :
28ac0 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45 58 5f uint { CBES_EX_
28ad0 4e 4f 45 44 49 54 49 4d 41 47 45 20 3d 20 30 78 NOEDITIMAGE = 0x
28ae0 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 00000001 }..enum
28af0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45 : uint { CBES_E
28b00 58 5f 4e 4f 45 44 49 54 49 4d 41 47 45 49 4e 44 X_NOEDITIMAGEIND
28b10 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 ENT = 0x00000002
28b20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
28b30 7b 20 43 42 45 53 5f 45 58 5f 50 41 54 48 57 4f { CBES_EX_PATHWO
28b40 52 44 42 52 45 41 4b 50 52 4f 43 20 3d 20 30 78 RDBREAKPROC = 0x
28b50 30 30 30 30 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 00000004 }..// #
28b60 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
28b70 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 0x0400)..enum :
28b80 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45 58 5f uint { CBES_EX_
28b90 4e 4f 53 49 5a 45 4c 49 4d 49 54 20 3d 20 30 78 NOSIZELIMIT = 0x
28ba0 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 00000008 }..enum
28bb0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45 : uint { CBES_E
28bc0 58 5f 43 41 53 45 53 45 4e 53 49 54 49 56 45 20 X_CASESENSITIVE
28bd0 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a = 0x00000010 }..
28be0 0d 0a 73 74 72 75 63 74 20 5f 39 20 7b 0d 0a 20 ..struct _9 {..
28bf0 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 43 NMHDR hdr;.. C
28c00 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 20 63 OMBOBOXEXITEMA c
28c10 65 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 eItem;..}..alias
28c20 20 5f 39 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 _9 NMCOMBOBOXEX
28c30 41 3b 0d 0a 61 6c 69 61 73 20 5f 39 2a 20 50 4e A;..alias _9* PN
28c40 4d 43 4f 4d 42 4f 42 4f 58 45 58 41 3b 0d 0a 0d MCOMBOBOXEXA;...
28c50 0a 73 74 72 75 63 74 20 5f 31 30 20 7b 0d 0a 20 .struct _10 {..
28c60 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 43 NMHDR hdr;.. C
28c70 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 20 63 OMBOBOXEXITEMW c
28c80 65 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 eItem;..}..alias
28c90 20 5f 31 30 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 _10 NMCOMBOBOXE
28ca0 58 57 3b 0d 0a 61 6c 69 61 73 20 5f 31 30 2a 20 XW;..alias _10*
28cb0 50 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 57 3b 0d PNMCOMBOBOXEXW;.
28cc0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 ...// #ifdef UNI
28cd0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e 4d 43 4f CODE..alias NMCO
28ce0 4d 42 4f 42 4f 58 45 58 57 20 4e 4d 43 4f 4d 42 MBOBOXEXW NMCOMB
28cf0 4f 42 4f 58 45 58 3b 0d 0a 61 6c 69 61 73 20 50 OBOXEX;..alias P
28d00 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 57 20 50 4e NMCOMBOBOXEXW PN
28d10 4d 43 4f 4d 42 4f 42 4f 58 45 58 3b 0d 0a 61 6c MCOMBOBOXEX;..al
28d20 69 61 73 20 43 42 45 4e 5f 47 45 54 44 49 53 50 ias CBEN_GETDISP
28d30 49 4e 46 4f 57 20 43 42 45 4e 5f 47 45 54 44 49 INFOW CBEN_GETDI
28d40 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 SPINFO;..// #els
28d50 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
28d60 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
28d70 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 #endif....// #e
28d80 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f lse..// ......./
28d90 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e / #.......// #en
28da0 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e dif // _WIN
28db0 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 32_IE >= 0x0400.
28dc0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
28dd0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
28de0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 42 45 4e .// #define CBEN
28df0 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20 28 43 _GETDISPINFOA (C
28e00 42 45 4e 5f 46 49 52 53 54 20 2d 20 30 29 0d 0a BEN_FIRST - 0)..
28e10 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 // #endif..enum
28e20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 49 4e : uint { CBEN_IN
28e30 53 45 52 54 49 54 45 4d 20 3d 20 43 42 45 4e 5f SERTITEM = CBEN_
28e40 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 65 6e 75 FIRST - 1 }..enu
28e50 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f m : uint { CBEN_
28e60 44 45 4c 45 54 45 49 54 45 4d 20 3d 20 43 42 45 DELETEITEM = CBE
28e70 4e 5f 46 49 52 53 54 20 2d 20 32 20 7d 0d 0a 65 N_FIRST - 2 }..e
28e80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 num : uint { CBE
28e90 4e 5f 42 45 47 49 4e 45 44 49 54 20 3d 20 43 42 N_BEGINEDIT = CB
28ea0 45 4e 5f 46 49 52 53 54 20 2d 20 34 20 7d 0d 0a EN_FIRST - 4 }..
28eb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 enum : uint { CB
28ec0 45 4e 5f 45 4e 44 45 44 49 54 41 20 3d 20 43 42 EN_ENDEDITA = CB
28ed0 45 4e 5f 46 49 52 53 54 20 2d 20 35 20 7d 0d 0a EN_FIRST - 5 }..
28ee0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 enum : uint { CB
28ef0 45 4e 5f 45 4e 44 45 44 49 54 57 20 3d 20 43 42 EN_ENDEDITW = CB
28f00 45 4e 5f 46 49 52 53 54 20 2d 20 36 20 7d 0d 0a EN_FIRST - 6 }..
28f10 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
28f20 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a _IE >= 0x0400)..
28f30 2f 2f 20 23 64 65 66 69 6e 65 20 43 42 45 4e 5f // #define CBEN_
28f40 47 45 54 44 49 53 50 49 4e 46 4f 57 20 28 43 42 GETDISPINFOW (CB
28f50 45 4e 5f 46 49 52 53 54 20 2d 20 37 29 0d 0a 2f EN_FIRST - 7)../
28f60 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
28f70 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
28f80 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 0x0400)..enum :
28f90 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 44 52 41 uint { CBEN_DRA
28fa0 47 42 45 47 49 4e 41 20 3d 20 43 42 45 4e 5f 46 GBEGINA = CBEN_F
28fb0 49 52 53 54 20 2d 20 38 20 7d 0d 0a 65 6e 75 6d IRST - 8 }..enum
28fc0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 44 : uint { CBEN_D
28fd0 52 41 47 42 45 47 49 4e 57 20 3d 20 43 42 45 4e RAGBEGINW = CBEN
28fe0 5f 46 49 52 53 54 20 2d 20 39 20 7d 0d 0a 0d 0a _FIRST - 9 }....
28ff0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
29000 45 0d 0a 61 6c 69 61 73 20 43 42 45 4e 5f 44 52 E..alias CBEN_DR
29010 41 47 42 45 47 49 4e 57 20 43 42 45 4e 5f 44 52 AGBEGINW CBEN_DR
29020 41 47 42 45 47 49 4e 3b 0d 0a 2f 2f 20 23 65 6c AGBEGIN;..// #el
29030 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
29040 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e #endif....// #en
29050 64 69 66 20 20 2f 2f 28 5f 57 49 4e 33 32 5f 49 dif //(_WIN32_I
29060 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a E >= 0x0400)....
29070 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
29080 45 0d 0a 61 6c 69 61 73 20 43 42 45 4e 5f 45 4e E..alias CBEN_EN
29090 44 45 44 49 54 57 20 43 42 45 4e 5f 45 4e 44 45 DEDITW CBEN_ENDE
290a0 44 49 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a DIT;..// #else..
290b0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
290c0 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e if....enum : uin
290d0 74 20 7b 20 43 42 45 4e 46 5f 4b 49 4c 4c 46 4f t { CBENF_KILLFO
290e0 43 55 53 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 CUS = 1 }..enum
290f0 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 46 5f 52 : uint { CBENF_R
29100 45 54 55 52 4e 20 3d 20 32 20 7d 0d 0a 65 6e 75 ETURN = 2 }..enu
29110 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 46 m : uint { CBENF
29120 5f 45 53 43 41 50 45 20 3d 20 33 20 7d 0d 0a 65 _ESCAPE = 3 }..e
29130 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 num : uint { CBE
29140 4e 46 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 34 20 NF_DROPDOWN = 4
29150 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
29160 20 7b 20 43 42 45 4d 41 58 53 54 52 4c 45 4e 20 { CBEMAXSTRLEN
29170 3d 20 32 36 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 = 260 }....// #i
29180 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
29190 30 78 30 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 0x0400)....struc
291a0 74 20 5f 31 31 20 7b 0d 0a 20 20 4e 4d 48 44 52 t _11 {.. NMHDR
291b0 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74 hdr;.. int iIt
291c0 65 6d 69 64 3b 0d 0a 20 20 57 43 48 41 52 20 73 emid;.. WCHAR s
291d0 7a 54 65 78 74 5b 43 42 45 4d 41 58 53 54 52 4c zText[CBEMAXSTRL
291e0 45 4e 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f EN];..}..alias _
291f0 31 31 20 4e 4d 43 42 45 44 52 41 47 42 45 47 49 11 NMCBEDRAGBEGI
29200 4e 57 3b 0d 0a 61 6c 69 61 73 20 5f 31 31 2a 20 NW;..alias _11*
29210 4c 50 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e LPNMCBEDRAGBEGIN
29220 57 3b 0d 0a 61 6c 69 61 73 20 5f 31 31 2a 20 50 W;..alias _11* P
29230 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e 57 3b NMCBEDRAGBEGINW;
29240 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 32 20 7b ....struct _12 {
29250 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a .. NMHDR hdr;..
29260 20 20 69 6e 74 20 69 49 74 65 6d 69 64 3b 0d 0a int iItemid;..
29270 20 20 63 68 61 72 20 73 7a 54 65 78 74 5b 43 42 char szText[CB
29280 45 4d 41 58 53 54 52 4c 45 4e 5d 3b 0d 0a 7d 0d EMAXSTRLEN];..}.
29290 0a 61 6c 69 61 73 20 5f 31 32 20 4e 4d 43 42 45 .alias _12 NMCBE
292a0 44 52 41 47 42 45 47 49 4e 41 3b 0d 0a 61 6c 69 DRAGBEGINA;..ali
292b0 61 73 20 5f 31 32 2a 20 4c 50 4e 4d 43 42 45 44 as _12* LPNMCBED
292c0 52 41 47 42 45 47 49 4e 41 3b 0d 0a 61 6c 69 61 RAGBEGINA;..alia
292d0 73 20 5f 31 32 2a 20 50 4e 4d 43 42 45 44 52 41 s _12* PNMCBEDRA
292e0 47 42 45 47 49 4e 41 3b 0d 0a 0d 0a 2f 2f 20 23 GBEGINA;....// #
292f0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
29300 6c 69 61 73 20 4e 4d 43 42 45 44 52 41 47 42 45 lias NMCBEDRAGBE
29310 47 49 4e 57 20 4e 4d 43 42 45 44 52 41 47 42 45 GINW NMCBEDRAGBE
29320 47 49 4e 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d GIN;..alias LPNM
29330 43 42 45 44 52 41 47 42 45 47 49 4e 57 20 4c 50 CBEDRAGBEGINW LP
29340 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e 3b 0d NMCBEDRAGBEGIN;.
29350 0a 61 6c 69 61 73 20 50 4e 4d 43 42 45 44 52 41 .alias PNMCBEDRA
29360 47 42 45 47 49 4e 57 20 50 4e 4d 43 42 45 44 52 GBEGINW PNMCBEDR
29370 41 47 42 45 47 49 4e 3b 0d 0a 2f 2f 20 23 65 6c AGBEGIN;..// #el
29380 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
29390 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
293a0 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e / #endif..// #en
293b0 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e dif // _WIN
293c0 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 32_IE >= 0x0400.
293d0 0a 0d 0a 73 74 72 75 63 74 20 5f 31 33 20 7b 0d ...struct _13 {.
293e0 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 . NMHDR hdr;..
293f0 20 42 4f 4f 4c 20 66 43 68 61 6e 67 65 64 3b 0d BOOL fChanged;.
29400 0a 20 20 69 6e 74 20 69 4e 65 77 53 65 6c 65 63 . int iNewSelec
29410 74 69 6f 6e 3b 0d 0a 20 20 57 43 48 41 52 20 73 tion;.. WCHAR s
29420 7a 54 65 78 74 5b 43 42 45 4d 41 58 53 54 52 4c zText[CBEMAXSTRL
29430 45 4e 5d 3b 0d 0a 20 20 69 6e 74 20 69 57 68 79 EN];.. int iWhy
29440 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 33 20 ;..}..alias _13
29450 4e 4d 43 42 45 45 4e 44 45 44 49 54 57 3b 0d 0a NMCBEENDEDITW;..
29460 61 6c 69 61 73 20 5f 31 33 2a 20 4c 50 4e 4d 43 alias _13* LPNMC
29470 42 45 45 4e 44 45 44 49 54 57 3b 0d 0a 61 6c 69 BEENDEDITW;..ali
29480 61 73 20 5f 31 33 2a 20 50 4e 4d 43 42 45 45 4e as _13* PNMCBEEN
29490 44 45 44 49 54 57 3b 0d 0a 0d 0a 73 74 72 75 63 DEDITW;....struc
294a0 74 20 5f 31 34 20 7b 0d 0a 20 20 4e 4d 48 44 52 t _14 {.. NMHDR
294b0 20 68 64 72 3b 0d 0a 20 20 42 4f 4f 4c 20 66 43 hdr;.. BOOL fC
294c0 68 61 6e 67 65 64 3b 0d 0a 20 20 69 6e 74 20 69 hanged;.. int i
294d0 4e 65 77 53 65 6c 65 63 74 69 6f 6e 3b 0d 0a 20 NewSelection;..
294e0 20 63 68 61 72 20 73 7a 54 65 78 74 5b 43 42 45 char szText[CBE
294f0 4d 41 58 53 54 52 4c 45 4e 5d 3b 0d 0a 20 20 69 MAXSTRLEN];.. i
29500 6e 74 20 69 57 68 79 3b 0d 0a 7d 0d 0a 61 6c 69 nt iWhy;..}..ali
29510 61 73 20 5f 31 34 20 4e 4d 43 42 45 45 4e 44 45 as _14 NMCBEENDE
29520 44 49 54 41 3b 0d 0a 61 6c 69 61 73 20 5f 31 34 DITA;..alias _14
29530 2a 20 4c 50 4e 4d 43 42 45 45 4e 44 45 44 49 54 * LPNMCBEENDEDIT
29540 41 3b 0d 0a 61 6c 69 61 73 20 5f 31 34 2a 20 50 A;..alias _14* P
29550 4e 4d 43 42 45 45 4e 44 45 44 49 54 41 3b 0d 0a NMCBEENDEDITA;..
29560 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
29570 4f 44 45 0d 0a 61 6c 69 61 73 20 4e 4d 43 42 45 ODE..alias NMCBE
29580 45 4e 44 45 44 49 54 57 20 4e 4d 43 42 45 45 4e ENDEDITW NMCBEEN
29590 44 45 44 49 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 DEDIT;..alias LP
295a0 4e 4d 43 42 45 45 4e 44 45 44 49 54 57 20 4c 50 NMCBEENDEDITW LP
295b0 4e 4d 43 42 45 45 4e 44 45 44 49 54 3b 0d 0a 61 NMCBEENDEDIT;..a
295c0 6c 69 61 73 20 50 4e 4d 43 42 45 45 4e 44 45 44 lias PNMCBEENDED
295d0 49 54 57 20 50 4e 4d 43 42 45 45 4e 44 45 44 49 ITW PNMCBEENDEDI
295e0 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f T;..// #else..//
295f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
29600 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
29610 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d if....// #endif.
29620 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 ...// #endif
29630 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e // _WIN32_IE >
29640 3d 20 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23 = 0x0300....// #
29650 69 66 6e 64 65 66 20 4e 4f 54 41 42 43 4f 4e 54 ifndef NOTABCONT
29660 52 4f 4c 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 ROL....// #ifdef
29670 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 _WIN32....const
29680 20 63 68 61 72 5b 5d 20 57 43 5f 54 41 42 43 4f char[] WC_TABCO
29690 4e 54 52 4f 4c 41 20 3d 20 22 53 79 73 54 61 62 NTROLA = "SysTab
296a0 43 6f 6e 74 72 6f 6c 33 32 22 3b 0d 0a 63 6f 6e Control32";..con
296b0 73 74 20 77 63 68 61 72 5b 5d 20 57 43 5f 54 41 st wchar[] WC_TA
296c0 42 43 4f 4e 54 52 4f 4c 57 20 3d 20 22 53 79 73 BCONTROLW = "Sys
296d0 54 61 62 43 6f 6e 74 72 6f 6c 33 32 22 3b 0d 0a TabControl32";..
296e0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
296f0 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 54 41 ODE..alias WC_TA
29700 42 43 4f 4e 54 52 4f 4c 57 20 57 43 5f 54 41 42 BCONTROLW WC_TAB
29710 43 4f 4e 54 52 4f 4c 3b 0d 0a 2f 2f 20 23 65 6c CONTROL;..// #el
29720 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
29730 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c #endif....// #el
29740 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
29750 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 #endif....// #if
29760 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
29770 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 x0300)..enum : u
29780 69 6e 74 20 7b 20 54 43 53 5f 53 43 52 4f 4c 4c int { TCS_SCROLL
29790 4f 50 50 4f 53 49 54 45 20 3d 20 30 78 30 30 30 OPPOSITE = 0x000
297a0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
297b0 20 7b 20 54 43 53 5f 42 4f 54 54 4f 4d 20 3d 20 { TCS_BOTTOM =
297c0 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0002 }..enum :
297d0 20 75 69 6e 74 20 7b 20 54 43 53 5f 52 49 47 48 uint { TCS_RIGH
297e0 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e T = 0x0002 }..en
297f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f um : uint { TCS_
29800 4d 55 4c 54 49 53 45 4c 45 43 54 20 3d 20 30 78 MULTISELECT = 0x
29810 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 0004 }..// #endi
29820 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 f..// #if (_WIN3
29830 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
29840 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
29850 43 53 5f 46 4c 41 54 42 55 54 54 4f 4e 53 20 3d CS_FLATBUTTONS =
29860 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 65 0x0008 }..// #e
29870 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ndif..enum : uin
29880 74 20 7b 20 54 43 53 5f 46 4f 52 43 45 49 43 4f t { TCS_FORCEICO
29890 4e 4c 45 46 54 20 3d 20 30 78 30 30 31 30 20 7d NLEFT = 0x0010 }
298a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
298b0 54 43 53 5f 46 4f 52 43 45 4c 41 42 45 4c 4c 45 TCS_FORCELABELLE
298c0 46 54 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 2f FT = 0x0020 }../
298d0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
298e0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 >= 0x0300)..enu
298f0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 48 m : uint { TCS_H
29900 4f 54 54 52 41 43 4b 20 3d 20 30 78 30 30 34 30 OTTRACK = 0x0040
29910 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
29920 7b 20 54 43 53 5f 56 45 52 54 49 43 41 4c 20 3d { TCS_VERTICAL =
29930 20 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 0x0080 }..// #e
29940 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ndif..enum : uin
29950 74 20 7b 20 54 43 53 5f 54 41 42 53 20 3d 20 30 t { TCS_TABS = 0
29960 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0000 }..enum :
29970 75 69 6e 74 20 7b 20 54 43 53 5f 42 55 54 54 4f uint { TCS_BUTTO
29980 4e 53 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 NS = 0x0100 }..e
29990 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 num : uint { TCS
299a0 5f 53 49 4e 47 4c 45 4c 49 4e 45 20 3d 20 30 78 _SINGLELINE = 0x
299b0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
299c0 69 6e 74 20 7b 20 54 43 53 5f 4d 55 4c 54 49 4c int { TCS_MULTIL
299d0 49 4e 45 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a INE = 0x0200 }..
299e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 enum : uint { TC
299f0 53 5f 52 49 47 48 54 4a 55 53 54 49 46 59 20 3d S_RIGHTJUSTIFY =
29a00 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 0x0000 }..enum
29a10 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 46 49 58 : uint { TCS_FIX
29a20 45 44 57 49 44 54 48 20 3d 20 30 78 30 34 30 30 EDWIDTH = 0x0400
29a30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
29a40 7b 20 54 43 53 5f 52 41 47 47 45 44 52 49 47 48 { TCS_RAGGEDRIGH
29a50 54 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e T = 0x0800 }..en
29a60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f um : uint { TCS_
29a70 46 4f 43 55 53 4f 4e 42 55 54 54 4f 4e 44 4f 57 FOCUSONBUTTONDOW
29a80 4e 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e N = 0x1000 }..en
29a90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f um : uint { TCS_
29aa0 4f 57 4e 45 52 44 52 41 57 46 49 58 45 44 20 3d OWNERDRAWFIXED =
29ab0 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 0x2000 }..enum
29ac0 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 54 4f 4f : uint { TCS_TOO
29ad0 4c 54 49 50 53 20 3d 20 30 78 34 30 30 30 20 7d LTIPS = 0x4000 }
29ae0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
29af0 54 43 53 5f 46 4f 43 55 53 4e 45 56 45 52 20 3d TCS_FOCUSNEVER =
29b00 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 0x8000 }....//
29b10 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
29b20 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 = 0x0400)....enu
29b30 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 45 m : uint { TCS_E
29b40 58 5f 46 4c 41 54 53 45 50 41 52 41 54 4f 52 53 X_FLATSEPARATORS
29b50 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d = 0x00000001 }.
29b60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
29b70 43 53 5f 45 58 5f 52 45 47 49 53 54 45 52 44 52 CS_EX_REGISTERDR
29b80 4f 50 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 OP = 0x00000002
29b90 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a }..// #endif....
29ba0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 enum : uint { TC
29bb0 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 20 3d M_GETIMAGELIST =
29bc0 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d TCM_FIRST + 2 }
29bd0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 ..// #define Tab
29be0 43 74 72 6c 5f 47 65 74 49 6d 61 67 65 4c 69 73 Ctrl_GetImageLis
29bf0 74 28 68 77 6e 64 29 20 28 48 49 4d 41 47 45 4c t(hwnd) (HIMAGEL
29c00 49 53 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 IST)SNDMSG((hwnd
29c10 29 2c 20 54 43 4d 5f 47 45 54 49 4d 41 47 45 4c ), TCM_GETIMAGEL
29c20 49 53 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 IST, 0, 0L)....e
29c30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d num : uint { TCM
29c40 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 _SETIMAGELIST =
29c50 54 43 4d 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d TCM_FIRST + 3 }.
29c60 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 .// #define TabC
29c70 74 72 6c 5f 53 65 74 49 6d 61 67 65 4c 69 73 74 trl_SetImageList
29c80 28 68 77 6e 64 2c 20 68 69 6d 6c 29 20 28 48 49 (hwnd, himl) (HI
29c90 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 MAGELIST)SNDMSG(
29ca0 28 68 77 6e 64 29 2c 20 54 43 4d 5f 53 45 54 49 (hwnd), TCM_SETI
29cb0 4d 41 47 45 4c 49 53 54 2c 20 30 2c 20 28 4c 50 MAGELIST, 0, (LP
29cc0 41 52 41 4d 29 28 48 49 4d 41 47 45 4c 49 53 54 ARAM)(HIMAGELIST
29cd0 29 28 68 69 6d 6c 29 29 0d 0a 0d 0a 65 6e 75 6d )(himl))....enum
29ce0 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 : uint { TCM_GE
29cf0 54 49 54 45 4d 43 4f 55 4e 54 20 3d 20 54 43 4d TITEMCOUNT = TCM
29d00 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f _FIRST + 4 }..//
29d10 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c #define TabCtrl
29d20 5f 47 65 74 49 74 65 6d 43 6f 75 6e 74 28 68 77 _GetItemCount(hw
29d30 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 nd) (int)SNDMSG(
29d40 28 68 77 6e 64 29 2c 20 54 43 4d 5f 47 45 54 49 (hwnd), TCM_GETI
29d50 54 45 4d 43 4f 55 4e 54 2c 20 30 2c 20 30 4c 29 TEMCOUNT, 0, 0L)
29d60 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
29d70 7b 20 54 43 49 46 5f 54 45 58 54 20 3d 20 30 78 { TCIF_TEXT = 0x
29d80 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0001 }..enum : u
29d90 69 6e 74 20 7b 20 54 43 49 46 5f 49 4d 41 47 45 int { TCIF_IMAGE
29da0 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 = 0x0002 }..enu
29db0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 49 46 5f m : uint { TCIF_
29dc0 52 54 4c 52 45 41 44 49 4e 47 20 3d 20 30 78 30 RTLREADING = 0x0
29dd0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 004 }..enum : ui
29de0 6e 74 20 7b 20 54 43 49 46 5f 50 41 52 41 4d 20 nt { TCIF_PARAM
29df0 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 = 0x0008 }..// #
29e00 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
29e10 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 0x0300)..enum :
29e20 20 75 69 6e 74 20 7b 20 54 43 49 46 5f 53 54 41 uint { TCIF_STA
29e30 54 45 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 0d TE = 0x0010 }...
29e40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
29e50 43 49 53 5f 42 55 54 54 4f 4e 50 52 45 53 53 45 CIS_BUTTONPRESSE
29e60 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 2f 2f D = 0x0001 }..//
29e70 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 #endif..// #if
29e80 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
29e90 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0400)..enum : ui
29ea0 6e 74 20 7b 20 54 43 49 53 5f 48 49 47 48 4c 49 nt { TCIS_HIGHLI
29eb0 47 48 54 45 44 20 3d 20 30 78 30 30 30 32 20 7d GHTED = 0x0002 }
29ec0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f ..// #endif..../
29ed0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 / #if (_WIN32_IE
29ee0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 >= 0x0300)..ali
29ef0 61 73 20 54 43 49 54 45 4d 48 45 41 44 45 52 41 as TCITEMHEADERA
29f00 20 54 43 5f 49 54 45 4d 48 45 41 44 45 52 41 3b TC_ITEMHEADERA;
29f10 0d 0a 61 6c 69 61 73 20 54 43 49 54 45 4d 48 45 ..alias TCITEMHE
29f20 41 44 45 52 57 20 54 43 5f 49 54 45 4d 48 45 41 ADERW TC_ITEMHEA
29f30 44 45 52 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d DERW;..// #else.
29f40 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
29f50 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
29f60 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
29f70 61 6c 69 61 73 20 54 43 49 54 45 4d 48 45 41 44 alias TCITEMHEAD
29f80 45 52 20 54 43 5f 49 54 45 4d 48 45 41 44 45 52 ER TC_ITEMHEADER
29f90 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54 ;....struct tagT
29fa0 43 49 54 45 4d 48 45 41 44 45 52 41 20 7b 0d 0a CITEMHEADERA {..
29fb0 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 UINT mask;..
29fc0 55 49 4e 54 20 6c 70 52 65 73 65 72 76 65 64 31 UINT lpReserved1
29fd0 3b 0d 0a 20 20 55 49 4e 54 20 6c 70 52 65 73 65 ;.. UINT lpRese
29fe0 72 76 65 64 32 3b 0d 0a 20 20 4c 50 53 54 52 20 rved2;.. LPSTR
29ff0 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 pszText;.. int
2a000 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 cchTextMax;.. i
2a010 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 61 nt iImage;..}..a
2a020 6c 69 61 73 20 74 61 67 54 43 49 54 45 4d 48 45 lias tagTCITEMHE
2a030 41 44 45 52 41 20 54 43 49 54 45 4d 48 45 41 44 ADERA TCITEMHEAD
2a040 45 52 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 ERA;..alias tagT
2a050 43 49 54 45 4d 48 45 41 44 45 52 41 2a 20 4c 50 CITEMHEADERA* LP
2a060 54 43 49 54 45 4d 48 45 41 44 45 52 41 3b 0d 0a TCITEMHEADERA;..
2a070 0d 0a 73 74 72 75 63 74 20 74 61 67 54 43 49 54 ..struct tagTCIT
2a080 45 4d 48 45 41 44 45 52 57 20 7b 0d 0a 20 20 55 EMHEADERW {.. U
2a090 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 55 49 4e INT mask;.. UIN
2a0a0 54 20 6c 70 52 65 73 65 72 76 65 64 31 3b 0d 0a T lpReserved1;..
2a0b0 20 20 55 49 4e 54 20 6c 70 52 65 73 65 72 76 65 UINT lpReserve
2a0c0 64 32 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 d2;.. LPWSTR ps
2a0d0 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 zText;.. int cc
2a0e0 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 hTextMax;.. int
2a0f0 20 69 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 61 6c 69 iImage;..}..ali
2a100 61 73 20 74 61 67 54 43 49 54 45 4d 48 45 41 44 as tagTCITEMHEAD
2a110 45 52 57 20 54 43 49 54 45 4d 48 45 41 44 45 52 ERW TCITEMHEADER
2a120 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 43 49 W;..alias tagTCI
2a130 54 45 4d 48 45 41 44 45 52 57 2a 20 4c 50 54 43 TEMHEADERW* LPTC
2a140 49 54 45 4d 48 45 41 44 45 52 57 3b 0d 0a 0d 0a ITEMHEADERW;....
2a150 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
2a160 45 0d 0a 61 6c 69 61 73 20 54 43 49 54 45 4d 48 E..alias TCITEMH
2a170 45 41 44 45 52 57 20 54 43 49 54 45 4d 48 45 41 EADERW TCITEMHEA
2a180 44 45 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 43 DER;..alias LPTC
2a190 49 54 45 4d 48 45 41 44 45 52 57 20 4c 50 54 43 ITEMHEADERW LPTC
2a1a0 49 54 45 4d 48 45 41 44 45 52 3b 0d 0a 2f 2f 20 ITEMHEADER;..//
2a1b0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
2a1c0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
2a1d0 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 if....// #if (_W
2a1e0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 IN32_IE >= 0x030
2a1f0 30 29 0d 0a 61 6c 69 61 73 20 54 43 49 54 45 4d 0)..alias TCITEM
2a200 41 20 54 43 5f 49 54 45 4d 41 3b 0d 0a 61 6c 69 A TC_ITEMA;..ali
2a210 61 73 20 54 43 49 54 45 4d 57 20 54 43 5f 49 54 as TCITEMW TC_IT
2a220 45 4d 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a EMW;..// #else..
2a230 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
2a240 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
2a250 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 61 ....// #endif..a
2a260 6c 69 61 73 20 54 43 49 54 45 4d 20 54 43 5f 49 lias TCITEM TC_I
2a270 54 45 4d 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 TEM;....struct t
2a280 61 67 54 43 49 54 45 4d 41 20 7b 0d 0a 20 20 55 agTCITEMA {.. U
2a290 49 4e 54 20 6d 61 73 6b 3b 0d 0a 2f 2f 20 23 69 INT mask;..// #i
2a2a0 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >=
2a2b0 30 78 30 33 30 30 29 0d 0a 20 20 44 57 4f 52 44 0x0300).. DWORD
2a2c0 20 64 77 53 74 61 74 65 3b 0d 0a 20 20 44 57 4f dwState;.. DWO
2a2d0 52 44 20 64 77 53 74 61 74 65 4d 61 73 6b 3b 0d RD dwStateMask;.
2a2e0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e .// #else..// ..
2a2f0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 ...// #endif..
2a300 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a LPSTR pszText;..
2a310 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 int cchTextMax
2a320 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b ;.. int iImage;
2a330 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 .. LPARAM lPara
2a340 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 m;..}..alias tag
2a350 54 43 49 54 45 4d 41 20 54 43 49 54 45 4d 41 3b TCITEMA TCITEMA;
2a360 0d 0a 61 6c 69 61 73 20 74 61 67 54 43 49 54 45 ..alias tagTCITE
2a370 4d 41 2a 20 4c 50 54 43 49 54 45 4d 41 3b 0d 0a MA* LPTCITEMA;..
2a380 0d 0a 73 74 72 75 63 74 20 74 61 67 54 43 49 54 ..struct tagTCIT
2a390 45 4d 57 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 EMW {.. UINT ma
2a3a0 73 6b 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 sk;..// #if (_WI
2a3b0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
2a3c0 29 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 61 ).. DWORD dwSta
2a3d0 74 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 te;.. DWORD dwS
2a3e0 74 61 74 65 4d 61 73 6b 3b 0d 0a 2f 2f 20 23 65 tateMask;..// #e
2a3f0 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 lse..// .....//
2a400 23 65 6e 64 69 66 0d 0a 20 20 4c 50 57 53 54 52 #endif.. LPWSTR
2a410 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 pszText;.. int
2a420 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 cchTextMax;..
2a430 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 4c int iImage;.. L
2a440 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d PARAM lParam;..}
2a450 0d 0a 61 6c 69 61 73 20 74 61 67 54 43 49 54 45 ..alias tagTCITE
2a460 4d 57 20 54 43 49 54 45 4d 57 3b 0d 0a 61 6c 69 MW TCITEMW;..ali
2a470 61 73 20 74 61 67 54 43 49 54 45 4d 57 2a 20 4c as tagTCITEMW* L
2a480 50 54 43 49 54 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20 PTCITEMW;....//
2a490 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a #ifdef UNICODE..
2a4a0 61 6c 69 61 73 20 54 43 49 54 45 4d 57 20 54 43 alias TCITEMW TC
2a4b0 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 ITEM;..alias LPT
2a4c0 43 49 54 45 4d 57 20 4c 50 54 43 49 54 45 4d 3b CITEMW LPTCITEM;
2a4d0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
2a4e0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
2a4f0 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 #endif....enum
2a500 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54 : uint { TCM_GET
2a510 49 54 45 4d 41 20 3d 20 54 43 4d 5f 46 49 52 53 ITEMA = TCM_FIRS
2a520 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 T + 5 }..enum :
2a530 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54 49 54 uint { TCM_GETIT
2a540 45 4d 57 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 EMW = TCM_FIRST
2a550 2b 20 36 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 + 60 }....// #if
2a560 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 def UNICODE..ali
2a570 61 73 20 54 43 4d 5f 47 45 54 49 54 45 4d 57 20 as TCM_GETITEMW
2a580 54 43 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f TCM_GETITEM;..//
2a590 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
2a5a0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f .// #endif....//
2a5b0 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c #define TabCtrl
2a5c0 5f 47 65 74 49 74 65 6d 28 68 77 6e 64 2c 20 69 _GetItem(hwnd, i
2a5d0 49 74 65 6d 2c 20 70 69 74 65 6d 29 20 28 42 4f Item, pitem) (BO
2a5e0 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 OL)SNDMSG((hwnd)
2a5f0 2c 20 54 43 4d 5f 47 45 54 49 54 45 4d 2c 20 28 , TCM_GETITEM, (
2a600 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 49 74 WPARAM)(int)(iIt
2a610 65 6d 29 2c 20 28 4c 50 41 52 41 4d 29 28 54 43 em), (LPARAM)(TC
2a620 5f 49 54 45 4d 20 2a 29 28 70 69 74 65 6d 29 29 _ITEM *)(pitem))
2a630 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
2a640 7b 20 54 43 4d 5f 53 45 54 49 54 45 4d 41 20 3d { TCM_SETITEMA =
2a650 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 36 20 7d TCM_FIRST + 6 }
2a660 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2a670 54 43 4d 5f 53 45 54 49 54 45 4d 57 20 3d 20 54 TCM_SETITEMW = T
2a680 43 4d 5f 46 49 52 53 54 20 2b 20 36 31 20 7d 0d CM_FIRST + 61 }.
2a690 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 ...// #ifdef UNI
2a6a0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 43 4d 5f CODE..alias TCM_
2a6b0 53 45 54 49 54 45 4d 57 20 54 43 4d 5f 53 45 54 SETITEMW TCM_SET
2a6c0 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d ITEM;..// #else.
2a6d0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e .// #.....// #en
2a6e0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e dif....// #defin
2a6f0 65 20 54 61 62 43 74 72 6c 5f 53 65 74 49 74 65 e TabCtrl_SetIte
2a700 6d 28 68 77 6e 64 2c 20 69 49 74 65 6d 2c 20 70 m(hwnd, iItem, p
2a710 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d item) (BOOL)SNDM
2a720 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 53 SG((hwnd), TCM_S
2a730 45 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 ETITEM, (WPARAM)
2a740 28 69 6e 74 29 28 69 49 74 65 6d 29 2c 20 28 4c (int)(iItem), (L
2a750 50 41 52 41 4d 29 28 54 43 5f 49 54 45 4d 20 2a PARAM)(TC_ITEM *
2a760 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 )(pitem))....enu
2a770 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 49 m : uint { TCM_I
2a780 4e 53 45 52 54 49 54 45 4d 41 20 3d 20 54 43 4d NSERTITEMA = TCM
2a790 5f 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 65 6e _FIRST + 7 }..en
2a7a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f um : uint { TCM_
2a7b0 49 4e 53 45 52 54 49 54 45 4d 57 20 3d 20 54 43 INSERTITEMW = TC
2a7c0 4d 5f 46 49 52 53 54 20 2b 20 36 32 20 7d 0d 0a M_FIRST + 62 }..
2a7d0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
2a7e0 4f 44 45 0d 0a 61 6c 69 61 73 20 54 43 4d 5f 49 ODE..alias TCM_I
2a7f0 4e 53 45 52 54 49 54 45 4d 57 20 54 43 4d 5f 49 NSERTITEMW TCM_I
2a800 4e 53 45 52 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 NSERTITEM;..// #
2a810 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
2a820 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 / #endif....// #
2a830 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 49 define TabCtrl_I
2a840 6e 73 65 72 74 49 74 65 6d 28 68 77 6e 64 2c 20 nsertItem(hwnd,
2a850 69 49 74 65 6d 2c 20 70 69 74 65 6d 29 20 28 69 iItem, pitem) (i
2a860 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 nt)SNDMSG((hwnd)
2a870 2c 20 54 43 4d 5f 49 4e 53 45 52 54 49 54 45 4d , TCM_INSERTITEM
2a880 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 , (WPARAM)(int)(
2a890 69 49 74 65 6d 29 2c 20 28 4c 50 41 52 41 4d 29 iItem), (LPARAM)
2a8a0 28 63 6f 6e 73 74 20 54 43 5f 49 54 45 4d 20 2a (const TC_ITEM *
2a8b0 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 )(pitem))....enu
2a8c0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 44 m : uint { TCM_D
2a8d0 45 4c 45 54 45 49 54 45 4d 20 3d 20 54 43 4d 5f ELETEITEM = TCM_
2a8e0 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a 2f 2f 20 FIRST + 8 }..//
2a8f0 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f #define TabCtrl_
2a900 44 65 6c 65 74 65 49 74 65 6d 28 68 77 6e 64 2c DeleteItem(hwnd,
2a910 20 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 i) (BOOL)SNDMSG
2a920 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 44 45 4c ((hwnd), TCM_DEL
2a930 45 54 45 49 54 45 4d 2c 20 28 57 50 41 52 41 4d ETEITEM, (WPARAM
2a940 29 28 69 6e 74 29 28 69 29 2c 20 30 4c 29 0d 0a )(int)(i), 0L)..
2a950 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2a960 54 43 4d 5f 44 45 4c 45 54 45 41 4c 4c 49 54 45 TCM_DELETEALLITE
2a970 4d 53 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b MS = TCM_FIRST +
2a980 20 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 9 }..// #define
2a990 20 54 61 62 43 74 72 6c 5f 44 65 6c 65 74 65 41 TabCtrl_DeleteA
2a9a0 6c 6c 49 74 65 6d 73 28 68 77 6e 64 29 20 28 42 llItems(hwnd) (B
2a9b0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
2a9c0 29 2c 20 54 43 4d 5f 44 45 4c 45 54 45 41 4c 4c ), TCM_DELETEALL
2a9d0 49 54 45 4d 53 2c 20 30 2c 20 30 4c 29 0d 0a 0d ITEMS, 0, 0L)...
2a9e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
2a9f0 43 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 20 3d CM_GETITEMRECT =
2aa00 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 31 30 20 TCM_FIRST + 10
2aa10 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 }..// #define Ta
2aa20 62 43 74 72 6c 5f 47 65 74 49 74 65 6d 52 65 63 bCtrl_GetItemRec
2aa30 74 28 68 77 6e 64 2c 20 69 2c 20 70 72 63 29 20 t(hwnd, i, prc)
2aa40 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 (BOOL)SNDMSG((hw
2aa50 6e 64 29 2c 20 54 43 4d 5f 47 45 54 49 54 45 4d nd), TCM_GETITEM
2aa60 52 45 43 54 2c 20 28 57 50 41 52 41 4d 29 28 69 RECT, (WPARAM)(i
2aa70 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 nt)(i), (LPARAM)
2aa80 28 52 45 43 54 20 2a 29 28 70 72 63 29 29 0d 0a (RECT *)(prc))..
2aa90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2aaa0 54 43 4d 5f 47 45 54 43 55 52 53 45 4c 20 3d 20 TCM_GETCURSEL =
2aab0 54 43 4d 5f 46 49 52 53 54 20 2b 20 31 31 20 7d TCM_FIRST + 11 }
2aac0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 ..// #define Tab
2aad0 43 74 72 6c 5f 47 65 74 43 75 72 53 65 6c 28 68 Ctrl_GetCurSel(h
2aae0 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 wnd) (int)SNDMSG
2aaf0 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 47 45 54 ((hwnd), TCM_GET
2ab00 43 55 52 53 45 4c 2c 20 30 2c 20 30 29 0d 0a 0d CURSEL, 0, 0)...
2ab10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
2ab20 43 4d 5f 53 45 54 43 55 52 53 45 4c 20 3d 20 54 CM_SETCURSEL = T
2ab30 43 4d 5f 46 49 52 53 54 20 2b 20 31 32 20 7d 0d CM_FIRST + 12 }.
2ab40 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 .// #define TabC
2ab50 74 72 6c 5f 53 65 74 43 75 72 53 65 6c 28 68 77 trl_SetCurSel(hw
2ab60 6e 64 2c 20 69 29 20 28 69 6e 74 29 53 4e 44 4d nd, i) (int)SNDM
2ab70 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 53 SG((hwnd), TCM_S
2ab80 45 54 43 55 52 53 45 4c 2c 20 28 57 50 41 52 41 ETCURSEL, (WPARA
2ab90 4d 29 28 69 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 M)(i), 0)....enu
2aba0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 48 54 5f m : uint { TCHT_
2abb0 4e 4f 57 48 45 52 45 20 3d 20 30 78 30 30 30 31 NOWHERE = 0x0001
2abc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2abd0 7b 20 54 43 48 54 5f 4f 4e 49 54 45 4d 49 43 4f { TCHT_ONITEMICO
2abe0 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e N = 0x0002 }..en
2abf0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 48 54 um : uint { TCHT
2ac00 5f 4f 4e 49 54 45 4d 4c 41 42 45 4c 20 3d 20 30 _ONITEMLABEL = 0
2ac10 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0004 }..enum :
2ac20 75 69 6e 74 20 7b 20 54 43 48 54 5f 4f 4e 49 54 uint { TCHT_ONIT
2ac30 45 4d 20 3d 20 54 43 48 54 5f 4f 4e 49 54 45 4d EM = TCHT_ONITEM
2ac40 49 43 4f 4e 20 7c 20 54 43 48 54 5f 4f 4e 49 54 ICON | TCHT_ONIT
2ac50 45 4d 4c 41 42 45 4c 20 7d 0d 0a 0d 0a 2f 2f 20 EMLABEL }....//
2ac60 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
2ac70 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 = 0x0300)..alias
2ac80 20 4c 50 54 43 48 49 54 54 45 53 54 49 4e 46 4f LPTCHITTESTINFO
2ac90 20 4c 50 54 43 5f 48 49 54 54 45 53 54 49 4e 46 LPTC_HITTESTINF
2aca0 4f 3b 0d 0a 61 6c 69 61 73 20 54 43 48 49 54 54 O;..alias TCHITT
2acb0 45 53 54 49 4e 46 4f 20 54 43 5f 48 49 54 54 45 ESTINFO TC_HITTE
2acc0 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 STINFO;..// #els
2acd0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
2ace0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
2acf0 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 #endif....struc
2ad00 74 20 74 61 67 54 43 48 49 54 54 45 53 54 49 4e t tagTCHITTESTIN
2ad10 46 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 FO {.. POINT pt
2ad20 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b ;.. UINT flags;
2ad30 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 43 ..}..alias tagTC
2ad40 48 49 54 54 45 53 54 49 4e 46 4f 20 54 43 48 49 HITTESTINFO TCHI
2ad50 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 TTESTINFO;..alia
2ad60 73 20 74 61 67 54 43 48 49 54 54 45 53 54 49 4e s tagTCHITTESTIN
2ad70 46 4f 2a 20 4c 50 54 43 48 49 54 54 45 53 54 49 FO* LPTCHITTESTI
2ad80 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 NFO;....enum : u
2ad90 69 6e 74 20 7b 20 54 43 4d 5f 48 49 54 54 45 53 int { TCM_HITTES
2ada0 54 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 T = TCM_FIRST +
2adb0 31 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 13 }..// #define
2adc0 20 54 61 62 43 74 72 6c 5f 48 69 74 54 65 73 74 TabCtrl_HitTest
2add0 28 68 77 6e 64 54 43 2c 20 70 69 6e 66 6f 29 20 (hwndTC, pinfo)
2ade0 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e (int)SNDMSG((hwn
2adf0 64 54 43 29 2c 20 54 43 4d 5f 48 49 54 54 45 53 dTC), TCM_HITTES
2ae00 54 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 54 T, 0, (LPARAM)(T
2ae10 43 5f 48 49 54 54 45 53 54 49 4e 46 4f 20 2a 29 C_HITTESTINFO *)
2ae20 28 70 69 6e 66 6f 29 29 0d 0a 0d 0a 65 6e 75 6d (pinfo))....enum
2ae30 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45 : uint { TCM_SE
2ae40 54 49 54 45 4d 45 58 54 52 41 20 3d 20 54 43 4d TITEMEXTRA = TCM
2ae50 5f 46 49 52 53 54 20 2b 20 31 34 20 7d 0d 0a 2f _FIRST + 14 }../
2ae60 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 / #define TabCtr
2ae70 6c 5f 53 65 74 49 74 65 6d 45 78 74 72 61 28 68 l_SetItemExtra(h
2ae80 77 6e 64 54 43 2c 20 63 62 29 20 28 42 4f 4f 4c wndTC, cb) (BOOL
2ae90 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 54 43 29 )SNDMSG((hwndTC)
2aea0 2c 20 54 43 4d 5f 53 45 54 49 54 45 4d 45 58 54 , TCM_SETITEMEXT
2aeb0 52 41 2c 20 28 57 50 41 52 41 4d 29 28 63 62 29 RA, (WPARAM)(cb)
2aec0 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 , 0L)....enum :
2aed0 75 69 6e 74 20 7b 20 54 43 4d 5f 41 44 4a 55 53 uint { TCM_ADJUS
2aee0 54 52 45 43 54 20 3d 20 54 43 4d 5f 46 49 52 53 TRECT = TCM_FIRS
2aef0 54 20 2b 20 34 30 20 7d 0d 0a 2f 2f 20 23 64 65 T + 40 }..// #de
2af00 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 41 64 6a fine TabCtrl_Adj
2af10 75 73 74 52 65 63 74 28 68 77 6e 64 2c 20 62 4c ustRect(hwnd, bL
2af20 61 72 67 65 72 2c 20 70 72 63 29 20 28 69 6e 74 arger, prc) (int
2af30 29 53 4e 44 4d 53 47 28 68 77 6e 64 2c 20 54 43 )SNDMSG(hwnd, TC
2af40 4d 5f 41 44 4a 55 53 54 52 45 43 54 2c 20 28 57 M_ADJUSTRECT, (W
2af50 50 41 52 41 4d 29 28 42 4f 4f 4c 29 28 62 4c 61 PARAM)(BOOL)(bLa
2af60 72 67 65 72 29 2c 20 28 4c 50 41 52 41 4d 29 28 rger), (LPARAM)(
2af70 52 45 43 54 20 2a 29 70 72 63 29 0d 0a 0d 0a 65 RECT *)prc)....e
2af80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d num : uint { TCM
2af90 5f 53 45 54 49 54 45 4d 53 49 5a 45 20 3d 20 54 _SETITEMSIZE = T
2afa0 43 4d 5f 46 49 52 53 54 20 2b 20 34 31 20 7d 0d CM_FIRST + 41 }.
2afb0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 .// #define TabC
2afc0 74 72 6c 5f 53 65 74 49 74 65 6d 53 69 7a 65 28 trl_SetItemSize(
2afd0 68 77 6e 64 2c 20 78 2c 20 79 29 20 28 44 57 4f hwnd, x, y) (DWO
2afe0 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 RD)SNDMSG((hwnd)
2aff0 2c 20 54 43 4d 5f 53 45 54 49 54 45 4d 53 49 5a , TCM_SETITEMSIZ
2b000 45 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 52 41 4d E, 0, MAKELPARAM
2b010 28 78 2c 79 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a (x,y))....enum :
2b020 20 75 69 6e 74 20 7b 20 54 43 4d 5f 52 45 4d 4f uint { TCM_REMO
2b030 56 45 49 4d 41 47 45 20 3d 20 54 43 4d 5f 46 49 VEIMAGE = TCM_FI
2b040 52 53 54 20 2b 20 34 32 20 7d 0d 0a 2f 2f 20 23 RST + 42 }..// #
2b050 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 52 define TabCtrl_R
2b060 65 6d 6f 76 65 49 6d 61 67 65 28 68 77 6e 64 2c emoveImage(hwnd,
2b070 20 69 29 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 i) (void)SNDMSG
2b080 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 52 45 4d ((hwnd), TCM_REM
2b090 4f 56 45 49 4d 41 47 45 2c 20 69 2c 20 30 4c 29 OVEIMAGE, i, 0L)
2b0a0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
2b0b0 7b 20 54 43 4d 5f 53 45 54 50 41 44 44 49 4e 47 { TCM_SETPADDING
2b0c0 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 = TCM_FIRST + 4
2b0d0 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 3 }..// #define
2b0e0 54 61 62 43 74 72 6c 5f 53 65 74 50 61 64 64 69 TabCtrl_SetPaddi
2b0f0 6e 67 28 68 77 6e 64 2c 20 63 78 2c 20 63 79 29 ng(hwnd, cx, cy)
2b100 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68 (void)SNDMSG((h
2b110 77 6e 64 29 2c 20 54 43 4d 5f 53 45 54 50 41 44 wnd), TCM_SETPAD
2b120 44 49 4e 47 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 DING, 0, MAKELPA
2b130 52 41 4d 28 63 78 2c 20 63 79 29 29 0d 0a 0d 0a RAM(cx, cy))....
2b140 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 enum : uint { TC
2b150 4d 5f 47 45 54 52 4f 57 43 4f 55 4e 54 20 3d 20 M_GETROWCOUNT =
2b160 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 34 20 7d TCM_FIRST + 44 }
2b170 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 ..// #define Tab
2b180 43 74 72 6c 5f 47 65 74 52 6f 77 43 6f 75 6e 74 Ctrl_GetRowCount
2b190 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d (hwnd) (int)SNDM
2b1a0 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 47 SG((hwnd), TCM_G
2b1b0 45 54 52 4f 57 43 4f 55 4e 54 2c 20 30 2c 20 30 ETROWCOUNT, 0, 0
2b1c0 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e L)....enum : uin
2b1d0 74 20 7b 20 54 43 4d 5f 47 45 54 54 4f 4f 4c 54 t { TCM_GETTOOLT
2b1e0 49 50 53 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 IPS = TCM_FIRST
2b1f0 2b 20 34 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 45 }..// #defi
2b200 6e 65 20 54 61 62 43 74 72 6c 5f 47 65 74 54 6f ne TabCtrl_GetTo
2b210 6f 6c 54 69 70 73 28 68 77 6e 64 29 20 28 48 57 olTips(hwnd) (HW
2b220 4e 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 ND)SNDMSG((hwnd)
2b230 2c 20 54 43 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 , TCM_GETTOOLTIP
2b240 53 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 S, 0, 0L)....enu
2b250 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 m : uint { TCM_S
2b260 45 54 54 4f 4f 4c 54 49 50 53 20 3d 20 54 43 4d ETTOOLTIPS = TCM
2b270 5f 46 49 52 53 54 20 2b 20 34 36 20 7d 0d 0a 2f _FIRST + 46 }../
2b280 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 / #define TabCtr
2b290 6c 5f 53 65 74 54 6f 6f 6c 54 69 70 73 28 68 77 l_SetToolTips(hw
2b2a0 6e 64 2c 20 68 77 6e 64 54 54 29 20 28 76 6f 69 nd, hwndTT) (voi
2b2b0 64 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c d)SNDMSG((hwnd),
2b2c0 20 54 43 4d 5f 53 45 54 54 4f 4f 4c 54 49 50 53 TCM_SETTOOLTIPS
2b2d0 2c 20 28 57 50 41 52 41 4d 29 28 68 77 6e 64 54 , (WPARAM)(hwndT
2b2e0 54 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 T), 0L)....enum
2b2f0 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54 : uint { TCM_GET
2b300 43 55 52 46 4f 43 55 53 20 3d 20 54 43 4d 5f 46 CURFOCUS = TCM_F
2b310 49 52 53 54 20 2b 20 34 37 20 7d 0d 0a 2f 2f 20 IRST + 47 }..//
2b320 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f #define TabCtrl_
2b330 47 65 74 43 75 72 46 6f 63 75 73 28 68 77 6e 64 GetCurFocus(hwnd
2b340 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 ) (int)SNDMSG((h
2b350 77 6e 64 29 2c 20 54 43 4d 5f 47 45 54 43 55 52 wnd), TCM_GETCUR
2b360 46 4f 43 55 53 2c 20 30 2c 20 30 29 0d 0a 0d 0a FOCUS, 0, 0)....
2b370 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 enum : uint { TC
2b380 4d 5f 53 45 54 43 55 52 46 4f 43 55 53 20 3d 20 M_SETCURFOCUS =
2b390 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 38 20 7d TCM_FIRST + 48 }
2b3a0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 ..// #define Tab
2b3b0 43 74 72 6c 5f 53 65 74 43 75 72 46 6f 63 75 73 Ctrl_SetCurFocus
2b3c0 28 68 77 6e 64 2c 20 69 29 20 53 4e 44 4d 53 47 (hwnd, i) SNDMSG
2b3d0 28 28 68 77 6e 64 29 2c 54 43 4d 5f 53 45 54 43 ((hwnd),TCM_SETC
2b3e0 55 52 46 4f 43 55 53 2c 20 69 2c 20 30 29 0d 0a URFOCUS, i, 0)..
2b3f0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 ..// #if (_WIN32
2b400 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a _IE >= 0x0300)..
2b410 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 enum : uint { TC
2b420 4d 5f 53 45 54 4d 49 4e 54 41 42 57 49 44 54 48 M_SETMINTABWIDTH
2b430 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 = TCM_FIRST + 4
2b440 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 9 }..// #define
2b450 54 61 62 43 74 72 6c 5f 53 65 74 4d 69 6e 54 61 TabCtrl_SetMinTa
2b460 62 57 69 64 74 68 28 68 77 6e 64 2c 20 78 29 20 bWidth(hwnd, x)
2b470 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e (int)SNDMSG((hwn
2b480 64 29 2c 20 54 43 4d 5f 53 45 54 4d 49 4e 54 41 d), TCM_SETMINTA
2b490 42 57 49 44 54 48 2c 20 30 2c 20 78 29 0d 0a 0d BWIDTH, 0, x)...
2b4a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
2b4b0 43 4d 5f 44 45 53 45 4c 45 43 54 41 4c 4c 20 3d CM_DESELECTALL =
2b4c0 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 35 30 20 TCM_FIRST + 50
2b4d0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 }..// #define Ta
2b4e0 62 43 74 72 6c 5f 44 65 73 65 6c 65 63 74 41 6c bCtrl_DeselectAl
2b4f0 6c 28 68 77 6e 64 2c 20 66 45 78 63 6c 75 64 65 l(hwnd, fExclude
2b500 46 6f 63 75 73 29 20 28 76 6f 69 64 29 53 4e 44 Focus) (void)SND
2b510 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f MSG((hwnd), TCM_
2b520 44 45 53 45 4c 45 43 54 41 4c 4c 2c 20 66 45 78 DESELECTALL, fEx
2b530 63 6c 75 64 65 46 6f 63 75 73 2c 20 30 29 0d 0a cludeFocus, 0)..
2b540 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
2b550 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
2b560 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 = 0x0400)....enu
2b570 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 48 m : uint { TCM_H
2b580 49 47 48 4c 49 47 48 54 49 54 45 4d 20 3d 20 54 IGHLIGHTITEM = T
2b590 43 4d 5f 46 49 52 53 54 20 2b 20 35 31 20 7d 0d CM_FIRST + 51 }.
2b5a0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 .// #define TabC
2b5b0 74 72 6c 5f 48 69 67 68 6c 69 67 68 74 49 74 65 trl_HighlightIte
2b5c0 6d 28 68 77 6e 64 2c 20 69 2c 20 66 48 69 67 68 m(hwnd, i, fHigh
2b5d0 6c 69 67 68 74 29 20 28 42 4f 4f 4c 29 53 4e 44 light) (BOOL)SND
2b5e0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f MSG((hwnd), TCM_
2b5f0 48 49 47 48 4c 49 47 48 54 49 54 45 4d 2c 20 28 HIGHLIGHTITEM, (
2b600 57 50 41 52 41 4d 29 28 69 29 2c 20 28 4c 50 41 WPARAM)(i), (LPA
2b610 52 41 4d 29 4d 41 4b 45 4c 4f 4e 47 20 28 66 48 RAM)MAKELONG (fH
2b620 69 67 68 6c 69 67 68 74 2c 20 30 29 29 0d 0a 0d ighlight, 0))...
2b630 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
2b640 43 4d 5f 53 45 54 45 58 54 45 4e 44 45 44 53 54 CM_SETEXTENDEDST
2b650 59 4c 45 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 YLE = TCM_FIRST
2b660 2b 20 35 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 52 }..// #defi
2b670 6e 65 20 54 61 62 43 74 72 6c 5f 53 65 74 45 78 ne TabCtrl_SetEx
2b680 74 65 6e 64 65 64 53 74 79 6c 65 28 68 77 6e 64 tendedStyle(hwnd
2b690 2c 20 64 77 29 20 28 44 57 4f 52 44 29 53 4e 44 , dw) (DWORD)SND
2b6a0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f MSG((hwnd), TCM_
2b6b0 53 45 54 45 58 54 45 4e 44 45 44 53 54 59 4c 45 SETEXTENDEDSTYLE
2b6c0 2c 20 30 2c 20 64 77 29 0d 0a 0d 0a 65 6e 75 6d , 0, dw)....enum
2b6d0 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 : uint { TCM_GE
2b6e0 54 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 3d TEXTENDEDSTYLE =
2b6f0 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 35 33 20 TCM_FIRST + 53
2b700 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 }..// #define Ta
2b710 62 43 74 72 6c 5f 47 65 74 45 78 74 65 6e 64 65 bCtrl_GetExtende
2b720 64 53 74 79 6c 65 28 68 77 6e 64 29 20 28 44 57 dStyle(hwnd) (DW
2b730 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 ORD)SNDMSG((hwnd
2b740 29 2c 20 54 43 4d 5f 47 45 54 45 58 54 45 4e 44 ), TCM_GETEXTEND
2b750 45 44 53 54 59 4c 45 2c 20 30 2c 20 30 29 0d 0a EDSTYLE, 0, 0)..
2b760 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 55 ..alias CCM_SETU
2b770 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 54 43 4d NICODEFORMAT TCM
2b780 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 _SETUNICODEFORMA
2b790 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 T;..// #define T
2b7a0 61 62 43 74 72 6c 5f 53 65 74 55 6e 69 63 6f 64 abCtrl_SetUnicod
2b7b0 65 46 6f 72 6d 61 74 28 68 77 6e 64 2c 20 66 55 eFormat(hwnd, fU
2b7c0 6e 69 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53 4e nicode) (BOOL)SN
2b7d0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d DMSG((hwnd), TCM
2b7e0 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 _SETUNICODEFORMA
2b7f0 54 2c 20 28 57 50 41 52 41 4d 29 28 66 55 6e 69 T, (WPARAM)(fUni
2b800 63 6f 64 65 29 2c 20 30 29 0d 0a 0d 0a 61 6c 69 code), 0)....ali
2b810 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 as CCM_GETUNICOD
2b820 45 46 4f 52 4d 41 54 20 54 43 4d 5f 47 45 54 55 EFORMAT TCM_GETU
2b830 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f NICODEFORMAT;../
2b840 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 / #define TabCtr
2b850 6c 5f 47 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d l_GetUnicodeForm
2b860 61 74 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 at(hwnd) (BOOL)S
2b870 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 NDMSG((hwnd), TC
2b880 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d M_GETUNICODEFORM
2b890 41 54 2c 20 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 AT, 0, 0)....//
2b8a0 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f #endif // _
2b8b0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 WIN32_IE >= 0x04
2b8c0 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00....enum : uin
2b8d0 74 20 7b 20 54 43 4e 5f 4b 45 59 44 4f 57 4e 20 t { TCN_KEYDOWN
2b8e0 3d 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 30 20 = TCN_FIRST - 0
2b8f0 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 }....// #if (_WI
2b900 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 N32_IE >= 0x0300
2b910 29 0d 0a 61 6c 69 61 73 20 4e 4d 54 43 4b 45 59 )..alias NMTCKEY
2b920 44 4f 57 4e 20 54 43 5f 4b 45 59 44 4f 57 4e 3b DOWN TC_KEYDOWN;
2b930 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
2b940 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
2b950 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 #endif....// #i
2b960 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 fdef _WIN32..ali
2b970 67 6e 28 31 29 3a 0d 0a 2f 2f 20 23 65 6e 64 69 gn(1):..// #endi
2b980 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54 f....struct tagT
2b990 43 4b 45 59 44 4f 57 4e 20 7b 0d 0a 20 20 4e 4d CKEYDOWN {.. NM
2b9a0 48 44 52 20 68 64 72 3b 0d 0a 20 20 57 4f 52 44 HDR hdr;.. WORD
2b9b0 20 77 56 4b 65 79 3b 0d 0a 20 20 55 49 4e 54 20 wVKey;.. UINT
2b9c0 66 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 flags;..}..alias
2b9d0 20 74 61 67 54 43 4b 45 59 44 4f 57 4e 20 4e 4d tagTCKEYDOWN NM
2b9e0 54 43 4b 45 59 44 4f 57 4e 3b 0d 0a 0d 0a 2f 2f TCKEYDOWN;....//
2b9f0 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a #ifdef _WIN32..
2ba00 61 6c 69 67 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69 align:..// #endi
2ba10 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 f....enum : uint
2ba20 20 7b 20 54 43 4e 5f 53 45 4c 43 48 41 4e 47 45 { TCN_SELCHANGE
2ba30 20 3d 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 31 = TCN_FIRST - 1
2ba40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2ba50 7b 20 54 43 4e 5f 53 45 4c 43 48 41 4e 47 49 4e { TCN_SELCHANGIN
2ba60 47 20 3d 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 G = TCN_FIRST -
2ba70 32 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 2 }..// #if (_WI
2ba80 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
2ba90 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
2baa0 20 54 43 4e 5f 47 45 54 4f 42 4a 45 43 54 20 3d TCN_GETOBJECT =
2bab0 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 33 20 7d TCN_FIRST - 3 }
2bac0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 ..// #endif
2bad0 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d // _WIN32_IE >=
2bae0 20 30 78 30 34 30 30 0d 0a 2f 2f 20 23 69 66 20 0x0400..// #if
2baf0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
2bb00 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 0500)..enum : ui
2bb10 6e 74 20 7b 20 54 43 4e 5f 46 4f 43 55 53 43 48 nt { TCN_FOCUSCH
2bb20 41 4e 47 45 20 3d 20 54 43 4e 5f 46 49 52 53 54 ANGE = TCN_FIRST
2bb30 20 2d 20 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 - 4 }..// #endi
2bb40 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 f // _WIN32
2bb50 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 0d 0a 2f _IE >= 0x0500../
2bb60 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f / #endif //
2bb70 20 4e 4f 54 41 42 43 4f 4e 54 52 4f 4c 0d 0a 0d NOTABCONTROL...
2bb80 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 41 4e .// #ifndef NOAN
2bb90 49 4d 41 54 45 0d 0a 0d 0a 2f 2f 20 23 69 66 64 IMATE....// #ifd
2bba0 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e ef _WIN32....con
2bbb0 73 74 20 77 63 68 61 72 5b 5d 20 41 4e 49 4d 41 st wchar[] ANIMA
2bbc0 54 45 5f 43 4c 41 53 53 57 20 3d 20 22 53 79 73 TE_CLASSW = "Sys
2bbd0 41 6e 69 6d 61 74 65 33 32 22 3b 0d 0a 63 6f 6e Animate32";..con
2bbe0 73 74 20 63 68 61 72 5b 5d 20 41 4e 49 4d 41 54 st char[] ANIMAT
2bbf0 45 5f 43 4c 41 53 53 41 20 3d 20 22 53 79 73 41 E_CLASSA = "SysA
2bc00 6e 69 6d 61 74 65 33 32 22 3b 0d 0a 0d 0a 2f 2f nimate32";....//
2bc10 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
2bc20 0a 61 6c 69 61 73 20 41 4e 49 4d 41 54 45 5f 43 .alias ANIMATE_C
2bc30 4c 41 53 53 57 20 41 4e 49 4d 41 54 45 5f 43 4c LASSW ANIMATE_CL
2bc40 41 53 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a ASS;..// #else..
2bc50 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
2bc60 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e if....enum : uin
2bc70 74 20 7b 20 41 43 53 5f 43 45 4e 54 45 52 20 3d t { ACS_CENTER =
2bc80 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
2bc90 3a 20 75 69 6e 74 20 7b 20 41 43 53 5f 54 52 41 : uint { ACS_TRA
2bca0 4e 53 50 41 52 45 4e 54 20 3d 20 30 78 30 30 30 NSPARENT = 0x000
2bcb0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 2 }..enum : uint
2bcc0 20 7b 20 41 43 53 5f 41 55 54 4f 50 4c 41 59 20 { ACS_AUTOPLAY
2bcd0 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 = 0x0004 }..// #
2bce0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >=
2bcf0 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 0x0300)..enum :
2bd00 20 75 69 6e 74 20 7b 20 41 43 53 5f 54 49 4d 45 uint { ACS_TIME
2bd10 52 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f R = 0x0008 }..//
2bd20 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 #endif....enum
2bd30 3a 20 75 69 6e 74 20 7b 20 41 43 4d 5f 4f 50 45 : uint { ACM_OPE
2bd40 4e 41 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 30 NA = WM_USER+100
2bd50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2bd60 7b 20 41 43 4d 5f 4f 50 45 4e 57 20 3d 20 57 4d { ACM_OPENW = WM
2bd70 5f 55 53 45 52 2b 31 30 33 20 7d 0d 0a 0d 0a 2f _USER+103 }..../
2bd80 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 / #ifdef UNICODE
2bd90 0d 0a 61 6c 69 61 73 20 41 43 4d 5f 4f 50 45 4e ..alias ACM_OPEN
2bda0 57 20 41 43 4d 5f 4f 50 45 4e 3b 0d 0a 2f 2f 20 W ACM_OPEN;..//
2bdb0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
2bdc0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 // #endif....enu
2bdd0 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4d 5f 50 m : uint { ACM_P
2bde0 4c 41 59 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 LAY = WM_USER+10
2bdf0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 1 }..enum : uint
2be00 20 7b 20 41 43 4d 5f 53 54 4f 50 20 3d 20 57 4d { ACM_STOP = WM
2be10 5f 55 53 45 52 2b 31 30 32 20 7d 0d 0a 0d 0a 65 _USER+102 }....e
2be20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4e num : uint { ACN
2be30 5f 53 54 41 52 54 20 3d 20 31 20 7d 0d 0a 65 6e _START = 1 }..en
2be40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4e 5f um : uint { ACN_
2be50 53 54 4f 50 20 3d 20 32 20 7d 0d 0a 0d 0a 2f 2f STOP = 2 }....//
2be60 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61 74 65 #define Animate
2be70 5f 43 72 65 61 74 65 28 68 77 6e 64 50 2c 20 69 _Create(hwndP, i
2be80 64 2c 20 64 77 53 74 79 6c 65 2c 20 68 49 6e 73 d, dwStyle, hIns
2be90 74 61 6e 63 65 29 20 43 72 65 61 74 65 57 69 6e tance) CreateWin
2bea0 64 6f 77 28 41 4e 49 4d 41 54 45 5f 43 4c 41 53 dow(ANIMATE_CLAS
2beb0 53 2c 20 4e 55 4c 4c 2c 20 64 77 53 74 79 6c 65 S, NULL, dwStyle
2bec0 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 68 77 , 0, 0, 0, 0, hw
2bed0 6e 64 50 2c 20 28 48 4d 45 4e 55 29 28 69 64 29 ndP, (HMENU)(id)
2bee0 2c 20 68 49 6e 73 74 61 6e 63 65 2c 20 4e 55 4c , hInstance, NUL
2bef0 4c 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 L)....// #define
2bf00 20 41 6e 69 6d 61 74 65 5f 4f 70 65 6e 28 68 77 Animate_Open(hw
2bf10 6e 64 2c 20 73 7a 4e 61 6d 65 29 20 28 42 4f 4f nd, szName) (BOO
2bf20 4c 29 53 4e 44 4d 53 47 28 68 77 6e 64 2c 20 41 L)SNDMSG(hwnd, A
2bf30 43 4d 5f 4f 50 45 4e 2c 20 30 2c 20 28 4c 50 41 CM_OPEN, 0, (LPA
2bf40 52 41 4d 29 28 4c 50 54 53 54 52 29 28 73 7a 4e RAM)(LPTSTR)(szN
2bf50 61 6d 65 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e ame))..// #defin
2bf60 65 20 41 6e 69 6d 61 74 65 5f 4f 70 65 6e 45 78 e Animate_OpenEx
2bf70 28 68 77 6e 64 2c 20 68 49 6e 73 74 2c 20 73 7a (hwnd, hInst, sz
2bf80 4e 61 6d 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d Name) (BOOL)SNDM
2bf90 53 47 28 68 77 6e 64 2c 20 41 43 4d 5f 4f 50 45 SG(hwnd, ACM_OPE
2bfa0 4e 2c 20 28 57 50 41 52 41 4d 29 28 68 49 6e 73 N, (WPARAM)(hIns
2bfb0 74 29 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50 54 t), (LPARAM)(LPT
2bfc0 53 54 52 29 28 73 7a 4e 61 6d 65 29 29 0d 0a 2f STR)(szName))../
2bfd0 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61 74 / #define Animat
2bfe0 65 5f 50 6c 61 79 28 68 77 6e 64 2c 20 66 72 6f e_Play(hwnd, fro
2bff0 6d 2c 20 74 6f 2c 20 72 65 70 29 20 28 42 4f 4f m, to, rep) (BOO
2c000 4c 29 53 4e 44 4d 53 47 28 68 77 6e 64 2c 20 41 L)SNDMSG(hwnd, A
2c010 43 4d 5f 50 4c 41 59 2c 20 28 57 50 41 52 41 4d CM_PLAY, (WPARAM
2c020 29 28 72 65 70 29 2c 20 28 4c 50 41 52 41 4d 29 )(rep), (LPARAM)
2c030 4d 41 4b 45 4c 4f 4e 47 28 66 72 6f 6d 2c 20 74 MAKELONG(from, t
2c040 6f 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 o))..// #define
2c050 41 6e 69 6d 61 74 65 5f 53 74 6f 70 28 68 77 6e Animate_Stop(hwn
2c060 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 d) (BOOL)SNDMSG(
2c070 68 77 6e 64 2c 20 41 43 4d 5f 53 54 4f 50 2c 20 hwnd, ACM_STOP,
2c080 30 2c 20 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 0, 0)..// #defin
2c090 65 20 41 6e 69 6d 61 74 65 5f 43 6c 6f 73 65 28 e Animate_Close(
2c0a0 68 77 6e 64 29 20 41 6e 69 6d 61 74 65 5f 4f 70 hwnd) Animate_Op
2c0b0 65 6e 28 68 77 6e 64 2c 20 4e 55 4c 4c 29 0d 0a en(hwnd, NULL)..
2c0c0 2f 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61 // #define Anima
2c0d0 74 65 5f 53 65 65 6b 28 68 77 6e 64 2c 20 66 72 te_Seek(hwnd, fr
2c0e0 61 6d 65 29 20 41 6e 69 6d 61 74 65 5f 50 6c 61 ame) Animate_Pla
2c0f0 79 28 68 77 6e 64 2c 20 66 72 61 6d 65 2c 20 66 y(hwnd, frame, f
2c100 72 61 6d 65 2c 20 31 29 0d 0a 2f 2f 20 23 65 6e rame, 1)..// #en
2c110 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 dif....// #endif
2c120 20 20 20 20 20 20 2f 2f 20 4e 4f 41 4e 49 4d 41 // NOANIMA
2c130 54 45 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 TE....// #if (_W
2c140 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 IN32_IE >= 0x030
2c150 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 0)....// #ifndef
2c160 20 4e 4f 4d 4f 4e 54 48 43 41 4c 0d 0a 2f 2f 20 NOMONTHCAL..//
2c170 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d #ifdef _WIN32...
2c180 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 4d .const wchar[] M
2c190 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 57 20 3d ONTHCAL_CLASSW =
2c1a0 20 22 53 79 73 4d 6f 6e 74 68 43 61 6c 33 32 22 "SysMonthCal32"
2c1b0 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 ;..const char[]
2c1c0 4d 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 41 20 MONTHCAL_CLASSA
2c1d0 3d 20 22 53 79 73 4d 6f 6e 74 68 43 61 6c 33 32 = "SysMonthCal32
2c1e0 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 ";....// #ifdef
2c1f0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d UNICODE..alias M
2c200 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 57 20 4d ONTHCAL_CLASSW M
2c210 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 3b 0d 0a ONTHCAL_CLASS;..
2c220 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e // #else..// #..
2c230 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
2c240 61 6c 69 61 73 20 44 57 4f 52 44 20 4d 4f 4e 54 alias DWORD MONT
2c250 48 44 41 59 53 54 41 54 45 3b 0d 0a 61 6c 69 61 HDAYSTATE;..alia
2c260 73 20 44 57 4f 52 44 2a 20 4c 50 4d 4f 4e 54 48 s DWORD* LPMONTH
2c270 44 41 59 53 54 41 54 45 3b 0d 0a 0d 0a 65 6e 75 DAYSTATE;....enu
2c280 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 46 m : uint { MCM_F
2c290 49 52 53 54 20 3d 20 30 78 31 30 30 30 20 7d 0d IRST = 0x1000 }.
2c2a0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2c2b0 20 4d 43 4d 5f 47 45 54 43 55 52 53 45 4c 20 3d MCM_GETCURSEL =
2c2c0 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 20 7d MCM_FIRST + 1 }
2c2d0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e ..// #define Mon
2c2e0 74 68 43 61 6c 5f 47 65 74 43 75 72 53 65 6c 28 thCal_GetCurSel(
2c2f0 68 6d 63 2c 20 70 73 74 29 20 28 42 4f 4f 4c 29 hmc, pst) (BOOL)
2c300 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f SNDMSG(hmc, MCM_
2c310 47 45 54 43 55 52 53 45 4c 2c 20 30 2c 20 28 4c GETCURSEL, 0, (L
2c320 50 41 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a PARAM)(pst))....
2c330 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 enum : uint { MC
2c340 4d 5f 53 45 54 43 55 52 53 45 4c 20 3d 20 4d 43 M_SETCURSEL = MC
2c350 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f M_FIRST + 2 }../
2c360 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 / #define MonthC
2c370 61 6c 5f 53 65 74 43 75 72 53 65 6c 28 68 6d 63 al_SetCurSel(hmc
2c380 2c 20 70 73 74 29 20 28 42 4f 4f 4c 29 53 4e 44 , pst) (BOOL)SND
2c390 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45 54 MSG(hmc, MCM_SET
2c3a0 43 55 52 53 45 4c 2c 20 30 2c 20 28 4c 50 41 52 CURSEL, 0, (LPAR
2c3b0 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a 65 6e 75 AM)(pst))....enu
2c3c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47 m : uint { MCM_G
2c3d0 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 20 3d 20 ETMAXSELCOUNT =
2c3e0 4d 43 4d 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d MCM_FIRST + 3 }.
2c3f0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 .// #define Mont
2c400 68 43 61 6c 5f 47 65 74 4d 61 78 53 65 6c 43 6f hCal_GetMaxSelCo
2c410 75 6e 74 28 68 6d 63 29 20 28 44 57 4f 52 44 29 unt(hmc) (DWORD)
2c420 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f SNDMSG(hmc, MCM_
2c430 47 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 2c 20 GETMAXSELCOUNT,
2c440 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 0, 0L)....enum :
2c450 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 4d uint { MCM_SETM
2c460 41 58 53 45 4c 43 4f 55 4e 54 20 3d 20 4d 43 4d AXSELCOUNT = MCM
2c470 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f _FIRST + 4 }..//
2c480 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 #define MonthCa
2c490 6c 5f 53 65 74 4d 61 78 53 65 6c 43 6f 75 6e 74 l_SetMaxSelCount
2c4a0 28 68 6d 63 2c 20 6e 29 20 28 42 4f 4f 4c 29 53 (hmc, n) (BOOL)S
2c4b0 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 NDMSG(hmc, MCM_S
2c4c0 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 2c 20 28 ETMAXSELCOUNT, (
2c4d0 57 50 41 52 41 4d 29 28 6e 29 2c 20 30 4c 29 0d WPARAM)(n), 0L).
2c4e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2c4f0 20 4d 43 4d 5f 47 45 54 53 45 4c 52 41 4e 47 45 MCM_GETSELRANGE
2c500 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 35 = MCM_FIRST + 5
2c510 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d }..// #define M
2c520 6f 6e 74 68 43 61 6c 5f 47 65 74 53 65 6c 52 61 onthCal_GetSelRa
2c530 6e 67 65 28 68 6d 63 2c 20 72 67 73 74 29 20 53 nge(hmc, rgst) S
2c540 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 NDMSG(hmc, MCM_G
2c550 45 54 53 45 4c 52 41 4e 47 45 2c 20 30 2c 20 28 ETSELRANGE, 0, (
2c560 4c 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d 0a LPARAM)(rgst))..
2c570 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2c580 4d 43 4d 5f 53 45 54 53 45 4c 52 41 4e 47 45 20 MCM_SETSELRANGE
2c590 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 36 20 = MCM_FIRST + 6
2c5a0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f }..// #define Mo
2c5b0 6e 74 68 43 61 6c 5f 53 65 74 53 65 6c 52 61 6e nthCal_SetSelRan
2c5c0 67 65 28 68 6d 63 2c 20 72 67 73 74 29 20 53 4e ge(hmc, rgst) SN
2c5d0 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45 DMSG(hmc, MCM_SE
2c5e0 54 53 45 4c 52 41 4e 47 45 2c 20 30 2c 20 28 4c TSELRANGE, 0, (L
2c5f0 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d 0a 0d PARAM)(rgst))...
2c600 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2c610 43 4d 5f 47 45 54 4d 4f 4e 54 48 52 41 4e 47 45 CM_GETMONTHRANGE
2c620 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 37 = MCM_FIRST + 7
2c630 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d }..// #define M
2c640 6f 6e 74 68 43 61 6c 5f 47 65 74 4d 6f 6e 74 68 onthCal_GetMonth
2c650 52 61 6e 67 65 28 68 6d 63 2c 20 67 6d 72 2c 20 Range(hmc, gmr,
2c660 72 67 73 74 29 20 28 44 57 4f 52 44 29 53 4e 44 rgst) (DWORD)SND
2c670 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54 MSG(hmc, MCM_GET
2c680 4d 4f 4e 54 48 52 41 4e 47 45 2c 20 28 57 50 41 MONTHRANGE, (WPA
2c690 52 41 4d 29 28 67 6d 72 29 2c 20 28 4c 50 41 52 RAM)(gmr), (LPAR
2c6a0 41 4d 29 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e AM)(rgst))....en
2c6b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f um : uint { MCM_
2c6c0 53 45 54 44 41 59 53 54 41 54 45 20 3d 20 4d 43 SETDAYSTATE = MC
2c6d0 4d 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a 2f M_FIRST + 8 }../
2c6e0 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 / #define MonthC
2c6f0 61 6c 5f 53 65 74 44 61 79 53 74 61 74 65 28 68 al_SetDayState(h
2c700 6d 63 2c 20 63 62 64 73 2c 20 72 67 64 73 29 20 mc, cbds, rgds)
2c710 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f SNDMSG(hmc, MCM_
2c720 53 45 54 44 41 59 53 54 41 54 45 2c 20 28 57 50 SETDAYSTATE, (WP
2c730 41 52 41 4d 29 28 63 62 64 73 29 2c 20 28 4c 50 ARAM)(cbds), (LP
2c740 41 52 41 4d 29 28 72 67 64 73 29 29 0d 0a 0d 0a ARAM)(rgds))....
2c750 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 enum : uint { MC
2c760 4d 5f 47 45 54 4d 49 4e 52 45 51 52 45 43 54 20 M_GETMINREQRECT
2c770 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 39 20 = MCM_FIRST + 9
2c780 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f }..// #define Mo
2c790 6e 74 68 43 61 6c 5f 47 65 74 4d 69 6e 52 65 71 nthCal_GetMinReq
2c7a0 52 65 63 74 28 68 6d 63 2c 20 70 72 63 29 20 53 Rect(hmc, prc) S
2c7b0 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 NDMSG(hmc, MCM_G
2c7c0 45 54 4d 49 4e 52 45 51 52 45 43 54 2c 20 30 2c ETMINREQRECT, 0,
2c7d0 20 28 4c 50 41 52 41 4d 29 28 70 72 63 29 29 0d (LPARAM)(prc)).
2c7e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2c7f0 20 4d 43 4d 5f 53 45 54 43 4f 4c 4f 52 20 3d 20 MCM_SETCOLOR =
2c800 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 30 20 7d MCM_FIRST + 10 }
2c810 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e ..// #define Mon
2c820 74 68 43 61 6c 5f 53 65 74 43 6f 6c 6f 72 28 68 thCal_SetColor(h
2c830 6d 63 2c 20 69 43 6f 6c 6f 72 2c 20 63 6c 72 29 mc, iColor, clr)
2c840 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d SNDMSG(hmc, MCM
2c850 5f 53 45 54 43 4f 4c 4f 52 2c 20 69 43 6f 6c 6f _SETCOLOR, iColo
2c860 72 2c 20 63 6c 72 29 0d 0a 0d 0a 65 6e 75 6d 20 r, clr)....enum
2c870 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47 45 54 : uint { MCM_GET
2c880 43 4f 4c 4f 52 20 3d 20 4d 43 4d 5f 46 49 52 53 COLOR = MCM_FIRS
2c890 54 20 2b 20 31 31 20 7d 0d 0a 2f 2f 20 23 64 65 T + 11 }..// #de
2c8a0 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 fine MonthCal_Ge
2c8b0 74 43 6f 6c 6f 72 28 68 6d 63 2c 20 69 43 6f 6c tColor(hmc, iCol
2c8c0 6f 72 29 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20 or) SNDMSG(hmc,
2c8d0 4d 43 4d 5f 47 45 54 43 4f 4c 4f 52 2c 20 69 43 MCM_GETCOLOR, iC
2c8e0 6f 6c 6f 72 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d olor, 0)....enum
2c8f0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 53 43 5f 42 : uint { MCSC_B
2c900 41 43 4b 47 52 4f 55 4e 44 20 3d 20 30 20 7d 0d ACKGROUND = 0 }.
2c910 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2c920 43 53 43 5f 54 45 58 54 20 3d 20 31 20 7d 0d 0a CSC_TEXT = 1 }..
2c930 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 enum : uint { MC
2c940 53 43 5f 54 49 54 4c 45 42 4b 20 3d 20 32 20 7d SC_TITLEBK = 2 }
2c950 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2c960 4d 43 53 43 5f 54 49 54 4c 45 54 45 58 54 20 3d MCSC_TITLETEXT =
2c970 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 3 }..enum : uin
2c980 74 20 7b 20 4d 43 53 43 5f 4d 4f 4e 54 48 42 4b t { MCSC_MONTHBK
2c990 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 4 }..enum : u
2c9a0 69 6e 74 20 7b 20 4d 43 53 43 5f 54 52 41 49 4c int { MCSC_TRAIL
2c9b0 49 4e 47 54 45 58 54 20 3d 20 35 20 7d 0d 0a 0d INGTEXT = 5 }...
2c9c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2c9d0 43 4d 5f 53 45 54 54 4f 44 41 59 20 3d 20 4d 43 CM_SETTODAY = MC
2c9e0 4d 5f 46 49 52 53 54 20 2b 20 31 32 20 7d 0d 0a M_FIRST + 12 }..
2c9f0 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 // #define Month
2ca00 43 61 6c 5f 53 65 74 54 6f 64 61 79 28 68 6d 63 Cal_SetToday(hmc
2ca10 2c 20 70 73 74 29 20 53 4e 44 4d 53 47 28 68 6d , pst) SNDMSG(hm
2ca20 63 2c 20 4d 43 4d 5f 53 45 54 54 4f 44 41 59 2c c, MCM_SETTODAY,
2ca30 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 73 74 0, (LPARAM)(pst
2ca40 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ))....enum : uin
2ca50 74 20 7b 20 4d 43 4d 5f 47 45 54 54 4f 44 41 59 t { MCM_GETTODAY
2ca60 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 = MCM_FIRST + 1
2ca70 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 3 }..// #define
2ca80 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 54 6f 64 61 MonthCal_GetToda
2ca90 79 28 68 6d 63 2c 20 70 73 74 29 20 28 42 4f 4f y(hmc, pst) (BOO
2caa0 4c 29 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 L)SNDMSG(hmc, MC
2cab0 4d 5f 47 45 54 54 4f 44 41 59 2c 20 30 2c 20 28 M_GETTODAY, 0, (
2cac0 4c 50 41 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d LPARAM)(pst))...
2cad0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2cae0 43 4d 5f 48 49 54 54 45 53 54 20 3d 20 4d 43 4d CM_HITTEST = MCM
2caf0 5f 46 49 52 53 54 20 2b 20 31 34 20 7d 0d 0a 2f _FIRST + 14 }../
2cb00 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 / #define MonthC
2cb10 61 6c 5f 48 69 74 54 65 73 74 28 68 6d 63 2c 20 al_HitTest(hmc,
2cb20 70 69 6e 66 6f 29 20 53 4e 44 4d 53 47 28 68 6d pinfo) SNDMSG(hm
2cb30 63 2c 20 4d 43 4d 5f 48 49 54 54 45 53 54 2c 20 c, MCM_HITTEST,
2cb40 30 2c 20 28 4c 50 41 52 41 4d 29 28 50 4d 43 48 0, (LPARAM)(PMCH
2cb50 49 54 54 45 53 54 49 4e 46 4f 29 28 70 69 6e 66 ITTESTINFO)(pinf
2cb60 6f 29 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 o))....struct _1
2cb70 35 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 5 {.. UINT cbSi
2cb80 7a 65 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b ze;.. POINT pt;
2cb90 0d 0a 20 20 55 49 4e 54 20 75 48 69 74 3b 0d 0a .. UINT uHit;..
2cba0 20 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b SYSTEMTIME st;
2cbb0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 35 20 4d ..}..alias _15 M
2cbc0 43 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 CHITTESTINFO;..a
2cbd0 6c 69 61 73 20 5f 31 35 2a 20 50 4d 43 48 49 54 lias _15* PMCHIT
2cbe0 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 TESTINFO;....enu
2cbf0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f m : uint { MCHT_
2cc00 54 49 54 4c 45 20 3d 20 30 78 30 30 30 31 30 30 TITLE = 0x000100
2cc10 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
2cc20 74 20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 t { MCHT_CALENDA
2cc30 52 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d R = 0x00020000 }
2cc40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2cc50 4d 43 48 54 5f 54 4f 44 41 59 4c 49 4e 4b 20 3d MCHT_TODAYLINK =
2cc60 20 30 78 30 30 30 33 30 30 30 30 20 7d 0d 0a 0d 0x00030000 }...
2cc70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2cc80 43 48 54 5f 4e 45 58 54 20 3d 20 30 78 30 31 30 CHT_NEXT = 0x010
2cc90 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00000 }..enum :
2cca0 75 69 6e 74 20 7b 20 4d 43 48 54 5f 50 52 45 56 uint { MCHT_PREV
2ccb0 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d 0d = 0x02000000 }.
2ccc0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2ccd0 20 4d 43 48 54 5f 4e 4f 57 48 45 52 45 20 3d 20 MCHT_NOWHERE =
2cce0 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 0x00000000 }....
2ccf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 enum : uint { MC
2cd00 48 54 5f 54 49 54 4c 45 42 4b 20 3d 20 4d 43 48 HT_TITLEBK = MCH
2cd10 54 5f 54 49 54 4c 45 20 7d 0d 0a 65 6e 75 6d 20 T_TITLE }..enum
2cd20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 54 49 : uint { MCHT_TI
2cd30 54 4c 45 4d 4f 4e 54 48 20 3d 20 4d 43 48 54 5f TLEMONTH = MCHT_
2cd40 54 49 54 4c 45 20 7c 20 30 78 30 30 30 31 20 7d TITLE | 0x0001 }
2cd50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2cd60 4d 43 48 54 5f 54 49 54 4c 45 59 45 41 52 20 3d MCHT_TITLEYEAR =
2cd70 20 4d 43 48 54 5f 54 49 54 4c 45 20 7c 20 30 78 MCHT_TITLE | 0x
2cd80 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0002 }..enum : u
2cd90 69 6e 74 20 7b 20 4d 43 48 54 5f 54 49 54 4c 45 int { MCHT_TITLE
2cda0 42 54 4e 4e 45 58 54 20 3d 20 4d 43 48 54 5f 54 BTNNEXT = MCHT_T
2cdb0 49 54 4c 45 20 7c 20 4d 43 48 54 5f 4e 45 58 54 ITLE | MCHT_NEXT
2cdc0 20 7c 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 | 0x0003 }..enu
2cdd0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f m : uint { MCHT_
2cde0 54 49 54 4c 45 42 54 4e 50 52 45 56 20 3d 20 4d TITLEBTNPREV = M
2cdf0 43 48 54 5f 54 49 54 4c 45 20 7c 20 4d 43 48 54 CHT_TITLE | MCHT
2ce00 5f 50 52 45 56 20 7c 20 30 78 30 30 30 33 20 7d _PREV | 0x0003 }
2ce10 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
2ce20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 42 { MCHT_CALENDARB
2ce30 4b 20 3d 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 K = MCHT_CALENDA
2ce40 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 R }..enum : uint
2ce50 20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 { MCHT_CALENDAR
2ce60 44 41 54 45 20 3d 20 4d 43 48 54 5f 43 41 4c 45 DATE = MCHT_CALE
2ce70 4e 44 41 52 20 7c 20 30 78 30 30 30 31 20 7d 0d NDAR | 0x0001 }.
2ce80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2ce90 43 48 54 5f 43 41 4c 45 4e 44 41 52 44 41 54 45 CHT_CALENDARDATE
2cea0 4e 45 58 54 20 3d 20 4d 43 48 54 5f 43 41 4c 45 NEXT = MCHT_CALE
2ceb0 4e 44 41 52 44 41 54 45 20 7c 20 4d 43 48 54 5f NDARDATE | MCHT_
2cec0 4e 45 58 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 NEXT }..enum : u
2ced0 69 6e 74 20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e int { MCHT_CALEN
2cee0 44 41 52 44 41 54 45 50 52 45 56 20 3d 20 4d 43 DARDATEPREV = MC
2cef0 48 54 5f 43 41 4c 45 4e 44 41 52 44 41 54 45 20 HT_CALENDARDATE
2cf00 7c 20 4d 43 48 54 5f 50 52 45 56 20 7d 0d 0a 65 | MCHT_PREV }..e
2cf10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 num : uint { MCH
2cf20 54 5f 43 41 4c 45 4e 44 41 52 44 41 59 20 3d 20 T_CALENDARDAY =
2cf30 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 20 7c 20 MCHT_CALENDAR |
2cf40 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0002 }..enum :
2cf50 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 43 41 4c uint { MCHT_CAL
2cf60 45 4e 44 41 52 57 45 45 4b 4e 55 4d 20 3d 20 4d ENDARWEEKNUM = M
2cf70 43 48 54 5f 43 41 4c 45 4e 44 41 52 20 7c 20 30 CHT_CALENDAR | 0
2cf80 78 30 30 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 x0003 }....enum
2cf90 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 : uint { MCM_SET
2cfa0 46 49 52 53 54 44 41 59 4f 46 57 45 45 4b 20 3d FIRSTDAYOFWEEK =
2cfb0 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 35 20 MCM_FIRST + 15
2cfc0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f }..// #define Mo
2cfd0 6e 74 68 43 61 6c 5f 53 65 74 46 69 72 73 74 44 nthCal_SetFirstD
2cfe0 61 79 4f 66 57 65 65 6b 28 68 6d 63 2c 20 69 44 ayOfWeek(hmc, iD
2cff0 61 79 29 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20 ay) SNDMSG(hmc,
2d000 4d 43 4d 5f 53 45 54 46 49 52 53 54 44 41 59 4f MCM_SETFIRSTDAYO
2d010 46 57 45 45 4b 2c 20 30 2c 20 69 44 61 79 29 0d FWEEK, 0, iDay).
2d020 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2d030 20 4d 43 4d 5f 47 45 54 46 49 52 53 54 44 41 59 MCM_GETFIRSTDAY
2d040 4f 46 57 45 45 4b 20 3d 20 4d 43 4d 5f 46 49 52 OFWEEK = MCM_FIR
2d050 53 54 20 2b 20 31 36 20 7d 0d 0a 2f 2f 20 23 64 ST + 16 }..// #d
2d060 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 efine MonthCal_G
2d070 65 74 46 69 72 73 74 44 61 79 4f 66 57 65 65 6b etFirstDayOfWeek
2d080 28 68 6d 63 29 20 28 44 57 4f 52 44 29 53 4e 44 (hmc) (DWORD)SND
2d090 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54 MSG(hmc, MCM_GET
2d0a0 46 49 52 53 54 44 41 59 4f 46 57 45 45 4b 2c 20 FIRSTDAYOFWEEK,
2d0b0 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0, 0)....enum :
2d0c0 75 69 6e 74 20 7b 20 4d 43 4d 5f 47 45 54 52 41 uint { MCM_GETRA
2d0d0 4e 47 45 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 NGE = MCM_FIRST
2d0e0 2b 20 31 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 17 }..// #defi
2d0f0 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 52 ne MonthCal_GetR
2d100 61 6e 67 65 28 68 6d 63 2c 20 72 67 73 74 29 20 ange(hmc, rgst)
2d110 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 68 6d (DWORD)SNDMSG(hm
2d120 63 2c 20 4d 43 4d 5f 47 45 54 52 41 4e 47 45 2c c, MCM_GETRANGE,
2d130 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 72 67 73 0, (LPARAM)(rgs
2d140 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 t))....enum : ui
2d150 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 52 41 4e 47 nt { MCM_SETRANG
2d160 45 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 E = MCM_FIRST +
2d170 31 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 18 }..// #define
2d180 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74 52 61 6e MonthCal_SetRan
2d190 67 65 28 68 6d 63 2c 20 67 64 2c 20 72 67 73 74 ge(hmc, gd, rgst
2d1a0 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68 ) (BOOL)SNDMSG(h
2d1b0 6d 63 2c 20 4d 43 4d 5f 53 45 54 52 41 4e 47 45 mc, MCM_SETRANGE
2d1c0 2c 20 28 57 50 41 52 41 4d 29 28 67 64 29 2c 20 , (WPARAM)(gd),
2d1d0 28 4c 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d (LPARAM)(rgst)).
2d1e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2d1f0 20 4d 43 4d 5f 47 45 54 4d 4f 4e 54 48 44 45 4c MCM_GETMONTHDEL
2d200 54 41 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b TA = MCM_FIRST +
2d210 20 31 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 19 }..// #defin
2d220 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 4d 6f e MonthCal_GetMo
2d230 6e 74 68 44 65 6c 74 61 28 68 6d 63 29 20 28 69 nthDelta(hmc) (i
2d240 6e 74 29 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d nt)SNDMSG(hmc, M
2d250 43 4d 5f 47 45 54 4d 4f 4e 54 48 44 45 4c 54 41 CM_GETMONTHDELTA
2d260 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 , 0, 0)....enum
2d270 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 : uint { MCM_SET
2d280 4d 4f 4e 54 48 44 45 4c 54 41 20 3d 20 4d 43 4d MONTHDELTA = MCM
2d290 5f 46 49 52 53 54 20 2b 20 32 30 20 7d 0d 0a 2f _FIRST + 20 }../
2d2a0 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 / #define MonthC
2d2b0 61 6c 5f 53 65 74 4d 6f 6e 74 68 44 65 6c 74 61 al_SetMonthDelta
2d2c0 28 68 6d 63 2c 20 6e 29 20 28 69 6e 74 29 53 4e (hmc, n) (int)SN
2d2d0 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45 DMSG(hmc, MCM_SE
2d2e0 54 4d 4f 4e 54 48 44 45 4c 54 41 2c 20 6e 2c 20 TMONTHDELTA, n,
2d2f0 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 0)....enum : uin
2d300 74 20 7b 20 4d 43 4d 5f 47 45 54 4d 41 58 54 4f t { MCM_GETMAXTO
2d310 44 41 59 57 49 44 54 48 20 3d 20 4d 43 4d 5f 46 DAYWIDTH = MCM_F
2d320 49 52 53 54 20 2b 20 32 31 20 7d 0d 0a 2f 2f 20 IRST + 21 }..//
2d330 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c #define MonthCal
2d340 5f 47 65 74 4d 61 78 54 6f 64 61 79 57 69 64 74 _GetMaxTodayWidt
2d350 68 28 68 6d 63 29 20 28 44 57 4f 52 44 29 53 4e h(hmc) (DWORD)SN
2d360 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 DMSG(hmc, MCM_GE
2d370 54 4d 41 58 54 4f 44 41 59 57 49 44 54 48 2c 20 TMAXTODAYWIDTH,
2d380 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 0, 0)....// #if
2d390 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 (_WIN32_IE >= 0x
2d3a0 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 43 43 4d 0400)..alias CCM
2d3b0 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 _SETUNICODEFORMA
2d3c0 54 20 4d 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 T MCM_SETUNICODE
2d3d0 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 FORMAT;..// #def
2d3e0 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74 ine MonthCal_Set
2d3f0 55 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 UnicodeFormat(hw
2d400 6e 64 2c 20 66 55 6e 69 63 6f 64 65 29 20 28 42 nd, fUnicode) (B
2d410 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
2d420 29 2c 20 4d 43 4d 5f 53 45 54 55 4e 49 43 4f 44 ), MCM_SETUNICOD
2d430 45 46 4f 52 4d 41 54 2c 20 28 57 50 41 52 41 4d EFORMAT, (WPARAM
2d440 29 28 66 55 6e 69 63 6f 64 65 29 2c 20 30 29 0d )(fUnicode), 0).
2d450 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 ...alias CCM_GET
2d460 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 4d 43 UNICODEFORMAT MC
2d470 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d M_GETUNICODEFORM
2d480 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 AT;..// #define
2d490 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 55 6e 69 63 MonthCal_GetUnic
2d4a0 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e 64 29 20 odeFormat(hwnd)
2d4b0 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 (BOOL)SNDMSG((hw
2d4c0 6e 64 29 2c 20 4d 43 4d 5f 47 45 54 55 4e 49 43 nd), MCM_GETUNIC
2d4d0 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c 20 30 29 ODEFORMAT, 0, 0)
2d4e0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 ..// #endif....s
2d4f0 74 72 75 63 74 20 74 61 67 4e 4d 53 45 4c 43 48 truct tagNMSELCH
2d500 41 4e 47 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 ANGE {.. NMHDR
2d510 6e 6d 68 64 72 3b 0d 0a 0d 0a 20 20 53 59 53 54 nmhdr;.... SYST
2d520 45 4d 54 49 4d 45 20 73 74 53 65 6c 53 74 61 72 EMTIME stSelStar
2d530 74 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45 t;.. SYSTEMTIME
2d540 20 73 74 53 65 6c 45 6e 64 3b 0d 0a 7d 0d 0a 61 stSelEnd;..}..a
2d550 6c 69 61 73 20 74 61 67 4e 4d 53 45 4c 43 48 41 lias tagNMSELCHA
2d560 4e 47 45 20 4e 4d 53 45 4c 43 48 41 4e 47 45 3b NGE NMSELCHANGE;
2d570 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 53 45 4c ..alias tagNMSEL
2d580 43 48 41 4e 47 45 2a 20 4c 50 4e 4d 53 45 4c 43 CHANGE* LPNMSELC
2d590 48 41 4e 47 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a HANGE;....enum :
2d5a0 20 75 69 6e 74 20 7b 20 4d 43 4e 5f 53 45 4c 43 uint { MCN_SELC
2d5b0 48 41 4e 47 45 20 3d 20 4d 43 4e 5f 46 49 52 53 HANGE = MCN_FIRS
2d5c0 54 20 2b 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 T + 1 }....struc
2d5d0 74 20 74 61 67 4e 4d 44 41 59 53 54 41 54 45 20 t tagNMDAYSTATE
2d5e0 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72 {.. NMHDR nmhdr
2d5f0 3b 0d 0a 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d ;.... SYSTEMTIM
2d600 45 20 73 74 53 74 61 72 74 3b 0d 0a 20 20 69 6e E stStart;.. in
2d610 74 20 63 44 61 79 53 74 61 74 65 3b 0d 0a 20 20 t cDayState;..
2d620 4c 50 4d 4f 4e 54 48 44 41 59 53 54 41 54 45 20 LPMONTHDAYSTATE
2d630 70 72 67 44 61 79 53 74 61 74 65 3b 0d 0a 7d 0d prgDayState;..}.
2d640 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 59 53 .alias tagNMDAYS
2d650 54 41 54 45 20 4e 4d 44 41 59 53 54 41 54 45 3b TATE NMDAYSTATE;
2d660 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 59 ..alias tagNMDAY
2d670 53 54 41 54 45 2a 20 4c 50 4e 4d 44 41 59 53 54 STATE* LPNMDAYST
2d680 41 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 ATE;....enum : u
2d690 69 6e 74 20 7b 20 4d 43 4e 5f 47 45 54 44 41 59 int { MCN_GETDAY
2d6a0 53 54 41 54 45 20 3d 20 4d 43 4e 5f 46 49 52 53 STATE = MCN_FIRS
2d6b0 54 20 2b 20 33 20 7d 0d 0a 0d 0a 61 6c 69 61 73 T + 3 }....alias
2d6c0 20 4e 4d 53 45 4c 43 48 41 4e 47 45 20 4e 4d 53 NMSELCHANGE NMS
2d6d0 45 4c 45 43 54 3b 0d 0a 61 6c 69 61 73 20 4e 4d ELECT;..alias NM
2d6e0 53 45 4c 43 48 41 4e 47 45 2a 20 4c 50 4e 4d 53 SELCHANGE* LPNMS
2d6f0 45 4c 45 43 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a ELECT;....enum :
2d700 20 75 69 6e 74 20 7b 20 4d 43 4e 5f 53 45 4c 45 uint { MCN_SELE
2d710 43 54 20 3d 20 4d 43 4e 5f 46 49 52 53 54 20 2b CT = MCN_FIRST +
2d720 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 4 }....enum : u
2d730 69 6e 74 20 7b 20 4d 43 53 5f 44 41 59 53 54 41 int { MCS_DAYSTA
2d740 54 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 TE = 0x0001 }..e
2d750 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 53 num : uint { MCS
2d760 5f 4d 55 4c 54 49 53 45 4c 45 43 54 20 3d 20 30 _MULTISELECT = 0
2d770 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x0002 }..enum :
2d780 75 69 6e 74 20 7b 20 4d 43 53 5f 57 45 45 4b 4e uint { MCS_WEEKN
2d790 55 4d 42 45 52 53 20 3d 20 30 78 30 30 30 34 20 UMBERS = 0x0004
2d7a0 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 }..// #if (_WIN3
2d7b0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 2_IE >= 0x0400).
2d7c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d .enum : uint { M
2d7d0 43 53 5f 4e 4f 54 4f 44 41 59 43 49 52 43 4c 45 CS_NOTODAYCIRCLE
2d7e0 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 = 0x0008 }..enu
2d7f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 53 5f 4e m : uint { MCS_N
2d800 4f 54 4f 44 41 59 20 3d 20 30 78 30 30 31 30 20 OTODAY = 0x0010
2d810 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 }..// #else..//
2d820 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
2d830 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2d840 20 47 4d 52 5f 56 49 53 49 42 4c 45 20 3d 20 30 GMR_VISIBLE = 0
2d850 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2d860 7b 20 47 4d 52 5f 44 41 59 53 54 41 54 45 20 3d { GMR_DAYSTATE =
2d870 20 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 1 }....// #endi
2d880 66 20 2f 2f 20 5f 57 49 4e 33 32 0d 0a 2f 2f 20 f // _WIN32..//
2d890 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 4d 4f 4e 54 #endif // NOMONT
2d8a0 48 43 41 4c 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 HCAL....// #ifnd
2d8b0 65 66 20 4e 4f 44 41 54 45 54 49 4d 45 50 49 43 ef NODATETIMEPIC
2d8c0 4b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 K..// #ifdef _WI
2d8d0 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68 N32....const wch
2d8e0 61 72 5b 5d 20 44 41 54 45 54 49 4d 45 50 49 43 ar[] DATETIMEPIC
2d8f0 4b 5f 43 4c 41 53 53 57 20 3d 20 22 53 79 73 44 K_CLASSW = "SysD
2d900 61 74 65 54 69 6d 65 50 69 63 6b 33 32 22 3b 0d ateTimePick32";.
2d910 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 44 41 .const char[] DA
2d920 54 45 54 49 4d 45 50 49 43 4b 5f 43 4c 41 53 53 TETIMEPICK_CLASS
2d930 41 20 3d 20 22 53 79 73 44 61 74 65 54 69 6d 65 A = "SysDateTime
2d940 50 69 63 6b 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 Pick32";....// #
2d950 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 ifdef UNICODE..a
2d960 6c 69 61 73 20 44 41 54 45 54 49 4d 45 50 49 43 lias DATETIMEPIC
2d970 4b 5f 43 4c 41 53 53 57 20 44 41 54 45 54 49 4d K_CLASSW DATETIM
2d980 45 50 49 43 4b 5f 43 4c 41 53 53 3b 0d 0a 2f 2f EPICK_CLASS;..//
2d990 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
2d9a0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e .// #endif....en
2d9b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f um : uint { DTM_
2d9c0 46 49 52 53 54 20 3d 20 30 78 31 30 30 30 20 7d FIRST = 0x1000 }
2d9d0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
2d9e0 7b 20 44 54 4d 5f 47 45 54 53 59 53 54 45 4d 54 { DTM_GETSYSTEMT
2d9f0 49 4d 45 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 IME = DTM_FIRST
2da00 2b 20 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e + 1 }..// #defin
2da10 65 20 44 61 74 65 54 69 6d 65 5f 47 65 74 53 79 e DateTime_GetSy
2da20 73 74 65 6d 74 69 6d 65 28 68 64 70 2c 20 70 73 stemtime(hdp, ps
2da30 74 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 t) (DWORD)SNDMSG
2da40 28 68 64 70 2c 20 44 54 4d 5f 47 45 54 53 59 53 (hdp, DTM_GETSYS
2da50 54 45 4d 54 49 4d 45 2c 20 30 2c 20 28 4c 50 41 TEMTIME, 0, (LPA
2da60 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a 65 6e RAM)(pst))....en
2da70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f um : uint { DTM_
2da80 53 45 54 53 59 53 54 45 4d 54 49 4d 45 20 3d 20 SETSYSTEMTIME =
2da90 44 54 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d DTM_FIRST + 2 }.
2daa0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65 .// #define Date
2dab0 54 69 6d 65 5f 53 65 74 53 79 73 74 65 6d 74 69 Time_SetSystemti
2dac0 6d 65 28 68 64 70 2c 20 67 64 2c 20 70 73 74 29 me(hdp, gd, pst)
2dad0 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68 64 (BOOL)SNDMSG(hd
2dae0 70 2c 20 44 54 4d 5f 53 45 54 53 59 53 54 45 4d p, DTM_SETSYSTEM
2daf0 54 49 4d 45 2c 20 28 57 50 41 52 41 4d 29 28 67 TIME, (WPARAM)(g
2db00 64 29 2c 20 28 4c 50 41 52 41 4d 29 28 70 73 74 d), (LPARAM)(pst
2db10 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e ))....enum : uin
2db20 74 20 7b 20 44 54 4d 5f 47 45 54 52 41 4e 47 45 t { DTM_GETRANGE
2db30 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20 33 = DTM_FIRST + 3
2db40 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 }..// #define D
2db50 61 74 65 54 69 6d 65 5f 47 65 74 52 61 6e 67 65 ateTime_GetRange
2db60 28 68 64 70 2c 20 72 67 73 74 29 20 28 44 57 4f (hdp, rgst) (DWO
2db70 52 44 29 53 4e 44 4d 53 47 28 68 64 70 2c 20 44 RD)SNDMSG(hdp, D
2db80 54 4d 5f 47 45 54 52 41 4e 47 45 2c 20 30 2c 20 TM_GETRANGE, 0,
2db90 28 4c 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d (LPARAM)(rgst)).
2dba0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2dbb0 20 44 54 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20 DTM_SETRANGE =
2dbc0 44 54 4d 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d DTM_FIRST + 4 }.
2dbd0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65 .// #define Date
2dbe0 54 69 6d 65 5f 53 65 74 52 61 6e 67 65 28 68 64 Time_SetRange(hd
2dbf0 70 2c 20 67 64 2c 20 72 67 73 74 29 20 28 42 4f p, gd, rgst) (BO
2dc00 4f 4c 29 53 4e 44 4d 53 47 28 68 64 70 2c 20 44 OL)SNDMSG(hdp, D
2dc10 54 4d 5f 53 45 54 52 41 4e 47 45 2c 20 28 57 50 TM_SETRANGE, (WP
2dc20 41 52 41 4d 29 28 67 64 29 2c 20 28 4c 50 41 52 ARAM)(gd), (LPAR
2dc30 41 4d 29 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e AM)(rgst))....en
2dc40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f um : uint { DTM_
2dc50 53 45 54 46 4f 52 4d 41 54 41 20 3d 20 44 54 4d SETFORMATA = DTM
2dc60 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 65 6e _FIRST + 5 }..en
2dc70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f um : uint { DTM_
2dc80 53 45 54 46 4f 52 4d 41 54 57 20 3d 20 44 54 4d SETFORMATW = DTM
2dc90 5f 46 49 52 53 54 20 2b 20 35 30 20 7d 0d 0a 0d _FIRST + 50 }...
2dca0 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
2dcb0 44 45 0d 0a 61 6c 69 61 73 20 44 54 4d 5f 53 45 DE..alias DTM_SE
2dcc0 54 46 4f 52 4d 41 54 57 20 44 54 4d 5f 53 45 54 TFORMATW DTM_SET
2dcd0 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 65 6c 73 FORMAT;..// #els
2dce0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
2dcf0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 endif....// #def
2dd00 69 6e 65 20 44 61 74 65 54 69 6d 65 5f 53 65 74 ine DateTime_Set
2dd10 46 6f 72 6d 61 74 28 68 64 70 2c 20 73 7a 29 20 Format(hdp, sz)
2dd20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68 64 70 (BOOL)SNDMSG(hdp
2dd30 2c 20 44 54 4d 5f 53 45 54 46 4f 52 4d 41 54 2c , DTM_SETFORMAT,
2dd40 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 73 7a 29 0, (LPARAM)(sz)
2dd50 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
2dd60 20 7b 20 44 54 4d 5f 53 45 54 4d 43 43 4f 4c 4f { DTM_SETMCCOLO
2dd70 52 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20 R = DTM_FIRST +
2dd80 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 6 }..// #define
2dd90 44 61 74 65 54 69 6d 65 5f 53 65 74 4d 6f 6e 74 DateTime_SetMont
2dda0 68 43 61 6c 43 6f 6c 6f 72 28 68 64 70 2c 20 69 hCalColor(hdp, i
2ddb0 43 6f 6c 6f 72 2c 20 63 6c 72 29 20 53 4e 44 4d Color, clr) SNDM
2ddc0 53 47 28 68 64 70 2c 20 44 54 4d 5f 53 45 54 4d SG(hdp, DTM_SETM
2ddd0 43 43 4f 4c 4f 52 2c 20 69 43 6f 6c 6f 72 2c 20 CCOLOR, iColor,
2dde0 63 6c 72 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 clr)....enum : u
2ddf0 69 6e 74 20 7b 20 44 54 4d 5f 47 45 54 4d 43 43 int { DTM_GETMCC
2de00 4f 4c 4f 52 20 3d 20 44 54 4d 5f 46 49 52 53 54 OLOR = DTM_FIRST
2de10 20 2b 20 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 7 }..// #defi
2de20 6e 65 20 44 61 74 65 54 69 6d 65 5f 47 65 74 4d ne DateTime_GetM
2de30 6f 6e 74 68 43 61 6c 43 6f 6c 6f 72 28 68 64 70 onthCalColor(hdp
2de40 2c 20 69 43 6f 6c 6f 72 29 20 53 4e 44 4d 53 47 , iColor) SNDMSG
2de50 28 68 64 70 2c 20 44 54 4d 5f 47 45 54 4d 43 43 (hdp, DTM_GETMCC
2de60 4f 4c 4f 52 2c 20 69 43 6f 6c 6f 72 2c 20 30 29 OLOR, iColor, 0)
2de70 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
2de80 7b 20 44 54 4d 5f 47 45 54 4d 4f 4e 54 48 43 41 { DTM_GETMONTHCA
2de90 4c 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20 L = DTM_FIRST +
2dea0 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 8 }..// #define
2deb0 44 61 74 65 54 69 6d 65 5f 47 65 74 4d 6f 6e 74 DateTime_GetMont
2dec0 68 43 61 6c 28 68 64 70 29 20 28 48 57 4e 44 29 hCal(hdp) (HWND)
2ded0 53 4e 44 4d 53 47 28 68 64 70 2c 20 44 54 4d 5f SNDMSG(hdp, DTM_
2dee0 47 45 54 4d 4f 4e 54 48 43 41 4c 2c 20 30 2c 20 GETMONTHCAL, 0,
2def0 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 0)....// #if (_W
2df00 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 IN32_IE >= 0x040
2df10 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 0)....enum : uin
2df20 74 20 7b 20 44 54 4d 5f 53 45 54 4d 43 46 4f 4e t { DTM_SETMCFON
2df30 54 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20 T = DTM_FIRST +
2df40 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 9 }..// #define
2df50 44 61 74 65 54 69 6d 65 5f 53 65 74 4d 6f 6e 74 DateTime_SetMont
2df60 68 43 61 6c 46 6f 6e 74 28 68 64 70 2c 20 68 66 hCalFont(hdp, hf
2df70 6f 6e 74 2c 20 66 52 65 64 72 61 77 29 20 53 4e ont, fRedraw) SN
2df80 44 4d 53 47 28 68 64 70 2c 20 44 54 4d 5f 53 45 DMSG(hdp, DTM_SE
2df90 54 4d 43 46 4f 4e 54 2c 20 28 57 50 41 52 41 4d TMCFONT, (WPARAM
2dfa0 29 28 68 66 6f 6e 74 29 2c 20 28 4c 50 41 52 41 )(hfont), (LPARA
2dfb0 4d 29 28 66 52 65 64 72 61 77 29 29 0d 0a 0d 0a M)(fRedraw))....
2dfc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 enum : uint { DT
2dfd0 4d 5f 47 45 54 4d 43 46 4f 4e 54 20 3d 20 44 54 M_GETMCFONT = DT
2dfe0 4d 5f 46 49 52 53 54 20 2b 20 31 30 20 7d 0d 0a M_FIRST + 10 }..
2dff0 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65 54 // #define DateT
2e000 69 6d 65 5f 47 65 74 4d 6f 6e 74 68 43 61 6c 46 ime_GetMonthCalF
2e010 6f 6e 74 28 68 64 70 29 20 53 4e 44 4d 53 47 28 ont(hdp) SNDMSG(
2e020 68 64 70 2c 20 44 54 4d 5f 47 45 54 4d 43 46 4f hdp, DTM_GETMCFO
2e030 4e 54 2c 20 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 NT, 0, 0)....//
2e040 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f #endif // _
2e050 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 WIN32_IE >= 0x04
2e060 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00....enum : uin
2e070 74 20 7b 20 44 54 53 5f 55 50 44 4f 57 4e 20 3d t { DTS_UPDOWN =
2e080 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
2e090 3a 20 75 69 6e 74 20 7b 20 44 54 53 5f 53 48 4f : uint { DTS_SHO
2e0a0 57 4e 4f 4e 45 20 3d 20 30 78 30 30 30 32 20 7d WNONE = 0x0002 }
2e0b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2e0c0 44 54 53 5f 53 48 4f 52 54 44 41 54 45 46 4f 52 DTS_SHORTDATEFOR
2e0d0 4d 41 54 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a MAT = 0x0000 }..
2e0e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 enum : uint { DT
2e0f0 53 5f 4c 4f 4e 47 44 41 54 45 46 4f 52 4d 41 54 S_LONGDATEFORMAT
2e100 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 = 0x0004 }..//
2e110 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e #if (_WIN32_IE >
2e120 3d 20 30 78 35 30 30 29 0d 0a 65 6e 75 6d 20 3a = 0x500)..enum :
2e130 20 75 69 6e 74 20 7b 20 44 54 53 5f 53 48 4f 52 uint { DTS_SHOR
2e140 54 44 41 54 45 43 45 4e 54 55 52 59 46 4f 52 4d TDATECENTURYFORM
2e150 41 54 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 2f AT = 0x000C }../
2e160 2f 20 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 / #endif // (_WI
2e170 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 N32_IE >= 0x500)
2e180 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2e190 44 54 53 5f 54 49 4d 45 46 4f 52 4d 41 54 20 3d DTS_TIMEFORMAT =
2e1a0 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 0x0009 }..enum
2e1b0 3a 20 75 69 6e 74 20 7b 20 44 54 53 5f 41 50 50 : uint { DTS_APP
2e1c0 43 41 4e 50 41 52 53 45 20 3d 20 30 78 30 30 31 CANPARSE = 0x001
2e1d0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
2e1e0 20 7b 20 44 54 53 5f 52 49 47 48 54 41 4c 49 47 { DTS_RIGHTALIG
2e1f0 4e 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d 0a N = 0x0020 }....
2e200 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 enum : uint { DT
2e210 4e 5f 44 41 54 45 54 49 4d 45 43 48 41 4e 47 45 N_DATETIMECHANGE
2e220 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 31 = DTN_FIRST + 1
2e230 20 7d 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d }..struct tagNM
2e240 44 41 54 45 54 49 4d 45 43 48 41 4e 47 45 20 7b DATETIMECHANGE {
2e250 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72 3b .. NMHDR nmhdr;
2e260 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 .. DWORD dwFlag
2e270 73 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45 s;.. SYSTEMTIME
2e280 20 73 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 st;..}..alias t
2e290 61 67 4e 4d 44 41 54 45 54 49 4d 45 43 48 41 4e agNMDATETIMECHAN
2e2a0 47 45 20 4e 4d 44 41 54 45 54 49 4d 45 43 48 41 GE NMDATETIMECHA
2e2b0 4e 47 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e NGE;..alias tagN
2e2c0 4d 44 41 54 45 54 49 4d 45 43 48 41 4e 47 45 2a MDATETIMECHANGE*
2e2d0 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 43 48 41 LPNMDATETIMECHA
2e2e0 4e 47 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 NGE;....enum : u
2e2f0 69 6e 74 20 7b 20 44 54 4e 5f 55 53 45 52 53 54 int { DTN_USERST
2e300 52 49 4e 47 41 20 3d 20 44 54 4e 5f 46 49 52 53 RINGA = DTN_FIRS
2e310 54 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 T + 2 }..enum :
2e320 75 69 6e 74 20 7b 20 44 54 4e 5f 55 53 45 52 53 uint { DTN_USERS
2e330 54 52 49 4e 47 57 20 3d 20 44 54 4e 5f 46 49 52 TRINGW = DTN_FIR
2e340 53 54 20 2b 20 31 35 20 7d 0d 0a 73 74 72 75 63 ST + 15 }..struc
2e350 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 53 t tagNMDATETIMES
2e360 54 52 49 4e 47 41 20 7b 0d 0a 20 20 4e 4d 48 44 TRINGA {.. NMHD
2e370 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 53 R nmhdr;.. LPCS
2e380 54 52 20 70 73 7a 55 73 65 72 53 74 72 69 6e 67 TR pszUserString
2e390 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45 20 ;.. SYSTEMTIME
2e3a0 73 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 st;.. DWORD dwF
2e3b0 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 lags;..}..alias
2e3c0 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 tagNMDATETIMESTR
2e3d0 49 4e 47 41 20 4e 4d 44 41 54 45 54 49 4d 45 53 INGA NMDATETIMES
2e3e0 54 52 49 4e 47 41 3b 0d 0a 61 6c 69 61 73 20 74 TRINGA;..alias t
2e3f0 61 67 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 agNMDATETIMESTRI
2e400 4e 47 41 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d NGA* LPNMDATETIM
2e410 45 53 54 52 49 4e 47 41 3b 0d 0a 0d 0a 73 74 72 ESTRINGA;....str
2e420 75 63 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d uct tagNMDATETIM
2e430 45 53 54 52 49 4e 47 57 20 7b 0d 0a 20 20 4e 4d ESTRINGW {.. NM
2e440 48 44 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50 HDR nmhdr;.. LP
2e450 43 57 53 54 52 20 70 73 7a 55 73 65 72 53 74 72 CWSTR pszUserStr
2e460 69 6e 67 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 ing;.. SYSTEMTI
2e470 4d 45 20 73 74 3b 0d 0a 20 20 44 57 4f 52 44 20 ME st;.. DWORD
2e480 64 77 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 dwFlags;..}..ali
2e490 61 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 as tagNMDATETIME
2e4a0 53 54 52 49 4e 47 57 20 4e 4d 44 41 54 45 54 49 STRINGW NMDATETI
2e4b0 4d 45 53 54 52 49 4e 47 57 3b 0d 0a 61 6c 69 61 MESTRINGW;..alia
2e4c0 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 53 s tagNMDATETIMES
2e4d0 54 52 49 4e 47 57 2a 20 4c 50 4e 4d 44 41 54 45 TRINGW* LPNMDATE
2e4e0 54 49 4d 45 53 54 52 49 4e 47 57 3b 0d 0a 0d 0a TIMESTRINGW;....
2e4f0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
2e500 45 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 55 53 45 E..alias DTN_USE
2e510 52 53 54 52 49 4e 47 57 20 44 54 4e 5f 55 53 45 RSTRINGW DTN_USE
2e520 52 53 54 52 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 RSTRING;..alias
2e530 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47 NMDATETIMESTRING
2e540 57 20 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 W NMDATETIMESTRI
2e550 4e 47 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 44 NG;..alias LPNMD
2e560 41 54 45 54 49 4d 45 53 54 52 49 4e 47 57 20 4c ATETIMESTRINGW L
2e570 50 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e PNMDATETIMESTRIN
2e580 47 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f G;..// #else..//
2e590 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
2e5a0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
2e5b0 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e if....enum : uin
2e5c0 74 20 7b 20 44 54 4e 5f 57 4d 4b 45 59 44 4f 57 t { DTN_WMKEYDOW
2e5d0 4e 41 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b NA = DTN_FIRST +
2e5e0 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 3 }..enum : uin
2e5f0 74 20 7b 20 44 54 4e 5f 57 4d 4b 45 59 44 4f 57 t { DTN_WMKEYDOW
2e600 4e 57 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b NW = DTN_FIRST +
2e610 20 31 36 20 7d 0d 0a 73 74 72 75 63 74 20 74 61 16 }..struct ta
2e620 67 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 gNMDATETIMEWMKEY
2e630 44 4f 57 4e 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 DOWNA {.. NMHDR
2e640 20 6e 6d 68 64 72 3b 0d 0a 20 20 69 6e 74 20 6e nmhdr;.. int n
2e650 56 69 72 74 4b 65 79 3b 0d 0a 20 20 4c 50 43 53 VirtKey;.. LPCS
2e660 54 52 20 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20 TR pszFormat;..
2e670 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d SYSTEMTIME st;.
2e680 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 .}..alias tagNMD
2e690 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e ATETIMEWMKEYDOWN
2e6a0 41 20 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 A NMDATETIMEWMKE
2e6b0 59 44 4f 57 4e 41 3b 0d 0a 61 6c 69 61 73 20 74 YDOWNA;..alias t
2e6c0 61 67 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 agNMDATETIMEWMKE
2e6d0 59 44 4f 57 4e 41 2a 20 4c 50 4e 4d 44 41 54 45 YDOWNA* LPNMDATE
2e6e0 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 41 3b 0d TIMEWMKEYDOWNA;.
2e6f0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 44 ...struct tagNMD
2e700 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e ATETIMEWMKEYDOWN
2e710 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 W {.. NMHDR nmh
2e720 64 72 3b 0d 0a 20 20 69 6e 74 20 6e 56 69 72 74 dr;.. int nVirt
2e730 4b 65 79 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 Key;.. LPCWSTR
2e740 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 59 pszFormat;.. SY
2e750 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d 0a 7d 0d STEMTIME st;..}.
2e760 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45 .alias tagNMDATE
2e770 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 57 20 4e TIMEWMKEYDOWNW N
2e780 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f MDATETIMEWMKEYDO
2e790 57 4e 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e WNW;..alias tagN
2e7a0 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f MDATETIMEWMKEYDO
2e7b0 57 4e 57 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d WNW* LPNMDATETIM
2e7c0 45 57 4d 4b 45 59 44 4f 57 4e 57 3b 0d 0a 0d 0a EWMKEYDOWNW;....
2e7d0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
2e7e0 45 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 57 4d 4b E..alias DTN_WMK
2e7f0 45 59 44 4f 57 4e 57 20 44 54 4e 5f 57 4d 4b 45 EYDOWNW DTN_WMKE
2e800 59 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4e 4d YDOWN;..alias NM
2e810 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 DATETIMEWMKEYDOW
2e820 4e 57 20 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b NW NMDATETIMEWMK
2e830 45 59 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4c EYDOWN;..alias L
2e840 50 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 PNMDATETIMEWMKEY
2e850 44 4f 57 4e 57 20 4c 50 4e 4d 44 41 54 45 54 49 DOWNW LPNMDATETI
2e860 4d 45 57 4d 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f MEWMKEYDOWN;..//
2e870 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
2e880 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
2e890 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
2e8a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 enum : uint { DT
2e8b0 4e 5f 46 4f 52 4d 41 54 41 20 3d 20 44 54 4e 5f N_FORMATA = DTN_
2e8c0 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 65 6e 75 FIRST + 4 }..enu
2e8d0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4e 5f 46 m : uint { DTN_F
2e8e0 4f 52 4d 41 54 57 20 3d 20 44 54 4e 5f 46 49 52 ORMATW = DTN_FIR
2e8f0 53 54 20 2b 20 31 37 20 7d 0d 0a 73 74 72 75 63 ST + 17 }..struc
2e900 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46 t tagNMDATETIMEF
2e910 4f 52 4d 41 54 41 20 7b 0d 0a 20 20 4e 4d 48 44 ORMATA {.. NMHD
2e920 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 53 R nmhdr;.. LPCS
2e930 54 52 20 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20 TR pszFormat;..
2e940 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d SYSTEMTIME st;.
2e950 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 44 69 73 . LPCSTR pszDis
2e960 70 6c 61 79 3b 0d 0a 20 20 43 48 41 52 20 73 7a play;.. CHAR sz
2e970 44 69 73 70 6c 61 79 5b 36 34 5d 3b 0d 0a 7d 0d Display[64];..}.
2e980 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45 .alias tagNMDATE
2e990 54 49 4d 45 46 4f 52 4d 41 54 41 20 4e 4d 44 41 TIMEFORMATA NMDA
2e9a0 54 45 54 49 4d 45 46 4f 52 4d 41 54 41 3b 0d 0a TETIMEFORMATA;..
2e9b0 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45 54 alias tagNMDATET
2e9c0 49 4d 45 46 4f 52 4d 41 54 41 2a 20 4c 50 4e 4d IMEFORMATA* LPNM
2e9d0 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 41 3b DATETIMEFORMATA;
2e9e0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d ....struct tagNM
2e9f0 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 57 20 DATETIMEFORMATW
2ea00 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72 {.. NMHDR nmhdr
2ea10 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a ;.. LPCWSTR psz
2ea20 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 59 53 54 45 Format;.. SYSTE
2ea30 4d 54 49 4d 45 20 73 74 3b 0d 0a 20 20 4c 50 43 MTIME st;.. LPC
2ea40 57 53 54 52 20 70 73 7a 44 69 73 70 6c 61 79 3b WSTR pszDisplay;
2ea50 0d 0a 20 20 57 43 48 41 52 20 73 7a 44 69 73 70 .. WCHAR szDisp
2ea60 6c 61 79 5b 36 34 5d 3b 0d 0a 7d 0d 0a 61 6c 69 lay[64];..}..ali
2ea70 61 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 as tagNMDATETIME
2ea80 46 4f 52 4d 41 54 57 20 4e 4d 44 41 54 45 54 49 FORMATW NMDATETI
2ea90 4d 45 46 4f 52 4d 41 54 57 3b 0d 0a 61 6c 69 61 MEFORMATW;..alia
2eaa0 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46 s tagNMDATETIMEF
2eab0 4f 52 4d 41 54 57 2a 20 4c 50 4e 4d 44 41 54 45 ORMATW* LPNMDATE
2eac0 54 49 4d 45 46 4f 52 4d 41 54 57 3b 0d 0a 0d 0a TIMEFORMATW;....
2ead0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
2eae0 45 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 46 4f 52 E..alias DTN_FOR
2eaf0 4d 41 54 57 20 44 54 4e 5f 46 4f 52 4d 41 54 3b MATW DTN_FORMAT;
2eb00 0d 0a 61 6c 69 61 73 20 4e 4d 44 41 54 45 54 49 ..alias NMDATETI
2eb10 4d 45 46 4f 52 4d 41 54 57 20 4e 4d 44 41 54 45 MEFORMATW NMDATE
2eb20 54 49 4d 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 TIMEFORMAT;..ali
2eb30 61 73 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 46 as LPNMDATETIMEF
2eb40 4f 52 4d 41 54 57 20 4c 50 4e 4d 44 41 54 45 54 ORMATW LPNMDATET
2eb50 49 4d 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 IMEFORMAT;..// #
2eb60 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f else..// #...../
2eb70 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
2eb80 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e .// #endif....en
2eb90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4e 5f um : uint { DTN_
2eba0 46 4f 52 4d 41 54 51 55 45 52 59 41 20 3d 20 44 FORMATQUERYA = D
2ebb0 54 4e 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a TN_FIRST + 5 }..
2ebc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 enum : uint { DT
2ebd0 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59 57 20 3d N_FORMATQUERYW =
2ebe0 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 31 38 20 DTN_FIRST + 18
2ebf0 7d 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 44 }..struct tagNMD
2ec00 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 ATETIMEFORMATQUE
2ec10 52 59 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e RYA {.. NMHDR n
2ec20 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 53 54 52 20 mhdr;.. LPCSTR
2ec30 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 49 pszFormat;.. SI
2ec40 5a 45 20 73 7a 4d 61 78 3b 0d 0a 7d 0d 0a 61 6c ZE szMax;..}..al
2ec50 69 61 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d ias tagNMDATETIM
2ec60 45 46 4f 52 4d 41 54 51 55 45 52 59 41 20 4e 4d EFORMATQUERYA NM
2ec70 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 55 DATETIMEFORMATQU
2ec80 45 52 59 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 ERYA;..alias tag
2ec90 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 NMDATETIMEFORMAT
2eca0 51 55 45 52 59 41 2a 20 4c 50 4e 4d 44 41 54 45 QUERYA* LPNMDATE
2ecb0 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 41 TIMEFORMATQUERYA
2ecc0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e ;....struct tagN
2ecd0 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 MDATETIMEFORMATQ
2ece0 55 45 52 59 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 UERYW {.. NMHDR
2ecf0 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 57 53 nmhdr;.. LPCWS
2ed00 54 52 20 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20 TR pszFormat;..
2ed10 20 53 49 5a 45 20 73 7a 4d 61 78 3b 0d 0a 7d 0d SIZE szMax;..}.
2ed20 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45 .alias tagNMDATE
2ed30 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 57 TIMEFORMATQUERYW
2ed40 20 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 NMDATETIMEFORMA
2ed50 54 51 55 45 52 59 57 3b 0d 0a 61 6c 69 61 73 20 TQUERYW;..alias
2ed60 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 tagNMDATETIMEFOR
2ed70 4d 41 54 51 55 45 52 59 57 2a 20 4c 50 4e 4d 44 MATQUERYW* LPNMD
2ed80 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 ATETIMEFORMATQUE
2ed90 52 59 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 RYW;....// #ifde
2eda0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
2edb0 20 44 54 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59 DTN_FORMATQUERY
2edc0 57 20 44 54 4e 5f 46 4f 52 4d 41 54 51 55 45 52 W DTN_FORMATQUER
2edd0 59 3b 0d 0a 61 6c 69 61 73 20 4e 4d 44 41 54 45 Y;..alias NMDATE
2ede0 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 57 TIMEFORMATQUERYW
2edf0 20 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 NMDATETIMEFORMA
2ee00 54 51 55 45 52 59 3b 0d 0a 61 6c 69 61 73 20 4c TQUERY;..alias L
2ee10 50 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 PNMDATETIMEFORMA
2ee20 54 51 55 45 52 59 57 20 4c 50 4e 4d 44 41 54 45 TQUERYW LPNMDATE
2ee30 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 3b TIMEFORMATQUERY;
2ee40 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
2ee50 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
2ee60 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
2ee70 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
2ee80 7b 20 44 54 4e 5f 44 52 4f 50 44 4f 57 4e 20 3d { DTN_DROPDOWN =
2ee90 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 36 20 7d DTN_FIRST + 6 }
2eea0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2eeb0 44 54 4e 5f 43 4c 4f 53 45 55 50 20 3d 20 44 54 DTN_CLOSEUP = DT
2eec0 4e 5f 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 0d N_FIRST + 7 }...
2eed0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 .enum : uint { G
2eee0 44 54 52 5f 4d 49 4e 20 3d 20 30 78 30 30 30 31 DTR_MIN = 0x0001
2eef0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2ef00 7b 20 47 44 54 52 5f 4d 41 58 20 3d 20 30 78 30 { GDTR_MAX = 0x0
2ef10 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 002 }....enum {
2ef20 47 44 54 5f 45 52 52 4f 52 20 3d 20 2d 31 20 7d GDT_ERROR = -1 }
2ef30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2ef40 47 44 54 5f 56 41 4c 49 44 20 3d 20 30 20 7d 0d GDT_VALID = 0 }.
2ef50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 .enum : uint { G
2ef60 44 54 5f 4e 4f 4e 45 20 3d 20 31 20 7d 0d 0a 0d DT_NONE = 1 }...
2ef70 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 5f 57 .// #endif // _W
2ef80 49 4e 33 32 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 IN32..// #endif
2ef90 2f 2f 20 4e 4f 44 41 54 45 54 49 4d 45 50 49 43 // NODATETIMEPIC
2efa0 4b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 K....// #if (_WI
2efb0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
2efc0 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 )....// #ifndef
2efd0 4e 4f 49 50 41 44 44 52 45 53 53 0d 0a 0d 0a 65 NOIPADDRESS....e
2efe0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 4d num : uint { IPM
2eff0 5f 43 4c 45 41 52 41 44 44 52 45 53 53 20 3d 20 _CLEARADDRESS =
2f000 57 4d 5f 55 53 45 52 2b 31 30 30 20 7d 0d 0a 65 WM_USER+100 }..e
2f010 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 4d num : uint { IPM
2f020 5f 53 45 54 41 44 44 52 45 53 53 20 3d 20 57 4d _SETADDRESS = WM
2f030 5f 55 53 45 52 2b 31 30 31 20 7d 0d 0a 65 6e 75 _USER+101 }..enu
2f040 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 4d 5f 47 m : uint { IPM_G
2f050 45 54 41 44 44 52 45 53 53 20 3d 20 57 4d 5f 55 ETADDRESS = WM_U
2f060 53 45 52 2b 31 30 32 20 7d 0d 0a 65 6e 75 6d 20 SER+102 }..enum
2f070 3a 20 75 69 6e 74 20 7b 20 49 50 4d 5f 53 45 54 : uint { IPM_SET
2f080 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45 52 2b RANGE = WM_USER+
2f090 31 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 103 }..enum : ui
2f0a0 6e 74 20 7b 20 49 50 4d 5f 53 45 54 46 4f 43 55 nt { IPM_SETFOCU
2f0b0 53 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 34 20 S = WM_USER+104
2f0c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
2f0d0 20 49 50 4d 5f 49 53 42 4c 41 4e 4b 20 3d 20 57 IPM_ISBLANK = W
2f0e0 4d 5f 55 53 45 52 2b 31 30 35 20 7d 0d 0a 0d 0a M_USER+105 }....
2f0f0 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43 const wchar[] WC
2f100 5f 49 50 41 44 44 52 45 53 53 57 20 3d 20 22 53 _IPADDRESSW = "S
2f110 79 73 49 50 41 64 64 72 65 73 73 33 32 22 3b 0d ysIPAddress32";.
2f120 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57 43 .const char[] WC
2f130 5f 49 50 41 44 44 52 45 53 53 41 20 3d 20 22 53 _IPADDRESSA = "S
2f140 79 73 49 50 41 64 64 72 65 73 73 33 32 22 3b 0d ysIPAddress32";.
2f150 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 ...// #ifdef UNI
2f160 43 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 49 CODE..alias WC_I
2f170 50 41 44 44 52 45 53 53 57 20 57 43 5f 49 50 41 PADDRESSW WC_IPA
2f180 44 44 52 45 53 53 3b 0d 0a 2f 2f 20 23 65 6c 73 DDRESS;..// #els
2f190 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
2f1a0 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 endif....enum :
2f1b0 75 69 6e 74 20 7b 20 49 50 4e 5f 46 49 45 4c 44 uint { IPN_FIELD
2f1c0 43 48 41 4e 47 45 44 20 3d 20 49 50 4e 5f 46 49 CHANGED = IPN_FI
2f1d0 52 53 54 20 2d 20 30 20 7d 0d 0a 73 74 72 75 63 RST - 0 }..struc
2f1e0 74 20 74 61 67 4e 4d 49 50 41 44 44 52 45 53 53 t tagNMIPADDRESS
2f1f0 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b {.. NMHDR hdr;
2f200 0d 0a 20 20 69 6e 74 20 69 46 69 65 6c 64 3b 0d .. int iField;.
2f210 0a 20 20 69 6e 74 20 69 56 61 6c 75 65 3b 0d 0a . int iValue;..
2f220 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 49 50 }..alias tagNMIP
2f230 41 44 44 52 45 53 53 20 4e 4d 49 50 41 44 44 52 ADDRESS NMIPADDR
2f240 45 53 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e ESS;..alias tagN
2f250 4d 49 50 41 44 44 52 45 53 53 2a 20 4c 50 4e 4d MIPADDRESS* LPNM
2f260 49 50 41 44 44 52 45 53 53 3b 0d 0a 0d 0a 2f 2f IPADDRESS;....//
2f270 20 23 64 65 66 69 6e 65 20 4d 41 4b 45 49 50 52 #define MAKEIPR
2f280 41 4e 47 45 28 6c 6f 77 2c 20 68 69 67 68 29 20 ANGE(low, high)
2f290 28 28 4c 50 41 52 41 4d 29 28 57 4f 52 44 29 28 ((LPARAM)(WORD)(
2f2a0 28 28 42 59 54 45 29 28 68 69 67 68 29 20 3c 3c ((BYTE)(high) <<
2f2b0 20 38 29 20 2b 20 28 42 59 54 45 29 28 6c 6f 77 8) + (BYTE)(low
2f2c0 29 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e )))....// #defin
2f2d0 65 20 4d 41 4b 45 49 50 41 44 44 52 45 53 53 28 e MAKEIPADDRESS(
2f2e0 62 31 2c 62 32 2c 62 33 2c 62 34 29 20 28 28 4c b1,b2,b3,b4) ((L
2f2f0 50 41 52 41 4d 29 28 28 28 44 57 4f 52 44 29 28 PARAM)(((DWORD)(
2f300 62 31 29 3c 3c 32 34 29 2b 28 28 44 57 4f 52 44 b1)<<24)+((DWORD
2f310 29 28 62 32 29 3c 3c 31 36 29 2b 28 28 44 57 4f )(b2)<<16)+((DWO
2f320 52 44 29 28 62 33 29 3c 3c 38 29 2b 28 28 44 57 RD)(b3)<<8)+((DW
2f330 4f 52 44 29 28 62 34 29 29 29 29 0d 0a 0d 0a 2f ORD)(b4))))..../
2f340 2f 20 23 64 65 66 69 6e 65 20 46 49 52 53 54 5f / #define FIRST_
2f350 49 50 41 44 44 52 45 53 53 28 78 29 20 28 28 78 IPADDRESS(x) ((x
2f360 3e 3e 32 34 29 20 26 20 30 78 66 66 29 0d 0a 2f >>24) & 0xff)../
2f370 2f 20 23 64 65 66 69 6e 65 20 53 45 43 4f 4e 44 / #define SECOND
2f380 5f 49 50 41 44 44 52 45 53 53 28 78 29 20 28 28 _IPADDRESS(x) ((
2f390 78 3e 3e 31 36 29 20 26 20 30 78 66 66 29 0d 0a x>>16) & 0xff)..
2f3a0 2f 2f 20 23 64 65 66 69 6e 65 20 54 48 49 52 44 // #define THIRD
2f3b0 5f 49 50 41 44 44 52 45 53 53 28 78 29 20 28 28 _IPADDRESS(x) ((
2f3c0 78 3e 3e 38 29 20 26 20 30 78 66 66 29 0d 0a 2f x>>8) & 0xff)../
2f3d0 2f 20 23 64 65 66 69 6e 65 20 46 4f 55 52 54 48 / #define FOURTH
2f3e0 5f 49 50 41 44 44 52 45 53 53 28 78 29 20 28 78 _IPADDRESS(x) (x
2f3f0 20 26 20 30 78 66 66 29 0d 0a 0d 0a 2f 2f 20 23 & 0xff)....// #
2f400 65 6e 64 69 66 20 2f 2f 20 4e 4f 49 50 41 44 44 endif // NOIPADD
2f410 52 45 53 53 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 RESS....// #ifnd
2f420 65 66 20 4e 4f 50 41 47 45 53 43 52 4f 4c 4c 45 ef NOPAGESCROLLE
2f430 52 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 R....const wchar
2f440 5b 5d 20 57 43 5f 50 41 47 45 53 43 52 4f 4c 4c [] WC_PAGESCROLL
2f450 45 52 57 20 3d 20 22 53 79 73 50 61 67 65 72 22 ERW = "SysPager"
2f460 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 ;..const char[]
2f470 57 43 5f 50 41 47 45 53 43 52 4f 4c 4c 45 52 41 WC_PAGESCROLLERA
2f480 20 3d 20 22 53 79 73 50 61 67 65 72 22 3b 0d 0a = "SysPager";..
2f490 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 ..// #ifdef UNIC
2f4a0 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 50 41 ODE..alias WC_PA
2f4b0 47 45 53 43 52 4f 4c 4c 45 52 57 20 57 43 5f 50 GESCROLLERW WC_P
2f4c0 41 47 45 53 43 52 4f 4c 4c 45 52 3b 0d 0a 2f 2f AGESCROLLER;..//
2f4d0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d #else..// #....
2f4e0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e .// #endif....en
2f4f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 53 5f um : uint { PGS_
2f500 56 45 52 54 20 3d 20 30 78 30 30 30 30 30 30 30 VERT = 0x0000000
2f510 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
2f520 20 7b 20 50 47 53 5f 48 4f 52 5a 20 3d 20 30 78 { PGS_HORZ = 0x
2f530 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 00000001 }..enum
2f540 20 3a 20 75 69 6e 74 20 7b 20 50 47 53 5f 41 55 : uint { PGS_AU
2f550 54 4f 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 30 TOSCROLL = 0x000
2f560 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00002 }..enum :
2f570 75 69 6e 74 20 7b 20 50 47 53 5f 44 52 41 47 4e uint { PGS_DRAGN
2f580 44 52 4f 50 20 3d 20 30 78 30 30 30 30 30 30 30 DROP = 0x0000000
2f590 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 4 }....enum : ui
2f5a0 6e 74 20 7b 20 50 47 46 5f 49 4e 56 49 53 49 42 nt { PGF_INVISIB
2f5b0 4c 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a LE = 0 }..enum :
2f5c0 20 75 69 6e 74 20 7b 20 50 47 46 5f 4e 4f 52 4d uint { PGF_NORM
2f5d0 41 4c 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a AL = 1 }..enum :
2f5e0 20 75 69 6e 74 20 7b 20 50 47 46 5f 47 52 41 59 uint { PGF_GRAY
2f5f0 45 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a ED = 2 }..enum :
2f600 20 75 69 6e 74 20 7b 20 50 47 46 5f 44 45 50 52 uint { PGF_DEPR
2f610 45 53 53 45 44 20 3d 20 34 20 7d 0d 0a 65 6e 75 ESSED = 4 }..enu
2f620 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f 48 m : uint { PGF_H
2f630 4f 54 20 3d 20 38 20 7d 0d 0a 0d 0a 65 6e 75 6d OT = 8 }....enum
2f640 20 3a 20 75 69 6e 74 20 7b 20 50 47 42 5f 54 4f : uint { PGB_TO
2f650 50 4f 52 4c 45 46 54 20 3d 20 30 20 7d 0d 0a 65 PORLEFT = 0 }..e
2f660 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 42 num : uint { PGB
2f670 5f 42 4f 54 54 4f 4d 4f 52 52 49 47 48 54 20 3d _BOTTOMORRIGHT =
2f680 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 1 }....enum : u
2f690 69 6e 74 20 7b 20 50 47 4d 5f 53 45 54 43 48 49 int { PGM_SETCHI
2f6a0 4c 44 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b LD = PGM_FIRST +
2f6b0 20 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 1 }..// #define
2f6c0 20 50 61 67 65 72 5f 53 65 74 43 68 69 6c 64 28 Pager_SetChild(
2f6d0 68 77 6e 64 2c 20 68 77 6e 64 43 68 69 6c 64 29 hwnd, hwndChild)
2f6e0 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68 (void)SNDMSG((h
2f6f0 77 6e 64 29 2c 20 50 47 4d 5f 53 45 54 43 48 49 wnd), PGM_SETCHI
2f700 4c 44 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 LD, 0, (LPARAM)(
2f710 68 77 6e 64 43 68 69 6c 64 29 29 0d 0a 0d 0a 65 hwndChild))....e
2f720 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d num : uint { PGM
2f730 5f 52 45 43 41 4c 43 53 49 5a 45 20 3d 20 50 47 _RECALCSIZE = PG
2f740 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f M_FIRST + 2 }../
2f750 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f / #define Pager_
2f760 52 65 63 61 6c 63 53 69 7a 65 28 68 77 6e 64 29 RecalcSize(hwnd)
2f770 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68 (void)SNDMSG((h
2f780 77 6e 64 29 2c 20 50 47 4d 5f 52 45 43 41 4c 43 wnd), PGM_RECALC
2f790 53 49 5a 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 SIZE, 0, 0)....e
2f7a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d num : uint { PGM
2f7b0 5f 46 4f 52 57 41 52 44 4d 4f 55 53 45 20 3d 20 _FORWARDMOUSE =
2f7c0 50 47 4d 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d PGM_FIRST + 3 }.
2f7d0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 .// #define Page
2f7e0 72 5f 46 6f 72 77 61 72 64 4d 6f 75 73 65 28 68 r_ForwardMouse(h
2f7f0 77 6e 64 2c 20 62 46 6f 72 77 61 72 64 29 20 28 wnd, bForward) (
2f800 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68 77 6e void)SNDMSG((hwn
2f810 64 29 2c 20 50 47 4d 5f 46 4f 52 57 41 52 44 4d d), PGM_FORWARDM
2f820 4f 55 53 45 2c 20 28 57 50 41 52 41 4d 29 28 62 OUSE, (WPARAM)(b
2f830 46 6f 72 77 61 72 64 29 2c 20 30 29 0d 0a 0d 0a Forward), 0)....
2f840 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 enum : uint { PG
2f850 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 50 M_SETBKCOLOR = P
2f860 47 4d 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a GM_FIRST + 4 }..
2f870 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72 // #define Pager
2f880 5f 53 65 74 42 6b 43 6f 6c 6f 72 28 68 77 6e 64 _SetBkColor(hwnd
2f890 2c 20 63 6c 72 29 20 28 43 4f 4c 4f 52 52 45 46 , clr) (COLORREF
2f8a0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
2f8b0 50 47 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 2c 20 PGM_SETBKCOLOR,
2f8c0 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c 72 29 0, (LPARAM)(clr)
2f8d0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
2f8e0 20 7b 20 50 47 4d 5f 47 45 54 42 4b 43 4f 4c 4f { PGM_GETBKCOLO
2f8f0 52 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b 20 R = PGM_FIRST +
2f900 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5 }..// #define
2f910 50 61 67 65 72 5f 47 65 74 42 6b 43 6f 6c 6f 72 Pager_GetBkColor
2f920 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52 45 46 (hwnd) (COLORREF
2f930 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 )SNDMSG((hwnd),
2f940 50 47 4d 5f 47 45 54 42 4b 43 4f 4c 4f 52 2c 20 PGM_GETBKCOLOR,
2f950 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0, 0)....enum :
2f960 75 69 6e 74 20 7b 20 50 47 4d 5f 53 45 54 42 4f uint { PGM_SETBO
2f970 52 44 45 52 20 3d 20 50 47 4d 5f 46 49 52 53 54 RDER = PGM_FIRST
2f980 20 2b 20 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 + 6 }..// #defi
2f990 6e 65 20 50 61 67 65 72 5f 53 65 74 42 6f 72 64 ne Pager_SetBord
2f9a0 65 72 28 68 77 6e 64 2c 20 69 42 6f 72 64 65 72 er(hwnd, iBorder
2f9b0 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 ) (int)SNDMSG((h
2f9c0 77 6e 64 29 2c 20 50 47 4d 5f 53 45 54 42 4f 52 wnd), PGM_SETBOR
2f9d0 44 45 52 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 DER, 0, (LPARAM)
2f9e0 28 69 42 6f 72 64 65 72 29 29 0d 0a 0d 0a 65 6e (iBorder))....en
2f9f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d 5f um : uint { PGM_
2fa00 47 45 54 42 4f 52 44 45 52 20 3d 20 50 47 4d 5f GETBORDER = PGM_
2fa10 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 2f 2f 20 FIRST + 7 }..//
2fa20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47 65 #define Pager_Ge
2fa30 74 42 6f 72 64 65 72 28 68 77 6e 64 29 20 28 69 tBorder(hwnd) (i
2fa40 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 nt)SNDMSG((hwnd)
2fa50 2c 20 50 47 4d 5f 47 45 54 42 4f 52 44 45 52 2c , PGM_GETBORDER,
2fa60 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 0, 0)....enum :
2fa70 20 75 69 6e 74 20 7b 20 50 47 4d 5f 53 45 54 50 uint { PGM_SETP
2fa80 4f 53 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b OS = PGM_FIRST +
2fa90 20 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 8 }..// #define
2faa0 20 50 61 67 65 72 5f 53 65 74 50 6f 73 28 68 77 Pager_SetPos(hw
2fab0 6e 64 2c 20 69 50 6f 73 29 20 28 69 6e 74 29 53 nd, iPos) (int)S
2fac0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47 NDMSG((hwnd), PG
2fad0 4d 5f 53 45 54 50 4f 53 2c 20 30 2c 20 28 4c 50 M_SETPOS, 0, (LP
2fae0 41 52 41 4d 29 28 69 50 6f 73 29 29 0d 0a 0d 0a ARAM)(iPos))....
2faf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 enum : uint { PG
2fb00 4d 5f 47 45 54 50 4f 53 20 3d 20 50 47 4d 5f 46 M_GETPOS = PGM_F
2fb10 49 52 53 54 20 2b 20 39 20 7d 0d 0a 2f 2f 20 23 IRST + 9 }..// #
2fb20 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47 65 74 define Pager_Get
2fb30 50 6f 73 28 68 77 6e 64 29 20 28 69 6e 74 29 53 Pos(hwnd) (int)S
2fb40 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47 NDMSG((hwnd), PG
2fb50 4d 5f 47 45 54 50 4f 53 2c 20 30 2c 20 30 29 0d M_GETPOS, 0, 0).
2fb60 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b ...enum : uint {
2fb70 20 50 47 4d 5f 53 45 54 42 55 54 54 4f 4e 53 49 PGM_SETBUTTONSI
2fb80 5a 45 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b ZE = PGM_FIRST +
2fb90 20 31 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 10 }..// #defin
2fba0 65 20 50 61 67 65 72 5f 53 65 74 42 75 74 74 6f e Pager_SetButto
2fbb0 6e 53 69 7a 65 28 68 77 6e 64 2c 20 69 53 69 7a nSize(hwnd, iSiz
2fbc0 65 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 e) (int)SNDMSG((
2fbd0 68 77 6e 64 29 2c 20 50 47 4d 5f 53 45 54 42 55 hwnd), PGM_SETBU
2fbe0 54 54 4f 4e 53 49 5a 45 2c 20 30 2c 20 28 4c 50 TTONSIZE, 0, (LP
2fbf0 41 52 41 4d 29 28 69 53 69 7a 65 29 29 0d 0a 0d ARAM)(iSize))...
2fc00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
2fc10 47 4d 5f 47 45 54 42 55 54 54 4f 4e 53 49 5a 45 GM_GETBUTTONSIZE
2fc20 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b 20 31 = PGM_FIRST + 1
2fc30 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 1 }..// #define
2fc40 50 61 67 65 72 5f 47 65 74 42 75 74 74 6f 6e 53 Pager_GetButtonS
2fc50 69 7a 65 28 68 77 6e 64 29 20 28 69 6e 74 29 53 ize(hwnd) (int)S
2fc60 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47 NDMSG((hwnd), PG
2fc70 4d 5f 47 45 54 42 55 54 54 4f 4e 53 49 5a 45 2c M_GETBUTTONSIZE,
2fc80 20 30 2c 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 0,0)....enum :
2fc90 75 69 6e 74 20 7b 20 50 47 4d 5f 47 45 54 42 55 uint { PGM_GETBU
2fca0 54 54 4f 4e 53 54 41 54 45 20 3d 20 50 47 4d 5f TTONSTATE = PGM_
2fcb0 46 49 52 53 54 20 2b 20 31 32 20 7d 0d 0a 2f 2f FIRST + 12 }..//
2fcc0 20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47 #define Pager_G
2fcd0 65 74 42 75 74 74 6f 6e 53 74 61 74 65 28 68 77 etButtonState(hw
2fce0 6e 64 2c 20 69 42 75 74 74 6f 6e 29 20 28 44 57 nd, iButton) (DW
2fcf0 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 ORD)SNDMSG((hwnd
2fd00 29 2c 20 50 47 4d 5f 47 45 54 42 55 54 54 4f 4e ), PGM_GETBUTTON
2fd10 53 54 41 54 45 2c 20 30 2c 20 28 4c 50 41 52 41 STATE, 0, (LPARA
2fd20 4d 29 28 69 42 75 74 74 6f 6e 29 29 0d 0a 0d 0a M)(iButton))....
2fd30 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 44 52 4f alias CCM_GETDRO
2fd40 50 54 41 52 47 45 54 20 50 47 4d 5f 47 45 54 44 PTARGET PGM_GETD
2fd50 52 4f 50 54 41 52 47 45 54 3b 0d 0a 2f 2f 20 23 ROPTARGET;..// #
2fd60 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47 65 74 define Pager_Get
2fd70 44 72 6f 70 54 61 72 67 65 74 28 68 77 6e 64 2c DropTarget(hwnd,
2fd80 20 70 70 64 74 29 20 28 76 6f 69 64 29 53 4e 44 ppdt) (void)SND
2fd90 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47 4d 5f MSG((hwnd), PGM_
2fda0 47 45 54 44 52 4f 50 54 41 52 47 45 54 2c 20 30 GETDROPTARGET, 0
2fdb0 2c 20 28 4c 50 41 52 41 4d 29 28 70 70 64 74 29 , (LPARAM)(ppdt)
2fdc0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 )....enum : uint
2fdd0 20 7b 20 50 47 4e 5f 53 43 52 4f 4c 4c 20 3d 20 { PGN_SCROLL =
2fde0 50 47 4e 5f 46 49 52 53 54 2d 31 20 7d 0d 0a 0d PGN_FIRST-1 }...
2fdf0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
2fe00 47 46 5f 53 43 52 4f 4c 4c 55 50 20 3d 20 31 20 GF_SCROLLUP = 1
2fe10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
2fe20 20 50 47 46 5f 53 43 52 4f 4c 4c 44 4f 57 4e 20 PGF_SCROLLDOWN
2fe30 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 = 2 }..enum : ui
2fe40 6e 74 20 7b 20 50 47 46 5f 53 43 52 4f 4c 4c 4c nt { PGF_SCROLLL
2fe50 45 46 54 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 EFT = 4 }..enum
2fe60 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f 53 43 52 : uint { PGF_SCR
2fe70 4f 4c 4c 52 49 47 48 54 20 3d 20 38 20 7d 0d 0a OLLRIGHT = 8 }..
2fe80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2fe90 50 47 4b 5f 53 48 49 46 54 20 3d 20 31 20 7d 0d PGK_SHIFT = 1 }.
2fea0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
2feb0 47 4b 5f 43 4f 4e 54 52 4f 4c 20 3d 20 32 20 7d GK_CONTROL = 2 }
2fec0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2fed0 50 47 4b 5f 4d 45 4e 55 20 3d 20 34 20 7d 0d 0a PGK_MENU = 4 }..
2fee0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e ..// #ifdef _WIN
2fef0 33 32 0d 0a 61 6c 69 67 6e 28 31 29 3a 0d 0a 2f 32..align(1):../
2ff00 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 / #endif....stru
2ff10 63 74 20 5f 31 36 20 7b 0d 0a 20 20 4e 4d 48 44 ct _16 {.. NMHD
2ff20 52 20 68 64 72 3b 0d 0a 20 20 57 4f 52 44 20 66 R hdr;.. WORD f
2ff30 77 4b 65 79 73 3b 0d 0a 20 20 52 45 43 54 20 72 wKeys;.. RECT r
2ff40 63 50 61 72 65 6e 74 3b 0d 0a 20 20 69 6e 74 20 cParent;.. int
2ff50 69 44 69 72 3b 0d 0a 20 20 69 6e 74 20 69 58 70 iDir;.. int iXp
2ff60 6f 73 3b 0d 0a 20 20 69 6e 74 20 69 59 70 6f 73 os;.. int iYpos
2ff70 3b 0d 0a 20 20 69 6e 74 20 69 53 63 72 6f 6c 6c ;.. int iScroll
2ff80 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 36 20 ;..}..alias _16
2ff90 4e 4d 50 47 53 43 52 4f 4c 4c 3b 0d 0a 61 6c 69 NMPGSCROLL;..ali
2ffa0 61 73 20 5f 31 36 2a 20 4c 50 4e 4d 50 47 53 43 as _16* LPNMPGSC
2ffb0 52 4f 4c 4c 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 ROLL;....// #ifd
2ffc0 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 67 6e ef _WIN32..align
2ffd0 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a :..// #endif....
2ffe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 enum : uint { PG
2fff0 4e 5f 43 41 4c 43 53 49 5a 45 20 3d 20 50 47 4e N_CALCSIZE = PGN
30000 5f 46 49 52 53 54 2d 32 20 7d 0d 0a 0d 0a 65 6e _FIRST-2 }....en
30010 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f um : uint { PGF_
30020 43 41 4c 43 57 49 44 54 48 20 3d 20 31 20 7d 0d CALCWIDTH = 1 }.
30030 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
30040 47 46 5f 43 41 4c 43 48 45 49 47 48 54 20 3d 20 GF_CALCHEIGHT =
30050 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 2 }....struct _1
30060 37 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 7 {.. NMHDR hdr
30070 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 ;.. DWORD dwFla
30080 67 3b 0d 0a 20 20 69 6e 74 20 69 57 69 64 74 68 g;.. int iWidth
30090 3b 0d 0a 20 20 69 6e 74 20 69 48 65 69 67 68 74 ;.. int iHeight
300a0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 37 20 ;..}..alias _17
300b0 4e 4d 50 47 43 41 4c 43 53 49 5a 45 3b 0d 0a 61 NMPGCALCSIZE;..a
300c0 6c 69 61 73 20 5f 31 37 2a 20 4c 50 4e 4d 50 47 lias _17* LPNMPG
300d0 43 41 4c 43 53 49 5a 45 3b 0d 0a 0d 0a 65 6e 75 CALCSIZE;....enu
300e0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4e 5f 48 m : uint { PGN_H
300f0 4f 54 49 54 45 4d 43 48 41 4e 47 45 20 3d 20 50 OTITEMCHANGE = P
30100 47 4e 5f 46 49 52 53 54 2d 33 20 7d 0d 0a 0d 0a GN_FIRST-3 }....
30110 73 74 72 75 63 74 20 74 61 67 4e 4d 50 47 48 4f struct tagNMPGHO
30120 54 49 54 45 4d 20 7b 0d 0a 20 20 4e 4d 48 44 52 TITEM {.. NMHDR
30130 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 64 4f hdr;.. int idO
30140 6c 64 3b 0d 0a 20 20 69 6e 74 20 69 64 4e 65 77 ld;.. int idNew
30150 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 ;.. DWORD dwFla
30160 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 gs;..}..alias ta
30170 67 4e 4d 50 47 48 4f 54 49 54 45 4d 20 4e 4d 50 gNMPGHOTITEM NMP
30180 47 48 4f 54 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 GHOTITEM;..alias
30190 20 74 61 67 4e 4d 50 47 48 4f 54 49 54 45 4d 2a tagNMPGHOTITEM*
301a0 20 4c 50 4e 4d 50 47 48 4f 54 49 54 45 4d 3b 0d LPNMPGHOTITEM;.
301b0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 ...// #endif //
301c0 4e 4f 50 41 47 45 53 43 52 4f 4c 4c 45 52 0d 0a NOPAGESCROLLER..
301d0 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4e ..// #ifndef NON
301e0 41 54 49 56 45 46 4f 4e 54 43 54 4c 0d 0a 0d 0a ATIVEFONTCTL....
301f0 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43 const wchar[] WC
30200 5f 4e 41 54 49 56 45 46 4f 4e 54 43 54 4c 57 20 _NATIVEFONTCTLW
30210 3d 20 22 4e 61 74 69 76 65 46 6f 6e 74 43 74 6c = "NativeFontCtl
30220 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d ";..const char[]
30230 20 57 43 5f 4e 41 54 49 56 45 46 4f 4e 54 43 54 WC_NATIVEFONTCT
30240 4c 41 20 3d 20 22 4e 61 74 69 76 65 46 6f 6e 74 LA = "NativeFont
30250 43 74 6c 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 Ctl";....// #ifd
30260 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
30270 73 20 57 43 5f 4e 41 54 49 56 45 46 4f 4e 54 43 s WC_NATIVEFONTC
30280 54 4c 57 20 57 43 5f 4e 41 54 49 56 45 46 4f 4e TLW WC_NATIVEFON
30290 54 43 54 4c 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d TCTL;..// #else.
302a0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e .// #.....// #en
302b0 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 dif....enum : ui
302c0 6e 74 20 7b 20 4e 46 53 5f 45 44 49 54 20 3d 20 nt { NFS_EDIT =
302d0 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0001 }..enum :
302e0 20 75 69 6e 74 20 7b 20 4e 46 53 5f 53 54 41 54 uint { NFS_STAT
302f0 49 43 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 IC = 0x0002 }..e
30300 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 46 53 num : uint { NFS
30310 5f 4c 49 53 54 43 4f 4d 42 4f 20 3d 20 30 78 30 _LISTCOMBO = 0x0
30320 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 004 }..enum : ui
30330 6e 74 20 7b 20 4e 46 53 5f 42 55 54 54 4f 4e 20 nt { NFS_BUTTON
30340 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d = 0x0008 }..enum
30350 20 3a 20 75 69 6e 74 20 7b 20 4e 46 53 5f 41 4c : uint { NFS_AL
30360 4c 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e L = 0x0010 }..en
30370 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 46 53 5f um : uint { NFS_
30380 55 53 45 46 4f 4e 54 41 53 53 4f 43 20 3d 20 30 USEFONTASSOC = 0
30390 78 30 30 32 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 x0020 }....// #e
303a0 6e 64 69 66 20 2f 2f 20 4e 4f 4e 41 54 49 56 45 ndif // NONATIVE
303b0 46 4f 4e 54 43 54 4c 0d 0a 0d 0a 2f 2f 20 23 69 FONTCTL....// #i
303c0 66 6e 64 65 66 20 4e 4f 42 55 54 54 4f 4e 0d 0a fndef NOBUTTON..
303d0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e ..// #ifdef _WIN
303e0 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72 32....const char
303f0 5b 5d 20 57 43 5f 42 55 54 54 4f 4e 41 20 3d 20 [] WC_BUTTONA =
30400 22 42 75 74 74 6f 6e 22 3b 0d 0a 63 6f 6e 73 74 "Button";..const
30410 20 77 63 68 61 72 5b 5d 20 57 43 5f 42 55 54 54 wchar[] WC_BUTT
30420 4f 4e 57 20 3d 20 22 42 75 74 74 6f 6e 22 3b 0d ONW = "Button";.
30430 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 ...// #ifdef UNI
30440 43 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 42 CODE..alias WC_B
30450 55 54 54 4f 4e 57 20 57 43 5f 42 55 54 54 4f 4e UTTONW WC_BUTTON
30460 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ;..// #else..//
30470 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
30480 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 ...// #else..//
30490 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d #.....// #endif.
304a0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 ...// #if (_WIN3
304b0 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 2_WINNT >= 0x501
304c0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b )..enum : uint {
304d0 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45 4c 49 53 BUTTON_IMAGELIS
304e0 54 5f 41 4c 49 47 4e 5f 4c 45 46 54 20 3d 20 30 T_ALIGN_LEFT = 0
304f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
30500 7b 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45 4c 49 { BUTTON_IMAGELI
30510 53 54 5f 41 4c 49 47 4e 5f 52 49 47 48 54 20 3d ST_ALIGN_RIGHT =
30520 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 1 }..enum : uin
30530 74 20 7b 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45 t { BUTTON_IMAGE
30540 4c 49 53 54 5f 41 4c 49 47 4e 5f 54 4f 50 20 3d LIST_ALIGN_TOP =
30550 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 2 }..enum : uin
30560 74 20 7b 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45 t { BUTTON_IMAGE
30570 4c 49 53 54 5f 41 4c 49 47 4e 5f 42 4f 54 54 4f LIST_ALIGN_BOTTO
30580 4d 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 M = 3 }..enum :
30590 75 69 6e 74 20 7b 20 42 55 54 54 4f 4e 5f 49 4d uint { BUTTON_IM
305a0 41 47 45 4c 49 53 54 5f 41 4c 49 47 4e 5f 43 45 AGELIST_ALIGN_CE
305b0 4e 54 45 52 20 3d 20 34 20 7d 0d 0a 0d 0a 73 74 NTER = 4 }....st
305c0 72 75 63 74 20 5f 31 38 20 7b 0d 0a 20 20 48 49 ruct _18 {.. HI
305d0 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b 0d 0a MAGELIST himl;..
305e0 20 20 52 45 43 54 20 6d 61 72 67 69 6e 3b 0d 0a RECT margin;..
305f0 20 20 55 49 4e 54 20 75 41 6c 69 67 6e 3b 0d 0a UINT uAlign;..
30600 7d 0d 0a 61 6c 69 61 73 20 5f 31 38 20 42 55 54 }..alias _18 BUT
30610 54 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 3b 0d 0a TON_IMAGELIST;..
30620 61 6c 69 61 73 20 5f 31 38 2a 20 50 42 55 54 54 alias _18* PBUTT
30630 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 3b 0d 0a 0d ON_IMAGELIST;...
30640 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 .enum : uint { B
30650 43 4d 5f 47 45 54 49 44 45 41 4c 53 49 5a 45 20 CM_GETIDEALSIZE
30660 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78 = BCM_FIRST + 0x
30670 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 0001 }..// #defi
30680 6e 65 20 42 75 74 74 6f 6e 5f 47 65 74 49 64 65 ne Button_GetIde
30690 61 6c 53 69 7a 65 28 68 77 6e 64 2c 20 70 73 69 alSize(hwnd, psi
306a0 7a 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 ze) (BOOL)SNDMSG
306b0 28 28 68 77 6e 64 29 2c 20 42 43 4d 5f 47 45 54 ((hwnd), BCM_GET
306c0 49 44 45 41 4c 53 49 5a 45 2c 20 30 2c 20 28 4c IDEALSIZE, 0, (L
306d0 50 41 52 41 4d 29 28 70 73 69 7a 65 29 29 0d 0a PARAM)(psize))..
306e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
306f0 42 43 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 BCM_SETIMAGELIST
30700 20 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 = BCM_FIRST + 0
30710 78 30 30 30 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 x0002 }..// #def
30720 69 6e 65 20 42 75 74 74 6f 6e 5f 53 65 74 49 6d ine Button_SetIm
30730 61 67 65 4c 69 73 74 28 68 77 6e 64 2c 20 70 62 ageList(hwnd, pb
30740 75 74 74 6f 6e 49 6d 61 67 65 6c 69 73 74 29 20 uttonImagelist)
30750 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 (BOOL)SNDMSG((hw
30760 6e 64 29 2c 20 42 43 4d 5f 53 45 54 49 4d 41 47 nd), BCM_SETIMAG
30770 45 4c 49 53 54 2c 20 30 2c 20 28 4c 50 41 52 41 ELIST, 0, (LPARA
30780 4d 29 28 70 62 75 74 74 6f 6e 49 6d 61 67 65 6c M)(pbuttonImagel
30790 69 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 ist))....enum :
307a0 75 69 6e 74 20 7b 20 42 43 4d 5f 47 45 54 49 4d uint { BCM_GETIM
307b0 41 47 45 4c 49 53 54 20 3d 20 42 43 4d 5f 46 49 AGELIST = BCM_FI
307c0 52 53 54 20 2b 20 30 78 30 30 30 33 20 7d 0d 0a RST + 0x0003 }..
307d0 2f 2f 20 23 64 65 66 69 6e 65 20 42 75 74 74 6f // #define Butto
307e0 6e 5f 47 65 74 49 6d 61 67 65 4c 69 73 74 28 68 n_GetImageList(h
307f0 77 6e 64 2c 20 70 62 75 74 74 6f 6e 49 6d 61 67 wnd, pbuttonImag
30800 65 6c 69 73 74 29 20 28 42 4f 4f 4c 29 53 4e 44 elist) (BOOL)SND
30810 4d 53 47 28 28 68 77 6e 64 29 2c 20 42 43 4d 5f MSG((hwnd), BCM_
30820 47 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 30 2c GETIMAGELIST, 0,
30830 20 28 4c 50 41 52 41 4d 29 28 70 62 75 74 74 6f (LPARAM)(pbutto
30840 6e 49 6d 61 67 65 6c 69 73 74 29 29 0d 0a 0d 0a nImagelist))....
30850 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 43 enum : uint { BC
30860 4d 5f 53 45 54 54 45 58 54 4d 41 52 47 49 4e 20 M_SETTEXTMARGIN
30870 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78 = BCM_FIRST + 0x
30880 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 0004 }..// #defi
30890 6e 65 20 42 75 74 74 6f 6e 5f 53 65 74 54 65 78 ne Button_SetTex
308a0 74 4d 61 72 67 69 6e 28 68 77 6e 64 2c 20 70 6d tMargin(hwnd, pm
308b0 61 72 67 69 6e 29 20 28 42 4f 4f 4c 29 53 4e 44 argin) (BOOL)SND
308c0 4d 53 47 28 28 68 77 6e 64 29 2c 20 42 43 4d 5f MSG((hwnd), BCM_
308d0 53 45 54 54 45 58 54 4d 41 52 47 49 4e 2c 20 30 SETTEXTMARGIN, 0
308e0 2c 20 28 4c 50 41 52 41 4d 29 28 70 6d 61 72 67 , (LPARAM)(pmarg
308f0 69 6e 29 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e in))..enum : uin
30900 74 20 7b 20 42 43 4d 5f 47 45 54 54 45 58 54 4d t { BCM_GETTEXTM
30910 41 52 47 49 4e 20 3d 20 42 43 4d 5f 46 49 52 53 ARGIN = BCM_FIRS
30920 54 20 2b 20 30 78 30 30 30 35 20 7d 0d 0a 2f 2f T + 0x0005 }..//
30930 20 23 64 65 66 69 6e 65 20 42 75 74 74 6f 6e 5f #define Button_
30940 47 65 74 54 65 78 74 4d 61 72 67 69 6e 28 68 77 GetTextMargin(hw
30950 6e 64 2c 20 70 6d 61 72 67 69 6e 29 20 28 42 4f nd, pmargin) (BO
30960 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 OL)SNDMSG((hwnd)
30970 2c 20 42 43 4d 5f 47 45 54 54 45 58 54 4d 41 52 , BCM_GETTEXTMAR
30980 47 49 4e 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 GIN, 0, (LPARAM)
30990 28 70 6d 61 72 67 69 6e 29 29 0d 0a 0d 0a 73 74 (pmargin))....st
309a0 72 75 63 74 20 74 61 67 4e 4d 42 43 48 4f 54 49 ruct tagNMBCHOTI
309b0 54 45 4d 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 TEM {.. NMHDR h
309c0 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 dr;.. DWORD dwF
309d0 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 lags;..}..alias
309e0 74 61 67 4e 4d 42 43 48 4f 54 49 54 45 4d 20 4e tagNMBCHOTITEM N
309f0 4d 42 43 48 4f 54 49 54 45 4d 3b 0d 0a 61 6c 69 MBCHOTITEM;..ali
30a00 61 73 20 74 61 67 4e 4d 42 43 48 4f 54 49 54 45 as tagNMBCHOTITE
30a10 4d 2a 20 4c 50 4e 4d 42 43 48 4f 54 49 54 45 4d M* LPNMBCHOTITEM
30a20 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 ;....enum : uint
30a30 20 7b 20 42 43 4e 5f 48 4f 54 49 54 45 4d 43 48 { BCN_HOTITEMCH
30a40 41 4e 47 45 20 3d 20 42 43 4e 5f 46 49 52 53 54 ANGE = BCN_FIRST
30a50 20 2b 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 + 0x0001 }....e
30a60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 54 num : uint { BST
30a70 5f 48 4f 54 20 3d 20 30 78 30 32 30 30 20 7d 0d _HOT = 0x0200 }.
30a80 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ...// #endif....
30a90 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 42 // #endif // NOB
30aa0 55 54 54 4f 4e 0d 0a 0d 0a 2f 2f 20 23 69 66 6e UTTON....// #ifn
30ab0 64 65 66 20 4e 4f 53 54 41 54 49 43 0d 0a 0d 0a def NOSTATIC....
30ac0 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 // #ifdef _WIN32
30ad0 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d ....const char[]
30ae0 20 57 43 5f 53 54 41 54 49 43 41 20 3d 20 22 53 WC_STATICA = "S
30af0 74 61 74 69 63 22 3b 0d 0a 63 6f 6e 73 74 20 77 tatic";..const w
30b00 63 68 61 72 5b 5d 20 57 43 5f 53 54 41 54 49 43 char[] WC_STATIC
30b10 57 20 3d 20 22 53 74 61 74 69 63 22 3b 0d 0a 0d W = "Static";...
30b20 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f .// #ifdef UNICO
30b30 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 53 54 41 DE..alias WC_STA
30b40 54 49 43 57 20 57 43 5f 53 54 41 54 49 43 3b 0d TICW WC_STATIC;.
30b50 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e .// #else..// #.
30b60 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ....// #endif...
30b70 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e .// #else..// #.
30b80 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d ....// #endif...
30b90 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4e 4f .// #endif // NO
30ba0 53 54 41 54 49 43 0d 0a 0d 0a 2f 2f 20 23 69 66 STATIC....// #if
30bb0 6e 64 65 66 20 4e 4f 45 44 49 54 0d 0a 0d 0a 2f ndef NOEDIT..../
30bc0 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d / #ifdef _WIN32.
30bd0 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 ...const char[]
30be0 57 43 5f 45 44 49 54 41 20 3d 20 22 45 64 69 74 WC_EDITA = "Edit
30bf0 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b ";..const wchar[
30c00 5d 20 57 43 5f 45 44 49 54 57 20 3d 20 22 45 64 ] WC_EDITW = "Ed
30c10 69 74 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 it";....// #ifde
30c20 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 f UNICODE..alias
30c30 20 57 43 5f 45 44 49 54 57 20 57 43 5f 45 44 49 WC_EDITW WC_EDI
30c40 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f T;..// #else..//
30c50 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
30c60 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f ....// #else..//
30c70 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 #.....// #endif
30c80 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e ....// #if (_WIN
30c90 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 32_WINNT >= 0x50
30ca0 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 1)..enum : uint
30cb0 7b 20 45 4d 5f 53 45 54 43 55 45 42 41 4e 4e 45 { EM_SETCUEBANNE
30cc0 52 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20 R = ECM_FIRST +
30cd0 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 1 }..// #define
30ce0 45 64 69 74 5f 53 65 74 43 75 65 42 61 6e 6e 65 Edit_SetCueBanne
30cf0 72 54 65 78 74 28 68 77 6e 64 2c 20 6c 70 63 77 rText(hwnd, lpcw
30d00 54 65 78 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d Text) (BOOL)SNDM
30d10 53 47 28 28 68 77 6e 64 29 2c 20 45 4d 5f 53 45 SG((hwnd), EM_SE
30d20 54 43 55 45 42 41 4e 4e 45 52 2c 20 30 2c 20 28 TCUEBANNER, 0, (
30d30 4c 50 41 52 41 4d 29 28 6c 70 63 77 54 65 78 74 LPARAM)(lpcwText
30d40 29 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ))..enum : uint
30d50 7b 20 45 4d 5f 47 45 54 43 55 45 42 41 4e 4e 45 { EM_GETCUEBANNE
30d60 52 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20 R = ECM_FIRST +
30d70 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 2 }..// #define
30d80 45 64 69 74 5f 47 65 74 43 75 65 42 61 6e 6e 65 Edit_GetCueBanne
30d90 72 54 65 78 74 28 68 77 6e 64 2c 20 6c 70 77 54 rText(hwnd, lpwT
30da0 65 78 74 2c 20 63 63 68 54 65 78 74 29 20 28 42 ext, cchText) (B
30db0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 OOL)SNDMSG((hwnd
30dc0 29 2c 20 45 4d 5f 47 45 54 43 55 45 42 41 4e 4e ), EM_GETCUEBANN
30dd0 45 52 2c 20 28 57 50 41 52 41 4d 29 28 6c 70 77 ER, (WPARAM)(lpw
30de0 54 65 78 74 29 2c 20 28 4c 50 41 52 41 4d 29 28 Text), (LPARAM)(
30df0 63 63 68 54 65 78 74 29 29 0d 0a 0d 0a 73 74 72 cchText))....str
30e00 75 63 74 20 5f 74 61 67 45 44 49 54 42 41 4c 4c uct _tagEDITBALL
30e10 4f 4f 4e 54 49 50 20 7b 0d 0a 20 20 44 57 4f 52 OONTIP {.. DWOR
30e20 44 20 63 62 53 74 72 75 63 74 3b 0d 0a 20 20 4c D cbStruct;.. L
30e30 50 43 57 53 54 52 20 70 73 7a 54 69 74 6c 65 3b PCWSTR pszTitle;
30e40 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a 54 .. LPCWSTR pszT
30e50 65 78 74 3b 0d 0a 20 20 49 4e 54 20 74 74 69 49 ext;.. INT ttiI
30e60 63 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f con;..}..alias _
30e70 74 61 67 45 44 49 54 42 41 4c 4c 4f 4f 4e 54 49 tagEDITBALLOONTI
30e80 50 20 45 44 49 54 42 41 4c 4c 4f 4f 4e 54 49 50 P EDITBALLOONTIP
30e90 3b 0d 0a 61 6c 69 61 73 20 5f 74 61 67 45 44 49 ;..alias _tagEDI
30ea0 54 42 41 4c 4c 4f 4f 4e 54 49 50 2a 20 50 45 44 TBALLOONTIP* PED
30eb0 49 54 42 41 4c 4c 4f 4f 4e 54 49 50 3b 0d 0a 0d ITBALLOONTIP;...
30ec0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 .enum : uint { E
30ed0 4d 5f 53 48 4f 57 42 41 4c 4c 4f 4f 4e 54 49 50 M_SHOWBALLOONTIP
30ee0 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20 33 = ECM_FIRST + 3
30ef0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 45 }..// #define E
30f00 64 69 74 5f 53 68 6f 77 42 61 6c 6c 6f 6f 6e 54 dit_ShowBalloonT
30f10 69 70 28 68 77 6e 64 2c 20 70 65 64 69 74 62 61 ip(hwnd, peditba
30f20 6c 6c 6f 6f 6e 74 69 70 29 20 28 42 4f 4f 4c 29 lloontip) (BOOL)
30f30 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 45 SNDMSG((hwnd), E
30f40 4d 5f 53 48 4f 57 42 41 4c 4c 4f 4f 4e 54 49 50 M_SHOWBALLOONTIP
30f50 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 65 , 0, (LPARAM)(pe
30f60 64 69 74 62 61 6c 6c 6f 6f 6e 74 69 70 29 29 0d ditballoontip)).
30f70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 .enum : uint { E
30f80 4d 5f 48 49 44 45 42 41 4c 4c 4f 4f 4e 54 49 50 M_HIDEBALLOONTIP
30f90 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20 34 = ECM_FIRST + 4
30fa0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 45 }..// #define E
30fb0 64 69 74 5f 48 69 64 65 42 61 6c 6c 6f 6f 6e 54 dit_HideBalloonT
30fc0 69 70 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 ip(hwnd) (BOOL)S
30fd0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 45 4d NDMSG((hwnd), EM
30fe0 5f 48 49 44 45 42 41 4c 4c 4f 4f 4e 54 49 50 2c _HIDEBALLOONTIP,
30ff0 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e 64 69 0, 0)..// #endi
31000 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f f....// #endif /
31010 2f 20 4e 4f 45 44 49 54 0d 0a 0d 0a 2f 2f 20 23 / NOEDIT....// #
31020 69 66 6e 64 65 66 20 4e 4f 4c 49 53 54 42 4f 58 ifndef NOLISTBOX
31030 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 ....// #ifdef _W
31040 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 IN32....const ch
31050 61 72 5b 5d 20 57 43 5f 4c 49 53 54 42 4f 58 41 ar[] WC_LISTBOXA
31060 20 3d 20 22 4c 69 73 74 42 6f 78 22 3b 0d 0a 63 = "ListBox";..c
31070 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43 5f onst wchar[] WC_
31080 4c 49 53 54 42 4f 58 57 20 3d 20 22 4c 69 73 74 LISTBOXW = "List
31090 42 6f 78 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 Box";....// #ifd
310a0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 ef UNICODE..alia
310b0 73 20 57 43 5f 4c 49 53 54 42 4f 58 57 20 57 43 s WC_LISTBOXW WC
310c0 5f 4c 49 53 54 42 4f 58 3b 0d 0a 2f 2f 20 23 65 _LISTBOX;..// #e
310d0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
310e0 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 #endif....// #e
310f0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
31100 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 #endif....// #e
31110 6e 64 69 66 20 2f 2f 20 4e 4f 4c 49 53 54 42 4f ndif // NOLISTBO
31120 58 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 X....// #ifndef
31130 4e 4f 43 4f 4d 42 4f 42 4f 58 0d 0a 0d 0a 2f 2f NOCOMBOBOX....//
31140 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a #ifdef _WIN32..
31150 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57 ..const char[] W
31160 43 5f 43 4f 4d 42 4f 42 4f 58 41 20 3d 20 22 43 C_COMBOBOXA = "C
31170 6f 6d 62 6f 42 6f 78 22 3b 0d 0a 63 6f 6e 73 74 omboBox";..const
31180 20 77 63 68 61 72 5b 5d 20 57 43 5f 43 4f 4d 42 wchar[] WC_COMB
31190 4f 42 4f 58 57 20 3d 20 22 43 6f 6d 62 6f 42 6f OBOXW = "ComboBo
311a0 78 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 x";....// #ifdef
311b0 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 UNICODE..alias
311c0 57 43 5f 43 4f 4d 42 4f 42 4f 58 57 20 57 43 5f WC_COMBOBOXW WC_
311d0 43 4f 4d 42 4f 42 4f 58 3b 0d 0a 2f 2f 20 23 65 COMBOBOX;..// #e
311e0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
311f0 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 #endif....// #e
31200 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f lse..// #.....//
31210 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 #endif....// #e
31220 6e 64 69 66 20 2f 2f 20 4e 4f 43 4f 4d 42 4f 42 ndif // NOCOMBOB
31230 4f 58 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 OX....// #if (_W
31240 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 IN32_WINNT >= 0x
31250 35 30 31 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 501)....enum : u
31260 69 6e 74 20 7b 20 43 42 5f 53 45 54 4d 49 4e 56 int { CB_SETMINV
31270 49 53 49 42 4c 45 20 3d 20 43 42 4d 5f 46 49 52 ISIBLE = CBM_FIR
31280 53 54 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a ST + 1 }..enum :
31290 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 4d 49 uint { CB_GETMI
312a0 4e 56 49 53 49 42 4c 45 20 3d 20 43 42 4d 5f 46 NVISIBLE = CBM_F
312b0 49 52 53 54 20 2b 20 32 20 7d 0d 0a 0d 0a 2f 2f IRST + 2 }....//
312c0 20 23 64 65 66 69 6e 65 20 43 6f 6d 62 6f 42 6f #define ComboBo
312d0 78 5f 53 65 74 4d 69 6e 56 69 73 69 62 6c 65 28 x_SetMinVisible(
312e0 68 77 6e 64 2c 20 69 4d 69 6e 56 69 73 69 62 6c hwnd, iMinVisibl
312f0 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 e) (BOOL)SNDMSG(
31300 28 68 77 6e 64 29 2c 20 43 42 5f 53 45 54 4d 49 (hwnd), CB_SETMI
31310 4e 56 49 53 49 42 4c 45 2c 20 28 57 50 41 52 41 NVISIBLE, (WPARA
31320 4d 29 69 4d 69 6e 56 69 73 69 62 6c 65 2c 20 30 M)iMinVisible, 0
31330 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 )....// #define
31340 43 6f 6d 62 6f 42 6f 78 5f 47 65 74 4d 69 6e 56 ComboBox_GetMinV
31350 69 73 69 62 6c 65 28 68 77 6e 64 29 20 28 69 6e isible(hwnd) (in
31360 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c t)SNDMSG((hwnd),
31370 20 43 42 5f 47 45 54 4d 49 4e 56 49 53 49 42 4c CB_GETMINVISIBL
31380 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 E, 0, 0)....// #
31390 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e endif....// #ifn
313a0 64 65 66 20 4e 4f 53 43 52 4f 4c 4c 42 41 52 0d def NOSCROLLBAR.
313b0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 ...// #ifdef _WI
313c0 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 N32....const cha
313d0 72 5b 5d 20 57 43 5f 53 43 52 4f 4c 4c 42 41 52 r[] WC_SCROLLBAR
313e0 41 20 3d 20 22 53 63 72 6f 6c 6c 42 61 72 22 3b A = "ScrollBar";
313f0 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 ..const wchar[]
31400 57 43 5f 53 43 52 4f 4c 4c 42 41 52 57 20 3d 20 WC_SCROLLBARW =
31410 22 53 63 72 6f 6c 6c 42 61 72 22 3b 0d 0a 0d 0a "ScrollBar";....
31420 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
31430 45 0d 0a 61 6c 69 61 73 20 57 43 5f 53 43 52 4f E..alias WC_SCRO
31440 4c 4c 42 41 52 57 20 57 43 5f 53 43 52 4f 4c 4c LLBARW WC_SCROLL
31450 42 41 52 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a BAR;..// #else..
31460 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
31470 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a if....// #else..
31480 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 // #.....// #end
31490 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 if....// #endif
314a0 2f 2f 20 4e 4f 53 43 52 4f 4c 4c 42 41 52 0d 0a // NOSCROLLBAR..
314b0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e ..// #ifdef _WIN
314c0 33 32 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 32..// #if (_WIN
314d0 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 32_WINNT >= 0x50
314e0 31 29 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 49 4e 56 1)....enum { INV
314f0 41 4c 49 44 5f 4c 49 4e 4b 5f 49 4e 44 45 58 20 ALID_LINK_INDEX
31500 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = -1 }..enum : u
31510 69 6e 74 20 7b 20 4d 41 58 5f 4c 49 4e 4b 49 44 int { MAX_LINKID
31520 5f 54 45 58 54 20 3d 20 34 38 20 7d 0d 0a 65 6e _TEXT = 48 }..en
31530 75 6d 20 7b 20 4c 5f 4d 41 58 5f 55 52 4c 5f 4c um { L_MAX_URL_L
31540 45 4e 47 54 48 20 3d 20 32 30 34 38 20 2b 20 33 ENGTH = 2048 + 3
31550 32 20 2b 20 34 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 2 + 4 }....const
31560 20 77 63 68 61 72 5b 5d 20 57 43 5f 4c 49 4e 4b wchar[] WC_LINK
31570 20 3d 20 22 53 79 73 4c 69 6e 6b 22 3b 0d 0a 0d = "SysLink";...
31580 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
31590 57 53 5f 54 52 41 4e 53 50 41 52 45 4e 54 20 3d WS_TRANSPARENT =
315a0 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 0x0001 }..enum
315b0 3a 20 75 69 6e 74 20 7b 20 4c 57 53 5f 49 47 4e : uint { LWS_IGN
315c0 4f 52 45 52 45 54 55 52 4e 20 3d 20 30 78 30 30 ORERETURN = 0x00
315d0 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 02 }....enum : u
315e0 69 6e 74 20 7b 20 4c 49 46 5f 49 54 45 4d 49 4e int { LIF_ITEMIN
315f0 44 45 58 20 3d 20 30 78 30 30 30 30 30 30 30 31 DEX = 0x00000001
31600 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
31610 7b 20 4c 49 46 5f 53 54 41 54 45 20 3d 20 30 78 { LIF_STATE = 0x
31620 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 00000002 }..enum
31630 20 3a 20 75 69 6e 74 20 7b 20 4c 49 46 5f 49 54 : uint { LIF_IT
31640 45 4d 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 EMID = 0x0000000
31650 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 4 }..enum : uint
31660 20 7b 20 4c 49 46 5f 55 52 4c 20 3d 20 30 78 30 { LIF_URL = 0x0
31670 30 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 0000008 }....enu
31680 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 49 53 5f 46 m : uint { LIS_F
31690 4f 43 55 53 45 44 20 3d 20 30 78 30 30 30 30 30 OCUSED = 0x00000
316a0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 001 }..enum : ui
316b0 6e 74 20 7b 20 4c 49 53 5f 45 4e 41 42 4c 45 44 nt { LIS_ENABLED
316c0 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d = 0x00000002 }.
316d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c .enum : uint { L
316e0 49 53 5f 56 49 53 49 54 45 44 20 3d 20 30 78 30 IS_VISITED = 0x0
316f0 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 73 74 72 0000004 }....str
31700 75 63 74 20 74 61 67 4c 49 54 45 4d 20 7b 0d 0a uct tagLITEM {..
31710 20 20 55 49 4e 54 20 6d 61 73 6b 20 3b 0d 0a 20 UINT mask ;..
31720 20 69 6e 74 20 69 4c 69 6e 6b 20 3b 0d 0a 20 20 int iLink ;..
31730 55 49 4e 54 20 73 74 61 74 65 20 3b 0d 0a 20 20 UINT state ;..
31740 55 49 4e 54 20 73 74 61 74 65 4d 61 73 6b 20 3b UINT stateMask ;
31750 0d 0a 20 20 57 43 48 41 52 20 73 7a 49 44 5b 4d .. WCHAR szID[M
31760 41 58 5f 4c 49 4e 4b 49 44 5f 54 45 58 54 5d 20 AX_LINKID_TEXT]
31770 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 55 72 6c ;.. WCHAR szUrl
31780 5b 4c 5f 4d 41 58 5f 55 52 4c 5f 4c 45 4e 47 54 [L_MAX_URL_LENGT
31790 48 5d 20 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 H] ;..}..alias t
317a0 61 67 4c 49 54 45 4d 20 4c 49 54 45 4d 3b 0d 0a agLITEM LITEM;..
317b0 61 6c 69 61 73 20 74 61 67 4c 49 54 45 4d 2a 20 alias tagLITEM*
317c0 50 4c 49 54 45 4d 3b 0d 0a 0d 0a 73 74 72 75 63 PLITEM;....struc
317d0 74 20 74 61 67 4c 48 49 54 54 45 53 54 49 4e 46 t tagLHITTESTINF
317e0 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 20 O {.. POINT pt
317f0 3b 0d 0a 20 20 4c 49 54 45 4d 20 69 74 65 6d 20 ;.. LITEM item
31800 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c ;..}..alias tagL
31810 48 49 54 54 45 53 54 49 4e 46 4f 20 4c 48 49 54 HITTESTINFO LHIT
31820 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 TESTINFO;..alias
31830 20 74 61 67 4c 48 49 54 54 45 53 54 49 4e 46 4f tagLHITTESTINFO
31840 2a 20 50 4c 48 49 54 54 45 53 54 49 4e 46 4f 3b * PLHITTESTINFO;
31850 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d ....struct tagNM
31860 4c 49 4e 4b 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 LINK {.. NMHDR
31870 68 64 72 3b 0d 0a 20 20 4c 49 54 45 4d 20 69 74 hdr;.. LITEM it
31880 65 6d 20 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 em ;..}..alias t
31890 61 67 4e 4d 4c 49 4e 4b 20 4e 4d 4c 49 4e 4b 3b agNMLINK NMLINK;
318a0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 49 4e ..alias tagNMLIN
318b0 4b 2a 20 50 4e 4d 4c 49 4e 4b 3b 0d 0a 0d 0a 65 K* PNMLINK;....e
318c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 4d 5f num : uint { LM_
318d0 48 49 54 54 45 53 54 20 3d 20 57 4d 5f 55 53 45 HITTEST = WM_USE
318e0 52 2b 30 78 33 30 30 20 7d 0d 0a 65 6e 75 6d 20 R+0x300 }..enum
318f0 3a 20 75 69 6e 74 20 7b 20 4c 4d 5f 47 45 54 49 : uint { LM_GETI
31900 44 45 41 4c 48 45 49 47 48 54 20 3d 20 57 4d 5f DEALHEIGHT = WM_
31910 55 53 45 52 2b 30 78 33 30 31 20 7d 0d 0a 65 6e USER+0x301 }..en
31920 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 4d 5f 53 um : uint { LM_S
31930 45 54 49 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52 ETITEM = WM_USER
31940 2b 30 78 33 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a +0x302 }..enum :
31950 20 75 69 6e 74 20 7b 20 4c 4d 5f 47 45 54 49 54 uint { LM_GETIT
31960 45 4d 20 3d 20 57 4d 5f 55 53 45 52 2b 30 78 33 EM = WM_USER+0x3
31970 30 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 03 }....// #endi
31980 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 f..// #endif //
31990 5f 57 49 4e 33 32 0d 0a 0d 0a 2f 2f 20 23 69 66 _WIN32....// #if
319a0 6e 64 65 66 20 4e 4f 4d 55 49 0d 0a 65 78 74 65 ndef NOMUI..exte
319b0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f rn(Windows) expo
319c0 72 74 20 76 6f 69 64 20 49 6e 69 74 4d 55 49 4c rt void InitMUIL
319d0 61 6e 67 75 61 67 65 28 4c 41 4e 47 49 44 20 75 anguage(LANGID u
319e0 69 4c 61 6e 67 29 3b 0d 0a 0d 0a 65 78 74 65 72 iLang);....exter
319f0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 n(Windows) expor
31a00 74 20 4c 41 4e 47 49 44 20 47 65 74 4d 55 49 4c t LANGID GetMUIL
31a10 61 6e 67 75 61 67 65 28 29 3b 0d 0a 2f 2f 20 23 anguage();..// #
31a20 65 6e 64 69 66 20 20 2f 2f 20 4e 4f 4d 55 49 0d endif // NOMUI.
31a30 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 ...// #endif
31a40 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e // _WIN32_IE >
31a50 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 = 0x0400....// #
31a60 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a ifdef _WIN32....
31a70 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 41 // #ifndef NOTRA
31a80 43 4b 4d 4f 55 53 45 45 56 45 4e 54 0d 0a 0d 0a CKMOUSEEVENT....
31a90 2f 2f 20 23 69 66 6e 64 65 66 20 57 4d 5f 4d 4f // #ifndef WM_MO
31aa0 55 53 45 48 4f 56 45 52 0d 0a 2f 2f 20 23 2e 2e USEHOVER..// #..
31ab0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
31ac0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e endif....// #ifn
31ad0 64 65 66 20 54 4d 45 5f 48 4f 56 45 52 0d 0a 0d def TME_HOVER...
31ae0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 .enum : uint { T
31af0 4d 45 5f 48 4f 56 45 52 20 3d 20 30 78 30 30 30 ME_HOVER = 0x000
31b00 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00001 }..enum :
31b10 75 69 6e 74 20 7b 20 54 4d 45 5f 4c 45 41 56 45 uint { TME_LEAVE
31b20 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d = 0x00000002 }.
31b30 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 .// #if (WINVER
31b40 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d >= 0x0500)..enum
31b50 20 3a 20 75 69 6e 74 20 7b 20 54 4d 45 5f 4e 4f : uint { TME_NO
31b60 4e 43 4c 49 45 4e 54 20 3d 20 30 78 30 30 30 30 NCLIENT = 0x0000
31b70 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 0010 }..// #endi
31b80 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 f /* WINVER >= 0
31b90 78 30 35 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a x0500 */..enum :
31ba0 20 75 69 6e 74 20 7b 20 54 4d 45 5f 51 55 45 52 uint { TME_QUER
31bb0 59 20 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d Y = 0x40000000 }
31bc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
31bd0 54 4d 45 5f 43 41 4e 43 45 4c 20 3d 20 30 78 38 TME_CANCEL = 0x8
31be0 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 0000000 }....enu
31bf0 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4f 56 45 52 m : uint { HOVER
31c00 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 46 46 46 _DEFAULT = 0xFFF
31c10 46 46 46 46 46 20 7d 0d 0a 0d 0a 73 74 72 75 63 FFFFF }....struc
31c20 74 20 74 61 67 54 52 41 43 4b 4d 4f 55 53 45 45 t tagTRACKMOUSEE
31c30 56 45 4e 54 20 7b 0d 0a 20 20 44 57 4f 52 44 20 VENT {.. DWORD
31c40 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 cbSize;.. DWORD
31c50 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 48 57 4e dwFlags;.. HWN
31c60 44 20 68 77 6e 64 54 72 61 63 6b 3b 0d 0a 20 20 D hwndTrack;..
31c70 44 57 4f 52 44 20 64 77 48 6f 76 65 72 54 69 6d DWORD dwHoverTim
31c80 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 e;..}..alias tag
31c90 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 20 TRACKMOUSEEVENT
31ca0 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 3b TRACKMOUSEEVENT;
31cb0 0d 0a 61 6c 69 61 73 20 74 61 67 54 52 41 43 4b ..alias tagTRACK
31cc0 4d 4f 55 53 45 45 56 45 4e 54 2a 20 4c 50 54 52 MOUSEEVENT* LPTR
31cd0 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 3b 0d 0a ACKMOUSEEVENT;..
31ce0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 ..// #endif // !
31cf0 54 4d 45 5f 48 4f 56 45 52 0d 0a 0d 0a 65 78 74 TME_HOVER....ext
31d00 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
31d10 6f 72 74 20 42 4f 4f 4c 20 5f 54 72 61 63 6b 4d ort BOOL _TrackM
31d20 6f 75 73 65 45 76 65 6e 74 28 0d 0a 20 20 4c 50 ouseEvent(.. LP
31d30 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 20 TRACKMOUSEEVENT
31d40 6c 70 45 76 65 6e 74 54 72 61 63 6b 29 3b 0d 0a lpEventTrack);..
31d50 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 ..// #endif // !
31d60 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e NOTRACKMOUSEEVEN
31d70 54 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 T....// #if (_WI
31d80 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 N32_IE >= 0x0400
31d90 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 )....// #ifndef
31da0 4e 4f 46 4c 41 54 53 42 41 50 49 53 0d 0a 0d 0a NOFLATSBAPIS....
31db0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 enum : uint { WS
31dc0 42 5f 50 52 4f 50 5f 43 59 56 53 43 52 4f 4c 4c B_PROP_CYVSCROLL
31dd0 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d = 0x00000001 }.
31de0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 .enum : uint { W
31df0 53 42 5f 50 52 4f 50 5f 43 58 48 53 43 52 4f 4c SB_PROP_CXHSCROL
31e00 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d L = 0x00000002 }
31e10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
31e20 57 53 42 5f 50 52 4f 50 5f 43 59 48 53 43 52 4f WSB_PROP_CYHSCRO
31e30 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 LL = 0x00000004
31e40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
31e50 20 57 53 42 5f 50 52 4f 50 5f 43 58 56 53 43 52 WSB_PROP_CXVSCR
31e60 4f 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 38 OLL = 0x00000008
31e70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
31e80 7b 20 57 53 42 5f 50 52 4f 50 5f 43 58 48 54 48 { WSB_PROP_CXHTH
31e90 55 4d 42 20 3d 20 30 78 30 30 30 30 30 30 31 30 UMB = 0x00000010
31ea0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
31eb0 7b 20 57 53 42 5f 50 52 4f 50 5f 43 59 56 54 48 { WSB_PROP_CYVTH
31ec0 55 4d 42 20 3d 20 30 78 30 30 30 30 30 30 32 30 UMB = 0x00000020
31ed0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
31ee0 7b 20 57 53 42 5f 50 52 4f 50 5f 56 42 4b 47 43 { WSB_PROP_VBKGC
31ef0 4f 4c 4f 52 20 3d 20 30 78 30 30 30 30 30 30 34 OLOR = 0x0000004
31f00 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
31f10 20 7b 20 57 53 42 5f 50 52 4f 50 5f 48 42 4b 47 { WSB_PROP_HBKG
31f20 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30 30 30 30 COLOR = 0x000000
31f30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 80 }..enum : uin
31f40 74 20 7b 20 57 53 42 5f 50 52 4f 50 5f 56 53 54 t { WSB_PROP_VST
31f50 59 4c 45 20 3d 20 30 78 30 30 30 30 30 31 30 30 YLE = 0x00000100
31f60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
31f70 7b 20 57 53 42 5f 50 52 4f 50 5f 48 53 54 59 4c { WSB_PROP_HSTYL
31f80 45 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d E = 0x00000200 }
31f90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
31fa0 57 53 42 5f 50 52 4f 50 5f 57 49 4e 53 54 59 4c WSB_PROP_WINSTYL
31fb0 45 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d E = 0x00000400 }
31fc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
31fd0 57 53 42 5f 50 52 4f 50 5f 50 41 4c 45 54 54 45 WSB_PROP_PALETTE
31fe0 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d = 0x00000800 }.
31ff0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 .enum : uint { W
32000 53 42 5f 50 52 4f 50 5f 4d 41 53 4b 20 3d 20 30 SB_PROP_MASK = 0
32010 78 30 30 30 30 30 46 46 46 20 7d 0d 0a 0d 0a 65 x00000FFF }....e
32020 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 53 42 num : uint { FSB
32030 5f 46 4c 41 54 5f 4d 4f 44 45 20 3d 20 32 20 7d _FLAT_MODE = 2 }
32040 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
32050 46 53 42 5f 45 4e 43 41 52 54 41 5f 4d 4f 44 45 FSB_ENCARTA_MODE
32060 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 = 1 }..enum : u
32070 69 6e 74 20 7b 20 46 53 42 5f 52 45 47 55 4c 41 int { FSB_REGULA
32080 52 5f 4d 4f 44 45 20 3d 20 30 20 7d 0d 0a 0d 0a R_MODE = 0 }....
32090 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
320a0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 6c 61 74 export BOOL Flat
320b0 53 42 5f 45 6e 61 62 6c 65 53 63 72 6f 6c 6c 42 SB_EnableScrollB
320c0 61 72 28 48 57 4e 44 2c 20 69 6e 74 2c 20 55 49 ar(HWND, int, UI
320d0 4e 54 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e NT);..extern(Win
320e0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f dows) export BOO
320f0 4c 20 46 6c 61 74 53 42 5f 53 68 6f 77 53 63 72 L FlatSB_ShowScr
32100 6f 6c 6c 42 61 72 28 48 57 4e 44 2c 20 69 6e 74 ollBar(HWND, int
32110 20 63 6f 64 65 2c 20 42 4f 4f 4c 29 3b 0d 0a 0d code, BOOL);...
32120 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
32130 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 6c 61 export BOOL Fla
32140 74 53 42 5f 47 65 74 53 63 72 6f 6c 6c 52 61 6e tSB_GetScrollRan
32150 67 65 28 48 57 4e 44 2c 20 69 6e 74 20 63 6f 64 ge(HWND, int cod
32160 65 2c 20 4c 50 49 4e 54 2c 20 4c 50 49 4e 54 29 e, LPINT, LPINT)
32170 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ;..extern(Window
32180 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 s) export BOOL F
32190 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c 6c 49 latSB_GetScrollI
321a0 6e 66 6f 28 48 57 4e 44 2c 20 69 6e 74 20 63 6f nfo(HWND, int co
321b0 64 65 2c 20 4c 50 53 43 52 4f 4c 4c 49 4e 46 4f de, LPSCROLLINFO
321c0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e );....extern(Win
321d0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 dows) export int
321e0 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c FlatSB_GetScrol
321f0 6c 50 6f 73 28 48 57 4e 44 2c 20 69 6e 74 20 63 lPos(HWND, int c
32200 6f 64 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 ode);....extern(
32210 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
32220 42 4f 4f 4c 20 46 6c 61 74 53 42 5f 47 65 74 53 BOOL FlatSB_GetS
32230 63 72 6f 6c 6c 50 72 6f 70 28 48 57 4e 44 2c 20 crollProp(HWND,
32240 69 6e 74 20 70 72 6f 70 49 6e 64 65 78 2c 20 4c int propIndex, L
32250 50 49 4e 54 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 PINT);..// #ifde
32260 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 2e 2e 2e f _WIN64..// ...
32270 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 ..// #else..alia
32280 73 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72 6f s FlatSB_GetScro
32290 6c 6c 50 72 6f 70 20 46 6c 61 74 53 42 5f 47 65 llProp FlatSB_Ge
322a0 74 53 63 72 6f 6c 6c 50 72 6f 70 50 74 72 3b 0d tScrollPropPtr;.
322b0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 .// #endif....ex
322c0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 tern(Windows) ex
322d0 70 6f 72 74 20 69 6e 74 20 46 6c 61 74 53 42 5f port int FlatSB_
322e0 53 65 74 53 63 72 6f 6c 6c 50 6f 73 28 48 57 4e SetScrollPos(HWN
322f0 44 2c 20 69 6e 74 20 63 6f 64 65 2c 20 69 6e 74 D, int code, int
32300 20 70 6f 73 2c 20 42 4f 4f 4c 20 66 52 65 64 72 pos, BOOL fRedr
32310 61 77 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 aw);....extern(W
32320 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 indows) export i
32330 6e 74 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72 nt FlatSB_SetScr
32340 6f 6c 6c 49 6e 66 6f 28 48 57 4e 44 2c 20 69 6e ollInfo(HWND, in
32350 74 20 63 6f 64 65 2c 20 4c 50 53 43 52 4f 4c 4c t code, LPSCROLL
32360 49 4e 46 4f 2c 20 42 4f 4f 4c 20 66 52 65 64 72 INFO, BOOL fRedr
32370 61 77 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 aw);....extern(W
32380 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 indows) export i
32390 6e 74 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72 nt FlatSB_SetScr
323a0 6f 6c 6c 52 61 6e 67 65 28 48 57 4e 44 2c 20 69 ollRange(HWND, i
323b0 6e 74 20 63 6f 64 65 2c 20 69 6e 74 20 6d 69 6e nt code, int min
323c0 2c 20 69 6e 74 20 6d 61 78 2c 20 42 4f 4f 4c 20 , int max, BOOL
323d0 66 52 65 64 72 61 77 29 3b 0d 0a 65 78 74 65 72 fRedraw);..exter
323e0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 n(Windows) expor
323f0 74 20 42 4f 4f 4c 20 46 6c 61 74 53 42 5f 53 65 t BOOL FlatSB_Se
32400 74 53 63 72 6f 6c 6c 50 72 6f 70 28 48 57 4e 44 tScrollProp(HWND
32410 2c 20 55 49 4e 54 20 69 6e 64 65 78 2c 20 49 4e , UINT index, IN
32420 54 5f 50 54 52 20 6e 65 77 56 61 6c 75 65 2c 20 T_PTR newValue,
32430 42 4f 4f 4c 29 3b 0d 0a 61 6c 69 61 73 20 46 6c BOOL);..alias Fl
32440 61 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 50 72 atSB_SetScrollPr
32450 6f 70 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72 op FlatSB_SetScr
32460 6f 6c 6c 50 72 6f 70 50 74 72 3b 0d 0a 0d 0a 65 ollPropPtr;....e
32470 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
32480 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e 69 74 69 xport BOOL Initi
32490 61 6c 69 7a 65 46 6c 61 74 53 42 28 48 57 4e 44 alizeFlatSB(HWND
324a0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f );..extern(Windo
324b0 77 73 29 20 65 78 70 6f 72 74 20 48 52 45 53 55 ws) export HRESU
324c0 4c 54 20 55 6e 69 6e 69 74 69 61 6c 69 7a 65 46 LT UninitializeF
324d0 6c 61 74 53 42 28 48 57 4e 44 29 3b 0d 0a 0d 0a latSB(HWND);....
324e0 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 20 4e // #endif // N
324f0 4f 46 4c 41 54 53 42 41 50 49 53 0d 0a 0d 0a 2f OFLATSBAPIS..../
32500 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f / #endif //
32510 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 _WIN32_IE >= 0x
32520 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 0400....// #endi
32530 66 20 2f 2a 20 5f 57 49 4e 33 32 20 2a 2f 0d 0a f /* _WIN32 */..
32540 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 ..// #endif
32550 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d // _WIN32_IE >=
32560 20 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69 0x0300....// #i
32570 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 f (_WIN32_WINNT
32580 3e 3d 20 30 78 35 30 31 29 0d 0a 0d 0a 65 78 74 >= 0x501)....ext
32590 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 ern(Windows) ali
325a0 61 73 20 4c 52 45 53 55 4c 54 20 66 75 6e 63 74 as LRESULT funct
325b0 69 6f 6e 28 48 57 4e 44 20 68 57 6e 64 2c 20 55 ion(HWND hWnd, U
325c0 49 4e 54 20 75 4d 73 67 2c 20 57 50 41 52 41 4d INT uMsg, WPARAM
325d0 20 77 50 61 72 61 6d 2c 20 4c 50 41 52 41 4d 20 wParam, LPARAM
325e0 6c 50 61 72 61 6d 2c 20 55 49 4e 54 5f 50 54 52 lParam, UINT_PTR
325f0 20 75 49 64 53 75 62 63 6c 61 73 73 2c 20 44 57 uIdSubclass, DW
32600 4f 52 44 5f 50 54 52 20 64 77 52 65 66 44 61 74 ORD_PTR dwRefDat
32610 61 29 20 53 55 42 43 4c 41 53 53 50 52 4f 43 3b a) SUBCLASSPROC;
32620 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f ....extern(Windo
32630 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 ws) export BOOL
32640 53 65 74 57 69 6e 64 6f 77 53 75 62 63 6c 61 73 SetWindowSubclas
32650 73 28 48 57 4e 44 20 68 57 6e 64 2c 20 53 55 42 s(HWND hWnd, SUB
32660 43 4c 41 53 53 50 52 4f 43 20 70 66 6e 53 75 62 CLASSPROC pfnSub
32670 63 6c 61 73 73 2c 20 55 49 4e 54 5f 50 54 52 20 class, UINT_PTR
32680 75 49 64 53 75 62 63 6c 61 73 73 2c 0d 0a 20 20 uIdSubclass,..
32690 44 57 4f 52 44 5f 50 54 52 20 64 77 52 65 66 44 DWORD_PTR dwRefD
326a0 61 74 61 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 ata);..extern(Wi
326b0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f ndows) export BO
326c0 4f 4c 20 47 65 74 57 69 6e 64 6f 77 53 75 62 63 OL GetWindowSubc
326d0 6c 61 73 73 28 48 57 4e 44 20 68 57 6e 64 2c 20 lass(HWND hWnd,
326e0 53 55 42 43 4c 41 53 53 50 52 4f 43 20 70 66 6e SUBCLASSPROC pfn
326f0 53 75 62 63 6c 61 73 73 2c 20 55 49 4e 54 5f 50 Subclass, UINT_P
32700 54 52 20 75 49 64 53 75 62 63 6c 61 73 73 2c 0d TR uIdSubclass,.
32710 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 2a 70 64 . DWORD_PTR *pd
32720 77 52 65 66 44 61 74 61 29 3b 0d 0a 65 78 74 65 wRefData);..exte
32730 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f rn(Windows) expo
32740 72 74 20 42 4f 4f 4c 20 52 65 6d 6f 76 65 57 69 rt BOOL RemoveWi
32750 6e 64 6f 77 53 75 62 63 6c 61 73 73 28 48 57 4e ndowSubclass(HWN
32760 44 20 68 57 6e 64 2c 20 53 55 42 43 4c 41 53 53 D hWnd, SUBCLASS
32770 50 52 4f 43 20 70 66 6e 53 75 62 63 6c 61 73 73 PROC pfnSubclass
32780 2c 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75 49 ,.. UINT_PTR uI
32790 64 53 75 62 63 6c 61 73 73 29 3b 0d 0a 0d 0a 65 dSubclass);....e
327a0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
327b0 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20 44 65 xport LRESULT De
327c0 66 53 75 62 63 6c 61 73 73 50 72 6f 63 28 48 57 fSubclassProc(HW
327d0 4e 44 20 68 57 6e 64 2c 20 55 49 4e 54 20 75 4d ND hWnd, UINT uM
327e0 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61 72 61 sg, WPARAM wPara
327f0 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d m, LPARAM lParam
32800 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d );..// #endif...
32810 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
32820 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d WINNT >= 0x501).
32830 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ...extern(Window
32840 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 44 72 s) export int Dr
32850 61 77 53 68 61 64 6f 77 54 65 78 74 28 48 44 43 awShadowText(HDC
32860 20 68 64 63 2c 20 4c 50 43 57 53 54 52 20 70 73 hdc, LPCWSTR ps
32870 7a 54 65 78 74 2c 20 55 49 4e 54 20 63 63 68 2c zText, UINT cch,
32880 20 52 45 43 54 2a 20 70 72 63 2c 20 44 57 4f 52 RECT* prc, DWOR
32890 44 20 64 77 46 6c 61 67 73 2c 20 43 4f 4c 4f 52 D dwFlags, COLOR
328a0 52 45 46 20 63 72 54 65 78 74 2c 20 43 4f 4c 4f REF crText, COLO
328b0 52 52 45 46 20 63 72 53 68 61 64 6f 77 2c 0d 0a RREF crShadow,..
328c0 20 20 69 6e 74 20 69 78 4f 66 66 73 65 74 2c 20 int ixOffset,
328d0 69 6e 74 20 69 79 4f 66 66 73 65 74 29 3b 0d 0a int iyOffset);..
328e0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
328f0 23 69 66 20 21 64 65 66 69 6e 65 64 28 52 43 5f #if !defined(RC_
32900 49 4e 56 4f 4b 45 44 29 20 2f 2a 20 52 43 20 63 INVOKED) /* RC c
32910 6f 6d 70 6c 61 69 6e 73 20 61 62 6f 75 74 20 6c omplains about l
32920 6f 6e 67 20 73 79 6d 62 6f 6c 73 20 69 6e 20 23 ong symbols in #
32930 69 66 73 20 2a 2f 0d 0a 2f 2f 20 23 69 66 20 49 ifs */..// #if I
32940 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45 5f 45 SOLATION_AWARE_E
32950 4e 41 42 4c 45 44 0d 0a 0d 0a 2f 2f 20 23 69 66 NABLED....// #if
32960 20 21 64 65 66 69 6e 65 64 28 49 53 4f 4c 41 54 !defined(ISOLAT
32970 49 4f 4e 5f 41 57 41 52 45 5f 49 4e 4c 49 4e 45 ION_AWARE_INLINE
32980 29 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 )..// #if define
32990 64 28 5f 5f 63 70 6c 75 73 70 6c 75 73 29 0d 0a d(__cplusplus)..
329a0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 // #.....// #els
329b0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 e..// #.....// #
329c0 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 endif..// #endif
329d0 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
329e0 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 64 65 66 .....// #if def
329f0 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d 5f 49 ined(__IStream_I
32a00 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e 45 44 NTERFACE_DEFINED
32a10 5f 5f 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 __)..// .....//
32a20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 49 53 #if defined(__IS
32a30 74 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45 5f tream_INTERFACE_
32a40 44 45 46 49 4e 45 44 5f 5f 29 20 26 26 20 20 28 DEFINED__) && (
32a50 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 _WIN32_WINNT >=
32a60 30 78 30 35 30 31 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0x0501)..// ....
32a70 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 64 65 .// #endif /* de
32a80 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d 5f fined(__IStream_
32a90 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e 45 INTERFACE_DEFINE
32aa0 44 5f 5f 29 20 26 26 20 20 28 5f 57 49 4e 33 32 D__) && (_WIN32
32ab0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 _WINNT >= 0x0501
32ac0 29 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 ) */..// #endif
32ad0 2f 2a 20 64 65 66 69 6e 65 64 28 5f 5f 49 53 74 /* defined(__ISt
32ae0 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45 5f 44 ream_INTERFACE_D
32af0 45 46 49 4e 45 44 5f 5f 29 20 2a 2f 0d 0a 2f 2f EFINED__) */..//
32b00 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 21 64 65 .....// #if !de
32b10 66 69 6e 65 64 28 4e 4f 54 52 41 43 4b 4d 4f 55 fined(NOTRACKMOU
32b20 53 45 45 56 45 4e 54 29 0d 0a 2f 2f 20 2e 2e 2e SEEVENT)..// ...
32b30 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21 ..// #endif /* !
32b40 64 65 66 69 6e 65 64 28 4e 4f 54 52 41 43 4b 4d defined(NOTRACKM
32b50 4f 55 53 45 45 56 45 4e 54 29 20 2a 2f 0d 0a 2f OUSEEVENT) */../
32b60 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 28 5f / .....// #if (_
32b70 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 36 WIN32_IE >= 0x56
32b80 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 0)..// .....// #
32b90 65 6e 64 69 66 20 2f 2a 20 28 5f 57 49 4e 33 32 endif /* (_WIN32
32ba0 5f 49 45 20 3e 3d 20 30 78 35 36 30 29 20 2a 2f _IE >= 0x560) */
32bb0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 ..// .......// #
32bc0 69 66 20 64 65 66 69 6e 65 64 28 55 4e 49 43 4f if defined(UNICO
32bd0 44 45 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a DE)....// #.....
32be0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
32bf0 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f 2a 20 ....// #else /*
32c00 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a 2f 2f UNICODE */....//
32c10 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
32c20 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 // #.......// #e
32c30 6e 64 69 66 20 2f 2a 20 55 4e 49 43 4f 44 45 20 ndif /* UNICODE
32c40 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a */....// .......
32c50 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
32c60 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
32c70 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
32c80 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
32c90 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
32ca0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
32cb0 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
32cc0 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
32cd0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
32ce0 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
32cf0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
32d00 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
32d10 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
32d20 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
32d30 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
32d40 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
32d50 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
32d60 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 .......// #if d
32d70 65 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d efined(__IStream
32d80 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e _INTERFACE_DEFIN
32d90 45 44 5f 5f 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d ED__)....// ....
32da0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 ...// .......//
32db0 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 49 53 #if defined(__IS
32dc0 74 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45 5f tream_INTERFACE_
32dd0 44 45 46 49 4e 45 44 5f 5f 29 20 26 26 20 20 28 DEFINED__) && (
32de0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 _WIN32_WINNT >=
32df0 30 78 30 35 30 31 29 0d 0a 0d 0a 2f 2f 20 2e 2e 0x0501)....// ..
32e00 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f .....// ......./
32e10 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d / .......// ....
32e20 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 ...// #endif /*
32e30 64 65 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 defined(__IStrea
32e40 6d 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 m_INTERFACE_DEFI
32e50 4e 45 44 5f 5f 29 20 26 26 20 20 28 5f 57 49 4e NED__) && (_WIN
32e60 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 32_WINNT >= 0x05
32e70 30 31 29 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 01) */..// #endi
32e80 66 20 2f 2a 20 64 65 66 69 6e 65 64 28 5f 5f 49 f /* defined(__I
32e90 53 74 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45 Stream_INTERFACE
32ea0 5f 44 45 46 49 4e 45 44 5f 5f 29 20 2a 2f 0d 0a _DEFINED__) */..
32eb0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
32ec0 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
32ed0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
32ee0 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
32ef0 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
32f00 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
32f10 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
32f20 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
32f30 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
32f40 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
32f50 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
32f60 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
32f70 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 // .......// #if
32f80 20 21 64 65 66 69 6e 65 64 28 4e 4f 54 52 41 43 !defined(NOTRAC
32f90 4b 4d 4f 55 53 45 45 56 45 4e 54 29 0d 0a 0d 0a KMOUSEEVENT)....
32fa0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e // .......// #en
32fb0 64 69 66 20 2f 2a 20 21 64 65 66 69 6e 65 64 28 dif /* !defined(
32fc0 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e NOTRACKMOUSEEVEN
32fd0 54 29 20 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d T) */....// ....
32fe0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 ...// .......//
32ff0 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d .......// ......
33000 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e .// .......// ..
33010 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 .....// .....//
33020 23 69 66 20 64 65 66 69 6e 65 64 28 5f 57 49 4e #if defined(_WIN
33030 36 34 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 64)..// .....//
33040 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f #else..// ...../
33050 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 2e 2e 2e / #endif..// ...
33060 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
33070 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
33080 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
33090 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
330a0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 // .......// #if
330b0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0
330c0 78 35 36 30 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d x560)....// ....
330d0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 ...// .......//
330e0 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 .......// #endif
330f0 20 2f 2a 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e /* (_WIN32_IE >
33100 3d 20 30 78 35 36 30 29 20 2a 2f 0d 0a 0d 0a 2f = 0x560) */..../
33110 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d / .......// ....
33120 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 ...// .......//
33130 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
33140 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
33150 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
33160 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
33170 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
33180 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
33190 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
331a0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69 ..// #.....// #i
331b0 66 20 64 65 66 69 6e 65 64 28 46 6c 61 74 53 42 f defined(FlatSB
331c0 5f 47 65 74 53 63 72 6f 6c 6c 50 72 6f 70 50 74 _GetScrollPropPt
331d0 72 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 r)..// #.....//
331e0 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 2e 2e 2e 0d #endif..// #....
331f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
33200 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
33210 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
33220 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
33230 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
33240 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
33250 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
33260 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
33270 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
33280 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
33290 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
332a0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
332b0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
332c0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
332d0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
332e0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
332f0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
33300 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
33310 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
33320 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
33330 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
33340 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
33350 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
33360 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
33370 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
33380 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
33390 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
333a0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
333b0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
333c0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
333d0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
333e0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
333f0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a ....// #endif /*
33400 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45 ISOLATION_AWARE
33410 5f 45 4e 41 42 4c 45 44 20 2a 2f 0d 0a 2f 2f 20 _ENABLED */..//
33420 23 65 6e 64 69 66 20 2f 2a 20 52 43 20 2a 2f 0d #endif /* RC */.
33430 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 ...// #ifdef __c
33440 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a plusplus..// }..
33450 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
33460 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e #endif....// #en
33470 64 69 66 20 20 2f 2f 20 5f 49 4e 43 5f 43 4f 4d dif // _INC_COM
33480 4d 43 54 52 4c 0d 0a 0d 0a MCTRL....