Hex Artifact Content

Not logged in

Artifact fd91582c043f20e07983a4ac8d63648081564ba0:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 63 6f 6d 6d 63 74 72 6c 3b 0d 0a 0d 0a 2f  i.commctrl;..../
0020: 2f 20 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f  / Translated fro
0030: 6d 20 4d 69 63 72 6f 73 6f 66 74 20 50 6c 61 74  m Microsoft Plat
0040: 66 6f 72 6d 20 53 44 4b 20 41 75 67 75 73 74 20  form SDK August 
0050: 32 30 30 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f  2001 Edition..//
0060: 20 62 79 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65   by Y.Tomino (de
0070: 6d 6f 6f 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a  moonlit@inter7.j
0080: 70 29 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e  p)....import win
0090: 33 32 2e 61 6e 73 69 2e 77 69 6e 75 73 65 72 3b  32.ansi.winuser;
00a0: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 20 5f 50 53  ..alias void _PS
00b0: 50 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 20 5f  P;..alias void _
00c0: 49 4d 41 47 45 4c 49 53 54 3b 0d 0a 61 6c 69 61  IMAGELIST;..alia
00d0: 73 20 76 6f 69 64 20 5f 54 52 45 45 49 54 45 4d  s void _TREEITEM
00e0: 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 42 53 41 56  ;..alias LPTBSAV
00f0: 45 50 41 52 41 4d 57 20 4c 50 54 42 53 41 56 45  EPARAMW LPTBSAVE
0100: 50 41 52 41 4d 53 57 3b 0d 0a 61 6c 69 61 73 20  PARAMSW;..alias 
0110: 50 43 43 4f 4d 42 4f 45 58 49 54 45 4d 41 20 50  PCCOMBOEXITEMA P
0120: 43 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41  CCOMBOBOXEXITEMA
0130: 3b 0d 0a 61 6c 69 61 73 20 50 43 43 4f 4d 42 4f  ;..alias PCCOMBO
0140: 45 58 49 54 45 4d 57 20 50 43 43 4f 4d 42 4f 42  EXITEMW PCCOMBOB
0150: 4f 58 45 58 49 54 45 4d 57 3b 0d 0a 65 6e 75 6d  OXEXITEMW;..enum
0160: 20 3a 20 75 69 6e 74 20 7b 20 0d 0a 20 20 4e 4d   : uint { ..  NM
0170: 5f 46 49 52 53 54 20 3d 20 30 2c 0d 0a 20 20 53  _FIRST = 0,..  S
0180: 42 5f 53 45 54 54 49 50 54 45 58 54 41 20 3d 20  B_SETTIPTEXTA = 
0190: 57 4d 5f 55 53 45 52 20 2b 20 31 36 2c 0d 0a 20  WM_USER + 16,.. 
01a0: 20 53 42 5f 53 45 54 54 49 50 54 45 58 54 57 20   SB_SETTIPTEXTW 
01b0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 37 2c 0d  = WM_USER + 17,.
01c0: 0a 20 20 53 42 5f 47 45 54 54 49 50 54 45 58 54  .  SB_GETTIPTEXT
01d0: 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 38  A = WM_USER + 18
01e0: 2c 0d 0a 20 20 53 42 5f 47 45 54 54 49 50 54 45  ,..  SB_GETTIPTE
01f0: 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  XTW = WM_USER + 
0200: 31 39 2c 0d 0a 20 20 54 56 48 54 5f 4f 4e 49 54  19,..  TVHT_ONIT
0210: 45 4d 53 54 41 54 45 49 43 4f 4e 20 3d 20 30 78  EMSTATEICON = 0x
0220: 30 30 34 30 2c 0d 0a 20 20 43 42 45 4e 5f 46 49  0040,..  CBEN_FI
0230: 52 53 54 20 3d 20 30 55 20 2d 20 38 30 30 55 2c  RST = 0U - 800U,
0240: 0d 0a 20 20 43 42 45 4e 5f 47 45 54 44 49 53 50  ..  CBEN_GETDISP
0250: 49 4e 46 4f 41 20 3d 20 43 42 45 4e 5f 46 49 52  INFOA = CBEN_FIR
0260: 53 54 20 2d 20 30 2c 0d 0a 20 20 43 42 45 4e 5f  ST - 0,..  CBEN_
0270: 47 45 54 44 49 53 50 49 4e 46 4f 57 20 3d 20 43  GETDISPINFOW = C
0280: 42 45 4e 5f 46 49 52 53 54 20 2d 20 37 0d 0a 7d  BEN_FIRST - 7..}
0290: 0d 0a 2f 2f 20 69 6e 6c 69 6e 65 20 23 69 6e 63  ..// inline #inc
02a0: 6c 75 64 65 20 3c 70 72 73 68 74 2e 68 3e 0d 0a  lude <prsht.h>..
02b0: 2f 2f 20 2d 2d 2d 2d 0d 0a 0d 0a 2f 2f 20 23 69  // ----....// #i
02c0: 66 6e 64 65 66 20 5f 50 52 53 48 54 5f 48 5f 0d  fndef _PRSHT_H_.
02d0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 50 52 53  .// #define _PRS
02e0: 48 54 5f 48 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  HT_H_....// #ifn
02f0: 64 65 66 20 5f 57 49 4e 52 45 53 52 43 5f 0d 0a  def _WINRESRC_..
0300: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 33  // #ifndef _WIN3
0310: 32 5f 49 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  2_IE..// #...../
0320: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 69 66 20  / #else..// #if 
0330: 28 5f 57 49 4e 33 32 5f 49 45 20 3c 20 30 78 30  (_WIN32_IE < 0x0
0340: 34 30 30 29 20 26 26 20 64 65 66 69 6e 65 64 28  400) && defined(
0350: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 29 20 26 26  _WIN32_WINNT) &&
0360: 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
0370: 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f 20 23 2e  = 0x0500)..// #.
0380: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
0390: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
03a0: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  dif....// #ifnde
03b0: 66 20 57 49 4e 43 4f 4d 4d 43 54 52 4c 41 50 49  f WINCOMMCTRLAPI
03c0: 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65  ..// #if !define
03d0: 64 28 5f 43 4f 4d 43 54 4c 33 32 5f 29 20 26 26  d(_COMCTL32_) &&
03e0: 20 64 65 66 69 6e 65 64 28 5f 57 49 4e 33 32 29   defined(_WIN32)
03f0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57 49 4e  ..// #define WIN
0400: 43 4f 4d 4d 43 54 52 4c 41 50 49 20 44 45 43 4c  COMMCTRLAPI DECL
0410: 53 50 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f 2f 20  SPEC_IMPORT..// 
0420: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
0430: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65  // #endif..// #e
0440: 6e 64 69 66 20 2f 2f 20 57 49 4e 43 4f 4d 4d 43  ndif // WINCOMMC
0450: 54 52 4c 41 50 49 0d 0a 0d 0a 2f 2f 20 23 69 66  TRLAPI....// #if
0460: 6e 64 65 66 20 43 43 53 49 5a 45 4f 46 5f 53 54  ndef CCSIZEOF_ST
0470: 52 55 43 54 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  RUCT..// #define
0480: 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54   CCSIZEOF_STRUCT
0490: 28 73 74 72 75 63 74 6e 61 6d 65 2c 20 6d 65 6d  (structname, mem
04a0: 62 65 72 29 20 28 28 28 69 6e 74 29 28 28 4c 50  ber) (((int)((LP
04b0: 42 59 54 45 29 28 26 28 28 73 74 72 75 63 74 6e  BYTE)(&((structn
04c0: 61 6d 65 2a 29 30 29 2d 3e 6d 65 6d 62 65 72 29  ame*)0)->member)
04d0: 20 2d 20 28 28 4c 50 42 59 54 45 29 28 28 73 74   - ((LPBYTE)((st
04e0: 72 75 63 74 6e 61 6d 65 2a 29 30 29 29 29 29 20  ructname*)0)))) 
04f0: 2b 20 73 69 7a 65 6f 66 28 28 28 73 74 72 75 63  + sizeof(((struc
0500: 74 6e 61 6d 65 2a 29 30 29 2d 3e 6d 65 6d 62 65  tname*)0)->membe
0510: 72 29 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  r))..// #endif..
0520: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 44 55 4d  ..// #ifndef DUM
0530: 4d 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a 2f 2f 20  MYUNIONNAME..// 
0540: 23 69 66 64 65 66 20 4e 4f 4e 41 4d 45 4c 45 53  #ifdef NONAMELES
0550: 53 55 4e 49 4f 4e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  SUNION..// #....
0560: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
0570: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
0580: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
0590: 2f 20 23 64 65 66 69 6e 65 20 44 55 4d 4d 59 55  / #define DUMMYU
05a0: 4e 49 4f 4e 4e 41 4d 45 0d 0a 2f 2f 20 23 64 65  NIONNAME..// #de
05b0: 66 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e  fine DUMMYUNIONN
05c0: 41 4d 45 32 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  AME2..// #define
05d0: 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 33   DUMMYUNIONNAME3
05e0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 55 4d  ..// #define DUM
05f0: 4d 59 55 4e 49 4f 4e 4e 41 4d 45 34 0d 0a 2f 2f  MYUNIONNAME4..//
0600: 20 23 64 65 66 69 6e 65 20 44 55 4d 4d 59 55 4e   #define DUMMYUN
0610: 49 4f 4e 4e 41 4d 45 35 0d 0a 2f 2f 20 23 65 6e  IONNAME5..// #en
0620: 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  dif..// #endif /
0630: 2f 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45  / DUMMYUNIONNAME
0640: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
0650: 49 4e 36 34 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  IN64..// #...../
0660: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 67 6e 28 34  / #else..align(4
0670: 29 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ):..// #endif...
0680: 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c  .// #ifdef __cpl
0690: 75 73 70 6c 75 73 0d 0a 2f 2f 20 65 78 74 65 72  usplus..// exter
06a0: 6e 20 22 43 22 20 7b 0d 0a 2f 2f 20 23 65 6e 64  n "C" {..// #end
06b0: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  if....// #ifndef
06c0: 20 53 4e 44 4d 53 47 0d 0a 2f 2f 20 23 69 66 64   SNDMSG..// #ifd
06d0: 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a  ef __cplusplus..
06e0: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d  // #ifndef _MAC.
06f0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e 44 4d  .// #define SNDM
0700: 53 47 20 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65  SG ::SendMessage
0710: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
0720: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
0730: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 69 66  // #else..// #if
0740: 6e 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 23 2e  ndef _MAC..// #.
0750: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
0760: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
0770: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
0780: 23 65 6e 64 69 66 20 2f 2f 20 69 66 6e 64 65 66  #endif // ifndef
0790: 20 53 4e 44 4d 53 47 0d 0a 0d 0a 65 6e 75 6d 20   SNDMSG....enum 
07a0: 3a 20 75 69 6e 74 20 7b 20 4d 41 58 50 52 4f 50  : uint { MAXPROP
07b0: 50 41 47 45 53 20 3d 20 31 30 30 20 7d 0d 0a 0d  PAGES = 100 }...
07c0: 0a 2f 2f 20 73 74 72 75 63 74 20 5f 50 53 50 3b  .// struct _PSP;
07d0: 0d 0a 61 6c 69 61 73 20 5f 50 53 50 2a 20 48 50  ..alias _PSP* HP
07e0: 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 0d  ROPSHEETPAGE;...
07f0: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4d 49 44 4c  .// #ifndef MIDL
0800: 5f 50 41 53 53 0d 0a 2f 2f 20 73 74 72 75 63 74  _PASS..// struct
0810: 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 41   _PROPSHEETPAGEA
0820: 3b 0d 0a 2f 2f 20 73 74 72 75 63 74 20 5f 50 52  ;..// struct _PR
0830: 4f 50 53 48 45 45 54 50 41 47 45 57 3b 0d 0a 2f  OPSHEETPAGEW;../
0840: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65  / #endif....exte
0850: 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61  rn(Windows) alia
0860: 73 20 55 49 4e 54 20 66 75 6e 63 74 69 6f 6e 28  s UINT function(
0870: 48 57 4e 44 20 68 77 6e 64 2c 20 55 49 4e 54 20  HWND hwnd, UINT 
0880: 75 4d 73 67 2c 20 20 5f 50 52 4f 50 53 48 45 45  uMsg,  _PROPSHEE
0890: 54 50 41 47 45 41 20 2a 70 70 73 70 29 20 4c 50  TPAGEA *ppsp) LP
08a0: 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 41 3b 0d  FNPSPCALLBACKA;.
08b0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
08c0: 20 61 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63   alias UINT func
08d0: 74 69 6f 6e 28 48 57 4e 44 20 68 77 6e 64 2c 20  tion(HWND hwnd, 
08e0: 55 49 4e 54 20 75 4d 73 67 2c 20 20 5f 50 52 4f  UINT uMsg,  _PRO
08f0: 50 53 48 45 45 54 50 41 47 45 57 20 2a 70 70 73  PSHEETPAGEW *pps
0900: 70 29 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41  p) LPFNPSPCALLBA
0910: 43 4b 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  CKW;....// #ifde
0920: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
0930: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
0940: 69 61 73 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42  ias LPFNPSPCALLB
0950: 41 43 4b 41 20 4c 50 46 4e 50 53 50 43 41 4c 4c  ACKA LPFNPSPCALL
0960: 42 41 43 4b 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  BACK;..// #endif
0970: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
0980: 7b 20 50 53 50 5f 44 45 46 41 55 4c 54 20 3d 20  { PSP_DEFAULT = 
0990: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
09a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f  um : uint { PSP_
09b0: 44 4c 47 49 4e 44 49 52 45 43 54 20 3d 20 30 78  DLGINDIRECT = 0x
09c0: 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
09d0: 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55 53   : uint { PSP_US
09e0: 45 48 49 43 4f 4e 20 3d 20 30 78 30 30 30 30 30  EHICON = 0x00000
09f0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
0a00: 6e 74 20 7b 20 50 53 50 5f 55 53 45 49 43 4f 4e  nt { PSP_USEICON
0a10: 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  ID = 0x00000004 
0a20: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0a30: 20 50 53 50 5f 55 53 45 54 49 54 4c 45 20 3d 20   PSP_USETITLE = 
0a40: 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
0a50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f  um : uint { PSP_
0a60: 52 54 4c 52 45 41 44 49 4e 47 20 3d 20 30 78 30  RTLREADING = 0x0
0a70: 30 30 30 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75  0000010 }....enu
0a80: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 48  m : uint { PSP_H
0a90: 41 53 48 45 4c 50 20 3d 20 30 78 30 30 30 30 30  ASHELP = 0x00000
0aa0: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
0ab0: 6e 74 20 7b 20 50 53 50 5f 55 53 45 52 45 46 50  nt { PSP_USEREFP
0ac0: 41 52 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30  ARENT = 0x000000
0ad0: 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
0ae0: 74 20 7b 20 50 53 50 5f 55 53 45 43 41 4c 4c 42  t { PSP_USECALLB
0af0: 41 43 4b 20 3d 20 30 78 30 30 30 30 30 30 38 30  ACK = 0x00000080
0b00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
0b10: 7b 20 50 53 50 5f 50 52 45 4d 41 54 55 52 45 20  { PSP_PREMATURE 
0b20: 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a  = 0x00000400 }..
0b30: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
0b40: 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
0b50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0b60: 50 53 50 5f 48 49 44 45 48 45 41 44 45 52 20 3d  PSP_HIDEHEADER =
0b70: 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65   0x00000800 }..e
0b80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50  num : uint { PSP
0b90: 5f 55 53 45 48 45 41 44 45 52 54 49 54 4c 45 20  _USEHEADERTITLE 
0ba0: 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a  = 0x00001000 }..
0bb0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
0bc0: 50 5f 55 53 45 48 45 41 44 45 52 53 55 42 54 49  P_USEHEADERSUBTI
0bd0: 54 4c 45 20 3d 20 30 78 30 30 30 30 32 30 30 30  TLE = 0x00002000
0be0: 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   }....// #endif.
0bf0: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
0c00: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
0c10: 20 7c 7c 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57   || ISOLATION_AW
0c20: 41 52 45 5f 45 4e 41 42 4c 45 44 0d 0a 65 6e 75  ARE_ENABLED..enu
0c30: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55  m : uint { PSP_U
0c40: 53 45 46 55 53 49 4f 4e 43 4f 4e 54 45 58 54 20  SEFUSIONCONTEXT 
0c50: 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d 0a  = 0x00004000 }..
0c60: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
0c70: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
0c80: 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0500)..enum 
0c90: 3a 20 75 69 6e 74 20 7b 20 50 53 50 43 42 5f 41  : uint { PSPCB_A
0ca0: 44 44 52 45 46 20 3d 20 30 20 7d 0d 0a 2f 2f 20  DDREF = 0 }..// 
0cb0: 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75  #endif..enum : u
0cc0: 69 6e 74 20 7b 20 50 53 50 43 42 5f 52 45 4c 45  int { PSPCB_RELE
0cd0: 41 53 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  ASE = 1 }..enum 
0ce0: 3a 20 75 69 6e 74 20 7b 20 50 53 50 43 42 5f 43  : uint { PSPCB_C
0cf0: 52 45 41 54 45 20 3d 20 32 20 7d 0d 0a 0d 0a 2f  REATE = 2 }..../
0d00: 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53 48  / #define PROPSH
0d10: 45 45 54 50 41 47 45 41 5f 56 31 5f 53 49 5a 45  EETPAGEA_V1_SIZE
0d20: 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54   CCSIZEOF_STRUCT
0d30: 28 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 2c  (PROPSHEETPAGEA,
0d40: 20 70 63 52 65 66 50 61 72 65 6e 74 29 0d 0a 2f   pcRefParent)../
0d50: 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53 48  / #define PROPSH
0d60: 45 45 54 50 41 47 45 57 5f 56 31 5f 53 49 5a 45  EETPAGEW_V1_SIZE
0d70: 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54   CCSIZEOF_STRUCT
0d80: 28 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 2c  (PROPSHEETPAGEW,
0d90: 20 70 63 52 65 66 50 61 72 65 6e 74 29 0d 0a 0d   pcRefParent)...
0da0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50  .// #define PROP
0db0: 53 48 45 45 54 50 41 47 45 41 5f 56 32 5f 53 49  SHEETPAGEA_V2_SI
0dc0: 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55  ZE CCSIZEOF_STRU
0dd0: 43 54 28 50 52 4f 50 53 48 45 45 54 50 41 47 45  CT(PROPSHEETPAGE
0de0: 41 2c 20 70 73 7a 48 65 61 64 65 72 53 75 62 54  A, pszHeaderSubT
0df0: 69 74 6c 65 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  itle)..// #defin
0e00: 65 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 57  e PROPSHEETPAGEW
0e10: 5f 56 32 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f  _V2_SIZE CCSIZEO
0e20: 46 5f 53 54 52 55 43 54 28 50 52 4f 50 53 48 45  F_STRUCT(PROPSHE
0e30: 45 54 50 41 47 45 57 2c 20 70 73 7a 48 65 61 64  ETPAGEW, pszHead
0e40: 65 72 53 75 62 54 69 74 6c 65 29 0d 0a 0d 0a 2f  erSubTitle)..../
0e50: 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
0e60: 0a 61 6c 69 61 73 20 4c 50 43 44 4c 47 54 45 4d  .alias LPCDLGTEM
0e70: 50 4c 41 54 45 20 50 52 4f 50 53 48 45 45 54 50  PLATE PROPSHEETP
0e80: 41 47 45 5f 52 45 53 4f 55 52 43 45 3b 0d 0a 2f  AGE_RESOURCE;../
0e90: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
0ea0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
0eb0: 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53 48 45   #define PROPSHE
0ec0: 45 54 50 41 47 45 41 5f 56 31 5f 46 49 45 4c 44  ETPAGEA_V1_FIELD
0ed0: 53 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 20  S DWORD dwSize; 
0ee0: 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 20 48  DWORD dwFlags; H
0ef0: 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
0f00: 63 65 3b 20 75 6e 69 6f 6e 20 7b 20 4c 50 43 53  ce; union { LPCS
0f10: 54 52 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 20  TR pszTemplate; 
0f20: 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 52 45  PROPSHEETPAGE_RE
0f30: 53 4f 55 52 43 45 20 70 52 65 73 6f 75 72 63 65  SOURCE pResource
0f40: 3b 20 7d 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41  ; } DUMMYUNIONNA
0f50: 4d 45 3b 20 75 6e 69 6f 6e 20 7b 20 48 49 43 4f  ME; union { HICO
0f60: 4e 20 68 49 63 6f 6e 3b 20 4c 50 43 53 54 52 20  N hIcon; LPCSTR 
0f70: 70 73 7a 49 63 6f 6e 3b 20 7d 20 44 55 4d 4d 59  pszIcon; } DUMMY
0f80: 55 4e 49 4f 4e 4e 41 4d 45 32 3b 20 4c 50 43 53  UNIONNAME2; LPCS
0f90: 54 52 20 70 73 7a 54 69 74 6c 65 3b 20 44 4c 47  TR pszTitle; DLG
0fa0: 50 52 4f 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b  PROC pfnDlgProc;
0fb0: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 20   LPARAM lParam; 
0fc0: 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 41  LPFNPSPCALLBACKA
0fd0: 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 20 55 49   pfnCallback; UI
0fe0: 4e 54 20 2a 70 63 52 65 66 50 61 72 65 6e 74 3b  NT *pcRefParent;
0ff0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f  ..// #define PRO
1000: 50 53 48 45 45 54 50 41 47 45 57 5f 56 31 5f 46  PSHEETPAGEW_V1_F
1010: 49 45 4c 44 53 20 44 57 4f 52 44 20 64 77 53 69  IELDS DWORD dwSi
1020: 7a 65 3b 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ze; DWORD dwFlag
1030: 73 3b 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e  s; HINSTANCE hIn
1040: 73 74 61 6e 63 65 3b 20 75 6e 69 6f 6e 20 7b 20  stance; union { 
1050: 4c 50 43 57 53 54 52 20 70 73 7a 54 65 6d 70 6c  LPCWSTR pszTempl
1060: 61 74 65 3b 20 50 52 4f 50 53 48 45 45 54 50 41  ate; PROPSHEETPA
1070: 47 45 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73  GE_RESOURCE pRes
1080: 6f 75 72 63 65 3b 20 7d 20 44 55 4d 4d 59 55 4e  ource; } DUMMYUN
1090: 49 4f 4e 4e 41 4d 45 3b 20 75 6e 69 6f 6e 20 7b  IONNAME; union {
10a0: 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 20 4c 50   HICON hIcon; LP
10b0: 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b 20 7d  CWSTR pszIcon; }
10c0: 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 32   DUMMYUNIONNAME2
10d0: 3b 20 4c 50 43 57 53 54 52 20 70 73 7a 54 69 74  ; LPCWSTR pszTit
10e0: 6c 65 3b 20 44 4c 47 50 52 4f 43 20 70 66 6e 44  le; DLGPROC pfnD
10f0: 6c 67 50 72 6f 63 3b 20 4c 50 41 52 41 4d 20 6c  lgProc; LPARAM l
1100: 50 61 72 61 6d 3b 20 4c 50 46 4e 50 53 50 43 41  Param; LPFNPSPCA
1110: 4c 4c 42 41 43 4b 57 20 70 66 6e 43 61 6c 6c 62  LLBACKW pfnCallb
1120: 61 63 6b 3b 20 55 49 4e 54 20 2a 70 63 52 65 66  ack; UINT *pcRef
1130: 50 61 72 65 6e 74 3b 0d 0a 2f 2f 20 23 69 66 20  Parent;..// #if 
1140: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
1150: 20 30 78 30 35 30 31 29 20 7c 7c 20 49 53 4f 4c   0x0501) || ISOL
1160: 41 54 49 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42  ATION_AWARE_ENAB
1170: 4c 45 44 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50  LED..alias _PROP
1180: 53 48 45 45 54 50 41 47 45 41 5f 56 33 20 5f 50  SHEETPAGEA_V3 _P
1190: 52 4f 50 53 48 45 45 54 50 41 47 45 41 3b 0d 0a  ROPSHEETPAGEA;..
11a0: 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54  alias _PROPSHEET
11b0: 50 41 47 45 57 5f 56 33 20 5f 50 52 4f 50 53 48  PAGEW_V3 _PROPSH
11c0: 45 45 54 50 41 47 45 57 3b 0d 0a 2f 2f 20 23 65  EETPAGEW;..// #e
11d0: 6c 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  lif (_WIN32_IE >
11e0: 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 2e  = 0x0400)..// #.
11f0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
1200: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
1210: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
1220: 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52  if....struct _PR
1230: 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 31 20  OPSHEETPAGEA_V1 
1240: 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a  {..  DWORD dwSiz
1250: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  e;..  DWORD dwFl
1260: 61 67 73 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43  ags;..  HINSTANC
1270: 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20  E hInstance;..  
1280: 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 4c 50 43  union {..    LPC
1290: 53 54 52 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b  STR pszTemplate;
12a0: 0d 0a 20 20 20 20 50 52 4f 50 53 48 45 45 54 50  ..    PROPSHEETP
12b0: 41 47 45 5f 52 45 53 4f 55 52 43 45 20 70 52 65  AGE_RESOURCE pRe
12c0: 73 6f 75 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20  source;..  }..  
12d0: 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43  union {..    HIC
12e0: 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c  ON hIcon;..    L
12f0: 50 43 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a  PCSTR pszIcon;..
1300: 20 20 7d 0d 0a 20 20 4c 50 43 53 54 52 20 70 73    }..  LPCSTR ps
1310: 7a 54 69 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52  zTitle;..  DLGPR
1320: 4f 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a  OC pfnDlgProc;..
1330: 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b    LPARAM lParam;
1340: 0d 0a 20 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42  ..  LPFNPSPCALLB
1350: 41 43 4b 41 20 70 66 6e 43 61 6c 6c 62 61 63 6b  ACKA pfnCallback
1360: 3b 0d 0a 20 20 55 49 4e 54 2a 20 70 63 52 65 66  ;..  UINT* pcRef
1370: 50 61 72 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  Parent;..}..alia
1380: 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45  s _PROPSHEETPAGE
1390: 41 5f 56 31 20 50 52 4f 50 53 48 45 45 54 50 41  A_V1 PROPSHEETPA
13a0: 47 45 41 5f 56 31 3b 0d 0a 61 6c 69 61 73 20 5f  GEA_V1;..alias _
13b0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56  PROPSHEETPAGEA_V
13c0: 31 2a 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41  1* LPPROPSHEETPA
13d0: 47 45 41 5f 56 31 3b 0d 0a 0d 0a 61 6c 69 61 73  GEA_V1;....alias
13e0: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f   PROPSHEETPAGEA_
13f0: 56 31 2a 20 4c 50 43 50 52 4f 50 53 48 45 45 54  V1* LPCPROPSHEET
1400: 50 41 47 45 41 5f 56 31 3b 0d 0a 0d 0a 73 74 72  PAGEA_V1;....str
1410: 75 63 74 20 5f 50 52 4f 50 53 48 45 45 54 50 41  uct _PROPSHEETPA
1420: 47 45 41 5f 56 32 20 7b 0d 0a 20 20 44 57 4f 52  GEA_V2 {..  DWOR
1430: 44 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  D dwSize;..  DWO
1440: 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 48  RD dwFlags;..  H
1450: 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
1460: 63 65 3b 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a  ce;..  union {..
1470: 20 20 20 20 4c 50 43 53 54 52 20 70 73 7a 54 65      LPCSTR pszTe
1480: 6d 70 6c 61 74 65 3b 0d 0a 20 20 20 20 50 52 4f  mplate;..    PRO
1490: 50 53 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55  PSHEETPAGE_RESOU
14a0: 52 43 45 20 70 52 65 73 6f 75 72 63 65 3b 0d 0a  RCE pResource;..
14b0: 20 20 7d 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a    }..  union {..
14c0: 20 20 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b      HICON hIcon;
14d0: 0d 0a 20 20 20 20 4c 50 43 53 54 52 20 70 73 7a  ..    LPCSTR psz
14e0: 49 63 6f 6e 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50  Icon;..  }..  LP
14f0: 43 53 54 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a  CSTR pszTitle;..
1500: 20 20 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67    DLGPROC pfnDlg
1510: 50 72 6f 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  Proc;..  LPARAM 
1520: 6c 50 61 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50  lParam;..  LPFNP
1530: 53 50 43 41 4c 4c 42 41 43 4b 41 20 70 66 6e 43  SPCALLBACKA pfnC
1540: 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54  allback;..  UINT
1550: 2a 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a  * pcRefParent;..
1560: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 48 65  ..  LPCSTR pszHe
1570: 61 64 65 72 54 69 74 6c 65 3b 0d 0a 20 20 4c 50  aderTitle;..  LP
1580: 43 53 54 52 20 70 73 7a 48 65 61 64 65 72 53 75  CSTR pszHeaderSu
1590: 62 54 69 74 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  bTitle;..}..alia
15a0: 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45  s _PROPSHEETPAGE
15b0: 41 5f 56 32 20 50 52 4f 50 53 48 45 45 54 50 41  A_V2 PROPSHEETPA
15c0: 47 45 41 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 5f  GEA_V2;..alias _
15d0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56  PROPSHEETPAGEA_V
15e0: 32 2a 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41  2* LPPROPSHEETPA
15f0: 47 45 41 5f 56 32 3b 0d 0a 0d 0a 61 6c 69 61 73  GEA_V2;....alias
1600: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f   PROPSHEETPAGEA_
1610: 56 32 2a 20 4c 50 43 50 52 4f 50 53 48 45 45 54  V2* LPCPROPSHEET
1620: 50 41 47 45 41 5f 56 32 3b 0d 0a 0d 0a 73 74 72  PAGEA_V2;....str
1630: 75 63 74 20 5f 50 52 4f 50 53 48 45 45 54 50 41  uct _PROPSHEETPA
1640: 47 45 41 5f 56 33 20 7b 0d 0a 20 20 44 57 4f 52  GEA_V3 {..  DWOR
1650: 44 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  D dwSize;..  DWO
1660: 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 48  RD dwFlags;..  H
1670: 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e  INSTANCE hInstan
1680: 63 65 3b 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a  ce;..  union {..
1690: 20 20 20 20 4c 50 43 53 54 52 20 70 73 7a 54 65      LPCSTR pszTe
16a0: 6d 70 6c 61 74 65 3b 0d 0a 20 20 20 20 50 52 4f  mplate;..    PRO
16b0: 50 53 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55  PSHEETPAGE_RESOU
16c0: 52 43 45 20 70 52 65 73 6f 75 72 63 65 3b 0d 0a  RCE pResource;..
16d0: 20 20 7d 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a    }..  union {..
16e0: 20 20 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b      HICON hIcon;
16f0: 0d 0a 20 20 20 20 4c 50 43 53 54 52 20 70 73 7a  ..    LPCSTR psz
1700: 49 63 6f 6e 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50  Icon;..  }..  LP
1710: 43 53 54 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a  CSTR pszTitle;..
1720: 20 20 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67    DLGPROC pfnDlg
1730: 50 72 6f 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  Proc;..  LPARAM 
1740: 6c 50 61 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50  lParam;..  LPFNP
1750: 53 50 43 41 4c 4c 42 41 43 4b 41 20 70 66 6e 43  SPCALLBACKA pfnC
1760: 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54  allback;..  UINT
1770: 2a 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a  * pcRefParent;..
1780: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 48 65  ..  LPCSTR pszHe
1790: 61 64 65 72 54 69 74 6c 65 3b 0d 0a 20 20 4c 50  aderTitle;..  LP
17a0: 43 53 54 52 20 70 73 7a 48 65 61 64 65 72 53 75  CSTR pszHeaderSu
17b0: 62 54 69 74 6c 65 3b 0d 0a 0d 0a 20 20 48 41 4e  bTitle;....  HAN
17c0: 44 4c 45 20 68 41 63 74 43 74 78 3b 0d 0a 7d 0d  DLE hActCtx;..}.
17d0: 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45  .alias _PROPSHEE
17e0: 54 50 41 47 45 41 5f 56 33 20 50 52 4f 50 53 48  TPAGEA_V3 PROPSH
17f0: 45 45 54 50 41 47 45 41 5f 56 33 3b 0d 0a 61 6c  EETPAGEA_V3;..al
1800: 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41  ias _PROPSHEETPA
1810: 47 45 41 5f 56 33 2a 20 4c 50 50 52 4f 50 53 48  GEA_V3* LPPROPSH
1820: 45 45 54 50 41 47 45 41 5f 56 33 3b 0d 0a 0d 0a  EETPAGEA_V3;....
1830: 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50  alias PROPSHEETP
1840: 41 47 45 41 5f 56 33 2a 20 4c 50 43 50 52 4f 50  AGEA_V3* LPCPROP
1850: 53 48 45 45 54 50 41 47 45 41 5f 56 33 3b 0d 0a  SHEETPAGEA_V3;..
1860: 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48  ..struct _PROPSH
1870: 45 45 54 50 41 47 45 57 5f 56 31 20 7b 0d 0a 20  EETPAGEW_V1 {.. 
1880: 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a   DWORD dwSize;..
1890: 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
18a0: 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49  ..  HINSTANCE hI
18b0: 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69 6f  nstance;..  unio
18c0: 6e 20 7b 0d 0a 20 20 20 20 4c 50 43 57 53 54 52  n {..    LPCWSTR
18d0: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20   pszTemplate;.. 
18e0: 20 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45     PROPSHEETPAGE
18f0: 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75  _RESOURCE pResou
1900: 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69  rce;..  }..  uni
1910: 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20  on {..    HICON 
1920: 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 57  hIcon;..    LPCW
1930: 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20  STR pszIcon;..  
1940: 7d 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a  }..  LPCWSTR psz
1950: 54 69 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f  Title;..  DLGPRO
1960: 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20  C pfnDlgProc;.. 
1970: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
1980: 0a 20 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41  .  LPFNPSPCALLBA
1990: 43 4b 57 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b  CKW pfnCallback;
19a0: 0d 0a 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50  ..  UINT* pcRefP
19b0: 61 72 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  arent;..}..alias
19c0: 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 57   _PROPSHEETPAGEW
19d0: 5f 56 31 20 50 52 4f 50 53 48 45 45 54 50 41 47  _V1 PROPSHEETPAG
19e0: 45 57 5f 56 31 3b 0d 0a 61 6c 69 61 73 20 5f 50  EW_V1;..alias _P
19f0: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 31  ROPSHEETPAGEW_V1
1a00: 2a 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47  * LPPROPSHEETPAG
1a10: 45 57 5f 56 31 3b 0d 0a 0d 0a 61 6c 69 61 73 20  EW_V1;....alias 
1a20: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56  PROPSHEETPAGEW_V
1a30: 31 2a 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50  1* LPCPROPSHEETP
1a40: 41 47 45 57 5f 56 31 3b 0d 0a 0d 0a 73 74 72 75  AGEW_V1;....stru
1a50: 63 74 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47  ct _PROPSHEETPAG
1a60: 45 57 5f 56 32 20 7b 0d 0a 20 20 44 57 4f 52 44  EW_V2 {..  DWORD
1a70: 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   dwSize;..  DWOR
1a80: 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 48 49  D dwFlags;..  HI
1a90: 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
1aa0: 65 3b 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20  e;..  union {.. 
1ab0: 20 20 20 4c 50 43 57 53 54 52 20 70 73 7a 54 65     LPCWSTR pszTe
1ac0: 6d 70 6c 61 74 65 3b 0d 0a 20 20 20 20 50 52 4f  mplate;..    PRO
1ad0: 50 53 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55  PSHEETPAGE_RESOU
1ae0: 52 43 45 20 70 52 65 73 6f 75 72 63 65 3b 0d 0a  RCE pResource;..
1af0: 20 20 7d 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a    }..  union {..
1b00: 20 20 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b      HICON hIcon;
1b10: 0d 0a 20 20 20 20 4c 50 43 57 53 54 52 20 70 73  ..    LPCWSTR ps
1b20: 7a 49 63 6f 6e 3b 0d 0a 20 20 7d 0d 0a 20 20 4c  zIcon;..  }..  L
1b30: 50 43 57 53 54 52 20 70 73 7a 54 69 74 6c 65 3b  PCWSTR pszTitle;
1b40: 0d 0a 20 20 44 4c 47 50 52 4f 43 20 70 66 6e 44  ..  DLGPROC pfnD
1b50: 6c 67 50 72 6f 63 3b 0d 0a 20 20 4c 50 41 52 41  lgProc;..  LPARA
1b60: 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 4c 50 46  M lParam;..  LPF
1b70: 4e 50 53 50 43 41 4c 4c 42 41 43 4b 57 20 70 66  NPSPCALLBACKW pf
1b80: 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 55 49  nCallback;..  UI
1b90: 4e 54 2a 20 70 63 52 65 66 50 61 72 65 6e 74 3b  NT* pcRefParent;
1ba0: 0d 0a 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73  ....  LPCWSTR ps
1bb0: 7a 48 65 61 64 65 72 54 69 74 6c 65 3b 0d 0a 20  zHeaderTitle;.. 
1bc0: 20 4c 50 43 57 53 54 52 20 70 73 7a 48 65 61 64   LPCWSTR pszHead
1bd0: 65 72 53 75 62 54 69 74 6c 65 3b 0d 0a 7d 0d 0a  erSubTitle;..}..
1be0: 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54  alias _PROPSHEET
1bf0: 50 41 47 45 57 5f 56 32 20 50 52 4f 50 53 48 45  PAGEW_V2 PROPSHE
1c00: 45 54 50 41 47 45 57 5f 56 32 3b 0d 0a 61 6c 69  ETPAGEW_V2;..ali
1c10: 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47  as _PROPSHEETPAG
1c20: 45 57 5f 56 32 2a 20 4c 50 50 52 4f 50 53 48 45  EW_V2* LPPROPSHE
1c30: 45 54 50 41 47 45 57 5f 56 32 3b 0d 0a 0d 0a 61  ETPAGEW_V2;....a
1c40: 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50 41  lias PROPSHEETPA
1c50: 47 45 57 5f 56 32 2a 20 4c 50 43 50 52 4f 50 53  GEW_V2* LPCPROPS
1c60: 48 45 45 54 50 41 47 45 57 5f 56 32 3b 0d 0a 0d  HEETPAGEW_V2;...
1c70: 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48 45  .struct _PROPSHE
1c80: 45 54 50 41 47 45 57 5f 56 33 20 7b 0d 0a 20 20  ETPAGEW_V3 {..  
1c90: 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a 20  DWORD dwSize;.. 
1ca0: 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
1cb0: 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e  .  HINSTANCE hIn
1cc0: 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69 6f 6e  stance;..  union
1cd0: 20 7b 0d 0a 20 20 20 20 4c 50 43 57 53 54 52 20   {..    LPCWSTR 
1ce0: 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20 20  pszTemplate;..  
1cf0: 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f    PROPSHEETPAGE_
1d00: 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75 72  RESOURCE pResour
1d10: 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69 6f  ce;..  }..  unio
1d20: 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20 68  n {..    HICON h
1d30: 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 57 53  Icon;..    LPCWS
1d40: 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 7d  TR pszIcon;..  }
1d50: 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a 54  ..  LPCWSTR pszT
1d60: 69 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f 43  itle;..  DLGPROC
1d70: 20 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20 20   pfnDlgProc;..  
1d80: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
1d90: 20 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43    LPFNPSPCALLBAC
1da0: 4b 57 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d  KW pfnCallback;.
1db0: 0a 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50 61  .  UINT* pcRefPa
1dc0: 72 65 6e 74 3b 0d 0a 0d 0a 20 20 4c 50 43 57 53  rent;....  LPCWS
1dd0: 54 52 20 70 73 7a 48 65 61 64 65 72 54 69 74 6c  TR pszHeaderTitl
1de0: 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73  e;..  LPCWSTR ps
1df0: 7a 48 65 61 64 65 72 53 75 62 54 69 74 6c 65 3b  zHeaderSubTitle;
1e00: 0d 0a 0d 0a 20 20 48 41 4e 44 4c 45 20 68 41 63  ....  HANDLE hAc
1e10: 74 43 74 78 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tCtx;..}..alias 
1e20: 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f  _PROPSHEETPAGEW_
1e30: 56 33 20 50 52 4f 50 53 48 45 45 54 50 41 47 45  V3 PROPSHEETPAGE
1e40: 57 5f 56 33 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  W_V3;..alias _PR
1e50: 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 2a  OPSHEETPAGEW_V3*
1e60: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45   LPPROPSHEETPAGE
1e70: 57 5f 56 33 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50  W_V3;....alias P
1e80: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 33  ROPSHEETPAGEW_V3
1e90: 2a 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41  * LPCPROPSHEETPA
1ea0: 47 45 57 5f 56 33 3b 0d 0a 0d 0a 61 6c 69 61 73  GEW_V3;....alias
1eb0: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f   PROPSHEETPAGEA_
1ec0: 56 33 20 50 52 4f 50 53 48 45 45 54 50 41 47 45  V3 PROPSHEETPAGE
1ed0: 41 5f 4c 41 54 45 53 54 3b 0d 0a 61 6c 69 61 73  A_LATEST;..alias
1ee0: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f   PROPSHEETPAGEW_
1ef0: 56 33 20 50 52 4f 50 53 48 45 45 54 50 41 47 45  V3 PROPSHEETPAGE
1f00: 57 5f 4c 41 54 45 53 54 3b 0d 0a 61 6c 69 61 73  W_LATEST;..alias
1f10: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45   LPPROPSHEETPAGE
1f20: 41 5f 56 33 20 4c 50 50 52 4f 50 53 48 45 45 54  A_V3 LPPROPSHEET
1f30: 50 41 47 45 41 5f 4c 41 54 45 53 54 3b 0d 0a 61  PAGEA_LATEST;..a
1f40: 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54  lias LPPROPSHEET
1f50: 50 41 47 45 57 5f 56 33 20 4c 50 50 52 4f 50 53  PAGEW_V3 LPPROPS
1f60: 48 45 45 54 50 41 47 45 57 5f 4c 41 54 45 53 54  HEETPAGEW_LATEST
1f70: 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 50 52 4f 50  ;..alias LPCPROP
1f80: 53 48 45 45 54 50 41 47 45 41 5f 56 33 20 4c 50  SHEETPAGEA_V3 LP
1f90: 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f  CPROPSHEETPAGEA_
1fa0: 4c 41 54 45 53 54 3b 0d 0a 61 6c 69 61 73 20 4c  LATEST;..alias L
1fb0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57  PCPROPSHEETPAGEW
1fc0: 5f 56 33 20 4c 50 43 50 52 4f 50 53 48 45 45 54  _V3 LPCPROPSHEET
1fd0: 50 41 47 45 57 5f 4c 41 54 45 53 54 3b 0d 0a 0d  PAGEW_LATEST;...
1fe0: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
1ff0: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
2000: 20 7c 7c 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57   || ISOLATION_AW
2010: 41 52 45 5f 45 4e 41 42 4c 45 44 0d 0a 61 6c 69  ARE_ENABLED..ali
2020: 61 73 20 50 52 4f 50 53 48 45 45 54 50 41 47 45  as PROPSHEETPAGE
2030: 41 5f 56 33 20 50 52 4f 50 53 48 45 45 54 50 41  A_V3 PROPSHEETPA
2040: 47 45 41 3b 0d 0a 61 6c 69 61 73 20 50 52 4f 50  GEA;..alias PROP
2050: 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 50 52  SHEETPAGEW_V3 PR
2060: 4f 50 53 48 45 45 54 50 41 47 45 57 3b 0d 0a 61  OPSHEETPAGEW;..a
2070: 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54  lias LPPROPSHEET
2080: 50 41 47 45 41 5f 56 33 20 4c 50 50 52 4f 50 53  PAGEA_V3 LPPROPS
2090: 48 45 45 54 50 41 47 45 41 3b 0d 0a 61 6c 69 61  HEETPAGEA;..alia
20a0: 73 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47  s LPPROPSHEETPAG
20b0: 45 57 5f 56 33 20 4c 50 50 52 4f 50 53 48 45 45  EW_V3 LPPROPSHEE
20c0: 54 50 41 47 45 57 3b 0d 0a 61 6c 69 61 73 20 4c  TPAGEW;..alias L
20d0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41  PCPROPSHEETPAGEA
20e0: 5f 56 33 20 4c 50 43 50 52 4f 50 53 48 45 45 54  _V3 LPCPROPSHEET
20f0: 50 41 47 45 41 3b 0d 0a 61 6c 69 61 73 20 4c 50  PAGEA;..alias LP
2100: 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f  CPROPSHEETPAGEW_
2110: 56 33 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50  V3 LPCPROPSHEETP
2120: 41 47 45 57 3b 0d 0a 2f 2f 20 23 65 6c 69 66 20  AGEW;..// #elif 
2130: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
2140: 30 34 30 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  0400)..// ...../
2150: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
2160: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
2170: 20 23 69 66 20 30 20 2f 2f 20 49 45 55 4e 49 58   #if 0 // IEUNIX
2180: 20 72 65 73 65 72 76 65 64 2e 0d 0a 0d 0a 2f 2f   reserved.....//
2190: 20 23 69 66 20 5f 5f 53 54 44 43 5f 5f 20 7c 7c   #if __STDC__ ||
21a0: 20 64 65 66 69 6e 65 64 20 28 4e 4f 4e 41 4d 45   defined (NONAME
21b0: 4c 45 53 53 55 4e 49 4f 4e 29 0d 0a 2f 2f 20 23  LESSUNION)..// #
21c0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
21d0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
21e0: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  f..// #endif....
21f0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
2200: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
2210: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
2220: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
2230: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
2240: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
2250: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
2260: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2270: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
2280: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
2290: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
22a0: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 50 52 4f 50  else..alias PROP
22b0: 53 48 45 45 54 50 41 47 45 41 20 50 52 4f 50 53  SHEETPAGEA PROPS
22c0: 48 45 45 54 50 41 47 45 3b 0d 0a 61 6c 69 61 73  HEETPAGE;..alias
22d0: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45   LPPROPSHEETPAGE
22e0: 41 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47  A LPPROPSHEETPAG
22f0: 45 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 50 52 4f  E;..alias LPCPRO
2300: 50 53 48 45 45 54 50 41 47 45 41 20 4c 50 43 50  PSHEETPAGEA LPCP
2310: 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 2f  ROPSHEETPAGE;../
2320: 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53 48  / #define PROPSH
2330: 45 45 54 50 41 47 45 5f 56 31 5f 53 49 5a 45 20  EETPAGE_V1_SIZE 
2340: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56  PROPSHEETPAGEA_V
2350: 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 64 65 66 69  1_SIZE..// #defi
2360: 6e 65 20 50 52 4f 50 53 48 45 45 54 50 41 47 45  ne PROPSHEETPAGE
2370: 5f 56 32 5f 53 49 5a 45 20 50 52 4f 50 53 48 45  _V2_SIZE PROPSHE
2380: 45 54 50 41 47 45 41 5f 56 32 5f 53 49 5a 45 0d  ETPAGEA_V2_SIZE.
2390: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54  .alias PROPSHEET
23a0: 50 41 47 45 41 5f 56 31 20 50 52 4f 50 53 48 45  PAGEA_V1 PROPSHE
23b0: 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61 6c 69 61  ETPAGE_V1;..alia
23c0: 73 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47  s LPPROPSHEETPAG
23d0: 45 41 5f 56 31 20 4c 50 50 52 4f 50 53 48 45 45  EA_V1 LPPROPSHEE
23e0: 54 50 41 47 45 5f 56 31 3b 0d 0a 61 6c 69 61 73  TPAGE_V1;..alias
23f0: 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41 47   LPCPROPSHEETPAG
2400: 45 41 5f 56 31 20 4c 50 43 50 52 4f 50 53 48 45  EA_V1 LPCPROPSHE
2410: 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61 6c 69 61  ETPAGE_V1;..alia
2420: 73 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41  s PROPSHEETPAGEA
2430: 5f 56 32 20 50 52 4f 50 53 48 45 45 54 50 41 47  _V2 PROPSHEETPAG
2440: 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 50  E_V2;..alias LPP
2450: 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 32  ROPSHEETPAGEA_V2
2460: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45   LPPROPSHEETPAGE
2470: 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 50  _V2;..alias LPCP
2480: 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 32  ROPSHEETPAGEA_V2
2490: 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41 47   LPCPROPSHEETPAG
24a0: 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 50 52 4f  E_V2;..alias PRO
24b0: 50 53 48 45 45 54 50 41 47 45 41 5f 56 33 20 50  PSHEETPAGEA_V3 P
24c0: 52 4f 50 53 48 45 45 54 50 41 47 45 5f 56 33 3b  ROPSHEETPAGE_V3;
24d0: 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48  ..alias LPPROPSH
24e0: 45 45 54 50 41 47 45 41 5f 56 33 20 4c 50 50 52  EETPAGEA_V3 LPPR
24f0: 4f 50 53 48 45 45 54 50 41 47 45 5f 56 33 3b 0d  OPSHEETPAGE_V3;.
2500: 0a 61 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48  .alias LPCPROPSH
2510: 45 45 54 50 41 47 45 41 5f 56 33 20 4c 50 43 50  EETPAGEA_V3 LPCP
2520: 52 4f 50 53 48 45 45 54 50 41 47 45 5f 56 33 3b  ROPSHEETPAGE_V3;
2530: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45  ..alias PROPSHEE
2540: 54 50 41 47 45 41 5f 4c 41 54 45 53 54 20 50 52  TPAGEA_LATEST PR
2550: 4f 50 53 48 45 45 54 50 41 47 45 5f 4c 41 54 45  OPSHEETPAGE_LATE
2560: 53 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f  ST;..alias LPPRO
2570: 50 53 48 45 45 54 50 41 47 45 41 5f 4c 41 54 45  PSHEETPAGEA_LATE
2580: 53 54 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41  ST LPPROPSHEETPA
2590: 47 45 5f 4c 41 54 45 53 54 3b 0d 0a 61 6c 69 61  GE_LATEST;..alia
25a0: 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41  s LPCPROPSHEETPA
25b0: 47 45 41 5f 4c 41 54 45 53 54 20 4c 50 43 50 52  GEA_LATEST LPCPR
25c0: 4f 50 53 48 45 45 54 50 41 47 45 5f 4c 41 54 45  OPSHEETPAGE_LATE
25d0: 53 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  ST;..// #endif..
25e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25f0: 50 53 48 5f 44 45 46 41 55 4c 54 20 3d 20 30 78  PSH_DEFAULT = 0x
2600: 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
2610: 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 50 52   : uint { PSH_PR
2620: 4f 50 54 49 54 4c 45 20 3d 20 30 78 30 30 30 30  OPTITLE = 0x0000
2630: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
2640: 69 6e 74 20 7b 20 50 53 48 5f 55 53 45 48 49 43  int { PSH_USEHIC
2650: 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  ON = 0x00000002 
2660: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2670: 20 50 53 48 5f 55 53 45 49 43 4f 4e 49 44 20 3d   PSH_USEICONID =
2680: 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
2690: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48  num : uint { PSH
26a0: 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 20 3d  _PROPSHEETPAGE =
26b0: 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65   0x00000008 }..e
26c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48  num : uint { PSH
26d0: 5f 57 49 5a 41 52 44 48 41 53 46 49 4e 49 53 48  _WIZARDHASFINISH
26e0: 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
26f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2700: 53 48 5f 57 49 5a 41 52 44 20 3d 20 30 78 30 30  SH_WIZARD = 0x00
2710: 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000020 }..enum :
2720: 20 75 69 6e 74 20 7b 20 50 53 48 5f 55 53 45 50   uint { PSH_USEP
2730: 53 54 41 52 54 50 41 47 45 20 3d 20 30 78 30 30  STARTPAGE = 0x00
2740: 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000040 }..enum :
2750: 20 75 69 6e 74 20 7b 20 50 53 48 5f 4e 4f 41 50   uint { PSH_NOAP
2760: 50 4c 59 4e 4f 57 20 3d 20 30 78 30 30 30 30 30  PLYNOW = 0x00000
2770: 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
2780: 6e 74 20 7b 20 50 53 48 5f 55 53 45 43 41 4c 4c  nt { PSH_USECALL
2790: 42 41 43 4b 20 3d 20 30 78 30 30 30 30 30 31 30  BACK = 0x0000010
27a0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27b0: 20 7b 20 50 53 48 5f 48 41 53 48 45 4c 50 20 3d   { PSH_HASHELP =
27c0: 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65   0x00000200 }..e
27d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48  num : uint { PSH
27e0: 5f 4d 4f 44 45 4c 45 53 53 20 3d 20 30 78 30 30  _MODELESS = 0x00
27f0: 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000400 }..enum :
2800: 20 75 69 6e 74 20 7b 20 50 53 48 5f 52 54 4c 52   uint { PSH_RTLR
2810: 45 41 44 49 4e 47 20 3d 20 30 78 30 30 30 30 30  EADING = 0x00000
2820: 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  800 }..enum : ui
2830: 6e 74 20 7b 20 50 53 48 5f 57 49 5a 41 52 44 43  nt { PSH_WIZARDC
2840: 4f 4e 54 45 58 54 48 45 4c 50 20 3d 20 30 78 30  ONTEXTHELP = 0x0
2850: 30 30 30 31 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20  0001000 }....// 
2860: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
2870: 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 2f 2f 20  = 0x0400)....// 
2880: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3c  #if (_WIN32_IE <
2890: 20 30 78 30 35 30 30 29 0d 0a 2f 2f 20 23 2e 2e   0x0500)..// #..
28a0: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 65 6e 75  ...// #else..enu
28b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 57  m : uint { PSH_W
28c0: 49 5a 41 52 44 39 37 20 3d 20 30 78 30 31 30 30  IZARD97 = 0x0100
28d0: 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0000 }..// #endi
28e0: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
28f0: 20 7b 20 50 53 48 5f 57 41 54 45 52 4d 41 52 4b   { PSH_WATERMARK
2900: 20 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d   = 0x00008000 }.
2910: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2920: 53 48 5f 55 53 45 48 42 4d 57 41 54 45 52 4d 41  SH_USEHBMWATERMA
2930: 52 4b 20 3d 20 30 78 30 30 30 31 30 30 30 30 20  RK = 0x00010000 
2940: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2950: 20 50 53 48 5f 55 53 45 48 50 4c 57 41 54 45 52   PSH_USEHPLWATER
2960: 4d 41 52 4b 20 3d 20 30 78 30 30 30 32 30 30 30  MARK = 0x0002000
2970: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2980: 20 7b 20 50 53 48 5f 53 54 52 45 54 43 48 57 41   { PSH_STRETCHWA
2990: 54 45 52 4d 41 52 4b 20 3d 20 30 78 30 30 30 34  TERMARK = 0x0004
29a0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
29b0: 69 6e 74 20 7b 20 50 53 48 5f 48 45 41 44 45 52  int { PSH_HEADER
29c0: 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d   = 0x00080000 }.
29d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
29e0: 53 48 5f 55 53 45 48 42 4d 48 45 41 44 45 52 20  SH_USEHBMHEADER 
29f0: 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a  = 0x00100000 }..
2a00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
2a10: 48 5f 55 53 45 50 41 47 45 4c 41 4e 47 20 3d 20  H_USEPAGELANG = 
2a20: 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00200000 }....
2a30: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
2a40: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
2a50: 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e 75  = 0x0500)....enu
2a60: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 57  m : uint { PSH_W
2a70: 49 5a 41 52 44 5f 4c 49 54 45 20 3d 20 30 78 30  IZARD_LITE = 0x0
2a80: 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0400000 }..enum 
2a90: 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 4e 4f 43  : uint { PSH_NOC
2aa0: 4f 4e 54 45 58 54 48 45 4c 50 20 3d 20 30 78 30  ONTEXTHELP = 0x0
2ab0: 32 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20  2000000 }....// 
2ac0: 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e  #endif....extern
2ad0: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20  (Windows) alias 
2ae0: 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e  int function(HWN
2af0: 44 2c 20 55 49 4e 54 2c 20 4c 50 41 52 41 4d 29  D, UINT, LPARAM)
2b00: 20 50 46 4e 50 52 4f 50 53 48 45 45 54 43 41 4c   PFNPROPSHEETCAL
2b10: 4c 42 41 43 4b 3b 0d 0a 0d 0a 2f 2f 20 23 64 65  LBACK;....// #de
2b20: 66 69 6e 65 20 50 52 4f 50 53 48 45 45 54 48 45  fine PROPSHEETHE
2b30: 41 44 45 52 41 5f 56 31 5f 53 49 5a 45 20 43 43  ADERA_V1_SIZE CC
2b40: 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 50 52  SIZEOF_STRUCT(PR
2b50: 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2c 20  OPSHEETHEADERA, 
2b60: 70 66 6e 43 61 6c 6c 62 61 63 6b 29 0d 0a 2f 2f  pfnCallback)..//
2b70: 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53 48 45   #define PROPSHE
2b80: 45 54 48 45 41 44 45 52 57 5f 56 31 5f 53 49 5a  ETHEADERW_V1_SIZ
2b90: 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43  E CCSIZEOF_STRUC
2ba0: 54 28 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  T(PROPSHEETHEADE
2bb0: 52 57 2c 20 70 66 6e 43 61 6c 6c 62 61 63 6b 29  RW, pfnCallback)
2bc0: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50  ....// #define P
2bd0: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 5f  ROPSHEETHEADERA_
2be0: 56 32 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46  V2_SIZE CCSIZEOF
2bf0: 5f 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 45  _STRUCT(PROPSHEE
2c00: 54 48 45 41 44 45 52 41 2c 20 44 55 4d 4d 59 55  THEADERA, DUMMYU
2c10: 4e 49 4f 4e 35 5f 4d 45 4d 42 45 52 28 68 62 6d  NION5_MEMBER(hbm
2c20: 48 65 61 64 65 72 29 29 0d 0a 2f 2f 20 23 64 65  Header))..// #de
2c30: 66 69 6e 65 20 50 52 4f 50 53 48 45 45 54 48 45  fine PROPSHEETHE
2c40: 41 44 45 52 57 5f 56 32 5f 53 49 5a 45 20 43 43  ADERW_V2_SIZE CC
2c50: 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 50 52  SIZEOF_STRUCT(PR
2c60: 4f 50 53 48 45 45 54 48 45 41 44 45 52 57 2c 20  OPSHEETHEADERW, 
2c70: 44 55 4d 4d 59 55 4e 49 4f 4e 35 5f 4d 45 4d 42  DUMMYUNION5_MEMB
2c80: 45 52 28 68 62 6d 48 65 61 64 65 72 29 29 0d 0a  ER(hbmHeader))..
2c90: 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48  ..struct _PROPSH
2ca0: 45 45 54 48 45 41 44 45 52 41 20 7b 0d 0a 20 20  EETHEADERA {..  
2cb0: 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a 20  DWORD dwSize;.. 
2cc0: 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
2cd0: 0a 20 20 48 57 4e 44 20 68 77 6e 64 50 61 72 65  .  HWND hwndPare
2ce0: 6e 74 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45  nt;..  HINSTANCE
2cf0: 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 75 6e 69   hInstance;..uni
2d00: 6f 6e 20 7b 0d 0a 20 20 48 49 43 4f 4e 20 68 49  on {..  HICON hI
2d10: 63 6f 6e 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70  con;..  LPCSTR p
2d20: 73 7a 49 63 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a 20 20  szIcon;..}....  
2d30: 4c 50 43 53 54 52 20 70 73 7a 43 61 70 74 69 6f  LPCSTR pszCaptio
2d40: 6e 3b 0d 0a 20 20 55 49 4e 54 20 6e 50 61 67 65  n;..  UINT nPage
2d50: 73 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 55  s;..union {..  U
2d60: 49 4e 54 20 6e 53 74 61 72 74 50 61 67 65 3b 0d  INT nStartPage;.
2d70: 0a 20 20 4c 50 43 53 54 52 20 70 53 74 61 72 74  .  LPCSTR pStart
2d80: 50 61 67 65 3b 0d 0a 7d 0d 0a 0d 0a 75 6e 69 6f  Page;..}....unio
2d90: 6e 20 7b 0d 0a 20 20 4c 50 43 50 52 4f 50 53 48  n {..  LPCPROPSH
2da0: 45 45 54 50 41 47 45 41 20 70 70 73 70 3b 0d 0a  EETPAGEA ppsp;..
2db0: 20 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 45    HPROPSHEETPAGE
2dc0: 20 2a 70 68 70 61 67 65 3b 0d 0a 7d 0d 0a 0d 0a   *phpage;..}....
2dd0: 20 20 50 46 4e 50 52 4f 50 53 48 45 45 54 43 41    PFNPROPSHEETCA
2de0: 4c 4c 42 41 43 4b 20 70 66 6e 43 61 6c 6c 62 61  LLBACK pfnCallba
2df0: 63 6b 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  ck;..// #if (_WI
2e00: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
2e10: 29 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48 42  )..union {..  HB
2e20: 49 54 4d 41 50 20 68 62 6d 57 61 74 65 72 6d 61  ITMAP hbmWaterma
2e30: 72 6b 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70 73  rk;..  LPCSTR ps
2e40: 7a 62 6d 57 61 74 65 72 6d 61 72 6b 3b 0d 0a 7d  zbmWatermark;..}
2e50: 0d 0a 0d 0a 20 20 48 50 41 4c 45 54 54 45 20 68  ....  HPALETTE h
2e60: 70 6c 57 61 74 65 72 6d 61 72 6b 3b 0d 0a 75 6e  plWatermark;..un
2e70: 69 6f 6e 20 7b 0d 0a 20 20 48 42 49 54 4d 41 50  ion {..  HBITMAP
2e80: 20 68 62 6d 48 65 61 64 65 72 3b 0d 0a 20 20 4c   hbmHeader;..  L
2e90: 50 43 53 54 52 20 70 73 7a 62 6d 48 65 61 64 65  PCSTR pszbmHeade
2ea0: 72 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  r;..}....// #end
2eb0: 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52  if..}..alias _PR
2ec0: 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 20 50  OPSHEETHEADERA P
2ed0: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 3b  ROPSHEETHEADERA;
2ee0: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45  ..alias _PROPSHE
2ef0: 45 54 48 45 41 44 45 52 41 2a 20 4c 50 50 52 4f  ETHEADERA* LPPRO
2f00: 50 53 48 45 45 54 48 45 41 44 45 52 41 3b 0d 0a  PSHEETHEADERA;..
2f10: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45  ..alias PROPSHEE
2f20: 54 48 45 41 44 45 52 41 2a 20 4c 50 43 50 52 4f  THEADERA* LPCPRO
2f30: 50 53 48 45 45 54 48 45 41 44 45 52 41 3b 0d 0a  PSHEETHEADERA;..
2f40: 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48  ..struct _PROPSH
2f50: 45 45 54 48 45 41 44 45 52 57 20 7b 0d 0a 20 20  EETHEADERW {..  
2f60: 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a 20  DWORD dwSize;.. 
2f70: 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
2f80: 0a 20 20 48 57 4e 44 20 68 77 6e 64 50 61 72 65  .  HWND hwndPare
2f90: 6e 74 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45  nt;..  HINSTANCE
2fa0: 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 75 6e 69   hInstance;..uni
2fb0: 6f 6e 20 7b 0d 0a 20 20 48 49 43 4f 4e 20 68 49  on {..  HICON hI
2fc0: 63 6f 6e 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  con;..  LPCWSTR 
2fd0: 70 73 7a 49 63 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a 20  pszIcon;..}.... 
2fe0: 20 4c 50 43 57 53 54 52 20 70 73 7a 43 61 70 74   LPCWSTR pszCapt
2ff0: 69 6f 6e 3b 0d 0a 20 20 55 49 4e 54 20 6e 50 61  ion;..  UINT nPa
3000: 67 65 73 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20  ges;..union {.. 
3010: 20 55 49 4e 54 20 6e 53 74 61 72 74 50 61 67 65   UINT nStartPage
3020: 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 53 74  ;..  LPCWSTR pSt
3030: 61 72 74 50 61 67 65 3b 0d 0a 7d 0d 0a 0d 0a 75  artPage;..}....u
3040: 6e 69 6f 6e 20 7b 0d 0a 20 20 4c 50 43 50 52 4f  nion {..  LPCPRO
3050: 50 53 48 45 45 54 50 41 47 45 57 20 70 70 73 70  PSHEETPAGEW ppsp
3060: 3b 0d 0a 20 20 48 50 52 4f 50 53 48 45 45 54 50  ;..  HPROPSHEETP
3070: 41 47 45 20 2a 70 68 70 61 67 65 3b 0d 0a 7d 0d  AGE *phpage;..}.
3080: 0a 0d 0a 20 20 50 46 4e 50 52 4f 50 53 48 45 45  ...  PFNPROPSHEE
3090: 54 43 41 4c 4c 42 41 43 4b 20 70 66 6e 43 61 6c  TCALLBACK pfnCal
30a0: 6c 62 61 63 6b 3b 0d 0a 2f 2f 20 23 69 66 20 28  lback;..// #if (
30b0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
30c0: 34 30 30 29 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20  400)..union {.. 
30d0: 20 48 42 49 54 4d 41 50 20 68 62 6d 57 61 74 65   HBITMAP hbmWate
30e0: 72 6d 61 72 6b 3b 0d 0a 20 20 4c 50 43 57 53 54  rmark;..  LPCWST
30f0: 52 20 70 73 7a 62 6d 57 61 74 65 72 6d 61 72 6b  R pszbmWatermark
3100: 3b 0d 0a 7d 0d 0a 0d 0a 20 20 48 50 41 4c 45 54  ;..}....  HPALET
3110: 54 45 20 68 70 6c 57 61 74 65 72 6d 61 72 6b 3b  TE hplWatermark;
3120: 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48 42 49  ..union {..  HBI
3130: 54 4d 41 50 20 68 62 6d 48 65 61 64 65 72 3b 0d  TMAP hbmHeader;.
3140: 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a 62 6d  .  LPCWSTR pszbm
3150: 48 65 61 64 65 72 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f  Header;..}....//
3160: 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61   #endif..}..alia
3170: 73 20 5f 50 52 4f 50 53 48 45 45 54 48 45 41 44  s _PROPSHEETHEAD
3180: 45 52 57 20 50 52 4f 50 53 48 45 45 54 48 45 41  ERW PROPSHEETHEA
3190: 44 45 52 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  DERW;..alias _PR
31a0: 4f 50 53 48 45 45 54 48 45 41 44 45 52 57 2a 20  OPSHEETHEADERW* 
31b0: 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  LPPROPSHEETHEADE
31c0: 52 57 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 52 4f  RW;....alias PRO
31d0: 50 53 48 45 45 54 48 45 41 44 45 52 57 2a 20 4c  PSHEETHEADERW* L
31e0: 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  PCPROPSHEETHEADE
31f0: 52 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 30 20  RW;....// #if 0 
3200: 2f 2f 49 45 55 4e 49 58 20 72 65 73 65 72 76 65  //IEUNIX reserve
3210: 64 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f 5f 53  d.....// #if __S
3220: 54 44 43 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64  TDC__ || defined
3230: 20 28 4e 4f 4e 41 4d 45 4c 45 53 53 55 4e 49 4f   (NONAMELESSUNIO
3240: 4e 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  N)..// #.....// 
3250: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
3260: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
3270: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
3280: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
3290: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
32a0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
32b0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
32c0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
32d0: 73 65 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48  se..alias PROPSH
32e0: 45 45 54 48 45 41 44 45 52 41 20 50 52 4f 50 53  EETHEADERA PROPS
32f0: 48 45 45 54 48 45 41 44 45 52 3b 0d 0a 61 6c 69  HEETHEADER;..ali
3300: 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45  as LPPROPSHEETHE
3310: 41 44 45 52 41 20 4c 50 50 52 4f 50 53 48 45 45  ADERA LPPROPSHEE
3320: 54 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20  THEADER;..alias 
3330: 4c 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44  LPCPROPSHEETHEAD
3340: 45 52 41 20 4c 50 43 50 52 4f 50 53 48 45 45 54  ERA LPCPROPSHEET
3350: 48 45 41 44 45 52 3b 0d 0a 2f 2f 20 23 64 65 66  HEADER;..// #def
3360: 69 6e 65 20 50 52 4f 50 53 48 45 45 54 48 45 41  ine PROPSHEETHEA
3370: 44 45 52 5f 56 31 5f 53 49 5a 45 20 50 52 4f 50  DER_V1_SIZE PROP
3380: 53 48 45 45 54 48 45 41 44 45 52 41 5f 56 31 5f  SHEETHEADERA_V1_
3390: 53 49 5a 45 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  SIZE..// #define
33a0: 20 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52   PROPSHEETHEADER
33b0: 5f 56 32 5f 53 49 5a 45 20 50 52 4f 50 53 48 45  _V2_SIZE PROPSHE
33c0: 45 54 48 45 41 44 45 52 41 5f 56 32 5f 53 49 5a  ETHEADERA_V2_SIZ
33d0: 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  E..// #endif....
33e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
33f0: 43 42 5f 49 4e 49 54 49 41 4c 49 5a 45 44 20 3d  CB_INITIALIZED =
3400: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
3410: 74 20 7b 20 50 53 43 42 5f 50 52 45 43 52 45 41  t { PSCB_PRECREA
3420: 54 45 20 3d 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23  TE = 2 }....// #
3430: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
3440: 20 30 78 35 36 30 29 0d 0a 0d 0a 65 6e 75 6d 20   0x560)....enum 
3450: 3a 20 75 69 6e 74 20 7b 20 50 53 43 42 5f 42 55  : uint { PSCB_BU
3460: 54 54 4f 4e 50 52 45 53 53 45 44 20 3d 20 33 20  TTONPRESSED = 3 
3470: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f  }..// #endif  //
3480: 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78   _WIN32_IE >= 0x
3490: 35 36 30 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  560....extern(Wi
34a0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 50  ndows) export HP
34b0: 52 4f 50 53 48 45 45 54 50 41 47 45 20 43 72 65  ROPSHEETPAGE Cre
34c0: 61 74 65 50 72 6f 70 65 72 74 79 53 68 65 65 74  atePropertySheet
34d0: 50 61 67 65 41 28 4c 50 43 50 52 4f 50 53 48 45  PageA(LPCPROPSHE
34e0: 45 54 50 41 47 45 41 20 63 6f 6e 73 74 50 72 6f  ETPAGEA constPro
34f0: 70 53 68 65 65 74 50 61 67 65 50 6f 69 6e 74 65  pSheetPagePointe
3500: 72 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  r);..extern(Wind
3510: 6f 77 73 29 20 65 78 70 6f 72 74 20 48 50 52 4f  ows) export HPRO
3520: 50 53 48 45 45 54 50 41 47 45 20 43 72 65 61 74  PSHEETPAGE Creat
3530: 65 50 72 6f 70 65 72 74 79 53 68 65 65 74 50 61  ePropertySheetPa
3540: 67 65 57 28 4c 50 43 50 52 4f 50 53 48 45 45 54  geW(LPCPROPSHEET
3550: 50 41 47 45 57 20 63 6f 6e 73 74 50 72 6f 70 53  PAGEW constPropS
3560: 68 65 65 74 50 61 67 65 50 6f 69 6e 74 65 72 29  heetPagePointer)
3570: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
3580: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
3590: 65 73 74 72 6f 79 50 72 6f 70 65 72 74 79 53 68  estroyPropertySh
35a0: 65 65 74 50 61 67 65 28 48 50 52 4f 50 53 48 45  eetPage(HPROPSHE
35b0: 45 54 50 41 47 45 29 3b 0d 0a 0d 0a 65 78 74 65  ETPAGE);....exte
35c0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
35d0: 72 74 20 49 4e 54 5f 50 54 52 20 50 72 6f 70 65  rt INT_PTR Prope
35e0: 72 74 79 53 68 65 65 74 41 28 4c 50 43 50 52 4f  rtySheetA(LPCPRO
35f0: 50 53 48 45 45 54 48 45 41 44 45 52 41 29 3b 0d  PSHEETHEADERA);.
3600: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
3610: 73 29 20 65 78 70 6f 72 74 20 49 4e 54 5f 50 54  s) export INT_PT
3620: 52 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 57  R PropertySheetW
3630: 28 4c 50 43 50 52 4f 50 53 48 45 45 54 48 45 41  (LPCPROPSHEETHEA
3640: 44 45 52 57 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  DERW);....// #if
3650: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
3660: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
3670: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 43  / #else..alias C
3680: 72 65 61 74 65 50 72 6f 70 65 72 74 79 53 68 65  reatePropertyShe
3690: 65 74 50 61 67 65 41 20 43 72 65 61 74 65 50 72  etPageA CreatePr
36a0: 6f 70 65 72 74 79 53 68 65 65 74 50 61 67 65 3b  opertySheetPage;
36b0: 0d 0a 61 6c 69 61 73 20 50 72 6f 70 65 72 74 79  ..alias Property
36c0: 53 68 65 65 74 41 20 50 72 6f 70 65 72 74 79 53  SheetA PropertyS
36d0: 68 65 65 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  heet;..// #endif
36e0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
36f0: 77 73 29 20 61 6c 69 61 73 20 42 4f 4f 4c 20 66  ws) alias BOOL f
3700: 75 6e 63 74 69 6f 6e 28 48 50 52 4f 50 53 48 45  unction(HPROPSHE
3710: 45 54 50 41 47 45 2c 20 4c 50 41 52 41 4d 29 20  ETPAGE, LPARAM) 
3720: 4c 50 46 4e 41 44 44 50 52 4f 50 53 48 45 45 54  LPFNADDPROPSHEET
3730: 50 41 47 45 3b 0d 0a 65 78 74 65 72 6e 28 57 69  PAGE;..extern(Wi
3740: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 42 4f 4f  ndows) alias BOO
3750: 4c 20 66 75 6e 63 74 69 6f 6e 28 4c 50 56 4f 49  L function(LPVOI
3760: 44 2c 20 4c 50 46 4e 41 44 44 50 52 4f 50 53 48  D, LPFNADDPROPSH
3770: 45 45 54 50 41 47 45 2c 20 4c 50 41 52 41 4d 29  EETPAGE, LPARAM)
3780: 20 4c 50 46 4e 41 44 44 50 52 4f 50 53 48 45 45   LPFNADDPROPSHEE
3790: 54 50 41 47 45 53 3b 0d 0a 0d 0a 73 74 72 75 63  TPAGES;....struc
37a0: 74 20 5f 50 53 48 4e 4f 54 49 46 59 20 7b 0d 0a  t _PSHNOTIFY {..
37b0: 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20    NMHDR hdr;..  
37c0: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
37d0: 7d 0d 0a 61 6c 69 61 73 20 5f 50 53 48 4e 4f 54  }..alias _PSHNOT
37e0: 49 46 59 20 50 53 48 4e 4f 54 49 46 59 3b 0d 0a  IFY PSHNOTIFY;..
37f0: 61 6c 69 61 73 20 5f 50 53 48 4e 4f 54 49 46 59  alias _PSHNOTIFY
3800: 2a 20 4c 50 50 53 48 4e 4f 54 49 46 59 3b 0d 0a  * LPPSHNOTIFY;..
3810: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3820: 50 53 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 32  PSN_FIRST = 0U-2
3830: 30 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00U }..enum : ui
3840: 6e 74 20 7b 20 50 53 4e 5f 4c 41 53 54 20 3d 20  nt { PSN_LAST = 
3850: 30 55 2d 32 39 39 55 20 7d 0d 0a 0d 0a 65 6e 75  0U-299U }....enu
3860: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 53  m : uint { PSN_S
3870: 45 54 41 43 54 49 56 45 20 3d 20 50 53 4e 5f 46  ETACTIVE = PSN_F
3880: 49 52 53 54 2d 30 20 7d 0d 0a 65 6e 75 6d 20 3a  IRST-0 }..enum :
3890: 20 75 69 6e 74 20 7b 20 50 53 4e 5f 4b 49 4c 4c   uint { PSN_KILL
38a0: 41 43 54 49 56 45 20 3d 20 50 53 4e 5f 46 49 52  ACTIVE = PSN_FIR
38b0: 53 54 2d 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  ST-1 }....enum :
38c0: 20 75 69 6e 74 20 7b 20 50 53 4e 5f 41 50 50 4c   uint { PSN_APPL
38d0: 59 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d 32 20  Y = PSN_FIRST-2 
38e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
38f0: 20 50 53 4e 5f 52 45 53 45 54 20 3d 20 50 53 4e   PSN_RESET = PSN
3900: 5f 46 49 52 53 54 2d 33 20 7d 0d 0a 0d 0a 65 6e  _FIRST-3 }....en
3910: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f  um : uint { PSN_
3920: 48 45 4c 50 20 3d 20 50 53 4e 5f 46 49 52 53 54  HELP = PSN_FIRST
3930: 2d 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -5 }..enum : uin
3940: 74 20 7b 20 50 53 4e 5f 57 49 5a 42 41 43 4b 20  t { PSN_WIZBACK 
3950: 3d 20 50 53 4e 5f 46 49 52 53 54 2d 36 20 7d 0d  = PSN_FIRST-6 }.
3960: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
3970: 53 4e 5f 57 49 5a 4e 45 58 54 20 3d 20 50 53 4e  SN_WIZNEXT = PSN
3980: 5f 46 49 52 53 54 2d 37 20 7d 0d 0a 65 6e 75 6d  _FIRST-7 }..enum
3990: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 57 49   : uint { PSN_WI
39a0: 5a 46 49 4e 49 53 48 20 3d 20 50 53 4e 5f 46 49  ZFINISH = PSN_FI
39b0: 52 53 54 2d 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  RST-8 }..enum : 
39c0: 75 69 6e 74 20 7b 20 50 53 4e 5f 51 55 45 52 59  uint { PSN_QUERY
39d0: 43 41 4e 43 45 4c 20 3d 20 50 53 4e 5f 46 49 52  CANCEL = PSN_FIR
39e0: 53 54 2d 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  ST-9 }..// #if (
39f0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
3a00: 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
3a10: 74 20 7b 20 50 53 4e 5f 47 45 54 4f 42 4a 45 43  t { PSN_GETOBJEC
3a20: 54 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d 31 30  T = PSN_FIRST-10
3a30: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f   }..// #endif //
3a40: 20 30 78 30 34 30 30 0d 0a 2f 2f 20 23 69 66 20   0x0400..// #if 
3a50: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
3a60: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
3a70: 6e 74 20 7b 20 50 53 4e 5f 54 52 41 4e 53 4c 41  nt { PSN_TRANSLA
3a80: 54 45 41 43 43 45 4c 45 52 41 54 4f 52 20 3d 20  TEACCELERATOR = 
3a90: 50 53 4e 5f 46 49 52 53 54 2d 31 32 20 7d 0d 0a  PSN_FIRST-12 }..
3aa0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
3ab0: 4e 5f 51 55 45 52 59 49 4e 49 54 49 41 4c 46 4f  N_QUERYINITIALFO
3ac0: 43 55 53 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d  CUS = PSN_FIRST-
3ad0: 31 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  13 }..// #endif 
3ae0: 2f 2f 20 30 78 30 35 30 30 0d 0a 0d 0a 65 6e 75  // 0x0500....enu
3af0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 52 45  m : uint { PSNRE
3b00: 54 5f 4e 4f 45 52 52 4f 52 20 3d 20 30 20 7d 0d  T_NOERROR = 0 }.
3b10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
3b20: 53 4e 52 45 54 5f 49 4e 56 41 4c 49 44 20 3d 20  SNRET_INVALID = 
3b30: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
3b40: 20 7b 20 50 53 4e 52 45 54 5f 49 4e 56 41 4c 49   { PSNRET_INVALI
3b50: 44 5f 4e 4f 43 48 41 4e 47 45 50 41 47 45 20 3d  D_NOCHANGEPAGE =
3b60: 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
3b70: 74 20 7b 20 50 53 4e 52 45 54 5f 4d 45 53 53 41  t { PSNRET_MESSA
3b80: 47 45 48 41 4e 44 4c 45 44 20 3d 20 33 20 7d 0d  GEHANDLED = 3 }.
3b90: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
3ba0: 20 50 53 4d 5f 53 45 54 43 55 52 53 45 4c 20 3d   PSM_SETCURSEL =
3bb0: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 31 20 7d   WM_USER + 101 }
3bc0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f  ..// #define Pro
3bd0: 70 53 68 65 65 74 5f 53 65 74 43 75 72 53 65 6c  pSheet_SetCurSel
3be0: 28 68 44 6c 67 2c 20 68 70 61 67 65 2c 20 69 6e  (hDlg, hpage, in
3bf0: 64 65 78 29 20 53 4e 44 4d 53 47 28 68 44 6c 67  dex) SNDMSG(hDlg
3c00: 2c 20 50 53 4d 5f 53 45 54 43 55 52 53 45 4c 2c  , PSM_SETCURSEL,
3c10: 20 28 57 50 41 52 41 4d 29 69 6e 64 65 78 2c 20   (WPARAM)index, 
3c20: 28 4c 50 41 52 41 4d 29 68 70 61 67 65 29 0d 0a  (LPARAM)hpage)..
3c30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3c40: 50 53 4d 5f 52 45 4d 4f 56 45 50 41 47 45 20 3d  PSM_REMOVEPAGE =
3c50: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 32 20 7d   WM_USER + 102 }
3c60: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f  ..// #define Pro
3c70: 70 53 68 65 65 74 5f 52 65 6d 6f 76 65 50 61 67  pSheet_RemovePag
3c80: 65 28 68 44 6c 67 2c 20 69 6e 64 65 78 2c 20 68  e(hDlg, index, h
3c90: 70 61 67 65 29 20 53 4e 44 4d 53 47 28 68 44 6c  page) SNDMSG(hDl
3ca0: 67 2c 20 50 53 4d 5f 52 45 4d 4f 56 45 50 41 47  g, PSM_REMOVEPAG
3cb0: 45 2c 20 69 6e 64 65 78 2c 20 28 4c 50 41 52 41  E, index, (LPARA
3cc0: 4d 29 68 70 61 67 65 29 0d 0a 0d 0a 65 6e 75 6d  M)hpage)....enum
3cd0: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 41 44   : uint { PSM_AD
3ce0: 44 50 41 47 45 20 3d 20 57 4d 5f 55 53 45 52 20  DPAGE = WM_USER 
3cf0: 2b 20 31 30 33 20 7d 0d 0a 2f 2f 20 23 64 65 66  + 103 }..// #def
3d00: 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 41 64  ine PropSheet_Ad
3d10: 64 50 61 67 65 28 68 44 6c 67 2c 20 68 70 61 67  dPage(hDlg, hpag
3d20: 65 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20  e) SNDMSG(hDlg, 
3d30: 50 53 4d 5f 41 44 44 50 41 47 45 2c 20 30 2c 20  PSM_ADDPAGE, 0, 
3d40: 28 4c 50 41 52 41 4d 29 68 70 61 67 65 29 0d 0a  (LPARAM)hpage)..
3d50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3d60: 50 53 4d 5f 43 48 41 4e 47 45 44 20 3d 20 57 4d  PSM_CHANGED = WM
3d70: 5f 55 53 45 52 20 2b 20 31 30 34 20 7d 0d 0a 2f  _USER + 104 }../
3d80: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68  / #define PropSh
3d90: 65 65 74 5f 43 68 61 6e 67 65 64 28 68 44 6c 67  eet_Changed(hDlg
3da0: 2c 20 68 77 6e 64 29 20 53 4e 44 4d 53 47 28 68  , hwnd) SNDMSG(h
3db0: 44 6c 67 2c 20 50 53 4d 5f 43 48 41 4e 47 45 44  Dlg, PSM_CHANGED
3dc0: 2c 20 28 57 50 41 52 41 4d 29 68 77 6e 64 2c 20  , (WPARAM)hwnd, 
3dd0: 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0L)....enum : ui
3de0: 6e 74 20 7b 20 50 53 4d 5f 52 45 53 54 41 52 54  nt { PSM_RESTART
3df0: 57 49 4e 44 4f 57 53 20 3d 20 57 4d 5f 55 53 45  WINDOWS = WM_USE
3e00: 52 20 2b 20 31 30 35 20 7d 0d 0a 2f 2f 20 23 64  R + 105 }..// #d
3e10: 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f  efine PropSheet_
3e20: 52 65 73 74 61 72 74 57 69 6e 64 6f 77 73 28 68  RestartWindows(h
3e30: 44 6c 67 29 20 53 4e 44 4d 53 47 28 68 44 6c 67  Dlg) SNDMSG(hDlg
3e40: 2c 20 50 53 4d 5f 52 45 53 54 41 52 54 57 49 4e  , PSM_RESTARTWIN
3e50: 44 4f 57 53 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a  DOWS, 0, 0L)....
3e60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
3e70: 4d 5f 52 45 42 4f 4f 54 53 59 53 54 45 4d 20 3d  M_REBOOTSYSTEM =
3e80: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 36 20 7d   WM_USER + 106 }
3e90: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f  ..// #define Pro
3ea0: 70 53 68 65 65 74 5f 52 65 62 6f 6f 74 53 79 73  pSheet_RebootSys
3eb0: 74 65 6d 28 68 44 6c 67 29 20 53 4e 44 4d 53 47  tem(hDlg) SNDMSG
3ec0: 28 68 44 6c 67 2c 20 50 53 4d 5f 52 45 42 4f 4f  (hDlg, PSM_REBOO
3ed0: 54 53 59 53 54 45 4d 2c 20 30 2c 20 30 4c 29 0d  TSYSTEM, 0, 0L).
3ee0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
3ef0: 20 50 53 4d 5f 43 41 4e 43 45 4c 54 4f 43 4c 4f   PSM_CANCELTOCLO
3f00: 53 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  SE = WM_USER + 1
3f10: 30 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  07 }..// #define
3f20: 20 50 72 6f 70 53 68 65 65 74 5f 43 61 6e 63 65   PropSheet_Cance
3f30: 6c 54 6f 43 6c 6f 73 65 28 68 44 6c 67 29 20 50  lToClose(hDlg) P
3f40: 6f 73 74 4d 65 73 73 61 67 65 28 68 44 6c 67 2c  ostMessage(hDlg,
3f50: 20 50 53 4d 5f 43 41 4e 43 45 4c 54 4f 43 4c 4f   PSM_CANCELTOCLO
3f60: 53 45 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e  SE, 0, 0L)....en
3f70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f  um : uint { PSM_
3f80: 51 55 45 52 59 53 49 42 4c 49 4e 47 53 20 3d 20  QUERYSIBLINGS = 
3f90: 57 4d 5f 55 53 45 52 20 2b 20 31 30 38 20 7d 0d  WM_USER + 108 }.
3fa0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70  .// #define Prop
3fb0: 53 68 65 65 74 5f 51 75 65 72 79 53 69 62 6c 69  Sheet_QuerySibli
3fc0: 6e 67 73 28 68 44 6c 67 2c 20 77 50 61 72 61 6d  ngs(hDlg, wParam
3fd0: 2c 20 6c 50 61 72 61 6d 29 20 53 4e 44 4d 53 47  , lParam) SNDMSG
3fe0: 28 68 44 6c 67 2c 20 50 53 4d 5f 51 55 45 52 59  (hDlg, PSM_QUERY
3ff0: 53 49 42 4c 49 4e 47 53 2c 20 77 50 61 72 61 6d  SIBLINGS, wParam
4000: 2c 20 6c 50 61 72 61 6d 29 0d 0a 0d 0a 65 6e 75  , lParam)....enu
4010: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 55  m : uint { PSM_U
4020: 4e 43 48 41 4e 47 45 44 20 3d 20 57 4d 5f 55 53  NCHANGED = WM_US
4030: 45 52 20 2b 20 31 30 39 20 7d 0d 0a 2f 2f 20 23  ER + 109 }..// #
4040: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74  define PropSheet
4050: 5f 55 6e 43 68 61 6e 67 65 64 28 68 44 6c 67 2c  _UnChanged(hDlg,
4060: 20 68 77 6e 64 29 20 53 4e 44 4d 53 47 28 68 44   hwnd) SNDMSG(hD
4070: 6c 67 2c 20 50 53 4d 5f 55 4e 43 48 41 4e 47 45  lg, PSM_UNCHANGE
4080: 44 2c 20 28 57 50 41 52 41 4d 29 68 77 6e 64 2c  D, (WPARAM)hwnd,
4090: 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   0L)....enum : u
40a0: 69 6e 74 20 7b 20 50 53 4d 5f 41 50 50 4c 59 20  int { PSM_APPLY 
40b0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31 30 20  = WM_USER + 110 
40c0: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72  }..// #define Pr
40d0: 6f 70 53 68 65 65 74 5f 41 70 70 6c 79 28 68 44  opSheet_Apply(hD
40e0: 6c 67 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c  lg) SNDMSG(hDlg,
40f0: 20 50 53 4d 5f 41 50 50 4c 59 2c 20 30 2c 20 30   PSM_APPLY, 0, 0
4100: 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  L)....enum : uin
4110: 74 20 7b 20 50 53 4d 5f 53 45 54 54 49 54 4c 45  t { PSM_SETTITLE
4120: 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31  A = WM_USER + 11
4130: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
4140: 20 7b 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 57   { PSM_SETTITLEW
4150: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 32 30   = WM_USER + 120
4160: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
4170: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
4180: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
4190: 73 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 41 20  s PSM_SETTITLEA 
41a0: 50 53 4d 5f 53 45 54 54 49 54 4c 45 3b 0d 0a 2f  PSM_SETTITLE;../
41b0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
41c0: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74  define PropSheet
41d0: 5f 53 65 74 54 69 74 6c 65 28 68 44 6c 67 2c 20  _SetTitle(hDlg, 
41e0: 77 53 74 79 6c 65 2c 20 6c 70 73 7a 54 65 78 74  wStyle, lpszText
41f0: 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50  ) SNDMSG(hDlg, P
4200: 53 4d 5f 53 45 54 54 49 54 4c 45 2c 20 77 53 74  SM_SETTITLE, wSt
4210: 79 6c 65 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50  yle, (LPARAM)(LP
4220: 43 54 53 54 52 29 28 6c 70 73 7a 54 65 78 74 29  CTSTR)(lpszText)
4230: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
4240: 20 7b 20 50 53 4d 5f 53 45 54 57 49 5a 42 55 54   { PSM_SETWIZBUT
4250: 54 4f 4e 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b  TONS = WM_USER +
4260: 20 31 31 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   112 }..// #defi
4270: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74  ne PropSheet_Set
4280: 57 69 7a 42 75 74 74 6f 6e 73 28 68 44 6c 67 2c  WizButtons(hDlg,
4290: 20 64 77 46 6c 61 67 73 29 20 50 6f 73 74 4d 65   dwFlags) PostMe
42a0: 73 73 61 67 65 28 68 44 6c 67 2c 20 50 53 4d 5f  ssage(hDlg, PSM_
42b0: 53 45 54 57 49 5a 42 55 54 54 4f 4e 53 2c 20 30  SETWIZBUTTONS, 0
42c0: 2c 20 28 4c 50 41 52 41 4d 29 64 77 46 6c 61 67  , (LPARAM)dwFlag
42d0: 73 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  s)....enum : uin
42e0: 74 20 7b 20 50 53 57 49 5a 42 5f 42 41 43 4b 20  t { PSWIZB_BACK 
42f0: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
4300: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
4310: 57 49 5a 42 5f 4e 45 58 54 20 3d 20 30 78 30 30  WIZB_NEXT = 0x00
4320: 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
4330: 20 75 69 6e 74 20 7b 20 50 53 57 49 5a 42 5f 46   uint { PSWIZB_F
4340: 49 4e 49 53 48 20 3d 20 30 78 30 30 30 30 30 30  INISH = 0x000000
4350: 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
4360: 74 20 7b 20 50 53 57 49 5a 42 5f 44 49 53 41 42  t { PSWIZB_DISAB
4370: 4c 45 44 46 49 4e 49 53 48 20 3d 20 30 78 30 30  LEDFINISH = 0x00
4380: 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  000008 }....enum
4390: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 50 52   : uint { PSM_PR
43a0: 45 53 53 42 55 54 54 4f 4e 20 3d 20 57 4d 5f 55  ESSBUTTON = WM_U
43b0: 53 45 52 20 2b 20 31 31 33 20 7d 0d 0a 2f 2f 20  SER + 113 }..// 
43c0: 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65  #define PropShee
43d0: 74 5f 50 72 65 73 73 42 75 74 74 6f 6e 28 68 44  t_PressButton(hD
43e0: 6c 67 2c 20 69 42 75 74 74 6f 6e 29 20 50 6f 73  lg, iButton) Pos
43f0: 74 4d 65 73 73 61 67 65 28 68 44 6c 67 2c 20 50  tMessage(hDlg, P
4400: 53 4d 5f 50 52 45 53 53 42 55 54 54 4f 4e 2c 20  SM_PRESSBUTTON, 
4410: 28 57 50 41 52 41 4d 29 69 42 75 74 74 6f 6e 2c  (WPARAM)iButton,
4420: 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   0)....enum : ui
4430: 6e 74 20 7b 20 50 53 42 54 4e 5f 42 41 43 4b 20  nt { PSBTN_BACK 
4440: 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
4450: 6e 74 20 7b 20 50 53 42 54 4e 5f 4e 45 58 54 20  nt { PSBTN_NEXT 
4460: 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
4470: 6e 74 20 7b 20 50 53 42 54 4e 5f 46 49 4e 49 53  nt { PSBTN_FINIS
4480: 48 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  H = 2 }..enum : 
4490: 75 69 6e 74 20 7b 20 50 53 42 54 4e 5f 4f 4b 20  uint { PSBTN_OK 
44a0: 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
44b0: 6e 74 20 7b 20 50 53 42 54 4e 5f 41 50 50 4c 59  nt { PSBTN_APPLY
44c0: 4e 4f 57 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20  NOW = 4 }..enum 
44d0: 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e 5f 43  : uint { PSBTN_C
44e0: 41 4e 43 45 4c 20 3d 20 35 20 7d 0d 0a 65 6e 75  ANCEL = 5 }..enu
44f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e  m : uint { PSBTN
4500: 5f 48 45 4c 50 20 3d 20 36 20 7d 0d 0a 65 6e 75  _HELP = 6 }..enu
4510: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e  m : uint { PSBTN
4520: 5f 4d 41 58 20 3d 20 36 20 7d 0d 0a 0d 0a 65 6e  _MAX = 6 }....en
4530: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f  um : uint { PSM_
4540: 53 45 54 43 55 52 53 45 4c 49 44 20 3d 20 57 4d  SETCURSELID = WM
4550: 5f 55 53 45 52 20 2b 20 31 31 34 20 7d 0d 0a 2f  _USER + 114 }../
4560: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68  / #define PropSh
4570: 65 65 74 5f 53 65 74 43 75 72 53 65 6c 42 79 49  eet_SetCurSelByI
4580: 44 28 68 44 6c 67 2c 20 69 64 29 20 53 4e 44 4d  D(hDlg, id) SNDM
4590: 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 53 45 54  SG(hDlg, PSM_SET
45a0: 43 55 52 53 45 4c 49 44 2c 20 30 2c 20 28 4c 50  CURSELID, 0, (LP
45b0: 41 52 41 4d 29 69 64 29 0d 0a 0d 0a 65 6e 75 6d  ARAM)id)....enum
45c0: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45   : uint { PSM_SE
45d0: 54 46 49 4e 49 53 48 54 45 58 54 41 20 3d 20 57  TFINISHTEXTA = W
45e0: 4d 5f 55 53 45 52 20 2b 20 31 31 35 20 7d 0d 0a  M_USER + 115 }..
45f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
4600: 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58 54 57  M_SETFINISHTEXTW
4610: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 32 31   = WM_USER + 121
4620: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
4630: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
4640: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
4650: 73 20 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54  s PSM_SETFINISHT
4660: 45 58 54 41 20 50 53 4d 5f 53 45 54 46 49 4e 49  EXTA PSM_SETFINI
4670: 53 48 54 45 58 54 3b 0d 0a 2f 2f 20 23 65 6e 64  SHTEXT;..// #end
4680: 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  if....// #define
4690: 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74 46 69   PropSheet_SetFi
46a0: 6e 69 73 68 54 65 78 74 28 68 44 6c 67 2c 20 6c  nishText(hDlg, l
46b0: 70 73 7a 54 65 78 74 29 20 53 4e 44 4d 53 47 28  pszText) SNDMSG(
46c0: 68 44 6c 67 2c 20 50 53 4d 5f 53 45 54 46 49 4e  hDlg, PSM_SETFIN
46d0: 49 53 48 54 45 58 54 2c 20 30 2c 20 28 4c 50 41  ISHTEXT, 0, (LPA
46e0: 52 41 4d 29 6c 70 73 7a 54 65 78 74 29 0d 0a 0d  RAM)lpszText)...
46f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
4700: 53 4d 5f 47 45 54 54 41 42 43 4f 4e 54 52 4f 4c  SM_GETTABCONTROL
4710: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31 36   = WM_USER + 116
4720: 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50   }..// #define P
4730: 72 6f 70 53 68 65 65 74 5f 47 65 74 54 61 62 43  ropSheet_GetTabC
4740: 6f 6e 74 72 6f 6c 28 68 44 6c 67 29 20 28 48 57  ontrol(hDlg) (HW
4750: 4e 44 29 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20  ND)SNDMSG(hDlg, 
4760: 50 53 4d 5f 47 45 54 54 41 42 43 4f 4e 54 52 4f  PSM_GETTABCONTRO
4770: 4c 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d  L, 0, 0)....enum
4780: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 49 53   : uint { PSM_IS
4790: 44 49 41 4c 4f 47 4d 45 53 53 41 47 45 20 3d 20  DIALOGMESSAGE = 
47a0: 57 4d 5f 55 53 45 52 20 2b 20 31 31 37 20 7d 0d  WM_USER + 117 }.
47b0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70  .// #define Prop
47c0: 53 68 65 65 74 5f 49 73 44 69 61 6c 6f 67 4d 65  Sheet_IsDialogMe
47d0: 73 73 61 67 65 28 68 44 6c 67 2c 20 70 4d 73 67  ssage(hDlg, pMsg
47e0: 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68  ) (BOOL)SNDMSG(h
47f0: 44 6c 67 2c 20 50 53 4d 5f 49 53 44 49 41 4c 4f  Dlg, PSM_ISDIALO
4800: 47 4d 45 53 53 41 47 45 2c 20 30 2c 20 28 4c 50  GMESSAGE, 0, (LP
4810: 41 52 41 4d 29 70 4d 73 67 29 0d 0a 0d 0a 65 6e  ARAM)pMsg)....en
4820: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f  um : uint { PSM_
4830: 47 45 54 43 55 52 52 45 4e 54 50 41 47 45 48 57  GETCURRENTPAGEHW
4840: 4e 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  ND = WM_USER + 1
4850: 31 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  18 }..// #define
4860: 20 50 72 6f 70 53 68 65 65 74 5f 47 65 74 43 75   PropSheet_GetCu
4870: 72 72 65 6e 74 50 61 67 65 48 77 6e 64 28 68 44  rrentPageHwnd(hD
4880: 6c 67 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47  lg) (HWND)SNDMSG
4890: 28 68 44 6c 67 2c 20 50 53 4d 5f 47 45 54 43 55  (hDlg, PSM_GETCU
48a0: 52 52 45 4e 54 50 41 47 45 48 57 4e 44 2c 20 30  RRENTPAGEHWND, 0
48b0: 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  , 0L)....enum : 
48c0: 75 69 6e 74 20 7b 20 50 53 4d 5f 49 4e 53 45 52  uint { PSM_INSER
48d0: 54 50 41 47 45 20 3d 20 57 4d 5f 55 53 45 52 20  TPAGE = WM_USER 
48e0: 2b 20 31 31 39 20 7d 0d 0a 2f 2f 20 23 64 65 66  + 119 }..// #def
48f0: 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 49 6e  ine PropSheet_In
4900: 73 65 72 74 50 61 67 65 28 68 44 6c 67 2c 20 69  sertPage(hDlg, i
4910: 6e 64 65 78 2c 20 68 70 61 67 65 29 20 53 4e 44  ndex, hpage) SND
4920: 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 49 4e  MSG(hDlg, PSM_IN
4930: 53 45 52 54 50 41 47 45 2c 20 28 57 50 41 52 41  SERTPAGE, (WPARA
4940: 4d 29 28 69 6e 64 65 78 29 2c 20 28 4c 50 41 52  M)(index), (LPAR
4950: 41 4d 29 28 68 70 61 67 65 29 29 0d 0a 0d 0a 2f  AM)(hpage))..../
4960: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
4970: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
4980: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53  m : uint { PSM_S
4990: 45 54 48 45 41 44 45 52 54 49 54 4c 45 41 20 3d  ETHEADERTITLEA =
49a0: 20 57 4d 5f 55 53 45 52 20 2b 20 31 32 35 20 7d   WM_USER + 125 }
49b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
49c0: 50 53 4d 5f 53 45 54 48 45 41 44 45 52 54 49 54  PSM_SETHEADERTIT
49d0: 4c 45 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  LEW = WM_USER + 
49e0: 31 32 36 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64  126 }....// #ifd
49f0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
4a00: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
4a10: 6c 69 61 73 20 50 53 4d 5f 53 45 54 48 45 41 44  lias PSM_SETHEAD
4a20: 45 52 54 49 54 4c 45 41 20 50 53 4d 5f 53 45 54  ERTITLEA PSM_SET
4a30: 48 45 41 44 45 52 54 49 54 4c 45 3b 0d 0a 2f 2f  HEADERTITLE;..//
4a40: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64   #endif....// #d
4a50: 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f  efine PropSheet_
4a60: 53 65 74 48 65 61 64 65 72 54 69 74 6c 65 28 68  SetHeaderTitle(h
4a70: 44 6c 67 2c 20 69 6e 64 65 78 2c 20 6c 70 73 7a  Dlg, index, lpsz
4a80: 54 65 78 74 29 20 53 4e 44 4d 53 47 28 68 44 6c  Text) SNDMSG(hDl
4a90: 67 2c 20 50 53 4d 5f 53 45 54 48 45 41 44 45 52  g, PSM_SETHEADER
4aa0: 54 49 54 4c 45 2c 20 28 57 50 41 52 41 4d 29 28  TITLE, (WPARAM)(
4ab0: 69 6e 64 65 78 29 2c 20 28 4c 50 41 52 41 4d 29  index), (LPARAM)
4ac0: 28 6c 70 73 7a 54 65 78 74 29 29 0d 0a 0d 0a 65  (lpszText))....e
4ad0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d  num : uint { PSM
4ae0: 5f 53 45 54 48 45 41 44 45 52 53 55 42 54 49 54  _SETHEADERSUBTIT
4af0: 4c 45 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  LEA = WM_USER + 
4b00: 31 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  127 }..enum : ui
4b10: 6e 74 20 7b 20 50 53 4d 5f 53 45 54 48 45 41 44  nt { PSM_SETHEAD
4b20: 45 52 53 55 42 54 49 54 4c 45 57 20 3d 20 57 4d  ERSUBTITLEW = WM
4b30: 5f 55 53 45 52 20 2b 20 31 32 38 20 7d 0d 0a 0d  _USER + 128 }...
4b40: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
4b50: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
4b60: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 50 53 4d  #else..alias PSM
4b70: 5f 53 45 54 48 45 41 44 45 52 53 55 42 54 49 54  _SETHEADERSUBTIT
4b80: 4c 45 41 20 50 53 4d 5f 53 45 54 48 45 41 44 45  LEA PSM_SETHEADE
4b90: 52 53 55 42 54 49 54 4c 45 3b 0d 0a 2f 2f 20 23  RSUBTITLE;..// #
4ba0: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66  endif....// #def
4bb0: 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 53 65  ine PropSheet_Se
4bc0: 74 48 65 61 64 65 72 53 75 62 54 69 74 6c 65 28  tHeaderSubTitle(
4bd0: 68 44 6c 67 2c 20 69 6e 64 65 78 2c 20 6c 70 73  hDlg, index, lps
4be0: 7a 54 65 78 74 29 20 53 4e 44 4d 53 47 28 68 44  zText) SNDMSG(hD
4bf0: 6c 67 2c 20 50 53 4d 5f 53 45 54 48 45 41 44 45  lg, PSM_SETHEADE
4c00: 52 53 55 42 54 49 54 4c 45 2c 20 28 57 50 41 52  RSUBTITLE, (WPAR
4c10: 41 4d 29 28 69 6e 64 65 78 29 2c 20 28 4c 50 41  AM)(index), (LPA
4c20: 52 41 4d 29 28 6c 70 73 7a 54 65 78 74 29 29 0d  RAM)(lpszText)).
4c30: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
4c40: 20 50 53 4d 5f 48 57 4e 44 54 4f 49 4e 44 45 58   PSM_HWNDTOINDEX
4c50: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 32 39   = WM_USER + 129
4c60: 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50   }..// #define P
4c70: 72 6f 70 53 68 65 65 74 5f 48 77 6e 64 54 6f 49  ropSheet_HwndToI
4c80: 6e 64 65 78 28 68 44 6c 67 2c 20 68 77 6e 64 29  ndex(hDlg, hwnd)
4c90: 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 68 44 6c   (int)SNDMSG(hDl
4ca0: 67 2c 20 50 53 4d 5f 48 57 4e 44 54 4f 49 4e 44  g, PSM_HWNDTOIND
4cb0: 45 58 2c 20 28 57 50 41 52 41 4d 29 28 68 77 6e  EX, (WPARAM)(hwn
4cc0: 64 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  d), 0)....enum :
4cd0: 20 75 69 6e 74 20 7b 20 50 53 4d 5f 49 4e 44 45   uint { PSM_INDE
4ce0: 58 54 4f 48 57 4e 44 20 3d 20 57 4d 5f 55 53 45  XTOHWND = WM_USE
4cf0: 52 20 2b 20 31 33 30 20 7d 0d 0a 2f 2f 20 23 64  R + 130 }..// #d
4d00: 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f  efine PropSheet_
4d10: 49 6e 64 65 78 54 6f 48 77 6e 64 28 68 44 6c 67  IndexToHwnd(hDlg
4d20: 2c 20 69 29 20 28 48 57 4e 44 29 53 4e 44 4d 53  , i) (HWND)SNDMS
4d30: 47 28 68 44 6c 67 2c 20 50 53 4d 5f 49 4e 44 45  G(hDlg, PSM_INDE
4d40: 58 54 4f 48 57 4e 44 2c 20 28 57 50 41 52 41 4d  XTOHWND, (WPARAM
4d50: 29 28 69 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d  )(i), 0)....enum
4d60: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 50 41   : uint { PSM_PA
4d70: 47 45 54 4f 49 4e 44 45 58 20 3d 20 57 4d 5f 55  GETOINDEX = WM_U
4d80: 53 45 52 20 2b 20 31 33 31 20 7d 0d 0a 2f 2f 20  SER + 131 }..// 
4d90: 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65  #define PropShee
4da0: 74 5f 50 61 67 65 54 6f 49 6e 64 65 78 28 68 44  t_PageToIndex(hD
4db0: 6c 67 2c 20 68 70 61 67 65 29 20 28 69 6e 74 29  lg, hpage) (int)
4dc0: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d  SNDMSG(hDlg, PSM
4dd0: 5f 50 41 47 45 54 4f 49 4e 44 45 58 2c 20 30 2c  _PAGETOINDEX, 0,
4de0: 20 28 4c 50 41 52 41 4d 29 28 68 70 61 67 65 29   (LPARAM)(hpage)
4df0: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
4e00: 20 7b 20 50 53 4d 5f 49 4e 44 45 58 54 4f 50 41   { PSM_INDEXTOPA
4e10: 47 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  GE = WM_USER + 1
4e20: 33 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  32 }..// #define
4e30: 20 50 72 6f 70 53 68 65 65 74 5f 49 6e 64 65 78   PropSheet_Index
4e40: 54 6f 50 61 67 65 28 68 44 6c 67 2c 20 69 29 20  ToPage(hDlg, i) 
4e50: 28 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 29  (HPROPSHEETPAGE)
4e60: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d  SNDMSG(hDlg, PSM
4e70: 5f 49 4e 44 45 58 54 4f 50 41 47 45 2c 20 28 57  _INDEXTOPAGE, (W
4e80: 50 41 52 41 4d 29 28 69 29 2c 20 30 29 0d 0a 0d  PARAM)(i), 0)...
4e90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
4ea0: 53 4d 5f 49 44 54 4f 49 4e 44 45 58 20 3d 20 57  SM_IDTOINDEX = W
4eb0: 4d 5f 55 53 45 52 20 2b 20 31 33 33 20 7d 0d 0a  M_USER + 133 }..
4ec0: 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53  // #define PropS
4ed0: 68 65 65 74 5f 49 64 54 6f 49 6e 64 65 78 28 68  heet_IdToIndex(h
4ee0: 44 6c 67 2c 20 69 64 29 20 28 69 6e 74 29 53 4e  Dlg, id) (int)SN
4ef0: 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 49  DMSG(hDlg, PSM_I
4f00: 44 54 4f 49 4e 44 45 58 2c 20 30 2c 20 28 4c 50  DTOINDEX, 0, (LP
4f10: 41 52 41 4d 29 28 69 64 29 29 0d 0a 0d 0a 65 6e  ARAM)(id))....en
4f20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f  um : uint { PSM_
4f30: 49 4e 44 45 58 54 4f 49 44 20 3d 20 57 4d 5f 55  INDEXTOID = WM_U
4f40: 53 45 52 20 2b 20 31 33 34 20 7d 0d 0a 2f 2f 20  SER + 134 }..// 
4f50: 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65  #define PropShee
4f60: 74 5f 49 6e 64 65 78 54 6f 49 64 28 68 44 6c 67  t_IndexToId(hDlg
4f70: 2c 20 69 29 20 53 4e 44 4d 53 47 28 68 44 6c 67  , i) SNDMSG(hDlg
4f80: 2c 20 50 53 4d 5f 49 4e 44 45 58 54 4f 49 44 2c  , PSM_INDEXTOID,
4f90: 20 28 57 50 41 52 41 4d 29 28 69 29 2c 20 30 29   (WPARAM)(i), 0)
4fa0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
4fb0: 7b 20 50 53 4d 5f 47 45 54 52 45 53 55 4c 54 20  { PSM_GETRESULT 
4fc0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 35 20  = WM_USER + 135 
4fd0: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72  }..// #define Pr
4fe0: 6f 70 53 68 65 65 74 5f 47 65 74 52 65 73 75 6c  opSheet_GetResul
4ff0: 74 28 68 44 6c 67 29 20 53 4e 44 4d 53 47 28 68  t(hDlg) SNDMSG(h
5000: 44 6c 67 2c 20 50 53 4d 5f 47 45 54 52 45 53 55  Dlg, PSM_GETRESU
5010: 4c 54 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75  LT, 0, 0)....enu
5020: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 52  m : uint { PSM_R
5030: 45 43 41 4c 43 50 41 47 45 53 49 5a 45 53 20 3d  ECALCPAGESIZES =
5040: 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 36 20 7d   WM_USER + 136 }
5050: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f  ..// #define Pro
5060: 70 53 68 65 65 74 5f 52 65 63 61 6c 63 50 61 67  pSheet_RecalcPag
5070: 65 53 69 7a 65 73 28 68 44 6c 67 29 20 53 4e 44  eSizes(hDlg) SND
5080: 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 52 45  MSG(hDlg, PSM_RE
5090: 43 41 4c 43 50 41 47 45 53 49 5a 45 53 2c 20 30  CALCPAGESIZES, 0
50a0: 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  , 0)..// #endif 
50b0: 2f 2f 20 30 78 30 35 30 30 0d 0a 0d 0a 65 6e 75  // 0x0500....enu
50c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 5f 50 53  m : uint { ID_PS
50d0: 52 45 53 54 41 52 54 57 49 4e 44 4f 57 53 20 3d  RESTARTWINDOWS =
50e0: 20 30 78 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   0x2 }..enum : u
50f0: 69 6e 74 20 7b 20 49 44 5f 50 53 52 45 42 4f 4f  int { ID_PSREBOO
5100: 54 53 59 53 54 45 4d 20 3d 20 49 44 5f 50 53 52  TSYSTEM = ID_PSR
5110: 45 53 54 41 52 54 57 49 4e 44 4f 57 53 20 7c 20  ESTARTWINDOWS | 
5120: 30 78 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0x1 }....enum : 
5130: 75 69 6e 74 20 7b 20 57 49 5a 5f 43 58 44 4c 47  uint { WIZ_CXDLG
5140: 20 3d 20 32 37 36 20 7d 0d 0a 65 6e 75 6d 20 3a   = 276 }..enum :
5150: 20 75 69 6e 74 20 7b 20 57 49 5a 5f 43 59 44 4c   uint { WIZ_CYDL
5160: 47 20 3d 20 31 34 30 20 7d 0d 0a 0d 0a 65 6e 75  G = 140 }....enu
5170: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 5a 5f 43  m : uint { WIZ_C
5180: 58 42 4d 50 20 3d 20 38 30 20 7d 0d 0a 0d 0a 65  XBMP = 80 }....e
5190: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 5a  num : uint { WIZ
51a0: 5f 42 4f 44 59 58 20 3d 20 39 32 20 7d 0d 0a 65  _BODYX = 92 }..e
51b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 5a  num : uint { WIZ
51c0: 5f 42 4f 44 59 43 58 20 3d 20 31 38 34 20 7d 0d  _BODYCX = 184 }.
51d0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
51e0: 20 50 52 4f 50 5f 53 4d 5f 43 58 44 4c 47 20 3d   PROP_SM_CXDLG =
51f0: 20 32 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   212 }..enum : u
5200: 69 6e 74 20 7b 20 50 52 4f 50 5f 53 4d 5f 43 59  int { PROP_SM_CY
5210: 44 4c 47 20 3d 20 31 38 38 20 7d 0d 0a 0d 0a 65  DLG = 188 }....e
5220: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f  num : uint { PRO
5230: 50 5f 4d 45 44 5f 43 58 44 4c 47 20 3d 20 32 32  P_MED_CXDLG = 22
5240: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
5250: 20 7b 20 50 52 4f 50 5f 4d 45 44 5f 43 59 44 4c   { PROP_MED_CYDL
5260: 47 20 3d 20 32 31 35 20 7d 0d 0a 0d 0a 65 6e 75  G = 215 }....enu
5270: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 50 5f  m : uint { PROP_
5280: 4c 47 5f 43 58 44 4c 47 20 3d 20 32 35 32 20 7d  LG_CXDLG = 252 }
5290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
52a0: 50 52 4f 50 5f 4c 47 5f 43 59 44 4c 47 20 3d 20  PROP_LG_CYDLG = 
52b0: 32 31 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  218 }....// #if 
52c0: 21 64 65 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f  !defined(RC_INVO
52d0: 4b 45 44 29 20 2f 2a 20 52 43 20 63 6f 6d 70 6c  KED) /* RC compl
52e0: 61 69 6e 73 20 61 62 6f 75 74 20 6c 6f 6e 67 20  ains about long 
52f0: 73 79 6d 62 6f 6c 73 20 69 6e 20 23 69 66 73 20  symbols in #ifs 
5300: 2a 2f 0d 0a 2f 2f 20 23 69 66 20 49 53 4f 4c 41  */..// #if ISOLA
5310: 54 49 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c  TION_AWARE_ENABL
5320: 45 44 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65  ED....// #if !de
5330: 66 69 6e 65 64 28 49 53 4f 4c 41 54 49 4f 4e 5f  fined(ISOLATION_
5340: 41 57 41 52 45 5f 49 4e 4c 49 4e 45 29 0d 0a 2f  AWARE_INLINE)../
5350: 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f  / #if defined(__
5360: 63 70 6c 75 73 70 6c 75 73 29 0d 0a 2f 2f 20 23  cplusplus)..// #
5370: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
5380: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
5390: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  f..// #endif....
53a0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66  // .......// #if
53b0: 6e 64 65 66 20 43 43 53 49 5a 45 4f 46 5f 53 54  ndef CCSIZEOF_ST
53c0: 52 55 43 54 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  RUCT..// #...../
53d0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 2e  / #endif....// .
53e0: 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  ......// #if def
53f0: 69 6e 65 64 28 55 4e 49 43 4f 44 45 29 0d 0a 0d  ined(UNICODE)...
5400: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
5410: 2e 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f 2a  .....// #else /*
5420: 20 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a 2f   UNICODE */..../
5430: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
5440: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
5450: 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a 2f 2f  UNICODE */....//
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 2e 2e 2e 0d 0a   .......// .....
54c0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
54d0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
54e0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d  #.....// #......
54f0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 49 53  .// #endif /* IS
5500: 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45 5f 45 4e  OLATION_AWARE_EN
5510: 41 42 4c 45 44 20 2a 2f 0d 0a 2f 2f 20 23 65 6e  ABLED */..// #en
5520: 64 69 66 20 2f 2a 20 52 43 20 2a 2f 0d 0a 0d 0a  dif /* RC */....
5530: 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75  // #ifdef __cplu
5540: 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f 20  splus..// }..// 
5550: 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 67 6e 3a  #endif....align:
5560: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f  ....// #endif  /
5570: 2f 20 5f 50 52 53 48 54 5f 48 5f 0d 0a 0d 0a 2f  / _PRSHT_H_..../
5580: 2f 20 2d 2d 2d 2d 0d 0a 0d 0a 2f 2f 20 23 69 66  / ----....// #if
5590: 6e 64 65 66 20 5f 49 4e 43 5f 43 4f 4d 4d 43 54  ndef _INC_COMMCT
55a0: 52 4c 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f  RL..// #define _
55b0: 49 4e 43 5f 43 4f 4d 4d 43 54 52 4c 0d 0a 0d 0a  INC_COMMCTRL....
55c0: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 52  // #ifndef _WINR
55d0: 45 53 52 43 5f 0d 0a 2f 2f 20 23 69 66 6e 64 65  ESRC_..// #ifnde
55e0: 66 20 5f 57 49 4e 33 32 5f 49 45 0d 0a 2f 2f 20  f _WIN32_IE..// 
55f0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
5600: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
5610: 45 20 3c 20 30 78 30 34 30 30 29 20 26 26 20 64  E < 0x0400) && d
5620: 65 66 69 6e 65 64 28 5f 57 49 4e 33 32 5f 57 49  efined(_WIN32_WI
5630: 4e 4e 54 29 20 26 26 20 28 5f 57 49 4e 33 32 5f  NNT) && (_WIN32_
5640: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
5650: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
5660: 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  ndif..// #endif.
5670: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
5680: 20 23 69 66 6e 64 65 66 20 5f 48 52 45 53 55 4c   #ifndef _HRESUL
5690: 54 5f 44 45 46 49 4e 45 44 0d 0a 2f 2f 20 23 64  T_DEFINED..// #d
56a0: 65 66 69 6e 65 20 5f 48 52 45 53 55 4c 54 5f 44  efine _HRESULT_D
56b0: 45 46 49 4e 45 44 0d 0a 61 6c 69 61 73 20 4c 4f  EFINED..alias LO
56c0: 4e 47 20 48 52 45 53 55 4c 54 3b 0d 0a 2f 2f 20  NG HRESULT;..// 
56d0: 23 65 6e 64 69 66 20 2f 2f 20 5f 48 52 45 53 55  #endif // _HRESU
56e0: 4c 54 5f 44 45 46 49 4e 45 44 0d 0a 0d 0a 2f 2f  LT_DEFINED....//
56f0: 20 23 69 66 6e 64 65 66 20 4e 4f 55 53 45 52 0d   #ifndef NOUSER.
5700: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 57 49  ...// #ifndef WI
5710: 4e 43 4f 4d 4d 43 54 52 4c 41 50 49 0d 0a 2f 2f  NCOMMCTRLAPI..//
5720: 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 5f 43   #if !defined(_C
5730: 4f 4d 43 54 4c 33 32 5f 29 20 26 26 20 64 65 66  OMCTL32_) && def
5740: 69 6e 65 64 28 5f 57 49 4e 33 32 29 0d 0a 2f 2f  ined(_WIN32)..//
5750: 20 23 64 65 66 69 6e 65 20 57 49 4e 43 4f 4d 4d   #define WINCOMM
5760: 43 54 52 4c 41 50 49 20 44 45 43 4c 53 50 45 43  CTRLAPI DECLSPEC
5770: 5f 49 4d 50 4f 52 54 0d 0a 2f 2f 20 23 65 6c 73  _IMPORT..// #els
5780: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
5790: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
57a0: 20 2f 2f 20 57 49 4e 43 4f 4d 4d 43 54 52 4c 41   // WINCOMMCTRLA
57b0: 50 49 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  PI....// #ifndef
57c0: 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 0d   DUMMYUNIONNAME.
57d0: 0a 2f 2f 20 23 69 66 64 65 66 20 4e 4f 4e 41 4d  .// #ifdef NONAM
57e0: 45 4c 45 53 53 55 4e 49 4f 4e 0d 0a 2f 2f 20 23  ELESSUNION..// #
57f0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
5800: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
5810: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
5820: 65 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 55  e..// #define DU
5830: 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a 2f 2f  MMYUNIONNAME..//
5840: 20 23 64 65 66 69 6e 65 20 44 55 4d 4d 59 55 4e   #define DUMMYUN
5850: 49 4f 4e 4e 41 4d 45 32 0d 0a 2f 2f 20 23 64 65  IONNAME2..// #de
5860: 66 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e  fine DUMMYUNIONN
5870: 41 4d 45 33 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  AME3..// #define
5880: 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 34   DUMMYUNIONNAME4
5890: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 55 4d  ..// #define DUM
58a0: 4d 59 55 4e 49 4f 4e 4e 41 4d 45 35 0d 0a 2f 2f  MYUNIONNAME5..//
58b0: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
58c0: 69 66 20 2f 2f 20 44 55 4d 4d 59 55 4e 49 4f 4e  if // DUMMYUNION
58d0: 4e 41 4d 45 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  NAME....// #ifde
58e0: 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f  f __cplusplus../
58f0: 2f 20 65 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a  / extern "C" {..
5900: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
5910: 23 69 6e 63 6c 75 64 65 20 3c 70 72 73 68 74 2e  #include <prsht.
5920: 68 3e 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  h>....// #ifndef
5930: 20 53 4e 44 4d 53 47 0d 0a 2f 2f 20 23 69 66 64   SNDMSG..// #ifd
5940: 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a  ef __cplusplus..
5950: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d  // #ifndef _MAC.
5960: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e 44 4d  .// #define SNDM
5970: 53 47 20 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65  SG ::SendMessage
5980: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
5990: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
59a0: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 69 66  // #else..// #if
59b0: 6e 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 23 2e  ndef _MAC..// #.
59c0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
59d0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
59e0: 20 2f 2f 5f 4d 41 43 0d 0a 2f 2f 20 23 65 6e 64   //_MAC..// #end
59f0: 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  if..// #endif //
5a00: 20 69 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a   ifndef SNDMSG..
5a10: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 4d 41 43  ..// #ifdef _MAC
5a20: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 52 43 5f  ..// #ifndef RC_
5a30: 49 4e 56 4f 4b 45 44 0d 0a 2f 2f 20 23 69 66 6e  INVOKED..// #ifn
5a40: 64 65 66 20 5f 57 4c 4d 5f 4e 4f 46 4f 52 43 45  def _WLM_NOFORCE
5a50: 5f 4c 49 42 53 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  _LIBS....// #ifn
5a60: 64 65 66 20 5f 57 4c 4d 44 4c 4c 0d 0a 2f 2f 20  def _WLMDLL..// 
5a70: 20 20 20 20 23 69 66 64 65 66 20 5f 44 45 42 55      #ifdef _DEBU
5a80: 47 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20  G..// #.....//  
5a90: 20 20 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e     #else..// #..
5aa0: 2e 0d 0a 2f 2f 20 20 20 20 20 23 65 6e 64 69 66  ...//     #endif
5ab0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20 20  ..// #.....//   
5ac0: 20 20 23 65 6c 73 65 0d 0a 2f 2f 20 20 20 20 20    #else..//     
5ad0: 23 69 66 64 65 66 20 5f 44 45 42 55 47 0d 0a 2f  #ifdef _DEBUG../
5ae0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20 20 20 20 23  / #.....//     #
5af0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
5b00: 2f 20 20 20 20 20 23 65 6e 64 69 66 0d 0a 2f 2f  /     #endif..//
5b10: 20 23 65 6e 64 69 66 20 2f 2f 20 5f 57 4c 4d 44   #endif // _WLMD
5b20: 4c 4c 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  LL....// #endif 
5b30: 2f 2f 20 5f 57 4c 4d 5f 4e 4f 46 4f 52 43 45 5f  // _WLM_NOFORCE_
5b40: 4c 49 42 53 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  LIBS..// #endif 
5b50: 2f 2f 20 52 43 5f 49 4e 56 4f 4b 45 44 0d 0a 2f  // RC_INVOKED../
5b60: 2f 20 23 65 6e 64 69 66 20 2f 2f 5f 4d 41 43 0d  / #endif //_MAC.
5b70: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
5b80: 73 29 20 65 78 70 6f 72 74 20 76 6f 69 64 20 49  s) export void I
5b90: 6e 69 74 43 6f 6d 6d 6f 6e 43 6f 6e 74 72 6f 6c  nitCommonControl
5ba0: 73 28 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  s();....// #if (
5bb0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
5bc0: 33 30 30 29 0d 0a 73 74 72 75 63 74 20 74 61 67  300)..struct tag
5bd0: 49 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f  INITCOMMONCONTRO
5be0: 4c 53 45 58 20 7b 0d 0a 20 20 44 57 4f 52 44 20  LSEX {..  DWORD 
5bf0: 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  dwSize;..  DWORD
5c00: 20 64 77 49 43 43 3b 0d 0a 7d 0d 0a 61 6c 69 61   dwICC;..}..alia
5c10: 73 20 74 61 67 49 4e 49 54 43 4f 4d 4d 4f 4e 43  s tagINITCOMMONC
5c20: 4f 4e 54 52 4f 4c 53 45 58 20 49 4e 49 54 43 4f  ONTROLSEX INITCO
5c30: 4d 4d 4f 4e 43 4f 4e 54 52 4f 4c 53 45 58 3b 0d  MMONCONTROLSEX;.
5c40: 0a 61 6c 69 61 73 20 74 61 67 49 4e 49 54 43 4f  .alias tagINITCO
5c50: 4d 4d 4f 4e 43 4f 4e 54 52 4f 4c 53 45 58 2a 20  MMONCONTROLSEX* 
5c60: 4c 50 49 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54  LPINITCOMMONCONT
5c70: 52 4f 4c 53 45 58 3b 0d 0a 0d 0a 65 6e 75 6d 20  ROLSEX;....enum 
5c80: 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 4c 49 53  : uint { ICC_LIS
5c90: 54 56 49 45 57 5f 43 4c 41 53 53 45 53 20 3d 20  TVIEW_CLASSES = 
5ca0: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
5cb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f  um : uint { ICC_
5cc0: 54 52 45 45 56 49 45 57 5f 43 4c 41 53 53 45 53  TREEVIEW_CLASSES
5cd0: 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
5ce0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5cf0: 43 43 5f 42 41 52 5f 43 4c 41 53 53 45 53 20 3d  CC_BAR_CLASSES =
5d00: 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
5d10: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 43 43  num : uint { ICC
5d20: 5f 54 41 42 5f 43 4c 41 53 53 45 53 20 3d 20 30  _TAB_CLASSES = 0
5d30: 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75  x00000008 }..enu
5d40: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 55  m : uint { ICC_U
5d50: 50 44 4f 57 4e 5f 43 4c 41 53 53 20 3d 20 30 78  PDOWN_CLASS = 0x
5d60: 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  00000010 }..enum
5d70: 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 50 52   : uint { ICC_PR
5d80: 4f 47 52 45 53 53 5f 43 4c 41 53 53 20 3d 20 30  OGRESS_CLASS = 0
5d90: 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
5da0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 48  m : uint { ICC_H
5db0: 4f 54 4b 45 59 5f 43 4c 41 53 53 20 3d 20 30 78  OTKEY_CLASS = 0x
5dc0: 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  00000040 }..enum
5dd0: 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 41 4e   : uint { ICC_AN
5de0: 49 4d 41 54 45 5f 43 4c 41 53 53 20 3d 20 30 78  IMATE_CLASS = 0x
5df0: 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  00000080 }..enum
5e00: 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 57 49   : uint { ICC_WI
5e10: 4e 39 35 5f 43 4c 41 53 53 45 53 20 3d 20 30 78  N95_CLASSES = 0x
5e20: 30 30 30 30 30 30 46 46 20 7d 0d 0a 65 6e 75 6d  000000FF }..enum
5e30: 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 44 41   : uint { ICC_DA
5e40: 54 45 5f 43 4c 41 53 53 45 53 20 3d 20 30 78 30  TE_CLASSES = 0x0
5e50: 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
5e60: 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 55 53 45  : uint { ICC_USE
5e70: 52 45 58 5f 43 4c 41 53 53 45 53 20 3d 20 30 78  REX_CLASSES = 0x
5e80: 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  00000200 }..enum
5e90: 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 43 4f   : uint { ICC_CO
5ea0: 4f 4c 5f 43 4c 41 53 53 45 53 20 3d 20 30 78 30  OL_CLASSES = 0x0
5eb0: 30 30 30 30 34 30 30 20 7d 0d 0a 2f 2f 20 23 69  0000400 }..// #i
5ec0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
5ed0: 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
5ee0: 75 69 6e 74 20 7b 20 49 43 43 5f 49 4e 54 45 52  uint { ICC_INTER
5ef0: 4e 45 54 5f 43 4c 41 53 53 45 53 20 3d 20 30 78  NET_CLASSES = 0x
5f00: 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d  00000800 }..enum
5f10: 20 3a 20 75 69 6e 74 20 7b 20 49 43 43 5f 50 41   : uint { ICC_PA
5f20: 47 45 53 43 52 4f 4c 4c 45 52 5f 43 4c 41 53 53  GESCROLLER_CLASS
5f30: 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d   = 0x00001000 }.
5f40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5f50: 43 43 5f 4e 41 54 49 56 45 46 4e 54 43 54 4c 5f  CC_NATIVEFNTCTL_
5f60: 43 4c 41 53 53 20 3d 20 30 78 30 30 30 30 32 30  CLASS = 0x000020
5f70: 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
5f80: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
5f90: 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d  WINNT >= 0x501).
5fa0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5fb0: 43 43 5f 53 54 41 4e 44 41 52 44 5f 43 4c 41 53  CC_STANDARD_CLAS
5fc0: 53 45 53 20 3d 20 30 78 30 30 30 30 34 30 30 30  SES = 0x00004000
5fd0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5fe0: 7b 20 49 43 43 5f 4c 49 4e 4b 5f 43 4c 41 53 53  { ICC_LINK_CLASS
5ff0: 20 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d   = 0x00008000 }.
6000: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78  .// #endif....ex
6010: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
6020: 70 6f 72 74 20 42 4f 4f 4c 20 49 6e 69 74 43 6f  port BOOL InitCo
6030: 6d 6d 6f 6e 43 6f 6e 74 72 6f 6c 73 45 78 28 4c  mmonControlsEx(L
6040: 50 49 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52  PINITCOMMONCONTR
6050: 4f 4c 53 45 58 29 3b 0d 0a 2f 2f 20 23 65 6e 64  OLSEX);..// #end
6060: 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33  if      // _WIN3
6070: 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a  2_IE >= 0x0300..
6080: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
6090: 4f 44 54 5f 48 45 41 44 45 52 20 3d 20 31 30 30  ODT_HEADER = 100
60a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
60b0: 7b 20 4f 44 54 5f 54 41 42 20 3d 20 31 30 31 20  { ODT_TAB = 101 
60c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
60d0: 20 4f 44 54 5f 4c 49 53 54 56 49 45 57 20 3d 20   ODT_LISTVIEW = 
60e0: 31 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  102 }....enum : 
60f0: 75 69 6e 74 20 7b 20 4c 56 4d 5f 46 49 52 53 54  uint { LVM_FIRST
6100: 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75   = 0x1000 }..enu
6110: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 5f 46 49  m : uint { TV_FI
6120: 52 53 54 20 3d 20 30 78 31 31 30 30 20 7d 0d 0a  RST = 0x1100 }..
6130: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
6140: 4d 5f 46 49 52 53 54 20 3d 20 30 78 31 32 30 30  M_FIRST = 0x1200
6150: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6160: 7b 20 54 43 4d 5f 46 49 52 53 54 20 3d 20 30 78  { TCM_FIRST = 0x
6170: 31 33 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  1300 }....// #if
6180: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
6190: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
61a0: 69 6e 74 20 7b 20 50 47 4d 5f 46 49 52 53 54 20  int { PGM_FIRST 
61b0: 3d 20 30 78 31 34 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x1400 }..// #
61c0: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
61d0: 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d   >= 0x501)..enum
61e0: 20 3a 20 75 69 6e 74 20 7b 20 45 43 4d 5f 46 49   : uint { ECM_FI
61f0: 52 53 54 20 3d 20 30 78 31 35 30 30 20 7d 0d 0a  RST = 0x1500 }..
6200: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 43  enum : uint { BC
6210: 4d 5f 46 49 52 53 54 20 3d 20 30 78 31 36 30 30  M_FIRST = 0x1600
6220: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6230: 7b 20 43 42 4d 5f 46 49 52 53 54 20 3d 20 30 78  { CBM_FIRST = 0x
6240: 31 37 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  1700 }..// #endi
6250: 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  f..enum : uint {
6260: 20 43 43 4d 5f 46 49 52 53 54 20 3d 20 30 78 32   CCM_FIRST = 0x2
6270: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
6280: 6e 74 20 7b 20 43 43 4d 5f 4c 41 53 54 20 3d 20  nt { CCM_LAST = 
6290: 43 43 4d 5f 46 49 52 53 54 20 2b 20 30 78 32 30  CCM_FIRST + 0x20
62a0: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
62b0: 6e 74 20 7b 20 43 43 4d 5f 53 45 54 42 4b 43 4f  nt { CCM_SETBKCO
62c0: 4c 4f 52 20 3d 20 43 43 4d 5f 46 49 52 53 54 20  LOR = CCM_FIRST 
62d0: 2b 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20  + 1 }....struct 
62e0: 74 61 67 43 4f 4c 4f 52 53 43 48 45 4d 45 20 7b  tagCOLORSCHEME {
62f0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65  ..  DWORD dwSize
6300: 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c  ;..  COLORREF cl
6310: 72 42 74 6e 48 69 67 68 6c 69 67 68 74 3b 0d 0a  rBtnHighlight;..
6320: 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 42 74    COLORREF clrBt
6330: 6e 53 68 61 64 6f 77 3b 0d 0a 7d 0d 0a 61 6c 69  nShadow;..}..ali
6340: 61 73 20 74 61 67 43 4f 4c 4f 52 53 43 48 45 4d  as tagCOLORSCHEM
6350: 45 20 43 4f 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a  E COLORSCHEME;..
6360: 61 6c 69 61 73 20 74 61 67 43 4f 4c 4f 52 53 43  alias tagCOLORSC
6370: 48 45 4d 45 2a 20 4c 50 43 4f 4c 4f 52 53 43 48  HEME* LPCOLORSCH
6380: 45 4d 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  EME;....enum : u
6390: 69 6e 74 20 7b 20 43 43 4d 5f 53 45 54 43 4f 4c  int { CCM_SETCOL
63a0: 4f 52 53 43 48 45 4d 45 20 3d 20 43 43 4d 5f 46  ORSCHEME = CCM_F
63b0: 49 52 53 54 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d  IRST + 2 }..enum
63c0: 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 47 45   : uint { CCM_GE
63d0: 54 43 4f 4c 4f 52 53 43 48 45 4d 45 20 3d 20 43  TCOLORSCHEME = C
63e0: 43 4d 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d 0a  CM_FIRST + 3 }..
63f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43  enum : uint { CC
6400: 4d 5f 47 45 54 44 52 4f 50 54 41 52 47 45 54 20  M_GETDROPTARGET 
6410: 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 34 20  = CCM_FIRST + 4 
6420: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
6430: 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46   CCM_SETUNICODEF
6440: 4f 52 4d 41 54 20 3d 20 43 43 4d 5f 46 49 52 53  ORMAT = CCM_FIRS
6450: 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 5 }..enum : 
6460: 75 69 6e 74 20 7b 20 43 43 4d 5f 47 45 54 55 4e  uint { CCM_GETUN
6470: 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20 43 43  ICODEFORMAT = CC
6480: 4d 5f 46 49 52 53 54 20 2b 20 36 20 7d 0d 0a 0d  M_FIRST + 6 }...
6490: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
64a0: 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f  IE >= 0x0500)../
64b0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
64c0: 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65  NNT >= 0x501)..e
64d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4f 4d  num : uint { COM
64e0: 43 54 4c 33 32 5f 56 45 52 53 49 4f 4e 20 3d 20  CTL32_VERSION = 
64f0: 36 20 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  6 }..// #else../
6500: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
6510: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
6520: 20 7b 20 43 43 4d 5f 53 45 54 56 45 52 53 49 4f   { CCM_SETVERSIO
6530: 4e 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20  N = CCM_FIRST + 
6540: 30 78 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  0x7 }..enum : ui
6550: 6e 74 20 7b 20 43 43 4d 5f 47 45 54 56 45 52 53  nt { CCM_GETVERS
6560: 49 4f 4e 20 3d 20 43 43 4d 5f 46 49 52 53 54 20  ION = CCM_FIRST 
6570: 2b 20 30 78 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  + 0x8 }..enum : 
6580: 75 69 6e 74 20 7b 20 43 43 4d 5f 53 45 54 4e 4f  uint { CCM_SETNO
6590: 54 49 46 59 57 49 4e 44 4f 57 20 3d 20 43 43 4d  TIFYWINDOW = CCM
65a0: 5f 46 49 52 53 54 20 2b 20 30 78 39 20 7d 0d 0a  _FIRST + 0x9 }..
65b0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
65c0: 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a  INNT >= 0x501)..
65d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43  enum : uint { CC
65e0: 4d 5f 53 45 54 57 49 4e 44 4f 57 54 48 45 4d 45  M_SETWINDOWTHEME
65f0: 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 30   = CCM_FIRST + 0
6600: 78 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  xb }..enum : uin
6610: 74 20 7b 20 43 43 4d 5f 44 50 49 53 43 41 4c 45  t { CCM_DPISCALE
6620: 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 30   = CCM_FIRST + 0
6630: 78 63 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  xc }..// #endif 
6640: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 28  ..// #endif // (
6650: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
6660: 35 30 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  500)....// #endi
6670: 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 49 45 20  f // (_WIN32_IE 
6680: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 2f 2f  >= 0x0400)....//
6690: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
66a0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e  >= 0x0400)....en
66b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4e 46 4f  um : uint { INFO
66c0: 54 49 50 53 49 5a 45 20 3d 20 31 30 32 34 20 7d  TIPSIZE = 1024 }
66d0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
66e0: 2f 20 23 64 65 66 69 6e 65 20 48 41 4e 44 4c 45  / #define HANDLE
66f0: 5f 57 4d 5f 4e 4f 54 49 46 59 28 68 77 6e 64 2c  _WM_NOTIFY(hwnd,
6700: 20 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 2c   wParam, lParam,
6710: 20 66 6e 29 20 28 66 6e 29 28 28 68 77 6e 64 29   fn) (fn)((hwnd)
6720: 2c 20 28 69 6e 74 29 28 77 50 61 72 61 6d 29 2c  , (int)(wParam),
6730: 20 28 4e 4d 48 44 52 20 2a 29 28 6c 50 61 72 61   (NMHDR *)(lPara
6740: 6d 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  m))..// #define 
6750: 46 4f 52 57 41 52 44 5f 57 4d 5f 4e 4f 54 49 46  FORWARD_WM_NOTIF
6760: 59 28 68 77 6e 64 2c 20 69 64 46 72 6f 6d 2c 20  Y(hwnd, idFrom, 
6770: 70 6e 6d 68 64 72 2c 20 66 6e 29 20 28 4c 52 45  pnmhdr, fn) (LRE
6780: 53 55 4c 54 29 28 66 6e 29 28 28 68 77 6e 64 29  SULT)(fn)((hwnd)
6790: 2c 20 57 4d 5f 4e 4f 54 49 46 59 2c 20 28 57 50  , WM_NOTIFY, (WP
67a0: 41 52 41 4d 29 28 69 6e 74 29 28 69 64 46 72 6f  ARAM)(int)(idFro
67b0: 6d 29 2c 20 28 4c 50 41 52 41 4d 29 28 4e 4d 48  m), (LPARAM)(NMH
67c0: 44 52 20 2a 29 28 70 6e 6d 68 64 72 29 29 0d 0a  DR *)(pnmhdr))..
67d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
67e0: 4e 4d 5f 4f 55 54 4f 46 4d 45 4d 4f 52 59 20 3d  NM_OUTOFMEMORY =
67f0: 20 4e 4d 5f 46 49 52 53 54 2d 31 20 7d 0d 0a 65   NM_FIRST-1 }..e
6800: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f  num : uint { NM_
6810: 43 4c 49 43 4b 20 3d 20 4e 4d 5f 46 49 52 53 54  CLICK = NM_FIRST
6820: 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -2 }..enum : uin
6830: 74 20 7b 20 4e 4d 5f 44 42 4c 43 4c 4b 20 3d 20  t { NM_DBLCLK = 
6840: 4e 4d 5f 46 49 52 53 54 2d 33 20 7d 0d 0a 65 6e  NM_FIRST-3 }..en
6850: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 52  um : uint { NM_R
6860: 45 54 55 52 4e 20 3d 20 4e 4d 5f 46 49 52 53 54  ETURN = NM_FIRST
6870: 2d 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -4 }..enum : uin
6880: 74 20 7b 20 4e 4d 5f 52 43 4c 49 43 4b 20 3d 20  t { NM_RCLICK = 
6890: 4e 4d 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 6e  NM_FIRST-5 }..en
68a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 52  um : uint { NM_R
68b0: 44 42 4c 43 4c 4b 20 3d 20 4e 4d 5f 46 49 52 53  DBLCLK = NM_FIRS
68c0: 54 2d 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-6 }..enum : ui
68d0: 6e 74 20 7b 20 4e 4d 5f 53 45 54 46 4f 43 55 53  nt { NM_SETFOCUS
68e0: 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 37 20 7d 0d   = NM_FIRST-7 }.
68f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
6900: 4d 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 4e 4d  M_KILLFOCUS = NM
6910: 5f 46 49 52 53 54 2d 38 20 7d 0d 0a 2f 2f 20 23  _FIRST-8 }..// #
6920: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
6930: 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0300)..enum :
6940: 20 75 69 6e 74 20 7b 20 4e 4d 5f 43 55 53 54 4f   uint { NM_CUSTO
6950: 4d 44 52 41 57 20 3d 20 4e 4d 5f 46 49 52 53 54  MDRAW = NM_FIRST
6960: 2d 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  -12 }..enum : ui
6970: 6e 74 20 7b 20 4e 4d 5f 48 4f 56 45 52 20 3d 20  nt { NM_HOVER = 
6980: 4e 4d 5f 46 49 52 53 54 2d 31 33 20 7d 0d 0a 2f  NM_FIRST-13 }../
6990: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66  / #endif..// #if
69a0: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
69b0: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
69c0: 69 6e 74 20 7b 20 4e 4d 5f 4e 43 48 49 54 54 45  int { NM_NCHITTE
69d0: 53 54 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 34  ST = NM_FIRST-14
69e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
69f0: 7b 20 4e 4d 5f 4b 45 59 44 4f 57 4e 20 3d 20 4e  { NM_KEYDOWN = N
6a00: 4d 5f 46 49 52 53 54 2d 31 35 20 7d 0d 0a 65 6e  M_FIRST-15 }..en
6a10: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 52  um : uint { NM_R
6a20: 45 4c 45 41 53 45 44 43 41 50 54 55 52 45 20 3d  ELEASEDCAPTURE =
6a30: 20 4e 4d 5f 46 49 52 53 54 2d 31 36 20 7d 0d 0a   NM_FIRST-16 }..
6a40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d  enum : uint { NM
6a50: 5f 53 45 54 43 55 52 53 4f 52 20 3d 20 4e 4d 5f  _SETCURSOR = NM_
6a60: 46 49 52 53 54 2d 31 37 20 7d 0d 0a 65 6e 75 6d  FIRST-17 }..enum
6a70: 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 43 48 41   : uint { NM_CHA
6a80: 52 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 38 20  R = NM_FIRST-18 
6a90: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  }..// #endif..//
6aa0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
6ab0: 3e 3d 20 30 78 30 34 30 31 29 0d 0a 65 6e 75 6d  >= 0x0401)..enum
6ac0: 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 54 4f 4f   : uint { NM_TOO
6ad0: 4c 54 49 50 53 43 52 45 41 54 45 44 20 3d 20 4e  LTIPSCREATED = N
6ae0: 4d 5f 46 49 52 53 54 2d 31 39 20 7d 0d 0a 2f 2f  M_FIRST-19 }..//
6af0: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20   #endif..// #if 
6b00: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
6b10: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
6b20: 6e 74 20 7b 20 4e 4d 5f 4c 44 4f 57 4e 20 3d 20  nt { NM_LDOWN = 
6b30: 4e 4d 5f 46 49 52 53 54 2d 32 30 20 7d 0d 0a 65  NM_FIRST-20 }..e
6b40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f  num : uint { NM_
6b50: 52 44 4f 57 4e 20 3d 20 4e 4d 5f 46 49 52 53 54  RDOWN = NM_FIRST
6b60: 2d 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  -21 }..enum : ui
6b70: 6e 74 20 7b 20 4e 4d 5f 54 48 45 4d 45 43 48 41  nt { NM_THEMECHA
6b80: 4e 47 45 44 20 3d 20 4e 4d 5f 46 49 52 53 54 2d  NGED = NM_FIRST-
6b90: 32 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  22 }..// #endif.
6ba0: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 43 43  ...// #ifndef CC
6bb0: 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 0d 0a 2f  SIZEOF_STRUCT../
6bc0: 2f 20 23 64 65 66 69 6e 65 20 43 43 53 49 5a 45  / #define CCSIZE
6bd0: 4f 46 5f 53 54 52 55 43 54 28 73 74 72 75 63 74  OF_STRUCT(struct
6be0: 6e 61 6d 65 2c 20 6d 65 6d 62 65 72 29 20 28 28  name, member) ((
6bf0: 28 69 6e 74 29 28 28 4c 50 42 59 54 45 29 28 26  (int)((LPBYTE)(&
6c00: 28 28 73 74 72 75 63 74 6e 61 6d 65 2a 29 30 29  ((structname*)0)
6c10: 2d 3e 6d 65 6d 62 65 72 29 20 2d 20 28 28 4c 50  ->member) - ((LP
6c20: 42 59 54 45 29 28 28 73 74 72 75 63 74 6e 61 6d  BYTE)((structnam
6c30: 65 2a 29 30 29 29 29 29 20 2b 20 73 69 7a 65 6f  e*)0)))) + sizeo
6c40: 66 28 28 28 73 74 72 75 63 74 6e 61 6d 65 2a 29  f(((structname*)
6c50: 30 29 2d 3e 6d 65 6d 62 65 72 29 29 0d 0a 2f 2f  0)->member))..//
6c60: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
6c70: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
6c80: 30 78 30 34 30 31 29 0d 0a 73 74 72 75 63 74 20  0x0401)..struct 
6c90: 74 61 67 4e 4d 54 4f 4f 4c 54 49 50 53 43 52 45  tagNMTOOLTIPSCRE
6ca0: 41 54 45 44 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  ATED {..  NMHDR 
6cb0: 68 64 72 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e  hdr;..  HWND hwn
6cc0: 64 54 6f 6f 6c 54 69 70 73 3b 0d 0a 7d 0d 0a 61  dToolTips;..}..a
6cd0: 6c 69 61 73 20 74 61 67 4e 4d 54 4f 4f 4c 54 49  lias tagNMTOOLTI
6ce0: 50 53 43 52 45 41 54 45 44 20 4e 4d 54 4f 4f 4c  PSCREATED NMTOOL
6cf0: 54 49 50 53 43 52 45 41 54 45 44 3b 0d 0a 61 6c  TIPSCREATED;..al
6d00: 69 61 73 20 74 61 67 4e 4d 54 4f 4f 4c 54 49 50  ias tagNMTOOLTIP
6d10: 53 43 52 45 41 54 45 44 2a 20 4c 50 4e 4d 54 4f  SCREATED* LPNMTO
6d20: 4f 4c 54 49 50 53 43 52 45 41 54 45 44 3b 0d 0a  OLTIPSCREATED;..
6d30: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
6d40: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
6d50: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 73 74 72   >= 0x0400)..str
6d60: 75 63 74 20 74 61 67 4e 4d 4d 4f 55 53 45 20 7b  uct tagNMMOUSE {
6d70: 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
6d80: 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 49 74    DWORD_PTR dwIt
6d90: 65 6d 53 70 65 63 3b 0d 0a 20 20 44 57 4f 52 44  emSpec;..  DWORD
6da0: 5f 50 54 52 20 64 77 49 74 65 6d 44 61 74 61 3b  _PTR dwItemData;
6db0: 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20  ..  POINT pt;.. 
6dc0: 20 4c 50 41 52 41 4d 20 64 77 48 69 74 49 6e 66   LPARAM dwHitInf
6dd0: 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  o;..}..alias tag
6de0: 4e 4d 4d 4f 55 53 45 20 4e 4d 4d 4f 55 53 45 3b  NMMOUSE NMMOUSE;
6df0: 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4d 4f 55  ..alias tagNMMOU
6e00: 53 45 2a 20 4c 50 4e 4d 4d 4f 55 53 45 3b 0d 0a  SE* LPNMMOUSE;..
6e10: 0d 0a 61 6c 69 61 73 20 4e 4d 4d 4f 55 53 45 20  ..alias NMMOUSE 
6e20: 4e 4d 43 4c 49 43 4b 3b 0d 0a 61 6c 69 61 73 20  NMCLICK;..alias 
6e30: 4c 50 4e 4d 4d 4f 55 53 45 20 4c 50 4e 4d 43 4c  LPNMMOUSE LPNMCL
6e40: 49 43 4b 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  ICK;....struct t
6e50: 61 67 4e 4d 4f 42 4a 45 43 54 4e 4f 54 49 46 59  agNMOBJECTNOTIFY
6e60: 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
6e70: 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a  ..  int iItem;..
6e80: 2f 2f 20 23 69 66 64 65 66 20 5f 5f 49 49 44 5f  // #ifdef __IID_
6e90: 44 45 46 49 4e 45 44 5f 5f 0d 0a 20 20 49 49 44  DEFINED__..  IID
6ea0: 2a 20 70 69 69 64 3b 0d 0a 2f 2f 20 23 65 6c 73  * piid;..// #els
6eb0: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
6ec0: 6e 64 69 66 0d 0a 20 20 76 6f 69 64 20 2a 70 4f  ndif..  void *pO
6ed0: 62 6a 65 63 74 3b 0d 0a 20 20 48 52 45 53 55 4c  bject;..  HRESUL
6ee0: 54 20 68 52 65 73 75 6c 74 3b 0d 0a 20 20 44 57  T hResult;..  DW
6ef0: 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 7d 0d  ORD dwFlags;..}.
6f00: 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4f 42 4a 45  .alias tagNMOBJE
6f10: 43 54 4e 4f 54 49 46 59 20 4e 4d 4f 42 4a 45 43  CTNOTIFY NMOBJEC
6f20: 54 4e 4f 54 49 46 59 3b 0d 0a 61 6c 69 61 73 20  TNOTIFY;..alias 
6f30: 74 61 67 4e 4d 4f 42 4a 45 43 54 4e 4f 54 49 46  tagNMOBJECTNOTIF
6f40: 59 2a 20 4c 50 4e 4d 4f 42 4a 45 43 54 4e 4f 54  Y* LPNMOBJECTNOT
6f50: 49 46 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  IFY;....struct t
6f60: 61 67 4e 4d 4b 45 59 20 7b 0d 0a 20 20 4e 4d 48  agNMKEY {..  NMH
6f70: 44 52 20 68 64 72 3b 0d 0a 20 20 55 49 4e 54 20  DR hdr;..  UINT 
6f80: 6e 56 4b 65 79 3b 0d 0a 20 20 55 49 4e 54 20 75  nVKey;..  UINT u
6f90: 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Flags;..}..alias
6fa0: 20 74 61 67 4e 4d 4b 45 59 20 4e 4d 4b 45 59 3b   tagNMKEY NMKEY;
6fb0: 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4b 45 59  ..alias tagNMKEY
6fc0: 2a 20 4c 50 4e 4d 4b 45 59 3b 0d 0a 0d 0a 73 74  * LPNMKEY;....st
6fd0: 72 75 63 74 20 74 61 67 4e 4d 43 48 41 52 20 7b  ruct tagNMCHAR {
6fe0: 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
6ff0: 20 20 55 49 4e 54 20 63 68 3b 0d 0a 20 20 44 57    UINT ch;..  DW
7000: 4f 52 44 20 64 77 49 74 65 6d 50 72 65 76 3b 0d  ORD dwItemPrev;.
7010: 0a 20 20 44 57 4f 52 44 20 64 77 49 74 65 6d 4e  .  DWORD dwItemN
7020: 65 78 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ext;..}..alias t
7030: 61 67 4e 4d 43 48 41 52 20 4e 4d 43 48 41 52 3b  agNMCHAR NMCHAR;
7040: 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 43 48 41  ..alias tagNMCHA
7050: 52 2a 20 4c 50 4e 4d 43 48 41 52 3b 0d 0a 0d 0a  R* LPNMCHAR;....
7060: 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 20  // #endif       
7070: 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45      // _WIN32_IE
7080: 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f   >= 0x0400....//
7090: 20 23 64 65 66 69 6e 65 20 4e 4d 5f 46 49 52 53   #define NM_FIRS
70a0: 54 20 28 30 55 2d 20 30 55 29 0d 0a 65 6e 75 6d  T (0U- 0U)..enum
70b0: 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 4c 41 53   : uint { NM_LAS
70c0: 54 20 3d 20 30 55 2d 20 39 39 55 20 7d 0d 0a 0d  T = 0U- 99U }...
70d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
70e0: 56 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 31 30  VN_FIRST = 0U-10
70f0: 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0U }..enum : uin
7100: 74 20 7b 20 4c 56 4e 5f 4c 41 53 54 20 3d 20 30  t { LVN_LAST = 0
7110: 55 2d 31 39 39 55 20 7d 0d 0a 0d 0a 65 6e 75 6d  U-199U }....enum
7120: 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 46 49   : uint { HDN_FI
7130: 52 53 54 20 3d 20 30 55 2d 33 30 30 55 20 7d 0d  RST = 0U-300U }.
7140: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
7150: 44 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 33 39 39  DN_LAST = 0U-399
7160: 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  U }....enum : ui
7170: 6e 74 20 7b 20 54 56 4e 5f 46 49 52 53 54 20 3d  nt { TVN_FIRST =
7180: 20 30 55 2d 34 30 30 55 20 7d 0d 0a 65 6e 75 6d   0U-400U }..enum
7190: 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 4c 41   : uint { TVN_LA
71a0: 53 54 20 3d 20 30 55 2d 34 39 39 55 20 7d 0d 0a  ST = 0U-499U }..
71b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
71c0: 54 54 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 35  TTN_FIRST = 0U-5
71d0: 32 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  20U }..enum : ui
71e0: 6e 74 20 7b 20 54 54 4e 5f 4c 41 53 54 20 3d 20  nt { TTN_LAST = 
71f0: 30 55 2d 35 34 39 55 20 7d 0d 0a 0d 0a 65 6e 75  0U-549U }....enu
7200: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4e 5f 46  m : uint { TCN_F
7210: 49 52 53 54 20 3d 20 30 55 2d 35 35 30 55 20 7d  IRST = 0U-550U }
7220: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7230: 54 43 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 35 38  TCN_LAST = 0U-58
7240: 30 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0U }....enum : u
7250: 69 6e 74 20 7b 20 43 44 4e 5f 46 49 52 53 54 20  int { CDN_FIRST 
7260: 3d 20 30 55 2d 36 30 31 55 20 7d 0d 0a 65 6e 75  = 0U-601U }..enu
7270: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 4e 5f 4c  m : uint { CDN_L
7280: 41 53 54 20 3d 20 30 55 2d 36 39 39 55 20 7d 0d  AST = 0U-699U }.
7290: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
72a0: 20 54 42 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d   TBN_FIRST = 0U-
72b0: 37 30 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  700U }..enum : u
72c0: 69 6e 74 20 7b 20 54 42 4e 5f 4c 41 53 54 20 3d  int { TBN_LAST =
72d0: 20 30 55 2d 37 32 30 55 20 7d 0d 0a 0d 0a 65 6e   0U-720U }....en
72e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4e 5f  um : uint { UDN_
72f0: 46 49 52 53 54 20 3d 20 30 55 2d 37 32 31 20 7d  FIRST = 0U-721 }
7300: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7310: 55 44 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 37 34  UDN_LAST = 0U-74
7320: 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  0 }..// #if (_WI
7330: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
7340: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
7350: 20 4d 43 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d   MCN_FIRST = 0U-
7360: 37 35 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  750U }..enum : u
7370: 69 6e 74 20 7b 20 4d 43 4e 5f 4c 41 53 54 20 3d  int { MCN_LAST =
7380: 20 30 55 2d 37 35 39 55 20 7d 0d 0a 0d 0a 65 6e   0U-759U }....en
7390: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4e 5f  um : uint { DTN_
73a0: 46 49 52 53 54 20 3d 20 30 55 2d 37 36 30 55 20  FIRST = 0U-760U 
73b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
73c0: 20 44 54 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 37   DTN_LAST = 0U-7
73d0: 39 39 55 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66  99U }....// #def
73e0: 69 6e 65 20 43 42 45 4e 5f 46 49 52 53 54 20 28  ine CBEN_FIRST (
73f0: 30 55 2d 38 30 30 55 29 0d 0a 65 6e 75 6d 20 3a  0U-800U)..enum :
7400: 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 4c 41 53   uint { CBEN_LAS
7410: 54 20 3d 20 30 55 2d 38 33 30 55 20 7d 0d 0a 0d  T = 0U-830U }...
7420: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
7430: 42 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 38 33  BN_FIRST = 0U-83
7440: 31 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  1U }..enum : uin
7450: 74 20 7b 20 52 42 4e 5f 4c 41 53 54 20 3d 20 30  t { RBN_LAST = 0
7460: 55 2d 38 35 39 55 20 7d 0d 0a 2f 2f 20 23 65 6e  U-859U }..// #en
7470: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  dif....// #if (_
7480: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
7490: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
74a0: 20 7b 20 49 50 4e 5f 46 49 52 53 54 20 3d 20 30   { IPN_FIRST = 0
74b0: 55 2d 38 36 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a  U-860U }..enum :
74c0: 20 75 69 6e 74 20 7b 20 49 50 4e 5f 4c 41 53 54   uint { IPN_LAST
74d0: 20 3d 20 30 55 2d 38 37 39 55 20 7d 0d 0a 0d 0a   = 0U-879U }....
74e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42  enum : uint { SB
74f0: 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 38 38 30  N_FIRST = 0U-880
7500: 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  U }..enum : uint
7510: 20 7b 20 53 42 4e 5f 4c 41 53 54 20 3d 20 30 55   { SBN_LAST = 0U
7520: 2d 38 39 39 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  -899U }....enum 
7530: 3a 20 75 69 6e 74 20 7b 20 50 47 4e 5f 46 49 52  : uint { PGN_FIR
7540: 53 54 20 3d 20 30 55 2d 39 30 30 55 20 7d 0d 0a  ST = 0U-900U }..
7550: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47  enum : uint { PG
7560: 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 39 35 30 55  N_LAST = 0U-950U
7570: 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   }....// #endif.
7580: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
7590: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
75a0: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 57 4d 4e 5f  .// #ifndef WMN_
75b0: 46 49 52 53 54 0d 0a 65 6e 75 6d 20 3a 20 75 69  FIRST..enum : ui
75c0: 6e 74 20 7b 20 57 4d 4e 5f 46 49 52 53 54 20 3d  nt { WMN_FIRST =
75d0: 20 30 55 2d 31 30 30 30 55 20 7d 0d 0a 65 6e 75   0U-1000U }..enu
75e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 4e 5f 4c  m : uint { WMN_L
75f0: 41 53 54 20 3d 20 30 55 2d 31 32 30 30 55 20 7d  AST = 0U-1200U }
7600: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
7610: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
7620: 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
7630: 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
7640: 3a 20 75 69 6e 74 20 7b 20 42 43 4e 5f 46 49 52  : uint { BCN_FIR
7650: 53 54 20 3d 20 30 55 2d 31 32 35 30 55 20 7d 0d  ST = 0U-1250U }.
7660: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
7670: 43 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 31 33 35  CN_LAST = 0U-135
7680: 30 55 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  0U }..// #endif.
7690: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
76a0: 20 4d 53 47 46 5f 43 4f 4d 4d 43 54 52 4c 5f 42   MSGF_COMMCTRL_B
76b0: 45 47 49 4e 44 52 41 47 20 3d 20 30 78 34 32 30  EGINDRAG = 0x420
76c0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
76d0: 20 7b 20 4d 53 47 46 5f 43 4f 4d 4d 43 54 52 4c   { MSGF_COMMCTRL
76e0: 5f 53 49 5a 45 48 45 41 44 45 52 20 3d 20 30 78  _SIZEHEADER = 0x
76f0: 34 32 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4201 }..enum : u
7700: 69 6e 74 20 7b 20 4d 53 47 46 5f 43 4f 4d 4d 43  int { MSGF_COMMC
7710: 54 52 4c 5f 44 52 41 47 53 45 4c 45 43 54 20 3d  TRL_DRAGSELECT =
7720: 20 30 78 34 32 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x4202 }..enum 
7730: 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f 43 4f  : uint { MSGF_CO
7740: 4d 4d 43 54 52 4c 5f 54 4f 4f 4c 42 41 52 43 55  MMCTRL_TOOLBARCU
7750: 53 54 20 3d 20 30 78 34 32 30 33 20 7d 0d 0a 0d  ST = 0x4203 }...
7760: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
7770: 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 0d  IE >= 0x0300)...
7780: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
7790: 44 52 46 5f 44 4f 44 45 46 41 55 4c 54 20 3d 20  DRF_DODEFAULT = 
77a0: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
77b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 52 46  um : uint { CDRF
77c0: 5f 4e 45 57 46 4f 4e 54 20 3d 20 30 78 30 30 30  _NEWFONT = 0x000
77d0: 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
77e0: 75 69 6e 74 20 7b 20 43 44 52 46 5f 53 4b 49 50  uint { CDRF_SKIP
77f0: 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30 30  DEFAULT = 0x0000
7800: 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0004 }....enum :
7810: 20 75 69 6e 74 20 7b 20 43 44 52 46 5f 4e 4f 54   uint { CDRF_NOT
7820: 49 46 59 50 4f 53 54 50 41 49 4e 54 20 3d 20 30  IFYPOSTPAINT = 0
7830: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
7840: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 52 46 5f  m : uint { CDRF_
7850: 4e 4f 54 49 46 59 49 54 45 4d 44 52 41 57 20 3d  NOTIFYITEMDRAW =
7860: 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 2f   0x00000020 }../
7870: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
7880: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
7890: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 52 46 5f  m : uint { CDRF_
78a0: 4e 4f 54 49 46 59 53 55 42 49 54 45 4d 44 52 41  NOTIFYSUBITEMDRA
78b0: 57 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d  W = 0x00000020 }
78c0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75  ..// #endif..enu
78d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 52 46 5f  m : uint { CDRF_
78e0: 4e 4f 54 49 46 59 50 4f 53 54 45 52 41 53 45 20  NOTIFYPOSTERASE 
78f0: 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a  = 0x00000040 }..
7900: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7910: 43 44 44 53 5f 50 52 45 50 41 49 4e 54 20 3d 20  CDDS_PREPAINT = 
7920: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
7930: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53  um : uint { CDDS
7940: 5f 50 4f 53 54 50 41 49 4e 54 20 3d 20 30 78 30  _POSTPAINT = 0x0
7950: 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
7960: 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f 50 52  : uint { CDDS_PR
7970: 45 45 52 41 53 45 20 3d 20 30 78 30 30 30 30 30  EERASE = 0x00000
7980: 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
7990: 6e 74 20 7b 20 43 44 44 53 5f 50 4f 53 54 45 52  nt { CDDS_POSTER
79a0: 41 53 45 20 3d 20 30 78 30 30 30 30 30 30 30 34  ASE = 0x00000004
79b0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
79c0: 74 20 7b 20 43 44 44 53 5f 49 54 45 4d 20 3d 20  t { CDDS_ITEM = 
79d0: 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..en
79e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53  um : uint { CDDS
79f0: 5f 49 54 45 4d 50 52 45 50 41 49 4e 54 20 3d 20  _ITEMPREPAINT = 
7a00: 43 44 44 53 5f 49 54 45 4d 20 7c 20 43 44 44 53  CDDS_ITEM | CDDS
7a10: 5f 50 52 45 50 41 49 4e 54 20 7d 0d 0a 65 6e 75  _PREPAINT }..enu
7a20: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f  m : uint { CDDS_
7a30: 49 54 45 4d 50 4f 53 54 50 41 49 4e 54 20 3d 20  ITEMPOSTPAINT = 
7a40: 43 44 44 53 5f 49 54 45 4d 20 7c 20 43 44 44 53  CDDS_ITEM | CDDS
7a50: 5f 50 4f 53 54 50 41 49 4e 54 20 7d 0d 0a 65 6e  _POSTPAINT }..en
7a60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53  um : uint { CDDS
7a70: 5f 49 54 45 4d 50 52 45 45 52 41 53 45 20 3d 20  _ITEMPREERASE = 
7a80: 43 44 44 53 5f 49 54 45 4d 20 7c 20 43 44 44 53  CDDS_ITEM | CDDS
7a90: 5f 50 52 45 45 52 41 53 45 20 7d 0d 0a 65 6e 75  _PREERASE }..enu
7aa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f  m : uint { CDDS_
7ab0: 49 54 45 4d 50 4f 53 54 45 52 41 53 45 20 3d 20  ITEMPOSTERASE = 
7ac0: 43 44 44 53 5f 49 54 45 4d 20 7c 20 43 44 44 53  CDDS_ITEM | CDDS
7ad0: 5f 50 4f 53 54 45 52 41 53 45 20 7d 0d 0a 2f 2f  _POSTERASE }..//
7ae0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
7af0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
7b00: 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f 53   : uint { CDDS_S
7b10: 55 42 49 54 45 4d 20 3d 20 30 78 30 30 30 32 30  UBITEM = 0x00020
7b20: 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  000 }..// #endif
7b30: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
7b40: 7b 20 43 44 49 53 5f 53 45 4c 45 43 54 45 44 20  { CDIS_SELECTED 
7b50: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
7b60: 20 3a 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 47   : uint { CDIS_G
7b70: 52 41 59 45 44 20 3d 20 30 78 30 30 30 32 20 7d  RAYED = 0x0002 }
7b80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7b90: 43 44 49 53 5f 44 49 53 41 42 4c 45 44 20 3d 20  CDIS_DISABLED = 
7ba0: 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
7bb0: 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 43 48 45   uint { CDIS_CHE
7bc0: 43 4b 45 44 20 3d 20 30 78 30 30 30 38 20 7d 0d  CKED = 0x0008 }.
7bd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
7be0: 44 49 53 5f 46 4f 43 55 53 20 3d 20 30 78 30 30  DIS_FOCUS = 0x00
7bf0: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
7c00: 74 20 7b 20 43 44 49 53 5f 44 45 46 41 55 4c 54  t { CDIS_DEFAULT
7c10: 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75   = 0x0020 }..enu
7c20: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 49 53 5f  m : uint { CDIS_
7c30: 48 4f 54 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a  HOT = 0x0040 }..
7c40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44  enum : uint { CD
7c50: 49 53 5f 4d 41 52 4b 45 44 20 3d 20 30 78 30 30  IS_MARKED = 0x00
7c60: 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
7c70: 74 20 7b 20 43 44 49 53 5f 49 4e 44 45 54 45 52  t { CDIS_INDETER
7c80: 4d 49 4e 41 54 45 20 3d 20 30 78 30 31 30 30 20  MINATE = 0x0100 
7c90: 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
7ca0: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31  2_WINNT >= 0x501
7cb0: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
7cc0: 20 43 44 49 53 5f 53 48 4f 57 4b 45 59 42 4f 41   CDIS_SHOWKEYBOA
7cd0: 52 44 43 55 45 53 20 3d 20 30 78 30 32 30 30 20  RDCUES = 0x0200 
7ce0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
7cf0: 73 74 72 75 63 74 20 74 61 67 4e 4d 43 55 53 54  struct tagNMCUST
7d00: 4f 4d 44 52 41 57 49 4e 46 4f 20 7b 0d 0a 20 20  OMDRAWINFO {..  
7d10: 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 57  NMHDR hdr;..  DW
7d20: 4f 52 44 20 64 77 44 72 61 77 53 74 61 67 65 3b  ORD dwDrawStage;
7d30: 0d 0a 20 20 48 44 43 20 68 64 63 3b 0d 0a 20 20  ..  HDC hdc;..  
7d40: 52 45 43 54 20 72 63 3b 0d 0a 20 20 44 57 4f 52  RECT rc;..  DWOR
7d50: 44 5f 50 54 52 20 64 77 49 74 65 6d 53 70 65 63  D_PTR dwItemSpec
7d60: 3b 0d 0a 20 20 55 49 4e 54 20 75 49 74 65 6d 53  ;..  UINT uItemS
7d70: 74 61 74 65 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  tate;..  LPARAM 
7d80: 6c 49 74 65 6d 6c 50 61 72 61 6d 3b 0d 0a 7d 0d  lItemlParam;..}.
7d90: 0a 61 6c 69 61 73 20 74 61 67 4e 4d 43 55 53 54  .alias tagNMCUST
7da0: 4f 4d 44 52 41 57 49 4e 46 4f 20 4e 4d 43 55 53  OMDRAWINFO NMCUS
7db0: 54 4f 4d 44 52 41 57 3b 0d 0a 61 6c 69 61 73 20  TOMDRAW;..alias 
7dc0: 74 61 67 4e 4d 43 55 53 54 4f 4d 44 52 41 57 49  tagNMCUSTOMDRAWI
7dd0: 4e 46 4f 2a 20 4c 50 4e 4d 43 55 53 54 4f 4d 44  NFO* LPNMCUSTOMD
7de0: 52 41 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  RAW;....struct t
7df0: 61 67 4e 4d 54 54 43 55 53 54 4f 4d 44 52 41 57  agNMTTCUSTOMDRAW
7e00: 20 7b 0d 0a 20 20 4e 4d 43 55 53 54 4f 4d 44 52   {..  NMCUSTOMDR
7e10: 41 57 20 6e 6d 63 64 3b 0d 0a 20 20 55 49 4e 54  AW nmcd;..  UINT
7e20: 20 75 44 72 61 77 46 6c 61 67 73 3b 0d 0a 7d 0d   uDrawFlags;..}.
7e30: 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 54 43 55  .alias tagNMTTCU
7e40: 53 54 4f 4d 44 52 41 57 20 4e 4d 54 54 43 55 53  STOMDRAW NMTTCUS
7e50: 54 4f 4d 44 52 41 57 3b 0d 0a 61 6c 69 61 73 20  TOMDRAW;..alias 
7e60: 74 61 67 4e 4d 54 54 43 55 53 54 4f 4d 44 52 41  tagNMTTCUSTOMDRA
7e70: 57 2a 20 4c 50 4e 4d 54 54 43 55 53 54 4f 4d 44  W* LPNMTTCUSTOMD
7e80: 52 41 57 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  RAW;....// #endi
7e90: 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32  f      // _WIN32
7ea0: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a 0d  _IE >= 0x0300...
7eb0: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 49 4d  .// #ifndef NOIM
7ec0: 41 47 45 41 50 49 53 0d 0a 0d 0a 65 6e 75 6d 20  AGEAPIS....enum 
7ed0: 3a 20 75 69 6e 74 20 7b 20 43 4c 52 5f 4e 4f 4e  : uint { CLR_NON
7ee0: 45 20 3d 20 30 78 46 46 46 46 46 46 46 46 20 7d  E = 0xFFFFFFFF }
7ef0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7f00: 43 4c 52 5f 44 45 46 41 55 4c 54 20 3d 20 30 78  CLR_DEFAULT = 0x
7f10: 46 46 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f  FF000000 }....//
7f20: 20 23 69 66 6e 64 65 66 20 48 49 4d 41 47 45 4c   #ifndef HIMAGEL
7f30: 49 53 54 0d 0a 2f 2f 20 73 74 72 75 63 74 20 5f  IST..// struct _
7f40: 49 4d 41 47 45 4c 49 53 54 3b 0d 0a 61 6c 69 61  IMAGELIST;..alia
7f50: 73 20 5f 49 4d 41 47 45 4c 49 53 54 2a 20 48 49  s _IMAGELIST* HI
7f60: 4d 41 47 45 4c 49 53 54 3b 0d 0a 2f 2f 20 23 65  MAGELIST;..// #e
7f70: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ndif....// #ifnd
7f80: 65 66 20 49 4d 41 47 45 4c 49 53 54 44 52 41 57  ef IMAGELISTDRAW
7f90: 50 41 52 41 4d 53 0d 0a 2f 2f 20 23 69 66 20 28  PARAMS..// #if (
7fa0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
7fb0: 33 30 30 29 0d 0a 73 74 72 75 63 74 20 5f 49 4d  300)..struct _IM
7fc0: 41 47 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d  AGELISTDRAWPARAM
7fd0: 53 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53  S {..  DWORD cbS
7fe0: 69 7a 65 3b 0d 0a 20 20 48 49 4d 41 47 45 4c 49  ize;..  HIMAGELI
7ff0: 53 54 20 68 69 6d 6c 3b 0d 0a 20 20 69 6e 74 20  ST himl;..  int 
8000: 69 3b 0d 0a 20 20 48 44 43 20 68 64 63 44 73 74  i;..  HDC hdcDst
8010: 3b 0d 0a 20 20 69 6e 74 20 78 3b 0d 0a 20 20 69  ;..  int x;..  i
8020: 6e 74 20 79 3b 0d 0a 20 20 69 6e 74 20 63 78 3b  nt y;..  int cx;
8030: 0d 0a 20 20 69 6e 74 20 63 79 3b 0d 0a 20 20 69  ..  int cy;..  i
8040: 6e 74 20 78 42 69 74 6d 61 70 3b 0d 0a 20 20 69  nt xBitmap;..  i
8050: 6e 74 20 79 42 69 74 6d 61 70 3b 0d 0a 20 20 43  nt yBitmap;..  C
8060: 4f 4c 4f 52 52 45 46 20 72 67 62 42 6b 3b 0d 0a  OLORREF rgbBk;..
8070: 20 20 43 4f 4c 4f 52 52 45 46 20 72 67 62 46 67    COLORREF rgbFg
8080: 3b 0d 0a 20 20 55 49 4e 54 20 66 53 74 79 6c 65  ;..  UINT fStyle
8090: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 52 6f 70  ;..  DWORD dwRop
80a0: 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ;..// #if (_WIN3
80b0: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31  2_WINNT >= 0x501
80c0: 29 0d 0a 20 20 44 57 4f 52 44 20 66 53 74 61 74  )..  DWORD fStat
80d0: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 46 72 61 6d  e;..  DWORD Fram
80e0: 65 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63  e;..  COLORREF c
80f0: 72 45 66 66 65 63 74 3b 0d 0a 2f 2f 20 23 65 6e  rEffect;..// #en
8100: 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 49  dif..}..alias _I
8110: 4d 41 47 45 4c 49 53 54 44 52 41 57 50 41 52 41  MAGELISTDRAWPARA
8120: 4d 53 20 49 4d 41 47 45 4c 49 53 54 44 52 41 57  MS IMAGELISTDRAW
8130: 50 41 52 41 4d 53 3b 0d 0a 61 6c 69 61 73 20 5f  PARAMS;..alias _
8140: 49 4d 41 47 45 4c 49 53 54 44 52 41 57 50 41 52  IMAGELISTDRAWPAR
8150: 41 4d 53 2a 20 4c 50 49 4d 41 47 45 4c 49 53 54  AMS* LPIMAGELIST
8160: 44 52 41 57 50 41 52 41 4d 53 3b 0d 0a 0d 0a 2f  DRAWPARAMS;..../
8170: 2f 20 23 64 65 66 69 6e 65 20 49 4d 41 47 45 4c  / #define IMAGEL
8180: 49 53 54 44 52 41 57 50 41 52 41 4d 53 5f 56 33  ISTDRAWPARAMS_V3
8190: 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53  _SIZE CCSIZEOF_S
81a0: 54 52 55 43 54 28 49 4d 41 47 45 4c 49 53 54 44  TRUCT(IMAGELISTD
81b0: 52 41 57 50 41 52 41 4d 53 2c 20 64 77 52 6f 70  RAWPARAMS, dwRop
81c0: 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  )....// #endif  
81d0: 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45      // _WIN32_IE
81e0: 20 3e 3d 20 30 78 30 33 30 30 0d 0a 2f 2f 20 23   >= 0x0300..// #
81f0: 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
8200: 75 69 6e 74 20 7b 20 49 4c 43 5f 4d 41 53 4b 20  uint { ILC_MASK 
8210: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
8220: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c  enum : uint { IL
8230: 43 5f 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30 30  C_COLOR = 0x0000
8240: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
8250: 69 6e 74 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52 44  int { ILC_COLORD
8260: 44 42 20 3d 20 30 78 30 30 30 30 30 30 46 45 20  DB = 0x000000FE 
8270: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8280: 20 49 4c 43 5f 43 4f 4c 4f 52 34 20 3d 20 30 78   ILC_COLOR4 = 0x
8290: 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
82a0: 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f 43 4f   : uint { ILC_CO
82b0: 4c 4f 52 38 20 3d 20 30 78 30 30 30 30 30 30 30  LOR8 = 0x0000000
82c0: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
82d0: 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52 31 36 20 3d   { ILC_COLOR16 =
82e0: 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65   0x00000010 }..e
82f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43  num : uint { ILC
8300: 5f 43 4f 4c 4f 52 32 34 20 3d 20 30 78 30 30 30  _COLOR24 = 0x000
8310: 30 30 30 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00018 }..enum : 
8320: 75 69 6e 74 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52  uint { ILC_COLOR
8330: 33 32 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  32 = 0x00000020 
8340: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8350: 20 49 4c 43 5f 50 41 4c 45 54 54 45 20 3d 20 30   ILC_PALETTE = 0
8360: 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 2f 2f 20  x00000800 }..// 
8370: 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  #if (_WIN32_WINN
8380: 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75  T >= 0x501)..enu
8390: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f 4d  m : uint { ILC_M
83a0: 49 52 52 4f 52 20 3d 20 30 78 30 30 30 30 32 30  IRROR = 0x000020
83b0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
83c0: 74 20 7b 20 49 4c 43 5f 50 45 52 49 54 45 4d 4d  t { ILC_PERITEMM
83d0: 49 52 52 4f 52 20 3d 20 30 78 30 30 30 30 38 30  IRROR = 0x000080
83e0: 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 09  00 }..// #endif.
83f0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8400: 29 20 65 78 70 6f 72 74 20 48 49 4d 41 47 45 4c  ) export HIMAGEL
8410: 49 53 54 20 49 6d 61 67 65 4c 69 73 74 5f 43 72  IST ImageList_Cr
8420: 65 61 74 65 28 69 6e 74 20 63 78 2c 20 69 6e 74  eate(int cx, int
8430: 20 63 79 2c 20 55 49 4e 54 20 66 6c 61 67 73 2c   cy, UINT flags,
8440: 20 69 6e 74 20 63 49 6e 69 74 69 61 6c 2c 20 69   int cInitial, i
8450: 6e 74 20 63 47 72 6f 77 29 3b 0d 0a 65 78 74 65  nt cGrow);..exte
8460: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8470: 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73  rt BOOL ImageLis
8480: 74 5f 44 65 73 74 72 6f 79 28 48 49 4d 41 47 45  t_Destroy(HIMAGE
8490: 4c 49 53 54 20 68 69 6d 6c 29 3b 0d 0a 0d 0a 65  LIST himl);....e
84a0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
84b0: 78 70 6f 72 74 20 69 6e 74 20 49 6d 61 67 65 4c  xport int ImageL
84c0: 69 73 74 5f 47 65 74 49 6d 61 67 65 43 6f 75 6e  ist_GetImageCoun
84d0: 74 28 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d  t(HIMAGELIST him
84e0: 6c 29 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  l);..// #if (_WI
84f0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
8500: 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  )..extern(Window
8510: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
8520: 6d 61 67 65 4c 69 73 74 5f 53 65 74 49 6d 61 67  mageList_SetImag
8530: 65 43 6f 75 6e 74 28 48 49 4d 41 47 45 4c 49 53  eCount(HIMAGELIS
8540: 54 20 68 69 6d 6c 2c 20 55 49 4e 54 20 75 4e 65  T himl, UINT uNe
8550: 77 43 6f 75 6e 74 29 3b 0d 0a 2f 2f 20 23 65 6e  wCount);..// #en
8560: 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  dif....extern(Wi
8570: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e  ndows) export in
8580: 74 20 49 6d 61 67 65 4c 69 73 74 5f 41 64 64 28  t ImageList_Add(
8590: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c  HIMAGELIST himl,
85a0: 20 48 42 49 54 4d 41 50 20 68 62 6d 49 6d 61 67   HBITMAP hbmImag
85b0: 65 2c 20 48 42 49 54 4d 41 50 20 68 62 6d 4d 61  e, HBITMAP hbmMa
85c0: 73 6b 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  sk);....extern(W
85d0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
85e0: 6e 74 20 49 6d 61 67 65 4c 69 73 74 5f 52 65 70  nt ImageList_Rep
85f0: 6c 61 63 65 49 63 6f 6e 28 48 49 4d 41 47 45 4c  laceIcon(HIMAGEL
8600: 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74 20 69 2c  IST himl, int i,
8610: 20 48 49 43 4f 4e 20 68 69 63 6f 6e 29 3b 0d 0a   HICON hicon);..
8620: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
8630: 65 78 70 6f 72 74 20 43 4f 4c 4f 52 52 45 46 20  export COLORREF 
8640: 49 6d 61 67 65 4c 69 73 74 5f 53 65 74 42 6b 43  ImageList_SetBkC
8650: 6f 6c 6f 72 28 48 49 4d 41 47 45 4c 49 53 54 20  olor(HIMAGELIST 
8660: 68 69 6d 6c 2c 20 43 4f 4c 4f 52 52 45 46 20 63  himl, COLORREF c
8670: 6c 72 42 6b 29 3b 0d 0a 65 78 74 65 72 6e 28 57  lrBk);..extern(W
8680: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 43  indows) export C
8690: 4f 4c 4f 52 52 45 46 20 49 6d 61 67 65 4c 69 73  OLORREF ImageLis
86a0: 74 5f 47 65 74 42 6b 43 6f 6c 6f 72 28 48 49 4d  t_GetBkColor(HIM
86b0: 41 47 45 4c 49 53 54 20 68 69 6d 6c 29 3b 0d 0a  AGELIST himl);..
86c0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
86d0: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67  export BOOL Imag
86e0: 65 4c 69 73 74 5f 53 65 74 4f 76 65 72 6c 61 79  eList_SetOverlay
86f0: 49 6d 61 67 65 28 48 49 4d 41 47 45 4c 49 53 54  Image(HIMAGELIST
8700: 20 68 69 6d 6c 2c 20 69 6e 74 20 69 49 6d 61 67   himl, int iImag
8710: 65 2c 20 69 6e 74 20 69 4f 76 65 72 6c 61 79 29  e, int iOverlay)
8720: 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ;....// #define 
8730: 49 6d 61 67 65 4c 69 73 74 5f 41 64 64 49 63 6f  ImageList_AddIco
8740: 6e 28 68 69 6d 6c 2c 20 68 69 63 6f 6e 29 20 49  n(himl, hicon) I
8750: 6d 61 67 65 4c 69 73 74 5f 52 65 70 6c 61 63 65  mageList_Replace
8760: 49 63 6f 6e 28 68 69 6d 6c 2c 20 2d 31 2c 20 68  Icon(himl, -1, h
8770: 69 63 6f 6e 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  icon)....enum : 
8780: 75 69 6e 74 20 7b 20 49 4c 44 5f 4e 4f 52 4d 41  uint { ILD_NORMA
8790: 4c 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d  L = 0x00000000 }
87a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
87b0: 49 4c 44 5f 54 52 41 4e 53 50 41 52 45 4e 54 20  ILD_TRANSPARENT 
87c0: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
87d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c  enum : uint { IL
87e0: 44 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30  D_MASK = 0x00000
87f0: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
8800: 6e 74 20 7b 20 49 4c 44 5f 49 4d 41 47 45 20 3d  nt { ILD_IMAGE =
8810: 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 2f   0x00000020 }../
8820: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
8830: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
8840: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44 5f 52  m : uint { ILD_R
8850: 4f 50 20 3d 20 30 78 30 30 30 30 30 30 34 30 20  OP = 0x00000040 
8860: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e  }..// #endif..en
8870: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44 5f  um : uint { ILD_
8880: 42 4c 45 4e 44 32 35 20 3d 20 30 78 30 30 30 30  BLEND25 = 0x0000
8890: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
88a0: 69 6e 74 20 7b 20 49 4c 44 5f 42 4c 45 4e 44 35  int { ILD_BLEND5
88b0: 30 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  0 = 0x00000004 }
88c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
88d0: 49 4c 44 5f 4f 56 45 52 4c 41 59 4d 41 53 4b 20  ILD_OVERLAYMASK 
88e0: 3d 20 30 78 30 30 30 30 30 46 30 30 20 7d 0d 0a  = 0x00000F00 }..
88f0: 75 69 6e 74 20 49 4e 44 45 58 54 4f 4f 56 45 52  uint INDEXTOOVER
8900: 4c 41 59 4d 41 53 4b 28 75 69 6e 74 20 69 29 7b  LAYMASK(uint i){
8910: 20 72 65 74 75 72 6e 20 69 20 3c 3c 20 38 3b 20   return i << 8; 
8920: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8930: 20 49 4c 44 5f 50 52 45 53 45 52 56 45 41 4c 50   ILD_PRESERVEALP
8940: 48 41 20 3d 20 30 78 30 30 30 30 31 30 30 30 20  HA = 0x00001000 
8950: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
8960: 20 49 4c 44 5f 53 43 41 4c 45 20 3d 20 30 78 30   ILD_SCALE = 0x0
8970: 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0002000 }..enum 
8980: 3a 20 75 69 6e 74 20 7b 20 49 4c 44 5f 44 50 49  : uint { ILD_DPI
8990: 53 43 41 4c 45 20 3d 20 30 78 30 30 30 30 34 30  SCALE = 0x000040
89a0: 30 30 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 49 4c  00 }....alias IL
89b0: 44 5f 42 4c 45 4e 44 35 30 20 49 4c 44 5f 53 45  D_BLEND50 ILD_SE
89c0: 4c 45 43 54 45 44 3b 0d 0a 61 6c 69 61 73 20 49  LECTED;..alias I
89d0: 4c 44 5f 42 4c 45 4e 44 32 35 20 49 4c 44 5f 46  LD_BLEND25 ILD_F
89e0: 4f 43 55 53 3b 0d 0a 61 6c 69 61 73 20 49 4c 44  OCUS;..alias ILD
89f0: 5f 42 4c 45 4e 44 35 30 20 49 4c 44 5f 42 4c 45  _BLEND50 ILD_BLE
8a00: 4e 44 3b 0d 0a 61 6c 69 61 73 20 43 4c 52 5f 44  ND;..alias CLR_D
8a10: 45 46 41 55 4c 54 20 43 4c 52 5f 48 49 4c 49 47  EFAULT CLR_HILIG
8a20: 48 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  HT;....enum : ui
8a30: 6e 74 20 7b 20 49 4c 53 5f 4e 4f 52 4d 41 4c 20  nt { ILS_NORMAL 
8a40: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
8a50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c  enum : uint { IL
8a60: 53 5f 47 4c 4f 57 20 3d 20 30 78 30 30 30 30 30  S_GLOW = 0x00000
8a70: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
8a80: 6e 74 20 7b 20 49 4c 53 5f 53 48 41 44 4f 57 20  nt { ILS_SHADOW 
8a90: 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
8aa0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c  enum : uint { IL
8ab0: 53 5f 53 41 54 55 52 41 54 45 20 3d 20 30 78 30  S_SATURATE = 0x0
8ac0: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
8ad0: 3a 20 75 69 6e 74 20 7b 20 49 4c 53 5f 41 4c 50  : uint { ILS_ALP
8ae0: 48 41 20 3d 20 30 78 30 30 30 30 30 30 30 38 20  HA = 0x00000008 
8af0: 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  }....extern(Wind
8b00: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
8b10: 20 49 6d 61 67 65 4c 69 73 74 5f 44 72 61 77 28   ImageList_Draw(
8b20: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c  HIMAGELIST himl,
8b30: 20 69 6e 74 20 69 2c 20 48 44 43 20 68 64 63 44   int i, HDC hdcD
8b40: 73 74 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79  st, int x, int y
8b50: 2c 20 55 49 4e 54 20 66 53 74 79 6c 65 29 3b 0d  , UINT fStyle);.
8b60: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
8b70: 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  N32....extern(Wi
8b80: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
8b90: 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 52 65 70  OL ImageList_Rep
8ba0: 6c 61 63 65 28 48 49 4d 41 47 45 4c 49 53 54 20  lace(HIMAGELIST 
8bb0: 68 69 6d 6c 2c 20 69 6e 74 20 69 2c 20 48 42 49  himl, int i, HBI
8bc0: 54 4d 41 50 20 68 62 6d 49 6d 61 67 65 2c 20 48  TMAP hbmImage, H
8bd0: 42 49 54 4d 41 50 20 68 62 6d 4d 61 73 6b 29 3b  BITMAP hbmMask);
8be0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
8bf0: 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 49  ws) export int I
8c00: 6d 61 67 65 4c 69 73 74 5f 41 64 64 4d 61 73 6b  mageList_AddMask
8c10: 65 64 28 48 49 4d 41 47 45 4c 49 53 54 20 68 69  ed(HIMAGELIST hi
8c20: 6d 6c 2c 20 48 42 49 54 4d 41 50 20 68 62 6d 49  ml, HBITMAP hbmI
8c30: 6d 61 67 65 2c 20 43 4f 4c 4f 52 52 45 46 20 63  mage, COLORREF c
8c40: 72 4d 61 73 6b 29 3b 0d 0a 65 78 74 65 72 6e 28  rMask);..extern(
8c50: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
8c60: 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 44  BOOL ImageList_D
8c70: 72 61 77 45 78 28 48 49 4d 41 47 45 4c 49 53 54  rawEx(HIMAGELIST
8c80: 20 68 69 6d 6c 2c 20 69 6e 74 20 69 2c 20 48 44   himl, int i, HD
8c90: 43 20 68 64 63 44 73 74 2c 20 69 6e 74 20 78 2c  C hdcDst, int x,
8ca0: 20 69 6e 74 20 79 2c 20 69 6e 74 20 64 78 2c 20   int y, int dx, 
8cb0: 69 6e 74 20 64 79 2c 20 43 4f 4c 4f 52 52 45 46  int dy, COLORREF
8cc0: 20 72 67 62 42 6b 2c 20 43 4f 4c 4f 52 52 45 46   rgbBk, COLORREF
8cd0: 20 72 67 62 46 67 2c 20 55 49 4e 54 20 66 53 74   rgbFg, UINT fSt
8ce0: 79 6c 65 29 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f  yle);..// #if (_
8cf0: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
8d00: 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  00)..extern(Wind
8d10: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
8d20: 20 49 6d 61 67 65 4c 69 73 74 5f 44 72 61 77 49   ImageList_DrawI
8d30: 6e 64 69 72 65 63 74 28 49 4d 41 47 45 4c 49 53  ndirect(IMAGELIS
8d40: 54 44 52 41 57 50 41 52 41 4d 53 2a 20 70 69 6d  TDRAWPARAMS* pim
8d50: 6c 64 70 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ldp);..// #endif
8d60: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8d70: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d  ) export BOOL Im
8d80: 61 67 65 4c 69 73 74 5f 52 65 6d 6f 76 65 28 48  ageList_Remove(H
8d90: 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20  IMAGELIST himl, 
8da0: 69 6e 74 20 69 29 3b 0d 0a 65 78 74 65 72 6e 28  int i);..extern(
8db0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
8dc0: 48 49 43 4f 4e 20 49 6d 61 67 65 4c 69 73 74 5f  HICON ImageList_
8dd0: 47 65 74 49 63 6f 6e 28 48 49 4d 41 47 45 4c 49  GetIcon(HIMAGELI
8de0: 53 54 20 68 69 6d 6c 2c 20 69 6e 74 20 69 2c 20  ST himl, int i, 
8df0: 55 49 4e 54 20 66 6c 61 67 73 29 3b 0d 0a 65 78  UINT flags);..ex
8e00: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
8e10: 70 6f 72 74 20 48 49 4d 41 47 45 4c 49 53 54 20  port HIMAGELIST 
8e20: 49 6d 61 67 65 4c 69 73 74 5f 4c 6f 61 64 49 6d  ImageList_LoadIm
8e30: 61 67 65 41 28 48 49 4e 53 54 41 4e 43 45 20 68  ageA(HINSTANCE h
8e40: 69 2c 20 4c 50 43 53 54 52 20 6c 70 62 6d 70 2c  i, LPCSTR lpbmp,
8e50: 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 47 72   int cx, int cGr
8e60: 6f 77 2c 20 43 4f 4c 4f 52 52 45 46 20 63 72 4d  ow, COLORREF crM
8e70: 61 73 6b 2c 20 55 49 4e 54 20 75 54 79 70 65 2c  ask, UINT uType,
8e80: 20 55 49 4e 54 20 75 46 6c 61 67 73 29 3b 0d 0a   UINT uFlags);..
8e90: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
8ea0: 65 78 70 6f 72 74 20 48 49 4d 41 47 45 4c 49 53  export HIMAGELIS
8eb0: 54 20 49 6d 61 67 65 4c 69 73 74 5f 4c 6f 61 64  T ImageList_Load
8ec0: 49 6d 61 67 65 57 28 48 49 4e 53 54 41 4e 43 45  ImageW(HINSTANCE
8ed0: 20 68 69 2c 20 4c 50 43 57 53 54 52 20 6c 70 62   hi, LPCWSTR lpb
8ee0: 6d 70 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20  mp, int cx, int 
8ef0: 63 47 72 6f 77 2c 20 43 4f 4c 4f 52 52 45 46 20  cGrow, COLORREF 
8f00: 63 72 4d 61 73 6b 2c 20 55 49 4e 54 20 75 54 79  crMask, UINT uTy
8f10: 70 65 2c 20 55 49 4e 54 20 75 46 6c 61 67 73 29  pe, UINT uFlags)
8f20: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
8f30: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
8f40: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
8f50: 20 49 6d 61 67 65 4c 69 73 74 5f 4c 6f 61 64 49   ImageList_LoadI
8f60: 6d 61 67 65 41 20 49 6d 61 67 65 4c 69 73 74 5f  mageA ImageList_
8f70: 4c 6f 61 64 49 6d 61 67 65 3b 0d 0a 2f 2f 20 23  LoadImage;..// #
8f80: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
8f90: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
8fa0: 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0300)..enum : ui
8fb0: 6e 74 20 7b 20 49 4c 43 46 5f 4d 4f 56 45 20 3d  nt { ILCF_MOVE =
8fc0: 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
8fd0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43  num : uint { ILC
8fe0: 46 5f 53 57 41 50 20 3d 20 30 78 30 30 30 30 30  F_SWAP = 0x00000
8ff0: 30 30 31 20 7d 0d 0a 65 78 74 65 72 6e 28 57 69  001 }..extern(Wi
9000: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
9010: 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 43 6f 70  OL ImageList_Cop
9020: 79 28 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d  y(HIMAGELIST him
9030: 6c 44 73 74 2c 20 69 6e 74 20 69 44 73 74 2c 20  lDst, int iDst, 
9040: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 53  HIMAGELIST himlS
9050: 72 63 2c 20 69 6e 74 20 69 53 72 63 2c 20 55 49  rc, int iSrc, UI
9060: 4e 54 20 75 46 6c 61 67 73 29 3b 0d 0a 2f 2f 20  NT uFlags);..// 
9070: 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e  #endif....extern
9080: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
9090: 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f   BOOL ImageList_
90a0: 42 65 67 69 6e 44 72 61 67 28 48 49 4d 41 47 45  BeginDrag(HIMAGE
90b0: 4c 49 53 54 20 68 69 6d 6c 54 72 61 63 6b 2c 20  LIST himlTrack, 
90c0: 69 6e 74 20 69 54 72 61 63 6b 2c 20 69 6e 74 20  int iTrack, int 
90d0: 64 78 48 6f 74 73 70 6f 74 2c 20 69 6e 74 20 64  dxHotspot, int d
90e0: 79 48 6f 74 73 70 6f 74 29 3b 0d 0a 65 78 74 65  yHotspot);..exte
90f0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
9100: 72 74 20 76 6f 69 64 20 49 6d 61 67 65 4c 69 73  rt void ImageLis
9110: 74 5f 45 6e 64 44 72 61 67 28 29 3b 0d 0a 65 78  t_EndDrag();..ex
9120: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
9130: 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c  port BOOL ImageL
9140: 69 73 74 5f 44 72 61 67 45 6e 74 65 72 28 48 57  ist_DragEnter(HW
9150: 4e 44 20 68 77 6e 64 4c 6f 63 6b 2c 20 69 6e 74  ND hwndLock, int
9160: 20 78 2c 20 69 6e 74 20 79 29 3b 0d 0a 65 78 74   x, int y);..ext
9170: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
9180: 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69  ort BOOL ImageLi
9190: 73 74 5f 44 72 61 67 4c 65 61 76 65 28 48 57 4e  st_DragLeave(HWN
91a0: 44 20 68 77 6e 64 4c 6f 63 6b 29 3b 0d 0a 65 78  D hwndLock);..ex
91b0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
91c0: 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c  port BOOL ImageL
91d0: 69 73 74 5f 44 72 61 67 4d 6f 76 65 28 69 6e 74  ist_DragMove(int
91e0: 20 78 2c 20 69 6e 74 20 79 29 3b 0d 0a 65 78 74   x, int y);..ext
91f0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
9200: 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69  ort BOOL ImageLi
9210: 73 74 5f 53 65 74 44 72 61 67 43 75 72 73 6f 72  st_SetDragCursor
9220: 49 6d 61 67 65 28 48 49 4d 41 47 45 4c 49 53 54  Image(HIMAGELIST
9230: 20 68 69 6d 6c 44 72 61 67 2c 20 69 6e 74 20 69   himlDrag, int i
9240: 44 72 61 67 2c 20 69 6e 74 20 64 78 48 6f 74 73  Drag, int dxHots
9250: 70 6f 74 2c 20 69 6e 74 20 64 79 48 6f 74 73 70  pot, int dyHotsp
9260: 6f 74 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ot);....extern(W
9270: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
9280: 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 44 72  OOL ImageList_Dr
9290: 61 67 53 68 6f 77 4e 6f 6c 6f 63 6b 28 42 4f 4f  agShowNolock(BOO
92a0: 4c 20 66 53 68 6f 77 29 3b 0d 0a 65 78 74 65 72  L fShow);..exter
92b0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
92c0: 74 20 48 49 4d 41 47 45 4c 49 53 54 20 49 6d 61  t HIMAGELIST Ima
92d0: 67 65 4c 69 73 74 5f 47 65 74 44 72 61 67 49 6d  geList_GetDragIm
92e0: 61 67 65 28 50 4f 49 4e 54 20 2a 70 70 74 2c 50  age(POINT *ppt,P
92f0: 4f 49 4e 54 20 2a 70 70 74 48 6f 74 73 70 6f 74  OINT *pptHotspot
9300: 29 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  );....// #define
9310: 20 49 6d 61 67 65 4c 69 73 74 5f 52 65 6d 6f 76   ImageList_Remov
9320: 65 41 6c 6c 28 68 69 6d 6c 29 20 49 6d 61 67 65  eAll(himl) Image
9330: 4c 69 73 74 5f 52 65 6d 6f 76 65 28 68 69 6d 6c  List_Remove(himl
9340: 2c 20 2d 31 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  , -1)..// #defin
9350: 65 20 49 6d 61 67 65 4c 69 73 74 5f 45 78 74 72  e ImageList_Extr
9360: 61 63 74 49 63 6f 6e 28 68 69 2c 20 68 69 6d 6c  actIcon(hi, himl
9370: 2c 20 69 29 20 49 6d 61 67 65 4c 69 73 74 5f 47  , i) ImageList_G
9380: 65 74 49 63 6f 6e 28 68 69 6d 6c 2c 20 69 2c 20  etIcon(himl, i, 
9390: 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 49  0)..// #define I
93a0: 6d 61 67 65 4c 69 73 74 5f 4c 6f 61 64 42 69 74  mageList_LoadBit
93b0: 6d 61 70 28 68 69 2c 20 6c 70 62 6d 70 2c 20 63  map(hi, lpbmp, c
93c0: 78 2c 20 63 47 72 6f 77 2c 20 63 72 4d 61 73 6b  x, cGrow, crMask
93d0: 29 20 49 6d 61 67 65 4c 69 73 74 5f 4c 6f 61 64  ) ImageList_Load
93e0: 49 6d 61 67 65 28 68 69 2c 20 6c 70 62 6d 70 2c  Image(hi, lpbmp,
93f0: 20 63 78 2c 20 63 47 72 6f 77 2c 20 63 72 4d 61   cx, cGrow, crMa
9400: 73 6b 2c 20 49 4d 41 47 45 5f 42 49 54 4d 41 50  sk, IMAGE_BITMAP
9410: 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  , 0)....// #ifde
9420: 66 20 5f 5f 49 53 74 72 65 61 6d 5f 49 4e 54 45  f __IStream_INTE
9430: 52 46 41 43 45 5f 44 45 46 49 4e 45 44 5f 5f 0d  RFACE_DEFINED__.
9440: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
9450: 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  #if (_WIN32_WINN
9460: 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 2f 2f  T >= 0x0501)..//
9470: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
9480: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
9490: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
94a0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 49  ....// #ifndef I
94b0: 4d 41 47 45 49 4e 46 4f 0d 0a 73 74 72 75 63 74  MAGEINFO..struct
94c0: 20 5f 49 4d 41 47 45 49 4e 46 4f 20 7b 0d 0a 20   _IMAGEINFO {.. 
94d0: 20 48 42 49 54 4d 41 50 20 68 62 6d 49 6d 61 67   HBITMAP hbmImag
94e0: 65 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62  e;..  HBITMAP hb
94f0: 6d 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 55 6e  mMask;..  int Un
9500: 75 73 65 64 31 3b 0d 0a 20 20 69 6e 74 20 55 6e  used1;..  int Un
9510: 75 73 65 64 32 3b 0d 0a 20 20 52 45 43 54 20 72  used2;..  RECT r
9520: 63 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  cImage;..}..alia
9530: 73 20 5f 49 4d 41 47 45 49 4e 46 4f 20 49 4d 41  s _IMAGEINFO IMA
9540: 47 45 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f  GEINFO;..alias _
9550: 49 4d 41 47 45 49 4e 46 4f 2a 20 4c 50 49 4d 41  IMAGEINFO* LPIMA
9560: 47 45 49 4e 46 4f 3b 0d 0a 0d 0a 2f 2f 20 23 65  GEINFO;....// #e
9570: 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ndif....extern(W
9580: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
9590: 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 47 65  OOL ImageList_Ge
95a0: 74 49 63 6f 6e 53 69 7a 65 28 48 49 4d 41 47 45  tIconSize(HIMAGE
95b0: 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74 20 2a  LIST himl, int *
95c0: 63 78 2c 20 69 6e 74 20 2a 63 79 29 3b 0d 0a 65  cx, int *cy);..e
95d0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
95e0: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65  xport BOOL Image
95f0: 4c 69 73 74 5f 53 65 74 49 63 6f 6e 53 69 7a 65  List_SetIconSize
9600: 28 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c  (HIMAGELIST himl
9610: 2c 20 69 6e 74 20 63 78 2c 20 69 6e 74 20 63 79  , int cx, int cy
9620: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
9630: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
9640: 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 49 6d 61  ImageList_GetIma
9650: 67 65 49 6e 66 6f 28 48 49 4d 41 47 45 4c 49 53  geInfo(HIMAGELIS
9660: 54 20 68 69 6d 6c 2c 20 69 6e 74 20 69 2c 20 49  T himl, int i, I
9670: 4d 41 47 45 49 4e 46 4f 20 2a 70 49 6d 61 67 65  MAGEINFO *pImage
9680: 49 6e 66 6f 29 3b 0d 0a 65 78 74 65 72 6e 28 57  Info);..extern(W
9690: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
96a0: 49 4d 41 47 45 4c 49 53 54 20 49 6d 61 67 65 4c  IMAGELIST ImageL
96b0: 69 73 74 5f 4d 65 72 67 65 28 48 49 4d 41 47 45  ist_Merge(HIMAGE
96c0: 4c 49 53 54 20 68 69 6d 6c 31 2c 20 69 6e 74 20  LIST himl1, int 
96d0: 69 31 2c 20 48 49 4d 41 47 45 4c 49 53 54 20 68  i1, HIMAGELIST h
96e0: 69 6d 6c 32 2c 20 69 6e 74 20 69 32 2c 20 69 6e  iml2, int i2, in
96f0: 74 20 64 78 2c 20 69 6e 74 20 64 79 29 3b 0d 0a  t dx, int dy);..
9700: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
9710: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78  E >= 0x0400)..ex
9720: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
9730: 70 6f 72 74 20 48 49 4d 41 47 45 4c 49 53 54 20  port HIMAGELIST 
9740: 49 6d 61 67 65 4c 69 73 74 5f 44 75 70 6c 69 63  ImageList_Duplic
9750: 61 74 65 28 48 49 4d 41 47 45 4c 49 53 54 20 68  ate(HIMAGELIST h
9760: 69 6d 6c 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  iml);..// #endif
9770: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
9780: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
9790: 20 23 69 66 6e 64 65 66 20 4e 4f 48 45 41 44 45   #ifndef NOHEADE
97a0: 52 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  R....// #ifdef _
97b0: 57 49 4e 33 32 0d 0a 63 6f 6e 73 74 20 63 68 61  WIN32..const cha
97c0: 72 5b 5d 20 57 43 5f 48 45 41 44 45 52 41 20 3d  r[] WC_HEADERA =
97d0: 20 22 53 79 73 48 65 61 64 65 72 33 32 22 3b 0d   "SysHeader32";.
97e0: 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57  .const wchar[] W
97f0: 43 5f 48 45 41 44 45 52 57 20 3d 20 22 53 79 73  C_HEADERW = "Sys
9800: 48 65 61 64 65 72 33 32 22 3b 0d 0a 0d 0a 2f 2f  Header32";....//
9810: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
9820: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
9830: 73 65 0d 0a 61 6c 69 61 73 20 57 43 5f 48 45 41  se..alias WC_HEA
9840: 44 45 52 41 20 57 43 5f 48 45 41 44 45 52 3b 0d  DERA WC_HEADER;.
9850: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
9860: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
9870: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
9880: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f  um : uint { HDS_
9890: 48 4f 52 5a 20 3d 20 30 78 30 30 30 30 20 7d 0d  HORZ = 0x0000 }.
98a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
98b0: 44 53 5f 42 55 54 54 4f 4e 53 20 3d 20 30 78 30  DS_BUTTONS = 0x0
98c0: 30 30 32 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f  002 }..// #if (_
98d0: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
98e0: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
98f0: 20 7b 20 48 44 53 5f 48 4f 54 54 52 41 43 4b 20   { HDS_HOTTRACK 
9900: 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23  = 0x0004 }..// #
9910: 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69  endif..enum : ui
9920: 6e 74 20 7b 20 48 44 53 5f 48 49 44 44 45 4e 20  nt { HDS_HIDDEN 
9930: 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d 0a 2f 2f  = 0x0008 }....//
9940: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
9950: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d  >= 0x0300)..enum
9960: 20 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f 44 52   : uint { HDS_DR
9970: 41 47 44 52 4f 50 20 3d 20 30 78 30 30 34 30 20  AGDROP = 0x0040 
9980: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9990: 20 48 44 53 5f 46 55 4c 4c 44 52 41 47 20 3d 20   HDS_FULLDRAG = 
99a0: 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0080 }..// #en
99b0: 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  dif..// #if (_WI
99c0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
99d0: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
99e0: 20 48 44 53 5f 46 49 4c 54 45 52 42 41 52 20 3d   HDS_FILTERBAR =
99f0: 20 30 78 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 65   0x0100 }..// #e
9a00: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
9a10: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
9a20: 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75  0x501)..enum : u
9a30: 69 6e 74 20 7b 20 48 44 53 5f 46 4c 41 54 20 3d  int { HDS_FLAT =
9a40: 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 65   0x0200 }..// #e
9a50: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
9a60: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
9a70: 35 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  500)....enum : u
9a80: 69 6e 74 20 7b 20 48 44 46 54 5f 49 53 53 54 52  int { HDFT_ISSTR
9a90: 49 4e 47 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  ING = 0x0000 }..
9aa0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
9ab0: 46 54 5f 49 53 4e 55 4d 42 45 52 20 3d 20 30 78  FT_ISNUMBER = 0x
9ac0: 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0001 }....enum :
9ad0: 20 75 69 6e 74 20 7b 20 48 44 46 54 5f 48 41 53   uint { HDFT_HAS
9ae0: 4e 4f 56 41 4c 55 45 20 3d 20 30 78 38 30 30 30  NOVALUE = 0x8000
9af0: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
9b00: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
9b10: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
9b20: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
9b30: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 48 44 5f  #else..alias HD_
9b40: 54 45 58 54 46 49 4c 54 45 52 41 20 48 44 5f 54  TEXTFILTERA HD_T
9b50: 45 58 54 46 49 4c 54 45 52 3b 0d 0a 61 6c 69 61  EXTFILTER;..alia
9b60: 73 20 48 44 5f 54 45 58 54 46 49 4c 54 45 52 41  s HD_TEXTFILTERA
9b70: 20 48 44 54 45 58 54 46 49 4c 54 45 52 3b 0d 0a   HDTEXTFILTER;..
9b80: 61 6c 69 61 73 20 4c 50 48 44 5f 54 45 58 54 46  alias LPHD_TEXTF
9b90: 49 4c 54 45 52 41 20 4c 50 48 44 5f 54 45 58 54  ILTERA LPHD_TEXT
9ba0: 46 49 4c 54 45 52 3b 0d 0a 61 6c 69 61 73 20 4c  FILTER;..alias L
9bb0: 50 48 44 5f 54 45 58 54 46 49 4c 54 45 52 41 20  PHD_TEXTFILTERA 
9bc0: 4c 50 48 44 54 45 58 54 46 49 4c 54 45 52 3b 0d  LPHDTEXTFILTER;.
9bd0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
9be0: 72 75 63 74 20 5f 48 44 5f 54 45 58 54 46 49 4c  ruct _HD_TEXTFIL
9bf0: 54 45 52 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20  TERA {..  LPSTR 
9c00: 70 73 7a 54 65 78 74 3b 0d 0a 20 20 49 4e 54 20  pszText;..  INT 
9c10: 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 7d 0d 0a  cchTextMax;..}..
9c20: 61 6c 69 61 73 20 5f 48 44 5f 54 45 58 54 46 49  alias _HD_TEXTFI
9c30: 4c 54 45 52 41 20 48 44 5f 54 45 58 54 46 49 4c  LTERA HD_TEXTFIL
9c40: 54 45 52 41 3b 0d 0a 61 6c 69 61 73 20 5f 48 44  TERA;..alias _HD
9c50: 5f 54 45 58 54 46 49 4c 54 45 52 41 2a 20 4c 50  _TEXTFILTERA* LP
9c60: 48 44 5f 54 45 58 54 46 49 4c 54 45 52 41 3b 0d  HD_TEXTFILTERA;.
9c70: 0a 0d 0a 73 74 72 75 63 74 20 5f 48 44 5f 54 45  ...struct _HD_TE
9c80: 58 54 46 49 4c 54 45 52 57 20 7b 0d 0a 20 20 4c  XTFILTERW {..  L
9c90: 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a  PWSTR pszText;..
9ca0: 20 20 49 4e 54 20 63 63 68 54 65 78 74 4d 61 78    INT cchTextMax
9cb0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48 44 5f  ;..}..alias _HD_
9cc0: 54 45 58 54 46 49 4c 54 45 52 57 20 48 44 5f 54  TEXTFILTERW HD_T
9cd0: 45 58 54 46 49 4c 54 45 52 57 3b 0d 0a 61 6c 69  EXTFILTERW;..ali
9ce0: 61 73 20 5f 48 44 5f 54 45 58 54 46 49 4c 54 45  as _HD_TEXTFILTE
9cf0: 52 57 2a 20 4c 50 48 44 5f 54 45 58 54 46 49 4c  RW* LPHD_TEXTFIL
9d00: 54 45 52 57 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  TERW;....// #end
9d10: 69 66 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45  if  // _WIN32_IE
9d20: 20 3e 3d 20 30 78 30 35 30 30 0d 0a 0d 0a 2f 2f   >= 0x0500....//
9d30: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
9d40: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61  >= 0x0300)..alia
9d50: 73 20 48 44 49 54 45 4d 41 20 48 44 5f 49 54 45  s HDITEMA HD_ITE
9d60: 4d 41 3b 0d 0a 61 6c 69 61 73 20 48 44 49 54 45  MA;..alias HDITE
9d70: 4d 57 20 48 44 5f 49 54 45 4d 57 3b 0d 0a 2f 2f  MW HD_ITEMW;..//
9d80: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
9d90: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
9da0: 64 69 66 0d 0a 61 6c 69 61 73 20 48 44 49 54 45  dif..alias HDITE
9db0: 4d 20 48 44 5f 49 54 45 4d 3b 0d 0a 0d 0a 73 74  M HD_ITEM;....st
9dc0: 72 75 63 74 20 5f 48 44 5f 49 54 45 4d 41 20 7b  ruct _HD_ITEMA {
9dd0: 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a  ..  UINT mask;..
9de0: 20 20 69 6e 74 20 63 78 79 3b 0d 0a 20 20 4c 50    int cxy;..  LP
9df0: 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20  STR pszText;..  
9e00: 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d 0a 20 20  HBITMAP hbm;..  
9e10: 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d  int cchTextMax;.
9e20: 0a 20 20 69 6e 74 20 66 6d 74 3b 0d 0a 20 20 4c  .  int fmt;..  L
9e30: 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f  PARAM lParam;../
9e40: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
9e50: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 69   >= 0x0300)..  i
9e60: 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 69 6e  nt iImage;..  in
9e70: 74 20 69 4f 72 64 65 72 3b 0d 0a 2f 2f 20 23 65  t iOrder;..// #e
9e80: 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  ndif..// #if (_W
9e90: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30  IN32_IE >= 0x050
9ea0: 30 29 0d 0a 20 20 55 49 4e 54 20 74 79 70 65 3b  0)..  UINT type;
9eb0: 0d 0a 20 20 76 6f 69 64 20 2a 20 20 70 76 46 69  ..  void *  pvFi
9ec0: 6c 74 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  lter;..// #endif
9ed0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 49  ..}..alias _HD_I
9ee0: 54 45 4d 41 20 48 44 49 54 45 4d 41 3b 0d 0a 61  TEMA HDITEMA;..a
9ef0: 6c 69 61 73 20 5f 48 44 5f 49 54 45 4d 41 2a 20  lias _HD_ITEMA* 
9f00: 4c 50 48 44 49 54 45 4d 41 3b 0d 0a 0d 0a 2f 2f  LPHDITEMA;....//
9f10: 20 23 64 65 66 69 6e 65 20 48 44 49 54 45 4d 41   #define HDITEMA
9f20: 5f 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f  _V1_SIZE CCSIZEO
9f30: 46 5f 53 54 52 55 43 54 28 48 44 49 54 45 4d 41  F_STRUCT(HDITEMA
9f40: 2c 20 6c 50 61 72 61 6d 29 0d 0a 2f 2f 20 23 64  , lParam)..// #d
9f50: 65 66 69 6e 65 20 48 44 49 54 45 4d 57 5f 56 31  efine HDITEMW_V1
9f60: 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53  _SIZE CCSIZEOF_S
9f70: 54 52 55 43 54 28 48 44 49 54 45 4d 57 2c 20 6c  TRUCT(HDITEMW, l
9f80: 50 61 72 61 6d 29 0d 0a 0d 0a 73 74 72 75 63 74  Param)....struct
9f90: 20 5f 48 44 5f 49 54 45 4d 57 20 7b 0d 0a 20 20   _HD_ITEMW {..  
9fa0: 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 69 6e  UINT mask;..  in
9fb0: 74 20 63 78 79 3b 0d 0a 20 20 4c 50 57 53 54 52  t cxy;..  LPWSTR
9fc0: 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 48 42 49   pszText;..  HBI
9fd0: 54 4d 41 50 20 68 62 6d 3b 0d 0a 20 20 69 6e 74  TMAP hbm;..  int
9fe0: 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20   cchTextMax;..  
9ff0: 69 6e 74 20 66 6d 74 3b 0d 0a 20 20 4c 50 41 52  int fmt;..  LPAR
a000: 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23  AM lParam;..// #
a010: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
a020: 20 30 78 30 33 30 30 29 0d 0a 20 20 69 6e 74 20   0x0300)..  int 
a030: 69 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69  iImage;..  int i
a040: 4f 72 64 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69  Order;..// #endi
a050: 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  f..// #if (_WIN3
a060: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
a070: 0a 20 20 55 49 4e 54 20 74 79 70 65 3b 0d 0a 20  .  UINT type;.. 
a080: 20 76 6f 69 64 20 2a 20 20 70 76 46 69 6c 74 65   void *  pvFilte
a090: 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d  r;..// #endif..}
a0a0: 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 49 54 45 4d  ..alias _HD_ITEM
a0b0: 57 20 48 44 49 54 45 4d 57 3b 0d 0a 61 6c 69 61  W HDITEMW;..alia
a0c0: 73 20 5f 48 44 5f 49 54 45 4d 57 2a 20 4c 50 48  s _HD_ITEMW* LPH
a0d0: 44 49 54 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  DITEMW;....// #i
a0e0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
a0f0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
a100: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
a110: 65 0d 0a 61 6c 69 61 73 20 48 44 49 54 45 4d 41  e..alias HDITEMA
a120: 20 48 44 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20   HDITEM;..alias 
a130: 4c 50 48 44 49 54 45 4d 41 20 4c 50 48 44 49 54  LPHDITEMA LPHDIT
a140: 45 4d 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  EM;..// #define 
a150: 48 44 49 54 45 4d 5f 56 31 5f 53 49 5a 45 20 48  HDITEM_V1_SIZE H
a160: 44 49 54 45 4d 41 5f 56 31 5f 53 49 5a 45 0d 0a  DITEMA_V1_SIZE..
a170: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
a180: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f 57  m : uint { HDI_W
a190: 49 44 54 48 20 3d 20 30 78 30 30 30 31 20 7d 0d  IDTH = 0x0001 }.
a1a0: 0a 61 6c 69 61 73 20 48 44 49 5f 57 49 44 54 48  .alias HDI_WIDTH
a1b0: 20 48 44 49 5f 48 45 49 47 48 54 3b 0d 0a 65 6e   HDI_HEIGHT;..en
a1c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f  um : uint { HDI_
a1d0: 54 45 58 54 20 3d 20 30 78 30 30 30 32 20 7d 0d  TEXT = 0x0002 }.
a1e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
a1f0: 44 49 5f 46 4f 52 4d 41 54 20 3d 20 30 78 30 30  DI_FORMAT = 0x00
a200: 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
a210: 74 20 7b 20 48 44 49 5f 4c 50 41 52 41 4d 20 3d  t { HDI_LPARAM =
a220: 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
a230: 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f 42 49 54  : uint { HDI_BIT
a240: 4d 41 50 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  MAP = 0x0010 }..
a250: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
a260: 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e  E >= 0x0300)..en
a270: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f  um : uint { HDI_
a280: 49 4d 41 47 45 20 3d 20 30 78 30 30 32 30 20 7d  IMAGE = 0x0020 }
a290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
a2a0: 48 44 49 5f 44 49 5f 53 45 54 49 54 45 4d 20 3d  HDI_DI_SETITEM =
a2b0: 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20   0x0040 }..enum 
a2c0: 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f 4f 52 44  : uint { HDI_ORD
a2d0: 45 52 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f  ER = 0x0080 }../
a2e0: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66  / #endif..// #if
a2f0: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
a300: 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
a310: 69 6e 74 20 7b 20 48 44 49 5f 46 49 4c 54 45 52  int { HDI_FILTER
a320: 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 2f 2f 20   = 0x0100 }..// 
a330: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
a340: 20 75 69 6e 74 20 7b 20 48 44 46 5f 4c 45 46 54   uint { HDF_LEFT
a350: 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75   = 0x0000 }..enu
a360: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 5f 52  m : uint { HDF_R
a370: 49 47 48 54 20 3d 20 30 78 30 30 30 31 20 7d 0d  IGHT = 0x0001 }.
a380: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
a390: 44 46 5f 43 45 4e 54 45 52 20 3d 20 30 78 30 30  DF_CENTER = 0x00
a3a0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
a3b0: 74 20 7b 20 48 44 46 5f 4a 55 53 54 49 46 59 4d  t { HDF_JUSTIFYM
a3c0: 41 53 4b 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a  ASK = 0x0003 }..
a3d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
a3e0: 46 5f 52 54 4c 52 45 41 44 49 4e 47 20 3d 20 30  F_RTLREADING = 0
a3f0: 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0004 }....enum 
a400: 3a 20 75 69 6e 74 20 7b 20 48 44 46 5f 4f 57 4e  : uint { HDF_OWN
a410: 45 52 44 52 41 57 20 3d 20 30 78 38 30 30 30 20  ERDRAW = 0x8000 
a420: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a430: 20 48 44 46 5f 53 54 52 49 4e 47 20 3d 20 30 78   HDF_STRING = 0x
a440: 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4000 }..enum : u
a450: 69 6e 74 20 7b 20 48 44 46 5f 42 49 54 4d 41 50  int { HDF_BITMAP
a460: 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 2f 2f 20   = 0x2000 }..// 
a470: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
a480: 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0300)..enum 
a490: 3a 20 75 69 6e 74 20 7b 20 48 44 46 5f 42 49 54  : uint { HDF_BIT
a4a0: 4d 41 50 5f 4f 4e 5f 52 49 47 48 54 20 3d 20 30  MAP_ON_RIGHT = 0
a4b0: 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1000 }..enum : 
a4c0: 75 69 6e 74 20 7b 20 48 44 46 5f 49 4d 41 47 45  uint { HDF_IMAGE
a4d0: 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 2f 2f 20   = 0x0800 }..// 
a4e0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
a4f0: 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
a500: 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a  = 0x501)..enum :
a510: 20 75 69 6e 74 20 7b 20 48 44 46 5f 53 4f 52 54   uint { HDF_SORT
a520: 55 50 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65  UP = 0x0400 }..e
a530: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46  num : uint { HDF
a540: 5f 53 4f 52 54 44 4f 57 4e 20 3d 20 30 78 30 32  _SORTDOWN = 0x02
a550: 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
a560: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
a570: 20 48 44 4d 5f 47 45 54 49 54 45 4d 43 4f 55 4e   HDM_GETITEMCOUN
a580: 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20  T = HDM_FIRST + 
a590: 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  0 }..// #define 
a5a0: 48 65 61 64 65 72 5f 47 65 74 49 74 65 6d 43 6f  Header_GetItemCo
a5b0: 75 6e 74 28 68 77 6e 64 48 44 29 20 28 69 6e 74  unt(hwndHD) (int
a5c0: 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 48 44 29  )SNDMSG((hwndHD)
a5d0: 2c 20 48 44 4d 5f 47 45 54 49 54 45 4d 43 4f 55  , HDM_GETITEMCOU
a5e0: 4e 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e  NT, 0, 0L)....en
a5f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f  um : uint { HDM_
a600: 49 4e 53 45 52 54 49 54 45 4d 41 20 3d 20 48 44  INSERTITEMA = HD
a610: 4d 5f 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 65  M_FIRST + 1 }..e
a620: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d  num : uint { HDM
a630: 5f 49 4e 53 45 52 54 49 54 45 4d 57 20 3d 20 48  _INSERTITEMW = H
a640: 44 4d 5f 46 49 52 53 54 20 2b 20 31 30 20 7d 0d  DM_FIRST + 10 }.
a650: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
a660: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
a670: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 48  / #else..alias H
a680: 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d 41 20 48  DM_INSERTITEMA H
a690: 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d 3b 0d 0a  DM_INSERTITEM;..
a6a0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
a6b0: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 49  #define Header_I
a6c0: 6e 73 65 72 74 49 74 65 6d 28 68 77 6e 64 48 44  nsertItem(hwndHD
a6d0: 2c 20 69 2c 20 70 68 64 69 29 20 28 69 6e 74 29  , i, phdi) (int)
a6e0: 53 4e 44 4d 53 47 28 28 68 77 6e 64 48 44 29 2c  SNDMSG((hwndHD),
a6f0: 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d 2c   HDM_INSERTITEM,
a700: 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69   (WPARAM)(int)(i
a710: 29 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73  ), (LPARAM)(cons
a720: 74 20 48 44 5f 49 54 45 4d 20 2a 29 28 70 68 64  t HD_ITEM *)(phd
a730: 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  i))....enum : ui
a740: 6e 74 20 7b 20 48 44 4d 5f 44 45 4c 45 54 45 49  nt { HDM_DELETEI
a750: 54 45 4d 20 3d 20 48 44 4d 5f 46 49 52 53 54 20  TEM = HDM_FIRST 
a760: 2b 20 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  + 2 }..// #defin
a770: 65 20 48 65 61 64 65 72 5f 44 65 6c 65 74 65 49  e Header_DeleteI
a780: 74 65 6d 28 68 77 6e 64 48 44 2c 20 69 29 20 28  tem(hwndHD, i) (
a790: 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
a7a0: 64 48 44 29 2c 20 48 44 4d 5f 44 45 4c 45 54 45  dHD), HDM_DELETE
a7b0: 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28 69  ITEM, (WPARAM)(i
a7c0: 6e 74 29 28 69 29 2c 20 30 4c 29 0d 0a 0d 0a 65  nt)(i), 0L)....e
a7d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d  num : uint { HDM
a7e0: 5f 47 45 54 49 54 45 4d 41 20 3d 20 48 44 4d 5f  _GETITEMA = HDM_
a7f0: 46 49 52 53 54 20 2b 20 33 20 7d 0d 0a 65 6e 75  FIRST + 3 }..enu
a800: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 47  m : uint { HDM_G
a810: 45 54 49 54 45 4d 57 20 3d 20 48 44 4d 5f 46 49  ETITEMW = HDM_FI
a820: 52 53 54 20 2b 20 31 31 20 7d 0d 0a 0d 0a 2f 2f  RST + 11 }....//
a830: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
a840: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
a850: 73 65 0d 0a 61 6c 69 61 73 20 48 44 4d 5f 47 45  se..alias HDM_GE
a860: 54 49 54 45 4d 41 20 48 44 4d 5f 47 45 54 49 54  TITEMA HDM_GETIT
a870: 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  EM;..// #endif..
a880: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61  ..// #define Hea
a890: 64 65 72 5f 47 65 74 49 74 65 6d 28 68 77 6e 64  der_GetItem(hwnd
a8a0: 48 44 2c 20 69 2c 20 70 68 64 69 29 20 28 42 4f  HD, i, phdi) (BO
a8b0: 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 48  OL)SNDMSG((hwndH
a8c0: 44 29 2c 20 48 44 4d 5f 47 45 54 49 54 45 4d 2c  D), HDM_GETITEM,
a8d0: 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69   (WPARAM)(int)(i
a8e0: 29 2c 20 28 4c 50 41 52 41 4d 29 28 48 44 5f 49  ), (LPARAM)(HD_I
a8f0: 54 45 4d 20 2a 29 28 70 68 64 69 29 29 0d 0a 0d  TEM *)(phdi))...
a900: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
a910: 44 4d 5f 53 45 54 49 54 45 4d 41 20 3d 20 48 44  DM_SETITEMA = HD
a920: 4d 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 65  M_FIRST + 4 }..e
a930: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d  num : uint { HDM
a940: 5f 53 45 54 49 54 45 4d 57 20 3d 20 48 44 4d 5f  _SETITEMW = HDM_
a950: 46 49 52 53 54 20 2b 20 31 32 20 7d 0d 0a 0d 0a  FIRST + 12 }....
a960: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
a970: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
a980: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 48 44 4d 5f  else..alias HDM_
a990: 53 45 54 49 54 45 4d 41 20 48 44 4d 5f 53 45 54  SETITEMA HDM_SET
a9a0: 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ITEM;..// #endif
a9b0: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48  ....// #define H
a9c0: 65 61 64 65 72 5f 53 65 74 49 74 65 6d 28 68 77  eader_SetItem(hw
a9d0: 6e 64 48 44 2c 20 69 2c 20 70 68 64 69 29 20 28  ndHD, i, phdi) (
a9e0: 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
a9f0: 64 48 44 29 2c 20 48 44 4d 5f 53 45 54 49 54 45  dHD), HDM_SETITE
aa00: 4d 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29  M, (WPARAM)(int)
aa10: 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f  (i), (LPARAM)(co
aa20: 6e 73 74 20 48 44 5f 49 54 45 4d 20 2a 29 28 70  nst HD_ITEM *)(p
aa30: 68 64 69 29 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20  hdi))....// #if 
aa40: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
aa50: 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 48 44 4c  0300)..alias HDL
aa60: 41 59 4f 55 54 20 48 44 5f 4c 41 59 4f 55 54 3b  AYOUT HD_LAYOUT;
aa70: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
aa80: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
aa90: 0d 0a 73 74 72 75 63 74 20 5f 48 44 5f 4c 41 59  ..struct _HD_LAY
aaa0: 4f 55 54 20 7b 0d 0a 20 20 52 45 43 54 20 2a 70  OUT {..  RECT *p
aab0: 72 63 3b 0d 0a 20 20 57 49 4e 44 4f 57 50 4f 53  rc;..  WINDOWPOS
aac0: 20 2a 70 77 70 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69   *pwpos;..}..ali
aad0: 61 73 20 5f 48 44 5f 4c 41 59 4f 55 54 20 48 44  as _HD_LAYOUT HD
aae0: 4c 41 59 4f 55 54 3b 0d 0a 61 6c 69 61 73 20 5f  LAYOUT;..alias _
aaf0: 48 44 5f 4c 41 59 4f 55 54 2a 20 4c 50 48 44 4c  HD_LAYOUT* LPHDL
ab00: 41 59 4f 55 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  AYOUT;....enum :
ab10: 20 75 69 6e 74 20 7b 20 48 44 4d 5f 4c 41 59 4f   uint { HDM_LAYO
ab20: 55 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b  UT = HDM_FIRST +
ab30: 20 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   5 }..// #define
ab40: 20 48 65 61 64 65 72 5f 4c 61 79 6f 75 74 28 68   Header_Layout(h
ab50: 77 6e 64 48 44 2c 20 70 6c 61 79 6f 75 74 29 20  wndHD, playout) 
ab60: 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
ab70: 6e 64 48 44 29 2c 20 48 44 4d 5f 4c 41 59 4f 55  ndHD), HDM_LAYOU
ab80: 54 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 48  T, 0, (LPARAM)(H
ab90: 44 5f 4c 41 59 4f 55 54 20 2a 29 28 70 6c 61 79  D_LAYOUT *)(play
aba0: 6f 75 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  out))....enum : 
abb0: 75 69 6e 74 20 7b 20 48 48 54 5f 4e 4f 57 48 45  uint { HHT_NOWHE
abc0: 52 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  RE = 0x0001 }..e
abd0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 48 54  num : uint { HHT
abe0: 5f 4f 4e 48 45 41 44 45 52 20 3d 20 30 78 30 30  _ONHEADER = 0x00
abf0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
ac00: 74 20 7b 20 48 48 54 5f 4f 4e 44 49 56 49 44 45  t { HHT_ONDIVIDE
ac10: 52 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  R = 0x0004 }..en
ac20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 48 54 5f  um : uint { HHT_
ac30: 4f 4e 44 49 56 4f 50 45 4e 20 3d 20 30 78 30 30  ONDIVOPEN = 0x00
ac40: 30 38 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  08 }..// #if (_W
ac50: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30  IN32_IE >= 0x050
ac60: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
ac70: 7b 20 48 48 54 5f 4f 4e 46 49 4c 54 45 52 20 3d  { HHT_ONFILTER =
ac80: 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
ac90: 3a 20 75 69 6e 74 20 7b 20 48 48 54 5f 4f 4e 46  : uint { HHT_ONF
aca0: 49 4c 54 45 52 42 55 54 54 4f 4e 20 3d 20 30 78  ILTERBUTTON = 0x
acb0: 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0020 }..// #endi
acc0: 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  f..enum : uint {
acd0: 20 48 48 54 5f 41 42 4f 56 45 20 3d 20 30 78 30   HHT_ABOVE = 0x0
ace0: 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
acf0: 6e 74 20 7b 20 48 48 54 5f 42 45 4c 4f 57 20 3d  nt { HHT_BELOW =
ad00: 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0200 }..enum 
ad10: 3a 20 75 69 6e 74 20 7b 20 48 48 54 5f 54 4f 52  : uint { HHT_TOR
ad20: 49 47 48 54 20 3d 20 30 78 30 34 30 30 20 7d 0d  IGHT = 0x0400 }.
ad30: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
ad40: 48 54 5f 54 4f 4c 45 46 54 20 3d 20 30 78 30 38  HT_TOLEFT = 0x08
ad50: 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  00 }....// #if (
ad60: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
ad70: 33 30 30 29 0d 0a 61 6c 69 61 73 20 48 44 48 49  300)..alias HDHI
ad80: 54 54 45 53 54 49 4e 46 4f 20 48 44 5f 48 49 54  TTESTINFO HD_HIT
ad90: 54 45 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65  TESTINFO;..// #e
ada0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
adb0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63   #endif....struc
adc0: 74 20 5f 48 44 5f 48 49 54 54 45 53 54 49 4e 46  t _HD_HITTESTINF
add0: 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b  O {..  POINT pt;
ade0: 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d  ..  UINT flags;.
adf0: 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 7d  .  int iItem;..}
ae00: 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 48 49 54 54  ..alias _HD_HITT
ae10: 45 53 54 49 4e 46 4f 20 48 44 48 49 54 54 45 53  ESTINFO HDHITTES
ae20: 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f 48  TINFO;..alias _H
ae30: 44 5f 48 49 54 54 45 53 54 49 4e 46 4f 2a 20 4c  D_HITTESTINFO* L
ae40: 50 48 44 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d  PHDHITTESTINFO;.
ae50: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
ae60: 20 48 44 4d 5f 48 49 54 54 45 53 54 20 3d 20 48   HDM_HITTEST = H
ae70: 44 4d 5f 46 49 52 53 54 20 2b 20 36 20 7d 0d 0a  DM_FIRST + 6 }..
ae80: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
ae90: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
aea0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
aeb0: 48 44 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 20  HDM_GETITEMRECT 
aec0: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 37 20  = HDM_FIRST + 7 
aed0: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65  }..// #define He
aee0: 61 64 65 72 5f 47 65 74 49 74 65 6d 52 65 63 74  ader_GetItemRect
aef0: 28 68 77 6e 64 2c 20 69 49 74 65 6d 2c 20 6c 70  (hwnd, iItem, lp
af00: 72 63 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  rc) (BOOL)SNDMSG
af10: 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 47 45 54  ((hwnd), HDM_GET
af20: 49 54 45 4d 52 45 43 54 2c 20 28 57 50 41 52 41  ITEMRECT, (WPARA
af30: 4d 29 28 69 49 74 65 6d 29 2c 20 28 4c 50 41 52  M)(iItem), (LPAR
af40: 41 4d 29 28 6c 70 72 63 29 29 0d 0a 0d 0a 65 6e  AM)(lprc))....en
af50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f  um : uint { HDM_
af60: 53 45 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 48  SETIMAGELIST = H
af70: 44 4d 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a  DM_FIRST + 8 }..
af80: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65  // #define Heade
af90: 72 5f 53 65 74 49 6d 61 67 65 4c 69 73 74 28 68  r_SetImageList(h
afa0: 77 6e 64 2c 20 68 69 6d 6c 29 20 28 48 49 4d 41  wnd, himl) (HIMA
afb0: 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 68  GELIST)SNDMSG((h
afc0: 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 49 4d 41  wnd), HDM_SETIMA
afd0: 47 45 4c 49 53 54 2c 20 30 2c 20 28 4c 50 41 52  GELIST, 0, (LPAR
afe0: 41 4d 29 28 68 69 6d 6c 29 29 0d 0a 0d 0a 65 6e  AM)(himl))....en
aff0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f  um : uint { HDM_
b000: 47 45 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 48  GETIMAGELIST = H
b010: 44 4d 5f 46 49 52 53 54 20 2b 20 39 20 7d 0d 0a  DM_FIRST + 9 }..
b020: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65  // #define Heade
b030: 72 5f 47 65 74 49 6d 61 67 65 4c 69 73 74 28 68  r_GetImageList(h
b040: 77 6e 64 29 20 28 48 49 4d 41 47 45 4c 49 53 54  wnd) (HIMAGELIST
b050: 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
b060: 48 44 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53 54  HDM_GETIMAGELIST
b070: 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
b080: 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 4f 52 44  : uint { HDM_ORD
b090: 45 52 54 4f 49 4e 44 45 58 20 3d 20 48 44 4d 5f  ERTOINDEX = HDM_
b0a0: 46 49 52 53 54 20 2b 20 31 35 20 7d 0d 0a 2f 2f  FIRST + 15 }..//
b0b0: 20 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f   #define Header_
b0c0: 4f 72 64 65 72 54 6f 49 6e 64 65 78 28 68 77 6e  OrderToIndex(hwn
b0d0: 64 2c 20 69 29 20 28 69 6e 74 29 53 4e 44 4d 53  d, i) (int)SNDMS
b0e0: 47 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 4f 52  G((hwnd), HDM_OR
b0f0: 44 45 52 54 4f 49 4e 44 45 58 2c 20 28 57 50 41  DERTOINDEX, (WPA
b100: 52 41 4d 29 28 69 29 2c 20 30 29 0d 0a 0d 0a 65  RAM)(i), 0)....e
b110: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d  num : uint { HDM
b120: 5f 43 52 45 41 54 45 44 52 41 47 49 4d 41 47 45  _CREATEDRAGIMAGE
b130: 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31   = HDM_FIRST + 1
b140: 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  6 }..// #define 
b150: 48 65 61 64 65 72 5f 43 72 65 61 74 65 44 72 61  Header_CreateDra
b160: 67 49 6d 61 67 65 28 68 77 6e 64 2c 20 69 29 20  gImage(hwnd, i) 
b170: 28 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d  (HIMAGELIST)SNDM
b180: 53 47 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 43  SG((hwnd), HDM_C
b190: 52 45 41 54 45 44 52 41 47 49 4d 41 47 45 2c 20  REATEDRAGIMAGE, 
b1a0: 28 57 50 41 52 41 4d 29 28 69 29 2c 20 30 29 0d  (WPARAM)(i), 0).
b1b0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
b1c0: 20 48 44 4d 5f 47 45 54 4f 52 44 45 52 41 52 52   HDM_GETORDERARR
b1d0: 41 59 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b  AY = HDM_FIRST +
b1e0: 20 31 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   17 }..// #defin
b1f0: 65 20 48 65 61 64 65 72 5f 47 65 74 4f 72 64 65  e Header_GetOrde
b200: 72 41 72 72 61 79 28 68 77 6e 64 2c 20 69 43 6f  rArray(hwnd, iCo
b210: 75 6e 74 2c 20 6c 70 69 29 20 28 42 4f 4f 4c 29  unt, lpi) (BOOL)
b220: 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48  SNDMSG((hwnd), H
b230: 44 4d 5f 47 45 54 4f 52 44 45 52 41 52 52 41 59  DM_GETORDERARRAY
b240: 2c 20 28 57 50 41 52 41 4d 29 28 69 43 6f 75 6e  , (WPARAM)(iCoun
b250: 74 29 2c 20 28 4c 50 41 52 41 4d 29 28 6c 70 69  t), (LPARAM)(lpi
b260: 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
b270: 74 20 7b 20 48 44 4d 5f 53 45 54 4f 52 44 45 52  t { HDM_SETORDER
b280: 41 52 52 41 59 20 3d 20 48 44 4d 5f 46 49 52 53  ARRAY = HDM_FIRS
b290: 54 20 2b 20 31 38 20 7d 0d 0a 2f 2f 20 23 64 65  T + 18 }..// #de
b2a0: 66 69 6e 65 20 48 65 61 64 65 72 5f 53 65 74 4f  fine Header_SetO
b2b0: 72 64 65 72 41 72 72 61 79 28 68 77 6e 64 2c 20  rderArray(hwnd, 
b2c0: 69 43 6f 75 6e 74 2c 20 6c 70 69 29 20 28 42 4f  iCount, lpi) (BO
b2d0: 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
b2e0: 2c 20 48 44 4d 5f 53 45 54 4f 52 44 45 52 41 52  , HDM_SETORDERAR
b2f0: 52 41 59 2c 20 28 57 50 41 52 41 4d 29 28 69 43  RAY, (WPARAM)(iC
b300: 6f 75 6e 74 29 2c 20 28 4c 50 41 52 41 4d 29 28  ount), (LPARAM)(
b310: 6c 70 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  lpi))....enum : 
b320: 75 69 6e 74 20 7b 20 48 44 4d 5f 53 45 54 48 4f  uint { HDM_SETHO
b330: 54 44 49 56 49 44 45 52 20 3d 20 48 44 4d 5f 46  TDIVIDER = HDM_F
b340: 49 52 53 54 20 2b 20 31 39 20 7d 0d 0a 2f 2f 20  IRST + 19 }..// 
b350: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 53  #define Header_S
b360: 65 74 48 6f 74 44 69 76 69 64 65 72 28 68 77 6e  etHotDivider(hwn
b370: 64 2c 20 66 50 6f 73 2c 20 64 77 29 20 28 69 6e  d, fPos, dw) (in
b380: 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  t)SNDMSG((hwnd),
b390: 20 48 44 4d 5f 53 45 54 48 4f 54 44 49 56 49 44   HDM_SETHOTDIVID
b3a0: 45 52 2c 20 28 57 50 41 52 41 4d 29 28 66 50 6f  ER, (WPARAM)(fPo
b3b0: 73 29 2c 20 28 4c 50 41 52 41 4d 29 28 64 77 29  s), (LPARAM)(dw)
b3c0: 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  )....// #endif  
b3d0: 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45      // _WIN32_IE
b3e0: 20 3e 3d 20 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f   >= 0x0300....//
b3f0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
b400: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e  >= 0x0500)....en
b410: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f  um : uint { HDM_
b420: 53 45 54 42 49 54 4d 41 50 4d 41 52 47 49 4e 20  SETBITMAPMARGIN 
b430: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 32 30  = HDM_FIRST + 20
b440: 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48   }..// #define H
b450: 65 61 64 65 72 5f 53 65 74 42 69 74 6d 61 70 4d  eader_SetBitmapM
b460: 61 72 67 69 6e 28 68 77 6e 64 2c 20 69 57 69 64  argin(hwnd, iWid
b470: 74 68 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  th) (int)SNDMSG(
b480: 28 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 42  (hwnd), HDM_SETB
b490: 49 54 4d 41 50 4d 41 52 47 49 4e 2c 20 28 57 50  ITMAPMARGIN, (WP
b4a0: 41 52 41 4d 29 28 69 57 69 64 74 68 29 2c 20 30  ARAM)(iWidth), 0
b4b0: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
b4c0: 20 7b 20 48 44 4d 5f 47 45 54 42 49 54 4d 41 50   { HDM_GETBITMAP
b4d0: 4d 41 52 47 49 4e 20 3d 20 48 44 4d 5f 46 49 52  MARGIN = HDM_FIR
b4e0: 53 54 20 2b 20 32 31 20 7d 0d 0a 2f 2f 20 23 64  ST + 21 }..// #d
b4f0: 65 66 69 6e 65 20 48 65 61 64 65 72 5f 47 65 74  efine Header_Get
b500: 42 69 74 6d 61 70 4d 61 72 67 69 6e 28 68 77 6e  BitmapMargin(hwn
b510: 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28  d) (int)SNDMSG((
b520: 68 77 6e 64 29 2c 20 48 44 4d 5f 47 45 54 42 49  hwnd), HDM_GETBI
b530: 54 4d 41 50 4d 41 52 47 49 4e 2c 20 30 2c 20 30  TMAPMARGIN, 0, 0
b540: 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  )..// #endif....
b550: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
b560: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61 6c  E >= 0x0400)..al
b570: 69 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f  ias CCM_SETUNICO
b580: 44 45 46 4f 52 4d 41 54 20 48 44 4d 5f 53 45 54  DEFORMAT HDM_SET
b590: 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a  UNICODEFORMAT;..
b5a0: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65  // #define Heade
b5b0: 72 5f 53 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d  r_SetUnicodeForm
b5c0: 61 74 28 68 77 6e 64 2c 20 66 55 6e 69 63 6f 64  at(hwnd, fUnicod
b5d0: 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  e) (BOOL)SNDMSG(
b5e0: 28 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 55  (hwnd), HDM_SETU
b5f0: 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 28 57  NICODEFORMAT, (W
b600: 50 41 52 41 4d 29 28 66 55 6e 69 63 6f 64 65 29  PARAM)(fUnicode)
b610: 2c 20 30 29 0d 0a 0d 0a 61 6c 69 61 73 20 43 43  , 0)....alias CC
b620: 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_GETUNICODEFORM
b630: 41 54 20 48 44 4d 5f 47 45 54 55 4e 49 43 4f 44  AT HDM_GETUNICOD
b640: 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65  EFORMAT;..// #de
b650: 66 69 6e 65 20 48 65 61 64 65 72 5f 47 65 74 55  fine Header_GetU
b660: 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e  nicodeFormat(hwn
b670: 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  d) (BOOL)SNDMSG(
b680: 28 68 77 6e 64 29 2c 20 48 44 4d 5f 47 45 54 55  (hwnd), HDM_GETU
b690: 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c  NICODEFORMAT, 0,
b6a0: 20 30 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a   0)..// #endif..
b6b0: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
b6c0: 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a  _IE >= 0x0500)..
b6d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
b6e0: 4d 5f 53 45 54 46 49 4c 54 45 52 43 48 41 4e 47  M_SETFILTERCHANG
b6f0: 45 54 49 4d 45 4f 55 54 20 3d 20 48 44 4d 5f 46  ETIMEOUT = HDM_F
b700: 49 52 53 54 2b 32 32 20 7d 0d 0a 2f 2f 20 23 64  IRST+22 }..// #d
b710: 65 66 69 6e 65 20 48 65 61 64 65 72 5f 53 65 74  efine Header_Set
b720: 46 69 6c 74 65 72 43 68 61 6e 67 65 54 69 6d 65  FilterChangeTime
b730: 6f 75 74 28 68 77 6e 64 2c 20 69 29 20 28 69 6e  out(hwnd, i) (in
b740: 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  t)SNDMSG((hwnd),
b750: 20 48 44 4d 5f 53 45 54 46 49 4c 54 45 52 43 48   HDM_SETFILTERCH
b760: 41 4e 47 45 54 49 4d 45 4f 55 54 2c 20 30 2c 20  ANGETIMEOUT, 0, 
b770: 28 4c 50 41 52 41 4d 29 28 69 29 29 0d 0a 0d 0a  (LPARAM)(i))....
b780: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
b790: 4d 5f 45 44 49 54 46 49 4c 54 45 52 20 3d 20 48  M_EDITFILTER = H
b7a0: 44 4d 5f 46 49 52 53 54 2b 32 33 20 7d 0d 0a 2f  DM_FIRST+23 }../
b7b0: 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65 72  / #define Header
b7c0: 5f 45 64 69 74 46 69 6c 74 65 72 28 68 77 6e 64  _EditFilter(hwnd
b7d0: 2c 20 69 2c 20 66 44 69 73 63 61 72 64 43 68 61  , i, fDiscardCha
b7e0: 6e 67 65 73 29 20 28 69 6e 74 29 53 4e 44 4d 53  nges) (int)SNDMS
b7f0: 47 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 45 44  G((hwnd), HDM_ED
b800: 49 54 46 49 4c 54 45 52 2c 20 28 57 50 41 52 41  ITFILTER, (WPARA
b810: 4d 29 28 69 29 2c 20 4d 41 4b 45 4c 50 41 52 41  M)(i), MAKELPARA
b820: 4d 28 66 44 69 73 63 61 72 64 43 68 61 6e 67 65  M(fDiscardChange
b830: 73 2c 20 30 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  s, 0))....enum :
b840: 20 75 69 6e 74 20 7b 20 48 44 4d 5f 43 4c 45 41   uint { HDM_CLEA
b850: 52 46 49 4c 54 45 52 20 3d 20 48 44 4d 5f 46 49  RFILTER = HDM_FI
b860: 52 53 54 2b 32 34 20 7d 0d 0a 2f 2f 20 23 64 65  RST+24 }..// #de
b870: 66 69 6e 65 20 48 65 61 64 65 72 5f 43 6c 65 61  fine Header_Clea
b880: 72 46 69 6c 74 65 72 28 68 77 6e 64 2c 20 69 29  rFilter(hwnd, i)
b890: 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77   (int)SNDMSG((hw
b8a0: 6e 64 29 2c 20 48 44 4d 5f 43 4c 45 41 52 46 49  nd), HDM_CLEARFI
b8b0: 4c 54 45 52 2c 20 28 57 50 41 52 41 4d 29 28 69  LTER, (WPARAM)(i
b8c0: 29 2c 20 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  ), 0)..// #defin
b8d0: 65 20 48 65 61 64 65 72 5f 43 6c 65 61 72 41 6c  e Header_ClearAl
b8e0: 6c 46 69 6c 74 65 72 73 28 68 77 6e 64 29 20 28  lFilters(hwnd) (
b8f0: 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  int)SNDMSG((hwnd
b900: 29 2c 20 48 44 4d 5f 43 4c 45 41 52 46 49 4c 54  ), HDM_CLEARFILT
b910: 45 52 2c 20 28 57 50 41 52 41 4d 29 2d 31 2c 20  ER, (WPARAM)-1, 
b920: 30 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  0)..// #endif...
b930: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
b940: 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47 41  DN_ITEMCHANGINGA
b950: 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 30 20 7d   = HDN_FIRST-0 }
b960: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b970: 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47  HDN_ITEMCHANGING
b980: 57 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 30  W = HDN_FIRST-20
b990: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b9a0: 7b 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 45  { HDN_ITEMCHANGE
b9b0: 44 41 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 31  DA = HDN_FIRST-1
b9c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b9d0: 7b 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 45  { HDN_ITEMCHANGE
b9e0: 44 57 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32  DW = HDN_FIRST-2
b9f0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
ba00: 20 7b 20 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b   { HDN_ITEMCLICK
ba10: 41 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 20  A = HDN_FIRST-2 
ba20: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ba30: 20 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b 57 20   HDN_ITEMCLICKW 
ba40: 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 32 20 7d  = HDN_FIRST-22 }
ba50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ba60: 48 44 4e 5f 49 54 45 4d 44 42 4c 43 4c 49 43 4b  HDN_ITEMDBLCLICK
ba70: 41 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 33 20  A = HDN_FIRST-3 
ba80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ba90: 20 48 44 4e 5f 49 54 45 4d 44 42 4c 43 4c 49 43   HDN_ITEMDBLCLIC
baa0: 4b 57 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32  KW = HDN_FIRST-2
bab0: 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
bac0: 20 7b 20 48 44 4e 5f 44 49 56 49 44 45 52 44 42   { HDN_DIVIDERDB
bad0: 4c 43 4c 49 43 4b 41 20 3d 20 48 44 4e 5f 46 49  LCLICKA = HDN_FI
bae0: 52 53 54 2d 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  RST-5 }..enum : 
baf0: 75 69 6e 74 20 7b 20 48 44 4e 5f 44 49 56 49 44  uint { HDN_DIVID
bb00: 45 52 44 42 4c 43 4c 49 43 4b 57 20 3d 20 48 44  ERDBLCLICKW = HD
bb10: 4e 5f 46 49 52 53 54 2d 32 35 20 7d 0d 0a 65 6e  N_FIRST-25 }..en
bb20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f  um : uint { HDN_
bb30: 42 45 47 49 4e 54 52 41 43 4b 41 20 3d 20 48 44  BEGINTRACKA = HD
bb40: 4e 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75  N_FIRST-6 }..enu
bb50: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 42  m : uint { HDN_B
bb60: 45 47 49 4e 54 52 41 43 4b 57 20 3d 20 48 44 4e  EGINTRACKW = HDN
bb70: 5f 46 49 52 53 54 2d 32 36 20 7d 0d 0a 65 6e 75  _FIRST-26 }..enu
bb80: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 45  m : uint { HDN_E
bb90: 4e 44 54 52 41 43 4b 41 20 3d 20 48 44 4e 5f 46  NDTRACKA = HDN_F
bba0: 49 52 53 54 2d 37 20 7d 0d 0a 65 6e 75 6d 20 3a  IRST-7 }..enum :
bbb0: 20 75 69 6e 74 20 7b 20 48 44 4e 5f 45 4e 44 54   uint { HDN_ENDT
bbc0: 52 41 43 4b 57 20 3d 20 48 44 4e 5f 46 49 52 53  RACKW = HDN_FIRS
bbd0: 54 2d 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  T-27 }..enum : u
bbe0: 69 6e 74 20 7b 20 48 44 4e 5f 54 52 41 43 4b 41  int { HDN_TRACKA
bbf0: 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 38 20 7d   = HDN_FIRST-8 }
bc00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
bc10: 48 44 4e 5f 54 52 41 43 4b 57 20 3d 20 48 44 4e  HDN_TRACKW = HDN
bc20: 5f 46 49 52 53 54 2d 32 38 20 7d 0d 0a 2f 2f 20  _FIRST-28 }..// 
bc30: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
bc40: 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0300)..enum 
bc50: 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 47 45 54  : uint { HDN_GET
bc60: 44 49 53 50 49 4e 46 4f 41 20 3d 20 48 44 4e 5f  DISPINFOA = HDN_
bc70: 46 49 52 53 54 2d 39 20 7d 0d 0a 65 6e 75 6d 20  FIRST-9 }..enum 
bc80: 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 47 45 54  : uint { HDN_GET
bc90: 44 49 53 50 49 4e 46 4f 57 20 3d 20 48 44 4e 5f  DISPINFOW = HDN_
bca0: 46 49 52 53 54 2d 32 39 20 7d 0d 0a 65 6e 75 6d  FIRST-29 }..enum
bcb0: 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 42 45   : uint { HDN_BE
bcc0: 47 49 4e 44 52 41 47 20 3d 20 48 44 4e 5f 46 49  GINDRAG = HDN_FI
bcd0: 52 53 54 2d 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  RST-10 }..enum :
bce0: 20 75 69 6e 74 20 7b 20 48 44 4e 5f 45 4e 44 44   uint { HDN_ENDD
bcf0: 52 41 47 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d  RAG = HDN_FIRST-
bd00: 31 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  11 }..// #endif.
bd10: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
bd20: 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  IE >= 0x0500)..e
bd30: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e  num : uint { HDN
bd40: 5f 46 49 4c 54 45 52 43 48 41 4e 47 45 20 3d 20  _FILTERCHANGE = 
bd50: 48 44 4e 5f 46 49 52 53 54 2d 31 32 20 7d 0d 0a  HDN_FIRST-12 }..
bd60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
bd70: 4e 5f 46 49 4c 54 45 52 42 54 4e 43 4c 49 43 4b  N_FILTERBTNCLICK
bd80: 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 31 33 20   = HDN_FIRST-13 
bd90: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
bda0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
bdb0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
bdc0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
bdd0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
bde0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
bdf0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69  ..// #.....// #i
be00: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
be10: 30 78 30 33 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e  0x0300)..// #...
be20: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
be30: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 48 44 4e  #else..alias HDN
be40: 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47 41 20 48  _ITEMCHANGINGA H
be50: 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47 3b  DN_ITEMCHANGING;
be60: 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 49 54 45 4d  ..alias HDN_ITEM
be70: 43 48 41 4e 47 45 44 41 20 48 44 4e 5f 49 54 45  CHANGEDA HDN_ITE
be80: 4d 43 48 41 4e 47 45 44 3b 0d 0a 61 6c 69 61 73  MCHANGED;..alias
be90: 20 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b 41 20   HDN_ITEMCLICKA 
bea0: 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b 3b 0d 0a  HDN_ITEMCLICK;..
beb0: 61 6c 69 61 73 20 48 44 4e 5f 49 54 45 4d 44 42  alias HDN_ITEMDB
bec0: 4c 43 4c 49 43 4b 41 20 48 44 4e 5f 49 54 45 4d  LCLICKA HDN_ITEM
bed0: 44 42 4c 43 4c 49 43 4b 3b 0d 0a 61 6c 69 61 73  DBLCLICK;..alias
bee0: 20 48 44 4e 5f 44 49 56 49 44 45 52 44 42 4c 43   HDN_DIVIDERDBLC
bef0: 4c 49 43 4b 41 20 48 44 4e 5f 44 49 56 49 44 45  LICKA HDN_DIVIDE
bf00: 52 44 42 4c 43 4c 49 43 4b 3b 0d 0a 61 6c 69 61  RDBLCLICK;..alia
bf10: 73 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 43 4b  s HDN_BEGINTRACK
bf20: 41 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 43 4b  A HDN_BEGINTRACK
bf30: 3b 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 45 4e 44  ;..alias HDN_END
bf40: 54 52 41 43 4b 41 20 48 44 4e 5f 45 4e 44 54 52  TRACKA HDN_ENDTR
bf50: 41 43 4b 3b 0d 0a 61 6c 69 61 73 20 48 44 4e 5f  ACK;..alias HDN_
bf60: 54 52 41 43 4b 41 20 48 44 4e 5f 54 52 41 43 4b  TRACKA HDN_TRACK
bf70: 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ;..// #if (_WIN3
bf80: 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
bf90: 0a 61 6c 69 61 73 20 48 44 4e 5f 47 45 54 44 49  .alias HDN_GETDI
bfa0: 53 50 49 4e 46 4f 41 20 48 44 4e 5f 47 45 54 44  SPINFOA HDN_GETD
bfb0: 49 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e  ISPINFO;..// #en
bfc0: 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  dif..// #endif..
bfd0: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
bfe0: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
bff0: 61 6c 69 61 73 20 4e 4d 48 45 41 44 45 52 41 20  alias NMHEADERA 
c000: 48 44 5f 4e 4f 54 49 46 59 41 3b 0d 0a 61 6c 69  HD_NOTIFYA;..ali
c010: 61 73 20 4e 4d 48 45 41 44 45 52 57 20 48 44 5f  as NMHEADERW HD_
c020: 4e 4f 54 49 46 59 57 3b 0d 0a 2f 2f 20 23 65 6c  NOTIFYW;..// #el
c030: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
c040: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
c050: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
c060: 66 0d 0a 61 6c 69 61 73 20 4e 4d 48 45 41 44 45  f..alias NMHEADE
c070: 52 20 48 44 5f 4e 4f 54 49 46 59 3b 0d 0a 0d 0a  R HD_NOTIFY;....
c080: 73 74 72 75 63 74 20 74 61 67 4e 4d 48 45 41 44  struct tagNMHEAD
c090: 45 52 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68  ERA {..  NMHDR h
c0a0: 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d  dr;..  int iItem
c0b0: 3b 0d 0a 20 20 69 6e 74 20 69 42 75 74 74 6f 6e  ;..  int iButton
c0c0: 3b 0d 0a 20 20 48 44 49 54 45 4d 41 20 2a 70 69  ;..  HDITEMA *pi
c0d0: 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  tem;..}..alias t
c0e0: 61 67 4e 4d 48 45 41 44 45 52 41 20 4e 4d 48 45  agNMHEADERA NMHE
c0f0: 41 44 45 52 41 3b 0d 0a 61 6c 69 61 73 20 74 61  ADERA;..alias ta
c100: 67 4e 4d 48 45 41 44 45 52 41 2a 20 4c 50 4e 4d  gNMHEADERA* LPNM
c110: 48 45 41 44 45 52 41 3b 0d 0a 0d 0a 73 74 72 75  HEADERA;....stru
c120: 63 74 20 74 61 67 4e 4d 48 45 41 44 45 52 57 20  ct tagNMHEADERW 
c130: 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d  {..  NMHDR hdr;.
c140: 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20  .  int iItem;.. 
c150: 20 69 6e 74 20 69 42 75 74 74 6f 6e 3b 0d 0a 20   int iButton;.. 
c160: 20 48 44 49 54 45 4d 57 20 2a 70 69 74 65 6d 3b   HDITEMW *pitem;
c170: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  ..}..alias tagNM
c180: 48 45 41 44 45 52 57 20 4e 4d 48 45 41 44 45 52  HEADERW NMHEADER
c190: 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48  W;..alias tagNMH
c1a0: 45 41 44 45 52 57 2a 20 4c 50 4e 4d 48 45 41 44  EADERW* LPNMHEAD
c1b0: 45 52 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  ERW;....// #ifde
c1c0: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
c1d0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
c1e0: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4e 4d 48  #else..alias NMH
c1f0: 45 41 44 45 52 41 20 4e 4d 48 45 41 44 45 52 3b  EADERA NMHEADER;
c200: 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 48 45 41 44  ..alias LPNMHEAD
c210: 45 52 41 20 4c 50 4e 4d 48 45 41 44 45 52 3b 0d  ERA LPNMHEADER;.
c220: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
c230: 72 75 63 74 20 74 61 67 4e 4d 48 44 44 49 53 50  ruct tagNMHDDISP
c240: 49 4e 46 4f 57 20 7b 0d 0a 20 20 4e 4d 48 44 52  INFOW {..  NMHDR
c250: 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74   hdr;..  int iIt
c260: 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b  em;..  UINT mask
c270: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54  ;..  LPWSTR pszT
c280: 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54  ext;..  int cchT
c290: 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69  extMax;..  int i
c2a0: 49 6d 61 67 65 3b 0d 0a 20 20 4c 50 41 52 41 4d  Image;..  LPARAM
c2b0: 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69   lParam;..}..ali
c2c0: 61 73 20 74 61 67 4e 4d 48 44 44 49 53 50 49 4e  as tagNMHDDISPIN
c2d0: 46 4f 57 20 4e 4d 48 44 44 49 53 50 49 4e 46 4f  FOW NMHDDISPINFO
c2e0: 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48  W;..alias tagNMH
c2f0: 44 44 49 53 50 49 4e 46 4f 57 2a 20 4c 50 4e 4d  DDISPINFOW* LPNM
c300: 48 44 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 0d 0a  HDDISPINFOW;....
c310: 73 74 72 75 63 74 20 74 61 67 4e 4d 48 44 44 49  struct tagNMHDDI
c320: 53 50 49 4e 46 4f 41 20 7b 0d 0a 20 20 4e 4d 48  SPINFOA {..  NMH
c330: 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69  DR hdr;..  int i
c340: 49 74 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 6d 61  Item;..  UINT ma
c350: 73 6b 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a  sk;..  LPSTR psz
c360: 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68  Text;..  int cch
c370: 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20  TextMax;..  int 
c380: 69 49 6d 61 67 65 3b 0d 0a 20 20 4c 50 41 52 41  iImage;..  LPARA
c390: 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c  M lParam;..}..al
c3a0: 69 61 73 20 74 61 67 4e 4d 48 44 44 49 53 50 49  ias tagNMHDDISPI
c3b0: 4e 46 4f 41 20 4e 4d 48 44 44 49 53 50 49 4e 46  NFOA NMHDDISPINF
c3c0: 4f 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  OA;..alias tagNM
c3d0: 48 44 44 49 53 50 49 4e 46 4f 41 2a 20 4c 50 4e  HDDISPINFOA* LPN
c3e0: 4d 48 44 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 0d  MHDDISPINFOA;...
c3f0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
c400: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
c410: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
c420: 61 6c 69 61 73 20 4e 4d 48 44 44 49 53 50 49 4e  alias NMHDDISPIN
c430: 46 4f 41 20 4e 4d 48 44 44 49 53 50 49 4e 46 4f  FOA NMHDDISPINFO
c440: 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 48 44 44  ;..alias LPNMHDD
c450: 49 53 50 49 4e 46 4f 41 20 4c 50 4e 4d 48 44 44  ISPINFOA LPNMHDD
c460: 49 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e  ISPINFO;..// #en
c470: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  dif....// #if (_
c480: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
c490: 30 30 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  00)..struct tagN
c4a0: 4d 48 44 46 49 4c 54 45 52 42 54 4e 43 4c 49 43  MHDFILTERBTNCLIC
c4b0: 4b 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72  K {..  NMHDR hdr
c4c0: 3b 0d 0a 20 20 49 4e 54 20 69 49 74 65 6d 3b 0d  ;..  INT iItem;.
c4d0: 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a 7d 0d 0a  .  RECT rc;..}..
c4e0: 61 6c 69 61 73 20 74 61 67 4e 4d 48 44 46 49 4c  alias tagNMHDFIL
c4f0: 54 45 52 42 54 4e 43 4c 49 43 4b 20 4e 4d 48 44  TERBTNCLICK NMHD
c500: 46 49 4c 54 45 52 42 54 4e 43 4c 49 43 4b 3b 0d  FILTERBTNCLICK;.
c510: 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48 44 46 49  .alias tagNMHDFI
c520: 4c 54 45 52 42 54 4e 43 4c 49 43 4b 2a 20 4c 50  LTERBTNCLICK* LP
c530: 4e 4d 48 44 46 49 4c 54 45 52 42 54 4e 43 4c 49  NMHDFILTERBTNCLI
c540: 43 4b 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  CK;....// #endif
c550: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20  ....// #endif   
c560: 20 20 20 2f 2f 20 4e 4f 48 45 41 44 45 52 0d 0a     // NOHEADER..
c570: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 54  ..// #ifndef NOT
c580: 4f 4f 4c 42 41 52 0d 0a 0d 0a 2f 2f 20 23 69 66  OOLBAR....// #if
c590: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 63 6f 6e 73  def _WIN32..cons
c5a0: 74 20 77 63 68 61 72 5b 5d 20 54 4f 4f 4c 42 41  t wchar[] TOOLBA
c5b0: 52 43 4c 41 53 53 4e 41 4d 45 57 20 3d 20 22 54  RCLASSNAMEW = "T
c5c0: 6f 6f 6c 62 61 72 57 69 6e 64 6f 77 33 32 22 3b  oolbarWindow32";
c5d0: 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 54  ..const char[] T
c5e0: 4f 4f 4c 42 41 52 43 4c 41 53 53 4e 41 4d 45 41  OOLBARCLASSNAMEA
c5f0: 20 3d 20 22 54 6f 6f 6c 62 61 72 57 69 6e 64 6f   = "ToolbarWindo
c600: 77 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  w32";....// #ifd
c610: 65 66 20 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  ef  UNICODE..// 
c620: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
c630: 61 6c 69 61 73 20 54 4f 4f 4c 42 41 52 43 4c 41  alias TOOLBARCLA
c640: 53 53 4e 41 4d 45 41 20 54 4f 4f 4c 42 41 52 43  SSNAMEA TOOLBARC
c650: 4c 41 53 53 4e 41 4d 45 3b 0d 0a 2f 2f 20 23 65  LASSNAME;..// #e
c660: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  ndif....// #else
c670: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
c680: 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ndif....struct _
c690: 54 42 42 55 54 54 4f 4e 20 7b 0d 0a 20 20 69 6e  TBBUTTON {..  in
c6a0: 74 20 69 42 69 74 6d 61 70 3b 0d 0a 20 20 69 6e  t iBitmap;..  in
c6b0: 74 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20 20  t idCommand;..  
c6c0: 42 59 54 45 20 66 73 53 74 61 74 65 3b 0d 0a 20  BYTE fsState;.. 
c6d0: 20 42 59 54 45 20 66 73 53 74 79 6c 65 3b 0d 0a   BYTE fsStyle;..
c6e0: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 36 34  // #ifdef _WIN64
c6f0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
c700: 69 66 20 64 65 66 69 6e 65 64 28 5f 57 49 4e 33  if defined(_WIN3
c710: 32 29 0d 0a 20 20 42 59 54 45 20 62 52 65 73 65  2)..  BYTE bRese
c720: 72 76 65 64 5b 32 5d 3b 0d 0a 2f 2f 20 23 65 6e  rved[2];..// #en
c730: 64 69 66 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52  dif..  DWORD_PTR
c740: 20 64 77 44 61 74 61 3b 0d 0a 20 20 49 4e 54 5f   dwData;..  INT_
c750: 50 54 52 20 69 53 74 72 69 6e 67 3b 0d 0a 7d 0d  PTR iString;..}.
c760: 0a 61 6c 69 61 73 20 5f 54 42 42 55 54 54 4f 4e  .alias _TBBUTTON
c770: 20 54 42 42 55 54 54 4f 4e 3b 0d 0a 61 6c 69 61   TBBUTTON;..alia
c780: 73 20 5f 54 42 42 55 54 54 4f 4e 2a 20 50 54 42  s _TBBUTTON* PTB
c790: 42 55 54 54 4f 4e 3b 0d 0a 61 6c 69 61 73 20 5f  BUTTON;..alias _
c7a0: 54 42 42 55 54 54 4f 4e 2a 20 4c 50 54 42 42 55  TBBUTTON* LPTBBU
c7b0: 54 54 4f 4e 3b 0d 0a 0d 0a 61 6c 69 61 73 20 54  TTON;....alias T
c7c0: 42 42 55 54 54 4f 4e 2a 20 4c 50 43 54 42 42 55  BBUTTON* LPCTBBU
c7d0: 54 54 4f 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  TTON;....struct 
c7e0: 5f 43 4f 4c 4f 52 4d 41 50 20 7b 0d 0a 20 20 43  _COLORMAP {..  C
c7f0: 4f 4c 4f 52 52 45 46 20 66 72 6f 6d 3b 0d 0a 20  OLORREF from;.. 
c800: 20 43 4f 4c 4f 52 52 45 46 20 74 6f 3b 0d 0a 7d   COLORREF to;..}
c810: 0d 0a 61 6c 69 61 73 20 5f 43 4f 4c 4f 52 4d 41  ..alias _COLORMA
c820: 50 20 43 4f 4c 4f 52 4d 41 50 3b 0d 0a 61 6c 69  P COLORMAP;..ali
c830: 61 73 20 5f 43 4f 4c 4f 52 4d 41 50 2a 20 4c 50  as _COLORMAP* LP
c840: 43 4f 4c 4f 52 4d 41 50 3b 0d 0a 0d 0a 65 78 74  COLORMAP;....ext
c850: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
c860: 6f 72 74 20 48 57 4e 44 20 43 72 65 61 74 65 54  ort HWND CreateT
c870: 6f 6f 6c 62 61 72 45 78 28 48 57 4e 44 20 68 77  oolbarEx(HWND hw
c880: 6e 64 2c 20 44 57 4f 52 44 20 77 73 2c 20 55 49  nd, DWORD ws, UI
c890: 4e 54 20 77 49 44 2c 20 69 6e 74 20 6e 42 69 74  NT wID, int nBit
c8a0: 6d 61 70 73 2c 0d 0a 20 20 48 49 4e 53 54 41 4e  maps,..  HINSTAN
c8b0: 43 45 20 68 42 4d 49 6e 73 74 2c 20 55 49 4e 54  CE hBMInst, UINT
c8c0: 5f 50 54 52 20 77 42 4d 49 44 2c 20 4c 50 43 54  _PTR wBMID, LPCT
c8d0: 42 42 55 54 54 4f 4e 20 6c 70 42 75 74 74 6f 6e  BBUTTON lpButton
c8e0: 73 2c 0d 0a 20 20 69 6e 74 20 69 4e 75 6d 42 75  s,..  int iNumBu
c8f0: 74 74 6f 6e 73 2c 20 69 6e 74 20 64 78 42 75 74  ttons, int dxBut
c900: 74 6f 6e 2c 20 69 6e 74 20 64 79 42 75 74 74 6f  ton, int dyButto
c910: 6e 2c 0d 0a 20 20 69 6e 74 20 64 78 42 69 74 6d  n,..  int dxBitm
c920: 61 70 2c 20 69 6e 74 20 64 79 42 69 74 6d 61 70  ap, int dyBitmap
c930: 2c 20 55 49 4e 54 20 75 53 74 72 75 63 74 53 69  , UINT uStructSi
c940: 7a 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ze);....extern(W
c950: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
c960: 42 49 54 4d 41 50 20 43 72 65 61 74 65 4d 61 70  BITMAP CreateMap
c970: 70 65 64 42 69 74 6d 61 70 28 48 49 4e 53 54 41  pedBitmap(HINSTA
c980: 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 2c 20 49  NCE hInstance, I
c990: 4e 54 5f 50 54 52 20 69 64 42 69 74 6d 61 70 2c  NT_PTR idBitmap,
c9a0: 0d 0a 20 20 55 49 4e 54 20 77 46 6c 61 67 73 2c  ..  UINT wFlags,
c9b0: 20 4c 50 43 4f 4c 4f 52 4d 41 50 20 6c 70 43 6f   LPCOLORMAP lpCo
c9c0: 6c 6f 72 4d 61 70 2c 0d 0a 20 20 69 6e 74 20 69  lorMap,..  int i
c9d0: 4e 75 6d 4d 61 70 73 29 3b 0d 0a 0d 0a 65 6e 75  NumMaps);....enu
c9e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 4d 42 5f 4d  m : uint { CMB_M
c9f0: 41 53 4b 45 44 20 3d 20 30 78 30 32 20 7d 0d 0a  ASKED = 0x02 }..
ca00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
ca10: 53 54 41 54 45 5f 43 48 45 43 4b 45 44 20 3d 20  STATE_CHECKED = 
ca20: 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x01 }..enum : u
ca30: 69 6e 74 20 7b 20 54 42 53 54 41 54 45 5f 50 52  int { TBSTATE_PR
ca40: 45 53 53 45 44 20 3d 20 30 78 30 32 20 7d 0d 0a  ESSED = 0x02 }..
ca50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
ca60: 53 54 41 54 45 5f 45 4e 41 42 4c 45 44 20 3d 20  STATE_ENABLED = 
ca70: 30 78 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x04 }..enum : u
ca80: 69 6e 74 20 7b 20 54 42 53 54 41 54 45 5f 48 49  int { TBSTATE_HI
ca90: 44 44 45 4e 20 3d 20 30 78 30 38 20 7d 0d 0a 65  DDEN = 0x08 }..e
caa0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
cab0: 54 41 54 45 5f 49 4e 44 45 54 45 52 4d 49 4e 41  TATE_INDETERMINA
cac0: 54 45 20 3d 20 30 78 31 30 20 7d 0d 0a 65 6e 75  TE = 0x10 }..enu
cad0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 41  m : uint { TBSTA
cae0: 54 45 5f 57 52 41 50 20 3d 20 30 78 32 30 20 7d  TE_WRAP = 0x20 }
caf0: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
cb00: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
cb10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
cb20: 53 54 41 54 45 5f 45 4c 4c 49 50 53 45 53 20 3d  STATE_ELLIPSES =
cb30: 20 30 78 34 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64   0x40 }..// #end
cb40: 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  if..// #if (_WIN
cb50: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
cb60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
cb70: 54 42 53 54 41 54 45 5f 4d 41 52 4b 45 44 20 3d  TBSTATE_MARKED =
cb80: 20 30 78 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64   0x80 }..// #end
cb90: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
cba0: 74 20 7b 20 54 42 53 54 59 4c 45 5f 42 55 54 54  t { TBSTYLE_BUTT
cbb0: 4f 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  ON = 0x0000 }..e
cbc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
cbd0: 54 59 4c 45 5f 53 45 50 20 3d 20 30 78 30 30 30  TYLE_SEP = 0x000
cbe0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
cbf0: 20 7b 20 54 42 53 54 59 4c 45 5f 43 48 45 43 4b   { TBSTYLE_CHECK
cc00: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
cc10: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59  m : uint { TBSTY
cc20: 4c 45 5f 47 52 4f 55 50 20 3d 20 30 78 30 30 30  LE_GROUP = 0x000
cc30: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
cc40: 20 7b 20 54 42 53 54 59 4c 45 5f 43 48 45 43 4b   { TBSTYLE_CHECK
cc50: 47 52 4f 55 50 20 3d 20 54 42 53 54 59 4c 45 5f  GROUP = TBSTYLE_
cc60: 47 52 4f 55 50 20 7c 20 54 42 53 54 59 4c 45 5f  GROUP | TBSTYLE_
cc70: 43 48 45 43 4b 20 7d 0d 0a 2f 2f 20 23 69 66 20  CHECK }..// #if 
cc80: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
cc90: 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0300)..enum : ui
cca0: 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f 44 52 4f  nt { TBSTYLE_DRO
ccb0: 50 44 4f 57 4e 20 3d 20 30 78 30 30 30 38 20 7d  PDOWN = 0x0008 }
ccc0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
ccd0: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
cce0: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
ccf0: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45  : uint { TBSTYLE
cd00: 5f 41 55 54 4f 53 49 5a 45 20 3d 20 30 78 30 30  _AUTOSIZE = 0x00
cd10: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
cd20: 74 20 7b 20 54 42 53 54 59 4c 45 5f 4e 4f 50 52  t { TBSTYLE_NOPR
cd30: 45 46 49 58 20 3d 20 30 78 30 30 32 30 20 7d 0d  EFIX = 0x0020 }.
cd40: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
cd50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54  um : uint { TBST
cd60: 59 4c 45 5f 54 4f 4f 4c 54 49 50 53 20 3d 20 30  YLE_TOOLTIPS = 0
cd70: 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
cd80: 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f 57  uint { TBSTYLE_W
cd90: 52 41 50 41 42 4c 45 20 3d 20 30 78 30 32 30 30  RAPABLE = 0x0200
cda0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
cdb0: 7b 20 54 42 53 54 59 4c 45 5f 41 4c 54 44 52 41  { TBSTYLE_ALTDRA
cdc0: 47 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 2f 2f  G = 0x0400 }..//
cdd0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
cde0: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d  >= 0x0300)..enum
cdf0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c   : uint { TBSTYL
ce00: 45 5f 46 4c 41 54 20 3d 20 30 78 30 38 30 30 20  E_FLAT = 0x0800 
ce10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ce20: 20 54 42 53 54 59 4c 45 5f 4c 49 53 54 20 3d 20   TBSTYLE_LIST = 
ce30: 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1000 }..enum :
ce40: 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f   uint { TBSTYLE_
ce50: 43 55 53 54 4f 4d 45 52 41 53 45 20 3d 20 30 78  CUSTOMERASE = 0x
ce60: 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  2000 }..// #endi
ce70: 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  f..// #if (_WIN3
ce80: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
ce90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
cea0: 42 53 54 59 4c 45 5f 52 45 47 49 53 54 45 52 44  BSTYLE_REGISTERD
ceb0: 52 4f 50 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a  ROP = 0x4000 }..
cec0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
ced0: 53 54 59 4c 45 5f 54 52 41 4e 53 50 41 52 45 4e  STYLE_TRANSPAREN
cee0: 54 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 65 6e  T = 0x8000 }..en
cef0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54  um : uint { TBST
cf00: 59 4c 45 5f 45 58 5f 44 52 41 57 44 44 41 52 52  YLE_EX_DRAWDDARR
cf10: 4f 57 53 20 3d 20 30 78 30 30 30 30 30 30 30 31  OWS = 0x00000001
cf20: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
cf30: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
cf40: 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 61  IE >= 0x0500)..a
cf50: 6c 69 61 73 20 54 42 53 54 59 4c 45 5f 42 55 54  lias TBSTYLE_BUT
cf60: 54 4f 4e 20 42 54 4e 53 5f 42 55 54 54 4f 4e 3b  TON BTNS_BUTTON;
cf70: 0d 0a 61 6c 69 61 73 20 54 42 53 54 59 4c 45 5f  ..alias TBSTYLE_
cf80: 53 45 50 20 42 54 4e 53 5f 53 45 50 3b 0d 0a 61  SEP BTNS_SEP;..a
cf90: 6c 69 61 73 20 54 42 53 54 59 4c 45 5f 43 48 45  lias TBSTYLE_CHE
cfa0: 43 4b 20 42 54 4e 53 5f 43 48 45 43 4b 3b 0d 0a  CK BTNS_CHECK;..
cfb0: 61 6c 69 61 73 20 54 42 53 54 59 4c 45 5f 47 52  alias TBSTYLE_GR
cfc0: 4f 55 50 20 42 54 4e 53 5f 47 52 4f 55 50 3b 0d  OUP BTNS_GROUP;.
cfd0: 0a 61 6c 69 61 73 20 54 42 53 54 59 4c 45 5f 43  .alias TBSTYLE_C
cfe0: 48 45 43 4b 47 52 4f 55 50 20 42 54 4e 53 5f 43  HECKGROUP BTNS_C
cff0: 48 45 43 4b 47 52 4f 55 50 3b 0d 0a 61 6c 69 61  HECKGROUP;..alia
d000: 73 20 54 42 53 54 59 4c 45 5f 44 52 4f 50 44 4f  s TBSTYLE_DROPDO
d010: 57 4e 20 42 54 4e 53 5f 44 52 4f 50 44 4f 57 4e  WN BTNS_DROPDOWN
d020: 3b 0d 0a 61 6c 69 61 73 20 54 42 53 54 59 4c 45  ;..alias TBSTYLE
d030: 5f 41 55 54 4f 53 49 5a 45 20 42 54 4e 53 5f 41  _AUTOSIZE BTNS_A
d040: 55 54 4f 53 49 5a 45 3b 0d 0a 61 6c 69 61 73 20  UTOSIZE;..alias 
d050: 54 42 53 54 59 4c 45 5f 4e 4f 50 52 45 46 49 58  TBSTYLE_NOPREFIX
d060: 20 42 54 4e 53 5f 4e 4f 50 52 45 46 49 58 3b 0d   BTNS_NOPREFIX;.
d070: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
d080: 49 45 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65  IE >= 0x0501)..e
d090: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 54 4e  num : uint { BTN
d0a0: 53 5f 53 48 4f 57 54 45 58 54 20 3d 20 30 78 30  S_SHOWTEXT = 0x0
d0b0: 30 34 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  040 }..// #endif
d0c0: 20 20 2f 2f 20 30 78 30 35 30 31 0d 0a 65 6e 75    // 0x0501..enu
d0d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 42 54 4e 53 5f  m : uint { BTNS_
d0e0: 57 48 4f 4c 45 44 52 4f 50 44 4f 57 4e 20 3d 20  WHOLEDROPDOWN = 
d0f0: 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0080 }..// #en
d100: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  dif....// #if (_
d110: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
d120: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  01)..enum : uint
d130: 20 7b 20 54 42 53 54 59 4c 45 5f 45 58 5f 4d 49   { TBSTYLE_EX_MI
d140: 58 45 44 42 55 54 54 4f 4e 53 20 3d 20 30 78 30  XEDBUTTONS = 0x0
d150: 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0000008 }..enum 
d160: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45  : uint { TBSTYLE
d170: 5f 45 58 5f 48 49 44 45 43 4c 49 50 50 45 44 42  _EX_HIDECLIPPEDB
d180: 55 54 54 4f 4e 53 20 3d 20 30 78 30 30 30 30 30  UTTONS = 0x00000
d190: 30 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  010 }..// #endif
d1a0: 20 20 2f 2f 20 30 78 30 35 30 31 0d 0a 0d 0a 2f    // 0x0501..../
d1b0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
d1c0: 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65  NNT >= 0x501)..e
d1d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
d1e0: 54 59 4c 45 5f 45 58 5f 44 4f 55 42 4c 45 42 55  TYLE_EX_DOUBLEBU
d1f0: 46 46 45 52 20 3d 20 30 78 30 30 30 30 30 30 38  FFER = 0x0000008
d200: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  0 }..// #endif..
d210: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
d220: 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
d230: 0d 0a 73 74 72 75 63 74 20 5f 4e 4d 54 42 43 55  ..struct _NMTBCU
d240: 53 54 4f 4d 44 52 41 57 20 7b 0d 0a 20 20 4e 4d  STOMDRAW {..  NM
d250: 43 55 53 54 4f 4d 44 52 41 57 20 6e 6d 63 64 3b  CUSTOMDRAW nmcd;
d260: 0d 0a 20 20 48 42 52 55 53 48 20 68 62 72 4d 6f  ..  HBRUSH hbrMo
d270: 6e 6f 44 69 74 68 65 72 3b 0d 0a 20 20 48 42 52  noDither;..  HBR
d280: 55 53 48 20 68 62 72 4c 69 6e 65 73 3b 0d 0a 20  USH hbrLines;.. 
d290: 20 48 50 45 4e 20 68 70 65 6e 4c 69 6e 65 73 3b   HPEN hpenLines;
d2a0: 0d 0a 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63  ....  COLORREF c
d2b0: 6c 72 54 65 78 74 3b 0d 0a 20 20 43 4f 4c 4f 52  lrText;..  COLOR
d2c0: 52 45 46 20 63 6c 72 4d 61 72 6b 3b 0d 0a 20 20  REF clrMark;..  
d2d0: 43 4f 4c 4f 52 52 45 46 20 63 6c 72 54 65 78 74  COLORREF clrText
d2e0: 48 69 67 68 6c 69 67 68 74 3b 0d 0a 20 20 43 4f  Highlight;..  CO
d2f0: 4c 4f 52 52 45 46 20 63 6c 72 42 74 6e 46 61 63  LORREF clrBtnFac
d300: 65 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63  e;..  COLORREF c
d310: 6c 72 42 74 6e 48 69 67 68 6c 69 67 68 74 3b 0d  lrBtnHighlight;.
d320: 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 48  .  COLORREF clrH
d330: 69 67 68 6c 69 67 68 74 48 6f 74 54 72 61 63 6b  ighlightHotTrack
d340: 3b 0d 0a 0d 0a 20 20 52 45 43 54 20 72 63 54 65  ;....  RECT rcTe
d350: 78 74 3b 0d 0a 0d 0a 20 20 69 6e 74 20 6e 53 74  xt;....  int nSt
d360: 72 69 6e 67 42 6b 4d 6f 64 65 3b 0d 0a 20 20 69  ringBkMode;..  i
d370: 6e 74 20 6e 48 4c 53 74 72 69 6e 67 42 6b 4d 6f  nt nHLStringBkMo
d380: 64 65 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  de;..// #if (_WI
d390: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
d3a0: 30 31 29 0d 0a 20 20 69 6e 74 20 69 4c 69 73 74  01)..  int iList
d3b0: 47 61 70 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  Gap;..// #endif.
d3c0: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4e 4d 54 42 43  .}..alias _NMTBC
d3d0: 55 53 54 4f 4d 44 52 41 57 20 4e 4d 54 42 43 55  USTOMDRAW NMTBCU
d3e0: 53 54 4f 4d 44 52 41 57 3b 0d 0a 61 6c 69 61 73  STOMDRAW;..alias
d3f0: 20 5f 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41 57   _NMTBCUSTOMDRAW
d400: 2a 20 4c 50 4e 4d 54 42 43 55 53 54 4f 4d 44 52  * LPNMTBCUSTOMDR
d410: 41 57 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  AW;....enum : ui
d420: 6e 74 20 7b 20 54 42 43 44 52 46 5f 4e 4f 45 44  nt { TBCDRF_NOED
d430: 47 45 53 20 3d 20 30 78 30 30 30 31 30 30 30 30  GES = 0x00010000
d440: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d450: 7b 20 54 42 43 44 52 46 5f 48 49 4c 49 54 45 48  { TBCDRF_HILITEH
d460: 4f 54 54 52 41 43 4b 20 3d 20 30 78 30 30 30 32  OTTRACK = 0x0002
d470: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
d480: 69 6e 74 20 7b 20 54 42 43 44 52 46 5f 4e 4f 4f  int { TBCDRF_NOO
d490: 46 46 53 45 54 20 3d 20 30 78 30 30 30 34 30 30  FFSET = 0x000400
d4a0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d4b0: 74 20 7b 20 54 42 43 44 52 46 5f 4e 4f 4d 41 52  t { TBCDRF_NOMAR
d4c0: 4b 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d  K = 0x00080000 }
d4d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d4e0: 54 42 43 44 52 46 5f 4e 4f 45 54 43 48 45 44 45  TBCDRF_NOETCHEDE
d4f0: 46 46 45 43 54 20 3d 20 30 78 30 30 31 30 30 30  FFECT = 0x001000
d500: 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
d510: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
d520: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
d530: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
d540: 42 43 44 52 46 5f 42 4c 45 4e 44 49 43 4f 4e 20  BCDRF_BLENDICON 
d550: 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a  = 0x00200000 }..
d560: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
d570: 43 44 52 46 5f 4e 4f 42 41 43 4b 47 52 4f 55 4e  CDRF_NOBACKGROUN
d580: 44 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d  D = 0x00400000 }
d590: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
d5a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
d5b0: 45 4e 41 42 4c 45 42 55 54 54 4f 4e 20 3d 20 57  ENABLEBUTTON = W
d5c0: 4d 5f 55 53 45 52 20 2b 20 31 20 7d 0d 0a 65 6e  M_USER + 1 }..en
d5d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 43  um : uint { TB_C
d5e0: 48 45 43 4b 42 55 54 54 4f 4e 20 3d 20 57 4d 5f  HECKBUTTON = WM_
d5f0: 55 53 45 52 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d  USER + 2 }..enum
d600: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 50 52 45   : uint { TB_PRE
d610: 53 53 42 55 54 54 4f 4e 20 3d 20 57 4d 5f 55 53  SSBUTTON = WM_US
d620: 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  ER + 3 }..enum :
d630: 20 75 69 6e 74 20 7b 20 54 42 5f 48 49 44 45 42   uint { TB_HIDEB
d640: 55 54 54 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 20  UTTON = WM_USER 
d650: 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 4 }..enum : ui
d660: 6e 74 20 7b 20 54 42 5f 49 4e 44 45 54 45 52 4d  nt { TB_INDETERM
d670: 49 4e 41 54 45 20 3d 20 57 4d 5f 55 53 45 52 20  INATE = WM_USER 
d680: 2b 20 35 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f  + 5 }..// #if (_
d690: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
d6a0: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
d6b0: 20 7b 20 54 42 5f 4d 41 52 4b 42 55 54 54 4f 4e   { TB_MARKBUTTON
d6c0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 20 7d   = WM_USER + 6 }
d6d0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75  ..// #endif..enu
d6e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 53  m : uint { TB_IS
d6f0: 42 55 54 54 4f 4e 45 4e 41 42 4c 45 44 20 3d 20  BUTTONENABLED = 
d700: 57 4d 5f 55 53 45 52 20 2b 20 39 20 7d 0d 0a 65  WM_USER + 9 }..e
d710: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
d720: 49 53 42 55 54 54 4f 4e 43 48 45 43 4b 45 44 20  ISBUTTONCHECKED 
d730: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 20 7d  = WM_USER + 10 }
d740: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d750: 54 42 5f 49 53 42 55 54 54 4f 4e 50 52 45 53 53  TB_ISBUTTONPRESS
d760: 45 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  ED = WM_USER + 1
d770: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
d780: 20 7b 20 54 42 5f 49 53 42 55 54 54 4f 4e 48 49   { TB_ISBUTTONHI
d790: 44 44 45 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b  DDEN = WM_USER +
d7a0: 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   12 }..enum : ui
d7b0: 6e 74 20 7b 20 54 42 5f 49 53 42 55 54 54 4f 4e  nt { TB_ISBUTTON
d7c0: 49 4e 44 45 54 45 52 4d 49 4e 41 54 45 20 3d 20  INDETERMINATE = 
d7d0: 57 4d 5f 55 53 45 52 20 2b 20 31 33 20 7d 0d 0a  WM_USER + 13 }..
d7e0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
d7f0: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  E >= 0x0400)..en
d800: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49  um : uint { TB_I
d810: 53 42 55 54 54 4f 4e 48 49 47 48 4c 49 47 48 54  SBUTTONHIGHLIGHT
d820: 45 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  ED = WM_USER + 1
d830: 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  4 }..// #endif..
d840: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
d850: 5f 53 45 54 53 54 41 54 45 20 3d 20 57 4d 5f 55  _SETSTATE = WM_U
d860: 53 45 52 20 2b 20 31 37 20 7d 0d 0a 65 6e 75 6d  SER + 17 }..enum
d870: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54   : uint { TB_GET
d880: 53 54 41 54 45 20 3d 20 57 4d 5f 55 53 45 52 20  STATE = WM_USER 
d890: 2b 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 18 }..enum : u
d8a0: 69 6e 74 20 7b 20 54 42 5f 41 44 44 42 49 54 4d  int { TB_ADDBITM
d8b0: 41 50 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  AP = WM_USER + 1
d8c0: 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  9 }....// #ifdef
d8d0: 20 5f 57 49 4e 33 32 0d 0a 73 74 72 75 63 74 20   _WIN32..struct 
d8e0: 74 61 67 54 42 41 44 44 42 49 54 4d 41 50 20 7b  tagTBADDBITMAP {
d8f0: 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49  ..  HINSTANCE hI
d900: 6e 73 74 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 52  nst;..  UINT_PTR
d910: 20 6e 49 44 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20   nID;..}..alias 
d920: 74 61 67 54 42 41 44 44 42 49 54 4d 41 50 20 54  tagTBADDBITMAP T
d930: 42 41 44 44 42 49 54 4d 41 50 3b 0d 0a 61 6c 69  BADDBITMAP;..ali
d940: 61 73 20 74 61 67 54 42 41 44 44 42 49 54 4d 41  as tagTBADDBITMA
d950: 50 2a 20 4c 50 54 42 41 44 44 42 49 54 4d 41 50  P* LPTBADDBITMAP
d960: 3b 0d 0a 0d 0a 48 49 4e 53 54 41 4e 43 45 20 48  ;....HINSTANCE H
d970: 49 4e 53 54 5f 43 4f 4d 4d 43 54 52 4c 20 3d 20  INST_COMMCTRL = 
d980: 63 61 73 74 28 48 49 4e 53 54 41 4e 43 45 29 28  cast(HINSTANCE)(
d990: 2d 31 29 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -1);..enum : uin
d9a0: 74 20 7b 20 49 44 42 5f 53 54 44 5f 53 4d 41 4c  t { IDB_STD_SMAL
d9b0: 4c 5f 43 4f 4c 4f 52 20 3d 20 30 20 7d 0d 0a 65  L_COLOR = 0 }..e
d9c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 42  num : uint { IDB
d9d0: 5f 53 54 44 5f 4c 41 52 47 45 5f 43 4f 4c 4f 52  _STD_LARGE_COLOR
d9e0: 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
d9f0: 69 6e 74 20 7b 20 49 44 42 5f 56 49 45 57 5f 53  int { IDB_VIEW_S
da00: 4d 41 4c 4c 5f 43 4f 4c 4f 52 20 3d 20 34 20 7d  MALL_COLOR = 4 }
da10: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
da20: 49 44 42 5f 56 49 45 57 5f 4c 41 52 47 45 5f 43  IDB_VIEW_LARGE_C
da30: 4f 4c 4f 52 20 3d 20 35 20 7d 0d 0a 2f 2f 20 23  OLOR = 5 }..// #
da40: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
da50: 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0300)..enum :
da60: 20 75 69 6e 74 20 7b 20 49 44 42 5f 48 49 53 54   uint { IDB_HIST
da70: 5f 53 4d 41 4c 4c 5f 43 4f 4c 4f 52 20 3d 20 38  _SMALL_COLOR = 8
da80: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
da90: 7b 20 49 44 42 5f 48 49 53 54 5f 4c 41 52 47 45  { IDB_HIST_LARGE
daa0: 5f 43 4f 4c 4f 52 20 3d 20 39 20 7d 0d 0a 2f 2f  _COLOR = 9 }..//
dab0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
dac0: 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 43 55 54  : uint { STD_CUT
dad0: 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
dae0: 69 6e 74 20 7b 20 53 54 44 5f 43 4f 50 59 20 3d  int { STD_COPY =
daf0: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
db00: 74 20 7b 20 53 54 44 5f 50 41 53 54 45 20 3d 20  t { STD_PASTE = 
db10: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
db20: 20 7b 20 53 54 44 5f 55 4e 44 4f 20 3d 20 33 20   { STD_UNDO = 3 
db30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
db40: 20 53 54 44 5f 52 45 44 4f 57 20 3d 20 34 20 7d   STD_REDOW = 4 }
db50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
db60: 53 54 44 5f 44 45 4c 45 54 45 20 3d 20 35 20 7d  STD_DELETE = 5 }
db70: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
db80: 53 54 44 5f 46 49 4c 45 4e 45 57 20 3d 20 36 20  STD_FILENEW = 6 
db90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
dba0: 20 53 54 44 5f 46 49 4c 45 4f 50 45 4e 20 3d 20   STD_FILEOPEN = 
dbb0: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
dbc0: 20 7b 20 53 54 44 5f 46 49 4c 45 53 41 56 45 20   { STD_FILESAVE 
dbd0: 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 8 }..enum : ui
dbe0: 6e 74 20 7b 20 53 54 44 5f 50 52 49 4e 54 50 52  nt { STD_PRINTPR
dbf0: 45 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 9 }..enum : 
dc00: 75 69 6e 74 20 7b 20 53 54 44 5f 50 52 4f 50 45  uint { STD_PROPE
dc10: 52 54 49 45 53 20 3d 20 31 30 20 7d 0d 0a 65 6e  RTIES = 10 }..en
dc20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f  um : uint { STD_
dc30: 48 45 4c 50 20 3d 20 31 31 20 7d 0d 0a 65 6e 75  HELP = 11 }..enu
dc40: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 46  m : uint { STD_F
dc50: 49 4e 44 20 3d 20 31 32 20 7d 0d 0a 65 6e 75 6d  IND = 12 }..enum
dc60: 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 52 45   : uint { STD_RE
dc70: 50 4c 41 43 45 20 3d 20 31 33 20 7d 0d 0a 65 6e  PLACE = 13 }..en
dc80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f  um : uint { STD_
dc90: 50 52 49 4e 54 20 3d 20 31 34 20 7d 0d 0a 0d 0a  PRINT = 14 }....
dca0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49  enum : uint { VI
dcb0: 45 57 5f 4c 41 52 47 45 49 43 4f 4e 53 20 3d 20  EW_LARGEICONS = 
dcc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
dcd0: 20 7b 20 56 49 45 57 5f 53 4d 41 4c 4c 49 43 4f   { VIEW_SMALLICO
dce0: 4e 53 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  NS = 1 }..enum :
dcf0: 20 75 69 6e 74 20 7b 20 56 49 45 57 5f 4c 49 53   uint { VIEW_LIS
dd00: 54 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 2 }..enum : 
dd10: 75 69 6e 74 20 7b 20 56 49 45 57 5f 44 45 54 41  uint { VIEW_DETA
dd20: 49 4c 53 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20  ILS = 3 }..enum 
dd30: 3a 20 75 69 6e 74 20 7b 20 56 49 45 57 5f 53 4f  : uint { VIEW_SO
dd40: 52 54 4e 41 4d 45 20 3d 20 34 20 7d 0d 0a 65 6e  RTNAME = 4 }..en
dd50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 45 57  um : uint { VIEW
dd60: 5f 53 4f 52 54 53 49 5a 45 20 3d 20 35 20 7d 0d  _SORTSIZE = 5 }.
dd70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
dd80: 49 45 57 5f 53 4f 52 54 44 41 54 45 20 3d 20 36  IEW_SORTDATE = 6
dd90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
dda0: 7b 20 56 49 45 57 5f 53 4f 52 54 54 59 50 45 20  { VIEW_SORTTYPE 
ddb0: 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 7 }..enum : ui
ddc0: 6e 74 20 7b 20 56 49 45 57 5f 50 41 52 45 4e 54  nt { VIEW_PARENT
ddd0: 46 4f 4c 44 45 52 20 3d 20 38 20 7d 0d 0a 65 6e  FOLDER = 8 }..en
dde0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 45 57  um : uint { VIEW
ddf0: 5f 4e 45 54 43 4f 4e 4e 45 43 54 20 3d 20 39 20  _NETCONNECT = 9 
de00: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
de10: 20 56 49 45 57 5f 4e 45 54 44 49 53 43 4f 4e 4e   VIEW_NETDISCONN
de20: 45 43 54 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d  ECT = 10 }..enum
de30: 20 3a 20 75 69 6e 74 20 7b 20 56 49 45 57 5f 4e   : uint { VIEW_N
de40: 45 57 46 4f 4c 44 45 52 20 3d 20 31 31 20 7d 0d  EWFOLDER = 11 }.
de50: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
de60: 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  IE >= 0x0400)..e
de70: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 45  num : uint { VIE
de80: 57 5f 56 49 45 57 4d 45 4e 55 20 3d 20 31 32 20  W_VIEWMENU = 12 
de90: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
dea0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
deb0: 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e  E >= 0x0300)..en
dec0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 53 54  um : uint { HIST
ded0: 5f 42 41 43 4b 20 3d 20 30 20 7d 0d 0a 65 6e 75  _BACK = 0 }..enu
dee0: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 53 54 5f  m : uint { HIST_
def0: 46 4f 52 57 41 52 44 20 3d 20 31 20 7d 0d 0a 65  FORWARD = 1 }..e
df00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 53  num : uint { HIS
df10: 54 5f 46 41 56 4f 52 49 54 45 53 20 3d 20 32 20  T_FAVORITES = 2 
df20: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
df30: 20 48 49 53 54 5f 41 44 44 54 4f 46 41 56 4f 52   HIST_ADDTOFAVOR
df40: 49 54 45 53 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  ITES = 3 }..enum
df50: 20 3a 20 75 69 6e 74 20 7b 20 48 49 53 54 5f 56   : uint { HIST_V
df60: 49 45 57 54 52 45 45 20 3d 20 34 20 7d 0d 0a 2f  IEWTREE = 4 }../
df70: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
df80: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
df90: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
dfa0: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
dfb0: 6e 74 20 7b 20 54 42 5f 41 44 44 42 55 54 54 4f  nt { TB_ADDBUTTO
dfc0: 4e 53 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  NSA = WM_USER + 
dfd0: 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
dfe0: 74 20 7b 20 54 42 5f 49 4e 53 45 52 54 42 55 54  t { TB_INSERTBUT
dff0: 54 4f 4e 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b  TONA = WM_USER +
e000: 20 32 31 20 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d   21 }..// #else.
e010: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
e020: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
e030: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
e040: 5f 44 45 4c 45 54 45 42 55 54 54 4f 4e 20 3d 20  _DELETEBUTTON = 
e050: 57 4d 5f 55 53 45 52 20 2b 20 32 32 20 7d 0d 0a  WM_USER + 22 }..
e060: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
e070: 5f 47 45 54 42 55 54 54 4f 4e 20 3d 20 57 4d 5f  _GETBUTTON = WM_
e080: 55 53 45 52 20 2b 20 32 33 20 7d 0d 0a 65 6e 75  USER + 23 }..enu
e090: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 42 55  m : uint { TB_BU
e0a0: 54 54 4f 4e 43 4f 55 4e 54 20 3d 20 57 4d 5f 55  TTONCOUNT = WM_U
e0b0: 53 45 52 20 2b 20 32 34 20 7d 0d 0a 65 6e 75 6d  SER + 24 }..enum
e0c0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 43 4f 4d   : uint { TB_COM
e0d0: 4d 41 4e 44 54 4f 49 4e 44 45 58 20 3d 20 57 4d  MANDTOINDEX = WM
e0e0: 5f 55 53 45 52 20 2b 20 32 35 20 7d 0d 0a 0d 0a  _USER + 25 }....
e0f0: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
e100: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54 42  ....struct tagTB
e110: 53 41 56 45 50 41 52 41 4d 53 41 20 7b 0d 0a 20  SAVEPARAMSA {.. 
e120: 20 48 4b 45 59 20 68 6b 72 3b 0d 0a 20 20 4c 50   HKEY hkr;..  LP
e130: 43 53 54 52 20 70 73 7a 53 75 62 4b 65 79 3b 0d  CSTR pszSubKey;.
e140: 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 56 61 6c  .  LPCSTR pszVal
e150: 75 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  ueName;..}..alia
e160: 73 20 74 61 67 54 42 53 41 56 45 50 41 52 41 4d  s tagTBSAVEPARAM
e170: 53 41 20 54 42 53 41 56 45 50 41 52 41 4d 53 41  SA TBSAVEPARAMSA
e180: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 42 53 41  ;..alias tagTBSA
e190: 56 45 50 41 52 41 4d 53 41 2a 20 4c 50 54 42 53  VEPARAMSA* LPTBS
e1a0: 41 56 45 50 41 52 41 4d 53 41 3b 0d 0a 0d 0a 73  AVEPARAMSA;....s
e1b0: 74 72 75 63 74 20 74 61 67 54 42 53 41 56 45 50  truct tagTBSAVEP
e1c0: 41 52 41 4d 53 57 20 7b 0d 0a 20 20 48 4b 45 59  ARAMSW {..  HKEY
e1d0: 20 68 6b 72 3b 0d 0a 20 20 4c 50 43 57 53 54 52   hkr;..  LPCWSTR
e1e0: 20 70 73 7a 53 75 62 4b 65 79 3b 0d 0a 20 20 4c   pszSubKey;..  L
e1f0: 50 43 57 53 54 52 20 70 73 7a 56 61 6c 75 65 4e  PCWSTR pszValueN
e200: 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ame;..}..alias t
e210: 61 67 54 42 53 41 56 45 50 41 52 41 4d 53 57 20  agTBSAVEPARAMSW 
e220: 54 42 53 41 56 45 50 41 52 41 4d 53 57 3b 0d 0a  TBSAVEPARAMSW;..
e230: 61 6c 69 61 73 20 74 61 67 54 42 53 41 56 45 50  alias tagTBSAVEP
e240: 41 52 41 4d 53 57 2a 20 4c 50 54 42 53 41 56 45  ARAMSW* LPTBSAVE
e250: 50 41 52 41 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  PARAMW;....// #i
e260: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
e270: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
e280: 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
e290: 54 42 53 41 56 45 50 41 52 41 4d 53 41 20 54 42  TBSAVEPARAMSA TB
e2a0: 53 41 56 45 50 41 52 41 4d 53 3b 0d 0a 61 6c 69  SAVEPARAMS;..ali
e2b0: 61 73 20 4c 50 54 42 53 41 56 45 50 41 52 41 4d  as LPTBSAVEPARAM
e2c0: 53 41 20 4c 50 54 42 53 41 56 45 50 41 52 41 4d  SA LPTBSAVEPARAM
e2d0: 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  S;..// #endif...
e2e0: 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 5f  .// #endif  // _
e2f0: 57 49 4e 33 32 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  WIN32....enum : 
e300: 75 69 6e 74 20 7b 20 54 42 5f 53 41 56 45 52 45  uint { TB_SAVERE
e310: 53 54 4f 52 45 41 20 3d 20 57 4d 5f 55 53 45 52  STOREA = WM_USER
e320: 20 2b 20 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 26 }..enum : 
e330: 75 69 6e 74 20 7b 20 54 42 5f 53 41 56 45 52 45  uint { TB_SAVERE
e340: 53 54 4f 52 45 57 20 3d 20 57 4d 5f 55 53 45 52  STOREW = WM_USER
e350: 20 2b 20 37 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 76 }..enum : 
e360: 75 69 6e 74 20 7b 20 54 42 5f 43 55 53 54 4f 4d  uint { TB_CUSTOM
e370: 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  IZE = WM_USER + 
e380: 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  27 }..enum : uin
e390: 74 20 7b 20 54 42 5f 41 44 44 53 54 52 49 4e 47  t { TB_ADDSTRING
e3a0: 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 38  A = WM_USER + 28
e3b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e3c0: 7b 20 54 42 5f 41 44 44 53 54 52 49 4e 47 57 20  { TB_ADDSTRINGW 
e3d0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 37 20 7d  = WM_USER + 77 }
e3e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e3f0: 54 42 5f 47 45 54 49 54 45 4d 52 45 43 54 20 3d  TB_GETITEMRECT =
e400: 20 57 4d 5f 55 53 45 52 20 2b 20 32 39 20 7d 0d   WM_USER + 29 }.
e410: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e420: 42 5f 42 55 54 54 4f 4e 53 54 52 55 43 54 53 49  B_BUTTONSTRUCTSI
e430: 5a 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33  ZE = WM_USER + 3
e440: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
e450: 20 7b 20 54 42 5f 53 45 54 42 55 54 54 4f 4e 53   { TB_SETBUTTONS
e460: 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  IZE = WM_USER + 
e470: 33 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  31 }..enum : uin
e480: 74 20 7b 20 54 42 5f 53 45 54 42 49 54 4d 41 50  t { TB_SETBITMAP
e490: 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b  SIZE = WM_USER +
e4a0: 20 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   32 }..enum : ui
e4b0: 6e 74 20 7b 20 54 42 5f 41 55 54 4f 53 49 5a 45  nt { TB_AUTOSIZE
e4c0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 33 20   = WM_USER + 33 
e4d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e4e0: 20 54 42 5f 47 45 54 54 4f 4f 4c 54 49 50 53 20   TB_GETTOOLTIPS 
e4f0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 35 20 7d  = WM_USER + 35 }
e500: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e510: 54 42 5f 53 45 54 54 4f 4f 4c 54 49 50 53 20 3d  TB_SETTOOLTIPS =
e520: 20 57 4d 5f 55 53 45 52 20 2b 20 33 36 20 7d 0d   WM_USER + 36 }.
e530: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e540: 42 5f 53 45 54 50 41 52 45 4e 54 20 3d 20 57 4d  B_SETPARENT = WM
e550: 5f 55 53 45 52 20 2b 20 33 37 20 7d 0d 0a 65 6e  _USER + 37 }..en
e560: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53  um : uint { TB_S
e570: 45 54 52 4f 57 53 20 3d 20 57 4d 5f 55 53 45 52  ETROWS = WM_USER
e580: 20 2b 20 33 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 39 }..enum : 
e590: 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 52 4f 57  uint { TB_GETROW
e5a0: 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 30  S = WM_USER + 40
e5b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e5c0: 7b 20 54 42 5f 53 45 54 43 4d 44 49 44 20 3d 20  { TB_SETCMDID = 
e5d0: 57 4d 5f 55 53 45 52 20 2b 20 34 32 20 7d 0d 0a  WM_USER + 42 }..
e5e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
e5f0: 5f 43 48 41 4e 47 45 42 49 54 4d 41 50 20 3d 20  _CHANGEBITMAP = 
e600: 57 4d 5f 55 53 45 52 20 2b 20 34 33 20 7d 0d 0a  WM_USER + 43 }..
e610: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
e620: 5f 47 45 54 42 49 54 4d 41 50 20 3d 20 57 4d 5f  _GETBITMAP = WM_
e630: 55 53 45 52 20 2b 20 34 34 20 7d 0d 0a 65 6e 75  USER + 44 }..enu
e640: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45  m : uint { TB_GE
e650: 54 42 55 54 54 4f 4e 54 45 58 54 41 20 3d 20 57  TBUTTONTEXTA = W
e660: 4d 5f 55 53 45 52 20 2b 20 34 35 20 7d 0d 0a 65  M_USER + 45 }..e
e670: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
e680: 47 45 54 42 55 54 54 4f 4e 54 45 58 54 57 20 3d  GETBUTTONTEXTW =
e690: 20 57 4d 5f 55 53 45 52 20 2b 20 37 35 20 7d 0d   WM_USER + 75 }.
e6a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e6b0: 42 5f 52 45 50 4c 41 43 45 42 49 54 4d 41 50 20  B_REPLACEBITMAP 
e6c0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 36 20 7d  = WM_USER + 46 }
e6d0: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
e6e0: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
e6f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
e700: 5f 53 45 54 49 4e 44 45 4e 54 20 3d 20 57 4d 5f  _SETINDENT = WM_
e710: 55 53 45 52 20 2b 20 34 37 20 7d 0d 0a 65 6e 75  USER + 47 }..enu
e720: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45  m : uint { TB_SE
e730: 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f  TIMAGELIST = WM_
e740: 55 53 45 52 20 2b 20 34 38 20 7d 0d 0a 65 6e 75  USER + 48 }..enu
e750: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45  m : uint { TB_GE
e760: 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f  TIMAGELIST = WM_
e770: 55 53 45 52 20 2b 20 34 39 20 7d 0d 0a 65 6e 75  USER + 49 }..enu
e780: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4c 4f  m : uint { TB_LO
e790: 41 44 49 4d 41 47 45 53 20 3d 20 57 4d 5f 55 53  ADIMAGES = WM_US
e7a0: 45 52 20 2b 20 35 30 20 7d 0d 0a 65 6e 75 6d 20  ER + 50 }..enum 
e7b0: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 52  : uint { TB_GETR
e7c0: 45 43 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  ECT = WM_USER + 
e7d0: 35 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  51 }..enum : uin
e7e0: 74 20 7b 20 54 42 5f 53 45 54 48 4f 54 49 4d 41  t { TB_SETHOTIMA
e7f0: 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55 53 45 52  GELIST = WM_USER
e800: 20 2b 20 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 52 }..enum : 
e810: 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 48 4f 54  uint { TB_GETHOT
e820: 49 4d 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55  IMAGELIST = WM_U
e830: 53 45 52 20 2b 20 35 33 20 7d 0d 0a 65 6e 75 6d  SER + 53 }..enum
e840: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54   : uint { TB_SET
e850: 44 49 53 41 42 4c 45 44 49 4d 41 47 45 4c 49 53  DISABLEDIMAGELIS
e860: 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 34  T = WM_USER + 54
e870: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e880: 7b 20 54 42 5f 47 45 54 44 49 53 41 42 4c 45 44  { TB_GETDISABLED
e890: 49 4d 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55  IMAGELIST = WM_U
e8a0: 53 45 52 20 2b 20 35 35 20 7d 0d 0a 65 6e 75 6d  SER + 55 }..enum
e8b0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54   : uint { TB_SET
e8c0: 53 54 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20  STYLE = WM_USER 
e8d0: 2b 20 35 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 56 }..enum : u
e8e0: 69 6e 74 20 7b 20 54 42 5f 47 45 54 53 54 59 4c  int { TB_GETSTYL
e8f0: 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 37  E = WM_USER + 57
e900: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e910: 7b 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 53 49  { TB_GETBUTTONSI
e920: 5a 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35  ZE = WM_USER + 5
e930: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
e940: 20 7b 20 54 42 5f 53 45 54 42 55 54 54 4f 4e 57   { TB_SETBUTTONW
e950: 49 44 54 48 20 3d 20 57 4d 5f 55 53 45 52 20 2b  IDTH = WM_USER +
e960: 20 35 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   59 }..enum : ui
e970: 6e 74 20 7b 20 54 42 5f 53 45 54 4d 41 58 54 45  nt { TB_SETMAXTE
e980: 58 54 52 4f 57 53 20 3d 20 57 4d 5f 55 53 45 52  XTROWS = WM_USER
e990: 20 2b 20 36 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 60 }..enum : 
e9a0: 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 54 45 58  uint { TB_GETTEX
e9b0: 54 52 4f 57 53 20 3d 20 57 4d 5f 55 53 45 52 20  TROWS = WM_USER 
e9c0: 2b 20 36 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  + 61 }..// #endi
e9d0: 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32  f      // _WIN32
e9e0: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a 0d  _IE >= 0x0300...
e9f0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
ea00: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
ea10: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
ea20: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 54  / #else..alias T
ea30: 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58 54 41  B_GETBUTTONTEXTA
ea40: 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58   TB_GETBUTTONTEX
ea50: 54 3b 0d 0a 61 6c 69 61 73 20 54 42 5f 53 41 56  T;..alias TB_SAV
ea60: 45 52 45 53 54 4f 52 45 41 20 54 42 5f 53 41 56  ERESTOREA TB_SAV
ea70: 45 52 45 53 54 4f 52 45 3b 0d 0a 61 6c 69 61 73  ERESTORE;..alias
ea80: 20 54 42 5f 41 44 44 53 54 52 49 4e 47 41 20 54   TB_ADDSTRINGA T
ea90: 42 5f 41 44 44 53 54 52 49 4e 47 3b 0d 0a 2f 2f  B_ADDSTRING;..//
eaa0: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20   #endif..// #if 
eab0: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
eac0: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
ead0: 6e 74 20 7b 20 54 42 5f 47 45 54 4f 42 4a 45 43  nt { TB_GETOBJEC
eae0: 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 32  T = WM_USER + 62
eaf0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
eb00: 7b 20 54 42 5f 47 45 54 48 4f 54 49 54 45 4d 20  { TB_GETHOTITEM 
eb10: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 31 20 7d  = WM_USER + 71 }
eb20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
eb30: 54 42 5f 53 45 54 48 4f 54 49 54 45 4d 20 3d 20  TB_SETHOTITEM = 
eb40: 57 4d 5f 55 53 45 52 20 2b 20 37 32 20 7d 0d 0a  WM_USER + 72 }..
eb50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
eb60: 5f 53 45 54 41 4e 43 48 4f 52 48 49 47 48 4c 49  _SETANCHORHIGHLI
eb70: 47 48 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  GHT = WM_USER + 
eb80: 37 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  73 }..enum : uin
eb90: 74 20 7b 20 54 42 5f 47 45 54 41 4e 43 48 4f 52  t { TB_GETANCHOR
eba0: 48 49 47 48 4c 49 47 48 54 20 3d 20 57 4d 5f 55  HIGHLIGHT = WM_U
ebb0: 53 45 52 20 2b 20 37 34 20 7d 0d 0a 65 6e 75 6d  SER + 74 }..enum
ebc0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4d 41 50   : uint { TB_MAP
ebd0: 41 43 43 45 4c 45 52 41 54 4f 52 41 20 3d 20 57  ACCELERATORA = W
ebe0: 4d 5f 55 53 45 52 20 2b 20 37 38 20 7d 0d 0a 0d  M_USER + 78 }...
ebf0: 0a 73 74 72 75 63 74 20 5f 30 20 7b 0d 0a 20 20  .struct _0 {..  
ec00: 69 6e 74 20 69 42 75 74 74 6f 6e 3b 0d 0a 20 20  int iButton;..  
ec10: 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a  DWORD dwFlags;..
ec20: 7d 0d 0a 61 6c 69 61 73 20 5f 30 20 54 42 49 4e  }..alias _0 TBIN
ec30: 53 45 52 54 4d 41 52 4b 3b 0d 0a 61 6c 69 61 73  SERTMARK;..alias
ec40: 20 5f 30 2a 20 4c 50 54 42 49 4e 53 45 52 54 4d   _0* LPTBINSERTM
ec50: 41 52 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ARK;....enum : u
ec60: 69 6e 74 20 7b 20 54 42 49 4d 48 54 5f 41 46 54  int { TBIMHT_AFT
ec70: 45 52 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ER = 0x00000001 
ec80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ec90: 20 54 42 49 4d 48 54 5f 42 41 43 4b 47 52 4f 55   TBIMHT_BACKGROU
eca0: 4e 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  ND = 0x00000002 
ecb0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
ecc0: 20 7b 20 54 42 5f 47 45 54 49 4e 53 45 52 54 4d   { TB_GETINSERTM
ecd0: 41 52 4b 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  ARK = WM_USER + 
ece0: 37 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  79 }..enum : uin
ecf0: 74 20 7b 20 54 42 5f 53 45 54 49 4e 53 45 52 54  t { TB_SETINSERT
ed00: 4d 41 52 4b 20 3d 20 57 4d 5f 55 53 45 52 20 2b  MARK = WM_USER +
ed10: 20 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   80 }..enum : ui
ed20: 6e 74 20 7b 20 54 42 5f 49 4e 53 45 52 54 4d 41  nt { TB_INSERTMA
ed30: 52 4b 48 49 54 54 45 53 54 20 3d 20 57 4d 5f 55  RKHITTEST = WM_U
ed40: 53 45 52 20 2b 20 38 31 20 7d 0d 0a 65 6e 75 6d  SER + 81 }..enum
ed50: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4d 4f 56   : uint { TB_MOV
ed60: 45 42 55 54 54 4f 4e 20 3d 20 57 4d 5f 55 53 45  EBUTTON = WM_USE
ed70: 52 20 2b 20 38 32 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 82 }..enum :
ed80: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 4d 41   uint { TB_GETMA
ed90: 58 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 20  XSIZE = WM_USER 
eda0: 2b 20 38 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 83 }..enum : u
edb0: 69 6e 74 20 7b 20 54 42 5f 53 45 54 45 58 54 45  int { TB_SETEXTE
edc0: 4e 44 45 44 53 54 59 4c 45 20 3d 20 57 4d 5f 55  NDEDSTYLE = WM_U
edd0: 53 45 52 20 2b 20 38 34 20 7d 0d 0a 65 6e 75 6d  SER + 84 }..enum
ede0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54   : uint { TB_GET
edf0: 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 3d 20  EXTENDEDSTYLE = 
ee00: 57 4d 5f 55 53 45 52 20 2b 20 38 35 20 7d 0d 0a  WM_USER + 85 }..
ee10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
ee20: 5f 47 45 54 50 41 44 44 49 4e 47 20 3d 20 57 4d  _GETPADDING = WM
ee30: 5f 55 53 45 52 20 2b 20 38 36 20 7d 0d 0a 65 6e  _USER + 86 }..en
ee40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53  um : uint { TB_S
ee50: 45 54 50 41 44 44 49 4e 47 20 3d 20 57 4d 5f 55  ETPADDING = WM_U
ee60: 53 45 52 20 2b 20 38 37 20 7d 0d 0a 65 6e 75 6d  SER + 87 }..enum
ee70: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54   : uint { TB_SET
ee80: 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 20  INSERTMARKCOLOR 
ee90: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 38 20 7d  = WM_USER + 88 }
eea0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
eeb0: 54 42 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b  TB_GETINSERTMARK
eec0: 43 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20  COLOR = WM_USER 
eed0: 2b 20 38 39 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20  + 89 }....alias 
eee0: 43 43 4d 5f 53 45 54 43 4f 4c 4f 52 53 43 48 45  CCM_SETCOLORSCHE
eef0: 4d 45 20 54 42 5f 53 45 54 43 4f 4c 4f 52 53 43  ME TB_SETCOLORSC
ef00: 48 45 4d 45 3b 0d 0a 61 6c 69 61 73 20 43 43 4d  HEME;..alias CCM
ef10: 5f 47 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45 20  _GETCOLORSCHEME 
ef20: 54 42 5f 47 45 54 43 4f 4c 4f 52 53 43 48 45 4d  TB_GETCOLORSCHEM
ef30: 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f  E;....alias CCM_
ef40: 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54  SETUNICODEFORMAT
ef50: 20 54 42 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f   TB_SETUNICODEFO
ef60: 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 43 43 4d  RMAT;..alias CCM
ef70: 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _GETUNICODEFORMA
ef80: 54 20 54 42 5f 47 45 54 55 4e 49 43 4f 44 45 46  T TB_GETUNICODEF
ef90: 4f 52 4d 41 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  ORMAT;....enum :
efa0: 20 75 69 6e 74 20 7b 20 54 42 5f 4d 41 50 41 43   uint { TB_MAPAC
efb0: 43 45 4c 45 52 41 54 4f 52 57 20 3d 20 57 4d 5f  CELERATORW = WM_
efc0: 55 53 45 52 20 2b 20 39 30 20 7d 0d 0a 2f 2f 20  USER + 90 }..// 
efd0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
efe0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
eff0: 65 0d 0a 61 6c 69 61 73 20 54 42 5f 4d 41 50 41  e..alias TB_MAPA
f000: 43 43 45 4c 45 52 41 54 4f 52 41 20 54 42 5f 4d  CCELERATORA TB_M
f010: 41 50 41 43 43 45 4c 45 52 41 54 4f 52 3b 0d 0a  APACCELERATOR;..
f020: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
f030: 23 65 6e 64 69 66 20 20 2f 2f 20 5f 57 49 4e 33  #endif  // _WIN3
f040: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a  2_IE >= 0x0400..
f050: 0d 0a 73 74 72 75 63 74 20 5f 31 20 7b 0d 0a 20  ..struct _1 {.. 
f060: 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74   HINSTANCE hInst
f070: 4f 6c 64 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 52  Old;..  UINT_PTR
f080: 20 6e 49 44 4f 6c 64 3b 0d 0a 20 20 48 49 4e 53   nIDOld;..  HINS
f090: 54 41 4e 43 45 20 68 49 6e 73 74 4e 65 77 3b 0d  TANCE hInstNew;.
f0a0: 0a 20 20 55 49 4e 54 5f 50 54 52 20 6e 49 44 4e  .  UINT_PTR nIDN
f0b0: 65 77 3b 0d 0a 20 20 69 6e 74 20 6e 42 75 74 74  ew;..  int nButt
f0c0: 6f 6e 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ons;..}..alias _
f0d0: 31 20 54 42 52 45 50 4c 41 43 45 42 49 54 4d 41  1 TBREPLACEBITMA
f0e0: 50 3b 0d 0a 61 6c 69 61 73 20 5f 31 2a 20 4c 50  P;..alias _1* LP
f0f0: 54 42 52 45 50 4c 41 43 45 42 49 54 4d 41 50 3b  TBREPLACEBITMAP;
f100: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
f110: 49 4e 33 32 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  IN32....enum : u
f120: 69 6e 74 20 7b 20 54 42 42 46 5f 4c 41 52 47 45  int { TBBF_LARGE
f130: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65   = 0x0001 }....e
f140: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
f150: 47 45 54 42 49 54 4d 41 50 46 4c 41 47 53 20 3d  GETBITMAPFLAGS =
f160: 20 57 4d 5f 55 53 45 52 20 2b 20 34 31 20 7d 0d   WM_USER + 41 }.
f170: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
f180: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
f190: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
f1a0: 42 49 46 5f 49 4d 41 47 45 20 3d 20 30 78 30 30  BIF_IMAGE = 0x00
f1b0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
f1c0: 20 75 69 6e 74 20 7b 20 54 42 49 46 5f 54 45 58   uint { TBIF_TEX
f1d0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  T = 0x00000002 }
f1e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f1f0: 54 42 49 46 5f 53 54 41 54 45 20 3d 20 30 78 30  TBIF_STATE = 0x0
f200: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
f210: 3a 20 75 69 6e 74 20 7b 20 54 42 49 46 5f 53 54  : uint { TBIF_ST
f220: 59 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 38  YLE = 0x00000008
f230: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f240: 7b 20 54 42 49 46 5f 4c 50 41 52 41 4d 20 3d 20  { TBIF_LPARAM = 
f250: 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
f260: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 49 46  um : uint { TBIF
f270: 5f 43 4f 4d 4d 41 4e 44 20 3d 20 30 78 30 30 30  _COMMAND = 0x000
f280: 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
f290: 75 69 6e 74 20 7b 20 54 42 49 46 5f 53 49 5a 45  uint { TBIF_SIZE
f2a0: 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d   = 0x00000040 }.
f2b0: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
f2c0: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
f2d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
f2e0: 42 49 46 5f 42 59 49 4e 44 45 58 20 3d 20 30 78  BIF_BYINDEX = 0x
f2f0: 38 30 30 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23  80000000 }..// #
f300: 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
f310: 5f 32 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53  _2 {..  UINT cbS
f320: 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ize;..  DWORD dw
f330: 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 69 64 43  Mask;..  int idC
f340: 6f 6d 6d 61 6e 64 3b 0d 0a 20 20 69 6e 74 20 69  ommand;..  int i
f350: 49 6d 61 67 65 3b 0d 0a 20 20 42 59 54 45 20 66  Image;..  BYTE f
f360: 73 53 74 61 74 65 3b 0d 0a 20 20 42 59 54 45 20  sState;..  BYTE 
f370: 66 73 53 74 79 6c 65 3b 0d 0a 20 20 57 4f 52 44  fsStyle;..  WORD
f380: 20 63 78 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54   cx;..  DWORD_PT
f390: 52 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 4c 50 53  R lParam;..  LPS
f3a0: 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69  TR pszText;..  i
f3b0: 6e 74 20 63 63 68 54 65 78 74 3b 0d 0a 7d 0d 0a  nt cchText;..}..
f3c0: 61 6c 69 61 73 20 5f 32 20 54 42 42 55 54 54 4f  alias _2 TBBUTTO
f3d0: 4e 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 5f  NINFOA;..alias _
f3e0: 32 2a 20 4c 50 54 42 42 55 54 54 4f 4e 49 4e 46  2* LPTBBUTTONINF
f3f0: 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 33  OA;....struct _3
f400: 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a   {..  UINT cbSiz
f410: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61  e;..  DWORD dwMa
f420: 73 6b 3b 0d 0a 20 20 69 6e 74 20 69 64 43 6f 6d  sk;..  int idCom
f430: 6d 61 6e 64 3b 0d 0a 20 20 69 6e 74 20 69 49 6d  mand;..  int iIm
f440: 61 67 65 3b 0d 0a 20 20 42 59 54 45 20 66 73 53  age;..  BYTE fsS
f450: 74 61 74 65 3b 0d 0a 20 20 42 59 54 45 20 66 73  tate;..  BYTE fs
f460: 53 74 79 6c 65 3b 0d 0a 20 20 57 4f 52 44 20 63  Style;..  WORD c
f470: 78 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20  x;..  DWORD_PTR 
f480: 6c 50 61 72 61 6d 3b 0d 0a 20 20 4c 50 57 53 54  lParam;..  LPWST
f490: 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e  R pszText;..  in
f4a0: 74 20 63 63 68 54 65 78 74 3b 0d 0a 7d 0d 0a 61  t cchText;..}..a
f4b0: 6c 69 61 73 20 5f 33 20 54 42 42 55 54 54 4f 4e  lias _3 TBBUTTON
f4c0: 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 5f 33  INFOW;..alias _3
f4d0: 2a 20 4c 50 54 42 42 55 54 54 4f 4e 49 4e 46 4f  * LPTBBUTTONINFO
f4e0: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
f4f0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
f500: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
f510: 6c 73 65 0d 0a 61 6c 69 61 73 20 54 42 42 55 54  lse..alias TBBUT
f520: 54 4f 4e 49 4e 46 4f 41 20 54 42 42 55 54 54 4f  TONINFOA TBBUTTO
f530: 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4c 50  NINFO;..alias LP
f540: 54 42 42 55 54 54 4f 4e 49 4e 46 4f 41 20 4c 50  TBBUTTONINFOA LP
f550: 54 42 42 55 54 54 4f 4e 49 4e 46 4f 3b 0d 0a 2f  TBBUTTONINFO;../
f560: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
f570: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54   : uint { TB_GET
f580: 42 55 54 54 4f 4e 49 4e 46 4f 57 20 3d 20 57 4d  BUTTONINFOW = WM
f590: 5f 55 53 45 52 20 2b 20 36 33 20 7d 0d 0a 65 6e  _USER + 63 }..en
f5a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53  um : uint { TB_S
f5b0: 45 54 42 55 54 54 4f 4e 49 4e 46 4f 57 20 3d 20  ETBUTTONINFOW = 
f5c0: 57 4d 5f 55 53 45 52 20 2b 20 36 34 20 7d 0d 0a  WM_USER + 64 }..
f5d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
f5e0: 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f 41 20  _GETBUTTONINFOA 
f5f0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 35 20 7d  = WM_USER + 65 }
f600: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f610: 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e 46 4f  TB_SETBUTTONINFO
f620: 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 36  A = WM_USER + 66
f630: 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e   }..// #ifdef UN
f640: 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
f650: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
f660: 65 0d 0a 61 6c 69 61 73 20 54 42 5f 47 45 54 42  e..alias TB_GETB
f670: 55 54 54 4f 4e 49 4e 46 4f 41 20 54 42 5f 47 45  UTTONINFOA TB_GE
f680: 54 42 55 54 54 4f 4e 49 4e 46 4f 3b 0d 0a 61 6c  TBUTTONINFO;..al
f690: 69 61 73 20 54 42 5f 53 45 54 42 55 54 54 4f 4e  ias TB_SETBUTTON
f6a0: 49 4e 46 4f 41 20 54 42 5f 53 45 54 42 55 54 54  INFOA TB_SETBUTT
f6b0: 4f 4e 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64  ONINFO;..// #end
f6c0: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
f6d0: 74 20 7b 20 54 42 5f 49 4e 53 45 52 54 42 55 54  t { TB_INSERTBUT
f6e0: 54 4f 4e 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b  TONW = WM_USER +
f6f0: 20 36 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   67 }..enum : ui
f700: 6e 74 20 7b 20 54 42 5f 41 44 44 42 55 54 54 4f  nt { TB_ADDBUTTO
f710: 4e 53 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  NSW = WM_USER + 
f720: 36 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  68 }....enum : u
f730: 69 6e 74 20 7b 20 54 42 5f 48 49 54 54 45 53 54  int { TB_HITTEST
f740: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 39 20   = WM_USER + 69 
f750: 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  }....// #ifdef U
f760: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
f770: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
f780: 73 65 0d 0a 61 6c 69 61 73 20 54 42 5f 49 4e 53  se..alias TB_INS
f790: 45 52 54 42 55 54 54 4f 4e 41 20 54 42 5f 49 4e  ERTBUTTONA TB_IN
f7a0: 53 45 52 54 42 55 54 54 4f 4e 3b 0d 0a 61 6c 69  SERTBUTTON;..ali
f7b0: 61 73 20 54 42 5f 41 44 44 42 55 54 54 4f 4e 53  as TB_ADDBUTTONS
f7c0: 41 20 54 42 5f 41 44 44 42 55 54 54 4f 4e 53 3b  A TB_ADDBUTTONS;
f7d0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
f7e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
f7f0: 53 45 54 44 52 41 57 54 45 58 54 46 4c 41 47 53  SETDRAWTEXTFLAGS
f800: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 30 20   = WM_USER + 70 
f810: 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  }....// #endif  
f820: 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  // _WIN32_IE >= 
f830: 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66  0x0400....// #if
f840: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
f850: 78 30 35 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  x0500)....enum :
f860: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 53 54   uint { TB_GETST
f870: 52 49 4e 47 57 20 3d 20 57 4d 5f 55 53 45 52 20  RINGW = WM_USER 
f880: 2b 20 39 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 91 }..enum : u
f890: 69 6e 74 20 7b 20 54 42 5f 47 45 54 53 54 52 49  int { TB_GETSTRI
f8a0: 4e 47 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  NGA = WM_USER + 
f8b0: 39 32 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20  92 }..// #ifdef 
f8c0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
f8d0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
f8e0: 73 20 54 42 5f 47 45 54 53 54 52 49 4e 47 41 20  s TB_GETSTRINGA 
f8f0: 54 42 5f 47 45 54 53 54 52 49 4e 47 3b 0d 0a 2f  TB_GETSTRING;../
f900: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
f910: 65 6e 64 69 66 20 20 2f 2f 20 5f 57 49 4e 33 32  endif  // _WIN32
f920: 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 0d 0a 0d  _IE >= 0x0500...
f930: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
f940: 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d  WINNT >= 0x501).
f950: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
f960: 42 4d 46 5f 50 41 44 20 3d 20 30 78 30 30 30 30  BMF_PAD = 0x0000
f970: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
f980: 69 6e 74 20 7b 20 54 42 4d 46 5f 42 41 52 50 41  int { TBMF_BARPA
f990: 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  D = 0x00000002 }
f9a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f9b0: 54 42 4d 46 5f 42 55 54 54 4f 4e 53 50 41 43 49  TBMF_BUTTONSPACI
f9c0: 4e 47 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  NG = 0x00000004 
f9d0: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 34 20 7b  }....struct _4 {
f9e0: 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b  ..  UINT cbSize;
f9f0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61 73 6b  ..  DWORD dwMask
fa00: 3b 0d 0a 20 20 69 6e 74 20 63 78 50 61 64 3b 0d  ;..  int cxPad;.
fa10: 0a 20 20 69 6e 74 20 63 79 50 61 64 3b 0d 0a 20  .  int cyPad;.. 
fa20: 20 69 6e 74 20 63 78 42 61 72 50 61 64 3b 0d 0a   int cxBarPad;..
fa30: 20 20 69 6e 74 20 63 79 42 61 72 50 61 64 3b 0d    int cyBarPad;.
fa40: 0a 20 20 69 6e 74 20 63 78 42 75 74 74 6f 6e 53  .  int cxButtonS
fa50: 70 61 63 69 6e 67 3b 0d 0a 20 20 69 6e 74 20 63  pacing;..  int c
fa60: 79 42 75 74 74 6f 6e 53 70 61 63 69 6e 67 3b 0d  yButtonSpacing;.
fa70: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 34 20 54 42 4d  .}..alias _4 TBM
fa80: 45 54 52 49 43 53 3b 0d 0a 61 6c 69 61 73 20 5f  ETRICS;..alias _
fa90: 34 2a 20 4c 50 54 42 4d 45 54 52 49 43 53 3b 0d  4* LPTBMETRICS;.
faa0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
fab0: 20 54 42 5f 47 45 54 4d 45 54 52 49 43 53 20 3d   TB_GETMETRICS =
fac0: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 31 20 7d   WM_USER + 101 }
fad0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
fae0: 54 42 5f 53 45 54 4d 45 54 52 49 43 53 20 3d 20  TB_SETMETRICS = 
faf0: 57 4d 5f 55 53 45 52 20 2b 20 31 30 32 20 7d 0d  WM_USER + 102 }.
fb00: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
fb10: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e   #if (_WIN32_WIN
fb20: 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 61 6c  NT >= 0x501)..al
fb30: 69 61 73 20 43 43 4d 5f 53 45 54 57 49 4e 44 4f  ias CCM_SETWINDO
fb40: 57 54 48 45 4d 45 20 54 42 5f 53 45 54 57 49 4e  WTHEME TB_SETWIN
fb50: 44 4f 57 54 48 45 4d 45 3b 0d 0a 2f 2f 20 23 65  DOWTHEME;..// #e
fb60: 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
fb70: 69 6e 74 20 7b 20 54 42 4e 5f 47 45 54 42 55 54  int { TBN_GETBUT
fb80: 54 4f 4e 49 4e 46 4f 41 20 3d 20 54 42 4e 5f 46  TONINFOA = TBN_F
fb90: 49 52 53 54 2d 30 20 7d 0d 0a 65 6e 75 6d 20 3a  IRST-0 }..enum :
fba0: 20 75 69 6e 74 20 7b 20 54 42 4e 5f 42 45 47 49   uint { TBN_BEGI
fbb0: 4e 44 52 41 47 20 3d 20 54 42 4e 5f 46 49 52 53  NDRAG = TBN_FIRS
fbc0: 54 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-1 }..enum : ui
fbd0: 6e 74 20 7b 20 54 42 4e 5f 45 4e 44 44 52 41 47  nt { TBN_ENDDRAG
fbe0: 20 3d 20 54 42 4e 5f 46 49 52 53 54 2d 32 20 7d   = TBN_FIRST-2 }
fbf0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
fc00: 54 42 4e 5f 42 45 47 49 4e 41 44 4a 55 53 54 20  TBN_BEGINADJUST 
fc10: 3d 20 54 42 4e 5f 46 49 52 53 54 2d 33 20 7d 0d  = TBN_FIRST-3 }.
fc20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
fc30: 42 4e 5f 45 4e 44 41 44 4a 55 53 54 20 3d 20 54  BN_ENDADJUST = T
fc40: 42 4e 5f 46 49 52 53 54 2d 34 20 7d 0d 0a 65 6e  BN_FIRST-4 }..en
fc50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f  um : uint { TBN_
fc60: 52 45 53 45 54 20 3d 20 54 42 4e 5f 46 49 52 53  RESET = TBN_FIRS
fc70: 54 2d 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-5 }..enum : ui
fc80: 6e 74 20 7b 20 54 42 4e 5f 51 55 45 52 59 49 4e  nt { TBN_QUERYIN
fc90: 53 45 52 54 20 3d 20 54 42 4e 5f 46 49 52 53 54  SERT = TBN_FIRST
fca0: 2d 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -6 }..enum : uin
fcb0: 74 20 7b 20 54 42 4e 5f 51 55 45 52 59 44 45 4c  t { TBN_QUERYDEL
fcc0: 45 54 45 20 3d 20 54 42 4e 5f 46 49 52 53 54 2d  ETE = TBN_FIRST-
fcd0: 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
fce0: 20 7b 20 54 42 4e 5f 54 4f 4f 4c 42 41 52 43 48   { TBN_TOOLBARCH
fcf0: 41 4e 47 45 20 3d 20 54 42 4e 5f 46 49 52 53 54  ANGE = TBN_FIRST
fd00: 2d 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -8 }..enum : uin
fd10: 74 20 7b 20 54 42 4e 5f 43 55 53 54 48 45 4c 50  t { TBN_CUSTHELP
fd20: 20 3d 20 54 42 4e 5f 46 49 52 53 54 2d 39 20 7d   = TBN_FIRST-9 }
fd30: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
fd40: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
fd50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
fd60: 4e 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 54 42 4e  N_DROPDOWN = TBN
fd70: 5f 46 49 52 53 54 20 2d 20 31 30 20 7d 0d 0a 2f  _FIRST - 10 }../
fd80: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66  / #endif..// #if
fd90: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
fda0: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
fdb0: 69 6e 74 20 7b 20 54 42 4e 5f 47 45 54 4f 42 4a  int { TBN_GETOBJ
fdc0: 45 43 54 20 3d 20 54 42 4e 5f 46 49 52 53 54 20  ECT = TBN_FIRST 
fdd0: 2d 20 31 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74  - 12 }....struct
fde0: 20 74 61 67 4e 4d 54 42 48 4f 54 49 54 45 4d 20   tagNMTBHOTITEM 
fdf0: 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d  {..  NMHDR hdr;.
fe00: 0a 20 20 69 6e 74 20 69 64 4f 6c 64 3b 0d 0a 20  .  int idOld;.. 
fe10: 20 69 6e 74 20 69 64 4e 65 77 3b 0d 0a 20 20 44   int idNew;..  D
fe20: 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 7d  WORD dwFlags;..}
fe30: 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 48  ..alias tagNMTBH
fe40: 4f 54 49 54 45 4d 20 4e 4d 54 42 48 4f 54 49 54  OTITEM NMTBHOTIT
fe50: 45 4d 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  EM;..alias tagNM
fe60: 54 42 48 4f 54 49 54 45 4d 2a 20 4c 50 4e 4d 54  TBHOTITEM* LPNMT
fe70: 42 48 4f 54 49 54 45 4d 3b 0d 0a 0d 0a 65 6e 75  BHOTITEM;....enu
fe80: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 43 46 5f  m : uint { HICF_
fe90: 4f 54 48 45 52 20 3d 20 30 78 30 30 30 30 30 30  OTHER = 0x000000
fea0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
feb0: 74 20 7b 20 48 49 43 46 5f 4d 4f 55 53 45 20 3d  t { HICF_MOUSE =
fec0: 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
fed0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 43  num : uint { HIC
fee0: 46 5f 41 52 52 4f 57 4b 45 59 53 20 3d 20 30 78  F_ARROWKEYS = 0x
fef0: 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
ff00: 20 3a 20 75 69 6e 74 20 7b 20 48 49 43 46 5f 41   : uint { HICF_A
ff10: 43 43 45 4c 45 52 41 54 4f 52 20 3d 20 30 78 30  CCELERATOR = 0x0
ff20: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0000004 }..enum 
ff30: 3a 20 75 69 6e 74 20 7b 20 48 49 43 46 5f 44 55  : uint { HICF_DU
ff40: 50 41 43 43 45 4c 20 3d 20 30 78 30 30 30 30 30  PACCEL = 0x00000
ff50: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
ff60: 6e 74 20 7b 20 48 49 43 46 5f 45 4e 54 45 52 49  nt { HICF_ENTERI
ff70: 4e 47 20 3d 20 30 78 30 30 30 30 30 30 31 30 20  NG = 0x00000010 
ff80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ff90: 20 48 49 43 46 5f 4c 45 41 56 49 4e 47 20 3d 20   HICF_LEAVING = 
ffa0: 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e  0x00000020 }..en
ffb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 43 46  um : uint { HICF
ffc0: 5f 52 45 53 45 4c 45 43 54 20 3d 20 30 78 30 30  _RESELECT = 0x00
ffd0: 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000040 }..enum :
ffe0: 20 75 69 6e 74 20 7b 20 48 49 43 46 5f 4c 4d 4f   uint { HICF_LMO
fff0: 55 53 45 20 3d 20 30 78 30 30 30 30 30 30 38 30  USE = 0x00000080
10000 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10010 7b 20 48 49 43 46 5f 54 4f 47 47 4c 45 44 52 4f  { HICF_TOGGLEDRO
10020 50 44 4f 57 4e 20 3d 20 30 78 30 30 30 30 30 31  PDOWN = 0x000001
10030 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
10040 69 6e 74 20 7b 20 54 42 4e 5f 48 4f 54 49 54 45  int { TBN_HOTITE
10050 4d 43 48 41 4e 47 45 20 3d 20 54 42 4e 5f 46 49  MCHANGE = TBN_FI
10060 52 53 54 20 2d 20 31 33 20 7d 0d 0a 65 6e 75 6d  RST - 13 }..enum
10070 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 44 52   : uint { TBN_DR
10080 41 47 4f 55 54 20 3d 20 54 42 4e 5f 46 49 52 53  AGOUT = TBN_FIRS
10090 54 20 2d 20 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a  T - 14 }..enum :
100a0 20 75 69 6e 74 20 7b 20 54 42 4e 5f 44 45 4c 45   uint { TBN_DELE
100b0 54 49 4e 47 42 55 54 54 4f 4e 20 3d 20 54 42 4e  TINGBUTTON = TBN
100c0 5f 46 49 52 53 54 20 2d 20 31 35 20 7d 0d 0a 65  _FIRST - 15 }..e
100d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e  num : uint { TBN
100e0 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20 3d 20  _GETDISPINFOA = 
100f0 54 42 4e 5f 46 49 52 53 54 20 2d 20 31 36 20 7d  TBN_FIRST - 16 }
10100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10110 54 42 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57  TBN_GETDISPINFOW
10120 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 31   = TBN_FIRST - 1
10130 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
10140 20 7b 20 54 42 4e 5f 47 45 54 49 4e 46 4f 54 49   { TBN_GETINFOTI
10150 50 41 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d  PA = TBN_FIRST -
10160 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   18 }..enum : ui
10170 6e 74 20 7b 20 54 42 4e 5f 47 45 54 49 4e 46 4f  nt { TBN_GETINFO
10180 54 49 50 57 20 3d 20 54 42 4e 5f 46 49 52 53 54  TIPW = TBN_FIRST
10190 20 2d 20 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20   - 19 }..enum : 
101a0 75 69 6e 74 20 7b 20 54 42 4e 5f 47 45 54 42 55  uint { TBN_GETBU
101b0 54 54 4f 4e 49 4e 46 4f 57 20 3d 20 54 42 4e 5f  TTONINFOW = TBN_
101c0 46 49 52 53 54 20 2d 20 32 30 20 7d 0d 0a 2f 2f  FIRST - 20 }..//
101d0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
101e0 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d  >= 0x0500)..enum
101f0 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 52 45   : uint { TBN_RE
10200 53 54 4f 52 45 20 3d 20 54 42 4e 5f 46 49 52 53  STORE = TBN_FIRS
10210 54 20 2d 20 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a  T - 21 }..enum :
10220 20 75 69 6e 74 20 7b 20 54 42 4e 5f 53 41 56 45   uint { TBN_SAVE
10230 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 32   = TBN_FIRST - 2
10240 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
10250 20 7b 20 54 42 4e 5f 49 4e 49 54 43 55 53 54 4f   { TBN_INITCUSTO
10260 4d 49 5a 45 20 3d 20 54 42 4e 5f 46 49 52 53 54  MIZE = TBN_FIRST
10270 20 2d 20 32 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   - 23 }..enum : 
10280 75 69 6e 74 20 7b 20 54 42 4e 52 46 5f 48 49 44  uint { TBNRF_HID
10290 45 48 45 4c 50 20 3d 20 30 78 30 30 30 30 30 30  EHELP = 0x000000
102a0 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
102b0 74 20 7b 20 54 42 4e 52 46 5f 45 4e 44 43 55 53  t { TBNRF_ENDCUS
102c0 54 4f 4d 49 5a 45 20 3d 20 30 78 30 30 30 30 30  TOMIZE = 0x00000
102d0 30 30 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  002 }..// #endif
102e0 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   // (_WIN32_IE >
102f0 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 2f 2f 20  = 0x0500)....// 
10300 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
10310 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 73 74 72  = 0x0500)....str
10320 75 63 74 20 74 61 67 4e 4d 54 42 53 41 56 45 20  uct tagNMTBSAVE 
10330 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d  {..  NMHDR hdr;.
10340 0a 20 20 44 57 4f 52 44 20 2a 20 70 44 61 74 61  .  DWORD * pData
10350 3b 0d 0a 20 20 44 57 4f 52 44 20 2a 20 70 43 75  ;..  DWORD * pCu
10360 72 72 65 6e 74 3b 0d 0a 20 20 55 49 4e 54 20 63  rrent;..  UINT c
10370 62 44 61 74 61 3b 0d 0a 20 20 69 6e 74 20 69 49  bData;..  int iI
10380 74 65 6d 3b 0d 0a 20 20 69 6e 74 20 63 42 75 74  tem;..  int cBut
10390 74 6f 6e 73 3b 0d 0a 20 20 54 42 42 55 54 54 4f  tons;..  TBBUTTO
103a0 4e 20 74 62 42 75 74 74 6f 6e 3b 0d 0a 7d 0d 0a  N tbButton;..}..
103b0 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 53 41 56  alias tagNMTBSAV
103c0 45 20 4e 4d 54 42 53 41 56 45 3b 0d 0a 61 6c 69  E NMTBSAVE;..ali
103d0 61 73 20 74 61 67 4e 4d 54 42 53 41 56 45 2a 20  as tagNMTBSAVE* 
103e0 4c 50 4e 4d 54 42 53 41 56 45 3b 0d 0a 0d 0a 73  LPNMTBSAVE;....s
103f0 74 72 75 63 74 20 74 61 67 4e 4d 54 42 52 45 53  truct tagNMTBRES
10400 54 4f 52 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  TORE {..  NMHDR 
10410 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 2a 20  hdr;..  DWORD * 
10420 70 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20  pData;..  DWORD 
10430 2a 20 70 43 75 72 72 65 6e 74 3b 0d 0a 20 20 55  * pCurrent;..  U
10440 49 4e 54 20 63 62 44 61 74 61 3b 0d 0a 20 20 69  INT cbData;..  i
10450 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74  nt iItem;..  int
10460 20 63 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 69 6e   cButtons;..  in
10470 74 20 63 62 42 79 74 65 73 50 65 72 52 65 63 6f  t cbBytesPerReco
10480 72 64 3b 0d 0a 20 20 54 42 42 55 54 54 4f 4e 20  rd;..  TBBUTTON 
10490 74 62 42 75 74 74 6f 6e 3b 0d 0a 7d 0d 0a 61 6c  tbButton;..}..al
104a0 69 61 73 20 74 61 67 4e 4d 54 42 52 45 53 54 4f  ias tagNMTBRESTO
104b0 52 45 20 4e 4d 54 42 52 45 53 54 4f 52 45 3b 0d  RE NMTBRESTORE;.
104c0 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 52 45  .alias tagNMTBRE
104d0 53 54 4f 52 45 2a 20 4c 50 4e 4d 54 42 52 45 53  STORE* LPNMTBRES
104e0 54 4f 52 45 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  TORE;....// #end
104f0 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 49 45  if // (_WIN32_IE
10500 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 73   >= 0x0500)....s
10510 74 72 75 63 74 20 74 61 67 4e 4d 54 42 47 45 54  truct tagNMTBGET
10520 49 4e 46 4f 54 49 50 41 20 7b 0d 0a 20 20 4e 4d  INFOTIPA {..  NM
10530 48 44 52 20 68 64 72 3b 0d 0a 20 20 4c 50 53 54  HDR hdr;..  LPST
10540 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e  R pszText;..  in
10550 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20  t cchTextMax;.. 
10560 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 4c   int iItem;..  L
10570 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d  PARAM lParam;..}
10580 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 47  ..alias tagNMTBG
10590 45 54 49 4e 46 4f 54 49 50 41 20 4e 4d 54 42 47  ETINFOTIPA NMTBG
105a0 45 54 49 4e 46 4f 54 49 50 41 3b 0d 0a 61 6c 69  ETINFOTIPA;..ali
105b0 61 73 20 74 61 67 4e 4d 54 42 47 45 54 49 4e 46  as tagNMTBGETINF
105c0 4f 54 49 50 41 2a 20 4c 50 4e 4d 54 42 47 45 54  OTIPA* LPNMTBGET
105d0 49 4e 46 4f 54 49 50 41 3b 0d 0a 0d 0a 73 74 72  INFOTIPA;....str
105e0 75 63 74 20 74 61 67 4e 4d 54 42 47 45 54 49 4e  uct tagNMTBGETIN
105f0 46 4f 54 49 50 57 20 7b 0d 0a 20 20 4e 4d 48 44  FOTIPW {..  NMHD
10600 52 20 68 64 72 3b 0d 0a 20 20 4c 50 57 53 54 52  R hdr;..  LPWSTR
10610 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74   pszText;..  int
10620 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20   cchTextMax;..  
10630 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 4c 50  int iItem;..  LP
10640 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d  ARAM lParam;..}.
10650 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 47 45  .alias tagNMTBGE
10660 54 49 4e 46 4f 54 49 50 57 20 4e 4d 54 42 47 45  TINFOTIPW NMTBGE
10670 54 49 4e 46 4f 54 49 50 57 3b 0d 0a 61 6c 69 61  TINFOTIPW;..alia
10680 73 20 74 61 67 4e 4d 54 42 47 45 54 49 4e 46 4f  s tagNMTBGETINFO
10690 54 49 50 57 2a 20 4c 50 4e 4d 54 42 47 45 54 49  TIPW* LPNMTBGETI
106a0 4e 46 4f 54 49 50 57 3b 0d 0a 0d 0a 2f 2f 20 23  NFOTIPW;....// #
106b0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
106c0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
106d0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
106e0 73 65 0d 0a 61 6c 69 61 73 20 54 42 4e 5f 47 45  se..alias TBN_GE
106f0 54 49 4e 46 4f 54 49 50 41 20 54 42 4e 5f 47 45  TINFOTIPA TBN_GE
10700 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 73  TINFOTIP;..alias
10710 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41   NMTBGETINFOTIPA
10720 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 3b   NMTBGETINFOTIP;
10730 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 42 47 45  ..alias LPNMTBGE
10740 54 49 4e 46 4f 54 49 50 41 20 4c 50 4e 4d 54 42  TINFOTIPA LPNMTB
10750 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 2f 2f 20  GETINFOTIP;..// 
10760 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
10770 20 75 69 6e 74 20 7b 20 54 42 4e 46 5f 49 4d 41   uint { TBNF_IMA
10780 47 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  GE = 0x00000001 
10790 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
107a0 20 54 42 4e 46 5f 54 45 58 54 20 3d 20 30 78 30   TBNF_TEXT = 0x0
107b0 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
107c0 3a 20 75 69 6e 74 20 7b 20 54 42 4e 46 5f 44 49  : uint { TBNF_DI
107d0 5f 53 45 54 49 54 45 4d 20 3d 20 30 78 31 30 30  _SETITEM = 0x100
107e0 30 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63  00000 }....struc
107f0 74 20 5f 35 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  t _5 {..  NMHDR 
10800 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  hdr;..  DWORD dw
10810 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 69 64 43  Mask;..  int idC
10820 6f 6d 6d 61 6e 64 3b 0d 0a 20 20 44 57 4f 52 44  ommand;..  DWORD
10830 5f 50 54 52 20 6c 50 61 72 61 6d 3b 0d 0a 20 20  _PTR lParam;..  
10840 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 4c  int iImage;..  L
10850 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20  PSTR pszText;.. 
10860 20 69 6e 74 20 63 63 68 54 65 78 74 3b 0d 0a 7d   int cchText;..}
10870 0d 0a 61 6c 69 61 73 20 5f 35 20 4e 4d 54 42 44  ..alias _5 NMTBD
10880 49 53 50 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73  ISPINFOA;..alias
10890 20 5f 35 2a 20 4c 50 4e 4d 54 42 44 49 53 50 49   _5* LPNMTBDISPI
108a0 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  NFOA;....struct 
108b0 5f 36 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64  _6 {..  NMHDR hd
108c0 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61  r;..  DWORD dwMa
108d0 73 6b 3b 0d 0a 20 20 69 6e 74 20 69 64 43 6f 6d  sk;..  int idCom
108e0 6d 61 6e 64 3b 0d 0a 20 20 44 57 4f 52 44 5f 50  mand;..  DWORD_P
108f0 54 52 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 69 6e  TR lParam;..  in
10900 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 4c 50 57  t iImage;..  LPW
10910 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20  STR pszText;..  
10920 69 6e 74 20 63 63 68 54 65 78 74 3b 0d 0a 7d 0d  int cchText;..}.
10930 0a 61 6c 69 61 73 20 5f 36 20 4e 4d 54 42 44 49  .alias _6 NMTBDI
10940 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20  SPINFOW;..alias 
10950 5f 36 2a 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e  _6* LPNMTBDISPIN
10960 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  FOW;....// #ifde
10970 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
10980 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
10990 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
109a0 61 6c 69 61 73 20 54 42 4e 5f 47 45 54 44 49 53  alias TBN_GETDIS
109b0 50 49 4e 46 4f 41 20 54 42 4e 5f 47 45 54 44 49  PINFOA TBN_GETDI
109c0 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4e  SPINFO;..alias N
109d0 4d 54 42 44 49 53 50 49 4e 46 4f 41 20 4e 4d 54  MTBDISPINFOA NMT
109e0 42 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61  BDISPINFO;..alia
109f0 73 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e 46 4f  s LPNMTBDISPINFO
10a00 41 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e 46 4f  A LPNMTBDISPINFO
10a10 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
10a20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
10a30 44 44 52 45 54 5f 44 45 46 41 55 4c 54 20 3d 20  DDRET_DEFAULT = 
10a40 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
10a50 20 7b 20 54 42 44 44 52 45 54 5f 4e 4f 44 45 46   { TBDDRET_NODEF
10a60 41 55 4c 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  AULT = 1 }..enum
10a70 20 3a 20 75 69 6e 74 20 7b 20 54 42 44 44 52 45   : uint { TBDDRE
10a80 54 5f 54 52 45 41 54 50 52 45 53 53 45 44 20 3d  T_TREATPRESSED =
10a90 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69   2 }....// #endi
10aa0 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  f....// #ifdef U
10ab0 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
10ac0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
10ad0 20 54 42 4e 5f 47 45 54 42 55 54 54 4f 4e 49 4e   TBN_GETBUTTONIN
10ae0 46 4f 41 20 54 42 4e 5f 47 45 54 42 55 54 54 4f  FOA TBN_GETBUTTO
10af0 4e 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64 69  NINFO;..// #endi
10b00 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  f....// #if (_WI
10b10 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
10b20 29 0d 0a 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42  )..alias NMTOOLB
10b30 41 52 41 20 54 42 4e 4f 54 49 46 59 41 3b 0d 0a  ARA TBNOTIFYA;..
10b40 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42 41 52 57  alias NMTOOLBARW
10b50 20 54 42 4e 4f 54 49 46 59 57 3b 0d 0a 61 6c 69   TBNOTIFYW;..ali
10b60 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 41 20  as LPNMTOOLBARA 
10b70 4c 50 54 42 4e 4f 54 49 46 59 41 3b 0d 0a 61 6c  LPTBNOTIFYA;..al
10b80 69 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 57  ias LPNMTOOLBARW
10b90 20 4c 50 54 42 4e 4f 54 49 46 59 57 3b 0d 0a 2f   LPTBNOTIFYW;../
10ba0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
10bb0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
10bc0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
10bd0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
10be0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61  / #endif....alia
10bf0 73 20 4e 4d 54 4f 4f 4c 42 41 52 20 54 42 4e 4f  s NMTOOLBAR TBNO
10c00 54 49 46 59 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e  TIFY;..alias LPN
10c10 4d 54 4f 4f 4c 42 41 52 20 4c 50 54 42 4e 4f 54  MTOOLBAR LPTBNOT
10c20 49 46 59 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  IFY;....// #if (
10c30 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
10c40 33 30 30 29 0d 0a 73 74 72 75 63 74 20 74 61 67  300)..struct tag
10c50 4e 4d 54 4f 4f 4c 42 41 52 41 20 7b 0d 0a 20 20  NMTOOLBARA {..  
10c60 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e  NMHDR hdr;..  in
10c70 74 20 69 49 74 65 6d 3b 0d 0a 20 20 54 42 42 55  t iItem;..  TBBU
10c80 54 54 4f 4e 20 74 62 42 75 74 74 6f 6e 3b 0d 0a  TTON tbButton;..
10c90 20 20 69 6e 74 20 63 63 68 54 65 78 74 3b 0d 0a    int cchText;..
10ca0 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b    LPSTR pszText;
10cb0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
10cc0 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 0d 0a 20  _IE >= 0x500).. 
10cd0 20 52 45 43 54 20 72 63 42 75 74 74 6f 6e 3b 0d   RECT rcButton;.
10ce0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61  .// #endif..}..a
10cf0 6c 69 61 73 20 74 61 67 4e 4d 54 4f 4f 4c 42 41  lias tagNMTOOLBA
10d00 52 41 20 4e 4d 54 4f 4f 4c 42 41 52 41 3b 0d 0a  RA NMTOOLBARA;..
10d10 61 6c 69 61 73 20 74 61 67 4e 4d 54 4f 4f 4c 42  alias tagNMTOOLB
10d20 41 52 41 2a 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52  ARA* LPNMTOOLBAR
10d30 41 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  A;....// #endif.
10d40 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
10d50 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
10d60 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 54 4f 4f  .struct tagNMTOO
10d70 4c 42 41 52 57 20 7b 0d 0a 20 20 4e 4d 48 44 52  LBARW {..  NMHDR
10d80 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74   hdr;..  int iIt
10d90 65 6d 3b 0d 0a 20 20 54 42 42 55 54 54 4f 4e 20  em;..  TBBUTTON 
10da0 74 62 42 75 74 74 6f 6e 3b 0d 0a 20 20 69 6e 74  tbButton;..  int
10db0 20 63 63 68 54 65 78 74 3b 0d 0a 20 20 4c 50 57   cchText;..  LPW
10dc0 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 2f 2f  STR pszText;..//
10dd0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
10de0 3e 3d 20 30 78 35 30 30 29 0d 0a 20 20 52 45 43  >= 0x500)..  REC
10df0 54 20 72 63 42 75 74 74 6f 6e 3b 0d 0a 2f 2f 20  T rcButton;..// 
10e00 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73  #endif..}..alias
10e10 20 74 61 67 4e 4d 54 4f 4f 4c 42 41 52 57 20 4e   tagNMTOOLBARW N
10e20 4d 54 4f 4f 4c 42 41 52 57 3b 0d 0a 61 6c 69 61  MTOOLBARW;..alia
10e30 73 20 74 61 67 4e 4d 54 4f 4f 4c 42 41 52 57 2a  s tagNMTOOLBARW*
10e40 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 57 3b 0d 0a   LPNMTOOLBARW;..
10e50 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
10e60 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
10e70 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
10e80 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
10e90 69 61 73 20 4e 4d 54 4f 4f 4c 42 41 52 41 20 4e  ias NMTOOLBARA N
10ea0 4d 54 4f 4f 4c 42 41 52 3b 0d 0a 61 6c 69 61 73  MTOOLBAR;..alias
10eb0 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 41 20 4c 50   LPNMTOOLBARA LP
10ec0 4e 4d 54 4f 4f 4c 42 41 52 3b 0d 0a 2f 2f 20 23  NMTOOLBAR;..// #
10ed0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  endif....// #end
10ee0 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  if....// #endif 
10ef0 20 20 20 20 20 2f 2f 20 4e 4f 54 4f 4f 4c 42 41       // NOTOOLBA
10f00 52 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  R....// #if (_WI
10f10 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
10f20 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  )....// #ifndef 
10f30 4e 4f 52 45 42 41 52 0d 0a 0d 0a 2f 2f 20 23 69  NOREBAR....// #i
10f40 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 63 6f 6e  fdef _WIN32..con
10f50 73 74 20 77 63 68 61 72 5b 5d 20 52 45 42 41 52  st wchar[] REBAR
10f60 43 4c 41 53 53 4e 41 4d 45 57 20 3d 20 22 52 65  CLASSNAMEW = "Re
10f70 42 61 72 57 69 6e 64 6f 77 33 32 22 3b 0d 0a 63  BarWindow32";..c
10f80 6f 6e 73 74 20 63 68 61 72 5b 5d 20 52 45 42 41  onst char[] REBA
10f90 52 43 4c 41 53 53 4e 41 4d 45 41 20 3d 20 22 52  RCLASSNAMEA = "R
10fa0 65 42 61 72 57 69 6e 64 6f 77 33 32 22 3b 0d 0a  eBarWindow32";..
10fb0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 20 55 4e 49  ..// #ifdef  UNI
10fc0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
10fd0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 52  / #else..alias R
10fe0 45 42 41 52 43 4c 41 53 53 4e 41 4d 45 41 20 52  EBARCLASSNAMEA R
10ff0 45 42 41 52 43 4c 41 53 53 4e 41 4d 45 3b 0d 0a  EBARCLASSNAME;..
11000 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
11010 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
11020 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
11030 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 49 4d 5f  m : uint { RBIM_
11040 49 4d 41 47 45 4c 49 53 54 20 3d 20 30 78 30 30  IMAGELIST = 0x00
11050 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23  000001 }....// #
11060 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
11070 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
11080 20 75 69 6e 74 20 7b 20 52 42 53 5f 54 4f 4f 4c   uint { RBS_TOOL
11090 54 49 50 53 20 3d 20 30 78 30 31 30 30 20 7d 0d  TIPS = 0x0100 }.
110a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
110b0 42 53 5f 56 41 52 48 45 49 47 48 54 20 3d 20 30  BS_VARHEIGHT = 0
110c0 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0200 }..enum : 
110d0 75 69 6e 74 20 7b 20 52 42 53 5f 42 41 4e 44 42  uint { RBS_BANDB
110e0 4f 52 44 45 52 53 20 3d 20 30 78 30 34 30 30 20  ORDERS = 0x0400 
110f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
11100 20 52 42 53 5f 46 49 58 45 44 4f 52 44 45 52 20   RBS_FIXEDORDER 
11110 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x0800 }..enum
11120 20 3a 20 75 69 6e 74 20 7b 20 52 42 53 5f 52 45   : uint { RBS_RE
11130 47 49 53 54 45 52 44 52 4f 50 20 3d 20 30 78 31  GISTERDROP = 0x1
11140 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
11150 6e 74 20 7b 20 52 42 53 5f 41 55 54 4f 53 49 5a  nt { RBS_AUTOSIZ
11160 45 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e  E = 0x2000 }..en
11170 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 53 5f  um : uint { RBS_
11180 56 45 52 54 49 43 41 4c 47 52 49 50 50 45 52 20  VERTICALGRIPPER 
11190 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x4000 }..enum
111a0 20 3a 20 75 69 6e 74 20 7b 20 52 42 53 5f 44 42   : uint { RBS_DB
111b0 4c 43 4c 4b 54 4f 47 47 4c 45 20 3d 20 30 78 38  LCLKTOGGLE = 0x8
111c0 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d  000 }..// #else.
111d0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
111e0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
111f0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  .....// #endif  
11200 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45      // _WIN32_IE
11210 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 73 74   >= 0x0400....st
11220 72 75 63 74 20 74 61 67 52 45 42 41 52 49 4e 46  ruct tagREBARINF
11230 4f 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69  O {..  UINT cbSi
11240 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 66 4d 61 73  ze;..  UINT fMas
11250 6b 3b 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  k;..// #ifndef N
11260 4f 49 4d 41 47 45 41 50 49 53 0d 0a 20 20 48 49  OIMAGEAPIS..  HI
11270 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b 0d 0a  MAGELIST himl;..
11280 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
11290 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a  ..// #endif..}..
112a0 61 6c 69 61 73 20 74 61 67 52 45 42 41 52 49 4e  alias tagREBARIN
112b0 46 4f 20 52 45 42 41 52 49 4e 46 4f 3b 0d 0a 61  FO REBARINFO;..a
112c0 6c 69 61 73 20 74 61 67 52 45 42 41 52 49 4e 46  lias tagREBARINF
112d0 4f 2a 20 4c 50 52 45 42 41 52 49 4e 46 4f 3b 0d  O* LPREBARINFO;.
112e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
112f0 20 52 42 42 53 5f 42 52 45 41 4b 20 3d 20 30 78   RBBS_BREAK = 0x
11300 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
11310 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 46   : uint { RBBS_F
11320 49 58 45 44 53 49 5a 45 20 3d 20 30 78 30 30 30  IXEDSIZE = 0x000
11330 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
11340 75 69 6e 74 20 7b 20 52 42 42 53 5f 43 48 49 4c  uint { RBBS_CHIL
11350 44 45 44 47 45 20 3d 20 30 78 30 30 30 30 30 30  DEDGE = 0x000000
11360 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
11370 74 20 7b 20 52 42 42 53 5f 48 49 44 44 45 4e 20  t { RBBS_HIDDEN 
11380 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
11390 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
113a0 42 53 5f 4e 4f 56 45 52 54 20 3d 20 30 78 30 30  BS_NOVERT = 0x00
113b0 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000010 }..enum :
113c0 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 46 49 58   uint { RBBS_FIX
113d0 45 44 42 4d 50 20 3d 20 30 78 30 30 30 30 30 30  EDBMP = 0x000000
113e0 32 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  20 }..// #if (_W
113f0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
11400 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20  0)              
11410 20 2f 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74   //..enum : uint
11420 20 7b 20 52 42 42 53 5f 56 41 52 49 41 42 4c 45   { RBBS_VARIABLE
11430 48 45 49 47 48 54 20 3d 20 30 78 30 30 30 30 30  HEIGHT = 0x00000
11440 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  040 }..enum : ui
11450 6e 74 20 7b 20 52 42 42 53 5f 47 52 49 50 50 45  nt { RBBS_GRIPPE
11460 52 41 4c 57 41 59 53 20 3d 20 30 78 30 30 30 30  RALWAYS = 0x0000
11470 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
11480 69 6e 74 20 7b 20 52 42 42 53 5f 4e 4f 47 52 49  int { RBBS_NOGRI
11490 50 50 45 52 20 3d 20 30 78 30 30 30 30 30 31 30  PPER = 0x0000010
114a0 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  0 }..// #if (_WI
114b0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
114c0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  )               
114d0 2f 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  //..enum : uint 
114e0 7b 20 52 42 42 53 5f 55 53 45 43 48 45 56 52 4f  { RBBS_USECHEVRO
114f0 4e 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d  N = 0x00000200 }
11500 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
11510 5f 49 45 20 3e 3d 20 30 78 30 35 30 31 29 20 20  _IE >= 0x0501)  
11520 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0d               //.
11530 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
11540 42 42 53 5f 48 49 44 45 54 49 54 4c 45 20 3d 20  BBS_HIDETITLE = 
11550 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 65 6e  0x00000400 }..en
11560 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53  um : uint { RBBS
11570 5f 54 4f 50 41 4c 49 47 4e 20 3d 20 30 78 30 30  _TOPALIGN = 0x00
11580 30 30 30 38 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  000800 }..// #en
11590 64 69 66 20 2f 2f 20 30 78 30 35 30 31 20 20 20  dif // 0x0501   
115a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
115b0 20 20 20 20 20 2f 2f 0d 0a 2f 2f 20 23 65 6e 64       //..// #end
115c0 69 66 20 2f 2f 20 30 78 30 35 30 30 20 20 20 20  if // 0x0500    
115d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
115e0 20 20 20 20 2f 2f 0d 0a 2f 2f 20 23 65 6e 64 69      //..// #endi
115f0 66 20 2f 2f 20 30 78 30 34 30 30 20 20 20 20 20  f // 0x0400     
11600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
11610 20 20 20 2f 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20     //....enum : 
11620 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f 53 54 59  uint { RBBIM_STY
11630 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  LE = 0x00000001 
11640 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
11650 20 52 42 42 49 4d 5f 43 4f 4c 4f 52 53 20 3d 20   RBBIM_COLORS = 
11660 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
11670 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 49  um : uint { RBBI
11680 4d 5f 54 45 58 54 20 3d 20 30 78 30 30 30 30 30  M_TEXT = 0x00000
11690 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
116a0 6e 74 20 7b 20 52 42 42 49 4d 5f 49 4d 41 47 45  nt { RBBIM_IMAGE
116b0 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
116c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
116d0 42 42 49 4d 5f 43 48 49 4c 44 20 3d 20 30 78 30  BBIM_CHILD = 0x0
116e0 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20  0000010 }..enum 
116f0 3a 20 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f 43  : uint { RBBIM_C
11700 48 49 4c 44 53 49 5a 45 20 3d 20 30 78 30 30 30  HILDSIZE = 0x000
11710 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
11720 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f 53 49 5a  uint { RBBIM_SIZ
11730 45 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  E = 0x00000040 }
11740 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11750 52 42 42 49 4d 5f 42 41 43 4b 47 52 4f 55 4e 44  RBBIM_BACKGROUND
11760 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d   = 0x00000080 }.
11770 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
11780 42 42 49 4d 5f 49 44 20 3d 20 30 78 30 30 30 30  BBIM_ID = 0x0000
11790 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  0100 }..// #if (
117a0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
117b0 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
117c0 74 20 7b 20 52 42 42 49 4d 5f 49 44 45 41 4c 53  t { RBBIM_IDEALS
117d0 49 5a 45 20 3d 20 30 78 30 30 30 30 30 32 30 30  IZE = 0x00000200
117e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
117f0 7b 20 52 42 42 49 4d 5f 4c 50 41 52 41 4d 20 3d  { RBBIM_LPARAM =
11800 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 65   0x00000400 }..e
11810 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42  num : uint { RBB
11820 49 4d 5f 48 45 41 44 45 52 53 49 5a 45 20 3d 20  IM_HEADERSIZE = 
11830 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 2f 2f  0x00000800 }..//
11840 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63   #endif....struc
11850 74 20 74 61 67 52 45 42 41 52 42 41 4e 44 49 4e  t tagREBARBANDIN
11860 46 4f 41 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62  FOA {..  UINT cb
11870 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 66 4d  Size;..  UINT fM
11880 61 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 66 53 74  ask;..  UINT fSt
11890 79 6c 65 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46  yle;..  COLORREF
118a0 20 63 6c 72 46 6f 72 65 3b 0d 0a 20 20 43 4f 4c   clrFore;..  COL
118b0 4f 52 52 45 46 20 63 6c 72 42 61 63 6b 3b 0d 0a  ORREF clrBack;..
118c0 20 20 4c 50 53 54 52 20 6c 70 54 65 78 74 3b 0d    LPSTR lpText;.
118d0 0a 20 20 55 49 4e 54 20 63 63 68 3b 0d 0a 20 20  .  UINT cch;..  
118e0 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 48  int iImage;..  H
118f0 57 4e 44 20 68 77 6e 64 43 68 69 6c 64 3b 0d 0a  WND hwndChild;..
11900 20 20 55 49 4e 54 20 63 78 4d 69 6e 43 68 69 6c    UINT cxMinChil
11910 64 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 69 6e  d;..  UINT cyMin
11920 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63  Child;..  UINT c
11930 78 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62  x;..  HBITMAP hb
11940 6d 42 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 20 77  mBack;..  UINT w
11950 49 44 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  ID;..// #if (_WI
11960 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
11970 29 0d 0a 20 20 55 49 4e 54 20 63 79 43 68 69 6c  )..  UINT cyChil
11980 64 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 61 78  d;..  UINT cyMax
11990 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63  Child;..  UINT c
119a0 79 49 6e 74 65 67 72 61 6c 3b 0d 0a 20 20 55 49  yIntegral;..  UI
119b0 4e 54 20 63 78 49 64 65 61 6c 3b 0d 0a 20 20 4c  NT cxIdeal;..  L
119c0 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20  PARAM lParam;.. 
119d0 20 55 49 4e 54 20 63 78 48 65 61 64 65 72 3b 0d   UINT cxHeader;.
119e0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61  .// #endif..}..a
119f0 6c 69 61 73 20 74 61 67 52 45 42 41 52 42 41 4e  lias tagREBARBAN
11a00 44 49 4e 46 4f 41 20 52 45 42 41 52 42 41 4e 44  DINFOA REBARBAND
11a10 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 74 61  INFOA;..alias ta
11a20 67 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 2a  gREBARBANDINFOA*
11a30 20 4c 50 52 45 42 41 52 42 41 4e 44 49 4e 46 4f   LPREBARBANDINFO
11a40 41 3b 0d 0a 0d 0a 61 6c 69 61 73 20 52 45 42 41  A;....alias REBA
11a50 52 42 41 4e 44 49 4e 46 4f 41 2a 20 4c 50 43 52  RBANDINFOA* LPCR
11a60 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 3b 0d 0a  EBARBANDINFOA;..
11a70 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 52 45 42  ..// #define REB
11a80 41 52 42 41 4e 44 49 4e 46 4f 41 5f 56 33 5f 53  ARBANDINFOA_V3_S
11a90 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52  IZE CCSIZEOF_STR
11aa0 55 43 54 28 52 45 42 41 52 42 41 4e 44 49 4e 46  UCT(REBARBANDINF
11ab0 4f 41 2c 20 77 49 44 29 0d 0a 2f 2f 20 23 64 65  OA, wID)..// #de
11ac0 66 69 6e 65 20 52 45 42 41 52 42 41 4e 44 49 4e  fine REBARBANDIN
11ad0 46 4f 57 5f 56 33 5f 53 49 5a 45 20 43 43 53 49  FOW_V3_SIZE CCSI
11ae0 5a 45 4f 46 5f 53 54 52 55 43 54 28 52 45 42 41  ZEOF_STRUCT(REBA
11af0 52 42 41 4e 44 49 4e 46 4f 57 2c 20 77 49 44 29  RBANDINFOW, wID)
11b00 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52 45  ....struct tagRE
11b10 42 41 52 42 41 4e 44 49 4e 46 4f 57 20 7b 0d 0a  BARBANDINFOW {..
11b20 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
11b30 20 20 55 49 4e 54 20 66 4d 61 73 6b 3b 0d 0a 20    UINT fMask;.. 
11b40 20 55 49 4e 54 20 66 53 74 79 6c 65 3b 0d 0a 20   UINT fStyle;.. 
11b50 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 46 6f 72   COLORREF clrFor
11b60 65 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63  e;..  COLORREF c
11b70 6c 72 42 61 63 6b 3b 0d 0a 20 20 4c 50 57 53 54  lrBack;..  LPWST
11b80 52 20 6c 70 54 65 78 74 3b 0d 0a 20 20 55 49 4e  R lpText;..  UIN
11b90 54 20 63 63 68 3b 0d 0a 20 20 69 6e 74 20 69 49  T cch;..  int iI
11ba0 6d 61 67 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77  mage;..  HWND hw
11bb0 6e 64 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54  ndChild;..  UINT
11bc0 20 63 78 4d 69 6e 43 68 69 6c 64 3b 0d 0a 20 20   cxMinChild;..  
11bd0 55 49 4e 54 20 63 79 4d 69 6e 43 68 69 6c 64 3b  UINT cyMinChild;
11be0 0d 0a 20 20 55 49 4e 54 20 63 78 3b 0d 0a 20 20  ..  UINT cx;..  
11bf0 48 42 49 54 4d 41 50 20 68 62 6d 42 61 63 6b 3b  HBITMAP hbmBack;
11c00 0d 0a 20 20 55 49 4e 54 20 77 49 44 3b 0d 0a 2f  ..  UINT wID;../
11c10 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
11c20 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 20 20 55   >= 0x0400)..  U
11c30 49 4e 54 20 63 79 43 68 69 6c 64 3b 0d 0a 20 20  INT cyChild;..  
11c40 55 49 4e 54 20 63 79 4d 61 78 43 68 69 6c 64 3b  UINT cyMaxChild;
11c50 0d 0a 20 20 55 49 4e 54 20 63 79 49 6e 74 65 67  ..  UINT cyInteg
11c60 72 61 6c 3b 0d 0a 20 20 55 49 4e 54 20 63 78 49  ral;..  UINT cxI
11c70 64 65 61 6c 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  deal;..  LPARAM 
11c80 6c 50 61 72 61 6d 3b 0d 0a 20 20 55 49 4e 54 20  lParam;..  UINT 
11c90 63 78 48 65 61 64 65 72 3b 0d 0a 2f 2f 20 23 65  cxHeader;..// #e
11ca0 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ndif..}..alias t
11cb0 61 67 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57  agREBARBANDINFOW
11cc0 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 3b   REBARBANDINFOW;
11cd0 0d 0a 61 6c 69 61 73 20 74 61 67 52 45 42 41 52  ..alias tagREBAR
11ce0 42 41 4e 44 49 4e 46 4f 57 2a 20 4c 50 52 45 42  BANDINFOW* LPREB
11cf0 41 52 42 41 4e 44 49 4e 46 4f 57 3b 0d 0a 0d 0a  ARBANDINFOW;....
11d00 61 6c 69 61 73 20 52 45 42 41 52 42 41 4e 44 49  alias REBARBANDI
11d10 4e 46 4f 57 2a 20 4c 50 43 52 45 42 41 52 42 41  NFOW* LPCREBARBA
11d20 4e 44 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23  NDINFOW;....// #
11d30 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
11d40 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
11d50 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
11d60 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
11d70 61 73 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f  as REBARBANDINFO
11d80 41 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 3b  A REBARBANDINFO;
11d90 0d 0a 61 6c 69 61 73 20 4c 50 52 45 42 41 52 42  ..alias LPREBARB
11da0 41 4e 44 49 4e 46 4f 41 20 4c 50 52 45 42 41 52  ANDINFOA LPREBAR
11db0 42 41 4e 44 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  BANDINFO;..alias
11dc0 20 4c 50 43 52 45 42 41 52 42 41 4e 44 49 4e 46   LPCREBARBANDINF
11dd0 4f 41 20 4c 50 43 52 45 42 41 52 42 41 4e 44 49  OA LPCREBARBANDI
11de0 4e 46 4f 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  NFO;..// #define
11df0 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 5f 56   REBARBANDINFO_V
11e00 33 5f 53 49 5a 45 20 52 45 42 41 52 42 41 4e 44  3_SIZE REBARBAND
11e10 49 4e 46 4f 41 5f 56 33 5f 53 49 5a 45 0d 0a 2f  INFOA_V3_SIZE../
11e20 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
11e30 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 49 4e 53   : uint { RB_INS
11e40 45 52 54 42 41 4e 44 41 20 3d 20 57 4d 5f 55 53  ERTBANDA = WM_US
11e50 45 52 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ER + 1 }..enum :
11e60 20 75 69 6e 74 20 7b 20 52 42 5f 44 45 4c 45 54   uint { RB_DELET
11e70 45 42 41 4e 44 20 3d 20 57 4d 5f 55 53 45 52 20  EBAND = WM_USER 
11e80 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 2 }..enum : ui
11e90 6e 74 20 7b 20 52 42 5f 47 45 54 42 41 52 49 4e  nt { RB_GETBARIN
11ea0 46 4f 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33  FO = WM_USER + 3
11eb0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11ec0 7b 20 52 42 5f 53 45 54 42 41 52 49 4e 46 4f 20  { RB_SETBARINFO 
11ed0 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 20 7d 0d  = WM_USER + 4 }.
11ee0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
11ef0 49 45 20 3c 20 30 78 30 34 30 30 29 0d 0a 2f 2f  IE < 0x0400)..//
11f00 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
11f10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11f20 52 42 5f 53 45 54 42 41 4e 44 49 4e 46 4f 41 20  RB_SETBANDINFOA 
11f30 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 20 7d 0d  = WM_USER + 6 }.
11f40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
11f50 42 5f 53 45 54 50 41 52 45 4e 54 20 3d 20 57 4d  B_SETPARENT = WM
11f60 5f 55 53 45 52 20 2b 20 37 20 7d 0d 0a 2f 2f 20  _USER + 7 }..// 
11f70 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
11f80 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
11f90 3a 20 75 69 6e 74 20 7b 20 52 42 5f 48 49 54 54  : uint { RB_HITT
11fa0 45 53 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  EST = WM_USER + 
11fb0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
11fc0 20 7b 20 52 42 5f 47 45 54 52 45 43 54 20 3d 20   { RB_GETRECT = 
11fd0 57 4d 5f 55 53 45 52 20 2b 20 39 20 7d 0d 0a 2f  WM_USER + 9 }../
11fe0 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a  / #endif..enum :
11ff0 20 75 69 6e 74 20 7b 20 52 42 5f 49 4e 53 45 52   uint { RB_INSER
12000 54 42 41 4e 44 57 20 3d 20 57 4d 5f 55 53 45 52  TBANDW = WM_USER
12010 20 2b 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 10 }..enum : 
12020 75 69 6e 74 20 7b 20 52 42 5f 53 45 54 42 41 4e  uint { RB_SETBAN
12030 44 49 4e 46 4f 57 20 3d 20 57 4d 5f 55 53 45 52  DINFOW = WM_USER
12040 20 2b 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 11 }..enum : 
12050 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 42 41 4e  uint { RB_GETBAN
12060 44 43 4f 55 4e 54 20 3d 20 57 4d 5f 55 53 45 52  DCOUNT = WM_USER
12070 20 2b 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 12 }..enum : 
12080 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 52 4f 57  uint { RB_GETROW
12090 43 4f 55 4e 54 20 3d 20 57 4d 5f 55 53 45 52 20  COUNT = WM_USER 
120a0 2b 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 13 }..enum : u
120b0 69 6e 74 20 7b 20 52 42 5f 47 45 54 52 4f 57 48  int { RB_GETROWH
120c0 45 49 47 48 54 20 3d 20 57 4d 5f 55 53 45 52 20  EIGHT = WM_USER 
120d0 2b 20 31 34 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  + 14 }..// #if (
120e0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
120f0 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
12100 74 20 7b 20 52 42 5f 49 44 54 4f 49 4e 44 45 58  t { RB_IDTOINDEX
12110 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 36 20   = WM_USER + 16 
12120 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12130 20 52 42 5f 47 45 54 54 4f 4f 4c 54 49 50 53 20   RB_GETTOOLTIPS 
12140 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 37 20 7d  = WM_USER + 17 }
12150 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12160 52 42 5f 53 45 54 54 4f 4f 4c 54 49 50 53 20 3d  RB_SETTOOLTIPS =
12170 20 57 4d 5f 55 53 45 52 20 2b 20 31 38 20 7d 0d   WM_USER + 18 }.
12180 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
12190 42 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 57  B_SETBKCOLOR = W
121a0 4d 5f 55 53 45 52 20 2b 20 31 39 20 7d 0d 0a 65  M_USER + 19 }..e
121b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f  num : uint { RB_
121c0 47 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 57 4d 5f  GETBKCOLOR = WM_
121d0 55 53 45 52 20 2b 20 32 30 20 7d 0d 0a 65 6e 75  USER + 20 }..enu
121e0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 53 45  m : uint { RB_SE
121f0 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20 57 4d 5f  TTEXTCOLOR = WM_
12200 55 53 45 52 20 2b 20 32 31 20 7d 0d 0a 65 6e 75  USER + 21 }..enu
12210 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45  m : uint { RB_GE
12220 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20 57 4d 5f  TTEXTCOLOR = WM_
12230 55 53 45 52 20 2b 20 32 32 20 7d 0d 0a 0d 0a 2f  USER + 22 }..../
12240 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
12250 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
12260 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
12270 53 54 52 5f 43 48 41 4e 47 45 52 45 43 54 20 3d  STR_CHANGERECT =
12280 20 30 78 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 65   0x0001 }..// #e
12290 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
122a0 69 6e 74 20 7b 20 52 42 5f 53 49 5a 45 54 4f 52  int { RB_SIZETOR
122b0 45 43 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  ECT = WM_USER + 
122c0 32 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  23 }..// #endif 
122d0 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49       // _WIN32_I
122e0 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 61  E >= 0x0400....a
122f0 6c 69 61 73 20 43 43 4d 5f 53 45 54 43 4f 4c 4f  lias CCM_SETCOLO
12300 52 53 43 48 45 4d 45 20 52 42 5f 53 45 54 43 4f  RSCHEME RB_SETCO
12310 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a 61 6c 69 61  LORSCHEME;..alia
12320 73 20 43 43 4d 5f 47 45 54 43 4f 4c 4f 52 53 43  s CCM_GETCOLORSC
12330 48 45 4d 45 20 52 42 5f 47 45 54 43 4f 4c 4f 52  HEME RB_GETCOLOR
12340 53 43 48 45 4d 45 3b 0d 0a 0d 0a 2f 2f 20 23 69  SCHEME;....// #i
12350 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
12360 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
12370 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
12380 52 42 5f 49 4e 53 45 52 54 42 41 4e 44 41 20 52  RB_INSERTBANDA R
12390 42 5f 49 4e 53 45 52 54 42 41 4e 44 3b 0d 0a 61  B_INSERTBAND;..a
123a0 6c 69 61 73 20 52 42 5f 53 45 54 42 41 4e 44 49  lias RB_SETBANDI
123b0 4e 46 4f 41 20 52 42 5f 53 45 54 42 41 4e 44 49  NFOA RB_SETBANDI
123c0 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  NFO;..// #endif.
123d0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
123e0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
123f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
12400 20 52 42 5f 42 45 47 49 4e 44 52 41 47 20 3d 20   RB_BEGINDRAG = 
12410 57 4d 5f 55 53 45 52 20 2b 20 32 34 20 7d 0d 0a  WM_USER + 24 }..
12420 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
12430 5f 45 4e 44 44 52 41 47 20 3d 20 57 4d 5f 55 53  _ENDDRAG = WM_US
12440 45 52 20 2b 20 32 35 20 7d 0d 0a 65 6e 75 6d 20  ER + 25 }..enum 
12450 3a 20 75 69 6e 74 20 7b 20 52 42 5f 44 52 41 47  : uint { RB_DRAG
12460 4d 4f 56 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b  MOVE = WM_USER +
12470 20 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   26 }..enum : ui
12480 6e 74 20 7b 20 52 42 5f 47 45 54 42 41 52 48 45  nt { RB_GETBARHE
12490 49 47 48 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b  IGHT = WM_USER +
124a0 20 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   27 }..enum : ui
124b0 6e 74 20 7b 20 52 42 5f 47 45 54 42 41 4e 44 49  nt { RB_GETBANDI
124c0 4e 46 4f 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b  NFOW = WM_USER +
124d0 20 32 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   28 }..enum : ui
124e0 6e 74 20 7b 20 52 42 5f 47 45 54 42 41 4e 44 49  nt { RB_GETBANDI
124f0 4e 46 4f 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b  NFOA = WM_USER +
12500 20 32 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64   29 }....// #ifd
12510 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
12520 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
12530 6c 69 61 73 20 52 42 5f 47 45 54 42 41 4e 44 49  lias RB_GETBANDI
12540 4e 46 4f 41 20 52 42 5f 47 45 54 42 41 4e 44 49  NFOA RB_GETBANDI
12550 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  NFO;..// #endif.
12560 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
12570 20 52 42 5f 4d 49 4e 49 4d 49 5a 45 42 41 4e 44   RB_MINIMIZEBAND
12580 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 30 20   = WM_USER + 30 
12590 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
125a0 20 52 42 5f 4d 41 58 49 4d 49 5a 45 42 41 4e 44   RB_MAXIMIZEBAND
125b0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 31 20   = WM_USER + 31 
125c0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
125d0 20 7b 20 52 42 5f 47 45 54 44 52 4f 50 54 41 52   { RB_GETDROPTAR
125e0 47 45 54 20 3d 20 43 43 4d 5f 47 45 54 44 52 4f  GET = CCM_GETDRO
125f0 50 54 41 52 47 45 54 20 7d 0d 0a 0d 0a 65 6e 75  PTARGET }....enu
12600 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45  m : uint { RB_GE
12610 54 42 41 4e 44 42 4f 52 44 45 52 53 20 3d 20 57  TBANDBORDERS = W
12620 4d 5f 55 53 45 52 20 2b 20 33 34 20 7d 0d 0a 0d  M_USER + 34 }...
12630 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
12640 42 5f 53 48 4f 57 42 41 4e 44 20 3d 20 57 4d 5f  B_SHOWBAND = WM_
12650 55 53 45 52 20 2b 20 33 35 20 7d 0d 0a 65 6e 75  USER + 35 }..enu
12660 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 53 45  m : uint { RB_SE
12670 54 50 41 4c 45 54 54 45 20 3d 20 57 4d 5f 55 53  TPALETTE = WM_US
12680 45 52 20 2b 20 33 37 20 7d 0d 0a 65 6e 75 6d 20  ER + 37 }..enum 
12690 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 50  : uint { RB_GETP
126a0 41 4c 45 54 54 45 20 3d 20 57 4d 5f 55 53 45 52  ALETTE = WM_USER
126b0 20 2b 20 33 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 38 }..enum : 
126c0 75 69 6e 74 20 7b 20 52 42 5f 4d 4f 56 45 42 41  uint { RB_MOVEBA
126d0 4e 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33  ND = WM_USER + 3
126e0 39 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d  9 }....alias CCM
126f0 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
12700 54 20 52 42 5f 53 45 54 55 4e 49 43 4f 44 45 46  T RB_SETUNICODEF
12710 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 43 43  ORMAT;..alias CC
12720 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_GETUNICODEFORM
12730 41 54 20 52 42 5f 47 45 54 55 4e 49 43 4f 44 45  AT RB_GETUNICODE
12740 46 4f 52 4d 41 54 3b 0d 0a 0d 0a 2f 2f 20 23 65  FORMAT;....// #e
12750 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
12760 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
12770 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
12780 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
12790 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  1)..enum : uint 
127a0 7b 20 52 42 5f 47 45 54 42 41 4e 44 4d 41 52 47  { RB_GETBANDMARG
127b0 49 4e 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  INS = WM_USER + 
127c0 34 30 20 7d 0d 0a 61 6c 69 61 73 20 43 43 4d 5f  40 }..alias CCM_
127d0 53 45 54 57 49 4e 44 4f 57 54 48 45 4d 45 20 52  SETWINDOWTHEME R
127e0 42 5f 53 45 54 57 49 4e 44 4f 57 54 48 45 4d 45  B_SETWINDOWTHEME
127f0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
12800 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
12810 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e  E >= 0x0500)..en
12820 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 50  um : uint { RB_P
12830 55 53 48 43 48 45 56 52 4f 4e 20 3d 20 57 4d 5f  USHCHEVRON = WM_
12840 55 53 45 52 20 2b 20 34 33 20 7d 0d 0a 2f 2f 20  USER + 43 }..// 
12850 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f  #endif      // _
12860 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
12870 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00....enum : uin
12880 74 20 7b 20 52 42 4e 5f 48 45 49 47 48 54 43 48  t { RBN_HEIGHTCH
12890 41 4e 47 45 20 3d 20 52 42 4e 5f 46 49 52 53 54  ANGE = RBN_FIRST
128a0 20 2d 20 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   - 0 }....// #if
128b0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
128c0 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
128d0 69 6e 74 20 7b 20 52 42 4e 5f 47 45 54 4f 42 4a  int { RBN_GETOBJ
128e0 45 43 54 20 3d 20 52 42 4e 5f 46 49 52 53 54 20  ECT = RBN_FIRST 
128f0 2d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  - 1 }..enum : ui
12900 6e 74 20 7b 20 52 42 4e 5f 4c 41 59 4f 55 54 43  nt { RBN_LAYOUTC
12910 48 41 4e 47 45 44 20 3d 20 52 42 4e 5f 46 49 52  HANGED = RBN_FIR
12920 53 54 20 2d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  ST - 2 }..enum :
12930 20 75 69 6e 74 20 7b 20 52 42 4e 5f 41 55 54 4f   uint { RBN_AUTO
12940 53 49 5a 45 20 3d 20 52 42 4e 5f 46 49 52 53 54  SIZE = RBN_FIRST
12950 20 2d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   - 3 }..enum : u
12960 69 6e 74 20 7b 20 52 42 4e 5f 42 45 47 49 4e 44  int { RBN_BEGIND
12970 52 41 47 20 3d 20 52 42 4e 5f 46 49 52 53 54 20  RAG = RBN_FIRST 
12980 2d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  - 4 }..enum : ui
12990 6e 74 20 7b 20 52 42 4e 5f 45 4e 44 44 52 41 47  nt { RBN_ENDDRAG
129a0 20 3d 20 52 42 4e 5f 46 49 52 53 54 20 2d 20 35   = RBN_FIRST - 5
129b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
129c0 7b 20 52 42 4e 5f 44 45 4c 45 54 49 4e 47 42 41  { RBN_DELETINGBA
129d0 4e 44 20 3d 20 52 42 4e 5f 46 49 52 53 54 20 2d  ND = RBN_FIRST -
129e0 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   6 }..enum : uin
129f0 74 20 7b 20 52 42 4e 5f 44 45 4c 45 54 45 44 42  t { RBN_DELETEDB
12a00 41 4e 44 20 3d 20 52 42 4e 5f 46 49 52 53 54 20  AND = RBN_FIRST 
12a10 2d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  - 7 }..enum : ui
12a20 6e 74 20 7b 20 52 42 4e 5f 43 48 49 4c 44 53 49  nt { RBN_CHILDSI
12a30 5a 45 20 3d 20 52 42 4e 5f 46 49 52 53 54 20 2d  ZE = RBN_FIRST -
12a40 20 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28   8 }....// #if (
12a50 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
12a60 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  500)..enum : uin
12a70 74 20 7b 20 52 42 4e 5f 43 48 45 56 52 4f 4e 50  t { RBN_CHEVRONP
12a80 55 53 48 45 44 20 3d 20 52 42 4e 5f 46 49 52 53  USHED = RBN_FIRS
12a90 54 20 2d 20 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e  T - 10 }..// #en
12aa0 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e  dif      // _WIN
12ab0 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 0d  32_IE >= 0x0500.
12ac0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
12ad0 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
12ae0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
12af0 42 4e 5f 4d 49 4e 4d 41 58 20 3d 20 52 42 4e 5f  BN_MINMAX = RBN_
12b00 46 49 52 53 54 20 2d 20 32 31 20 7d 0d 0a 2f 2f  FIRST - 21 }..//
12b10 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
12b20 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
12b30 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d  >= 0x0501)..enum
12b40 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 41 55   : uint { RBN_AU
12b50 54 4f 42 52 45 41 4b 20 3d 20 52 42 4e 5f 46 49  TOBREAK = RBN_FI
12b60 52 53 54 20 2d 20 32 32 20 7d 0d 0a 2f 2f 20 23  RST - 22 }..// #
12b70 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
12b80 74 61 67 4e 4d 52 45 42 41 52 43 48 49 4c 44 53  tagNMREBARCHILDS
12b90 49 5a 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68  IZE {..  NMHDR h
12ba0 64 72 3b 0d 0a 20 20 55 49 4e 54 20 75 42 61 6e  dr;..  UINT uBan
12bb0 64 3b 0d 0a 20 20 55 49 4e 54 20 77 49 44 3b 0d  d;..  UINT wID;.
12bc0 0a 20 20 52 45 43 54 20 72 63 43 68 69 6c 64 3b  .  RECT rcChild;
12bd0 0d 0a 20 20 52 45 43 54 20 72 63 42 61 6e 64 3b  ..  RECT rcBand;
12be0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  ..}..alias tagNM
12bf0 52 45 42 41 52 43 48 49 4c 44 53 49 5a 45 20 4e  REBARCHILDSIZE N
12c00 4d 52 45 42 41 52 43 48 49 4c 44 53 49 5a 45 3b  MREBARCHILDSIZE;
12c10 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 52 45 42  ..alias tagNMREB
12c20 41 52 43 48 49 4c 44 53 49 5a 45 2a 20 4c 50 4e  ARCHILDSIZE* LPN
12c30 4d 52 45 42 41 52 43 48 49 4c 44 53 49 5a 45 3b  MREBARCHILDSIZE;
12c40 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
12c50 52 45 42 41 52 20 7b 0d 0a 20 20 4e 4d 48 44 52  REBAR {..  NMHDR
12c60 20 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64   hdr;..  DWORD d
12c70 77 4d 61 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 75  wMask;..  UINT u
12c80 42 61 6e 64 3b 0d 0a 20 20 55 49 4e 54 20 66 53  Band;..  UINT fS
12c90 74 79 6c 65 3b 0d 0a 20 20 55 49 4e 54 20 77 49  tyle;..  UINT wI
12ca0 44 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  D;..  LPARAM lPa
12cb0 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ram;..}..alias t
12cc0 61 67 4e 4d 52 45 42 41 52 20 4e 4d 52 45 42 41  agNMREBAR NMREBA
12cd0 52 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 52  R;..alias tagNMR
12ce0 45 42 41 52 2a 20 4c 50 4e 4d 52 45 42 41 52 3b  EBAR* LPNMREBAR;
12cf0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
12d00 7b 20 52 42 4e 4d 5f 49 44 20 3d 20 30 78 30 30  { RBNM_ID = 0x00
12d10 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
12d20 20 75 69 6e 74 20 7b 20 52 42 4e 4d 5f 53 54 59   uint { RBNM_STY
12d30 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  LE = 0x00000002 
12d40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12d50 20 52 42 4e 4d 5f 4c 50 41 52 41 4d 20 3d 20 30   RBNM_LPARAM = 0
12d60 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 73  x00000004 }....s
12d70 74 72 75 63 74 20 74 61 67 4e 4d 52 42 41 55 54  truct tagNMRBAUT
12d80 4f 53 49 5a 45 20 7b 0d 0a 20 20 4e 4d 48 44 52  OSIZE {..  NMHDR
12d90 20 68 64 72 3b 0d 0a 20 20 42 4f 4f 4c 20 66 43   hdr;..  BOOL fC
12da0 68 61 6e 67 65 64 3b 0d 0a 20 20 52 45 43 54 20  hanged;..  RECT 
12db0 72 63 54 61 72 67 65 74 3b 0d 0a 20 20 52 45 43  rcTarget;..  REC
12dc0 54 20 72 63 41 63 74 75 61 6c 3b 0d 0a 7d 0d 0a  T rcActual;..}..
12dd0 61 6c 69 61 73 20 74 61 67 4e 4d 52 42 41 55 54  alias tagNMRBAUT
12de0 4f 53 49 5a 45 20 4e 4d 52 42 41 55 54 4f 53 49  OSIZE NMRBAUTOSI
12df0 5a 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  ZE;..alias tagNM
12e00 52 42 41 55 54 4f 53 49 5a 45 2a 20 4c 50 4e 4d  RBAUTOSIZE* LPNM
12e10 52 42 41 55 54 4f 53 49 5a 45 3b 0d 0a 0d 0a 2f  RBAUTOSIZE;..../
12e20 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
12e30 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 73 74 72   >= 0x0500)..str
12e40 75 63 74 20 74 61 67 4e 4d 52 45 42 41 52 43 48  uct tagNMREBARCH
12e50 45 56 52 4f 4e 20 7b 0d 0a 20 20 4e 4d 48 44 52  EVRON {..  NMHDR
12e60 20 68 64 72 3b 0d 0a 20 20 55 49 4e 54 20 75 42   hdr;..  UINT uB
12e70 61 6e 64 3b 0d 0a 20 20 55 49 4e 54 20 77 49 44  and;..  UINT wID
12e80 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  ;..  LPARAM lPar
12e90 61 6d 3b 0d 0a 20 20 52 45 43 54 20 72 63 3b 0d  am;..  RECT rc;.
12ea0 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
12eb0 4e 4d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  NM;..}..alias ta
12ec0 67 4e 4d 52 45 42 41 52 43 48 45 56 52 4f 4e 20  gNMREBARCHEVRON 
12ed0 4e 4d 52 45 42 41 52 43 48 45 56 52 4f 4e 3b 0d  NMREBARCHEVRON;.
12ee0 0a 61 6c 69 61 73 20 74 61 67 4e 4d 52 45 42 41  .alias tagNMREBA
12ef0 52 43 48 45 56 52 4f 4e 2a 20 4c 50 4e 4d 52 45  RCHEVRON* LPNMRE
12f00 42 41 52 43 48 45 56 52 4f 4e 3b 0d 0a 0d 0a 2f  BARCHEVRON;..../
12f10 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
12f20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
12f30 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75   >= 0x0501)..enu
12f40 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 41 42 5f  m : uint { RBAB_
12f50 41 55 54 4f 53 49 5a 45 20 3d 20 30 78 30 30 30  AUTOSIZE = 0x000
12f60 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
12f70 20 7b 20 52 42 41 42 5f 41 44 44 42 41 4e 44 20   { RBAB_ADDBAND 
12f80 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 73 74  = 0x0002 }....st
12f90 72 75 63 74 20 74 61 67 4e 4d 52 45 42 41 52 41  ruct tagNMREBARA
12fa0 55 54 4f 42 52 45 41 4b 20 7b 0d 0a 20 20 4e 4d  UTOBREAK {..  NM
12fb0 48 44 52 20 68 64 72 3b 0d 0a 20 20 55 49 4e 54  HDR hdr;..  UINT
12fc0 20 75 42 61 6e 64 3b 0d 0a 20 20 55 49 4e 54 20   uBand;..  UINT 
12fd0 77 49 44 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  wID;..  LPARAM l
12fe0 50 61 72 61 6d 3b 0d 0a 20 20 55 49 4e 54 20 75  Param;..  UINT u
12ff0 4d 73 67 3b 0d 0a 20 20 55 49 4e 54 20 66 53 74  Msg;..  UINT fSt
13000 79 6c 65 43 75 72 72 65 6e 74 3b 0d 0a 20 20 42  yleCurrent;..  B
13010 4f 4f 4c 20 66 41 75 74 6f 42 72 65 61 6b 3b 0d  OOL fAutoBreak;.
13020 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 52  .}..alias tagNMR
13030 45 42 41 52 41 55 54 4f 42 52 45 41 4b 20 4e 4d  EBARAUTOBREAK NM
13040 52 45 42 41 52 41 55 54 4f 42 52 45 41 4b 3b 0d  REBARAUTOBREAK;.
13050 0a 61 6c 69 61 73 20 74 61 67 4e 4d 52 45 42 41  .alias tagNMREBA
13060 52 41 55 54 4f 42 52 45 41 4b 2a 20 4c 50 4e 4d  RAUTOBREAK* LPNM
13070 52 45 42 41 52 41 55 54 4f 42 52 45 41 4b 3b 0d  REBARAUTOBREAK;.
13080 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
13090 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
130a0 48 54 5f 4e 4f 57 48 45 52 45 20 3d 20 30 78 30  HT_NOWHERE = 0x0
130b0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
130c0 6e 74 20 7b 20 52 42 48 54 5f 43 41 50 54 49 4f  nt { RBHT_CAPTIO
130d0 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  N = 0x0002 }..en
130e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 48 54  um : uint { RBHT
130f0 5f 43 4c 49 45 4e 54 20 3d 20 30 78 30 30 30 33  _CLIENT = 0x0003
13100 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13110 7b 20 52 42 48 54 5f 47 52 41 42 42 45 52 20 3d  { RBHT_GRABBER =
13120 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 69   0x0004 }..// #i
13130 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
13140 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
13150 75 69 6e 74 20 7b 20 52 42 48 54 5f 43 48 45 56  uint { RBHT_CHEV
13160 52 4f 4e 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  RON = 0x0008 }..
13170 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72  // #endif....str
13180 75 63 74 20 5f 52 42 5f 48 49 54 54 45 53 54 49  uct _RB_HITTESTI
13190 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70  NFO {..  POINT p
131a0 74 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73  t;..  UINT flags
131b0 3b 0d 0a 20 20 69 6e 74 20 69 42 61 6e 64 3b 0d  ;..  int iBand;.
131c0 0a 7d 0d 0a 61 6c 69 61 73 20 5f 52 42 5f 48 49  .}..alias _RB_HI
131d0 54 54 45 53 54 49 4e 46 4f 20 52 42 48 49 54 54  TTESTINFO RBHITT
131e0 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  ESTINFO;..alias 
131f0 5f 52 42 5f 48 49 54 54 45 53 54 49 4e 46 4f 2a  _RB_HITTESTINFO*
13200 20 4c 50 52 42 48 49 54 54 45 53 54 49 4e 46 4f   LPRBHITTESTINFO
13210 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  ;....// #endif  
13220 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45      // _WIN32_IE
13230 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f   >= 0x0400....//
13240 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20   #endif      // 
13250 4e 4f 52 45 42 41 52 0d 0a 0d 0a 2f 2f 20 23 65  NOREBAR....// #e
13260 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
13270 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
13280 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
13290 4f 54 4f 4f 4c 54 49 50 53 0d 0a 0d 0a 2f 2f 20  OTOOLTIPS....// 
132a0 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
132b0 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 54  .const wchar[] T
132c0 4f 4f 4c 54 49 50 53 5f 43 4c 41 53 53 57 20 3d  OOLTIPS_CLASSW =
132d0 20 22 74 6f 6f 6c 74 69 70 73 5f 63 6c 61 73 73   "tooltips_class
132e0 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72  32";..const char
132f0 5b 5d 20 54 4f 4f 4c 54 49 50 53 5f 43 4c 41 53  [] TOOLTIPS_CLAS
13300 53 41 20 3d 20 22 74 6f 6f 6c 74 69 70 73 5f 63  SA = "tooltips_c
13310 6c 61 73 73 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23  lass32";....// #
13320 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
13330 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
13340 0d 0a 61 6c 69 61 73 20 54 4f 4f 4c 54 49 50 53  ..alias TOOLTIPS
13350 5f 43 4c 41 53 53 41 20 54 4f 4f 4c 54 49 50 53  _CLASSA TOOLTIPS
13360 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 65 6e 64  _CLASS;..// #end
13370 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  if....// #else..
13380 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
13390 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  if....// #if (_W
133a0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
133b0 30 29 0d 0a 61 6c 69 61 73 20 4c 50 54 54 54 4f  0)..alias LPTTTO
133c0 4f 4c 49 4e 46 4f 41 20 4c 50 54 4f 4f 4c 49 4e  OLINFOA LPTOOLIN
133d0 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 54  FOA;..alias LPTT
133e0 54 4f 4f 4c 49 4e 46 4f 57 20 4c 50 54 4f 4f 4c  TOOLINFOW LPTOOL
133f0 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 54 54  INFOW;..alias TT
13400 54 4f 4f 4c 49 4e 46 4f 41 20 54 4f 4f 4c 49 4e  TOOLINFOA TOOLIN
13410 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 54 54 54 4f  FOA;..alias TTTO
13420 4f 4c 49 4e 46 4f 57 20 54 4f 4f 4c 49 4e 46 4f  OLINFOW TOOLINFO
13430 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  W;..// #else..//
13440 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
13450 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
13460 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61  ..// #endif....a
13470 6c 69 61 73 20 4c 50 54 54 54 4f 4f 4c 49 4e 46  lias LPTTTOOLINF
13480 4f 20 4c 50 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 61  O LPTOOLINFO;..a
13490 6c 69 61 73 20 54 54 54 4f 4f 4c 49 4e 46 4f 20  lias TTTOOLINFO 
134a0 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 0d 0a 2f 2f 20  TOOLINFO;....// 
134b0 23 64 65 66 69 6e 65 20 54 54 54 4f 4f 4c 49 4e  #define TTTOOLIN
134c0 46 4f 41 5f 56 31 5f 53 49 5a 45 20 43 43 53 49  FOA_V1_SIZE CCSI
134d0 5a 45 4f 46 5f 53 54 52 55 43 54 28 54 54 54 4f  ZEOF_STRUCT(TTTO
134e0 4f 4c 49 4e 46 4f 41 2c 20 6c 70 73 7a 54 65 78  OLINFOA, lpszTex
134f0 74 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54  t)..// #define T
13500 54 54 4f 4f 4c 49 4e 46 4f 57 5f 56 31 5f 53 49  TTOOLINFOW_V1_SI
13510 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55  ZE CCSIZEOF_STRU
13520 43 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 57 2c 20  CT(TTTOOLINFOW, 
13530 6c 70 73 7a 54 65 78 74 29 0d 0a 2f 2f 20 23 64  lpszText)..// #d
13540 65 66 69 6e 65 20 54 54 54 4f 4f 4c 49 4e 46 4f  efine TTTOOLINFO
13550 41 5f 56 32 5f 53 49 5a 45 20 43 43 53 49 5a 45  A_V2_SIZE CCSIZE
13560 4f 46 5f 53 54 52 55 43 54 28 54 54 54 4f 4f 4c  OF_STRUCT(TTTOOL
13570 49 4e 46 4f 41 2c 20 6c 50 61 72 61 6d 29 0d 0a  INFOA, lParam)..
13580 2f 2f 20 23 64 65 66 69 6e 65 20 54 54 54 4f 4f  // #define TTTOO
13590 4c 49 4e 46 4f 57 5f 56 32 5f 53 49 5a 45 20 43  LINFOW_V2_SIZE C
135a0 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 54  CSIZEOF_STRUCT(T
135b0 54 54 4f 4f 4c 49 4e 46 4f 57 2c 20 6c 50 61 72  TTOOLINFOW, lPar
135c0 61 6d 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  am)..// #define 
135d0 54 54 54 4f 4f 4c 49 4e 46 4f 41 5f 56 33 5f 53  TTTOOLINFOA_V3_S
135e0 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52  IZE CCSIZEOF_STR
135f0 55 43 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 41 2c  UCT(TTTOOLINFOA,
13600 20 6c 70 52 65 73 65 72 76 65 64 29 0d 0a 2f 2f   lpReserved)..//
13610 20 23 64 65 66 69 6e 65 20 54 54 54 4f 4f 4c 49   #define TTTOOLI
13620 4e 46 4f 57 5f 56 33 5f 53 49 5a 45 20 43 43 53  NFOW_V3_SIZE CCS
13630 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 54 54 54  IZEOF_STRUCT(TTT
13640 4f 4f 4c 49 4e 46 4f 57 2c 20 6c 70 52 65 73 65  OOLINFOW, lpRese
13650 72 76 65 64 29 0d 0a 0d 0a 73 74 72 75 63 74 20  rved)....struct 
13660 74 61 67 54 4f 4f 4c 49 4e 46 4f 41 20 7b 0d 0a  tagTOOLINFOA {..
13670 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
13680 20 20 55 49 4e 54 20 75 46 6c 61 67 73 3b 0d 0a    UINT uFlags;..
13690 20 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20    HWND hwnd;..  
136a0 55 49 4e 54 5f 50 54 52 20 75 49 64 3b 0d 0a 20  UINT_PTR uId;.. 
136b0 20 52 45 43 54 20 72 65 63 74 3b 0d 0a 20 20 48   RECT rect;..  H
136c0 49 4e 53 54 41 4e 43 45 20 68 69 6e 73 74 3b 0d  INSTANCE hinst;.
136d0 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 54 65 78  .  LPSTR lpszTex
136e0 74 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  t;..// #if (_WIN
136f0 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
13700 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
13710 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  m;..// #endif../
13720 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
13730 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
13740 20 20 76 6f 69 64 20 2a 6c 70 52 65 73 65 72 76    void *lpReserv
13750 65 64 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  ed;..// #endif..
13760 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 4f 4f 4c  }..alias tagTOOL
13770 49 4e 46 4f 41 20 54 54 54 4f 4f 4c 49 4e 46 4f  INFOA TTTOOLINFO
13780 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 4f 4f  A;..alias tagTOO
13790 4c 49 4e 46 4f 41 2a 20 50 54 4f 4f 4c 49 4e 46  LINFOA* PTOOLINF
137a0 4f 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 4f  OA;..alias tagTO
137b0 4f 4c 49 4e 46 4f 41 2a 20 4c 50 54 54 54 4f 4f  OLINFOA* LPTTTOO
137c0 4c 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63  LINFOA;....struc
137d0 74 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 57 20 7b  t tagTOOLINFOW {
137e0 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b  ..  UINT cbSize;
137f0 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61 67 73 3b  ..  UINT uFlags;
13800 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a  ..  HWND hwnd;..
13810 20 20 55 49 4e 54 5f 50 54 52 20 75 49 64 3b 0d    UINT_PTR uId;.
13820 0a 20 20 52 45 43 54 20 72 65 63 74 3b 0d 0a 20  .  RECT rect;.. 
13830 20 48 49 4e 53 54 41 4e 43 45 20 68 69 6e 73 74   HINSTANCE hinst
13840 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a  ;..  LPWSTR lpsz
13850 54 65 78 74 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f  Text;..// #if (_
13860 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
13870 30 30 29 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  00)..  LPARAM lP
13880 61 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  aram;..// #endif
13890 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
138a0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
138b0 29 0d 0a 20 20 76 6f 69 64 20 2a 6c 70 52 65 73  )..  void *lpRes
138c0 65 72 76 65 64 3b 0d 0a 2f 2f 20 23 65 6e 64 69  erved;..// #endi
138d0 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54  f..}..alias tagT
138e0 4f 4f 4c 49 4e 46 4f 57 20 54 54 54 4f 4f 4c 49  OOLINFOW TTTOOLI
138f0 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  NFOW;..alias tag
13900 54 4f 4f 4c 49 4e 46 4f 57 2a 20 50 54 4f 4f 4c  TOOLINFOW* PTOOL
13910 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61  INFOW;..alias ta
13920 67 54 4f 4f 4c 49 4e 46 4f 57 2a 20 4c 50 54 54  gTOOLINFOW* LPTT
13930 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f  TOOLINFOW;....//
13940 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
13950 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
13960 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
13970 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
13980 6c 69 61 73 20 50 54 4f 4f 4c 49 4e 46 4f 41 20  lias PTOOLINFOA 
13990 50 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 61 6c 69 61  PTOOLINFO;..alia
139a0 73 20 54 54 54 4f 4f 4c 49 4e 46 4f 41 20 54 54  s TTTOOLINFOA TT
139b0 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  TOOLINFO;..alias
139c0 20 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 41 20 4c   LPTTTOOLINFOA L
139d0 50 54 54 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 2f 2f  PTTTOOLINFO;..//
139e0 20 23 64 65 66 69 6e 65 20 54 54 54 4f 4f 4c 49   #define TTTOOLI
139f0 4e 46 4f 5f 56 31 5f 53 49 5a 45 20 54 54 54 4f  NFO_V1_SIZE TTTO
13a00 4f 4c 49 4e 46 4f 41 5f 56 31 5f 53 49 5a 45 0d  OLINFOA_V1_SIZE.
13a10 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
13a20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 53 5f  um : uint { TTS_
13a30 41 4c 57 41 59 53 54 49 50 20 3d 20 30 78 30 31  ALWAYSTIP = 0x01
13a40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13a50 7b 20 54 54 53 5f 4e 4f 50 52 45 46 49 58 20 3d  { TTS_NOPREFIX =
13a60 20 30 78 30 32 20 7d 0d 0a 2f 2f 20 23 69 66 20   0x02 }..// #if 
13a70 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
13a80 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
13a90 6e 74 20 7b 20 54 54 53 5f 4e 4f 41 4e 49 4d 41  nt { TTS_NOANIMA
13aa0 54 45 20 3d 20 30 78 31 30 20 7d 0d 0a 65 6e 75  TE = 0x10 }..enu
13ab0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 53 5f 4e  m : uint { TTS_N
13ac0 4f 46 41 44 45 20 3d 20 30 78 32 30 20 7d 0d 0a  OFADE = 0x20 }..
13ad0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
13ae0 53 5f 42 41 4c 4c 4f 4f 4e 20 3d 20 30 78 34 30  S_BALLOON = 0x40
13af0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13b00 7b 20 54 54 53 5f 43 4c 4f 53 45 20 3d 20 30 78  { TTS_CLOSE = 0x
13b10 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  80 }..// #endif.
13b20 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
13b30 20 54 54 46 5f 49 44 49 53 48 57 4e 44 20 3d 20   TTF_IDISHWND = 
13b40 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0001 }....enum
13b50 20 3a 20 75 69 6e 74 20 7b 20 54 54 46 5f 43 45   : uint { TTF_CE
13b60 4e 54 45 52 54 49 50 20 3d 20 30 78 30 30 30 32  NTERTIP = 0x0002
13b70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13b80 7b 20 54 54 46 5f 52 54 4c 52 45 41 44 49 4e 47  { TTF_RTLREADING
13b90 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
13ba0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 46 5f 53  m : uint { TTF_S
13bb0 55 42 43 4c 41 53 53 20 3d 20 30 78 30 30 31 30  UBCLASS = 0x0010
13bc0 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e   }..// #if (_WIN
13bd0 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
13be0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13bf0 54 54 46 5f 54 52 41 43 4b 20 3d 20 30 78 30 30  TTF_TRACK = 0x00
13c00 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
13c10 74 20 7b 20 54 54 46 5f 41 42 53 4f 4c 55 54 45  t { TTF_ABSOLUTE
13c20 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75   = 0x0080 }..enu
13c30 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 46 5f 54  m : uint { TTF_T
13c40 52 41 4e 53 50 41 52 45 4e 54 20 3d 20 30 78 30  RANSPARENT = 0x0
13c50 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f  100 }..// #if (_
13c60 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
13c70 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  01)..enum : uint
13c80 20 7b 20 54 54 46 5f 50 41 52 53 45 4c 49 4e 4b   { TTF_PARSELINK
13c90 53 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 2f 2f  S = 0x1000 }..//
13ca0 20 23 65 6e 64 69 66 20 2f 2f 20 5f 57 49 4e 33   #endif // _WIN3
13cb0 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 31 0d 0a  2_IE >= 0x0501..
13cc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
13cd0 46 5f 44 49 5f 53 45 54 49 54 45 4d 20 3d 20 30  F_DI_SETITEM = 0
13ce0 78 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x8000 }..// #end
13cf0 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33  if      // _WIN3
13d00 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a  2_IE >= 0x0300..
13d10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13d20 54 54 44 54 5f 41 55 54 4f 4d 41 54 49 43 20 3d  TTDT_AUTOMATIC =
13d30 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
13d40 74 20 7b 20 54 54 44 54 5f 52 45 53 48 4f 57 20  t { TTDT_RESHOW 
13d50 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
13d60 6e 74 20 7b 20 54 54 44 54 5f 41 55 54 4f 50 4f  nt { TTDT_AUTOPO
13d70 50 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  P = 2 }..enum : 
13d80 75 69 6e 74 20 7b 20 54 54 44 54 5f 49 4e 49 54  uint { TTDT_INIT
13d90 49 41 4c 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75  IAL = 3 }....enu
13da0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 49 5f 4e  m : uint { TTI_N
13db0 4f 4e 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ONE = 0 }..enum 
13dc0 3a 20 75 69 6e 74 20 7b 20 54 54 49 5f 49 4e 46  : uint { TTI_INF
13dd0 4f 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  O = 1 }..enum : 
13de0 75 69 6e 74 20 7b 20 54 54 49 5f 57 41 52 4e 49  uint { TTI_WARNI
13df0 4e 47 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  NG = 2 }..enum :
13e00 20 75 69 6e 74 20 7b 20 54 54 49 5f 45 52 52 4f   uint { TTI_ERRO
13e10 52 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  R = 3 }....enum 
13e20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 41 43 54  : uint { TTM_ACT
13e30 49 56 41 54 45 20 3d 20 57 4d 5f 55 53 45 52 20  IVATE = WM_USER 
13e40 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 1 }..enum : ui
13e50 6e 74 20 7b 20 54 54 4d 5f 53 45 54 44 45 4c 41  nt { TTM_SETDELA
13e60 59 54 49 4d 45 20 3d 20 57 4d 5f 55 53 45 52 20  YTIME = WM_USER 
13e70 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 3 }..enum : ui
13e80 6e 74 20 7b 20 54 54 4d 5f 41 44 44 54 4f 4f 4c  nt { TTM_ADDTOOL
13e90 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 20  A = WM_USER + 4 
13ea0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13eb0 20 54 54 4d 5f 41 44 44 54 4f 4f 4c 57 20 3d 20   TTM_ADDTOOLW = 
13ec0 57 4d 5f 55 53 45 52 20 2b 20 35 30 20 7d 0d 0a  WM_USER + 50 }..
13ed0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
13ee0 4d 5f 44 45 4c 54 4f 4f 4c 41 20 3d 20 57 4d 5f  M_DELTOOLA = WM_
13ef0 55 53 45 52 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d  USER + 5 }..enum
13f00 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 44 45   : uint { TTM_DE
13f10 4c 54 4f 4f 4c 57 20 3d 20 57 4d 5f 55 53 45 52  LTOOLW = WM_USER
13f20 20 2b 20 35 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 51 }..enum : 
13f30 75 69 6e 74 20 7b 20 54 54 4d 5f 4e 45 57 54 4f  uint { TTM_NEWTO
13f40 4f 4c 52 45 43 54 41 20 3d 20 57 4d 5f 55 53 45  OLRECTA = WM_USE
13f50 52 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R + 6 }..enum : 
13f60 75 69 6e 74 20 7b 20 54 54 4d 5f 4e 45 57 54 4f  uint { TTM_NEWTO
13f70 4f 4c 52 45 43 54 57 20 3d 20 57 4d 5f 55 53 45  OLRECTW = WM_USE
13f80 52 20 2b 20 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 52 }..enum :
13f90 20 75 69 6e 74 20 7b 20 54 54 4d 5f 52 45 4c 41   uint { TTM_RELA
13fa0 59 45 56 45 4e 54 20 3d 20 57 4d 5f 55 53 45 52  YEVENT = WM_USER
13fb0 20 2b 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   + 7 }....enum :
13fc0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54   uint { TTM_GETT
13fd0 4f 4f 4c 49 4e 46 4f 41 20 3d 20 57 4d 5f 55 53  OOLINFOA = WM_US
13fe0 45 52 20 2b 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a  ER + 8 }..enum :
13ff0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54   uint { TTM_GETT
14000 4f 4f 4c 49 4e 46 4f 57 20 3d 20 57 4d 5f 55 53  OOLINFOW = WM_US
14010 45 52 20 2b 20 35 33 20 7d 0d 0a 0d 0a 65 6e 75  ER + 53 }....enu
14020 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 53  m : uint { TTM_S
14030 45 54 54 4f 4f 4c 49 4e 46 4f 41 20 3d 20 57 4d  ETTOOLINFOA = WM
14040 5f 55 53 45 52 20 2b 20 39 20 7d 0d 0a 65 6e 75  _USER + 9 }..enu
14050 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 53  m : uint { TTM_S
14060 45 54 54 4f 4f 4c 49 4e 46 4f 57 20 3d 20 57 4d  ETTOOLINFOW = WM
14070 5f 55 53 45 52 20 2b 20 35 34 20 7d 0d 0a 0d 0a  _USER + 54 }....
14080 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
14090 4d 5f 48 49 54 54 45 53 54 41 20 3d 20 57 4d 5f  M_HITTESTA = WM_
140a0 55 53 45 52 20 2b 31 30 20 7d 0d 0a 65 6e 75 6d  USER +10 }..enum
140b0 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 48 49   : uint { TTM_HI
140c0 54 54 45 53 54 57 20 3d 20 57 4d 5f 55 53 45 52  TTESTW = WM_USER
140d0 20 2b 35 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   +55 }..enum : u
140e0 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54 45 58  int { TTM_GETTEX
140f0 54 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 31 31  TA = WM_USER +11
14100 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14110 7b 20 54 54 4d 5f 47 45 54 54 45 58 54 57 20 3d  { TTM_GETTEXTW =
14120 20 57 4d 5f 55 53 45 52 20 2b 35 36 20 7d 0d 0a   WM_USER +56 }..
14130 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
14140 4d 5f 55 50 44 41 54 45 54 49 50 54 45 58 54 41  M_UPDATETIPTEXTA
14150 20 3d 20 57 4d 5f 55 53 45 52 20 2b 31 32 20 7d   = WM_USER +12 }
14160 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14170 54 54 4d 5f 55 50 44 41 54 45 54 49 50 54 45 58  TTM_UPDATETIPTEX
14180 54 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 35 37  TW = WM_USER +57
14190 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
141a0 7b 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 43 4f 55  { TTM_GETTOOLCOU
141b0 4e 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 31 33  NT = WM_USER +13
141c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
141d0 7b 20 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 41  { TTM_ENUMTOOLSA
141e0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 31 34 20 7d   = WM_USER +14 }
141f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14200 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 57 20 3d  TTM_ENUMTOOLSW =
14210 20 57 4d 5f 55 53 45 52 20 2b 35 38 20 7d 0d 0a   WM_USER +58 }..
14220 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
14230 4d 5f 47 45 54 43 55 52 52 45 4e 54 54 4f 4f 4c  M_GETCURRENTTOOL
14240 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 35  A = WM_USER + 15
14250 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14260 7b 20 54 54 4d 5f 47 45 54 43 55 52 52 45 4e 54  { TTM_GETCURRENT
14270 54 4f 4f 4c 57 20 3d 20 57 4d 5f 55 53 45 52 20  TOOLW = WM_USER 
14280 2b 20 35 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 59 }..enum : u
14290 69 6e 74 20 7b 20 54 54 4d 5f 57 49 4e 44 4f 57  int { TTM_WINDOW
142a0 46 52 4f 4d 50 4f 49 4e 54 20 3d 20 57 4d 5f 55  FROMPOINT = WM_U
142b0 53 45 52 20 2b 20 31 36 20 7d 0d 0a 2f 2f 20 23  SER + 16 }..// #
142c0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
142d0 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0300)..enum :
142e0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 54 52 41 43   uint { TTM_TRAC
142f0 4b 41 43 54 49 56 41 54 45 20 3d 20 57 4d 5f 55  KACTIVATE = WM_U
14300 53 45 52 20 2b 20 31 37 20 7d 0d 0a 65 6e 75 6d  SER + 17 }..enum
14310 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 54 52   : uint { TTM_TR
14320 41 43 4b 50 4f 53 49 54 49 4f 4e 20 3d 20 57 4d  ACKPOSITION = WM
14330 5f 55 53 45 52 20 2b 20 31 38 20 7d 0d 0a 65 6e  _USER + 18 }..en
14340 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f  um : uint { TTM_
14350 53 45 54 54 49 50 42 4b 43 4f 4c 4f 52 20 3d 20  SETTIPBKCOLOR = 
14360 57 4d 5f 55 53 45 52 20 2b 20 31 39 20 7d 0d 0a  WM_USER + 19 }..
14370 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
14380 4d 5f 53 45 54 54 49 50 54 45 58 54 43 4f 4c 4f  M_SETTIPTEXTCOLO
14390 52 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 30  R = WM_USER + 20
143a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
143b0 7b 20 54 54 4d 5f 47 45 54 44 45 4c 41 59 54 49  { TTM_GETDELAYTI
143c0 4d 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32  ME = WM_USER + 2
143d0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
143e0 20 7b 20 54 54 4d 5f 47 45 54 54 49 50 42 4b 43   { TTM_GETTIPBKC
143f0 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20 2b  OLOR = WM_USER +
14400 20 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   22 }..enum : ui
14410 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54 49 50 54  nt { TTM_GETTIPT
14420 45 58 54 43 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53  EXTCOLOR = WM_US
14430 45 52 20 2b 20 32 33 20 7d 0d 0a 65 6e 75 6d 20  ER + 23 }..enum 
14440 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 53 45 54  : uint { TTM_SET
14450 4d 41 58 54 49 50 57 49 44 54 48 20 3d 20 57 4d  MAXTIPWIDTH = WM
14460 5f 55 53 45 52 20 2b 20 32 34 20 7d 0d 0a 65 6e  _USER + 24 }..en
14470 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f  um : uint { TTM_
14480 47 45 54 4d 41 58 54 49 50 57 49 44 54 48 20 3d  GETMAXTIPWIDTH =
14490 20 57 4d 5f 55 53 45 52 20 2b 20 32 35 20 7d 0d   WM_USER + 25 }.
144a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
144b0 54 4d 5f 53 45 54 4d 41 52 47 49 4e 20 3d 20 57  TM_SETMARGIN = W
144c0 4d 5f 55 53 45 52 20 2b 20 32 36 20 7d 0d 0a 65  M_USER + 26 }..e
144d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d  num : uint { TTM
144e0 5f 47 45 54 4d 41 52 47 49 4e 20 3d 20 57 4d 5f  _GETMARGIN = WM_
144f0 55 53 45 52 20 2b 20 32 37 20 7d 0d 0a 65 6e 75  USER + 27 }..enu
14500 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 50  m : uint { TTM_P
14510 4f 50 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32  OP = WM_USER + 2
14520 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  8 }..// #endif..
14530 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
14540 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  E >= 0x0400)..en
14550 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f  um : uint { TTM_
14560 55 50 44 41 54 45 20 3d 20 57 4d 5f 55 53 45 52  UPDATE = WM_USER
14570 20 2b 20 32 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64   + 29 }..// #end
14580 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  if..// #if (_WIN
14590 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29  32_IE >= 0x0500)
145a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
145b0 54 54 4d 5f 47 45 54 42 55 42 42 4c 45 53 49 5a  TTM_GETBUBBLESIZ
145c0 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 30  E = WM_USER + 30
145d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
145e0 7b 20 54 54 4d 5f 41 44 4a 55 53 54 52 45 43 54  { TTM_ADJUSTRECT
145f0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 31 20   = WM_USER + 31 
14600 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14610 20 54 54 4d 5f 53 45 54 54 49 54 4c 45 41 20 3d   TTM_SETTITLEA =
14620 20 57 4d 5f 55 53 45 52 20 2b 20 33 32 20 7d 0d   WM_USER + 32 }.
14630 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
14640 54 4d 5f 53 45 54 54 49 54 4c 45 57 20 3d 20 57  TM_SETTITLEW = W
14650 4d 5f 55 53 45 52 20 2b 20 33 33 20 7d 0d 0a 2f  M_USER + 33 }../
14660 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
14670 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
14680 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75   >= 0x0501)..enu
14690 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 50  m : uint { TTM_P
146a0 4f 50 55 50 20 3d 20 57 4d 5f 55 53 45 52 20 2b  OPUP = WM_USER +
146b0 20 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   34 }..enum : ui
146c0 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54 49 54 4c  nt { TTM_GETTITL
146d0 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 35  E = WM_USER + 35
146e0 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 54   }....struct _TT
146f0 47 45 54 54 49 54 4c 45 20 7b 0d 0a 20 20 44 57  GETTITLE {..  DW
14700 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a 20 20 55  ORD dwSize;..  U
14710 49 4e 54 20 75 54 69 74 6c 65 42 69 74 6d 61 70  INT uTitleBitmap
14720 3b 0d 0a 20 20 55 49 4e 54 20 63 63 68 3b 0d 0a  ;..  UINT cch;..
14730 20 20 57 43 48 41 52 20 2a 20 70 73 7a 54 69 74    WCHAR * pszTit
14740 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54  le;..}..alias _T
14750 54 47 45 54 54 49 54 4c 45 20 54 54 47 45 54 54  TGETTITLE TTGETT
14760 49 54 4c 45 3b 0d 0a 61 6c 69 61 73 20 5f 54 54  ITLE;..alias _TT
14770 47 45 54 54 49 54 4c 45 2a 20 50 54 54 47 45 54  GETTITLE* PTTGET
14780 54 49 54 4c 45 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  TITLE;....// #en
14790 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  dif....// #ifdef
147a0 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
147b0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
147c0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
147d0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
147e0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
147f0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
14800 2e 2e 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
14810 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29  32_IE >= 0x0500)
14820 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
14830 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ndif..// #else..
14840 61 6c 69 61 73 20 54 54 4d 5f 41 44 44 54 4f 4f  alias TTM_ADDTOO
14850 4c 41 20 54 54 4d 5f 41 44 44 54 4f 4f 4c 3b 0d  LA TTM_ADDTOOL;.
14860 0a 61 6c 69 61 73 20 54 54 4d 5f 44 45 4c 54 4f  .alias TTM_DELTO
14870 4f 4c 41 20 54 54 4d 5f 44 45 4c 54 4f 4f 4c 3b  OLA TTM_DELTOOL;
14880 0d 0a 61 6c 69 61 73 20 54 54 4d 5f 4e 45 57 54  ..alias TTM_NEWT
14890 4f 4f 4c 52 45 43 54 41 20 54 54 4d 5f 4e 45 57  OOLRECTA TTM_NEW
148a0 54 4f 4f 4c 52 45 43 54 3b 0d 0a 61 6c 69 61 73  TOOLRECT;..alias
148b0 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 4f   TTM_GETTOOLINFO
148c0 41 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46  A TTM_GETTOOLINF
148d0 4f 3b 0d 0a 61 6c 69 61 73 20 54 54 4d 5f 53 45  O;..alias TTM_SE
148e0 54 54 4f 4f 4c 49 4e 46 4f 41 20 54 54 4d 5f 53  TTOOLINFOA TTM_S
148f0 45 54 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 61 6c 69  ETTOOLINFO;..ali
14900 61 73 20 54 54 4d 5f 48 49 54 54 45 53 54 41 20  as TTM_HITTESTA 
14910 54 54 4d 5f 48 49 54 54 45 53 54 3b 0d 0a 61 6c  TTM_HITTEST;..al
14920 69 61 73 20 54 54 4d 5f 47 45 54 54 45 58 54 41  ias TTM_GETTEXTA
14930 20 54 54 4d 5f 47 45 54 54 45 58 54 3b 0d 0a 61   TTM_GETTEXT;..a
14940 6c 69 61 73 20 54 54 4d 5f 55 50 44 41 54 45 54  lias TTM_UPDATET
14950 49 50 54 45 58 54 41 20 54 54 4d 5f 55 50 44 41  IPTEXTA TTM_UPDA
14960 54 45 54 49 50 54 45 58 54 3b 0d 0a 61 6c 69 61  TETIPTEXT;..alia
14970 73 20 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 41  s TTM_ENUMTOOLSA
14980 20 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 3b 0d   TTM_ENUMTOOLS;.
14990 0a 61 6c 69 61 73 20 54 54 4d 5f 47 45 54 43 55  .alias TTM_GETCU
149a0 52 52 45 4e 54 54 4f 4f 4c 41 20 54 54 4d 5f 47  RRENTTOOLA TTM_G
149b0 45 54 43 55 52 52 45 4e 54 54 4f 4f 4c 3b 0d 0a  ETCURRENTTOOL;..
149c0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
149d0 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 61 6c  E >= 0x0500)..al
149e0 69 61 73 20 54 54 4d 5f 53 45 54 54 49 54 4c 45  ias TTM_SETTITLE
149f0 41 20 54 54 4d 5f 53 45 54 54 49 54 4c 45 3b 0d  A TTM_SETTITLE;.
14a00 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
14a10 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
14a20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
14a30 20 30 78 35 30 31 29 0d 0a 61 6c 69 61 73 20 43   0x501)..alias C
14a40 43 4d 5f 53 45 54 57 49 4e 44 4f 57 54 48 45 4d  CM_SETWINDOWTHEM
14a50 45 20 54 54 4d 5f 53 45 54 57 49 4e 44 4f 57 54  E TTM_SETWINDOWT
14a60 48 45 4d 45 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  HEME;..// #endif
14a70 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
14a80 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
14a90 0d 0a 61 6c 69 61 73 20 4c 50 54 54 48 49 54 54  ..alias LPTTHITT
14aa0 45 53 54 49 4e 46 4f 57 20 4c 50 48 49 54 54 45  ESTINFOW LPHITTE
14ab0 53 54 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20  STINFOW;..alias 
14ac0 4c 50 54 54 48 49 54 54 45 53 54 49 4e 46 4f 41  LPTTHITTESTINFOA
14ad0 20 4c 50 48 49 54 54 45 53 54 49 4e 46 4f 41 3b   LPHITTESTINFOA;
14ae0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
14af0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
14b00 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73   #endif....alias
14b10 20 4c 50 54 54 48 49 54 54 45 53 54 49 4e 46 4f   LPTTHITTESTINFO
14b20 20 4c 50 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d   LPHITTESTINFO;.
14b30 0a 0d 0a 73 74 72 75 63 74 20 5f 54 54 5f 48 49  ...struct _TT_HI
14b40 54 54 45 53 54 49 4e 46 4f 41 20 7b 0d 0a 20 20  TTESTINFOA {..  
14b50 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 50 4f  HWND hwnd;..  PO
14b60 49 4e 54 20 70 74 3b 0d 0a 20 20 54 54 54 4f 4f  INT pt;..  TTTOO
14b70 4c 49 4e 46 4f 41 20 74 69 3b 0d 0a 7d 0d 0a 61  LINFOA ti;..}..a
14b80 6c 69 61 73 20 5f 54 54 5f 48 49 54 54 45 53 54  lias _TT_HITTEST
14b90 49 4e 46 4f 41 20 54 54 48 49 54 54 45 53 54 49  INFOA TTHITTESTI
14ba0 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 5f 54 54  NFOA;..alias _TT
14bb0 5f 48 49 54 54 45 53 54 49 4e 46 4f 41 2a 20 4c  _HITTESTINFOA* L
14bc0 50 54 54 48 49 54 54 45 53 54 49 4e 46 4f 41 3b  PTTHITTESTINFOA;
14bd0 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 54 54 5f 48  ....struct _TT_H
14be0 49 54 54 45 53 54 49 4e 46 4f 57 20 7b 0d 0a 20  ITTESTINFOW {.. 
14bf0 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20 20 50   HWND hwnd;..  P
14c00 4f 49 4e 54 20 70 74 3b 0d 0a 20 20 54 54 54 4f  OINT pt;..  TTTO
14c10 4f 4c 49 4e 46 4f 57 20 74 69 3b 0d 0a 7d 0d 0a  OLINFOW ti;..}..
14c20 61 6c 69 61 73 20 5f 54 54 5f 48 49 54 54 45 53  alias _TT_HITTES
14c30 54 49 4e 46 4f 57 20 54 54 48 49 54 54 45 53 54  TINFOW TTHITTEST
14c40 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 5f 54  INFOW;..alias _T
14c50 54 5f 48 49 54 54 45 53 54 49 4e 46 4f 57 2a 20  T_HITTESTINFOW* 
14c60 4c 50 54 54 48 49 54 54 45 53 54 49 4e 46 4f 57  LPTTHITTESTINFOW
14c70 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
14c80 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
14c90 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
14ca0 73 65 0d 0a 61 6c 69 61 73 20 54 54 48 49 54 54  se..alias TTHITT
14cb0 45 53 54 49 4e 46 4f 41 20 54 54 48 49 54 54 45  ESTINFOA TTHITTE
14cc0 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4c  STINFO;..alias L
14cd0 50 54 54 48 49 54 54 45 53 54 49 4e 46 4f 41 20  PTTHITTESTINFOA 
14ce0 4c 50 54 54 48 49 54 54 45 53 54 49 4e 46 4f 3b  LPTTHITTESTINFO;
14cf0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
14d00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4e  num : uint { TTN
14d10 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20 3d 20  _GETDISPINFOA = 
14d20 54 54 4e 5f 46 49 52 53 54 20 2d 20 30 20 7d 0d  TTN_FIRST - 0 }.
14d30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
14d40 54 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57 20  TN_GETDISPINFOW 
14d50 3d 20 54 54 4e 5f 46 49 52 53 54 20 2d 20 31 30  = TTN_FIRST - 10
14d60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14d70 7b 20 54 54 4e 5f 53 48 4f 57 20 3d 20 54 54 4e  { TTN_SHOW = TTN
14d80 5f 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 65 6e  _FIRST - 1 }..en
14d90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4e 5f  um : uint { TTN_
14da0 50 4f 50 20 3d 20 54 54 4e 5f 46 49 52 53 54 20  POP = TTN_FIRST 
14db0 2d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  - 2 }..enum : ui
14dc0 6e 74 20 7b 20 54 54 4e 5f 4c 49 4e 4b 43 4c 49  nt { TTN_LINKCLI
14dd0 43 4b 20 3d 20 54 54 4e 5f 46 49 52 53 54 20 2d  CK = TTN_FIRST -
14de0 20 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65   3 }....// #ifde
14df0 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
14e00 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
14e10 69 61 73 20 54 54 4e 5f 47 45 54 44 49 53 50 49  ias TTN_GETDISPI
14e20 4e 46 4f 41 20 54 54 4e 5f 47 45 54 44 49 53 50  NFOA TTN_GETDISP
14e30 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  INFO;..// #endif
14e40 0d 0a 0d 0a 61 6c 69 61 73 20 54 54 4e 5f 47 45  ....alias TTN_GE
14e50 54 44 49 53 50 49 4e 46 4f 20 54 54 4e 5f 4e 45  TDISPINFO TTN_NE
14e60 45 44 54 45 58 54 3b 0d 0a 61 6c 69 61 73 20 54  EDTEXT;..alias T
14e70 54 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20  TN_GETDISPINFOA 
14e80 54 54 4e 5f 4e 45 45 44 54 45 58 54 41 3b 0d 0a  TTN_NEEDTEXTA;..
14e90 61 6c 69 61 73 20 54 54 4e 5f 47 45 54 44 49 53  alias TTN_GETDIS
14ea0 50 49 4e 46 4f 57 20 54 54 4e 5f 4e 45 45 44 54  PINFOW TTN_NEEDT
14eb0 45 58 54 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20  EXTW;....// #if 
14ec0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
14ed0 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e 4d 54  0300)..alias NMT
14ee0 54 44 49 53 50 49 4e 46 4f 57 20 54 4f 4f 4c 54  TDISPINFOW TOOLT
14ef0 49 50 54 45 58 54 57 3b 0d 0a 61 6c 69 61 73 20  IPTEXTW;..alias 
14f00 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 20 54 4f  NMTTDISPINFOA TO
14f10 4f 4c 54 49 50 54 45 58 54 41 3b 0d 0a 61 6c 69  OLTIPTEXTA;..ali
14f20 61 73 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46  as LPNMTTDISPINF
14f30 4f 41 20 4c 50 54 4f 4f 4c 54 49 50 54 45 58 54  OA LPTOOLTIPTEXT
14f40 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 54  A;..alias LPNMTT
14f50 44 49 53 50 49 4e 46 4f 57 20 4c 50 54 4f 4f 4c  DISPINFOW LPTOOL
14f60 54 49 50 54 45 58 54 57 3b 0d 0a 2f 2f 20 23 65  TIPTEXTW;..// #e
14f70 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
14f80 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
14f90 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
14fa0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
14fb0 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 4e 4d  ndif....alias NM
14fc0 54 54 44 49 53 50 49 4e 46 4f 20 54 4f 4f 4c 54  TTDISPINFO TOOLT
14fd0 49 50 54 45 58 54 3b 0d 0a 61 6c 69 61 73 20 4c  IPTEXT;..alias L
14fe0 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f 20 4c 50  PNMTTDISPINFO LP
14ff0 54 4f 4f 4c 54 49 50 54 45 58 54 3b 0d 0a 0d 0a  TOOLTIPTEXT;....
15000 2f 2f 20 23 64 65 66 69 6e 65 20 4e 4d 54 54 44  // #define NMTTD
15010 49 53 50 49 4e 46 4f 41 5f 56 31 5f 53 49 5a 45  ISPINFOA_V1_SIZE
15020 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54   CCSIZEOF_STRUCT
15030 28 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 2c 20  (NMTTDISPINFOA, 
15040 75 46 6c 61 67 73 29 0d 0a 2f 2f 20 23 64 65 66  uFlags)..// #def
15050 69 6e 65 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f  ine NMTTDISPINFO
15060 57 5f 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45  W_V1_SIZE CCSIZE
15070 4f 46 5f 53 54 52 55 43 54 28 4e 4d 54 54 44 49  OF_STRUCT(NMTTDI
15080 53 50 49 4e 46 4f 57 2c 20 75 46 6c 61 67 73 29  SPINFOW, uFlags)
15090 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
150a0 54 54 44 49 53 50 49 4e 46 4f 41 20 7b 0d 0a 20  TTDISPINFOA {.. 
150b0 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 4c   NMHDR hdr;..  L
150c0 50 53 54 52 20 6c 70 73 7a 54 65 78 74 3b 0d 0a  PSTR lpszText;..
150d0 20 20 63 68 61 72 20 73 7a 54 65 78 74 5b 38 30    char szText[80
150e0 5d 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20  ];..  HINSTANCE 
150f0 68 69 6e 73 74 3b 0d 0a 20 20 55 49 4e 54 20 75  hinst;..  UINT u
15100 46 6c 61 67 73 3b 0d 0a 2f 2f 20 23 69 66 20 28  Flags;..// #if (
15110 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
15120 33 30 30 29 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  300)..  LPARAM l
15130 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69  Param;..// #endi
15140 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e  f..}..alias tagN
15150 4d 54 54 44 49 53 50 49 4e 46 4f 41 20 4e 4d 54  MTTDISPINFOA NMT
15160 54 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 61 6c 69  TDISPINFOA;..ali
15170 61 73 20 74 61 67 4e 4d 54 54 44 49 53 50 49 4e  as tagNMTTDISPIN
15180 46 4f 41 2a 20 4c 50 4e 4d 54 54 44 49 53 50 49  FOA* LPNMTTDISPI
15190 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  NFOA;....struct 
151a0 74 61 67 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57  tagNMTTDISPINFOW
151b0 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
151c0 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 7a 54  ..  LPWSTR lpszT
151d0 65 78 74 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a  ext;..  WCHAR sz
151e0 54 65 78 74 5b 38 30 5d 3b 0d 0a 20 20 48 49 4e  Text[80];..  HIN
151f0 53 54 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 20  STANCE hinst;.. 
15200 20 55 49 4e 54 20 75 46 6c 61 67 73 3b 0d 0a 2f   UINT uFlags;../
15210 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
15220 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 4c   >= 0x0300)..  L
15230 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f  PARAM lParam;../
15240 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69  / #endif..}..ali
15250 61 73 20 74 61 67 4e 4d 54 54 44 49 53 50 49 4e  as tagNMTTDISPIN
15260 46 4f 57 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f  FOW NMTTDISPINFO
15270 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54  W;..alias tagNMT
15280 54 44 49 53 50 49 4e 46 4f 57 2a 20 4c 50 4e 4d  TDISPINFOW* LPNM
15290 54 54 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 0d 0a  TTDISPINFOW;....
152a0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
152b0 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
152c0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
152d0 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4e 4d   #else..alias NM
152e0 54 54 44 49 53 50 49 4e 46 4f 41 20 4e 4d 54 54  TTDISPINFOA NMTT
152f0 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  DISPINFO;..alias
15300 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41   LPNMTTDISPINFOA
15310 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f 3b   LPNMTTDISPINFO;
15320 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e 4d 54  ..// #define NMT
15330 54 44 49 53 50 49 4e 46 4f 5f 56 31 5f 53 49 5a  TDISPINFO_V1_SIZ
15340 45 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 5f  E NMTTDISPINFOA_
15350 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6e 64  V1_SIZE..// #end
15360 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  if....// #endif 
15370 20 20 20 20 20 2f 2f 20 4e 4f 54 4f 4f 4c 54 49       // NOTOOLTI
15380 50 53 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  PS....// #ifndef
15390 20 4e 4f 53 54 41 54 55 53 42 41 52 0d 0a 0d 0a   NOSTATUSBAR....
153a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42  enum : uint { SB
153b0 41 52 53 5f 53 49 5a 45 47 52 49 50 20 3d 20 30  ARS_SIZEGRIP = 0
153c0 78 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20  x0100 }..// #if 
153d0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
153e0 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
153f0 6e 74 20 7b 20 53 42 41 52 53 5f 54 4f 4f 4c 54  nt { SBARS_TOOLT
15400 49 50 53 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a  IPS = 0x0800 }..
15410 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
15420 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
15430 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75  = 0x0400)....enu
15440 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 54 5f 54  m : uint { SBT_T
15450 4f 4f 4c 54 49 50 53 20 3d 20 30 78 30 38 30 30  OOLTIPS = 0x0800
15460 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
15470 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
15480 20 65 78 70 6f 72 74 20 76 6f 69 64 20 44 72 61   export void Dra
15490 77 53 74 61 74 75 73 54 65 78 74 41 28 48 44 43  wStatusTextA(HDC
154a0 20 68 44 43 2c 20 4c 50 52 45 43 54 20 6c 70 72   hDC, LPRECT lpr
154b0 63 2c 20 4c 50 43 53 54 52 20 70 73 7a 54 65 78  c, LPCSTR pszTex
154c0 74 2c 20 55 49 4e 54 20 75 46 6c 61 67 73 29 3b  t, UINT uFlags);
154d0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
154e0 29 20 65 78 70 6f 72 74 20 76 6f 69 64 20 44 72  ) export void Dr
154f0 61 77 53 74 61 74 75 73 54 65 78 74 57 28 48 44  awStatusTextW(HD
15500 43 20 68 44 43 2c 20 4c 50 52 45 43 54 20 6c 70  C hDC, LPRECT lp
15510 72 63 2c 20 4c 50 43 57 53 54 52 20 70 73 7a 54  rc, LPCWSTR pszT
15520 65 78 74 2c 20 55 49 4e 54 20 75 46 6c 61 67 73  ext, UINT uFlags
15530 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
15540 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
15550 44 20 43 72 65 61 74 65 53 74 61 74 75 73 57 69  D CreateStatusWi
15560 6e 64 6f 77 41 28 4c 4f 4e 47 20 73 74 79 6c 65  ndowA(LONG style
15570 2c 20 4c 50 43 53 54 52 20 6c 70 73 7a 54 65 78  , LPCSTR lpszTex
15580 74 2c 20 48 57 4e 44 20 68 77 6e 64 50 61 72 65  t, HWND hwndPare
15590 6e 74 2c 20 55 49 4e 54 20 77 49 44 29 3b 0d 0a  nt, UINT wID);..
155a0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
155b0 65 78 70 6f 72 74 20 48 57 4e 44 20 43 72 65 61  export HWND Crea
155c0 74 65 53 74 61 74 75 73 57 69 6e 64 6f 77 57 28  teStatusWindowW(
155d0 4c 4f 4e 47 20 73 74 79 6c 65 2c 20 4c 50 43 57  LONG style, LPCW
155e0 53 54 52 20 6c 70 73 7a 54 65 78 74 2c 20 48 57  STR lpszText, HW
155f0 4e 44 20 68 77 6e 64 50 61 72 65 6e 74 2c 20 55  ND hwndParent, U
15600 49 4e 54 20 77 49 44 29 3b 0d 0a 0d 0a 2f 2f 20  INT wID);....// 
15610 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
15620 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
15630 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
15640 73 20 43 72 65 61 74 65 53 74 61 74 75 73 57 69  s CreateStatusWi
15650 6e 64 6f 77 41 20 43 72 65 61 74 65 53 74 61 74  ndowA CreateStat
15660 75 73 57 69 6e 64 6f 77 3b 0d 0a 61 6c 69 61 73  usWindow;..alias
15670 20 44 72 61 77 53 74 61 74 75 73 54 65 78 74 41   DrawStatusTextA
15680 20 44 72 61 77 53 74 61 74 75 73 54 65 78 74 3b   DrawStatusText;
15690 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
156a0 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
156b0 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 53  .const wchar[] S
156c0 54 41 54 55 53 43 4c 41 53 53 4e 41 4d 45 57 20  TATUSCLASSNAMEW 
156d0 3d 20 22 6d 73 63 74 6c 73 5f 73 74 61 74 75 73  = "msctls_status
156e0 62 61 72 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 63  bar32";..const c
156f0 68 61 72 5b 5d 20 53 54 41 54 55 53 43 4c 41 53  har[] STATUSCLAS
15700 53 4e 41 4d 45 41 20 3d 20 22 6d 73 63 74 6c 73  SNAMEA = "msctls
15710 5f 73 74 61 74 75 73 62 61 72 33 32 22 3b 0d 0a  _statusbar32";..
15720 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
15730 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
15740 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 54   #else..alias ST
15750 41 54 55 53 43 4c 41 53 53 4e 41 4d 45 41 20 53  ATUSCLASSNAMEA S
15760 54 41 54 55 53 43 4c 41 53 53 4e 41 4d 45 3b 0d  TATUSCLASSNAME;.
15770 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
15780 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
15790 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
157a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 53  um : uint { SB_S
157b0 45 54 54 45 58 54 41 20 3d 20 57 4d 5f 55 53 45  ETTEXTA = WM_USE
157c0 52 2b 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  R+1 }..enum : ui
157d0 6e 74 20 7b 20 53 42 5f 53 45 54 54 45 58 54 57  nt { SB_SETTEXTW
157e0 20 3d 20 57 4d 5f 55 53 45 52 2b 31 31 20 7d 0d   = WM_USER+11 }.
157f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
15800 42 5f 47 45 54 54 45 58 54 41 20 3d 20 57 4d 5f  B_GETTEXTA = WM_
15810 55 53 45 52 2b 32 20 7d 0d 0a 65 6e 75 6d 20 3a  USER+2 }..enum :
15820 20 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 54 45   uint { SB_GETTE
15830 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 2b 31 33  XTW = WM_USER+13
15840 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
15850 7b 20 53 42 5f 47 45 54 54 45 58 54 4c 45 4e 47  { SB_GETTEXTLENG
15860 54 48 41 20 3d 20 57 4d 5f 55 53 45 52 2b 33 20  THA = WM_USER+3 
15870 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
15880 20 53 42 5f 47 45 54 54 45 58 54 4c 45 4e 47 54   SB_GETTEXTLENGT
15890 48 57 20 3d 20 57 4d 5f 55 53 45 52 2b 31 32 20  HW = WM_USER+12 
158a0 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  }....// #ifdef U
158b0 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
158c0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
158d0 2e 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
158e0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
158f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
15900 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  ...// #endif..//
15910 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 42   #else..alias SB
15920 5f 47 45 54 54 45 58 54 41 20 53 42 5f 47 45 54  _GETTEXTA SB_GET
15930 54 45 58 54 3b 0d 0a 61 6c 69 61 73 20 53 42 5f  TEXT;..alias SB_
15940 53 45 54 54 45 58 54 41 20 53 42 5f 53 45 54 54  SETTEXTA SB_SETT
15950 45 58 54 3b 0d 0a 61 6c 69 61 73 20 53 42 5f 47  EXT;..alias SB_G
15960 45 54 54 45 58 54 4c 45 4e 47 54 48 41 20 53 42  ETTEXTLENGTHA SB
15970 5f 47 45 54 54 45 58 54 4c 45 4e 47 54 48 3b 0d  _GETTEXTLENGTH;.
15980 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
15990 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61  IE >= 0x0400)..a
159a0 6c 69 61 73 20 53 42 5f 53 45 54 54 49 50 54 45  lias SB_SETTIPTE
159b0 58 54 41 20 53 42 5f 53 45 54 54 49 50 54 45 58  XTA SB_SETTIPTEX
159c0 54 3b 0d 0a 61 6c 69 61 73 20 53 42 5f 47 45 54  T;..alias SB_GET
159d0 54 49 50 54 45 58 54 41 20 53 42 5f 47 45 54 54  TIPTEXTA SB_GETT
159e0 49 50 54 45 58 54 3b 0d 0a 2f 2f 20 23 65 6e 64  IPTEXT;..// #end
159f0 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  if..// #endif...
15a00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
15a10 42 5f 53 45 54 50 41 52 54 53 20 3d 20 57 4d 5f  B_SETPARTS = WM_
15a20 55 53 45 52 2b 34 20 7d 0d 0a 65 6e 75 6d 20 3a  USER+4 }..enum :
15a30 20 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 50 41   uint { SB_GETPA
15a40 52 54 53 20 3d 20 57 4d 5f 55 53 45 52 2b 36 20  RTS = WM_USER+6 
15a50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
15a60 20 53 42 5f 47 45 54 42 4f 52 44 45 52 53 20 3d   SB_GETBORDERS =
15a70 20 57 4d 5f 55 53 45 52 2b 37 20 7d 0d 0a 65 6e   WM_USER+7 }..en
15a80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 53  um : uint { SB_S
15a90 45 54 4d 49 4e 48 45 49 47 48 54 20 3d 20 57 4d  ETMINHEIGHT = WM
15aa0 5f 55 53 45 52 2b 38 20 7d 0d 0a 65 6e 75 6d 20  _USER+8 }..enum 
15ab0 3a 20 75 69 6e 74 20 7b 20 53 42 5f 53 49 4d 50  : uint { SB_SIMP
15ac0 4c 45 20 3d 20 57 4d 5f 55 53 45 52 2b 39 20 7d  LE = WM_USER+9 }
15ad0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
15ae0 53 42 5f 47 45 54 52 45 43 54 20 3d 20 57 4d 5f  SB_GETRECT = WM_
15af0 55 53 45 52 2b 31 30 20 7d 0d 0a 2f 2f 20 23 69  USER+10 }..// #i
15b00 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
15b10 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0300)..enum : 
15b20 75 69 6e 74 20 7b 20 53 42 5f 49 53 53 49 4d 50  uint { SB_ISSIMP
15b30 4c 45 20 3d 20 57 4d 5f 55 53 45 52 2b 31 34 20  LE = WM_USER+14 
15b40 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  }..// #endif..//
15b50 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
15b60 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
15b70 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 53 45 54   : uint { SB_SET
15b80 49 43 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 2b 31  ICON = WM_USER+1
15b90 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  5 }..// #define 
15ba0 53 42 5f 53 45 54 54 49 50 54 45 58 54 41 20 28  SB_SETTIPTEXTA (
15bb0 57 4d 5f 55 53 45 52 2b 31 36 29 0d 0a 2f 2f 20  WM_USER+16)..// 
15bc0 23 64 65 66 69 6e 65 20 53 42 5f 53 45 54 54 49  #define SB_SETTI
15bd0 50 54 45 58 54 57 20 28 57 4d 5f 55 53 45 52 2b  PTEXTW (WM_USER+
15be0 31 37 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  17)..// #define 
15bf0 53 42 5f 47 45 54 54 49 50 54 45 58 54 41 20 28  SB_GETTIPTEXTA (
15c00 57 4d 5f 55 53 45 52 2b 31 38 29 0d 0a 2f 2f 20  WM_USER+18)..// 
15c10 23 64 65 66 69 6e 65 20 53 42 5f 47 45 54 54 49  #define SB_GETTI
15c20 50 54 45 58 54 57 20 28 57 4d 5f 55 53 45 52 2b  PTEXTW (WM_USER+
15c30 31 39 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  19)..enum : uint
15c40 20 7b 20 53 42 5f 47 45 54 49 43 4f 4e 20 3d 20   { SB_GETICON = 
15c50 57 4d 5f 55 53 45 52 2b 32 30 20 7d 0d 0a 61 6c  WM_USER+20 }..al
15c60 69 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f  ias CCM_SETUNICO
15c70 44 45 46 4f 52 4d 41 54 20 53 42 5f 53 45 54 55  DEFORMAT SB_SETU
15c80 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61  NICODEFORMAT;..a
15c90 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43  lias CCM_GETUNIC
15ca0 4f 44 45 46 4f 52 4d 41 54 20 53 42 5f 47 45 54  ODEFORMAT SB_GET
15cb0 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a  UNICODEFORMAT;..
15cc0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
15cd0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 54 5f 4f  m : uint { SBT_O
15ce0 57 4e 45 52 44 52 41 57 20 3d 20 30 78 31 30 30  WNERDRAW = 0x100
15cf0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
15d00 20 7b 20 53 42 54 5f 4e 4f 42 4f 52 44 45 52 53   { SBT_NOBORDERS
15d10 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75   = 0x0100 }..enu
15d20 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 54 5f 50  m : uint { SBT_P
15d30 4f 50 4f 55 54 20 3d 20 30 78 30 32 30 30 20 7d  OPOUT = 0x0200 }
15d40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
15d50 53 42 54 5f 52 54 4c 52 45 41 44 49 4e 47 20 3d  SBT_RTLREADING =
15d60 20 30 78 30 34 30 30 20 7d 0d 0a 2f 2f 20 23 69   0x0400 }..// #i
15d70 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
15d80 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
15d90 75 69 6e 74 20 7b 20 53 42 54 5f 4e 4f 54 41 42  uint { SBT_NOTAB
15da0 50 41 52 53 49 4e 47 20 3d 20 30 78 30 38 30 30  PARSING = 0x0800
15db0 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
15dc0 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 42 4b  .alias CCM_SETBK
15dd0 43 4f 4c 4f 52 20 53 42 5f 53 45 54 42 4b 43 4f  COLOR SB_SETBKCO
15de0 4c 4f 52 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  LOR;....// #if (
15df0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
15e00 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
15e10 74 20 7b 20 53 42 4e 5f 53 49 4d 50 4c 45 4d 4f  t { SBN_SIMPLEMO
15e20 44 45 43 48 41 4e 47 45 20 3d 20 53 42 4e 5f 46  DECHANGE = SBN_F
15e30 49 52 53 54 20 2d 20 30 20 7d 0d 0a 2f 2f 20 23  IRST - 0 }..// #
15e40 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
15e50 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
15e60 30 35 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0500)....enum : 
15e70 75 69 6e 74 20 7b 20 53 42 5f 53 49 4d 50 4c 45  uint { SB_SIMPLE
15e80 49 44 20 3d 20 30 78 30 30 66 66 20 7d 0d 0a 2f  ID = 0x00ff }../
15e90 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
15ea0 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f  endif      // NO
15eb0 53 54 41 54 55 53 42 41 52 0d 0a 0d 0a 2f 2f 20  STATUSBAR....// 
15ec0 23 69 66 6e 64 65 66 20 4e 4f 4d 45 4e 55 48 45  #ifndef NOMENUHE
15ed0 4c 50 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  LP....extern(Win
15ee0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f 69  dows) export voi
15ef0 64 20 4d 65 6e 75 48 65 6c 70 28 55 49 4e 54 20  d MenuHelp(UINT 
15f00 75 4d 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61  uMsg, WPARAM wPa
15f10 72 61 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72  ram, LPARAM lPar
15f20 61 6d 2c 20 48 4d 45 4e 55 20 68 4d 61 69 6e 4d  am, HMENU hMainM
15f30 65 6e 75 2c 20 48 49 4e 53 54 41 4e 43 45 20 68  enu, HINSTANCE h
15f40 49 6e 73 74 2c 20 48 57 4e 44 20 68 77 6e 64 53  Inst, HWND hwndS
15f50 74 61 74 75 73 2c 20 55 49 4e 54 20 2a 6c 70 77  tatus, UINT *lpw
15f60 49 44 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  IDs);..extern(Wi
15f70 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
15f80 4f 4c 20 53 68 6f 77 48 69 64 65 4d 65 6e 75 43  OL ShowHideMenuC
15f90 74 6c 28 48 57 4e 44 20 68 57 6e 64 2c 20 55 49  tl(HWND hWnd, UI
15fa0 4e 54 5f 50 54 52 20 75 46 6c 61 67 73 2c 20 4c  NT_PTR uFlags, L
15fb0 50 49 4e 54 20 6c 70 49 6e 66 6f 29 3b 0d 0a 65  PINT lpInfo);..e
15fc0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
15fd0 78 70 6f 72 74 20 76 6f 69 64 20 47 65 74 45 66  xport void GetEf
15fe0 66 65 63 74 69 76 65 43 6c 69 65 6e 74 52 65 63  fectiveClientRec
15ff0 74 28 48 57 4e 44 20 68 57 6e 64 2c 20 4c 50 52  t(HWND hWnd, LPR
16000 45 43 54 20 6c 70 72 63 2c 20 4c 50 49 4e 54 20  ECT lprc, LPINT 
16010 6c 70 49 6e 66 6f 29 3b 0d 0a 0d 0a 61 6c 69 61  lpInfo);....alia
16020 73 20 53 43 5f 53 49 5a 45 20 4d 49 4e 53 59 53  s SC_SIZE MINSYS
16030 43 4f 4d 4d 41 4e 44 3b 0d 0a 0d 0a 2f 2f 20 23  COMMAND;....// #
16040 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  endif....// #ifn
16050 64 65 66 20 4e 4f 54 52 41 43 4b 42 41 52 0d 0a  def NOTRACKBAR..
16060 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
16070 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72  32....const char
16080 5b 5d 20 54 52 41 43 4b 42 41 52 5f 43 4c 41 53  [] TRACKBAR_CLAS
16090 53 41 20 3d 20 22 6d 73 63 74 6c 73 5f 74 72 61  SA = "msctls_tra
160a0 63 6b 62 61 72 33 32 22 3b 0d 0a 63 6f 6e 73 74  ckbar32";..const
160b0 20 77 63 68 61 72 5b 5d 20 54 52 41 43 4b 42 41   wchar[] TRACKBA
160c0 52 5f 43 4c 41 53 53 57 20 3d 20 22 6d 73 63 74  R_CLASSW = "msct
160d0 6c 73 5f 74 72 61 63 6b 62 61 72 33 32 22 3b 0d  ls_trackbar32";.
160e0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
160f0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
16100 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 54  / #else..alias T
16110 52 41 43 4b 42 41 52 5f 43 4c 41 53 53 41 20 54  RACKBAR_CLASSA T
16120 52 41 43 4b 42 41 52 5f 43 4c 41 53 53 3b 0d 0a  RACKBAR_CLASS;..
16130 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
16140 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
16150 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
16160 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 41  m : uint { TBS_A
16170 55 54 4f 54 49 43 4b 53 20 3d 20 30 78 30 30 30  UTOTICKS = 0x000
16180 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
16190 20 7b 20 54 42 53 5f 56 45 52 54 20 3d 20 30 78   { TBS_VERT = 0x
161a0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
161b0 69 6e 74 20 7b 20 54 42 53 5f 48 4f 52 5a 20 3d  int { TBS_HORZ =
161c0 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0000 }..enum 
161d0 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 54 4f 50  : uint { TBS_TOP
161e0 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
161f0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 42  m : uint { TBS_B
16200 4f 54 54 4f 4d 20 3d 20 30 78 30 30 30 30 20 7d  OTTOM = 0x0000 }
16210 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16220 54 42 53 5f 4c 45 46 54 20 3d 20 30 78 30 30 30  TBS_LEFT = 0x000
16230 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
16240 20 7b 20 54 42 53 5f 52 49 47 48 54 20 3d 20 30   { TBS_RIGHT = 0
16250 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
16260 75 69 6e 74 20 7b 20 54 42 53 5f 42 4f 54 48 20  uint { TBS_BOTH 
16270 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
16280 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 4e 4f   : uint { TBS_NO
16290 54 49 43 4b 53 20 3d 20 30 78 30 30 31 30 20 7d  TICKS = 0x0010 }
162a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
162b0 54 42 53 5f 45 4e 41 42 4c 45 53 45 4c 52 41 4e  TBS_ENABLESELRAN
162c0 47 45 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65  GE = 0x0020 }..e
162d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
162e0 5f 46 49 58 45 44 4c 45 4e 47 54 48 20 3d 20 30  _FIXEDLENGTH = 0
162f0 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0040 }..enum : 
16300 75 69 6e 74 20 7b 20 54 42 53 5f 4e 4f 54 48 55  uint { TBS_NOTHU
16310 4d 42 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f  MB = 0x0080 }../
16320 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
16330 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
16340 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 54  m : uint { TBS_T
16350 4f 4f 4c 54 49 50 53 20 3d 20 30 78 30 31 30 30  OOLTIPS = 0x0100
16360 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f   }..// #endif../
16370 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
16380 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
16390 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 52  m : uint { TBS_R
163a0 45 56 45 52 53 45 44 20 3d 20 30 78 30 32 30 30  EVERSED = 0x0200
163b0 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
163c0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
163d0 49 45 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a 65  IE >= 0x0501)..e
163e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
163f0 5f 44 4f 57 4e 49 53 4c 45 46 54 20 3d 20 30 78  _DOWNISLEFT = 0x
16400 30 34 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0400 }..// #endi
16410 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
16420 20 7b 20 54 42 4d 5f 47 45 54 50 4f 53 20 3d 20   { TBM_GETPOS = 
16430 57 4d 5f 55 53 45 52 20 7d 0d 0a 65 6e 75 6d 20  WM_USER }..enum 
16440 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54  : uint { TBM_GET
16450 52 41 4e 47 45 4d 49 4e 20 3d 20 57 4d 5f 55 53  RANGEMIN = WM_US
16460 45 52 2b 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  ER+1 }..enum : u
16470 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 52 41 4e  int { TBM_GETRAN
16480 47 45 4d 41 58 20 3d 20 57 4d 5f 55 53 45 52 2b  GEMAX = WM_USER+
16490 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
164a0 20 7b 20 54 42 4d 5f 47 45 54 54 49 43 20 3d 20   { TBM_GETTIC = 
164b0 57 4d 5f 55 53 45 52 2b 33 20 7d 0d 0a 65 6e 75  WM_USER+3 }..enu
164c0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53  m : uint { TBM_S
164d0 45 54 54 49 43 20 3d 20 57 4d 5f 55 53 45 52 2b  ETTIC = WM_USER+
164e0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
164f0 20 7b 20 54 42 4d 5f 53 45 54 50 4f 53 20 3d 20   { TBM_SETPOS = 
16500 57 4d 5f 55 53 45 52 2b 35 20 7d 0d 0a 65 6e 75  WM_USER+5 }..enu
16510 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53  m : uint { TBM_S
16520 45 54 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45  ETRANGE = WM_USE
16530 52 2b 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  R+6 }..enum : ui
16540 6e 74 20 7b 20 54 42 4d 5f 53 45 54 52 41 4e 47  nt { TBM_SETRANG
16550 45 4d 49 4e 20 3d 20 57 4d 5f 55 53 45 52 2b 37  EMIN = WM_USER+7
16560 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16570 7b 20 54 42 4d 5f 53 45 54 52 41 4e 47 45 4d 41  { TBM_SETRANGEMA
16580 58 20 3d 20 57 4d 5f 55 53 45 52 2b 38 20 7d 0d  X = WM_USER+8 }.
16590 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
165a0 42 4d 5f 43 4c 45 41 52 54 49 43 53 20 3d 20 57  BM_CLEARTICS = W
165b0 4d 5f 55 53 45 52 2b 39 20 7d 0d 0a 65 6e 75 6d  M_USER+9 }..enum
165c0 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45   : uint { TBM_SE
165d0 54 53 45 4c 20 3d 20 57 4d 5f 55 53 45 52 2b 31  TSEL = WM_USER+1
165e0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
165f0 20 7b 20 54 42 4d 5f 53 45 54 53 45 4c 53 54 41   { TBM_SETSELSTA
16600 52 54 20 3d 20 57 4d 5f 55 53 45 52 2b 31 31 20  RT = WM_USER+11 
16610 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16620 20 54 42 4d 5f 53 45 54 53 45 4c 45 4e 44 20 3d   TBM_SETSELEND =
16630 20 57 4d 5f 55 53 45 52 2b 31 32 20 7d 0d 0a 65   WM_USER+12 }..e
16640 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d  num : uint { TBM
16650 5f 47 45 54 50 54 49 43 53 20 3d 20 57 4d 5f 55  _GETPTICS = WM_U
16660 53 45 52 2b 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a  SER+14 }..enum :
16670 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 54   uint { TBM_GETT
16680 49 43 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 2b  ICPOS = WM_USER+
16690 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  15 }..enum : uin
166a0 74 20 7b 20 54 42 4d 5f 47 45 54 4e 55 4d 54 49  t { TBM_GETNUMTI
166b0 43 53 20 3d 20 57 4d 5f 55 53 45 52 2b 31 36 20  CS = WM_USER+16 
166c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
166d0 20 54 42 4d 5f 47 45 54 53 45 4c 53 54 41 52 54   TBM_GETSELSTART
166e0 20 3d 20 57 4d 5f 55 53 45 52 2b 31 37 20 7d 0d   = WM_USER+17 }.
166f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
16700 42 4d 5f 47 45 54 53 45 4c 45 4e 44 20 3d 20 57  BM_GETSELEND = W
16710 4d 5f 55 53 45 52 2b 31 38 20 7d 0d 0a 65 6e 75  M_USER+18 }..enu
16720 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 43  m : uint { TBM_C
16730 4c 45 41 52 53 45 4c 20 3d 20 57 4d 5f 55 53 45  LEARSEL = WM_USE
16740 52 2b 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  R+19 }..enum : u
16750 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 54 49 43  int { TBM_SETTIC
16760 46 52 45 51 20 3d 20 57 4d 5f 55 53 45 52 2b 32  FREQ = WM_USER+2
16770 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
16780 20 7b 20 54 42 4d 5f 53 45 54 50 41 47 45 53 49   { TBM_SETPAGESI
16790 5a 45 20 3d 20 57 4d 5f 55 53 45 52 2b 32 31 20  ZE = WM_USER+21 
167a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
167b0 20 54 42 4d 5f 47 45 54 50 41 47 45 53 49 5a 45   TBM_GETPAGESIZE
167c0 20 3d 20 57 4d 5f 55 53 45 52 2b 32 32 20 7d 0d   = WM_USER+22 }.
167d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
167e0 42 4d 5f 53 45 54 4c 49 4e 45 53 49 5a 45 20 3d  BM_SETLINESIZE =
167f0 20 57 4d 5f 55 53 45 52 2b 32 33 20 7d 0d 0a 65   WM_USER+23 }..e
16800 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d  num : uint { TBM
16810 5f 47 45 54 4c 49 4e 45 53 49 5a 45 20 3d 20 57  _GETLINESIZE = W
16820 4d 5f 55 53 45 52 2b 32 34 20 7d 0d 0a 65 6e 75  M_USER+24 }..enu
16830 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47  m : uint { TBM_G
16840 45 54 54 48 55 4d 42 52 45 43 54 20 3d 20 57 4d  ETTHUMBRECT = WM
16850 5f 55 53 45 52 2b 32 35 20 7d 0d 0a 65 6e 75 6d  _USER+25 }..enum
16860 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45   : uint { TBM_GE
16870 54 43 48 41 4e 4e 45 4c 52 45 43 54 20 3d 20 57  TCHANNELRECT = W
16880 4d 5f 55 53 45 52 2b 32 36 20 7d 0d 0a 65 6e 75  M_USER+26 }..enu
16890 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53  m : uint { TBM_S
168a0 45 54 54 48 55 4d 42 4c 45 4e 47 54 48 20 3d 20  ETTHUMBLENGTH = 
168b0 57 4d 5f 55 53 45 52 2b 32 37 20 7d 0d 0a 65 6e  WM_USER+27 }..en
168c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f  um : uint { TBM_
168d0 47 45 54 54 48 55 4d 42 4c 45 4e 47 54 48 20 3d  GETTHUMBLENGTH =
168e0 20 57 4d 5f 55 53 45 52 2b 32 38 20 7d 0d 0a 2f   WM_USER+28 }../
168f0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
16900 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
16910 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53  m : uint { TBM_S
16920 45 54 54 4f 4f 4c 54 49 50 53 20 3d 20 57 4d 5f  ETTOOLTIPS = WM_
16930 55 53 45 52 2b 32 39 20 7d 0d 0a 65 6e 75 6d 20  USER+29 }..enum 
16940 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54  : uint { TBM_GET
16950 54 4f 4f 4c 54 49 50 53 20 3d 20 57 4d 5f 55 53  TOOLTIPS = WM_US
16960 45 52 2b 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ER+30 }..enum : 
16970 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 54 49  uint { TBM_SETTI
16980 50 53 49 44 45 20 3d 20 57 4d 5f 55 53 45 52 2b  PSIDE = WM_USER+
16990 33 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  31 }....enum : u
169a0 69 6e 74 20 7b 20 54 42 54 53 5f 54 4f 50 20 3d  int { TBTS_TOP =
169b0 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
169c0 74 20 7b 20 54 42 54 53 5f 4c 45 46 54 20 3d 20  t { TBTS_LEFT = 
169d0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
169e0 20 7b 20 54 42 54 53 5f 42 4f 54 54 4f 4d 20 3d   { TBTS_BOTTOM =
169f0 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
16a00 74 20 7b 20 54 42 54 53 5f 52 49 47 48 54 20 3d  t { TBTS_RIGHT =
16a10 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   3 }....enum : u
16a20 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 42 55 44  int { TBM_SETBUD
16a30 44 59 20 3d 20 57 4d 5f 55 53 45 52 2b 33 32 20  DY = WM_USER+32 
16a40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16a50 20 54 42 4d 5f 47 45 54 42 55 44 44 59 20 3d 20   TBM_GETBUDDY = 
16a60 57 4d 5f 55 53 45 52 2b 33 33 20 7d 0d 0a 2f 2f  WM_USER+33 }..//
16a70 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20   #endif..// #if 
16a80 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
16a90 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 43 43 4d  0400)..alias CCM
16aa0 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
16ab0 54 20 54 42 4d 5f 53 45 54 55 4e 49 43 4f 44 45  T TBM_SETUNICODE
16ac0 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 43  FORMAT;..alias C
16ad0 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52  CM_GETUNICODEFOR
16ae0 4d 41 54 20 54 42 4d 5f 47 45 54 55 4e 49 43 4f  MAT TBM_GETUNICO
16af0 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 65  DEFORMAT;..// #e
16b00 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
16b10 69 6e 74 20 7b 20 54 42 5f 4c 49 4e 45 55 50 20  int { TB_LINEUP 
16b20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
16b30 6e 74 20 7b 20 54 42 5f 4c 49 4e 45 44 4f 57 4e  nt { TB_LINEDOWN
16b40 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
16b50 69 6e 74 20 7b 20 54 42 5f 50 41 47 45 55 50 20  int { TB_PAGEUP 
16b60 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
16b70 6e 74 20 7b 20 54 42 5f 50 41 47 45 44 4f 57 4e  nt { TB_PAGEDOWN
16b80 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
16b90 69 6e 74 20 7b 20 54 42 5f 54 48 55 4d 42 50 4f  int { TB_THUMBPO
16ba0 53 49 54 49 4f 4e 20 3d 20 34 20 7d 0d 0a 65 6e  SITION = 4 }..en
16bb0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 54  um : uint { TB_T
16bc0 48 55 4d 42 54 52 41 43 4b 20 3d 20 35 20 7d 0d  HUMBTRACK = 5 }.
16bd0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
16be0 42 5f 54 4f 50 20 3d 20 36 20 7d 0d 0a 65 6e 75  B_TOP = 6 }..enu
16bf0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 42 4f  m : uint { TB_BO
16c00 54 54 4f 4d 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d  TTOM = 7 }..enum
16c10 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 45 4e 44   : uint { TB_END
16c20 54 52 41 43 4b 20 3d 20 38 20 7d 0d 0a 0d 0a 2f  TRACK = 8 }..../
16c30 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
16c40 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 0d 0a 65   >= 0x0300)....e
16c50 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 43  num : uint { TBC
16c60 44 5f 54 49 43 53 20 3d 20 30 78 30 30 30 31 20  D_TICS = 0x0001 
16c70 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16c80 20 54 42 43 44 5f 54 48 55 4d 42 20 3d 20 30 78   TBCD_THUMB = 0x
16c90 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
16ca0 69 6e 74 20 7b 20 54 42 43 44 5f 43 48 41 4e 4e  int { TBCD_CHANN
16cb0 45 4c 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 2f  EL = 0x0003 }../
16cc0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
16cd0 65 6e 64 69 66 20 2f 2f 20 74 72 61 63 6b 62 61  endif // trackba
16ce0 72 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  r....// #ifndef 
16cf0 4e 4f 44 52 41 47 4c 49 53 54 0d 0a 0d 0a 73 74  NODRAGLIST....st
16d00 72 75 63 74 20 74 61 67 44 52 41 47 4c 49 53 54  ruct tagDRAGLIST
16d10 49 4e 46 4f 20 7b 0d 0a 20 20 55 49 4e 54 20 75  INFO {..  UINT u
16d20 4e 6f 74 69 66 69 63 61 74 69 6f 6e 3b 0d 0a 20  Notification;.. 
16d30 20 48 57 4e 44 20 68 57 6e 64 3b 0d 0a 20 20 50   HWND hWnd;..  P
16d40 4f 49 4e 54 20 70 74 43 75 72 73 6f 72 3b 0d 0a  OINT ptCursor;..
16d50 7d 0d 0a 61 6c 69 61 73 20 74 61 67 44 52 41 47  }..alias tagDRAG
16d60 4c 49 53 54 49 4e 46 4f 20 44 52 41 47 4c 49 53  LISTINFO DRAGLIS
16d70 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61  TINFO;..alias ta
16d80 67 44 52 41 47 4c 49 53 54 49 4e 46 4f 2a 20 4c  gDRAGLISTINFO* L
16d90 50 44 52 41 47 4c 49 53 54 49 4e 46 4f 3b 0d 0a  PDRAGLISTINFO;..
16da0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16db0 44 4c 5f 42 45 47 49 4e 44 52 41 47 20 3d 20 57  DL_BEGINDRAG = W
16dc0 4d 5f 55 53 45 52 2b 31 33 33 20 7d 0d 0a 65 6e  M_USER+133 }..en
16dd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 5f 44  um : uint { DL_D
16de0 52 41 47 47 49 4e 47 20 3d 20 57 4d 5f 55 53 45  RAGGING = WM_USE
16df0 52 2b 31 33 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R+134 }..enum : 
16e00 75 69 6e 74 20 7b 20 44 4c 5f 44 52 4f 50 50 45  uint { DL_DROPPE
16e10 44 20 3d 20 57 4d 5f 55 53 45 52 2b 31 33 35 20  D = WM_USER+135 
16e20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16e30 20 44 4c 5f 43 41 4e 43 45 4c 44 52 41 47 20 3d   DL_CANCELDRAG =
16e40 20 57 4d 5f 55 53 45 52 2b 31 33 36 20 7d 0d 0a   WM_USER+136 }..
16e50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16e60 44 4c 5f 43 55 52 53 4f 52 53 45 54 20 3d 20 30  DL_CURSORSET = 0
16e70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16e80 7b 20 44 4c 5f 53 54 4f 50 43 55 52 53 4f 52 20  { DL_STOPCURSOR 
16e90 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
16ea0 6e 74 20 7b 20 44 4c 5f 43 4f 50 59 43 55 52 53  nt { DL_COPYCURS
16eb0 4f 52 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  OR = 2 }..enum :
16ec0 20 75 69 6e 74 20 7b 20 44 4c 5f 4d 4f 56 45 43   uint { DL_MOVEC
16ed0 55 52 53 4f 52 20 3d 20 33 20 7d 0d 0a 0d 0a 63  URSOR = 3 }....c
16ee0 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 44 52 41  onst TCHAR[] DRA
16ef0 47 4c 49 53 54 4d 53 47 53 54 52 49 4e 47 20 3d  GLISTMSGSTRING =
16f00 20 22 63 6f 6d 6d 63 74 72 6c 5f 44 72 61 67 4c   "commctrl_DragL
16f10 69 73 74 4d 73 67 22 3b 0d 0a 0d 0a 65 78 74 65  istMsg";....exte
16f20 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
16f30 72 74 20 42 4f 4f 4c 20 4d 61 6b 65 44 72 61 67  rt BOOL MakeDrag
16f40 4c 69 73 74 28 48 57 4e 44 20 68 4c 42 29 3b 0d  List(HWND hLB);.
16f50 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
16f60 20 65 78 70 6f 72 74 20 76 6f 69 64 20 44 72 61   export void Dra
16f70 77 49 6e 73 65 72 74 28 48 57 4e 44 20 68 61 6e  wInsert(HWND han
16f80 64 50 61 72 65 6e 74 2c 20 48 57 4e 44 20 68 4c  dParent, HWND hL
16f90 42 2c 20 69 6e 74 20 6e 49 74 65 6d 29 3b 0d 0a  B, int nItem);..
16fa0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16fb0 29 20 65 78 70 6f 72 74 20 69 6e 74 20 4c 42 49  ) export int LBI
16fc0 74 65 6d 46 72 6f 6d 50 74 28 48 57 4e 44 20 68  temFromPt(HWND h
16fd0 4c 42 2c 20 50 4f 49 4e 54 20 70 74 2c 20 42 4f  LB, POINT pt, BO
16fe0 4f 4c 20 62 41 75 74 6f 53 63 72 6f 6c 6c 29 3b  OL bAutoScroll);
16ff0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
17000 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 55 50  .// #ifndef NOUP
17010 44 4f 57 4e 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  DOWN....// #ifde
17020 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73  f _WIN32....cons
17030 74 20 63 68 61 72 5b 5d 20 55 50 44 4f 57 4e 5f  t char[] UPDOWN_
17040 43 4c 41 53 53 41 20 3d 20 22 6d 73 63 74 6c 73  CLASSA = "msctls
17050 5f 75 70 64 6f 77 6e 33 32 22 3b 0d 0a 63 6f 6e  _updown32";..con
17060 73 74 20 77 63 68 61 72 5b 5d 20 55 50 44 4f 57  st wchar[] UPDOW
17070 4e 5f 43 4c 41 53 53 57 20 3d 20 22 6d 73 63 74  N_CLASSW = "msct
17080 6c 73 5f 75 70 64 6f 77 6e 33 32 22 3b 0d 0a 0d  ls_updown32";...
17090 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
170a0 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
170b0 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 55 50 44  #else..alias UPD
170c0 4f 57 4e 5f 43 4c 41 53 53 41 20 55 50 44 4f 57  OWN_CLASSA UPDOW
170d0 4e 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 65 6e  N_CLASS;..// #en
170e0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  dif....// #else.
170f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
17100 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 55  dif....struct _U
17110 44 41 43 43 45 4c 20 7b 0d 0a 20 20 55 49 4e 54  DACCEL {..  UINT
17120 20 6e 53 65 63 3b 0d 0a 20 20 55 49 4e 54 20 6e   nSec;..  UINT n
17130 49 6e 63 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  Inc;..}..alias _
17140 55 44 41 43 43 45 4c 20 55 44 41 43 43 45 4c 3b  UDACCEL UDACCEL;
17150 0d 0a 61 6c 69 61 73 20 5f 55 44 41 43 43 45 4c  ..alias _UDACCEL
17160 2a 20 4c 50 55 44 41 43 43 45 4c 3b 0d 0a 0d 0a  * LPUDACCEL;....
17170 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44  enum : uint { UD
17180 5f 4d 41 58 56 41 4c 20 3d 20 30 78 37 66 66 66  _MAXVAL = 0x7fff
17190 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
171a0 7b 20 55 44 5f 4d 49 4e 56 41 4c 20 3d 20 2d 55  { UD_MINVAL = -U
171b0 44 5f 4d 41 58 56 41 4c 20 7d 0d 0a 0d 0a 65 6e  D_MAXVAL }....en
171c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 53 5f  um : uint { UDS_
171d0 57 52 41 50 20 3d 20 30 78 30 30 30 31 20 7d 0d  WRAP = 0x0001 }.
171e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
171f0 44 53 5f 53 45 54 42 55 44 44 59 49 4e 54 20 3d  DS_SETBUDDYINT =
17200 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
17210 3a 20 75 69 6e 74 20 7b 20 55 44 53 5f 41 4c 49  : uint { UDS_ALI
17220 47 4e 52 49 47 48 54 20 3d 20 30 78 30 30 30 34  GNRIGHT = 0x0004
17230 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17240 7b 20 55 44 53 5f 41 4c 49 47 4e 4c 45 46 54 20  { UDS_ALIGNLEFT 
17250 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
17260 20 3a 20 75 69 6e 74 20 7b 20 55 44 53 5f 41 55   : uint { UDS_AU
17270 54 4f 42 55 44 44 59 20 3d 20 30 78 30 30 31 30  TOBUDDY = 0x0010
17280 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17290 7b 20 55 44 53 5f 41 52 52 4f 57 4b 45 59 53 20  { UDS_ARROWKEYS 
172a0 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  = 0x0020 }..enum
172b0 20 3a 20 75 69 6e 74 20 7b 20 55 44 53 5f 48 4f   : uint { UDS_HO
172c0 52 5a 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65  RZ = 0x0040 }..e
172d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 53  num : uint { UDS
172e0 5f 4e 4f 54 48 4f 55 53 41 4e 44 53 20 3d 20 30  _NOTHOUSANDS = 0
172f0 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 69 66 20  x0080 }..// #if 
17300 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
17310 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0300)..enum : ui
17320 6e 74 20 7b 20 55 44 53 5f 48 4f 54 54 52 41 43  nt { UDS_HOTTRAC
17330 4b 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 2f 2f  K = 0x0100 }..//
17340 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
17350 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53 45 54  : uint { UDM_SET
17360 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45 52 2b  RANGE = WM_USER+
17370 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  101 }..enum : ui
17380 6e 74 20 7b 20 55 44 4d 5f 47 45 54 52 41 4e 47  nt { UDM_GETRANG
17390 45 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 32 20  E = WM_USER+102 
173a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
173b0 20 55 44 4d 5f 53 45 54 50 4f 53 20 3d 20 57 4d   UDM_SETPOS = WM
173c0 5f 55 53 45 52 2b 31 30 33 20 7d 0d 0a 65 6e 75  _USER+103 }..enu
173d0 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 47  m : uint { UDM_G
173e0 45 54 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 2b  ETPOS = WM_USER+
173f0 31 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  104 }..enum : ui
17400 6e 74 20 7b 20 55 44 4d 5f 53 45 54 42 55 44 44  nt { UDM_SETBUDD
17410 59 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 35 20  Y = WM_USER+105 
17420 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
17430 20 55 44 4d 5f 47 45 54 42 55 44 44 59 20 3d 20   UDM_GETBUDDY = 
17440 57 4d 5f 55 53 45 52 2b 31 30 36 20 7d 0d 0a 65  WM_USER+106 }..e
17450 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d  num : uint { UDM
17460 5f 53 45 54 41 43 43 45 4c 20 3d 20 57 4d 5f 55  _SETACCEL = WM_U
17470 53 45 52 2b 31 30 37 20 7d 0d 0a 65 6e 75 6d 20  SER+107 }..enum 
17480 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 47 45 54  : uint { UDM_GET
17490 41 43 43 45 4c 20 3d 20 57 4d 5f 55 53 45 52 2b  ACCEL = WM_USER+
174a0 31 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  108 }..enum : ui
174b0 6e 74 20 7b 20 55 44 4d 5f 53 45 54 42 41 53 45  nt { UDM_SETBASE
174c0 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 39 20 7d   = WM_USER+109 }
174d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
174e0 55 44 4d 5f 47 45 54 42 41 53 45 20 3d 20 57 4d  UDM_GETBASE = WM
174f0 5f 55 53 45 52 2b 31 31 30 20 7d 0d 0a 2f 2f 20  _USER+110 }..// 
17500 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
17510 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
17520 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53 45 54  : uint { UDM_SET
17530 52 41 4e 47 45 33 32 20 3d 20 57 4d 5f 55 53 45  RANGE32 = WM_USE
17540 52 2b 31 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R+111 }..enum : 
17550 75 69 6e 74 20 7b 20 55 44 4d 5f 47 45 54 52 41  uint { UDM_GETRA
17560 4e 47 45 33 32 20 3d 20 57 4d 5f 55 53 45 52 2b  NGE32 = WM_USER+
17570 31 31 32 20 7d 0d 0a 61 6c 69 61 73 20 43 43 4d  112 }..alias CCM
17580 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
17590 54 20 55 44 4d 5f 53 45 54 55 4e 49 43 4f 44 45  T UDM_SETUNICODE
175a0 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 43  FORMAT;..alias C
175b0 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52  CM_GETUNICODEFOR
175c0 4d 41 54 20 55 44 4d 5f 47 45 54 55 4e 49 43 4f  MAT UDM_GETUNICO
175d0 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 65  DEFORMAT;..// #e
175e0 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  ndif..// #if (_W
175f0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30  IN32_IE >= 0x050
17600 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
17610 7b 20 55 44 4d 5f 53 45 54 50 4f 53 33 32 20 3d  { UDM_SETPOS32 =
17620 20 57 4d 5f 55 53 45 52 2b 31 31 33 20 7d 0d 0a   WM_USER+113 }..
17630 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44  enum : uint { UD
17640 4d 5f 47 45 54 50 4f 53 33 32 20 3d 20 57 4d 5f  M_GETPOS32 = WM_
17650 55 53 45 52 2b 31 31 34 20 7d 0d 0a 2f 2f 20 23  USER+114 }..// #
17660 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28  endif....extern(
17670 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
17680 48 57 4e 44 20 43 72 65 61 74 65 55 70 44 6f 77  HWND CreateUpDow
17690 6e 43 6f 6e 74 72 6f 6c 28 44 57 4f 52 44 20 64  nControl(DWORD d
176a0 77 53 74 79 6c 65 2c 20 69 6e 74 20 78 2c 20 69  wStyle, int x, i
176b0 6e 74 20 79 2c 20 69 6e 74 20 63 78 2c 20 69 6e  nt y, int cx, in
176c0 74 20 63 79 2c 0d 0a 20 20 48 57 4e 44 20 68 50  t cy,..  HWND hP
176d0 61 72 65 6e 74 2c 20 69 6e 74 20 6e 49 44 2c 20  arent, int nID, 
176e0 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 2c  HINSTANCE hInst,
176f0 0d 0a 20 20 48 57 4e 44 20 68 42 75 64 64 79 2c  ..  HWND hBuddy,
17700 0d 0a 20 20 69 6e 74 20 6e 55 70 70 65 72 2c 20  ..  int nUpper, 
17710 69 6e 74 20 6e 4c 6f 77 65 72 2c 20 69 6e 74 20  int nLower, int 
17720 6e 50 6f 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  nPos);....// #if
17730 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
17740 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e 4d  x0300)..alias NM
17750 55 50 44 4f 57 4e 20 4e 4d 5f 55 50 44 4f 57 4e  UPDOWN NM_UPDOWN
17760 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 55 50 44  ;..alias LPNMUPD
17770 4f 57 4e 20 4c 50 4e 4d 5f 55 50 44 4f 57 4e 3b  OWN LPNM_UPDOWN;
17780 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
17790 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
177a0 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63   #endif....struc
177b0 74 20 5f 4e 4d 5f 55 50 44 4f 57 4e 20 7b 0d 0a  t _NM_UPDOWN {..
177c0 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20    NMHDR hdr;..  
177d0 69 6e 74 20 69 50 6f 73 3b 0d 0a 20 20 69 6e 74  int iPos;..  int
177e0 20 69 44 65 6c 74 61 3b 0d 0a 7d 0d 0a 61 6c 69   iDelta;..}..ali
177f0 61 73 20 5f 4e 4d 5f 55 50 44 4f 57 4e 20 4e 4d  as _NM_UPDOWN NM
17800 55 50 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 5f  UPDOWN;..alias _
17810 4e 4d 5f 55 50 44 4f 57 4e 2a 20 4c 50 4e 4d 55  NM_UPDOWN* LPNMU
17820 50 44 4f 57 4e 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  PDOWN;....enum :
17830 20 75 69 6e 74 20 7b 20 55 44 4e 5f 44 45 4c 54   uint { UDN_DELT
17840 41 50 4f 53 20 3d 20 55 44 4e 5f 46 49 52 53 54  APOS = UDN_FIRST
17850 20 2d 20 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e   - 1 }....// #en
17860 64 69 66 20 20 2f 2f 20 4e 4f 55 50 44 4f 57 4e  dif  // NOUPDOWN
17870 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
17880 4f 50 52 4f 47 52 45 53 53 0d 0a 0d 0a 2f 2f 20  OPROGRESS....// 
17890 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
178a0 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 50 52  .const char[] PR
178b0 4f 47 52 45 53 53 5f 43 4c 41 53 53 41 20 3d 20  OGRESS_CLASSA = 
178c0 22 6d 73 63 74 6c 73 5f 70 72 6f 67 72 65 73 73  "msctls_progress
178d0 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61  32";..const wcha
178e0 72 5b 5d 20 50 52 4f 47 52 45 53 53 5f 43 4c 41  r[] PROGRESS_CLA
178f0 53 53 57 20 3d 20 22 6d 73 63 74 6c 73 5f 70 72  SSW = "msctls_pr
17900 6f 67 72 65 73 73 33 32 22 3b 0d 0a 0d 0a 2f 2f  ogress32";....//
17910 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
17920 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
17930 73 65 0d 0a 61 6c 69 61 73 20 50 52 4f 47 52 45  se..alias PROGRE
17940 53 53 5f 43 4c 41 53 53 41 20 50 52 4f 47 52 45  SS_CLASSA PROGRE
17950 53 53 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 65  SS_CLASS;..// #e
17960 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  ndif....// #else
17970 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
17980 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
17990 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
179a0 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  300)..enum : uin
179b0 74 20 7b 20 50 42 53 5f 53 4d 4f 4f 54 48 20 3d  t { PBS_SMOOTH =
179c0 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x01 }..enum : 
179d0 75 69 6e 74 20 7b 20 50 42 53 5f 56 45 52 54 49  uint { PBS_VERTI
179e0 43 41 4c 20 3d 20 30 78 30 34 20 7d 0d 0a 2f 2f  CAL = 0x04 }..//
179f0 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
17a00 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53 45 54  : uint { PBM_SET
17a10 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45 52 2b  RANGE = WM_USER+
17a20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
17a30 20 7b 20 50 42 4d 5f 53 45 54 50 4f 53 20 3d 20   { PBM_SETPOS = 
17a40 57 4d 5f 55 53 45 52 2b 32 20 7d 0d 0a 65 6e 75  WM_USER+2 }..enu
17a50 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 44  m : uint { PBM_D
17a60 45 4c 54 41 50 4f 53 20 3d 20 57 4d 5f 55 53 45  ELTAPOS = WM_USE
17a70 52 2b 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  R+3 }..enum : ui
17a80 6e 74 20 7b 20 50 42 4d 5f 53 45 54 53 54 45 50  nt { PBM_SETSTEP
17a90 20 3d 20 57 4d 5f 55 53 45 52 2b 34 20 7d 0d 0a   = WM_USER+4 }..
17aa0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42  enum : uint { PB
17ab0 4d 5f 53 54 45 50 49 54 20 3d 20 57 4d 5f 55 53  M_STEPIT = WM_US
17ac0 45 52 2b 35 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  ER+5 }..// #if (
17ad0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
17ae0 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  300)..enum : uin
17af0 74 20 7b 20 50 42 4d 5f 53 45 54 52 41 4e 47 45  t { PBM_SETRANGE
17b00 33 32 20 3d 20 57 4d 5f 55 53 45 52 2b 36 20 7d  32 = WM_USER+6 }
17b10 0d 0a 73 74 72 75 63 74 20 5f 37 20 7b 0d 0a 20  ..struct _7 {.. 
17b20 20 69 6e 74 20 69 4c 6f 77 3b 0d 0a 20 20 69 6e   int iLow;..  in
17b30 74 20 69 48 69 67 68 3b 0d 0a 7d 0d 0a 61 6c 69  t iHigh;..}..ali
17b40 61 73 20 5f 37 20 50 42 52 41 4e 47 45 3b 0d 0a  as _7 PBRANGE;..
17b50 61 6c 69 61 73 20 5f 37 2a 20 50 50 42 52 41 4e  alias _7* PPBRAN
17b60 47 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  GE;....enum : ui
17b70 6e 74 20 7b 20 50 42 4d 5f 47 45 54 52 41 4e 47  nt { PBM_GETRANG
17b80 45 20 3d 20 57 4d 5f 55 53 45 52 2b 37 20 7d 0d  E = WM_USER+7 }.
17b90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
17ba0 42 4d 5f 47 45 54 50 4f 53 20 3d 20 57 4d 5f 55  BM_GETPOS = WM_U
17bb0 53 45 52 2b 38 20 7d 0d 0a 2f 2f 20 23 69 66 20  SER+8 }..// #if 
17bc0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
17bd0 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
17be0 6e 74 20 7b 20 50 42 4d 5f 53 45 54 42 41 52 43  nt { PBM_SETBARC
17bf0 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 52 2b 39  OLOR = WM_USER+9
17c00 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20   }..// #endif   
17c10 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20     // _WIN32_IE 
17c20 3e 3d 20 30 78 30 34 30 30 0d 0a 61 6c 69 61 73  >= 0x0400..alias
17c30 20 43 43 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 20   CCM_SETBKCOLOR 
17c40 50 42 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 3b 0d  PBM_SETBKCOLOR;.
17c50 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20  .// #endif      
17c60 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  // _WIN32_IE >= 
17c70 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23 65 6e  0x0300....// #en
17c80 64 69 66 20 20 2f 2f 20 4e 4f 50 52 4f 47 52 45  dif  // NOPROGRE
17c90 53 53 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  SS....// #ifndef
17ca0 20 4e 4f 48 4f 54 4b 45 59 0d 0a 0d 0a 65 6e 75   NOHOTKEY....enu
17cb0 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4f 54 4b 45  m : uint { HOTKE
17cc0 59 46 5f 53 48 49 46 54 20 3d 20 30 78 30 31 20  YF_SHIFT = 0x01 
17cd0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
17ce0 20 48 4f 54 4b 45 59 46 5f 43 4f 4e 54 52 4f 4c   HOTKEYF_CONTROL
17cf0 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d 20   = 0x02 }..enum 
17d00 3a 20 75 69 6e 74 20 7b 20 48 4f 54 4b 45 59 46  : uint { HOTKEYF
17d10 5f 41 4c 54 20 3d 20 30 78 30 34 20 7d 0d 0a 2f  _ALT = 0x04 }../
17d20 2f 20 23 69 66 64 65 66 20 5f 4d 41 43 0d 0a 2f  / #ifdef _MAC../
17d30 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
17d40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17d50 48 4f 54 4b 45 59 46 5f 45 58 54 20 3d 20 30 78  HOTKEYF_EXT = 0x
17d60 30 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  08 }..// #endif.
17d70 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
17d80 20 48 4b 43 4f 4d 42 5f 4e 4f 4e 45 20 3d 20 30   HKCOMB_NONE = 0
17d90 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
17da0 75 69 6e 74 20 7b 20 48 4b 43 4f 4d 42 5f 53 20  uint { HKCOMB_S 
17db0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
17dc0 20 3a 20 75 69 6e 74 20 7b 20 48 4b 43 4f 4d 42   : uint { HKCOMB
17dd0 5f 43 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  _C = 0x0004 }..e
17de0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4b 43  num : uint { HKC
17df0 4f 4d 42 5f 41 20 3d 20 30 78 30 30 30 38 20 7d  OMB_A = 0x0008 }
17e00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17e10 48 4b 43 4f 4d 42 5f 53 43 20 3d 20 30 78 30 30  HKCOMB_SC = 0x00
17e20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
17e30 74 20 7b 20 48 4b 43 4f 4d 42 5f 53 41 20 3d 20  t { HKCOMB_SA = 
17e40 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0020 }..enum :
17e50 20 75 69 6e 74 20 7b 20 48 4b 43 4f 4d 42 5f 43   uint { HKCOMB_C
17e60 41 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e  A = 0x0040 }..en
17e70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4b 43 4f  um : uint { HKCO
17e80 4d 42 5f 53 43 41 20 3d 20 30 78 30 30 38 30 20  MB_SCA = 0x0080 
17e90 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
17ea0 20 7b 20 48 4b 4d 5f 53 45 54 48 4f 54 4b 45 59   { HKM_SETHOTKEY
17eb0 20 3d 20 57 4d 5f 55 53 45 52 2b 31 20 7d 0d 0a   = WM_USER+1 }..
17ec0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4b  enum : uint { HK
17ed0 4d 5f 47 45 54 48 4f 54 4b 45 59 20 3d 20 57 4d  M_GETHOTKEY = WM
17ee0 5f 55 53 45 52 2b 32 20 7d 0d 0a 65 6e 75 6d 20  _USER+2 }..enum 
17ef0 3a 20 75 69 6e 74 20 7b 20 48 4b 4d 5f 53 45 54  : uint { HKM_SET
17f00 52 55 4c 45 53 20 3d 20 57 4d 5f 55 53 45 52 2b  RULES = WM_USER+
17f10 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  3 }....// #ifdef
17f20 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74   _WIN32....const
17f30 20 63 68 61 72 5b 5d 20 48 4f 54 4b 45 59 5f 43   char[] HOTKEY_C
17f40 4c 41 53 53 41 20 3d 20 22 6d 73 63 74 6c 73 5f  LASSA = "msctls_
17f50 68 6f 74 6b 65 79 33 32 22 3b 0d 0a 63 6f 6e 73  hotkey32";..cons
17f60 74 20 77 63 68 61 72 5b 5d 20 48 4f 54 4b 45 59  t wchar[] HOTKEY
17f70 5f 43 4c 41 53 53 57 20 3d 20 22 6d 73 63 74 6c  _CLASSW = "msctl
17f80 73 5f 68 6f 74 6b 65 79 33 32 22 3b 0d 0a 0d 0a  s_hotkey32";....
17f90 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
17fa0 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
17fb0 65 6c 73 65 0d 0a 61 6c 69 61 73 20 48 4f 54 4b  else..alias HOTK
17fc0 45 59 5f 43 4c 41 53 53 41 20 48 4f 54 4b 45 59  EY_CLASSA HOTKEY
17fd0 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 65 6e 64  _CLASS;..// #end
17fe0 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  if....// #else..
17ff0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
18000 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  if....// #endif 
18010 20 2f 2f 20 4e 4f 48 4f 54 4b 45 59 0d 0a 0d 0a   // NOHOTKEY....
18020 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43  enum : uint { CC
18030 53 5f 54 4f 50 20 3d 20 30 78 30 30 30 30 30 30  S_TOP = 0x000000
18040 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
18050 74 20 7b 20 43 43 53 5f 4e 4f 4d 4f 56 45 59 20  t { CCS_NOMOVEY 
18060 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
18070 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43  enum : uint { CC
18080 53 5f 42 4f 54 54 4f 4d 20 3d 20 30 78 30 30 30  S_BOTTOM = 0x000
18090 30 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00003 }..enum : 
180a0 75 69 6e 74 20 7b 20 43 43 53 5f 4e 4f 52 45 53  uint { CCS_NORES
180b0 49 5a 45 20 3d 20 30 78 30 30 30 30 30 30 30 34  IZE = 0x00000004
180c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
180d0 7b 20 43 43 53 5f 4e 4f 50 41 52 45 4e 54 41 4c  { CCS_NOPARENTAL
180e0 49 47 4e 20 3d 20 30 78 30 30 30 30 30 30 30 38  IGN = 0x00000008
180f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18100 7b 20 43 43 53 5f 41 44 4a 55 53 54 41 42 4c 45  { CCS_ADJUSTABLE
18110 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
18120 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
18130 43 53 5f 4e 4f 44 49 56 49 44 45 52 20 3d 20 30  CS_NODIVIDER = 0
18140 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 2f 2f 20  x00000040 }..// 
18150 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
18160 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0300)..enum 
18170 3a 20 75 69 6e 74 20 7b 20 43 43 53 5f 56 45 52  : uint { CCS_VER
18180 54 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d  T = 0x00000080 }
18190 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
181a0 43 43 53 5f 4c 45 46 54 20 3d 20 43 43 53 5f 56  CCS_LEFT = CCS_V
181b0 45 52 54 20 7c 20 43 43 53 5f 54 4f 50 20 7d 0d  ERT | CCS_TOP }.
181c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
181d0 43 53 5f 52 49 47 48 54 20 3d 20 43 43 53 5f 56  CS_RIGHT = CCS_V
181e0 45 52 54 20 7c 20 43 43 53 5f 42 4f 54 54 4f 4d  ERT | CCS_BOTTOM
181f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18200 7b 20 43 43 53 5f 4e 4f 4d 4f 56 45 58 20 3d 20  { CCS_NOMOVEX = 
18210 43 43 53 5f 56 45 52 54 20 7c 20 43 43 53 5f 4e  CCS_VERT | CCS_N
18220 4f 4d 4f 56 45 59 20 7d 0d 0a 2f 2f 20 23 65 6e  OMOVEY }..// #en
18230 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  dif....// #ifnde
18240 66 20 4e 4f 4c 49 53 54 56 49 45 57 0d 0a 0d 0a  f NOLISTVIEW....
18250 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
18260 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d  ....const char[]
18270 20 57 43 5f 4c 49 53 54 56 49 45 57 41 20 3d 20   WC_LISTVIEWA = 
18280 22 53 79 73 4c 69 73 74 56 69 65 77 33 32 22 3b  "SysListView32";
18290 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20  ..const wchar[] 
182a0 57 43 5f 4c 49 53 54 56 49 45 57 57 20 3d 20 22  WC_LISTVIEWW = "
182b0 53 79 73 4c 69 73 74 56 69 65 77 33 32 22 3b 0d  SysListView32";.
182c0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
182d0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
182e0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57  / #else..alias W
182f0 43 5f 4c 49 53 54 56 49 45 57 41 20 57 43 5f 4c  C_LISTVIEWA WC_L
18300 49 53 54 56 49 45 57 3b 0d 0a 2f 2f 20 23 65 6e  ISTVIEW;..// #en
18310 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  dif....// #else.
18320 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
18330 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
18340 6e 74 20 7b 20 4c 56 53 5f 49 43 4f 4e 20 3d 20  nt { LVS_ICON = 
18350 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
18360 20 75 69 6e 74 20 7b 20 4c 56 53 5f 52 45 50 4f   uint { LVS_REPO
18370 52 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  RT = 0x0001 }..e
18380 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53  num : uint { LVS
18390 5f 53 4d 41 4c 4c 49 43 4f 4e 20 3d 20 30 78 30  _SMALLICON = 0x0
183a0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
183b0 6e 74 20 7b 20 4c 56 53 5f 4c 49 53 54 20 3d 20  nt { LVS_LIST = 
183c0 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
183d0 20 75 69 6e 74 20 7b 20 4c 56 53 5f 54 59 50 45   uint { LVS_TYPE
183e0 4d 41 53 4b 20 3d 20 30 78 30 30 30 33 20 7d 0d  MASK = 0x0003 }.
183f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18400 56 53 5f 53 49 4e 47 4c 45 53 45 4c 20 3d 20 30  VS_SINGLESEL = 0
18410 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0004 }..enum : 
18420 75 69 6e 74 20 7b 20 4c 56 53 5f 53 48 4f 57 53  uint { LVS_SHOWS
18430 45 4c 41 4c 57 41 59 53 20 3d 20 30 78 30 30 30  ELALWAYS = 0x000
18440 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
18450 20 7b 20 4c 56 53 5f 53 4f 52 54 41 53 43 45 4e   { LVS_SORTASCEN
18460 44 49 4e 47 20 3d 20 30 78 30 30 31 30 20 7d 0d  DING = 0x0010 }.
18470 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18480 56 53 5f 53 4f 52 54 44 45 53 43 45 4e 44 49 4e  VS_SORTDESCENDIN
18490 47 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e  G = 0x0020 }..en
184a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f  um : uint { LVS_
184b0 53 48 41 52 45 49 4d 41 47 45 4c 49 53 54 53 20  SHAREIMAGELISTS 
184c0 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  = 0x0040 }..enum
184d0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4e 4f   : uint { LVS_NO
184e0 4c 41 42 45 4c 57 52 41 50 20 3d 20 30 78 30 30  LABELWRAP = 0x00
184f0 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
18500 74 20 7b 20 4c 56 53 5f 41 55 54 4f 41 52 52 41  t { LVS_AUTOARRA
18510 4e 47 45 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a  NGE = 0x0100 }..
18520 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
18530 53 5f 45 44 49 54 4c 41 42 45 4c 53 20 3d 20 30  S_EDITLABELS = 0
18540 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20  x0200 }..// #if 
18550 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
18560 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0300)..enum : ui
18570 6e 74 20 7b 20 4c 56 53 5f 4f 57 4e 45 52 44 41  nt { LVS_OWNERDA
18580 54 41 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 2f  TA = 0x1000 }../
18590 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a  / #endif..enum :
185a0 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4e 4f 53 43   uint { LVS_NOSC
185b0 52 4f 4c 4c 20 3d 20 30 78 32 30 30 30 20 7d 0d  ROLL = 0x2000 }.
185c0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
185d0 20 4c 56 53 5f 54 59 50 45 53 54 59 4c 45 4d 41   LVS_TYPESTYLEMA
185e0 53 4b 20 3d 20 30 78 66 63 30 30 20 7d 0d 0a 0d  SK = 0xfc00 }...
185f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18600 56 53 5f 41 4c 49 47 4e 54 4f 50 20 3d 20 30 78  VS_ALIGNTOP = 0x
18610 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
18620 69 6e 74 20 7b 20 4c 56 53 5f 41 4c 49 47 4e 4c  int { LVS_ALIGNL
18630 45 46 54 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a  EFT = 0x0800 }..
18640 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
18650 53 5f 41 4c 49 47 4e 4d 41 53 4b 20 3d 20 30 78  S_ALIGNMASK = 0x
18660 30 63 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0c00 }....enum :
18670 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4f 57 4e 45   uint { LVS_OWNE
18680 52 44 52 41 57 46 49 58 45 44 20 3d 20 30 78 30  RDRAWFIXED = 0x0
18690 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  400 }..enum : ui
186a0 6e 74 20 7b 20 4c 56 53 5f 4e 4f 43 4f 4c 55 4d  nt { LVS_NOCOLUM
186b0 4e 48 45 41 44 45 52 20 3d 20 30 78 34 30 30 30  NHEADER = 0x4000
186c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
186d0 7b 20 4c 56 53 5f 4e 4f 53 4f 52 54 48 45 41 44  { LVS_NOSORTHEAD
186e0 45 52 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 0d  ER = 0x8000 }...
186f0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
18700 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61  IE >= 0x0400)..a
18710 6c 69 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43  lias CCM_SETUNIC
18720 4f 44 45 46 4f 52 4d 41 54 20 4c 56 4d 5f 53 45  ODEFORMAT LVM_SE
18730 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d  TUNICODEFORMAT;.
18740 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
18750 56 69 65 77 5f 53 65 74 55 6e 69 63 6f 64 65 46  View_SetUnicodeF
18760 6f 72 6d 61 74 28 68 77 6e 64 2c 20 66 55 6e 69  ormat(hwnd, fUni
18770 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  code) (BOOL)SNDM
18780 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53  SG((hwnd), LVM_S
18790 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c  ETUNICODEFORMAT,
187a0 20 28 57 50 41 52 41 4d 29 28 66 55 6e 69 63 6f   (WPARAM)(fUnico
187b0 64 65 29 2c 20 30 29 0d 0a 0d 0a 61 6c 69 61 73  de), 0)....alias
187c0 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46   CCM_GETUNICODEF
187d0 4f 52 4d 41 54 20 4c 56 4d 5f 47 45 54 55 4e 49  ORMAT LVM_GETUNI
187e0 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20  CODEFORMAT;..// 
187f0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
18800 5f 47 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d 61  _GetUnicodeForma
18810 74 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 4e  t(hwnd) (BOOL)SN
18820 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d  DMSG((hwnd), LVM
18830 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _GETUNICODEFORMA
18840 54 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e  T, 0, 0)..// #en
18850 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
18860 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 42 4b 43 4f  nt { LVM_GETBKCO
18870 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  LOR = LVM_FIRST 
18880 2b 20 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  + 0 }..// #defin
18890 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 42 6b  e ListView_GetBk
188a0 43 6f 6c 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c  Color(hwnd) (COL
188b0 4f 52 52 45 46 29 53 4e 44 4d 53 47 28 28 68 77  ORREF)SNDMSG((hw
188c0 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 42 4b 43 4f  nd), LVM_GETBKCO
188d0 4c 4f 52 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65  LOR, 0, 0L)....e
188e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
188f0 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 4c 56  _SETBKCOLOR = LV
18900 4d 5f 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 2f  M_FIRST + 1 }../
18910 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
18920 65 77 5f 53 65 74 42 6b 43 6f 6c 6f 72 28 68 77  ew_SetBkColor(hw
18930 6e 64 2c 20 63 6c 72 42 6b 29 20 28 42 4f 4f 4c  nd, clrBk) (BOOL
18940 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
18950 4c 56 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 2c 20  LVM_SETBKCOLOR, 
18960 30 2c 20 28 4c 50 41 52 41 4d 29 28 43 4f 4c 4f  0, (LPARAM)(COLO
18970 52 52 45 46 29 28 63 6c 72 42 6b 29 29 0d 0a 0d  RREF)(clrBk))...
18980 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18990 56 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 20  VM_GETIMAGELIST 
189a0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32 20  = LVM_FIRST + 2 
189b0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
189c0 73 74 56 69 65 77 5f 47 65 74 49 6d 61 67 65 4c  stView_GetImageL
189d0 69 73 74 28 68 77 6e 64 2c 20 69 49 6d 61 67 65  ist(hwnd, iImage
189e0 4c 69 73 74 29 20 28 48 49 4d 41 47 45 4c 49 53  List) (HIMAGELIS
189f0 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  T)SNDMSG((hwnd),
18a00 20 4c 56 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53   LVM_GETIMAGELIS
18a10 54 2c 20 28 57 50 41 52 41 4d 29 28 49 4e 54 29  T, (WPARAM)(INT)
18a20 28 69 49 6d 61 67 65 4c 69 73 74 29 2c 20 30 4c  (iImageList), 0L
18a30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
18a40 20 7b 20 4c 56 53 49 4c 5f 4e 4f 52 4d 41 4c 20   { LVSIL_NORMAL 
18a50 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
18a60 6e 74 20 7b 20 4c 56 53 49 4c 5f 53 4d 41 4c 4c  nt { LVSIL_SMALL
18a70 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
18a80 69 6e 74 20 7b 20 4c 56 53 49 4c 5f 53 54 41 54  int { LVSIL_STAT
18a90 45 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  E = 2 }....enum 
18aa0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54  : uint { LVM_SET
18ab0 49 4d 41 47 45 4c 49 53 54 20 3d 20 4c 56 4d 5f  IMAGELIST = LVM_
18ac0 46 49 52 53 54 20 2b 20 33 20 7d 0d 0a 2f 2f 20  FIRST + 3 }..// 
18ad0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
18ae0 5f 53 65 74 49 6d 61 67 65 4c 69 73 74 28 68 77  _SetImageList(hw
18af0 6e 64 2c 20 68 69 6d 6c 2c 20 69 49 6d 61 67 65  nd, himl, iImage
18b00 4c 69 73 74 29 20 28 48 49 4d 41 47 45 4c 49 53  List) (HIMAGELIS
18b10 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  T)SNDMSG((hwnd),
18b20 20 4c 56 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53   LVM_SETIMAGELIS
18b30 54 2c 20 28 57 50 41 52 41 4d 29 28 69 49 6d 61  T, (WPARAM)(iIma
18b40 67 65 4c 69 73 74 29 2c 20 28 4c 50 41 52 41 4d  geList), (LPARAM
18b50 29 28 48 49 4d 41 47 45 4c 49 53 54 29 28 68 69  )(HIMAGELIST)(hi
18b60 6d 6c 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ml))....enum : u
18b70 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45  int { LVM_GETITE
18b80 4d 43 4f 55 4e 54 20 3d 20 4c 56 4d 5f 46 49 52  MCOUNT = LVM_FIR
18b90 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f 20 23 64 65  ST + 4 }..// #de
18ba0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
18bb0 74 49 74 65 6d 43 6f 75 6e 74 28 68 77 6e 64 29  tItemCount(hwnd)
18bc0 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77   (int)SNDMSG((hw
18bd0 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d  nd), LVM_GETITEM
18be0 43 4f 55 4e 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d  COUNT, 0, 0L)...
18bf0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18c00 56 49 46 5f 54 45 58 54 20 3d 20 30 78 30 30 30  VIF_TEXT = 0x000
18c10 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
18c20 20 7b 20 4c 56 49 46 5f 49 4d 41 47 45 20 3d 20   { LVIF_IMAGE = 
18c30 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
18c40 20 75 69 6e 74 20 7b 20 4c 56 49 46 5f 50 41 52   uint { LVIF_PAR
18c50 41 4d 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  AM = 0x0004 }..e
18c60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49  num : uint { LVI
18c70 46 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30 38  F_STATE = 0x0008
18c80 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e   }..// #if (_WIN
18c90 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
18ca0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18cb0 4c 56 49 46 5f 49 4e 44 45 4e 54 20 3d 20 30 78  LVIF_INDENT = 0x
18cc0 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
18cd0 69 6e 74 20 7b 20 4c 56 49 46 5f 4e 4f 52 45 43  int { LVIF_NOREC
18ce0 4f 4d 50 55 54 45 20 3d 20 30 78 30 38 30 30 20  OMPUTE = 0x0800 
18cf0 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  }..// #endif..//
18d00 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e   #if (_WIN32_WIN
18d10 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e  NT >= 0x501)..en
18d20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 46  um : uint { LVIF
18d30 5f 47 52 4f 55 50 49 44 20 3d 20 30 78 30 31 30  _GROUPID = 0x010
18d40 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
18d50 20 7b 20 4c 56 49 46 5f 43 4f 4c 55 4d 4e 53 20   { LVIF_COLUMNS 
18d60 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x0200 }..// #
18d70 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
18d80 75 69 6e 74 20 7b 20 4c 56 49 53 5f 46 4f 43 55  uint { LVIS_FOCU
18d90 53 45 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  SED = 0x0001 }..
18da0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
18db0 49 53 5f 53 45 4c 45 43 54 45 44 20 3d 20 30 78  IS_SELECTED = 0x
18dc0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
18dd0 69 6e 74 20 7b 20 4c 56 49 53 5f 43 55 54 20 3d  int { LVIS_CUT =
18de0 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
18df0 3a 20 75 69 6e 74 20 7b 20 4c 56 49 53 5f 44 52  : uint { LVIS_DR
18e00 4f 50 48 49 4c 49 54 45 44 20 3d 20 30 78 30 30  OPHILITED = 0x00
18e10 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
18e20 74 20 7b 20 4c 56 49 53 5f 47 4c 4f 57 20 3d 20  t { LVIS_GLOW = 
18e30 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0010 }..enum :
18e40 20 75 69 6e 74 20 7b 20 4c 56 49 53 5f 41 43 54   uint { LVIS_ACT
18e50 49 56 41 54 49 4e 47 20 3d 20 30 78 30 30 32 30  IVATING = 0x0020
18e60 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
18e70 74 20 7b 20 4c 56 49 53 5f 4f 56 45 52 4c 41 59  t { LVIS_OVERLAY
18e80 4d 41 53 4b 20 3d 20 30 78 30 46 30 30 20 7d 0d  MASK = 0x0F00 }.
18e90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18ea0 56 49 53 5f 53 54 41 54 45 49 4d 41 47 45 4d 41  VIS_STATEIMAGEMA
18eb0 53 4b 20 3d 20 30 78 46 30 30 30 20 7d 0d 0a 0d  SK = 0xF000 }...
18ec0 0a 75 69 6e 74 20 49 4e 44 45 58 54 4f 53 54 41  .uint INDEXTOSTA
18ed0 54 45 49 4d 41 47 45 4d 41 53 4b 28 75 69 6e 74  TEIMAGEMASK(uint
18ee0 20 69 29 7b 20 72 65 74 75 72 6e 20 69 20 3c 3c   i){ return i <<
18ef0 20 31 32 3b 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   12; }....// #if
18f00 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
18f10 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 7b 20 49  x0300)..enum { I
18f20 5f 49 4e 44 45 4e 54 43 41 4c 4c 42 41 43 4b 20  _INDENTCALLBACK 
18f30 3d 20 2d 31 20 7d 0d 0a 61 6c 69 61 73 20 4c 56  = -1 }..alias LV
18f40 49 54 45 4d 41 20 4c 56 5f 49 54 45 4d 41 3b 0d  ITEMA LV_ITEMA;.
18f50 0a 61 6c 69 61 73 20 4c 56 49 54 45 4d 57 20 4c  .alias LVITEMW L
18f60 56 5f 49 54 45 4d 57 3b 0d 0a 2f 2f 20 23 65 6c  V_ITEMW;..// #el
18f70 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
18f80 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
18f90 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
18fa0 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  f....// #if (_WI
18fb0 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
18fc0 30 31 29 0d 0a 65 6e 75 6d 20 7b 20 49 5f 47 52  01)..enum { I_GR
18fd0 4f 55 50 49 44 43 41 4c 4c 42 41 43 4b 20 3d 20  OUPIDCALLBACK = 
18fe0 2d 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20 49 5f 47  -1 }..enum { I_G
18ff0 52 4f 55 50 49 44 4e 4f 4e 45 20 3d 20 2d 32 20  ROUPIDNONE = -2 
19000 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 61 6c  }..// #endif..al
19010 69 61 73 20 4c 56 49 54 45 4d 20 4c 56 5f 49 54  ias LVITEM LV_IT
19020 45 4d 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  EM;....// #defin
19030 65 20 4c 56 49 54 45 4d 41 5f 56 31 5f 53 49 5a  e LVITEMA_V1_SIZ
19040 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43  E CCSIZEOF_STRUC
19050 54 28 4c 56 49 54 45 4d 41 2c 20 6c 50 61 72 61  T(LVITEMA, lPara
19060 6d 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c  m)..// #define L
19070 56 49 54 45 4d 57 5f 56 31 5f 53 49 5a 45 20 43  VITEMW_V1_SIZE C
19080 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 4c  CSIZEOF_STRUCT(L
19090 56 49 54 45 4d 57 2c 20 6c 50 61 72 61 6d 29 0d  VITEMW, lParam).
190a0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56 49  ...struct tagLVI
190b0 54 45 4d 41 20 7b 0d 0a 20 20 55 49 4e 54 20 6d  TEMA {..  UINT m
190c0 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65  ask;..  int iIte
190d0 6d 3b 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74  m;..  int iSubIt
190e0 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61 74  em;..  UINT stat
190f0 65 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61 74 65  e;..  UINT state
19100 4d 61 73 6b 3b 0d 0a 20 20 4c 50 53 54 52 20 70  Mask;..  LPSTR p
19110 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63  szText;..  int c
19120 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e  chTextMax;..  in
19130 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 4c 50 41  t iImage;..  LPA
19140 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f 20  RAM lParam;..// 
19150 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
19160 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 69 6e 74  = 0x0300)..  int
19170 20 69 49 6e 64 65 6e 74 3b 0d 0a 2f 2f 20 23 65   iIndent;..// #e
19180 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  ndif..// #if (_W
19190 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
191a0 35 30 31 29 0d 0a 20 20 69 6e 74 20 69 47 72 6f  501)..  int iGro
191b0 75 70 49 64 3b 0d 0a 20 20 55 49 4e 54 20 63 43  upId;..  UINT cC
191c0 6f 6c 75 6d 6e 73 3b 0d 0a 20 20 50 55 49 4e 54  olumns;..  PUINT
191d0 20 70 75 43 6f 6c 75 6d 6e 73 3b 0d 0a 2f 2f 20   puColumns;..// 
191e0 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73  #endif..}..alias
191f0 20 74 61 67 4c 56 49 54 45 4d 41 20 4c 56 49 54   tagLVITEMA LVIT
19200 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c  EMA;..alias tagL
19210 56 49 54 45 4d 41 2a 20 4c 50 4c 56 49 54 45 4d  VITEMA* LPLVITEM
19220 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
19230 4c 56 49 54 45 4d 57 20 7b 0d 0a 20 20 55 49 4e  LVITEMW {..  UIN
19240 54 20 6d 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 69  T mask;..  int i
19250 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 20 69 53 75  Item;..  int iSu
19260 62 49 74 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 73  bItem;..  UINT s
19270 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 73 74  tate;..  UINT st
19280 61 74 65 4d 61 73 6b 3b 0d 0a 20 20 4c 50 57 53  ateMask;..  LPWS
19290 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69  TR pszText;..  i
192a0 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a  nt cchTextMax;..
192b0 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20    int iImage;.. 
192c0 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
192d0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
192e0 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 20  IE >= 0x0300).. 
192f0 20 69 6e 74 20 69 49 6e 64 65 6e 74 3b 0d 0a 2f   int iIndent;../
19300 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66  / #endif..// #if
19310 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
19320 3d 20 30 78 35 30 31 29 0d 0a 20 20 69 6e 74 20  = 0x501)..  int 
19330 69 47 72 6f 75 70 49 64 3b 0d 0a 20 20 55 49 4e  iGroupId;..  UIN
19340 54 20 63 43 6f 6c 75 6d 6e 73 3b 0d 0a 20 20 50  T cColumns;..  P
19350 55 49 4e 54 20 70 75 43 6f 6c 75 6d 6e 73 3b 0d  UINT puColumns;.
19360 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61  .// #endif..}..a
19370 6c 69 61 73 20 74 61 67 4c 56 49 54 45 4d 57 20  lias tagLVITEMW 
19380 4c 56 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20  LVITEMW;..alias 
19390 74 61 67 4c 56 49 54 45 4d 57 2a 20 4c 50 4c 56  tagLVITEMW* LPLV
193a0 49 54 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  ITEMW;....// #if
193b0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
193c0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
193d0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
193e0 0d 0a 61 6c 69 61 73 20 4c 56 49 54 45 4d 41 20  ..alias LVITEMA 
193f0 4c 56 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c  LVITEM;..alias L
19400 50 4c 56 49 54 45 4d 41 20 4c 50 4c 56 49 54 45  PLVITEMA LPLVITE
19410 4d 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c  M;..// #define L
19420 56 49 54 45 4d 5f 56 31 5f 53 49 5a 45 20 4c 56  VITEM_V1_SIZE LV
19430 49 54 45 4d 41 5f 56 31 5f 53 49 5a 45 0d 0a 2f  ITEMA_V1_SIZE../
19440 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 63 6f 6e 73  / #endif....cons
19450 74 20 4c 50 57 53 54 52 20 4c 50 53 54 52 5f 54  t LPWSTR LPSTR_T
19460 45 58 54 43 41 4c 4c 42 41 43 4b 57 20 3d 20 63  EXTCALLBACKW = c
19470 61 73 74 28 4c 50 57 53 54 52 29 2d 31 3b 0d 0a  ast(LPWSTR)-1;..
19480 63 6f 6e 73 74 20 4c 50 53 54 52 20 4c 50 53 54  const LPSTR LPST
19490 52 5f 54 45 58 54 43 41 4c 4c 42 41 43 4b 41 20  R_TEXTCALLBACKA 
194a0 3d 20 63 61 73 74 28 4c 50 53 54 52 29 2d 31 3b  = cast(LPSTR)-1;
194b0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
194c0 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
194d0 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 50   #else..alias LP
194e0 53 54 52 5f 54 45 58 54 43 41 4c 4c 42 41 43 4b  STR_TEXTCALLBACK
194f0 41 20 4c 50 53 54 52 5f 54 45 58 54 43 41 4c 4c  A LPSTR_TEXTCALL
19500 42 41 43 4b 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  BACK;..// #endif
19510 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 49 5f 49 4d 41  ....enum { I_IMA
19520 47 45 43 41 4c 4c 42 41 43 4b 20 3d 20 2d 31 20  GECALLBACK = -1 
19530 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
19540 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 31 29 0d  2_IE >= 0x0501).
19550 0a 65 6e 75 6d 20 7b 20 49 5f 49 4d 41 47 45 4e  .enum { I_IMAGEN
19560 4f 4e 45 20 3d 20 2d 32 20 7d 0d 0a 2f 2f 20 23  ONE = -2 }..// #
19570 65 6e 64 69 66 20 20 2f 2f 20 30 78 30 35 30 31  endif  // 0x0501
19580 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
19590 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
195a0 31 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  1)....enum : uin
195b0 74 20 7b 20 49 5f 43 4f 4c 55 4d 4e 53 43 41 4c  t { I_COLUMNSCAL
195c0 4c 42 41 43 4b 20 3d 20 63 61 73 74 28 55 49 4e  LBACK = cast(UIN
195d0 54 29 2d 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  T)-1 }..// #endi
195e0 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
195f0 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45 4d 41 20   { LVM_GETITEMA 
19600 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 20  = LVM_FIRST + 5 
19610 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19620 20 4c 56 4d 5f 47 45 54 49 54 45 4d 57 20 3d 20   LVM_GETITEMW = 
19630 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 35 20 7d  LVM_FIRST + 75 }
19640 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
19650 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
19660 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 56   #else..alias LV
19670 4d 5f 47 45 54 49 54 45 4d 41 20 4c 56 4d 5f 47  M_GETITEMA LVM_G
19680 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64  ETITEM;..// #end
19690 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  if....// #define
196a0 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74 65   ListView_GetIte
196b0 6d 28 68 77 6e 64 2c 20 70 69 74 65 6d 29 20 28  m(hwnd, pitem) (
196c0 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
196d0 64 29 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d 2c  d), LVM_GETITEM,
196e0 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 4c 56 5f   0, (LPARAM)(LV_
196f0 49 54 45 4d 20 2a 29 28 70 69 74 65 6d 29 29 0d  ITEM *)(pitem)).
19700 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
19710 20 4c 56 4d 5f 53 45 54 49 54 45 4d 41 20 3d 20   LVM_SETITEMA = 
19720 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 20 7d 0d  LVM_FIRST + 6 }.
19730 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
19740 56 4d 5f 53 45 54 49 54 45 4d 57 20 3d 20 4c 56  VM_SETITEMW = LV
19750 4d 5f 46 49 52 53 54 20 2b 20 37 36 20 7d 0d 0a  M_FIRST + 76 }..
19760 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
19770 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
19780 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f  else..alias LVM_
19790 53 45 54 49 54 45 4d 41 20 4c 56 4d 5f 53 45 54  SETITEMA LVM_SET
197a0 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ITEM;..// #endif
197b0 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c  ....// #define L
197c0 69 73 74 56 69 65 77 5f 53 65 74 49 74 65 6d 28  istView_SetItem(
197d0 68 77 6e 64 2c 20 70 69 74 65 6d 29 20 28 42 4f  hwnd, pitem) (BO
197e0 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
197f0 2c 20 4c 56 4d 5f 53 45 54 49 54 45 4d 2c 20 30  , LVM_SETITEM, 0
19800 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73 74  , (LPARAM)(const
19810 20 4c 56 5f 49 54 45 4d 20 2a 29 28 70 69 74 65   LV_ITEM *)(pite
19820 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  m))....enum : ui
19830 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 52 54 49  nt { LVM_INSERTI
19840 54 45 4d 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54  TEMA = LVM_FIRST
19850 20 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 7 }..enum : u
19860 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 52 54  int { LVM_INSERT
19870 49 54 45 4d 57 20 3d 20 4c 56 4d 5f 46 49 52 53  ITEMW = LVM_FIRS
19880 54 20 2b 20 37 37 20 7d 0d 0a 2f 2f 20 23 69 66  T + 77 }..// #if
19890 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
198a0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
198b0 61 6c 69 61 73 20 4c 56 4d 5f 49 4e 53 45 52 54  alias LVM_INSERT
198c0 49 54 45 4d 41 20 4c 56 4d 5f 49 4e 53 45 52 54  ITEMA LVM_INSERT
198d0 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ITEM;..// #endif
198e0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
198f0 74 56 69 65 77 5f 49 6e 73 65 72 74 49 74 65 6d  tView_InsertItem
19900 28 68 77 6e 64 2c 20 70 69 74 65 6d 29 20 28 69  (hwnd, pitem) (i
19910 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  nt)SNDMSG((hwnd)
19920 2c 20 4c 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d  , LVM_INSERTITEM
19930 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f  , 0, (LPARAM)(co
19940 6e 73 74 20 4c 56 5f 49 54 45 4d 20 2a 29 28 70  nst LV_ITEM *)(p
19950 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  item))....enum :
19960 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 44 45 4c 45   uint { LVM_DELE
19970 54 45 49 54 45 4d 20 3d 20 4c 56 4d 5f 46 49 52  TEITEM = LVM_FIR
19980 53 54 20 2b 20 38 20 7d 0d 0a 2f 2f 20 23 64 65  ST + 8 }..// #de
19990 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 44 65  fine ListView_De
199a0 6c 65 74 65 49 74 65 6d 28 68 77 6e 64 2c 20 69  leteItem(hwnd, i
199b0 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
199c0 68 77 6e 64 29 2c 20 4c 56 4d 5f 44 45 4c 45 54  hwnd), LVM_DELET
199d0 45 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28  EITEM, (WPARAM)(
199e0 69 6e 74 29 28 69 29 2c 20 30 4c 29 0d 0a 0d 0a  int)(i), 0L)....
199f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
19a00 4d 5f 44 45 4c 45 54 45 41 4c 4c 49 54 45 4d 53  M_DELETEALLITEMS
19a10 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 39   = LVM_FIRST + 9
19a20 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
19a30 69 73 74 56 69 65 77 5f 44 65 6c 65 74 65 41 6c  istView_DeleteAl
19a40 6c 49 74 65 6d 73 28 68 77 6e 64 29 20 28 42 4f  lItems(hwnd) (BO
19a50 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
19a60 2c 20 4c 56 4d 5f 44 45 4c 45 54 45 41 4c 4c 49  , LVM_DELETEALLI
19a70 54 45 4d 53 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a  TEMS, 0, 0L)....
19a80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
19a90 4d 5f 47 45 54 43 41 4c 4c 42 41 43 4b 4d 41 53  M_GETCALLBACKMAS
19aa0 4b 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  K = LVM_FIRST + 
19ab0 31 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  10 }..// #define
19ac0 20 4c 69 73 74 56 69 65 77 5f 47 65 74 43 61 6c   ListView_GetCal
19ad0 6c 62 61 63 6b 4d 61 73 6b 28 68 77 6e 64 29 20  lbackMask(hwnd) 
19ae0 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
19af0 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 43 41 4c 4c  nd), LVM_GETCALL
19b00 42 41 43 4b 4d 41 53 4b 2c 20 30 2c 20 30 29 0d  BACKMASK, 0, 0).
19b10 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
19b20 20 4c 56 4d 5f 53 45 54 43 41 4c 4c 42 41 43 4b   LVM_SETCALLBACK
19b30 4d 41 53 4b 20 3d 20 4c 56 4d 5f 46 49 52 53 54  MASK = LVM_FIRST
19b40 20 2b 20 31 31 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 11 }..// #def
19b50 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74  ine ListView_Set
19b60 43 61 6c 6c 62 61 63 6b 4d 61 73 6b 28 68 77 6e  CallbackMask(hwn
19b70 64 2c 20 6d 61 73 6b 29 20 28 42 4f 4f 4c 29 53  d, mask) (BOOL)S
19b80 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
19b90 4d 5f 53 45 54 43 41 4c 4c 42 41 43 4b 4d 41 53  M_SETCALLBACKMAS
19ba0 4b 2c 20 28 57 50 41 52 41 4d 29 28 55 49 4e 54  K, (WPARAM)(UINT
19bb0 29 28 6d 61 73 6b 29 2c 20 30 29 0d 0a 0d 0a 65  )(mask), 0)....e
19bc0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e  num : uint { LVN
19bd0 49 5f 41 4c 4c 20 3d 20 30 78 30 30 30 30 20 7d  I_ALL = 0x0000 }
19be0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19bf0 4c 56 4e 49 5f 46 4f 43 55 53 45 44 20 3d 20 30  LVNI_FOCUSED = 0
19c00 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
19c10 75 69 6e 74 20 7b 20 4c 56 4e 49 5f 53 45 4c 45  uint { LVNI_SELE
19c20 43 54 45 44 20 3d 20 30 78 30 30 30 32 20 7d 0d  CTED = 0x0002 }.
19c30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
19c40 56 4e 49 5f 43 55 54 20 3d 20 30 78 30 30 30 34  VNI_CUT = 0x0004
19c50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
19c60 7b 20 4c 56 4e 49 5f 44 52 4f 50 48 49 4c 49 54  { LVNI_DROPHILIT
19c70 45 44 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d  ED = 0x0008 }...
19c80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
19c90 56 4e 49 5f 41 42 4f 56 45 20 3d 20 30 78 30 31  VNI_ABOVE = 0x01
19ca0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
19cb0 74 20 7b 20 4c 56 4e 49 5f 42 45 4c 4f 57 20 3d  t { LVNI_BELOW =
19cc0 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0200 }..enum 
19cd0 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 49 5f 54 4f  : uint { LVNI_TO
19ce0 4c 45 46 54 20 3d 20 30 78 30 34 30 30 20 7d 0d  LEFT = 0x0400 }.
19cf0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
19d00 56 4e 49 5f 54 4f 52 49 47 48 54 20 3d 20 30 78  VNI_TORIGHT = 0x
19d10 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0800 }....enum :
19d20 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 4e   uint { LVM_GETN
19d30 45 58 54 49 54 45 4d 20 3d 20 4c 56 4d 5f 46 49  EXTITEM = LVM_FI
19d40 52 53 54 20 2b 20 31 32 20 7d 0d 0a 2f 2f 20 23  RST + 12 }..// #
19d50 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
19d60 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e 64  GetNextItem(hwnd
19d70 2c 20 69 2c 20 66 6c 61 67 73 29 20 28 69 6e 74  , i, flags) (int
19d80 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
19d90 4c 56 4d 5f 47 45 54 4e 45 58 54 49 54 45 4d 2c  LVM_GETNEXTITEM,
19da0 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69   (WPARAM)(int)(i
19db0 29 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28 28 66  ), MAKELPARAM((f
19dc0 6c 61 67 73 29 2c 20 30 29 29 0d 0a 0d 0a 65 6e  lags), 0))....en
19dd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 46 49  um : uint { LVFI
19de0 5f 50 41 52 41 4d 20 3d 20 30 78 30 30 30 31 20  _PARAM = 0x0001 
19df0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19e00 20 4c 56 46 49 5f 53 54 52 49 4e 47 20 3d 20 30   LVFI_STRING = 0
19e10 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
19e20 75 69 6e 74 20 7b 20 4c 56 46 49 5f 50 41 52 54  uint { LVFI_PART
19e30 49 41 4c 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  IAL = 0x0008 }..
19e40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
19e50 46 49 5f 57 52 41 50 20 3d 20 30 78 30 30 32 30  FI_WRAP = 0x0020
19e60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
19e70 7b 20 4c 56 46 49 5f 4e 45 41 52 45 53 54 58 59  { LVFI_NEARESTXY
19e80 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 0d 0a 2f   = 0x0040 }..../
19e90 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
19ea0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69   >= 0x0300)..ali
19eb0 61 73 20 4c 56 46 49 4e 44 49 4e 46 4f 41 20 4c  as LVFINDINFOA L
19ec0 56 5f 46 49 4e 44 49 4e 46 4f 41 3b 0d 0a 61 6c  V_FINDINFOA;..al
19ed0 69 61 73 20 4c 56 46 49 4e 44 49 4e 46 4f 57 20  ias LVFINDINFOW 
19ee0 4c 56 5f 46 49 4e 44 49 4e 46 4f 57 3b 0d 0a 2f  LV_FINDINFOW;../
19ef0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
19f00 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
19f10 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
19f20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20  #endif....alias 
19f30 4c 56 46 49 4e 44 49 4e 46 4f 20 4c 56 5f 46 49  LVFINDINFO LV_FI
19f40 4e 44 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63  NDINFO;....struc
19f50 74 20 74 61 67 4c 56 46 49 4e 44 49 4e 46 4f 41  t tagLVFINDINFOA
19f60 20 7b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73   {..  UINT flags
19f70 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 3b  ;..  LPCSTR psz;
19f80 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
19f90 6d 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d  m;..  POINT pt;.
19fa0 0a 20 20 55 49 4e 54 20 76 6b 44 69 72 65 63 74  .  UINT vkDirect
19fb0 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ion;..}..alias t
19fc0 61 67 4c 56 46 49 4e 44 49 4e 46 4f 41 20 4c 56  agLVFINDINFOA LV
19fd0 46 49 4e 44 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  FINDINFOA;..alia
19fe0 73 20 74 61 67 4c 56 46 49 4e 44 49 4e 46 4f 41  s tagLVFINDINFOA
19ff0 2a 20 4c 50 46 49 4e 44 49 4e 46 4f 41 3b 0d 0a  * LPFINDINFOA;..
1a000 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56 46 49  ..struct tagLVFI
1a010 4e 44 49 4e 46 4f 57 20 7b 0d 0a 20 20 55 49 4e  NDINFOW {..  UIN
1a020 54 20 66 6c 61 67 73 3b 0d 0a 20 20 4c 50 43 57  T flags;..  LPCW
1a030 53 54 52 20 70 73 7a 3b 0d 0a 20 20 4c 50 41 52  STR psz;..  LPAR
1a040 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 50 4f  AM lParam;..  PO
1a050 49 4e 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 20  INT pt;..  UINT 
1a060 76 6b 44 69 72 65 63 74 69 6f 6e 3b 0d 0a 7d 0d  vkDirection;..}.
1a070 0a 61 6c 69 61 73 20 74 61 67 4c 56 46 49 4e 44  .alias tagLVFIND
1a080 49 4e 46 4f 57 20 4c 56 46 49 4e 44 49 4e 46 4f  INFOW LVFINDINFO
1a090 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 46  W;..alias tagLVF
1a0a0 49 4e 44 49 4e 46 4f 57 2a 20 4c 50 46 49 4e 44  INDINFOW* LPFIND
1a0b0 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  INFOW;....// #if
1a0c0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
1a0d0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
1a0e0 61 6c 69 61 73 20 4c 56 46 49 4e 44 49 4e 46 4f  alias LVFINDINFO
1a0f0 41 20 4c 56 46 49 4e 44 49 4e 46 4f 3b 0d 0a 2f  A LVFINDINFO;../
1a100 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
1a110 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 46 49   : uint { LVM_FI
1a120 4e 44 49 54 45 4d 41 20 3d 20 4c 56 4d 5f 46 49  NDITEMA = LVM_FI
1a130 52 53 54 20 2b 20 31 33 20 7d 0d 0a 65 6e 75 6d  RST + 13 }..enum
1a140 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 46 49   : uint { LVM_FI
1a150 4e 44 49 54 45 4d 57 20 3d 20 4c 56 4d 5f 46 49  NDITEMW = LVM_FI
1a160 52 53 54 20 2b 20 38 33 20 7d 0d 0a 2f 2f 20 23  RST + 83 }..// #
1a170 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
1a180 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
1a190 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 46 49 4e 44  ..alias LVM_FIND
1a1a0 49 54 45 4d 41 20 4c 56 4d 5f 46 49 4e 44 49 54  ITEMA LVM_FINDIT
1a1b0 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  EM;..// #endif..
1a1c0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1a1d0 74 56 69 65 77 5f 46 69 6e 64 49 74 65 6d 28 68  tView_FindItem(h
1a1e0 77 6e 64 2c 20 69 53 74 61 72 74 2c 20 70 6c 76  wnd, iStart, plv
1a1f0 66 69 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  fi) (int)SNDMSG(
1a200 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 46 49 4e 44  (hwnd), LVM_FIND
1a210 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28 69  ITEM, (WPARAM)(i
1a220 6e 74 29 28 69 53 74 61 72 74 29 2c 20 28 4c 50  nt)(iStart), (LP
1a230 41 52 41 4d 29 28 63 6f 6e 73 74 20 4c 56 5f 46  ARAM)(const LV_F
1a240 49 4e 44 49 4e 46 4f 20 2a 29 28 70 6c 76 66 69  INDINFO *)(plvfi
1a250 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
1a260 74 20 7b 20 4c 56 49 52 5f 42 4f 55 4e 44 53 20  t { LVIR_BOUNDS 
1a270 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
1a280 6e 74 20 7b 20 4c 56 49 52 5f 49 43 4f 4e 20 3d  nt { LVIR_ICON =
1a290 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
1a2a0 74 20 7b 20 4c 56 49 52 5f 4c 41 42 45 4c 20 3d  t { LVIR_LABEL =
1a2b0 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
1a2c0 74 20 7b 20 4c 56 49 52 5f 53 45 4c 45 43 54 42  t { LVIR_SELECTB
1a2d0 4f 55 4e 44 53 20 3d 20 33 20 7d 0d 0a 0d 0a 65  OUNDS = 3 }....e
1a2e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1a2f0 5f 47 45 54 49 54 45 4d 52 45 43 54 20 3d 20 4c  _GETITEMRECT = L
1a300 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 20 7d 0d  VM_FIRST + 14 }.
1a310 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1a320 56 69 65 77 5f 47 65 74 49 74 65 6d 52 65 63 74  View_GetItemRect
1a330 28 68 77 6e 64 2c 20 69 2c 20 70 72 63 2c 20 63  (hwnd, i, prc, c
1a340 6f 64 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53  ode) (BOOL)SNDMS
1a350 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45  G((hwnd), LVM_GE
1a360 54 49 54 45 4d 52 45 43 54 2c 20 28 57 50 41 52  TITEMRECT, (WPAR
1a370 41 4d 29 28 69 6e 74 29 28 69 29 2c 20 28 28 70  AM)(int)(i), ((p
1a380 72 63 29 20 3f 20 28 28 28 52 45 43 54 20 2a 29  rc) ? (((RECT *)
1a390 28 70 72 63 29 29 2d 3e 6c 65 66 74 20 3d 20 28  (prc))->left = (
1a3a0 63 6f 64 65 29 2c 28 4c 50 41 52 41 4d 29 28 52  code),(LPARAM)(R
1a3b0 45 43 54 20 2a 29 28 70 72 63 29 29 20 3a 20 28  ECT *)(prc)) : (
1a3c0 4c 50 41 52 41 4d 29 28 52 45 43 54 20 2a 29 4e  LPARAM)(RECT *)N
1a3d0 55 4c 4c 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ULL))....enum : 
1a3e0 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54  uint { LVM_SETIT
1a3f0 45 4d 50 4f 53 49 54 49 4f 4e 20 3d 20 4c 56 4d  EMPOSITION = LVM
1a400 5f 46 49 52 53 54 20 2b 20 31 35 20 7d 0d 0a 2f  _FIRST + 15 }../
1a410 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1a420 65 77 5f 53 65 74 49 74 65 6d 50 6f 73 69 74 69  ew_SetItemPositi
1a430 6f 6e 28 68 77 6e 64 4c 56 2c 20 69 2c 20 78 2c  on(hwndLV, i, x,
1a440 20 79 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47   y) (BOOL)SNDMSG
1a450 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53  ((hwndLV), LVM_S
1a460 45 54 49 54 45 4d 50 4f 53 49 54 49 4f 4e 2c 20  ETITEMPOSITION, 
1a470 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 29  (WPARAM)(int)(i)
1a480 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28 28 78 29  , MAKELPARAM((x)
1a490 2c 20 28 79 29 29 29 0d 0a 0d 0a 65 6e 75 6d 20  , (y)))....enum 
1a4a0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
1a4b0 49 54 45 4d 50 4f 53 49 54 49 4f 4e 20 3d 20 4c  ITEMPOSITION = L
1a4c0 56 4d 5f 46 49 52 53 54 20 2b 20 31 36 20 7d 0d  VM_FIRST + 16 }.
1a4d0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1a4e0 56 69 65 77 5f 47 65 74 49 74 65 6d 50 6f 73 69  View_GetItemPosi
1a4f0 74 69 6f 6e 28 68 77 6e 64 4c 56 2c 20 69 2c 20  tion(hwndLV, i, 
1a500 70 70 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53  ppt) (BOOL)SNDMS
1a510 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f  G((hwndLV), LVM_
1a520 47 45 54 49 54 45 4d 50 4f 53 49 54 49 4f 4e 2c  GETITEMPOSITION,
1a530 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69   (WPARAM)(int)(i
1a540 29 2c 20 28 4c 50 41 52 41 4d 29 28 50 4f 49 4e  ), (LPARAM)(POIN
1a550 54 20 2a 29 28 70 70 74 29 29 0d 0a 0d 0a 65 6e  T *)(ppt))....en
1a560 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1a570 47 45 54 53 54 52 49 4e 47 57 49 44 54 48 41 20  GETSTRINGWIDTHA 
1a580 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37  = LVM_FIRST + 17
1a590 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a5a0 7b 20 4c 56 4d 5f 47 45 54 53 54 52 49 4e 47 57  { LVM_GETSTRINGW
1a5b0 49 44 54 48 57 20 3d 20 4c 56 4d 5f 46 49 52 53  IDTHW = LVM_FIRS
1a5c0 54 20 2b 20 38 37 20 7d 0d 0a 2f 2f 20 23 69 66  T + 87 }..// #if
1a5d0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
1a5e0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
1a5f0 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54 53 54 52  alias LVM_GETSTR
1a600 49 4e 47 57 49 44 54 48 41 20 4c 56 4d 5f 47 45  INGWIDTHA LVM_GE
1a610 54 53 54 52 49 4e 47 57 49 44 54 48 3b 0d 0a 2f  TSTRINGWIDTH;../
1a620 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
1a630 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1a640 47 65 74 53 74 72 69 6e 67 57 69 64 74 68 28 68  GetStringWidth(h
1a650 77 6e 64 4c 56 2c 20 70 73 7a 29 20 28 69 6e 74  wndLV, psz) (int
1a660 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29  )SNDMSG((hwndLV)
1a670 2c 20 4c 56 4d 5f 47 45 54 53 54 52 49 4e 47 57  , LVM_GETSTRINGW
1a680 49 44 54 48 2c 20 30 2c 20 28 4c 50 41 52 41 4d  IDTH, 0, (LPARAM
1a690 29 28 4c 50 43 54 53 54 52 29 28 70 73 7a 29 29  )(LPCTSTR)(psz))
1a6a0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1a6b0 7b 20 4c 56 48 54 5f 4e 4f 57 48 45 52 45 20 3d  { LVHT_NOWHERE =
1a6c0 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
1a6d0 3a 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 4f 4e  : uint { LVHT_ON
1a6e0 49 54 45 4d 49 43 4f 4e 20 3d 20 30 78 30 30 30  ITEMICON = 0x000
1a6f0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
1a700 20 7b 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 4c 41   { LVHT_ONITEMLA
1a710 42 45 4c 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  BEL = 0x0004 }..
1a720 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1a730 48 54 5f 4f 4e 49 54 45 4d 53 54 41 54 45 49 43  HT_ONITEMSTATEIC
1a740 4f 4e 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  ON = 0x0008 }..e
1a750 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 48  num : uint { LVH
1a760 54 5f 4f 4e 49 54 45 4d 20 3d 20 4c 56 48 54 5f  T_ONITEM = LVHT_
1a770 4f 4e 49 54 45 4d 49 43 4f 4e 20 7c 20 4c 56 48  ONITEMICON | LVH
1a780 54 5f 4f 4e 49 54 45 4d 4c 41 42 45 4c 20 7c 20  T_ONITEMLABEL | 
1a790 4c 56 48 54 5f 4f 4e 49 54 45 4d 53 54 41 54 45  LVHT_ONITEMSTATE
1a7a0 49 43 4f 4e 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  ICON }....enum :
1a7b0 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 41 42 4f   uint { LVHT_ABO
1a7c0 56 45 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  VE = 0x0008 }..e
1a7d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 48  num : uint { LVH
1a7e0 54 5f 42 45 4c 4f 57 20 3d 20 30 78 30 30 31 30  T_BELOW = 0x0010
1a7f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a800 7b 20 4c 56 48 54 5f 54 4f 52 49 47 48 54 20 3d  { LVHT_TORIGHT =
1a810 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20   0x0020 }..enum 
1a820 3a 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 54 4f  : uint { LVHT_TO
1a830 4c 45 46 54 20 3d 20 30 78 30 30 34 30 20 7d 0d  LEFT = 0x0040 }.
1a840 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
1a850 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
1a860 0a 61 6c 69 61 73 20 4c 56 48 49 54 54 45 53 54  .alias LVHITTEST
1a870 49 4e 46 4f 20 4c 56 5f 48 49 54 54 45 53 54 49  INFO LV_HITTESTI
1a880 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  NFO;..// #else..
1a890 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
1a8a0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
1a8b0 2f 20 23 64 65 66 69 6e 65 20 4c 56 48 49 54 54  / #define LVHITT
1a8c0 45 53 54 49 4e 46 4f 5f 56 31 5f 53 49 5a 45 20  ESTINFO_V1_SIZE 
1a8d0 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28  CCSIZEOF_STRUCT(
1a8e0 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 2c 20 69  LVHITTESTINFO, i
1a8f0 49 74 65 6d 29 0d 0a 0d 0a 73 74 72 75 63 74 20  Item)....struct 
1a900 74 61 67 4c 56 48 49 54 54 45 53 54 49 4e 46 4f  tagLVHITTESTINFO
1a910 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d   {..  POINT pt;.
1a920 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a  .  UINT flags;..
1a930 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 2f 2f    int iItem;..//
1a940 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
1a950 3e 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 69 6e  >= 0x0300)..  in
1a960 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a 2f 2f 20  t iSubItem;..// 
1a970 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73  #endif..}..alias
1a980 20 74 61 67 4c 56 48 49 54 54 45 53 54 49 4e 46   tagLVHITTESTINF
1a990 4f 20 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 3b  O LVHITTESTINFO;
1a9a0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 48 49 54  ..alias tagLVHIT
1a9b0 54 45 53 54 49 4e 46 4f 2a 20 4c 50 4c 56 48 49  TESTINFO* LPLVHI
1a9c0 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e  TTESTINFO;....en
1a9d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1a9e0 48 49 54 54 45 53 54 20 3d 20 4c 56 4d 5f 46 49  HITTEST = LVM_FI
1a9f0 52 53 54 20 2b 20 31 38 20 7d 0d 0a 2f 2f 20 23  RST + 18 }..// #
1aa00 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1aa10 48 69 74 54 65 73 74 28 68 77 6e 64 4c 56 2c 20  HitTest(hwndLV, 
1aa20 70 69 6e 66 6f 29 20 28 69 6e 74 29 53 4e 44 4d  pinfo) (int)SNDM
1aa30 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d  SG((hwndLV), LVM
1aa40 5f 48 49 54 54 45 53 54 2c 20 30 2c 20 28 4c 50  _HITTEST, 0, (LP
1aa50 41 52 41 4d 29 28 4c 56 5f 48 49 54 54 45 53 54  ARAM)(LV_HITTEST
1aa60 49 4e 46 4f 20 2a 29 28 70 69 6e 66 6f 29 29 0d  INFO *)(pinfo)).
1aa70 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1aa80 20 4c 56 4d 5f 45 4e 53 55 52 45 56 49 53 49 42   LVM_ENSUREVISIB
1aa90 4c 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  LE = LVM_FIRST +
1aaa0 20 31 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   19 }..// #defin
1aab0 65 20 4c 69 73 74 56 69 65 77 5f 45 6e 73 75 72  e ListView_Ensur
1aac0 65 56 69 73 69 62 6c 65 28 68 77 6e 64 4c 56 2c  eVisible(hwndLV,
1aad0 20 69 2c 20 66 50 61 72 74 69 61 6c 4f 4b 29 20   i, fPartialOK) 
1aae0 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
1aaf0 6e 64 4c 56 29 2c 20 4c 56 4d 5f 45 4e 53 55 52  ndLV), LVM_ENSUR
1ab00 45 56 49 53 49 42 4c 45 2c 20 28 57 50 41 52 41  EVISIBLE, (WPARA
1ab10 4d 29 28 69 6e 74 29 28 69 29 2c 20 4d 41 4b 45  M)(int)(i), MAKE
1ab20 4c 50 41 52 41 4d 28 28 66 50 61 72 74 69 61 6c  LPARAM((fPartial
1ab30 4f 4b 29 2c 20 30 29 29 0d 0a 0d 0a 65 6e 75 6d  OK), 0))....enum
1ab40 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 43   : uint { LVM_SC
1ab50 52 4f 4c 4c 20 3d 20 4c 56 4d 5f 46 49 52 53 54  ROLL = LVM_FIRST
1ab60 20 2b 20 32 30 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 20 }..// #def
1ab70 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 63 72  ine ListView_Scr
1ab80 6f 6c 6c 28 68 77 6e 64 4c 56 2c 20 64 78 2c 20  oll(hwndLV, dx, 
1ab90 64 79 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  dy) (BOOL)SNDMSG
1aba0 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53  ((hwndLV), LVM_S
1abb0 43 52 4f 4c 4c 2c 20 28 57 50 41 52 41 4d 29 28  CROLL, (WPARAM)(
1abc0 69 6e 74 29 28 64 78 29 2c 20 28 4c 50 41 52 41  int)(dx), (LPARA
1abd0 4d 29 28 69 6e 74 29 28 64 79 29 29 0d 0a 0d 0a  M)(int)(dy))....
1abe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1abf0 4d 5f 52 45 44 52 41 57 49 54 45 4d 53 20 3d 20  M_REDRAWITEMS = 
1ac00 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32 31 20 7d  LVM_FIRST + 21 }
1ac10 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1ac20 74 56 69 65 77 5f 52 65 64 72 61 77 49 74 65 6d  tView_RedrawItem
1ac30 73 28 68 77 6e 64 4c 56 2c 20 69 46 69 72 73 74  s(hwndLV, iFirst
1ac40 2c 20 69 4c 61 73 74 29 20 28 42 4f 4f 4c 29 53  , iLast) (BOOL)S
1ac50 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20  NDMSG((hwndLV), 
1ac60 4c 56 4d 5f 52 45 44 52 41 57 49 54 45 4d 53 2c  LVM_REDRAWITEMS,
1ac70 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69   (WPARAM)(int)(i
1ac80 46 69 72 73 74 29 2c 20 28 4c 50 41 52 41 4d 29  First), (LPARAM)
1ac90 28 69 6e 74 29 28 69 4c 61 73 74 29 29 0d 0a 0d  (int)(iLast))...
1aca0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1acb0 56 41 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30  VA_DEFAULT = 0x0
1acc0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1acd0 6e 74 20 7b 20 4c 56 41 5f 41 4c 49 47 4e 4c 45  nt { LVA_ALIGNLE
1ace0 46 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  FT = 0x0001 }..e
1acf0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 41  num : uint { LVA
1ad00 5f 41 4c 49 47 4e 54 4f 50 20 3d 20 30 78 30 30  _ALIGNTOP = 0x00
1ad10 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
1ad20 74 20 7b 20 4c 56 41 5f 53 4e 41 50 54 4f 47 52  t { LVA_SNAPTOGR
1ad30 49 44 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 0d  ID = 0x0005 }...
1ad40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1ad50 56 4d 5f 41 52 52 41 4e 47 45 20 3d 20 4c 56 4d  VM_ARRANGE = LVM
1ad60 5f 46 49 52 53 54 20 2b 20 32 32 20 7d 0d 0a 2f  _FIRST + 22 }../
1ad70 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1ad80 65 77 5f 41 72 72 61 6e 67 65 28 68 77 6e 64 4c  ew_Arrange(hwndL
1ad90 56 2c 20 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53  V, code) (BOOL)S
1ada0 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20  NDMSG((hwndLV), 
1adb0 4c 56 4d 5f 41 52 52 41 4e 47 45 2c 20 28 57 50  LVM_ARRANGE, (WP
1adc0 41 52 41 4d 29 28 55 49 4e 54 29 28 63 6f 64 65  ARAM)(UINT)(code
1add0 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  ), 0L)....enum :
1ade0 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 45 44 49 54   uint { LVM_EDIT
1adf0 4c 41 42 45 4c 41 20 3d 20 4c 56 4d 5f 46 49 52  LABELA = LVM_FIR
1ae00 53 54 20 2b 20 32 33 20 7d 0d 0a 65 6e 75 6d 20  ST + 23 }..enum 
1ae10 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 45 44 49  : uint { LVM_EDI
1ae20 54 4c 41 42 45 4c 57 20 3d 20 4c 56 4d 5f 46 49  TLABELW = LVM_FI
1ae30 52 53 54 20 2b 20 31 31 38 20 7d 0d 0a 2f 2f 20  RST + 118 }..// 
1ae40 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1ae50 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
1ae60 65 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 45 44 49  e..alias LVM_EDI
1ae70 54 4c 41 42 45 4c 41 20 4c 56 4d 5f 45 44 49 54  TLABELA LVM_EDIT
1ae80 4c 41 42 45 4c 3b 0d 0a 2f 2f 20 23 65 6e 64 69  LABEL;..// #endi
1ae90 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  f....// #define 
1aea0 4c 69 73 74 56 69 65 77 5f 45 64 69 74 4c 61 62  ListView_EditLab
1aeb0 65 6c 28 68 77 6e 64 4c 56 2c 20 69 29 20 28 48  el(hwndLV, i) (H
1aec0 57 4e 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  WND)SNDMSG((hwnd
1aed0 4c 56 29 2c 20 4c 56 4d 5f 45 44 49 54 4c 41 42  LV), LVM_EDITLAB
1aee0 45 4c 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74  EL, (WPARAM)(int
1aef0 29 28 69 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75  )(i), 0L)....enu
1af00 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47  m : uint { LVM_G
1af10 45 54 45 44 49 54 43 4f 4e 54 52 4f 4c 20 3d 20  ETEDITCONTROL = 
1af20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32 34 20 7d  LVM_FIRST + 24 }
1af30 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1af40 74 56 69 65 77 5f 47 65 74 45 64 69 74 43 6f 6e  tView_GetEditCon
1af50 74 72 6f 6c 28 68 77 6e 64 4c 56 29 20 28 48 57  trol(hwndLV) (HW
1af60 4e 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c  ND)SNDMSG((hwndL
1af70 56 29 2c 20 4c 56 4d 5f 47 45 54 45 44 49 54 43  V), LVM_GETEDITC
1af80 4f 4e 54 52 4f 4c 2c 20 30 2c 20 30 4c 29 0d 0a  ONTROL, 0, 0L)..
1af90 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
1afa0 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
1afb0 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d 4e 41 20  alias LVCOLUMNA 
1afc0 4c 56 5f 43 4f 4c 55 4d 4e 41 3b 0d 0a 61 6c 69  LV_COLUMNA;..ali
1afd0 61 73 20 4c 56 43 4f 4c 55 4d 4e 57 20 4c 56 5f  as LVCOLUMNW LV_
1afe0 43 4f 4c 55 4d 4e 57 3b 0d 0a 2f 2f 20 23 65 6c  COLUMNW;..// #el
1aff0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
1b000 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
1b010 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
1b020 66 0d 0a 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c  f....alias LVCOL
1b030 55 4d 4e 20 4c 56 5f 43 4f 4c 55 4d 4e 3b 0d 0a  UMN LV_COLUMN;..
1b040 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 56 43  ..// #define LVC
1b050 4f 4c 55 4d 4e 41 5f 56 31 5f 53 49 5a 45 20 43  OLUMNA_V1_SIZE C
1b060 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 4c  CSIZEOF_STRUCT(L
1b070 56 43 4f 4c 55 4d 4e 41 2c 20 69 53 75 62 49 74  VCOLUMNA, iSubIt
1b080 65 6d 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  em)..// #define 
1b090 4c 56 43 4f 4c 55 4d 4e 57 5f 56 31 5f 53 49 5a  LVCOLUMNW_V1_SIZ
1b0a0 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43  E CCSIZEOF_STRUC
1b0b0 54 28 4c 56 43 4f 4c 55 4d 4e 57 2c 20 69 53 75  T(LVCOLUMNW, iSu
1b0c0 62 49 74 65 6d 29 0d 0a 0d 0a 73 74 72 75 63 74  bItem)....struct
1b0d0 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 41 20 7b 0d   tagLVCOLUMNA {.
1b0e0 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20  .  UINT mask;.. 
1b0f0 20 69 6e 74 20 66 6d 74 3b 0d 0a 20 20 69 6e 74   int fmt;..  int
1b100 20 63 78 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73   cx;..  LPSTR ps
1b110 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63  zText;..  int cc
1b120 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74  hTextMax;..  int
1b130 20 69 53 75 62 49 74 65 6d 3b 0d 0a 2f 2f 20 23   iSubItem;..// #
1b140 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
1b150 20 30 78 30 33 30 30 29 0d 0a 20 20 69 6e 74 20   0x0300)..  int 
1b160 69 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69  iImage;..  int i
1b170 4f 72 64 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69  Order;..// #endi
1b180 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c  f..}..alias tagL
1b190 56 43 4f 4c 55 4d 4e 41 20 4c 56 43 4f 4c 55 4d  VCOLUMNA LVCOLUM
1b1a0 4e 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56  NA;..alias tagLV
1b1b0 43 4f 4c 55 4d 4e 41 2a 20 4c 50 4c 56 43 4f 4c  COLUMNA* LPLVCOL
1b1c0 55 4d 4e 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  UMNA;....struct 
1b1d0 74 61 67 4c 56 43 4f 4c 55 4d 4e 57 20 7b 0d 0a  tagLVCOLUMNW {..
1b1e0 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20    UINT mask;..  
1b1f0 69 6e 74 20 66 6d 74 3b 0d 0a 20 20 69 6e 74 20  int fmt;..  int 
1b200 63 78 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73  cx;..  LPWSTR ps
1b210 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63  zText;..  int cc
1b220 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74  hTextMax;..  int
1b230 20 69 53 75 62 49 74 65 6d 3b 0d 0a 2f 2f 20 23   iSubItem;..// #
1b240 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
1b250 20 30 78 30 33 30 30 29 0d 0a 20 20 69 6e 74 20   0x0300)..  int 
1b260 69 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69  iImage;..  int i
1b270 4f 72 64 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69  Order;..// #endi
1b280 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c  f..}..alias tagL
1b290 56 43 4f 4c 55 4d 4e 57 20 4c 56 43 4f 4c 55 4d  VCOLUMNW LVCOLUM
1b2a0 4e 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56  NW;..alias tagLV
1b2b0 43 4f 4c 55 4d 4e 57 2a 20 4c 50 4c 56 43 4f 4c  COLUMNW* LPLVCOL
1b2c0 55 4d 4e 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  UMNW;....// #ifd
1b2d0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
1b2e0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
1b2f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
1b300 0a 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d 4e 41  .alias LVCOLUMNA
1b310 20 4c 56 43 4f 4c 55 4d 4e 3b 0d 0a 61 6c 69 61   LVCOLUMN;..alia
1b320 73 20 4c 50 4c 56 43 4f 4c 55 4d 4e 41 20 4c 50  s LPLVCOLUMNA LP
1b330 4c 56 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f 20 23 64  LVCOLUMN;..// #d
1b340 65 66 69 6e 65 20 4c 56 43 4f 4c 55 4d 4e 5f 56  efine LVCOLUMN_V
1b350 31 5f 53 49 5a 45 20 4c 56 43 4f 4c 55 4d 4e 41  1_SIZE LVCOLUMNA
1b360 5f 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6e  _V1_SIZE..// #en
1b370 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
1b380 6e 74 20 7b 20 4c 56 43 46 5f 46 4d 54 20 3d 20  nt { LVCF_FMT = 
1b390 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
1b3a0 20 75 69 6e 74 20 7b 20 4c 56 43 46 5f 57 49 44   uint { LVCF_WID
1b3b0 54 48 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  TH = 0x0002 }..e
1b3c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43  num : uint { LVC
1b3d0 46 5f 54 45 58 54 20 3d 20 30 78 30 30 30 34 20  F_TEXT = 0x0004 
1b3e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b3f0 20 4c 56 43 46 5f 53 55 42 49 54 45 4d 20 3d 20   LVCF_SUBITEM = 
1b400 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69 66  0x0008 }..// #if
1b410 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
1b420 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0300)..enum : u
1b430 69 6e 74 20 7b 20 4c 56 43 46 5f 49 4d 41 47 45  int { LVCF_IMAGE
1b440 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
1b450 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 5f  m : uint { LVCF_
1b460 4f 52 44 45 52 20 3d 20 30 78 30 30 32 30 20 7d  ORDER = 0x0020 }
1b470 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
1b480 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43  num : uint { LVC
1b490 46 4d 54 5f 4c 45 46 54 20 3d 20 30 78 30 30 30  FMT_LEFT = 0x000
1b4a0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1b4b0 20 7b 20 4c 56 43 46 4d 54 5f 52 49 47 48 54 20   { LVCFMT_RIGHT 
1b4c0 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
1b4d0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 4d 54   : uint { LVCFMT
1b4e0 5f 43 45 4e 54 45 52 20 3d 20 30 78 30 30 30 32  _CENTER = 0x0002
1b4f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1b500 7b 20 4c 56 43 46 4d 54 5f 4a 55 53 54 49 46 59  { LVCFMT_JUSTIFY
1b510 4d 41 53 4b 20 3d 20 30 78 30 30 30 33 20 7d 0d  MASK = 0x0003 }.
1b520 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
1b530 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
1b540 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1b550 56 43 46 4d 54 5f 49 4d 41 47 45 20 3d 20 30 78  VCFMT_IMAGE = 0x
1b560 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0800 }..enum : u
1b570 69 6e 74 20 7b 20 4c 56 43 46 4d 54 5f 42 49 54  int { LVCFMT_BIT
1b580 4d 41 50 5f 4f 4e 5f 52 49 47 48 54 20 3d 20 30  MAP_ON_RIGHT = 0
1b590 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1000 }..enum : 
1b5a0 75 69 6e 74 20 7b 20 4c 56 43 46 4d 54 5f 43 4f  uint { LVCFMT_CO
1b5b0 4c 5f 48 41 53 5f 49 4d 41 47 45 53 20 3d 20 30  L_HAS_IMAGES = 0
1b5c0 78 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x8000 }..// #end
1b5d0 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
1b5e0 74 20 7b 20 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d  t { LVM_GETCOLUM
1b5f0 4e 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  NA = LVM_FIRST +
1b600 20 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   25 }..enum : ui
1b610 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 43 4f 4c 55  nt { LVM_GETCOLU
1b620 4d 4e 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  MNW = LVM_FIRST 
1b630 2b 20 39 35 20 7d 0d 0a 2f 2f 20 23 69 66 64 65  + 95 }..// #ifde
1b640 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
1b650 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
1b660 69 61 73 20 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d  ias LVM_GETCOLUM
1b670 4e 41 20 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e  NA LVM_GETCOLUMN
1b680 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
1b690 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
1b6a0 69 65 77 5f 47 65 74 43 6f 6c 75 6d 6e 28 68 77  iew_GetColumn(hw
1b6b0 6e 64 2c 20 69 43 6f 6c 2c 20 70 63 6f 6c 29 20  nd, iCol, pcol) 
1b6c0 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
1b6d0 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 43 4f 4c 55  nd), LVM_GETCOLU
1b6e0 4d 4e 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74  MN, (WPARAM)(int
1b6f0 29 28 69 43 6f 6c 29 2c 20 28 4c 50 41 52 41 4d  )(iCol), (LPARAM
1b700 29 28 4c 56 5f 43 4f 4c 55 4d 4e 20 2a 29 28 70  )(LV_COLUMN *)(p
1b710 63 6f 6c 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  col))....enum : 
1b720 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 43 4f  uint { LVM_SETCO
1b730 4c 55 4d 4e 41 20 3d 20 4c 56 4d 5f 46 49 52 53  LUMNA = LVM_FIRS
1b740 54 20 2b 20 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a  T + 26 }..enum :
1b750 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 43   uint { LVM_SETC
1b760 4f 4c 55 4d 4e 57 20 3d 20 4c 56 4d 5f 46 49 52  OLUMNW = LVM_FIR
1b770 53 54 20 2b 20 39 36 20 7d 0d 0a 2f 2f 20 23 69  ST + 96 }..// #i
1b780 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
1b790 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
1b7a0 0a 61 6c 69 61 73 20 4c 56 4d 5f 53 45 54 43 4f  .alias LVM_SETCO
1b7b0 4c 55 4d 4e 41 20 4c 56 4d 5f 53 45 54 43 4f 4c  LUMNA LVM_SETCOL
1b7c0 55 4d 4e 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  UMN;..// #endif.
1b7d0 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  ...// #define Li
1b7e0 73 74 56 69 65 77 5f 53 65 74 43 6f 6c 75 6d 6e  stView_SetColumn
1b7f0 28 68 77 6e 64 2c 20 69 43 6f 6c 2c 20 70 63 6f  (hwnd, iCol, pco
1b800 6c 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  l) (BOOL)SNDMSG(
1b810 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 43  (hwnd), LVM_SETC
1b820 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41 4d 29 28  OLUMN, (WPARAM)(
1b830 69 6e 74 29 28 69 43 6f 6c 29 2c 20 28 4c 50 41  int)(iCol), (LPA
1b840 52 41 4d 29 28 63 6f 6e 73 74 20 4c 56 5f 43 4f  RAM)(const LV_CO
1b850 4c 55 4d 4e 20 2a 29 28 70 63 6f 6c 29 29 0d 0a  LUMN *)(pcol))..
1b860 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b870 4c 56 4d 5f 49 4e 53 45 52 54 43 4f 4c 55 4d 4e  LVM_INSERTCOLUMN
1b880 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  A = LVM_FIRST + 
1b890 32 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  27 }..enum : uin
1b8a0 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 52 54 43 4f  t { LVM_INSERTCO
1b8b0 4c 55 4d 4e 57 20 3d 20 4c 56 4d 5f 46 49 52 53  LUMNW = LVM_FIRS
1b8c0 54 20 2b 20 39 37 20 7d 0d 0a 2f 2f 20 23 69 66  T + 97 }..// #if
1b8d0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
1b8e0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
1b8f0 61 6c 69 61 73 20 4c 56 4d 5f 49 4e 53 45 52 54  alias LVM_INSERT
1b900 43 4f 4c 55 4d 4e 41 20 4c 56 4d 5f 49 4e 53 45  COLUMNA LVM_INSE
1b910 52 54 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f 20 23 65  RTCOLUMN;..// #e
1b920 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  ndif....// #defi
1b930 6e 65 20 4c 69 73 74 56 69 65 77 5f 49 6e 73 65  ne ListView_Inse
1b940 72 74 43 6f 6c 75 6d 6e 28 68 77 6e 64 2c 20 69  rtColumn(hwnd, i
1b950 43 6f 6c 2c 20 70 63 6f 6c 29 20 28 69 6e 74 29  Col, pcol) (int)
1b960 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c  SNDMSG((hwnd), L
1b970 56 4d 5f 49 4e 53 45 52 54 43 4f 4c 55 4d 4e 2c  VM_INSERTCOLUMN,
1b980 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69   (WPARAM)(int)(i
1b990 43 6f 6c 29 2c 20 28 4c 50 41 52 41 4d 29 28 63  Col), (LPARAM)(c
1b9a0 6f 6e 73 74 20 4c 56 5f 43 4f 4c 55 4d 4e 20 2a  onst LV_COLUMN *
1b9b0 29 28 70 63 6f 6c 29 29 0d 0a 0d 0a 65 6e 75 6d  )(pcol))....enum
1b9c0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 44 45   : uint { LVM_DE
1b9d0 4c 45 54 45 43 4f 4c 55 4d 4e 20 3d 20 4c 56 4d  LETECOLUMN = LVM
1b9e0 5f 46 49 52 53 54 20 2b 20 32 38 20 7d 0d 0a 2f  _FIRST + 28 }../
1b9f0 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1ba00 65 77 5f 44 65 6c 65 74 65 43 6f 6c 75 6d 6e 28  ew_DeleteColumn(
1ba10 68 77 6e 64 2c 20 69 43 6f 6c 29 20 28 42 4f 4f  hwnd, iCol) (BOO
1ba20 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  L)SNDMSG((hwnd),
1ba30 20 4c 56 4d 5f 44 45 4c 45 54 45 43 4f 4c 55 4d   LVM_DELETECOLUM
1ba40 4e 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29  N, (WPARAM)(int)
1ba50 28 69 43 6f 6c 29 2c 20 30 29 0d 0a 0d 0a 65 6e  (iCol), 0)....en
1ba60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1ba70 47 45 54 43 4f 4c 55 4d 4e 57 49 44 54 48 20 3d  GETCOLUMNWIDTH =
1ba80 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32 39 20   LVM_FIRST + 29 
1ba90 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1baa0 73 74 56 69 65 77 5f 47 65 74 43 6f 6c 75 6d 6e  stView_GetColumn
1bab0 57 69 64 74 68 28 68 77 6e 64 2c 20 69 43 6f 6c  Width(hwnd, iCol
1bac0 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68  ) (int)SNDMSG((h
1bad0 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 43 4f 4c  wnd), LVM_GETCOL
1bae0 55 4d 4e 57 49 44 54 48 2c 20 28 57 50 41 52 41  UMNWIDTH, (WPARA
1baf0 4d 29 28 69 6e 74 29 28 69 43 6f 6c 29 2c 20 30  M)(int)(iCol), 0
1bb00 29 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 4c 56 53 43  )....enum { LVSC
1bb10 57 5f 41 55 54 4f 53 49 5a 45 20 3d 20 2d 31 20  W_AUTOSIZE = -1 
1bb20 7d 0d 0a 65 6e 75 6d 20 7b 20 4c 56 53 43 57 5f  }..enum { LVSCW_
1bb30 41 55 54 4f 53 49 5a 45 5f 55 53 45 48 45 41 44  AUTOSIZE_USEHEAD
1bb40 45 52 20 3d 20 2d 32 20 7d 0d 0a 65 6e 75 6d 20  ER = -2 }..enum 
1bb50 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54  : uint { LVM_SET
1bb60 43 4f 4c 55 4d 4e 57 49 44 54 48 20 3d 20 4c 56  COLUMNWIDTH = LV
1bb70 4d 5f 46 49 52 53 54 20 2b 20 33 30 20 7d 0d 0a  M_FIRST + 30 }..
1bb80 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1bb90 74 56 69 65 77 5f 53 65 74 43 6f 6c 75 6d 6e 57  tView_SetColumnW
1bba0 69 64 74 68 28 68 77 6e 64 2c 20 69 43 6f 6c 2c  idth(hwnd, iCol,
1bbb0 20 63 78 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53   cx) (BOOL)SNDMS
1bbc0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45  G((hwnd), LVM_SE
1bbd0 54 43 4f 4c 55 4d 4e 57 49 44 54 48 2c 20 28 57  TCOLUMNWIDTH, (W
1bbe0 50 41 52 41 4d 29 28 69 6e 74 29 28 69 43 6f 6c  PARAM)(int)(iCol
1bbf0 29 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28 28 63  ), MAKELPARAM((c
1bc00 78 29 2c 20 30 29 29 0d 0a 0d 0a 2f 2f 20 23 69  x), 0))....// #i
1bc10 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
1bc20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0300)..enum : 
1bc30 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 48 45  uint { LVM_GETHE
1bc40 41 44 45 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54  ADER = LVM_FIRST
1bc50 20 2b 20 33 31 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 31 }..// #def
1bc60 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
1bc70 48 65 61 64 65 72 28 68 77 6e 64 29 20 28 48 57  Header(hwnd) (HW
1bc80 4e 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  ND)SNDMSG((hwnd)
1bc90 2c 20 4c 56 4d 5f 47 45 54 48 45 41 44 45 52 2c  , LVM_GETHEADER,
1bca0 20 30 2c 20 30 4c 29 0d 0a 2f 2f 20 23 65 6e 64   0, 0L)..// #end
1bcb0 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
1bcc0 74 20 7b 20 4c 56 4d 5f 43 52 45 41 54 45 44 52  t { LVM_CREATEDR
1bcd0 41 47 49 4d 41 47 45 20 3d 20 4c 56 4d 5f 46 49  AGIMAGE = LVM_FI
1bce0 52 53 54 20 2b 20 33 33 20 7d 0d 0a 2f 2f 20 23  RST + 33 }..// #
1bcf0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1bd00 43 72 65 61 74 65 44 72 61 67 49 6d 61 67 65 28  CreateDragImage(
1bd10 68 77 6e 64 2c 20 69 2c 20 6c 70 70 74 55 70 4c  hwnd, i, lpptUpL
1bd20 65 66 74 29 20 28 48 49 4d 41 47 45 4c 49 53 54  eft) (HIMAGELIST
1bd30 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1bd40 4c 56 4d 5f 43 52 45 41 54 45 44 52 41 47 49 4d  LVM_CREATEDRAGIM
1bd50 41 47 45 2c 20 28 57 50 41 52 41 4d 29 28 69 6e  AGE, (WPARAM)(in
1bd60 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 28  t)(i), (LPARAM)(
1bd70 4c 50 50 4f 49 4e 54 29 28 6c 70 70 74 55 70 4c  LPPOINT)(lpptUpL
1bd80 65 66 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  eft))....enum : 
1bd90 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 56 49  uint { LVM_GETVI
1bda0 45 57 52 45 43 54 20 3d 20 4c 56 4d 5f 46 49 52  EWRECT = LVM_FIR
1bdb0 53 54 20 2b 20 33 34 20 7d 0d 0a 2f 2f 20 23 64  ST + 34 }..// #d
1bdc0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47  efine ListView_G
1bdd0 65 74 56 69 65 77 52 65 63 74 28 68 77 6e 64 2c  etViewRect(hwnd,
1bde0 20 70 72 63 29 20 28 42 4f 4f 4c 29 53 4e 44 4d   prc) (BOOL)SNDM
1bdf0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
1be00 45 54 56 49 45 57 52 45 43 54 2c 20 30 2c 20 28  ETVIEWRECT, 0, (
1be10 4c 50 41 52 41 4d 29 28 52 45 43 54 20 2a 29 28  LPARAM)(RECT *)(
1be20 70 72 63 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  prc))....enum : 
1be30 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 54 45  uint { LVM_GETTE
1be40 58 54 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49  XTCOLOR = LVM_FI
1be50 52 53 54 20 2b 20 33 35 20 7d 0d 0a 2f 2f 20 23  RST + 35 }..// #
1be60 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1be70 47 65 74 54 65 78 74 43 6f 6c 6f 72 28 68 77 6e  GetTextColor(hwn
1be80 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44  d) (COLORREF)SND
1be90 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
1bea0 47 45 54 54 45 58 54 43 4f 4c 4f 52 2c 20 30 2c  GETTEXTCOLOR, 0,
1beb0 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   0L)....enum : u
1bec0 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 54 45 58  int { LVM_SETTEX
1bed0 54 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49 52  TCOLOR = LVM_FIR
1bee0 53 54 20 2b 20 33 36 20 7d 0d 0a 2f 2f 20 23 64  ST + 36 }..// #d
1bef0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53  efine ListView_S
1bf00 65 74 54 65 78 74 43 6f 6c 6f 72 28 68 77 6e 64  etTextColor(hwnd
1bf10 2c 20 63 6c 72 54 65 78 74 29 20 28 42 4f 4f 4c  , clrText) (BOOL
1bf20 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1bf30 4c 56 4d 5f 53 45 54 54 45 58 54 43 4f 4c 4f 52  LVM_SETTEXTCOLOR
1bf40 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 43 4f  , 0, (LPARAM)(CO
1bf50 4c 4f 52 52 45 46 29 28 63 6c 72 54 65 78 74 29  LORREF)(clrText)
1bf60 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
1bf70 20 7b 20 4c 56 4d 5f 47 45 54 54 45 58 54 42 4b   { LVM_GETTEXTBK
1bf80 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53  COLOR = LVM_FIRS
1bf90 54 20 2b 20 33 37 20 7d 0d 0a 2f 2f 20 23 64 65  T + 37 }..// #de
1bfa0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
1bfb0 74 54 65 78 74 42 6b 43 6f 6c 6f 72 28 68 77 6e  tTextBkColor(hwn
1bfc0 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44  d) (COLORREF)SND
1bfd0 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
1bfe0 47 45 54 54 45 58 54 42 4b 43 4f 4c 4f 52 2c 20  GETTEXTBKCOLOR, 
1bff0 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  0, 0L)....enum :
1c000 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 54   uint { LVM_SETT
1c010 45 58 54 42 4b 43 4f 4c 4f 52 20 3d 20 4c 56 4d  EXTBKCOLOR = LVM
1c020 5f 46 49 52 53 54 20 2b 20 33 38 20 7d 0d 0a 2f  _FIRST + 38 }../
1c030 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1c040 65 77 5f 53 65 74 54 65 78 74 42 6b 43 6f 6c 6f  ew_SetTextBkColo
1c050 72 28 68 77 6e 64 2c 20 63 6c 72 54 65 78 74 42  r(hwnd, clrTextB
1c060 6b 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  k) (BOOL)SNDMSG(
1c070 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 54  (hwnd), LVM_SETT
1c080 45 58 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20 28  EXTBKCOLOR, 0, (
1c090 4c 50 41 52 41 4d 29 28 43 4f 4c 4f 52 52 45 46  LPARAM)(COLORREF
1c0a0 29 28 63 6c 72 54 65 78 74 42 6b 29 29 0d 0a 0d  )(clrTextBk))...
1c0b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1c0c0 56 4d 5f 47 45 54 54 4f 50 49 4e 44 45 58 20 3d  VM_GETTOPINDEX =
1c0d0 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 39 20   LVM_FIRST + 39 
1c0e0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1c0f0 73 74 56 69 65 77 5f 47 65 74 54 6f 70 49 6e 64  stView_GetTopInd
1c100 65 78 28 68 77 6e 64 4c 56 29 20 28 69 6e 74 29  ex(hwndLV) (int)
1c110 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c  SNDMSG((hwndLV),
1c120 20 4c 56 4d 5f 47 45 54 54 4f 50 49 4e 44 45 58   LVM_GETTOPINDEX
1c130 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
1c140 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
1c150 43 4f 55 4e 54 50 45 52 50 41 47 45 20 3d 20 4c  COUNTPERPAGE = L
1c160 56 4d 5f 46 49 52 53 54 20 2b 20 34 30 20 7d 0d  VM_FIRST + 40 }.
1c170 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1c180 56 69 65 77 5f 47 65 74 43 6f 75 6e 74 50 65 72  View_GetCountPer
1c190 50 61 67 65 28 68 77 6e 64 4c 56 29 20 28 69 6e  Page(hwndLV) (in
1c1a0 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56  t)SNDMSG((hwndLV
1c1b0 29 2c 20 4c 56 4d 5f 47 45 54 43 4f 55 4e 54 50  ), LVM_GETCOUNTP
1c1c0 45 52 50 41 47 45 2c 20 30 2c 20 30 29 0d 0a 0d  ERPAGE, 0, 0)...
1c1d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1c1e0 56 4d 5f 47 45 54 4f 52 49 47 49 4e 20 3d 20 4c  VM_GETORIGIN = L
1c1f0 56 4d 5f 46 49 52 53 54 20 2b 20 34 31 20 7d 0d  VM_FIRST + 41 }.
1c200 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1c210 56 69 65 77 5f 47 65 74 4f 72 69 67 69 6e 28 68  View_GetOrigin(h
1c220 77 6e 64 4c 56 2c 20 70 70 74 29 20 28 42 4f 4f  wndLV, ppt) (BOO
1c230 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56  L)SNDMSG((hwndLV
1c240 29 2c 20 4c 56 4d 5f 47 45 54 4f 52 49 47 49 4e  ), LVM_GETORIGIN
1c250 2c 20 28 57 50 41 52 41 4d 29 30 2c 20 28 4c 50  , (WPARAM)0, (LP
1c260 41 52 41 4d 29 28 50 4f 49 4e 54 20 2a 29 28 70  ARAM)(POINT *)(p
1c270 70 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  pt))....enum : u
1c280 69 6e 74 20 7b 20 4c 56 4d 5f 55 50 44 41 54 45  int { LVM_UPDATE
1c290 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34   = LVM_FIRST + 4
1c2a0 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  2 }..// #define 
1c2b0 4c 69 73 74 56 69 65 77 5f 55 70 64 61 74 65 28  ListView_Update(
1c2c0 68 77 6e 64 4c 56 2c 20 69 29 20 28 42 4f 4f 4c  hwndLV, i) (BOOL
1c2d0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29  )SNDMSG((hwndLV)
1c2e0 2c 20 4c 56 4d 5f 55 50 44 41 54 45 2c 20 28 57  , LVM_UPDATE, (W
1c2f0 50 41 52 41 4d 29 28 69 29 2c 20 30 4c 29 0d 0a  PARAM)(i), 0L)..
1c300 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c310 4c 56 4d 5f 53 45 54 49 54 45 4d 53 54 41 54 45  LVM_SETITEMSTATE
1c320 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34   = LVM_FIRST + 4
1c330 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  3 }..// #define 
1c340 4c 69 73 74 56 69 65 77 5f 53 65 74 49 74 65 6d  ListView_SetItem
1c350 53 74 61 74 65 28 68 77 6e 64 4c 56 2c 20 69 2c  State(hwndLV, i,
1c360 20 64 61 74 61 2c 20 6d 61 73 6b 29 20 7b 20 4c   data, mask) { L
1c370 56 5f 49 54 45 4d 20 5f 6d 73 5f 6c 76 69 3b 20  V_ITEM _ms_lvi; 
1c380 5f 6d 73 5f 6c 76 69 2e 73 74 61 74 65 4d 61 73  _ms_lvi.stateMas
1c390 6b 20 3d 20 6d 61 73 6b 3b 20 5f 6d 73 5f 6c 76  k = mask; _ms_lv
1c3a0 69 2e 73 74 61 74 65 20 3d 20 64 61 74 61 3b 20  i.state = data; 
1c3b0 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c  SNDMSG((hwndLV),
1c3c0 20 4c 56 4d 5f 53 45 54 49 54 45 4d 53 54 41 54   LVM_SETITEMSTAT
1c3d0 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c 20  E, (WPARAM)(i), 
1c3e0 28 4c 50 41 52 41 4d 29 28 4c 56 5f 49 54 45 4d  (LPARAM)(LV_ITEM
1c3f0 20 2a 29 26 5f 6d 73 5f 6c 76 69 29 3b 20 7d 0d   *)&_ms_lvi); }.
1c400 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
1c410 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
1c420 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1c430 56 69 65 77 5f 53 65 74 43 68 65 63 6b 53 74 61  View_SetCheckSta
1c440 74 65 28 68 77 6e 64 4c 56 2c 20 69 2c 20 66 43  te(hwndLV, i, fC
1c450 68 65 63 6b 29 20 4c 69 73 74 56 69 65 77 5f 53  heck) ListView_S
1c460 65 74 49 74 65 6d 53 74 61 74 65 28 68 77 6e 64  etItemState(hwnd
1c470 4c 56 2c 20 69 2c 20 49 4e 44 45 58 54 4f 53 54  LV, i, INDEXTOST
1c480 41 54 45 49 4d 41 47 45 4d 41 53 4b 28 28 66 43  ATEIMAGEMASK((fC
1c490 68 65 63 6b 29 3f 32 3a 31 29 2c 20 4c 56 49 53  heck)?2:1), LVIS
1c4a0 5f 53 54 41 54 45 49 4d 41 47 45 4d 41 53 4b 29  _STATEIMAGEMASK)
1c4b0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
1c4c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1c4d0 5f 47 45 54 49 54 45 4d 53 54 41 54 45 20 3d 20  _GETITEMSTATE = 
1c4e0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34 34 20 7d  LVM_FIRST + 44 }
1c4f0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1c500 74 56 69 65 77 5f 47 65 74 49 74 65 6d 53 74 61  tView_GetItemSta
1c510 74 65 28 68 77 6e 64 4c 56 2c 20 69 2c 20 6d 61  te(hwndLV, i, ma
1c520 73 6b 29 20 28 55 49 4e 54 29 53 4e 44 4d 53 47  sk) (UINT)SNDMSG
1c530 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47  ((hwndLV), LVM_G
1c540 45 54 49 54 45 4d 53 54 41 54 45 2c 20 28 57 50  ETITEMSTATE, (WP
1c550 41 52 41 4d 29 28 69 29 2c 20 28 4c 50 41 52 41  ARAM)(i), (LPARA
1c560 4d 29 28 6d 61 73 6b 29 29 0d 0a 0d 0a 2f 2f 20  M)(mask))....// 
1c570 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
1c580 3d 20 30 78 30 33 30 30 29 0d 0a 2f 2f 20 23 64  = 0x0300)..// #d
1c590 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47  efine ListView_G
1c5a0 65 74 43 68 65 63 6b 53 74 61 74 65 28 68 77 6e  etCheckState(hwn
1c5b0 64 4c 56 2c 20 69 29 20 28 28 28 28 55 49 4e 54  dLV, i) ((((UINT
1c5c0 29 28 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56  )(SNDMSG((hwndLV
1c5d0 29 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d 53 54  ), LVM_GETITEMST
1c5e0 41 54 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29  ATE, (WPARAM)(i)
1c5f0 2c 20 4c 56 49 53 5f 53 54 41 54 45 49 4d 41 47  , LVIS_STATEIMAG
1c600 45 4d 41 53 4b 29 29 29 20 3e 3e 20 31 32 29 20  EMASK))) >> 12) 
1c610 2d 31 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  -1)..// #endif..
1c620 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1c630 4c 56 4d 5f 47 45 54 49 54 45 4d 54 45 58 54 41  LVM_GETITEMTEXTA
1c640 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34   = LVM_FIRST + 4
1c650 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
1c660 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45 4d 54 45   { LVM_GETITEMTE
1c670 58 54 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  XTW = LVM_FIRST 
1c680 2b 20 31 31 35 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  + 115 }....// #i
1c690 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
1c6a0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
1c6b0 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54 49 54  .alias LVM_GETIT
1c6c0 45 4d 54 45 58 54 41 20 4c 56 4d 5f 47 45 54 49  EMTEXTA LVM_GETI
1c6d0 54 45 4d 54 45 58 54 3b 0d 0a 2f 2f 20 23 65 6e  TEMTEXT;..// #en
1c6e0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  dif....// #defin
1c6f0 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74  e ListView_GetIt
1c700 65 6d 54 65 78 74 28 68 77 6e 64 4c 56 2c 20 69  emText(hwndLV, i
1c710 2c 20 69 53 75 62 49 74 65 6d 5f 2c 20 70 73 7a  , iSubItem_, psz
1c720 54 65 78 74 5f 2c 20 63 63 68 54 65 78 74 4d 61  Text_, cchTextMa
1c730 78 5f 29 20 7b 20 4c 56 5f 49 54 45 4d 20 5f 6d  x_) { LV_ITEM _m
1c740 73 5f 6c 76 69 3b 20 5f 6d 73 5f 6c 76 69 2e 69  s_lvi; _ms_lvi.i
1c750 53 75 62 49 74 65 6d 20 3d 20 69 53 75 62 49 74  SubItem = iSubIt
1c760 65 6d 5f 3b 20 5f 6d 73 5f 6c 76 69 2e 63 63 68  em_; _ms_lvi.cch
1c770 54 65 78 74 4d 61 78 20 3d 20 63 63 68 54 65 78  TextMax = cchTex
1c780 74 4d 61 78 5f 3b 20 5f 6d 73 5f 6c 76 69 2e 70  tMax_; _ms_lvi.p
1c790 73 7a 54 65 78 74 20 3d 20 70 73 7a 54 65 78 74  szText = pszText
1c7a0 5f 3b 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c  _; SNDMSG((hwndL
1c7b0 56 29 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d 54  V), LVM_GETITEMT
1c7c0 45 58 54 2c 20 28 57 50 41 52 41 4d 29 28 69 29  EXT, (WPARAM)(i)
1c7d0 2c 20 28 4c 50 41 52 41 4d 29 28 4c 56 5f 49 54  , (LPARAM)(LV_IT
1c7e0 45 4d 20 2a 29 26 5f 6d 73 5f 6c 76 69 29 3b 20  EM *)&_ms_lvi); 
1c7f0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1c800 20 7b 20 4c 56 4d 5f 53 45 54 49 54 45 4d 54 45   { LVM_SETITEMTE
1c810 58 54 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  XTA = LVM_FIRST 
1c820 2b 20 34 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 46 }..enum : u
1c830 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54 45  int { LVM_SETITE
1c840 4d 54 45 58 54 57 20 3d 20 4c 56 4d 5f 46 49 52  MTEXTW = LVM_FIR
1c850 53 54 20 2b 20 31 31 36 20 7d 0d 0a 0d 0a 2f 2f  ST + 116 }....//
1c860 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1c870 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
1c880 73 65 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 53 45  se..alias LVM_SE
1c890 54 49 54 45 4d 54 45 58 54 41 20 4c 56 4d 5f 53  TITEMTEXTA LVM_S
1c8a0 45 54 49 54 45 4d 54 45 58 54 3b 0d 0a 2f 2f 20  ETITEMTEXT;..// 
1c8b0 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65  #endif....// #de
1c8c0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65  fine ListView_Se
1c8d0 74 49 74 65 6d 54 65 78 74 28 68 77 6e 64 4c 56  tItemText(hwndLV
1c8e0 2c 20 69 2c 20 69 53 75 62 49 74 65 6d 5f 2c 20  , i, iSubItem_, 
1c8f0 70 73 7a 54 65 78 74 5f 29 20 7b 20 4c 56 5f 49  pszText_) { LV_I
1c900 54 45 4d 20 5f 6d 73 5f 6c 76 69 3b 20 5f 6d 73  TEM _ms_lvi; _ms
1c910 5f 6c 76 69 2e 69 53 75 62 49 74 65 6d 20 3d 20  _lvi.iSubItem = 
1c920 69 53 75 62 49 74 65 6d 5f 3b 20 5f 6d 73 5f 6c  iSubItem_; _ms_l
1c930 76 69 2e 70 73 7a 54 65 78 74 20 3d 20 70 73 7a  vi.pszText = psz
1c940 54 65 78 74 5f 3b 20 53 4e 44 4d 53 47 28 28 68  Text_; SNDMSG((h
1c950 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54 49  wndLV), LVM_SETI
1c960 54 45 4d 54 45 58 54 2c 20 28 57 50 41 52 41 4d  TEMTEXT, (WPARAM
1c970 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 28 4c  )(i), (LPARAM)(L
1c980 56 5f 49 54 45 4d 20 2a 29 26 5f 6d 73 5f 6c 76  V_ITEM *)&_ms_lv
1c990 69 29 3b 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  i); }....// #if 
1c9a0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
1c9b0 30 33 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0300)....enum : 
1c9c0 75 69 6e 74 20 7b 20 4c 56 53 49 43 46 5f 4e 4f  uint { LVSICF_NO
1c9d0 49 4e 56 41 4c 49 44 41 54 45 41 4c 4c 20 3d 20  INVALIDATEALL = 
1c9e0 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
1c9f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 49  um : uint { LVSI
1ca00 43 46 5f 4e 4f 53 43 52 4f 4c 4c 20 3d 20 30 78  CF_NOSCROLL = 0x
1ca10 30 30 30 30 30 30 30 32 20 7d 0d 0a 2f 2f 20 23  00000002 }..// #
1ca20 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
1ca30 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54  uint { LVM_SETIT
1ca40 45 4d 43 4f 55 4e 54 20 3d 20 4c 56 4d 5f 46 49  EMCOUNT = LVM_FI
1ca50 52 53 54 20 2b 20 34 37 20 7d 0d 0a 2f 2f 20 23  RST + 47 }..// #
1ca60 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1ca70 53 65 74 49 74 65 6d 43 6f 75 6e 74 28 68 77 6e  SetItemCount(hwn
1ca80 64 4c 56 2c 20 63 49 74 65 6d 73 29 20 53 4e 44  dLV, cItems) SND
1ca90 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56  MSG((hwndLV), LV
1caa0 4d 5f 53 45 54 49 54 45 4d 43 4f 55 4e 54 2c 20  M_SETITEMCOUNT, 
1cab0 28 57 50 41 52 41 4d 29 28 63 49 74 65 6d 73 29  (WPARAM)(cItems)
1cac0 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  , 0)....// #if (
1cad0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
1cae0 33 30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  300)..// #define
1caf0 20 4c 69 73 74 56 69 65 77 5f 53 65 74 49 74 65   ListView_SetIte
1cb00 6d 43 6f 75 6e 74 45 78 28 68 77 6e 64 4c 56 2c  mCountEx(hwndLV,
1cb10 20 63 49 74 65 6d 73 2c 20 64 77 46 6c 61 67 73   cItems, dwFlags
1cb20 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56  ) SNDMSG((hwndLV
1cb30 29 2c 20 4c 56 4d 5f 53 45 54 49 54 45 4d 43 4f  ), LVM_SETITEMCO
1cb40 55 4e 54 2c 20 28 57 50 41 52 41 4d 29 28 63 49  UNT, (WPARAM)(cI
1cb50 74 65 6d 73 29 2c 20 28 4c 50 41 52 41 4d 29 28  tems), (LPARAM)(
1cb60 64 77 46 6c 61 67 73 29 29 0d 0a 2f 2f 20 23 65  dwFlags))..// #e
1cb70 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ndif....extern(W
1cb80 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 69 6e  indows) alias in
1cb90 74 20 66 75 6e 63 74 69 6f 6e 28 4c 50 41 52 41  t function(LPARA
1cba0 4d 2c 20 4c 50 41 52 41 4d 2c 20 4c 50 41 52 41  M, LPARAM, LPARA
1cbb0 4d 29 20 50 46 4e 4c 56 43 4f 4d 50 41 52 45 3b  M) PFNLVCOMPARE;
1cbc0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1cbd0 7b 20 4c 56 4d 5f 53 4f 52 54 49 54 45 4d 53 20  { LVM_SORTITEMS 
1cbe0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34 38  = LVM_FIRST + 48
1cbf0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
1cc00 69 73 74 56 69 65 77 5f 53 6f 72 74 49 74 65 6d  istView_SortItem
1cc10 73 28 68 77 6e 64 4c 56 2c 20 5f 70 66 6e 43 6f  s(hwndLV, _pfnCo
1cc20 6d 70 61 72 65 2c 20 5f 6c 50 72 6d 29 20 28 42  mpare, _lPrm) (B
1cc30 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
1cc40 4c 56 29 2c 20 4c 56 4d 5f 53 4f 52 54 49 54 45  LV), LVM_SORTITE
1cc50 4d 53 2c 20 28 57 50 41 52 41 4d 29 28 4c 50 41  MS, (WPARAM)(LPA
1cc60 52 41 4d 29 28 5f 6c 50 72 6d 29 2c 20 28 4c 50  RAM)(_lPrm), (LP
1cc70 41 52 41 4d 29 28 50 46 4e 4c 56 43 4f 4d 50 41  ARAM)(PFNLVCOMPA
1cc80 52 45 29 28 5f 70 66 6e 43 6f 6d 70 61 72 65 29  RE)(_pfnCompare)
1cc90 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
1cca0 20 7b 20 4c 56 4d 5f 53 45 54 49 54 45 4d 50 4f   { LVM_SETITEMPO
1ccb0 53 49 54 49 4f 4e 33 32 20 3d 20 4c 56 4d 5f 46  SITION32 = LVM_F
1ccc0 49 52 53 54 20 2b 20 34 39 20 7d 0d 0a 2f 2f 20  IRST + 49 }..// 
1ccd0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1cce0 5f 53 65 74 49 74 65 6d 50 6f 73 69 74 69 6f 6e  _SetItemPosition
1ccf0 33 32 28 68 77 6e 64 4c 56 2c 20 69 2c 20 78 30  32(hwndLV, i, x0
1cd00 2c 20 79 30 29 20 7b 20 50 4f 49 4e 54 20 70 74  , y0) { POINT pt
1cd10 4e 65 77 50 6f 73 3b 20 70 74 4e 65 77 50 6f 73  NewPos; ptNewPos
1cd20 2e 78 20 3d 20 78 30 3b 20 70 74 4e 65 77 50 6f  .x = x0; ptNewPo
1cd30 73 2e 79 20 3d 20 79 30 3b 20 53 4e 44 4d 53 47  s.y = y0; SNDMSG
1cd40 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53  ((hwndLV), LVM_S
1cd50 45 54 49 54 45 4d 50 4f 53 49 54 49 4f 4e 33 32  ETITEMPOSITION32
1cd60 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28  , (WPARAM)(int)(
1cd70 69 29 2c 20 28 4c 50 41 52 41 4d 29 26 70 74 4e  i), (LPARAM)&ptN
1cd80 65 77 50 6f 73 29 3b 20 7d 0d 0a 0d 0a 65 6e 75  ewPos); }....enu
1cd90 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47  m : uint { LVM_G
1cda0 45 54 53 45 4c 45 43 54 45 44 43 4f 55 4e 54 20  ETSELECTEDCOUNT 
1cdb0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 30  = LVM_FIRST + 50
1cdc0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
1cdd0 69 73 74 56 69 65 77 5f 47 65 74 53 65 6c 65 63  istView_GetSelec
1cde0 74 65 64 43 6f 75 6e 74 28 68 77 6e 64 4c 56 29  tedCount(hwndLV)
1cdf0 20 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 68   (UINT)SNDMSG((h
1ce00 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 53  wndLV), LVM_GETS
1ce10 45 4c 45 43 54 45 44 43 4f 55 4e 54 2c 20 30 2c  ELECTEDCOUNT, 0,
1ce20 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   0L)....enum : u
1ce30 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45  int { LVM_GETITE
1ce40 4d 53 50 41 43 49 4e 47 20 3d 20 4c 56 4d 5f 46  MSPACING = LVM_F
1ce50 49 52 53 54 20 2b 20 35 31 20 7d 0d 0a 2f 2f 20  IRST + 51 }..// 
1ce60 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1ce70 5f 47 65 74 49 74 65 6d 53 70 61 63 69 6e 67 28  _GetItemSpacing(
1ce80 68 77 6e 64 4c 56 2c 20 66 53 6d 61 6c 6c 29 20  hwndLV, fSmall) 
1ce90 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68  (DWORD)SNDMSG((h
1cea0 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 49  wndLV), LVM_GETI
1ceb0 54 45 4d 53 50 41 43 49 4e 47 2c 20 66 53 6d 61  TEMSPACING, fSma
1cec0 6c 6c 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20  ll, 0L)....enum 
1ced0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
1cee0 49 53 45 41 52 43 48 53 54 52 49 4e 47 41 20 3d  ISEARCHSTRINGA =
1cef0 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 32 20   LVM_FIRST + 52 
1cf00 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1cf10 20 4c 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53   LVM_GETISEARCHS
1cf20 54 52 49 4e 47 57 20 3d 20 4c 56 4d 5f 46 49 52  TRINGW = LVM_FIR
1cf30 53 54 20 2b 20 31 31 37 20 7d 0d 0a 0d 0a 2f 2f  ST + 117 }....//
1cf40 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1cf50 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
1cf60 73 65 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45  se..alias LVM_GE
1cf70 54 49 53 45 41 52 43 48 53 54 52 49 4e 47 41 20  TISEARCHSTRINGA 
1cf80 4c 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54  LVM_GETISEARCHST
1cf90 52 49 4e 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  RING;..// #endif
1cfa0 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c  ....// #define L
1cfb0 69 73 74 56 69 65 77 5f 47 65 74 49 53 65 61 72  istView_GetISear
1cfc0 63 68 53 74 72 69 6e 67 28 68 77 6e 64 4c 56 2c  chString(hwndLV,
1cfd0 20 6c 70 73 7a 29 20 28 42 4f 4f 4c 29 53 4e 44   lpsz) (BOOL)SND
1cfe0 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56  MSG((hwndLV), LV
1cff0 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49  M_GETISEARCHSTRI
1d000 4e 47 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  NG, 0, (LPARAM)(
1d010 4c 50 54 53 54 52 29 28 6c 70 73 7a 29 29 0d 0a  LPTSTR)(lpsz))..
1d020 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
1d030 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
1d040 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1d050 4d 5f 53 45 54 49 43 4f 4e 53 50 41 43 49 4e 47  M_SETICONSPACING
1d060 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35   = LVM_FIRST + 5
1d070 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  3 }....// #defin
1d080 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 49 63  e ListView_SetIc
1d090 6f 6e 53 70 61 63 69 6e 67 28 68 77 6e 64 4c 56  onSpacing(hwndLV
1d0a0 2c 20 63 78 2c 20 63 79 29 20 28 44 57 4f 52 44  , cx, cy) (DWORD
1d0b0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29  )SNDMSG((hwndLV)
1d0c0 2c 20 4c 56 4d 5f 53 45 54 49 43 4f 4e 53 50 41  , LVM_SETICONSPA
1d0d0 43 49 4e 47 2c 20 30 2c 20 4d 41 4b 45 4c 4f 4e  CING, 0, MAKELON
1d0e0 47 28 63 78 2c 63 79 29 29 0d 0a 0d 0a 65 6e 75  G(cx,cy))....enu
1d0f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53  m : uint { LVM_S
1d100 45 54 45 58 54 45 4e 44 45 44 4c 49 53 54 56 49  ETEXTENDEDLISTVI
1d110 45 57 53 54 59 4c 45 20 3d 20 4c 56 4d 5f 46 49  EWSTYLE = LVM_FI
1d120 52 53 54 20 2b 20 35 34 20 7d 0d 0a 2f 2f 20 23  RST + 54 }..// #
1d130 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1d140 53 65 74 45 78 74 65 6e 64 65 64 4c 69 73 74 56  SetExtendedListV
1d150 69 65 77 53 74 79 6c 65 28 68 77 6e 64 4c 56 2c  iewStyle(hwndLV,
1d160 20 64 77 29 20 28 44 57 4f 52 44 29 53 4e 44 4d   dw) (DWORD)SNDM
1d170 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d  SG((hwndLV), LVM
1d180 5f 53 45 54 45 58 54 45 4e 44 45 44 4c 49 53 54  _SETEXTENDEDLIST
1d190 56 49 45 57 53 54 59 4c 45 2c 20 30 2c 20 64 77  VIEWSTYLE, 0, dw
1d1a0 29 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  )..// #if (_WIN3
1d1b0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
1d1c0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1d1d0 56 69 65 77 5f 53 65 74 45 78 74 65 6e 64 65 64  View_SetExtended
1d1e0 4c 69 73 74 56 69 65 77 53 74 79 6c 65 45 78 28  ListViewStyleEx(
1d1f0 68 77 6e 64 4c 56 2c 20 64 77 4d 61 73 6b 2c 20  hwndLV, dwMask, 
1d200 64 77 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53  dw) (DWORD)SNDMS
1d210 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f  G((hwndLV), LVM_
1d220 53 45 54 45 58 54 45 4e 44 45 44 4c 49 53 54 56  SETEXTENDEDLISTV
1d230 49 45 57 53 54 59 4c 45 2c 20 64 77 4d 61 73 6b  IEWSTYLE, dwMask
1d240 2c 20 64 77 29 0d 0a 2f 2f 20 23 65 6e 64 69 66  , dw)..// #endif
1d250 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1d260 7b 20 4c 56 4d 5f 47 45 54 45 58 54 45 4e 44 45  { LVM_GETEXTENDE
1d270 44 4c 49 53 54 56 49 45 57 53 54 59 4c 45 20 3d  DLISTVIEWSTYLE =
1d280 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 35 20   LVM_FIRST + 55 
1d290 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1d2a0 73 74 56 69 65 77 5f 47 65 74 45 78 74 65 6e 64  stView_GetExtend
1d2b0 65 64 4c 69 73 74 56 69 65 77 53 74 79 6c 65 28  edListViewStyle(
1d2c0 68 77 6e 64 4c 56 29 20 28 44 57 4f 52 44 29 53  hwndLV) (DWORD)S
1d2d0 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20  NDMSG((hwndLV), 
1d2e0 4c 56 4d 5f 47 45 54 45 58 54 45 4e 44 45 44 4c  LVM_GETEXTENDEDL
1d2f0 49 53 54 56 49 45 57 53 54 59 4c 45 2c 20 30 2c  ISTVIEWSTYLE, 0,
1d300 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   0)....enum : ui
1d310 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 47 52 49 44  nt { LVS_EX_GRID
1d320 4c 49 4e 45 53 20 3d 20 30 78 30 30 30 30 30 30  LINES = 0x000000
1d330 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
1d340 74 20 7b 20 4c 56 53 5f 45 58 5f 53 55 42 49 54  t { LVS_EX_SUBIT
1d350 45 4d 49 4d 41 47 45 53 20 3d 20 30 78 30 30 30  EMIMAGES = 0x000
1d360 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
1d370 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 43 48  uint { LVS_EX_CH
1d380 45 43 4b 42 4f 58 45 53 20 3d 20 30 78 30 30 30  ECKBOXES = 0x000
1d390 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
1d3a0 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 54 52  uint { LVS_EX_TR
1d3b0 41 43 4b 53 45 4c 45 43 54 20 3d 20 30 78 30 30  ACKSELECT = 0x00
1d3c0 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  000008 }..enum :
1d3d0 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 48   uint { LVS_EX_H
1d3e0 45 41 44 45 52 44 52 41 47 44 52 4f 50 20 3d 20  EADERDRAGDROP = 
1d3f0 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
1d400 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f  um : uint { LVS_
1d410 45 58 5f 46 55 4c 4c 52 4f 57 53 45 4c 45 43 54  EX_FULLROWSELECT
1d420 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
1d430 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1d440 56 53 5f 45 58 5f 4f 4e 45 43 4c 49 43 4b 41 43  VS_EX_ONECLICKAC
1d450 54 49 56 41 54 45 20 3d 20 30 78 30 30 30 30 30  TIVATE = 0x00000
1d460 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  040 }..enum : ui
1d470 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 54 57 4f 43  nt { LVS_EX_TWOC
1d480 4c 49 43 4b 41 43 54 49 56 41 54 45 20 3d 20 30  LICKACTIVATE = 0
1d490 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 2f 2f 20  x00000080 }..// 
1d4a0 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
1d4b0 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
1d4c0 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f  : uint { LVS_EX_
1d4d0 46 4c 41 54 53 42 20 3d 20 30 78 30 30 30 30 30  FLATSB = 0x00000
1d4e0 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
1d4f0 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 52 45 47 49  nt { LVS_EX_REGI
1d500 4f 4e 41 4c 20 3d 20 30 78 30 30 30 30 30 32 30  ONAL = 0x0000020
1d510 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1d520 20 7b 20 4c 56 53 5f 45 58 5f 49 4e 46 4f 54 49   { LVS_EX_INFOTI
1d530 50 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d  P = 0x00000400 }
1d540 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1d550 4c 56 53 5f 45 58 5f 55 4e 44 45 52 4c 49 4e 45  LVS_EX_UNDERLINE
1d560 48 4f 54 20 3d 20 30 78 30 30 30 30 30 38 30 30  HOT = 0x00000800
1d570 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d580 7b 20 4c 56 53 5f 45 58 5f 55 4e 44 45 52 4c 49  { LVS_EX_UNDERLI
1d590 4e 45 43 4f 4c 44 20 3d 20 30 78 30 30 30 30 31  NECOLD = 0x00001
1d5a0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1d5b0 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 4d 55 4c 54  nt { LVS_EX_MULT
1d5c0 49 57 4f 52 4b 41 52 45 41 53 20 3d 20 30 78 30  IWORKAREAS = 0x0
1d5d0 30 30 30 32 30 30 30 20 7d 0d 0a 2f 2f 20 23 65  0002000 }..// #e
1d5e0 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  ndif..// #if (_W
1d5f0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30  IN32_IE >= 0x050
1d600 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
1d610 7b 20 4c 56 53 5f 45 58 5f 4c 41 42 45 4c 54 49  { LVS_EX_LABELTI
1d620 50 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d  P = 0x00004000 }
1d630 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1d640 4c 56 53 5f 45 58 5f 42 4f 52 44 45 52 53 45 4c  LVS_EX_BORDERSEL
1d650 45 43 54 20 3d 20 30 78 30 30 30 30 38 30 30 30  ECT = 0x00008000
1d660 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f   }..// #endif  /
1d670 2f 20 45 6e 64 20 28 5f 57 49 4e 33 32 5f 49 45  / End (_WIN32_IE
1d680 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f 20   >= 0x0500)..// 
1d690 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  #if (_WIN32_WINN
1d6a0 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75  T >= 0x501)..enu
1d6b0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45  m : uint { LVS_E
1d6c0 58 5f 44 4f 55 42 4c 45 42 55 46 46 45 52 20 3d  X_DOUBLEBUFFER =
1d6d0 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65   0x00010000 }..e
1d6e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53  num : uint { LVS
1d6f0 5f 45 58 5f 48 49 44 45 4c 41 42 45 4c 53 20 3d  _EX_HIDELABELS =
1d700 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65   0x00020000 }..e
1d710 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53  num : uint { LVS
1d720 5f 45 58 5f 53 49 4e 47 4c 45 52 4f 57 20 3d 20  _EX_SINGLEROW = 
1d730 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e  0x00040000 }..en
1d740 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f  um : uint { LVS_
1d750 45 58 5f 53 4e 41 50 54 4f 47 52 49 44 20 3d 20  EX_SNAPTOGRID = 
1d760 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e  0x00080000 }..en
1d770 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f  um : uint { LVS_
1d780 45 58 5f 53 49 4d 50 4c 45 53 45 4c 45 43 54 20  EX_SIMPLESELECT 
1d790 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a  = 0x00100000 }..
1d7a0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
1d7b0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47  m : uint { LVM_G
1d7c0 45 54 53 55 42 49 54 45 4d 52 45 43 54 20 3d 20  ETSUBITEMRECT = 
1d7d0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 36 20 7d  LVM_FIRST + 56 }
1d7e0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1d7f0 74 56 69 65 77 5f 47 65 74 53 75 62 49 74 65 6d  tView_GetSubItem
1d800 52 65 63 74 28 68 77 6e 64 2c 20 69 49 74 65 6d  Rect(hwnd, iItem
1d810 2c 20 69 53 75 62 49 74 65 6d 2c 20 63 6f 64 65  , iSubItem, code
1d820 2c 20 70 72 63 29 20 28 42 4f 4f 4c 29 53 4e 44  , prc) (BOOL)SND
1d830 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
1d840 47 45 54 53 55 42 49 54 45 4d 52 45 43 54 2c 20  GETSUBITEMRECT, 
1d850 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 49  (WPARAM)(int)(iI
1d860 74 65 6d 29 2c 20 28 28 70 72 63 29 20 3f 20 28  tem), ((prc) ? (
1d870 28 28 28 4c 50 52 45 43 54 29 28 70 72 63 29 29  (((LPRECT)(prc))
1d880 2d 3e 74 6f 70 20 3d 20 69 53 75 62 49 74 65 6d  ->top = iSubItem
1d890 29 2c 20 28 28 28 4c 50 52 45 43 54 29 28 70 72  ), (((LPRECT)(pr
1d8a0 63 29 29 2d 3e 6c 65 66 74 20 3d 20 63 6f 64 65  c))->left = code
1d8b0 29 2c 20 28 4c 50 41 52 41 4d 29 28 70 72 63 29  ), (LPARAM)(prc)
1d8c0 29 20 3a 20 28 4c 50 41 52 41 4d 29 28 4c 50 52  ) : (LPARAM)(LPR
1d8d0 45 43 54 29 4e 55 4c 4c 29 29 0d 0a 0d 0a 65 6e  ECT)NULL))....en
1d8e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1d8f0 53 55 42 49 54 45 4d 48 49 54 54 45 53 54 20 3d  SUBITEMHITTEST =
1d900 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 37 20   LVM_FIRST + 57 
1d910 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1d920 73 74 56 69 65 77 5f 53 75 62 49 74 65 6d 48 69  stView_SubItemHi
1d930 74 54 65 73 74 28 68 77 6e 64 2c 20 70 6c 76 68  tTest(hwnd, plvh
1d940 74 69 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  ti) (int)SNDMSG(
1d950 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 55 42 49  (hwnd), LVM_SUBI
1d960 54 45 4d 48 49 54 54 45 53 54 2c 20 30 2c 20 28  TEMHITTEST, 0, (
1d970 4c 50 41 52 41 4d 29 28 4c 50 4c 56 48 49 54 54  LPARAM)(LPLVHITT
1d980 45 53 54 49 4e 46 4f 29 28 70 6c 76 68 74 69 29  ESTINFO)(plvhti)
1d990 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
1d9a0 20 7b 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e   { LVM_SETCOLUMN
1d9b0 4f 52 44 45 52 41 52 52 41 59 20 3d 20 4c 56 4d  ORDERARRAY = LVM
1d9c0 5f 46 49 52 53 54 20 2b 20 35 38 20 7d 0d 0a 2f  _FIRST + 58 }../
1d9d0 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1d9e0 65 77 5f 53 65 74 43 6f 6c 75 6d 6e 4f 72 64 65  ew_SetColumnOrde
1d9f0 72 41 72 72 61 79 28 68 77 6e 64 2c 20 69 43 6f  rArray(hwnd, iCo
1da00 75 6e 74 2c 20 70 69 29 20 28 42 4f 4f 4c 29 53  unt, pi) (BOOL)S
1da10 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
1da20 4d 5f 53 45 54 43 4f 4c 55 4d 4e 4f 52 44 45 52  M_SETCOLUMNORDER
1da30 41 52 52 41 59 2c 20 28 57 50 41 52 41 4d 29 28  ARRAY, (WPARAM)(
1da40 69 43 6f 75 6e 74 29 2c 20 28 4c 50 41 52 41 4d  iCount), (LPARAM
1da50 29 28 4c 50 49 4e 54 29 28 70 69 29 29 0d 0a 0d  )(LPINT)(pi))...
1da60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1da70 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 4f 52 44 45  VM_GETCOLUMNORDE
1da80 52 41 52 52 41 59 20 3d 20 4c 56 4d 5f 46 49 52  RARRAY = LVM_FIR
1da90 53 54 20 2b 20 35 39 20 7d 0d 0a 2f 2f 20 23 64  ST + 59 }..// #d
1daa0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47  efine ListView_G
1dab0 65 74 43 6f 6c 75 6d 6e 4f 72 64 65 72 41 72 72  etColumnOrderArr
1dac0 61 79 28 68 77 6e 64 2c 20 69 43 6f 75 6e 74 2c  ay(hwnd, iCount,
1dad0 20 70 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53   pi) (BOOL)SNDMS
1dae0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45  G((hwnd), LVM_GE
1daf0 54 43 4f 4c 55 4d 4e 4f 52 44 45 52 41 52 52 41  TCOLUMNORDERARRA
1db00 59 2c 20 28 57 50 41 52 41 4d 29 28 69 43 6f 75  Y, (WPARAM)(iCou
1db10 6e 74 29 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50  nt), (LPARAM)(LP
1db20 49 4e 54 29 28 70 69 29 29 0d 0a 0d 0a 65 6e 75  INT)(pi))....enu
1db30 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53  m : uint { LVM_S
1db40 45 54 48 4f 54 49 54 45 4d 20 3d 20 4c 56 4d 5f  ETHOTITEM = LVM_
1db50 46 49 52 53 54 20 2b 20 36 30 20 7d 0d 0a 2f 2f  FIRST + 60 }..//
1db60 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
1db70 77 5f 53 65 74 48 6f 74 49 74 65 6d 28 68 77 6e  w_SetHotItem(hwn
1db80 64 2c 20 69 29 20 28 69 6e 74 29 53 4e 44 4d 53  d, i) (int)SNDMS
1db90 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45  G((hwnd), LVM_SE
1dba0 54 48 4f 54 49 54 45 4d 2c 20 28 57 50 41 52 41  THOTITEM, (WPARA
1dbb0 4d 29 28 69 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75  M)(i), 0)....enu
1dbc0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47  m : uint { LVM_G
1dbd0 45 54 48 4f 54 49 54 45 4d 20 3d 20 4c 56 4d 5f  ETHOTITEM = LVM_
1dbe0 46 49 52 53 54 20 2b 20 36 31 20 7d 0d 0a 2f 2f  FIRST + 61 }..//
1dbf0 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
1dc00 77 5f 47 65 74 48 6f 74 49 74 65 6d 28 68 77 6e  w_GetHotItem(hwn
1dc10 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28  d) (int)SNDMSG((
1dc20 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 48 4f  hwnd), LVM_GETHO
1dc30 54 49 54 45 4d 2c 20 30 2c 20 30 29 0d 0a 0d 0a  TITEM, 0, 0)....
1dc40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1dc50 4d 5f 53 45 54 48 4f 54 43 55 52 53 4f 52 20 3d  M_SETHOTCURSOR =
1dc60 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 32 20   LVM_FIRST + 62 
1dc70 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1dc80 73 74 56 69 65 77 5f 53 65 74 48 6f 74 43 75 72  stView_SetHotCur
1dc90 73 6f 72 28 68 77 6e 64 2c 20 68 63 75 72 29 20  sor(hwnd, hcur) 
1dca0 28 48 43 55 52 53 4f 52 29 53 4e 44 4d 53 47 28  (HCURSOR)SNDMSG(
1dcb0 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 48  (hwnd), LVM_SETH
1dcc0 4f 54 43 55 52 53 4f 52 2c 20 30 2c 20 28 4c 50  OTCURSOR, 0, (LP
1dcd0 41 52 41 4d 29 28 68 63 75 72 29 29 0d 0a 0d 0a  ARAM)(hcur))....
1dce0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1dcf0 4d 5f 47 45 54 48 4f 54 43 55 52 53 4f 52 20 3d  M_GETHOTCURSOR =
1dd00 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 33 20   LVM_FIRST + 63 
1dd10 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1dd20 73 74 56 69 65 77 5f 47 65 74 48 6f 74 43 75 72  stView_GetHotCur
1dd30 73 6f 72 28 68 77 6e 64 29 20 28 48 43 55 52 53  sor(hwnd) (HCURS
1dd40 4f 52 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OR)SNDMSG((hwnd)
1dd50 2c 20 4c 56 4d 5f 47 45 54 48 4f 54 43 55 52 53  , LVM_GETHOTCURS
1dd60 4f 52 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75  OR, 0, 0)....enu
1dd70 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 41  m : uint { LVM_A
1dd80 50 50 52 4f 58 49 4d 41 54 45 56 49 45 57 52 45  PPROXIMATEVIEWRE
1dd90 43 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  CT = LVM_FIRST +
1dda0 20 36 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   64 }..// #defin
1ddb0 65 20 4c 69 73 74 56 69 65 77 5f 41 70 70 72 6f  e ListView_Appro
1ddc0 78 69 6d 61 74 65 56 69 65 77 52 65 63 74 28 68  ximateViewRect(h
1ddd0 77 6e 64 2c 20 69 57 69 64 74 68 2c 20 69 48 65  wnd, iWidth, iHe
1dde0 69 67 68 74 2c 20 69 43 6f 75 6e 74 29 20 28 44  ight, iCount) (D
1ddf0 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e  WORD)SNDMSG((hwn
1de00 64 29 2c 20 4c 56 4d 5f 41 50 50 52 4f 58 49 4d  d), LVM_APPROXIM
1de10 41 54 45 56 49 45 57 52 45 43 54 2c 20 69 43 6f  ATEVIEWRECT, iCo
1de20 75 6e 74 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28  unt, MAKELPARAM(
1de30 69 57 69 64 74 68 2c 20 69 48 65 69 67 68 74 29  iWidth, iHeight)
1de40 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20  )..// #endif    
1de50 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e    // _WIN32_IE >
1de60 3d 20 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23  = 0x0300....// #
1de70 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
1de80 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d   0x0400)....enum
1de90 20 3a 20 75 69 6e 74 20 7b 20 4c 56 5f 4d 41 58   : uint { LV_MAX
1dea0 5f 57 4f 52 4b 41 52 45 41 53 20 3d 20 31 36 20  _WORKAREAS = 16 
1deb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1dec0 20 4c 56 4d 5f 53 45 54 57 4f 52 4b 41 52 45 41   LVM_SETWORKAREA
1ded0 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  S = LVM_FIRST + 
1dee0 36 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  65 }..// #define
1def0 20 4c 69 73 74 56 69 65 77 5f 53 65 74 57 6f 72   ListView_SetWor
1df00 6b 41 72 65 61 73 28 68 77 6e 64 2c 20 6e 57 6f  kAreas(hwnd, nWo
1df10 72 6b 41 72 65 61 73 2c 20 70 72 63 29 20 28 42  rkAreas, prc) (B
1df20 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
1df30 29 2c 20 4c 56 4d 5f 53 45 54 57 4f 52 4b 41 52  ), LVM_SETWORKAR
1df40 45 41 53 2c 20 28 57 50 41 52 41 4d 29 28 69 6e  EAS, (WPARAM)(in
1df50 74 29 28 6e 57 6f 72 6b 41 72 65 61 73 29 2c 20  t)(nWorkAreas), 
1df60 28 4c 50 41 52 41 4d 29 28 52 45 43 54 20 2a 29  (LPARAM)(RECT *)
1df70 28 70 72 63 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  (prc))....enum :
1df80 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 57   uint { LVM_GETW
1df90 4f 52 4b 41 52 45 41 53 20 3d 20 4c 56 4d 5f 46  ORKAREAS = LVM_F
1dfa0 49 52 53 54 20 2b 20 37 30 20 7d 0d 0a 2f 2f 20  IRST + 70 }..// 
1dfb0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1dfc0 5f 47 65 74 57 6f 72 6b 41 72 65 61 73 28 68 77  _GetWorkAreas(hw
1dfd0 6e 64 2c 20 6e 57 6f 72 6b 41 72 65 61 73 2c 20  nd, nWorkAreas, 
1dfe0 70 72 63 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53  prc) (BOOL)SNDMS
1dff0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45  G((hwnd), LVM_GE
1e000 54 57 4f 52 4b 41 52 45 41 53 2c 20 28 57 50 41  TWORKAREAS, (WPA
1e010 52 41 4d 29 28 69 6e 74 29 28 6e 57 6f 72 6b 41  RAM)(int)(nWorkA
1e020 72 65 61 73 29 2c 20 28 4c 50 41 52 41 4d 29 28  reas), (LPARAM)(
1e030 52 45 43 54 20 2a 29 28 70 72 63 29 29 0d 0a 0d  RECT *)(prc))...
1e040 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1e050 56 4d 5f 47 45 54 4e 55 4d 42 45 52 4f 46 57 4f  VM_GETNUMBEROFWO
1e060 52 4b 41 52 45 41 53 20 3d 20 4c 56 4d 5f 46 49  RKAREAS = LVM_FI
1e070 52 53 54 20 2b 20 37 33 20 7d 0d 0a 2f 2f 20 23  RST + 73 }..// #
1e080 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1e090 47 65 74 4e 75 6d 62 65 72 4f 66 57 6f 72 6b 41  GetNumberOfWorkA
1e0a0 72 65 61 73 28 68 77 6e 64 2c 20 70 6e 57 6f 72  reas(hwnd, pnWor
1e0b0 6b 41 72 65 61 73 29 20 28 42 4f 4f 4c 29 53 4e  kAreas) (BOOL)SN
1e0c0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d  DMSG((hwnd), LVM
1e0d0 5f 47 45 54 4e 55 4d 42 45 52 4f 46 57 4f 52 4b  _GETNUMBEROFWORK
1e0e0 41 52 45 41 53 2c 20 30 2c 20 28 4c 50 41 52 41  AREAS, 0, (LPARA
1e0f0 4d 29 28 55 49 4e 54 20 2a 29 28 70 6e 57 6f 72  M)(UINT *)(pnWor
1e100 6b 41 72 65 61 73 29 29 0d 0a 0d 0a 65 6e 75 6d  kAreas))....enum
1e110 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45   : uint { LVM_GE
1e120 54 53 45 4c 45 43 54 49 4f 4e 4d 41 52 4b 20 3d  TSELECTIONMARK =
1e130 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 36 20   LVM_FIRST + 66 
1e140 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1e150 73 74 56 69 65 77 5f 47 65 74 53 65 6c 65 63 74  stView_GetSelect
1e160 69 6f 6e 4d 61 72 6b 28 68 77 6e 64 29 20 28 69  ionMark(hwnd) (i
1e170 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  nt)SNDMSG((hwnd)
1e180 2c 20 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 49  , LVM_GETSELECTI
1e190 4f 4e 4d 41 52 4b 2c 20 30 2c 20 30 29 0d 0a 0d  ONMARK, 0, 0)...
1e1a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1e1b0 56 4d 5f 53 45 54 53 45 4c 45 43 54 49 4f 4e 4d  VM_SETSELECTIONM
1e1c0 41 52 4b 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  ARK = LVM_FIRST 
1e1d0 2b 20 36 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 67 }..// #defi
1e1e0 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 53  ne ListView_SetS
1e1f0 65 6c 65 63 74 69 6f 6e 4d 61 72 6b 28 68 77 6e  electionMark(hwn
1e200 64 2c 20 69 29 20 28 69 6e 74 29 53 4e 44 4d 53  d, i) (int)SNDMS
1e210 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45  G((hwnd), LVM_SE
1e220 54 53 45 4c 45 43 54 49 4f 4e 4d 41 52 4b 2c 20  TSELECTIONMARK, 
1e230 30 2c 20 28 4c 50 41 52 41 4d 29 28 69 29 29 0d  0, (LPARAM)(i)).
1e240 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1e250 20 4c 56 4d 5f 53 45 54 48 4f 56 45 52 54 49 4d   LVM_SETHOVERTIM
1e260 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  E = LVM_FIRST + 
1e270 37 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  71 }..// #define
1e280 20 4c 69 73 74 56 69 65 77 5f 53 65 74 48 6f 76   ListView_SetHov
1e290 65 72 54 69 6d 65 28 68 77 6e 64 4c 56 2c 20 64  erTime(hwndLV, d
1e2a0 77 48 6f 76 65 72 54 69 6d 65 4d 73 29 20 28 44  wHoverTimeMs) (D
1e2b0 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e  WORD)SNDMSG((hwn
1e2c0 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54 48 4f 56  dLV), LVM_SETHOV
1e2d0 45 52 54 49 4d 45 2c 20 30 2c 20 28 4c 50 41 52  ERTIME, 0, (LPAR
1e2e0 41 4d 29 28 64 77 48 6f 76 65 72 54 69 6d 65 4d  AM)(dwHoverTimeM
1e2f0 73 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  s))....enum : ui
1e300 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 48 4f 56 45  nt { LVM_GETHOVE
1e310 52 54 49 4d 45 20 3d 20 4c 56 4d 5f 46 49 52 53  RTIME = LVM_FIRS
1e320 54 20 2b 20 37 32 20 7d 0d 0a 2f 2f 20 23 64 65  T + 72 }..// #de
1e330 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
1e340 74 48 6f 76 65 72 54 69 6d 65 28 68 77 6e 64 4c  tHoverTime(hwndL
1e350 56 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53 47  V) (DWORD)SNDMSG
1e360 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47  ((hwndLV), LVM_G
1e370 45 54 48 4f 56 45 52 54 49 4d 45 2c 20 30 2c 20  ETHOVERTIME, 0, 
1e380 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
1e390 74 20 7b 20 4c 56 4d 5f 53 45 54 54 4f 4f 4c 54  t { LVM_SETTOOLT
1e3a0 49 50 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  IPS = LVM_FIRST 
1e3b0 2b 20 37 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 74 }..// #defi
1e3c0 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 54  ne ListView_SetT
1e3d0 6f 6f 6c 54 69 70 73 28 68 77 6e 64 4c 56 2c 20  oolTips(hwndLV, 
1e3e0 68 77 6e 64 4e 65 77 48 77 6e 64 29 20 28 48 57  hwndNewHwnd) (HW
1e3f0 4e 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c  ND)SNDMSG((hwndL
1e400 56 29 2c 20 4c 56 4d 5f 53 45 54 54 4f 4f 4c 54  V), LVM_SETTOOLT
1e410 49 50 53 2c 20 28 57 50 41 52 41 4d 29 28 68 77  IPS, (WPARAM)(hw
1e420 6e 64 4e 65 77 48 77 6e 64 29 2c 20 30 29 0d 0a  ndNewHwnd), 0)..
1e430 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1e440 4c 56 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 20  LVM_GETTOOLTIPS 
1e450 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 38  = LVM_FIRST + 78
1e460 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
1e470 69 73 74 56 69 65 77 5f 47 65 74 54 6f 6f 6c 54  istView_GetToolT
1e480 69 70 73 28 68 77 6e 64 4c 56 29 20 28 48 57 4e  ips(hwndLV) (HWN
1e490 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56  D)SNDMSG((hwndLV
1e4a0 29 2c 20 4c 56 4d 5f 47 45 54 54 4f 4f 4c 54 49  ), LVM_GETTOOLTI
1e4b0 50 53 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75  PS, 0, 0)....enu
1e4c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53  m : uint { LVM_S
1e4d0 4f 52 54 49 54 45 4d 53 45 58 20 3d 20 4c 56 4d  ORTITEMSEX = LVM
1e4e0 5f 46 49 52 53 54 20 2b 20 38 31 20 7d 0d 0a 2f  _FIRST + 81 }../
1e4f0 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1e500 65 77 5f 53 6f 72 74 49 74 65 6d 73 45 78 28 68  ew_SortItemsEx(h
1e510 77 6e 64 4c 56 2c 20 5f 70 66 6e 43 6f 6d 70 61  wndLV, _pfnCompa
1e520 72 65 2c 20 5f 6c 50 72 6d 29 20 28 42 4f 4f 4c  re, _lPrm) (BOOL
1e530 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29  )SNDMSG((hwndLV)
1e540 2c 20 4c 56 4d 5f 53 4f 52 54 49 54 45 4d 53 45  , LVM_SORTITEMSE
1e550 58 2c 20 28 57 50 41 52 41 4d 29 28 4c 50 41 52  X, (WPARAM)(LPAR
1e560 41 4d 29 28 5f 6c 50 72 6d 29 2c 20 28 4c 50 41  AM)(_lPrm), (LPA
1e570 52 41 4d 29 28 50 46 4e 4c 56 43 4f 4d 50 41 52  RAM)(PFNLVCOMPAR
1e580 45 29 28 5f 70 66 6e 43 6f 6d 70 61 72 65 29 29  E)(_pfnCompare))
1e590 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56  ....struct tagLV
1e5a0 42 4b 49 4d 41 47 45 41 20 7b 0d 0a 20 20 55 4c  BKIMAGEA {..  UL
1e5b0 4f 4e 47 20 75 6c 46 6c 61 67 73 3b 0d 0a 20 20  ONG ulFlags;..  
1e5c0 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d 0a 20 20  HBITMAP hbm;..  
1e5d0 4c 50 53 54 52 20 70 73 7a 49 6d 61 67 65 3b 0d  LPSTR pszImage;.
1e5e0 0a 20 20 55 49 4e 54 20 63 63 68 49 6d 61 67 65  .  UINT cchImage
1e5f0 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 78 4f 66 66  Max;..  int xOff
1e600 73 65 74 50 65 72 63 65 6e 74 3b 0d 0a 20 20 69  setPercent;..  i
1e610 6e 74 20 79 4f 66 66 73 65 74 50 65 72 63 65 6e  nt yOffsetPercen
1e620 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  t;..}..alias tag
1e630 4c 56 42 4b 49 4d 41 47 45 41 20 4c 56 42 4b 49  LVBKIMAGEA LVBKI
1e640 4d 41 47 45 41 3b 0d 0a 61 6c 69 61 73 20 74 61  MAGEA;..alias ta
1e650 67 4c 56 42 4b 49 4d 41 47 45 41 2a 20 4c 50 4c  gLVBKIMAGEA* LPL
1e660 56 42 4b 49 4d 41 47 45 41 3b 0d 0a 0d 0a 73 74  VBKIMAGEA;....st
1e670 72 75 63 74 20 74 61 67 4c 56 42 4b 49 4d 41 47  ruct tagLVBKIMAG
1e680 45 57 20 7b 0d 0a 20 20 55 4c 4f 4e 47 20 75 6c  EW {..  ULONG ul
1e690 46 6c 61 67 73 3b 0d 0a 20 20 48 42 49 54 4d 41  Flags;..  HBITMA
1e6a0 50 20 68 62 6d 3b 0d 0a 20 20 4c 50 57 53 54 52  P hbm;..  LPWSTR
1e6b0 20 70 73 7a 49 6d 61 67 65 3b 0d 0a 20 20 55 49   pszImage;..  UI
1e6c0 4e 54 20 63 63 68 49 6d 61 67 65 4d 61 78 3b 0d  NT cchImageMax;.
1e6d0 0a 20 20 69 6e 74 20 78 4f 66 66 73 65 74 50 65  .  int xOffsetPe
1e6e0 72 63 65 6e 74 3b 0d 0a 20 20 69 6e 74 20 79 4f  rcent;..  int yO
1e6f0 66 66 73 65 74 50 65 72 63 65 6e 74 3b 0d 0a 7d  ffsetPercent;..}
1e700 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 42 4b 49  ..alias tagLVBKI
1e710 4d 41 47 45 57 20 4c 56 42 4b 49 4d 41 47 45 57  MAGEW LVBKIMAGEW
1e720 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 42 4b  ;..alias tagLVBK
1e730 49 4d 41 47 45 57 2a 20 4c 50 4c 56 42 4b 49 4d  IMAGEW* LPLVBKIM
1e740 41 47 45 57 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  AGEW;....enum : 
1e750 75 69 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 53 4f  uint { LVBKIF_SO
1e760 55 52 43 45 5f 4e 4f 4e 45 20 3d 20 30 78 30 30  URCE_NONE = 0x00
1e770 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
1e780 20 75 69 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 53   uint { LVBKIF_S
1e790 4f 55 52 43 45 5f 48 42 49 54 4d 41 50 20 3d 20  OURCE_HBITMAP = 
1e7a0 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
1e7b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 42 4b  um : uint { LVBK
1e7c0 49 46 5f 53 4f 55 52 43 45 5f 55 52 4c 20 3d 20  IF_SOURCE_URL = 
1e7d0 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
1e7e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 42 4b  um : uint { LVBK
1e7f0 49 46 5f 53 4f 55 52 43 45 5f 4d 41 53 4b 20 3d  IF_SOURCE_MASK =
1e800 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65   0x00000003 }..e
1e810 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 42  num : uint { LVB
1e820 4b 49 46 5f 53 54 59 4c 45 5f 4e 4f 52 4d 41 4c  KIF_STYLE_NORMAL
1e830 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
1e840 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1e850 56 42 4b 49 46 5f 53 54 59 4c 45 5f 54 49 4c 45  VBKIF_STYLE_TILE
1e860 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
1e870 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1e880 56 42 4b 49 46 5f 53 54 59 4c 45 5f 4d 41 53 4b  VBKIF_STYLE_MASK
1e890 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
1e8a0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
1e8b0 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d  WINNT >= 0x501).
1e8c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1e8d0 56 42 4b 49 46 5f 46 4c 41 47 5f 54 49 4c 45 4f  VBKIF_FLAG_TILEO
1e8e0 46 46 53 45 54 20 3d 20 30 78 30 30 30 30 30 31  FFSET = 0x000001
1e8f0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1e900 74 20 7b 20 4c 56 42 4b 49 46 5f 54 59 50 45 5f  t { LVBKIF_TYPE_
1e910 57 41 54 45 52 4d 41 52 4b 20 3d 20 30 78 31 30  WATERMARK = 0x10
1e920 30 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  000000 }..// #en
1e930 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
1e940 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 42 4b 49 4d  nt { LVM_SETBKIM
1e950 41 47 45 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54  AGEA = LVM_FIRST
1e960 20 2b 20 36 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 68 }..enum : 
1e970 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 42 4b  uint { LVM_SETBK
1e980 49 4d 41 47 45 57 20 3d 20 4c 56 4d 5f 46 49 52  IMAGEW = LVM_FIR
1e990 53 54 20 2b 20 31 33 38 20 7d 0d 0a 65 6e 75 6d  ST + 138 }..enum
1e9a0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45   : uint { LVM_GE
1e9b0 54 42 4b 49 4d 41 47 45 41 20 3d 20 4c 56 4d 5f  TBKIMAGEA = LVM_
1e9c0 46 49 52 53 54 20 2b 20 36 39 20 7d 0d 0a 65 6e  FIRST + 69 }..en
1e9d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1e9e0 47 45 54 42 4b 49 4d 41 47 45 57 20 3d 20 4c 56  GETBKIMAGEW = LV
1e9f0 4d 5f 46 49 52 53 54 20 2b 20 31 33 39 20 7d 0d  M_FIRST + 139 }.
1ea00 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
1ea10 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31  2_WINNT >= 0x501
1ea20 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
1ea30 20 4c 56 4d 5f 53 45 54 53 45 4c 45 43 54 45 44   LVM_SETSELECTED
1ea40 43 4f 4c 55 4d 4e 20 3d 20 4c 56 4d 5f 46 49 52  COLUMN = LVM_FIR
1ea50 53 54 20 2b 20 31 34 30 20 7d 0d 0a 2f 2f 20 23  ST + 140 }..// #
1ea60 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1ea70 53 65 74 53 65 6c 65 63 74 65 64 43 6f 6c 75 6d  SetSelectedColum
1ea80 6e 28 68 77 6e 64 2c 20 69 43 6f 6c 29 20 53 4e  n(hwnd, iCol) SN
1ea90 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d  DMSG((hwnd), LVM
1eaa0 5f 53 45 54 53 45 4c 45 43 54 45 44 43 4f 4c 55  _SETSELECTEDCOLU
1eab0 4d 4e 2c 20 28 57 50 41 52 41 4d 29 69 43 6f 6c  MN, (WPARAM)iCol
1eac0 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  , 0)....enum : u
1ead0 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 54 49 4c  int { LVM_SETTIL
1eae0 45 57 49 44 54 48 20 3d 20 4c 56 4d 5f 46 49 52  EWIDTH = LVM_FIR
1eaf0 53 54 20 2b 20 31 34 31 20 7d 0d 0a 2f 2f 20 23  ST + 141 }..// #
1eb00 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1eb10 53 65 74 54 69 6c 65 57 69 64 74 68 28 68 77 6e  SetTileWidth(hwn
1eb20 64 2c 20 63 70 57 69 64 74 68 29 20 53 4e 44 4d  d, cpWidth) SNDM
1eb30 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53  SG((hwnd), LVM_S
1eb40 45 54 54 49 4c 45 57 49 44 54 48 2c 20 28 57 50  ETTILEWIDTH, (WP
1eb50 41 52 41 4d 29 63 70 57 69 64 74 68 2c 20 30 29  ARAM)cpWidth, 0)
1eb60 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1eb70 7b 20 4c 56 5f 56 49 45 57 5f 49 43 4f 4e 20 3d  { LV_VIEW_ICON =
1eb80 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0000 }..enum 
1eb90 3a 20 75 69 6e 74 20 7b 20 4c 56 5f 56 49 45 57  : uint { LV_VIEW
1eba0 5f 44 45 54 41 49 4c 53 20 3d 20 30 78 30 30 30  _DETAILS = 0x000
1ebb0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1ebc0 20 7b 20 4c 56 5f 56 49 45 57 5f 53 4d 41 4c 4c   { LV_VIEW_SMALL
1ebd0 49 43 4f 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d  ICON = 0x0002 }.
1ebe0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1ebf0 56 5f 56 49 45 57 5f 4c 49 53 54 20 3d 20 30 78  V_VIEW_LIST = 0x
1ec00 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0003 }..enum : u
1ec10 69 6e 74 20 7b 20 4c 56 5f 56 49 45 57 5f 54 49  int { LV_VIEW_TI
1ec20 4c 45 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  LE = 0x0004 }..e
1ec30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 5f  num : uint { LV_
1ec40 56 49 45 57 5f 4d 41 58 20 3d 20 30 78 30 30 30  VIEW_MAX = 0x000
1ec50 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  4 }....enum : ui
1ec60 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 56 49 45 57  nt { LVM_SETVIEW
1ec70 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31   = LVM_FIRST + 1
1ec80 34 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  42 }..// #define
1ec90 20 4c 69 73 74 56 69 65 77 5f 53 65 74 56 69 65   ListView_SetVie
1eca0 77 28 68 77 6e 64 2c 20 69 56 69 65 77 29 20 28  w(hwnd, iView) (
1ecb0 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77  DWORD)SNDMSG((hw
1ecc0 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 56 49 45 57  nd), LVM_SETVIEW
1ecd0 2c 20 28 57 50 41 52 41 4d 29 28 44 57 4f 52 44  , (WPARAM)(DWORD
1ece0 29 69 56 69 65 77 2c 20 30 29 0d 0a 0d 0a 65 6e  )iView, 0)....en
1ecf0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1ed00 47 45 54 56 49 45 57 20 3d 20 4c 56 4d 5f 46 49  GETVIEW = LVM_FI
1ed10 52 53 54 20 2b 20 31 34 33 20 7d 0d 0a 2f 2f 20  RST + 143 }..// 
1ed20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1ed30 5f 47 65 74 56 69 65 77 28 68 77 6e 64 29 20 28  _GetView(hwnd) (
1ed40 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77  DWORD)SNDMSG((hw
1ed50 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 56 49 45 57  nd), LVM_GETVIEW
1ed60 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
1ed70 3a 20 75 69 6e 74 20 7b 20 4c 56 47 46 5f 4e 4f  : uint { LVGF_NO
1ed80 4e 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 20  NE = 0x00000000 
1ed90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1eda0 20 4c 56 47 46 5f 48 45 41 44 45 52 20 3d 20 30   LVGF_HEADER = 0
1edb0 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
1edc0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 46 5f  m : uint { LVGF_
1edd0 46 4f 4f 54 45 52 20 3d 20 30 78 30 30 30 30 30  FOOTER = 0x00000
1ede0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
1edf0 6e 74 20 7b 20 4c 56 47 46 5f 53 54 41 54 45 20  nt { LVGF_STATE 
1ee00 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
1ee10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1ee20 47 46 5f 41 4c 49 47 4e 20 3d 20 30 78 30 30 30  GF_ALIGN = 0x000
1ee30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00008 }..enum : 
1ee40 75 69 6e 74 20 7b 20 4c 56 47 46 5f 47 52 4f 55  uint { LVGF_GROU
1ee50 50 49 44 20 3d 20 30 78 30 30 30 30 30 30 31 30  PID = 0x00000010
1ee60 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
1ee70 74 20 7b 20 4c 56 47 53 5f 4e 4f 52 4d 41 4c 20  t { LVGS_NORMAL 
1ee80 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
1ee90 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1eea0 47 53 5f 43 4f 4c 4c 41 50 53 45 44 20 3d 20 30  GS_COLLAPSED = 0
1eeb0 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
1eec0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 53 5f  m : uint { LVGS_
1eed0 48 49 44 44 45 4e 20 3d 20 30 78 30 30 30 30 30  HIDDEN = 0x00000
1eee0 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  002 }....enum : 
1eef0 75 69 6e 74 20 7b 20 4c 56 47 41 5f 48 45 41 44  uint { LVGA_HEAD
1ef00 45 52 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30  ER_LEFT = 0x0000
1ef10 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
1ef20 69 6e 74 20 7b 20 4c 56 47 41 5f 48 45 41 44 45  int { LVGA_HEADE
1ef30 52 5f 43 45 4e 54 45 52 20 3d 20 30 78 30 30 30  R_CENTER = 0x000
1ef40 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
1ef50 75 69 6e 74 20 7b 20 4c 56 47 41 5f 48 45 41 44  uint { LVGA_HEAD
1ef60 45 52 5f 52 49 47 48 54 20 3d 20 30 78 30 30 30  ER_RIGHT = 0x000
1ef70 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
1ef80 75 69 6e 74 20 7b 20 4c 56 47 41 5f 46 4f 4f 54  uint { LVGA_FOOT
1ef90 45 52 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30  ER_LEFT = 0x0000
1efa0 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
1efb0 69 6e 74 20 7b 20 4c 56 47 41 5f 46 4f 4f 54 45  int { LVGA_FOOTE
1efc0 52 5f 43 45 4e 54 45 52 20 3d 20 30 78 30 30 30  R_CENTER = 0x000
1efd0 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00010 }..enum : 
1efe0 75 69 6e 74 20 7b 20 4c 56 47 41 5f 46 4f 4f 54  uint { LVGA_FOOT
1eff0 45 52 5f 52 49 47 48 54 20 3d 20 30 78 30 30 30  ER_RIGHT = 0x000
1f000 30 30 30 32 30 20 7d 0d 0a 0d 0a 73 74 72 75 63  00020 }....struc
1f010 74 20 74 61 67 4c 56 47 52 4f 55 50 20 7b 0d 0a  t tagLVGROUP {..
1f020 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a    UINT cbSize;..
1f030 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20    UINT mask;..  
1f040 4c 50 57 53 54 52 20 70 73 7a 48 65 61 64 65 72  LPWSTR pszHeader
1f050 3b 0d 0a 20 20 69 6e 74 20 63 63 68 48 65 61 64  ;..  int cchHead
1f060 65 72 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73  er;..  LPWSTR ps
1f070 7a 46 6f 6f 74 65 72 3b 0d 0a 20 20 69 6e 74 20  zFooter;..  int 
1f080 63 63 68 46 6f 6f 74 65 72 3b 0d 0a 20 20 69 6e  cchFooter;..  in
1f090 74 20 69 47 72 6f 75 70 49 64 3b 0d 0a 20 20 55  t iGroupId;..  U
1f0a0 49 4e 54 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a  INT stateMask;..
1f0b0 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a 20    UINT state;.. 
1f0c0 20 55 49 4e 54 20 75 41 6c 69 67 6e 3b 0d 0a 7d   UINT uAlign;..}
1f0d0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 47 52 4f  ..alias tagLVGRO
1f0e0 55 50 20 4c 56 47 52 4f 55 50 3b 0d 0a 61 6c 69  UP LVGROUP;..ali
1f0f0 61 73 20 74 61 67 4c 56 47 52 4f 55 50 2a 20 50  as tagLVGROUP* P
1f100 4c 56 47 52 4f 55 50 3b 0d 0a 0d 0a 65 6e 75 6d  LVGROUP;....enum
1f110 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e   : uint { LVM_IN
1f120 53 45 52 54 47 52 4f 55 50 20 3d 20 4c 56 4d 5f  SERTGROUP = LVM_
1f130 46 49 52 53 54 20 2b 20 31 34 35 20 7d 0d 0a 2f  FIRST + 145 }../
1f140 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1f150 65 77 5f 49 6e 73 65 72 74 47 72 6f 75 70 28 68  ew_InsertGroup(h
1f160 77 6e 64 2c 20 69 6e 64 65 78 2c 20 70 67 72 70  wnd, index, pgrp
1f170 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  ) SNDMSG((hwnd),
1f180 20 4c 56 4d 5f 49 4e 53 45 52 54 47 52 4f 55 50   LVM_INSERTGROUP
1f190 2c 20 28 57 50 41 52 41 4d 29 69 6e 64 65 78 2c  , (WPARAM)index,
1f1a0 20 28 4c 50 41 52 41 4d 29 70 67 72 70 29 0d 0a   (LPARAM)pgrp)..
1f1b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f1c0 4c 56 4d 5f 53 45 54 47 52 4f 55 50 49 4e 46 4f  LVM_SETGROUPINFO
1f1d0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31   = LVM_FIRST + 1
1f1e0 34 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  47 }..// #define
1f1f0 20 4c 69 73 74 56 69 65 77 5f 53 65 74 47 72 6f   ListView_SetGro
1f200 75 70 49 6e 66 6f 28 68 77 6e 64 2c 20 69 47 72  upInfo(hwnd, iGr
1f210 6f 75 70 49 64 2c 20 70 67 72 70 29 20 53 4e 44  oupId, pgrp) SND
1f220 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
1f230 53 45 54 47 52 4f 55 50 49 4e 46 4f 2c 20 28 57  SETGROUPINFO, (W
1f240 50 41 52 41 4d 29 69 47 72 6f 75 70 49 64 2c 20  PARAM)iGroupId, 
1f250 28 4c 50 41 52 41 4d 29 70 67 72 70 29 0d 0a 0d  (LPARAM)pgrp)...
1f260 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1f270 56 4d 5f 47 45 54 47 52 4f 55 50 49 4e 46 4f 20  VM_GETGROUPINFO 
1f280 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 34  = LVM_FIRST + 14
1f290 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  9 }..// #define 
1f2a0 4c 69 73 74 56 69 65 77 5f 47 65 74 47 72 6f 75  ListView_GetGrou
1f2b0 70 49 6e 66 6f 28 68 77 6e 64 2c 20 69 47 72 6f  pInfo(hwnd, iGro
1f2c0 75 70 49 64 2c 20 70 67 72 70 29 20 53 4e 44 4d  upId, pgrp) SNDM
1f2d0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
1f2e0 45 54 47 52 4f 55 50 49 4e 46 4f 2c 20 28 57 50  ETGROUPINFO, (WP
1f2f0 41 52 41 4d 29 69 47 72 6f 75 70 49 64 2c 20 28  ARAM)iGroupId, (
1f300 4c 50 41 52 41 4d 29 70 67 72 70 29 0d 0a 0d 0a  LPARAM)pgrp)....
1f310 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1f320 4d 5f 52 45 4d 4f 56 45 47 52 4f 55 50 20 3d 20  M_REMOVEGROUP = 
1f330 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 30 20  LVM_FIRST + 150 
1f340 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1f350 73 74 56 69 65 77 5f 52 65 6d 6f 76 65 47 72 6f  stView_RemoveGro
1f360 75 70 28 68 77 6e 64 2c 20 69 47 72 6f 75 70 49  up(hwnd, iGroupI
1f370 64 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  d) SNDMSG((hwnd)
1f380 2c 20 4c 56 4d 5f 52 45 4d 4f 56 45 47 52 4f 55  , LVM_REMOVEGROU
1f390 50 2c 20 28 57 50 41 52 41 4d 29 69 47 72 6f 75  P, (WPARAM)iGrou
1f3a0 70 49 64 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  pId, 0)....enum 
1f3b0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 4d 4f 56  : uint { LVM_MOV
1f3c0 45 47 52 4f 55 50 20 3d 20 4c 56 4d 5f 46 49 52  EGROUP = LVM_FIR
1f3d0 53 54 20 2b 20 31 35 31 20 7d 0d 0a 2f 2f 20 23  ST + 151 }..// #
1f3e0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1f3f0 4d 6f 76 65 47 72 6f 75 70 28 68 77 6e 64 2c 20  MoveGroup(hwnd, 
1f400 69 47 72 6f 75 70 49 64 2c 20 74 6f 49 6e 64 65  iGroupId, toInde
1f410 78 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  x) SNDMSG((hwnd)
1f420 2c 20 4c 56 4d 5f 4d 4f 56 45 47 52 4f 55 50 2c  , LVM_MOVEGROUP,
1f430 20 28 57 50 41 52 41 4d 29 69 47 72 6f 75 70 49   (WPARAM)iGroupI
1f440 64 2c 20 28 4c 50 41 52 41 4d 29 74 6f 49 6e 64  d, (LPARAM)toInd
1f450 65 78 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ex)....enum : ui
1f460 6e 74 20 7b 20 4c 56 4d 5f 4d 4f 56 45 49 54 45  nt { LVM_MOVEITE
1f470 4d 54 4f 47 52 4f 55 50 20 3d 20 4c 56 4d 5f 46  MTOGROUP = LVM_F
1f480 49 52 53 54 20 2b 20 31 35 34 20 7d 0d 0a 2f 2f  IRST + 154 }..//
1f490 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
1f4a0 77 5f 4d 6f 76 65 49 74 65 6d 54 6f 47 72 6f 75  w_MoveItemToGrou
1f4b0 70 28 68 77 6e 64 2c 20 69 64 49 74 65 6d 46 72  p(hwnd, idItemFr
1f4c0 6f 6d 2c 20 69 64 47 72 6f 75 70 54 6f 29 20 53  om, idGroupTo) S
1f4d0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
1f4e0 4d 5f 4d 4f 56 45 49 54 45 4d 54 4f 47 52 4f 55  M_MOVEITEMTOGROU
1f4f0 50 2c 20 28 57 50 41 52 41 4d 29 69 64 49 74 65  P, (WPARAM)idIte
1f500 6d 46 72 6f 6d 2c 20 28 4c 50 41 52 41 4d 29 69  mFrom, (LPARAM)i
1f510 64 47 72 6f 75 70 54 6f 29 0d 0a 0d 0a 65 6e 75  dGroupTo)....enu
1f520 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 4d 46  m : uint { LVGMF
1f530 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30 30 30 30  _NONE = 0x000000
1f540 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1f550 74 20 7b 20 4c 56 47 4d 46 5f 42 4f 52 44 45 52  t { LVGMF_BORDER
1f560 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30 30 30  SIZE = 0x0000000
1f570 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1f580 20 7b 20 4c 56 47 4d 46 5f 42 4f 52 44 45 52 43   { LVGMF_BORDERC
1f590 4f 4c 4f 52 20 3d 20 30 78 30 30 30 30 30 30 30  OLOR = 0x0000000
1f5a0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
1f5b0 20 7b 20 4c 56 47 4d 46 5f 54 45 58 54 43 4f 4c   { LVGMF_TEXTCOL
1f5c0 4f 52 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  OR = 0x00000004 
1f5d0 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4c  }....struct tagL
1f5e0 56 47 52 4f 55 50 4d 45 54 52 49 43 53 20 7b 0d  VGROUPMETRICS {.
1f5f0 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d  .  UINT cbSize;.
1f600 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20  .  UINT mask;.. 
1f610 20 55 49 4e 54 20 4c 65 66 74 3b 0d 0a 20 20 55   UINT Left;..  U
1f620 49 4e 54 20 54 6f 70 3b 0d 0a 20 20 55 49 4e 54  INT Top;..  UINT
1f630 20 52 69 67 68 74 3b 0d 0a 20 20 55 49 4e 54 20   Right;..  UINT 
1f640 42 6f 74 74 6f 6d 3b 0d 0a 20 20 43 4f 4c 4f 52  Bottom;..  COLOR
1f650 52 45 46 20 63 72 4c 65 66 74 3b 0d 0a 20 20 43  REF crLeft;..  C
1f660 4f 4c 4f 52 52 45 46 20 63 72 54 6f 70 3b 0d 0a  OLORREF crTop;..
1f670 20 20 43 4f 4c 4f 52 52 45 46 20 63 72 52 69 67    COLORREF crRig
1f680 68 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20  ht;..  COLORREF 
1f690 63 72 42 6f 74 74 6f 6d 3b 0d 0a 20 20 43 4f 4c  crBottom;..  COL
1f6a0 4f 52 52 45 46 20 63 72 48 65 61 64 65 72 3b 0d  ORREF crHeader;.
1f6b0 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 72 46 6f  .  COLORREF crFo
1f6c0 6f 74 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  oter;..}..alias 
1f6d0 74 61 67 4c 56 47 52 4f 55 50 4d 45 54 52 49 43  tagLVGROUPMETRIC
1f6e0 53 20 4c 56 47 52 4f 55 50 4d 45 54 52 49 43 53  S LVGROUPMETRICS
1f6f0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 47 52  ;..alias tagLVGR
1f700 4f 55 50 4d 45 54 52 49 43 53 2a 20 50 4c 56 47  OUPMETRICS* PLVG
1f710 52 4f 55 50 4d 45 54 52 49 43 53 3b 0d 0a 0d 0a  ROUPMETRICS;....
1f720 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1f730 4d 5f 53 45 54 47 52 4f 55 50 4d 45 54 52 49 43  M_SETGROUPMETRIC
1f740 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  S = LVM_FIRST + 
1f750 31 35 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  155 }..// #defin
1f760 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 47 72  e ListView_SetGr
1f770 6f 75 70 4d 65 74 72 69 63 73 28 68 77 6e 64 2c  oupMetrics(hwnd,
1f780 20 70 47 72 6f 75 70 4d 65 74 72 69 63 73 29 20   pGroupMetrics) 
1f790 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c  SNDMSG((hwnd), L
1f7a0 56 4d 5f 53 45 54 47 52 4f 55 50 4d 45 54 52 49  VM_SETGROUPMETRI
1f7b0 43 53 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 70  CS, 0, (LPARAM)p
1f7c0 47 72 6f 75 70 4d 65 74 72 69 63 73 29 0d 0a 0d  GroupMetrics)...
1f7d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1f7e0 56 4d 5f 47 45 54 47 52 4f 55 50 4d 45 54 52 49  VM_GETGROUPMETRI
1f7f0 43 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  CS = LVM_FIRST +
1f800 20 31 35 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   156 }..// #defi
1f810 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 47  ne ListView_GetG
1f820 72 6f 75 70 4d 65 74 72 69 63 73 28 68 77 6e 64  roupMetrics(hwnd
1f830 2c 20 70 47 72 6f 75 70 4d 65 74 72 69 63 73 29  , pGroupMetrics)
1f840 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20   SNDMSG((hwnd), 
1f850 4c 56 4d 5f 47 45 54 47 52 4f 55 50 4d 45 54 52  LVM_GETGROUPMETR
1f860 49 43 53 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  ICS, 0, (LPARAM)
1f870 70 47 72 6f 75 70 4d 65 74 72 69 63 73 29 0d 0a  pGroupMetrics)..
1f880 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f890 4c 56 4d 5f 45 4e 41 42 4c 45 47 52 4f 55 50 56  LVM_ENABLEGROUPV
1f8a0 49 45 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  IEW = LVM_FIRST 
1f8b0 2b 20 31 35 37 20 7d 0d 0a 2f 2f 20 23 64 65 66  + 157 }..// #def
1f8c0 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 45 6e 61  ine ListView_Ena
1f8d0 62 6c 65 47 72 6f 75 70 56 69 65 77 28 68 77 6e  bleGroupView(hwn
1f8e0 64 2c 20 66 45 6e 61 62 6c 65 29 20 53 4e 44 4d  d, fEnable) SNDM
1f8f0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 45  SG((hwnd), LVM_E
1f900 4e 41 42 4c 45 47 52 4f 55 50 56 49 45 57 2c 20  NABLEGROUPVIEW, 
1f910 28 57 50 41 52 41 4d 29 66 45 6e 61 62 6c 65 2c  (WPARAM)fEnable,
1f920 20 30 29 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69   0)....extern(Wi
1f930 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 69 6e 74  ndows) alias int
1f940 20 66 75 6e 63 74 69 6f 6e 28 69 6e 74 2c 20 69   function(int, i
1f950 6e 74 2c 20 76 6f 69 64 20 2a 29 20 50 46 4e 4c  nt, void *) PFNL
1f960 56 47 52 4f 55 50 43 4f 4d 50 41 52 45 3b 0d 0a  VGROUPCOMPARE;..
1f970 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f980 4c 56 4d 5f 53 4f 52 54 47 52 4f 55 50 53 20 3d  LVM_SORTGROUPS =
1f990 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 38   LVM_FIRST + 158
1f9a0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
1f9b0 69 73 74 56 69 65 77 5f 53 6f 72 74 47 72 6f 75  istView_SortGrou
1f9c0 70 73 28 68 77 6e 64 2c 20 5f 70 66 6e 47 72 6f  ps(hwnd, _pfnGro
1f9d0 75 70 43 6f 6d 70 61 74 65 2c 20 5f 70 6c 76 29  upCompate, _plv)
1f9e0 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20   SNDMSG((hwnd), 
1f9f0 4c 56 4d 5f 53 4f 52 54 47 52 4f 55 50 53 2c 20  LVM_SORTGROUPS, 
1fa00 28 57 50 41 52 41 4d 29 5f 70 66 6e 47 72 6f 75  (WPARAM)_pfnGrou
1fa10 70 43 6f 6d 70 61 74 65 2c 20 28 4c 50 41 52 41  pCompate, (LPARA
1fa20 4d 29 5f 70 6c 76 29 0d 0a 0d 0a 73 74 72 75 63  M)_plv)....struc
1fa30 74 20 74 61 67 4c 56 49 4e 53 45 52 54 47 52 4f  t tagLVINSERTGRO
1fa40 55 50 53 4f 52 54 45 44 20 7b 0d 0a 20 20 50 46  UPSORTED {..  PF
1fa50 4e 4c 56 47 52 4f 55 50 43 4f 4d 50 41 52 45 20  NLVGROUPCOMPARE 
1fa60 70 66 6e 47 72 6f 75 70 43 6f 6d 70 61 72 65 3b  pfnGroupCompare;
1fa70 0d 0a 20 20 76 6f 69 64 20 2a 70 76 44 61 74 61  ..  void *pvData
1fa80 3b 0d 0a 20 20 4c 56 47 52 4f 55 50 20 6c 76 47  ;..  LVGROUP lvG
1fa90 72 6f 75 70 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  roup;..}..alias 
1faa0 74 61 67 4c 56 49 4e 53 45 52 54 47 52 4f 55 50  tagLVINSERTGROUP
1fab0 53 4f 52 54 45 44 20 4c 56 49 4e 53 45 52 54 47  SORTED LVINSERTG
1fac0 52 4f 55 50 53 4f 52 54 45 44 3b 0d 0a 61 6c 69  ROUPSORTED;..ali
1fad0 61 73 20 74 61 67 4c 56 49 4e 53 45 52 54 47 52  as tagLVINSERTGR
1fae0 4f 55 50 53 4f 52 54 45 44 2a 20 50 4c 56 49 4e  OUPSORTED* PLVIN
1faf0 53 45 52 54 47 52 4f 55 50 53 4f 52 54 45 44 3b  SERTGROUPSORTED;
1fb00 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1fb10 7b 20 4c 56 4d 5f 49 4e 53 45 52 54 47 52 4f 55  { LVM_INSERTGROU
1fb20 50 53 4f 52 54 45 44 20 3d 20 4c 56 4d 5f 46 49  PSORTED = LVM_FI
1fb30 52 53 54 20 2b 20 31 35 39 20 7d 0d 0a 2f 2f 20  RST + 159 }..// 
1fb40 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1fb50 5f 49 6e 73 65 72 74 47 72 6f 75 70 53 6f 72 74  _InsertGroupSort
1fb60 65 64 28 68 77 6e 64 2c 20 73 74 72 75 63 74 49  ed(hwnd, structI
1fb70 6e 73 65 72 74 29 20 53 4e 44 4d 53 47 28 28 68  nsert) SNDMSG((h
1fb80 77 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45 52 54  wnd), LVM_INSERT
1fb90 47 52 4f 55 50 53 4f 52 54 45 44 2c 20 28 57 50  GROUPSORTED, (WP
1fba0 41 52 41 4d 29 73 74 72 75 63 74 49 6e 73 65 72  ARAM)structInser
1fbb0 74 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  t, 0)....enum : 
1fbc0 75 69 6e 74 20 7b 20 4c 56 4d 5f 52 45 4d 4f 56  uint { LVM_REMOV
1fbd0 45 41 4c 4c 47 52 4f 55 50 53 20 3d 20 4c 56 4d  EALLGROUPS = LVM
1fbe0 5f 46 49 52 53 54 20 2b 20 31 36 30 20 7d 0d 0a  _FIRST + 160 }..
1fbf0 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
1fc00 69 65 77 5f 52 65 6d 6f 76 65 41 6c 6c 47 72 6f  iew_RemoveAllGro
1fc10 75 70 73 28 68 77 6e 64 29 20 53 4e 44 4d 53 47  ups(hwnd) SNDMSG
1fc20 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 52 45 4d  ((hwnd), LVM_REM
1fc30 4f 56 45 41 4c 4c 47 52 4f 55 50 53 2c 20 30 2c  OVEALLGROUPS, 0,
1fc40 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   0)....enum : ui
1fc50 6e 74 20 7b 20 4c 56 4d 5f 48 41 53 47 52 4f 55  nt { LVM_HASGROU
1fc60 50 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  P = LVM_FIRST + 
1fc70 31 36 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  161 }..// #defin
1fc80 65 20 4c 69 73 74 56 69 65 77 5f 48 61 73 47 72  e ListView_HasGr
1fc90 6f 75 70 28 68 77 6e 64 2c 20 64 77 47 72 6f 75  oup(hwnd, dwGrou
1fca0 70 49 64 29 20 53 4e 44 4d 53 47 28 28 68 77 6e  pId) SNDMSG((hwn
1fcb0 64 29 2c 20 4c 56 4d 5f 48 41 53 47 52 4f 55 50  d), LVM_HASGROUP
1fcc0 2c 20 64 77 47 72 6f 75 70 49 64 2c 20 30 29 0d  , dwGroupId, 0).
1fcd0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1fce0 20 4c 56 54 56 49 46 5f 41 55 54 4f 53 49 5a 45   LVTVIF_AUTOSIZE
1fcf0 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
1fd00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1fd10 56 54 56 49 46 5f 46 49 58 45 44 57 49 44 54 48  VTVIF_FIXEDWIDTH
1fd20 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
1fd30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1fd40 56 54 56 49 46 5f 46 49 58 45 44 48 45 49 47 48  VTVIF_FIXEDHEIGH
1fd50 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  T = 0x00000002 }
1fd60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1fd70 4c 56 54 56 49 46 5f 46 49 58 45 44 53 49 5a 45  LVTVIF_FIXEDSIZE
1fd80 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d   = 0x00000003 }.
1fd90 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1fda0 20 4c 56 54 56 49 4d 5f 54 49 4c 45 53 49 5a 45   LVTVIM_TILESIZE
1fdb0 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
1fdc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1fdd0 56 54 56 49 4d 5f 43 4f 4c 55 4d 4e 53 20 3d 20  VTVIM_COLUMNS = 
1fde0 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
1fdf0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 54 56  um : uint { LVTV
1fe00 49 4d 5f 4c 41 42 45 4c 4d 41 52 47 49 4e 20 3d  IM_LABELMARGIN =
1fe10 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d   0x00000004 }...
1fe20 0a 73 74 72 75 63 74 20 74 61 67 4c 56 54 49 4c  .struct tagLVTIL
1fe30 45 56 49 45 57 49 4e 46 4f 20 7b 0d 0a 20 20 55  EVIEWINFO {..  U
1fe40 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44  INT cbSize;..  D
1fe50 57 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20  WORD dwMask;..  
1fe60 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a  DWORD dwFlags;..
1fe70 20 20 53 49 5a 45 20 73 69 7a 65 54 69 6c 65 3b    SIZE sizeTile;
1fe80 0d 0a 20 20 69 6e 74 20 63 4c 69 6e 65 73 3b 0d  ..  int cLines;.
1fe90 0a 20 20 52 45 43 54 20 72 63 4c 61 62 65 6c 4d  .  RECT rcLabelM
1fea0 61 72 67 69 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  argin;..}..alias
1feb0 20 74 61 67 4c 56 54 49 4c 45 56 49 45 57 49 4e   tagLVTILEVIEWIN
1fec0 46 4f 20 4c 56 54 49 4c 45 56 49 45 57 49 4e 46  FO LVTILEVIEWINF
1fed0 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 54  O;..alias tagLVT
1fee0 49 4c 45 56 49 45 57 49 4e 46 4f 2a 20 50 4c 56  ILEVIEWINFO* PLV
1fef0 54 49 4c 45 56 49 45 57 49 4e 46 4f 3b 0d 0a 0d  TILEVIEWINFO;...
1ff00 0a 73 74 72 75 63 74 20 74 61 67 4c 56 54 49 4c  .struct tagLVTIL
1ff10 45 49 4e 46 4f 20 7b 0d 0a 20 20 55 49 4e 54 20  EINFO {..  UINT 
1ff20 63 62 53 69 7a 65 3b 0d 0a 20 20 69 6e 74 20 69  cbSize;..  int i
1ff30 49 74 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 63 43  Item;..  UINT cC
1ff40 6f 6c 75 6d 6e 73 3b 0d 0a 20 20 50 55 49 4e 54  olumns;..  PUINT
1ff50 20 70 75 43 6f 6c 75 6d 6e 73 3b 0d 0a 7d 0d 0a   puColumns;..}..
1ff60 61 6c 69 61 73 20 74 61 67 4c 56 54 49 4c 45 49  alias tagLVTILEI
1ff70 4e 46 4f 20 4c 56 54 49 4c 45 49 4e 46 4f 3b 0d  NFO LVTILEINFO;.
1ff80 0a 61 6c 69 61 73 20 74 61 67 4c 56 54 49 4c 45  .alias tagLVTILE
1ff90 49 4e 46 4f 2a 20 50 4c 56 54 49 4c 45 49 4e 46  INFO* PLVTILEINF
1ffa0 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  O;....enum : uin
1ffb0 74 20 7b 20 4c 56 4d 5f 53 45 54 54 49 4c 45 56  t { LVM_SETTILEV
1ffc0 49 45 57 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49  IEWINFO = LVM_FI
1ffd0 52 53 54 20 2b 20 31 36 32 20 7d 0d 0a 2f 2f 20  RST + 162 }..// 
1ffe0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1fff0 5f 53 65 74 54 69 6c 65 56 69 65 77 49 6e 66 6f  _SetTileViewInfo
20000 28 68 77 6e 64 2c 20 70 74 76 69 29 20 53 4e 44  (hwnd, ptvi) SND
20010 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
20020 53 45 54 54 49 4c 45 56 49 45 57 49 4e 46 4f 2c  SETTILEVIEWINFO,
20030 20 30 2c 20 28 4c 50 41 52 41 4d 29 70 74 76 69   0, (LPARAM)ptvi
20040 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
20050 20 7b 20 4c 56 4d 5f 47 45 54 54 49 4c 45 56 49   { LVM_GETTILEVI
20060 45 57 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49 52  EWINFO = LVM_FIR
20070 53 54 20 2b 20 31 36 33 20 7d 0d 0a 2f 2f 20 23  ST + 163 }..// #
20080 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
20090 47 65 74 54 69 6c 65 56 69 65 77 49 6e 66 6f 28  GetTileViewInfo(
200a0 68 77 6e 64 2c 20 70 74 76 69 29 20 53 4e 44 4d  hwnd, ptvi) SNDM
200b0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
200c0 45 54 54 49 4c 45 56 49 45 57 49 4e 46 4f 2c 20  ETTILEVIEWINFO, 
200d0 30 2c 20 28 4c 50 41 52 41 4d 29 70 74 76 69 29  0, (LPARAM)ptvi)
200e0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
200f0 7b 20 4c 56 4d 5f 53 45 54 54 49 4c 45 49 4e 46  { LVM_SETTILEINF
20100 4f 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  O = LVM_FIRST + 
20110 31 36 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  164 }..// #defin
20120 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 54 69  e ListView_SetTi
20130 6c 65 49 6e 66 6f 28 68 77 6e 64 2c 20 70 74 69  leInfo(hwnd, pti
20140 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  ) SNDMSG((hwnd),
20150 20 4c 56 4d 5f 53 45 54 54 49 4c 45 49 4e 46 4f   LVM_SETTILEINFO
20160 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 70 74 69  , 0, (LPARAM)pti
20170 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
20180 20 7b 20 4c 56 4d 5f 47 45 54 54 49 4c 45 49 4e   { LVM_GETTILEIN
20190 46 4f 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  FO = LVM_FIRST +
201a0 20 31 36 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   165 }..// #defi
201b0 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 54  ne ListView_GetT
201c0 69 6c 65 49 6e 66 6f 28 68 77 6e 64 2c 20 70 74  ileInfo(hwnd, pt
201d0 69 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  i) SNDMSG((hwnd)
201e0 2c 20 4c 56 4d 5f 47 45 54 54 49 4c 45 49 4e 46  , LVM_GETTILEINF
201f0 4f 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 70 74  O, 0, (LPARAM)pt
20200 69 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 38 20  i)....struct _8 
20210 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65  {..  UINT cbSize
20220 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ;..  DWORD dwFla
20230 67 73 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d  gs;..  int iItem
20240 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 52 65 73  ;..  DWORD dwRes
20250 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  erved;..}..alias
20260 20 5f 38 20 4c 56 49 4e 53 45 52 54 4d 41 52 4b   _8 LVINSERTMARK
20270 3b 0d 0a 61 6c 69 61 73 20 5f 38 2a 20 4c 50 4c  ;..alias _8* LPL
20280 56 49 4e 53 45 52 54 4d 41 52 4b 3b 0d 0a 0d 0a  VINSERTMARK;....
20290 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
202a0 49 4d 5f 41 46 54 45 52 20 3d 20 30 78 30 30 30  IM_AFTER = 0x000
202b0 30 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00001 }....enum 
202c0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54  : uint { LVM_SET
202d0 49 4e 53 45 52 54 4d 41 52 4b 20 3d 20 4c 56 4d  INSERTMARK = LVM
202e0 5f 46 49 52 53 54 20 2b 20 31 36 36 20 7d 0d 0a  _FIRST + 166 }..
202f0 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
20300 69 65 77 5f 53 65 74 49 6e 73 65 72 74 4d 61 72  iew_SetInsertMar
20310 6b 28 68 77 6e 64 2c 20 6c 76 69 6d 29 20 28 42  k(hwnd, lvim) (B
20320 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
20330 29 2c 20 4c 56 4d 5f 53 45 54 49 4e 53 45 52 54  ), LVM_SETINSERT
20340 4d 41 52 4b 2c 20 28 57 50 41 52 41 4d 29 20 30  MARK, (WPARAM) 0
20350 2c 20 28 4c 50 41 52 41 4d 29 20 28 6c 76 69 6d  , (LPARAM) (lvim
20360 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
20370 74 20 7b 20 4c 56 4d 5f 47 45 54 49 4e 53 45 52  t { LVM_GETINSER
20380 54 4d 41 52 4b 20 3d 20 4c 56 4d 5f 46 49 52 53  TMARK = LVM_FIRS
20390 54 20 2b 20 31 36 37 20 7d 0d 0a 2f 2f 20 23 64  T + 167 }..// #d
203a0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47  efine ListView_G
203b0 65 74 49 6e 73 65 72 74 4d 61 72 6b 28 68 77 6e  etInsertMark(hwn
203c0 64 2c 20 6c 76 69 6d 29 20 28 42 4f 4f 4c 29 53  d, lvim) (BOOL)S
203d0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
203e0 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b 2c  M_GETINSERTMARK,
203f0 20 28 57 50 41 52 41 4d 29 20 30 2c 20 28 4c 50   (WPARAM) 0, (LP
20400 41 52 41 4d 29 20 28 6c 76 69 6d 29 29 0d 0a 0d  ARAM) (lvim))...
20410 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
20420 56 4d 5f 49 4e 53 45 52 54 4d 41 52 4b 48 49 54  VM_INSERTMARKHIT
20430 54 45 53 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54  TEST = LVM_FIRST
20440 20 2b 20 31 36 38 20 7d 0d 0a 2f 2f 20 23 64 65   + 168 }..// #de
20450 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 49 6e  fine ListView_In
20460 73 65 72 74 4d 61 72 6b 48 69 74 54 65 73 74 28  sertMarkHitTest(
20470 68 77 6e 64 2c 20 70 6f 69 6e 74 2c 20 6c 76 69  hwnd, point, lvi
20480 6d 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28  m) (int)SNDMSG((
20490 68 77 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45 52  hwnd), LVM_INSER
204a0 54 4d 41 52 4b 48 49 54 54 45 53 54 2c 20 28 57  TMARKHITTEST, (W
204b0 50 41 52 41 4d 29 28 4c 50 50 4f 49 4e 54 29 28  PARAM)(LPPOINT)(
204c0 70 6f 69 6e 74 29 2c 20 28 4c 50 41 52 41 4d 29  point), (LPARAM)
204d0 28 4c 50 4c 56 49 4e 53 45 52 54 4d 41 52 4b 29  (LPLVINSERTMARK)
204e0 28 6c 76 69 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20  (lvim))....enum 
204f0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
20500 49 4e 53 45 52 54 4d 41 52 4b 52 45 43 54 20 3d  INSERTMARKRECT =
20510 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 36 39   LVM_FIRST + 169
20520 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
20530 69 73 74 56 69 65 77 5f 47 65 74 49 6e 73 65 72  istView_GetInser
20540 74 4d 61 72 6b 52 65 63 74 28 68 77 6e 64 2c 20  tMarkRect(hwnd, 
20550 72 63 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  rc) (int)SNDMSG(
20560 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 49  (hwnd), LVM_GETI
20570 4e 53 45 52 54 4d 41 52 4b 52 45 43 54 2c 20 28  NSERTMARKRECT, (
20580 57 50 41 52 41 4d 29 30 2c 20 28 4c 50 41 52 41  WPARAM)0, (LPARA
20590 4d 29 28 4c 50 52 45 43 54 29 28 72 63 29 29 0d  M)(LPRECT)(rc)).
205a0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
205b0 20 4c 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41   LVM_SETINSERTMA
205c0 52 4b 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49  RKCOLOR = LVM_FI
205d0 52 53 54 20 2b 20 31 37 30 20 7d 0d 0a 2f 2f 20  RST + 170 }..// 
205e0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
205f0 5f 53 65 74 49 6e 73 65 72 74 4d 61 72 6b 43 6f  _SetInsertMarkCo
20600 6c 6f 72 28 68 77 6e 64 2c 20 63 6f 6c 6f 72 29  lor(hwnd, color)
20610 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53   (COLORREF)SNDMS
20620 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45  G((hwnd), LVM_SE
20630 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52  TINSERTMARKCOLOR
20640 2c 20 28 57 50 41 52 41 4d 29 30 2c 20 28 4c 50  , (WPARAM)0, (LP
20650 41 52 41 4d 29 28 43 4f 4c 4f 52 52 45 46 29 28  ARAM)(COLORREF)(
20660 63 6f 6c 6f 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20  color))....enum 
20670 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
20680 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 20  INSERTMARKCOLOR 
20690 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37  = LVM_FIRST + 17
206a0 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  1 }..// #define 
206b0 4c 69 73 74 56 69 65 77 5f 47 65 74 49 6e 73 65  ListView_GetInse
206c0 72 74 4d 61 72 6b 43 6f 6c 6f 72 28 68 77 6e 64  rtMarkColor(hwnd
206d0 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d  ) (COLORREF)SNDM
206e0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
206f0 45 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f  ETINSERTMARKCOLO
20700 52 2c 20 28 57 50 41 52 41 4d 29 30 2c 20 28 4c  R, (WPARAM)0, (L
20710 50 41 52 41 4d 29 30 29 0d 0a 0d 0a 73 74 72 75  PARAM)0)....stru
20720 63 74 20 74 61 67 4c 56 53 45 54 49 4e 46 4f 54  ct tagLVSETINFOT
20730 49 50 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53  IP {..  UINT cbS
20740 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ize;..  DWORD dw
20750 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 57 53 54 52  Flags;..  LPWSTR
20760 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74   pszText;..  int
20770 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 20 69   iItem;..  int i
20780 53 75 62 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69  SubItem;..}..ali
20790 61 73 20 74 61 67 4c 56 53 45 54 49 4e 46 4f 54  as tagLVSETINFOT
207a0 49 50 20 4c 56 53 45 54 49 4e 46 4f 54 49 50 3b  IP LVSETINFOTIP;
207b0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 53 45 54  ..alias tagLVSET
207c0 49 4e 46 4f 54 49 50 2a 20 50 4c 56 53 45 54 49  INFOTIP* PLVSETI
207d0 4e 46 4f 54 49 50 3b 0d 0a 0d 0a 65 6e 75 6d 20  NFOTIP;....enum 
207e0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54  : uint { LVM_SET
207f0 49 4e 46 4f 54 49 50 20 3d 20 4c 56 4d 5f 46 49  INFOTIP = LVM_FI
20800 52 53 54 20 2b 20 31 37 33 20 7d 0d 0a 0d 0a 2f  RST + 173 }..../
20810 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
20820 65 77 5f 53 65 74 49 6e 66 6f 54 69 70 28 68 77  ew_SetInfoTip(hw
20830 6e 64 4c 56 2c 20 70 6c 76 49 6e 66 6f 54 69 70  ndLV, plvInfoTip
20840 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
20850 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54  hwndLV), LVM_SET
20860 49 4e 46 4f 54 49 50 2c 20 28 57 50 41 52 41 4d  INFOTIP, (WPARAM
20870 29 30 2c 20 28 4c 50 41 52 41 4d 29 70 6c 76 49  )0, (LPARAM)plvI
20880 6e 66 6f 54 69 70 29 0d 0a 0d 0a 65 6e 75 6d 20  nfoTip)....enum 
20890 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
208a0 53 45 4c 45 43 54 45 44 43 4f 4c 55 4d 4e 20 3d  SELECTEDCOLUMN =
208b0 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 34   LVM_FIRST + 174
208c0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
208d0 69 73 74 56 69 65 77 5f 47 65 74 53 65 6c 65 63  istView_GetSelec
208e0 74 65 64 43 6f 6c 75 6d 6e 28 68 77 6e 64 29 20  tedColumn(hwnd) 
208f0 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 68 77  (UINT)SNDMSG((hw
20900 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 53 45 4c 45  nd), LVM_GETSELE
20910 43 54 45 44 43 4f 4c 55 4d 4e 2c 20 30 2c 20 30  CTEDCOLUMN, 0, 0
20920 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
20930 20 7b 20 4c 56 4d 5f 49 53 47 52 4f 55 50 56 49   { LVM_ISGROUPVI
20940 45 57 45 4e 41 42 4c 45 44 20 3d 20 4c 56 4d 5f  EWENABLED = LVM_
20950 46 49 52 53 54 20 2b 20 31 37 35 20 7d 0d 0a 2f  FIRST + 175 }../
20960 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
20970 65 77 5f 49 73 47 72 6f 75 70 56 69 65 77 45 6e  ew_IsGroupViewEn
20980 61 62 6c 65 64 28 68 77 6e 64 29 20 28 42 4f 4f  abled(hwnd) (BOO
20990 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  L)SNDMSG((hwnd),
209a0 20 4c 56 4d 5f 49 53 47 52 4f 55 50 56 49 45 57   LVM_ISGROUPVIEW
209b0 45 4e 41 42 4c 45 44 2c 20 30 2c 20 30 29 0d 0a  ENABLED, 0, 0)..
209c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
209d0 4c 56 4d 5f 47 45 54 4f 55 54 4c 49 4e 45 43 4f  LVM_GETOUTLINECO
209e0 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  LOR = LVM_FIRST 
209f0 2b 20 31 37 36 20 7d 0d 0a 2f 2f 20 23 64 65 66  + 176 }..// #def
20a00 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
20a10 4f 75 74 6c 69 6e 65 43 6f 6c 6f 72 28 68 77 6e  OutlineColor(hwn
20a20 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44  d) (COLORREF)SND
20a30 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
20a40 47 45 54 4f 55 54 4c 49 4e 45 43 4f 4c 4f 52 2c  GETOUTLINECOLOR,
20a50 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a   0, 0)....enum :
20a60 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 4f   uint { LVM_SETO
20a70 55 54 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 4c 56  UTLINECOLOR = LV
20a80 4d 5f 46 49 52 53 54 20 2b 20 31 37 37 20 7d 0d  M_FIRST + 177 }.
20a90 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
20aa0 56 69 65 77 5f 53 65 74 4f 75 74 6c 69 6e 65 43  View_SetOutlineC
20ab0 6f 6c 6f 72 28 68 77 6e 64 2c 20 63 6f 6c 6f 72  olor(hwnd, color
20ac0 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d  ) (COLORREF)SNDM
20ad0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53  SG((hwnd), LVM_S
20ae0 45 54 4f 55 54 4c 49 4e 45 43 4f 4c 4f 52 2c 20  ETOUTLINECOLOR, 
20af0 28 57 50 41 52 41 4d 29 30 2c 20 28 4c 50 41 52  (WPARAM)0, (LPAR
20b00 41 4d 29 28 43 4f 4c 4f 52 52 45 46 29 28 63 6f  AM)(COLORREF)(co
20b10 6c 6f 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  lor))....enum : 
20b20 75 69 6e 74 20 7b 20 4c 56 4d 5f 43 41 4e 43 45  uint { LVM_CANCE
20b30 4c 45 44 49 54 4c 41 42 45 4c 20 3d 20 4c 56 4d  LEDITLABEL = LVM
20b40 5f 46 49 52 53 54 20 2b 20 31 37 39 20 7d 0d 0a  _FIRST + 179 }..
20b50 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
20b60 69 65 77 5f 43 61 6e 63 65 6c 45 64 69 74 4c 61  iew_CancelEditLa
20b70 62 65 6c 28 68 77 6e 64 29 20 28 56 4f 49 44 29  bel(hwnd) (VOID)
20b80 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c  SNDMSG((hwnd), L
20b90 56 4d 5f 43 41 4e 43 45 4c 45 44 49 54 4c 41 42  VM_CANCELEDITLAB
20ba0 45 4c 2c 20 28 57 50 41 52 41 4d 29 30 2c 20 28  EL, (WPARAM)0, (
20bb0 4c 50 41 52 41 4d 29 30 29 0d 0a 0d 0a 65 6e 75  LPARAM)0)....enu
20bc0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 4d  m : uint { LVM_M
20bd0 41 50 49 4e 44 45 58 54 4f 49 44 20 3d 20 4c 56  APINDEXTOID = LV
20be0 4d 5f 46 49 52 53 54 20 2b 20 31 38 30 20 7d 0d  M_FIRST + 180 }.
20bf0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
20c00 56 69 65 77 5f 4d 61 70 49 6e 64 65 78 54 6f 49  View_MapIndexToI
20c10 44 28 68 77 6e 64 2c 20 69 6e 64 65 78 29 20 28  D(hwnd, index) (
20c20 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 68 77 6e  UINT)SNDMSG((hwn
20c30 64 29 2c 20 4c 56 4d 5f 4d 41 50 49 4e 44 45 58  d), LVM_MAPINDEX
20c40 54 4f 49 44 2c 20 28 57 50 41 52 41 4d 29 69 6e  TOID, (WPARAM)in
20c50 64 65 78 2c 20 28 4c 50 41 52 41 4d 29 30 29 0d  dex, (LPARAM)0).
20c60 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
20c70 20 4c 56 4d 5f 4d 41 50 49 44 54 4f 49 4e 44 45   LVM_MAPIDTOINDE
20c80 58 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  X = LVM_FIRST + 
20c90 31 38 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  181 }..// #defin
20ca0 65 20 4c 69 73 74 56 69 65 77 5f 4d 61 70 49 44  e ListView_MapID
20cb0 54 6f 49 6e 64 65 78 28 68 77 6e 64 2c 20 69 64  ToIndex(hwnd, id
20cc0 29 20 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28  ) (UINT)SNDMSG((
20cd0 68 77 6e 64 29 2c 20 4c 56 4d 5f 4d 41 50 49 44  hwnd), LVM_MAPID
20ce0 54 4f 49 4e 44 45 58 2c 20 28 57 50 41 52 41 4d  TOINDEX, (WPARAM
20cf0 29 69 64 2c 20 28 4c 50 41 52 41 4d 29 30 29 0d  )id, (LPARAM)0).
20d00 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
20d10 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
20d20 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
20d30 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
20d40 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
20d50 0a 61 6c 69 61 73 20 4c 56 42 4b 49 4d 41 47 45  .alias LVBKIMAGE
20d60 41 20 4c 56 42 4b 49 4d 41 47 45 3b 0d 0a 61 6c  A LVBKIMAGE;..al
20d70 69 61 73 20 4c 50 4c 56 42 4b 49 4d 41 47 45 41  ias LPLVBKIMAGEA
20d80 20 4c 50 4c 56 42 4b 49 4d 41 47 45 3b 0d 0a 61   LPLVBKIMAGE;..a
20d90 6c 69 61 73 20 4c 56 4d 5f 53 45 54 42 4b 49 4d  lias LVM_SETBKIM
20da0 41 47 45 41 20 4c 56 4d 5f 53 45 54 42 4b 49 4d  AGEA LVM_SETBKIM
20db0 41 47 45 3b 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f  AGE;..alias LVM_
20dc0 47 45 54 42 4b 49 4d 41 47 45 41 20 4c 56 4d 5f  GETBKIMAGEA LVM_
20dd0 47 45 54 42 4b 49 4d 41 47 45 3b 0d 0a 2f 2f 20  GETBKIMAGE;..// 
20de0 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65  #endif....// #de
20df0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65  fine ListView_Se
20e00 74 42 6b 49 6d 61 67 65 28 68 77 6e 64 2c 20 70  tBkImage(hwnd, p
20e10 6c 76 62 6b 69 29 20 28 42 4f 4f 4c 29 53 4e 44  lvbki) (BOOL)SND
20e20 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
20e30 53 45 54 42 4b 49 4d 41 47 45 2c 20 30 2c 20 28  SETBKIMAGE, 0, (
20e40 4c 50 41 52 41 4d 29 28 70 6c 76 62 6b 69 29 29  LPARAM)(plvbki))
20e50 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c  ....// #define L
20e60 69 73 74 56 69 65 77 5f 47 65 74 42 6b 49 6d 61  istView_GetBkIma
20e70 67 65 28 68 77 6e 64 2c 20 70 6c 76 62 6b 69 29  ge(hwnd, plvbki)
20e80 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
20e90 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 42 4b 49  wnd), LVM_GETBKI
20ea0 4d 41 47 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d  MAGE, 0, (LPARAM
20eb0 29 28 70 6c 76 62 6b 69 29 29 0d 0a 0d 0a 2f 2f  )(plvbki))....//
20ec0 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20   #endif      // 
20ed0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
20ee0 34 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  400....// #if (_
20ef0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
20f00 30 30 29 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c  00)..alias LPNML
20f10 49 53 54 56 49 45 57 20 4c 50 4e 4d 5f 4c 49 53  ISTVIEW LPNM_LIS
20f20 54 56 49 45 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d  TVIEW;..alias NM
20f30 4c 49 53 54 56 49 45 57 20 4e 4d 5f 4c 49 53 54  LISTVIEW NM_LIST
20f40 56 49 45 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  VIEW;..// #else.
20f50 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
20f60 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
20f70 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
20f80 74 61 67 4e 4d 4c 49 53 54 56 49 45 57 20 7b 0d  tagNMLISTVIEW {.
20f90 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20  .  NMHDR hdr;.. 
20fa0 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69   int iItem;..  i
20fb0 6e 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20  nt iSubItem;..  
20fc0 55 49 4e 54 20 75 4e 65 77 53 74 61 74 65 3b 0d  UINT uNewState;.
20fd0 0a 20 20 55 49 4e 54 20 75 4f 6c 64 53 74 61 74  .  UINT uOldStat
20fe0 65 3b 0d 0a 20 20 55 49 4e 54 20 75 43 68 61 6e  e;..  UINT uChan
20ff0 67 65 64 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74  ged;..  POINT pt
21000 41 63 74 69 6f 6e 3b 0d 0a 20 20 4c 50 41 52 41  Action;..  LPARA
21010 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c  M lParam;..}..al
21020 69 61 73 20 74 61 67 4e 4d 4c 49 53 54 56 49 45  ias tagNMLISTVIE
21030 57 20 4e 4d 4c 49 53 54 56 49 45 57 3b 0d 0a 61  W NMLISTVIEW;..a
21040 6c 69 61 73 20 74 61 67 4e 4d 4c 49 53 54 56 49  lias tagNMLISTVI
21050 45 57 2a 20 4c 50 4e 4d 4c 49 53 54 56 49 45 57  EW* LPNMLISTVIEW
21060 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  ;....// #if (_WI
21070 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29  N32_IE >= 0x400)
21080 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
21090 49 54 45 4d 41 43 54 49 56 41 54 45 20 7b 0d 0a  ITEMACTIVATE {..
210a0 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20    NMHDR hdr;..  
210b0 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e  int iItem;..  in
210c0 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20 55  t iSubItem;..  U
210d0 49 4e 54 20 75 4e 65 77 53 74 61 74 65 3b 0d 0a  INT uNewState;..
210e0 20 20 55 49 4e 54 20 75 4f 6c 64 53 74 61 74 65    UINT uOldState
210f0 3b 0d 0a 20 20 55 49 4e 54 20 75 43 68 61 6e 67  ;..  UINT uChang
21100 65 64 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 41  ed;..  POINT ptA
21110 63 74 69 6f 6e 3b 0d 0a 20 20 4c 50 41 52 41 4d  ction;..  LPARAM
21120 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 55 49 4e 54   lParam;..  UINT
21130 20 75 4b 65 79 46 6c 61 67 73 3b 0d 0a 7d 0d 0a   uKeyFlags;..}..
21140 61 6c 69 61 73 20 74 61 67 4e 4d 49 54 45 4d 41  alias tagNMITEMA
21150 43 54 49 56 41 54 45 20 4e 4d 49 54 45 4d 41 43  CTIVATE NMITEMAC
21160 54 49 56 41 54 45 3b 0d 0a 61 6c 69 61 73 20 74  TIVATE;..alias t
21170 61 67 4e 4d 49 54 45 4d 41 43 54 49 56 41 54 45  agNMITEMACTIVATE
21180 2a 20 4c 50 4e 4d 49 54 45 4d 41 43 54 49 56 41  * LPNMITEMACTIVA
21190 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  TE;....enum : ui
211a0 6e 74 20 7b 20 4c 56 4b 46 5f 41 4c 54 20 3d 20  nt { LVKF_ALT = 
211b0 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
211c0 20 75 69 6e 74 20 7b 20 4c 56 4b 46 5f 43 4f 4e   uint { LVKF_CON
211d0 54 52 4f 4c 20 3d 20 30 78 30 30 30 32 20 7d 0d  TROL = 0x0002 }.
211e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
211f0 56 4b 46 5f 53 48 49 46 54 20 3d 20 30 78 30 30  VKF_SHIFT = 0x00
21200 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  04 }..// #endif 
21210 2f 2f 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  //(_WIN32_IE >= 
21220 30 78 30 34 30 30 29 0d 0a 0d 0a 2f 2f 20 23 69  0x0400)....// #i
21230 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
21240 30 78 30 33 30 30 29 0d 0a 2f 2f 20 23 64 65 66  0x0300)..// #def
21250 69 6e 65 20 4e 4d 4c 56 43 55 53 54 4f 4d 44 52  ine NMLVCUSTOMDR
21260 41 57 5f 56 33 5f 53 49 5a 45 20 43 43 53 49 5a  AW_V3_SIZE CCSIZ
21270 45 4f 46 5f 53 54 52 55 43 54 28 4e 4d 4c 56 43  EOF_STRUCT(NMLVC
21280 55 53 54 4f 4d 44 52 57 2c 20 63 6c 72 54 65 78  USTOMDRW, clrTex
21290 74 42 6b 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74  tBk)....struct t
212a0 61 67 4e 4d 4c 56 43 55 53 54 4f 4d 44 52 41 57  agNMLVCUSTOMDRAW
212b0 20 7b 0d 0a 20 20 4e 4d 43 55 53 54 4f 4d 44 52   {..  NMCUSTOMDR
212c0 41 57 20 6e 6d 63 64 3b 0d 0a 20 20 43 4f 4c 4f  AW nmcd;..  COLO
212d0 52 52 45 46 20 63 6c 72 54 65 78 74 3b 0d 0a 20  RREF clrText;.. 
212e0 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 54 65 78   COLORREF clrTex
212f0 74 42 6b 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  tBk;..// #if (_W
21300 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
21310 30 29 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74  0)..  int iSubIt
21320 65 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  em;..// #endif..
21330 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
21340 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a  INNT >= 0x501)..
21350 20 20 44 57 4f 52 44 20 64 77 49 74 65 6d 54 79    DWORD dwItemTy
21360 70 65 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20  pe;..  COLORREF 
21370 63 6c 72 46 61 63 65 3b 0d 0a 20 20 69 6e 74 20  clrFace;..  int 
21380 69 49 63 6f 6e 45 66 66 65 63 74 3b 0d 0a 20 20  iIconEffect;..  
21390 69 6e 74 20 69 49 63 6f 6e 50 68 61 73 65 3b 0d  int iIconPhase;.
213a0 0a 20 20 69 6e 74 20 69 50 61 72 74 49 64 3b 0d  .  int iPartId;.
213b0 0a 20 20 69 6e 74 20 69 53 74 61 74 65 49 64 3b  .  int iStateId;
213c0 0d 0a 20 20 52 45 43 54 20 72 63 54 65 78 74 3b  ..  RECT rcText;
213d0 0d 0a 20 20 55 49 4e 54 20 75 41 6c 69 67 6e 3b  ..  UINT uAlign;
213e0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a  ..// #endif..}..
213f0 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 43 55 53  alias tagNMLVCUS
21400 54 4f 4d 44 52 41 57 20 4e 4d 4c 56 43 55 53 54  TOMDRAW NMLVCUST
21410 4f 4d 44 52 41 57 3b 0d 0a 61 6c 69 61 73 20 74  OMDRAW;..alias t
21420 61 67 4e 4d 4c 56 43 55 53 54 4f 4d 44 52 41 57  agNMLVCUSTOMDRAW
21430 2a 20 4c 50 4e 4d 4c 56 43 55 53 54 4f 4d 44 52  * LPNMLVCUSTOMDR
21440 41 57 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  AW;....enum : ui
21450 6e 74 20 7b 20 4c 56 43 44 49 5f 49 54 45 4d 20  nt { LVCDI_ITEM 
21460 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
21470 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
21480 43 44 49 5f 47 52 4f 55 50 20 3d 20 30 78 30 30  CDI_GROUP = 0x00
21490 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d  000001 }....enum
214a0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 44 52 46   : uint { LVCDRF
214b0 5f 4e 4f 53 45 4c 45 43 54 20 3d 20 30 78 30 30  _NOSELECT = 0x00
214c0 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  010000 }..enum :
214d0 20 75 69 6e 74 20 7b 20 4c 56 43 44 52 46 5f 4e   uint { LVCDRF_N
214e0 4f 47 52 4f 55 50 46 52 41 4d 45 20 3d 20 30 78  OGROUPFRAME = 0x
214f0 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a 73 74  00020000 }....st
21500 72 75 63 74 20 74 61 67 4e 4d 4c 56 43 41 43 48  ruct tagNMLVCACH
21510 45 48 49 4e 54 20 7b 0d 0a 20 20 4e 4d 48 44 52  EHINT {..  NMHDR
21520 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 46 72   hdr;..  int iFr
21530 6f 6d 3b 0d 0a 20 20 69 6e 74 20 69 54 6f 3b 0d  om;..  int iTo;.
21540 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c  .}..alias tagNML
21550 56 43 41 43 48 45 48 49 4e 54 20 4e 4d 4c 56 43  VCACHEHINT NMLVC
21560 41 43 48 45 48 49 4e 54 3b 0d 0a 61 6c 69 61 73  ACHEHINT;..alias
21570 20 74 61 67 4e 4d 4c 56 43 41 43 48 45 48 49 4e   tagNMLVCACHEHIN
21580 54 2a 20 4c 50 4e 4d 4c 56 43 41 43 48 45 48 49  T* LPNMLVCACHEHI
21590 4e 54 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e  NT;....alias LPN
215a0 4d 4c 56 43 41 43 48 45 48 49 4e 54 20 4c 50 4e  MLVCACHEHINT LPN
215b0 4d 5f 43 41 43 48 45 48 49 4e 54 3b 0d 0a 61 6c  M_CACHEHINT;..al
215c0 69 61 73 20 4c 50 4e 4d 4c 56 43 41 43 48 45 48  ias LPNMLVCACHEH
215d0 49 4e 54 20 50 4e 4d 5f 43 41 43 48 45 48 49 4e  INT PNM_CACHEHIN
215e0 54 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 43 41  T;..alias NMLVCA
215f0 43 48 45 48 49 4e 54 20 4e 4d 5f 43 41 43 48 45  CHEHINT NM_CACHE
21600 48 49 4e 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  HINT;....struct 
21610 74 61 67 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41  tagNMLVFINDITEMA
21620 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
21630 0d 0a 20 20 69 6e 74 20 69 53 74 61 72 74 3b 0d  ..  int iStart;.
21640 0a 20 20 4c 56 46 49 4e 44 49 4e 46 4f 41 20 6c  .  LVFINDINFOA l
21650 76 66 69 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  vfi;..}..alias t
21660 61 67 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 20  agNMLVFINDITEMA 
21670 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 3b 0d 0a  NMLVFINDITEMA;..
21680 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 46 49 4e  alias tagNMLVFIN
21690 44 49 54 45 4d 41 2a 20 4c 50 4e 4d 4c 56 46 49  DITEMA* LPNMLVFI
216a0 4e 44 49 54 45 4d 41 3b 0d 0a 0d 0a 73 74 72 75  NDITEMA;....stru
216b0 63 74 20 74 61 67 4e 4d 4c 56 46 49 4e 44 49 54  ct tagNMLVFINDIT
216c0 45 4d 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68  EMW {..  NMHDR h
216d0 64 72 3b 0d 0a 20 20 69 6e 74 20 69 53 74 61 72  dr;..  int iStar
216e0 74 3b 0d 0a 20 20 4c 56 46 49 4e 44 49 4e 46 4f  t;..  LVFINDINFO
216f0 57 20 6c 76 66 69 3b 0d 0a 7d 0d 0a 61 6c 69 61  W lvfi;..}..alia
21700 73 20 74 61 67 4e 4d 4c 56 46 49 4e 44 49 54 45  s tagNMLVFINDITE
21710 4d 57 20 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 57  MW NMLVFINDITEMW
21720 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56  ;..alias tagNMLV
21730 46 49 4e 44 49 54 45 4d 57 2a 20 4c 50 4e 4d 4c  FINDITEMW* LPNML
21740 56 46 49 4e 44 49 54 45 4d 57 3b 0d 0a 0d 0a 61  VFINDITEMW;....a
21750 6c 69 61 73 20 4c 50 4e 4d 4c 56 46 49 4e 44 49  lias LPNMLVFINDI
21760 54 45 4d 41 20 50 4e 4d 5f 46 49 4e 44 49 54 45  TEMA PNM_FINDITE
21770 4d 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c  MA;..alias LPNML
21780 56 46 49 4e 44 49 54 45 4d 41 20 4c 50 4e 4d 5f  VFINDITEMA LPNM_
21790 46 49 4e 44 49 54 45 4d 41 3b 0d 0a 61 6c 69 61  FINDITEMA;..alia
217a0 73 20 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 20  s NMLVFINDITEMA 
217b0 4e 4d 5f 46 49 4e 44 49 54 45 4d 41 3b 0d 0a 0d  NM_FINDITEMA;...
217c0 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c 56 46 49 4e  .alias LPNMLVFIN
217d0 44 49 54 45 4d 57 20 50 4e 4d 5f 46 49 4e 44 49  DITEMW PNM_FINDI
217e0 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e  TEMW;..alias LPN
217f0 4d 4c 56 46 49 4e 44 49 54 45 4d 57 20 4c 50 4e  MLVFINDITEMW LPN
21800 4d 5f 46 49 4e 44 49 54 45 4d 57 3b 0d 0a 61 6c  M_FINDITEMW;..al
21810 69 61 73 20 4e 4d 4c 56 46 49 4e 44 49 54 45 4d  ias NMLVFINDITEM
21820 57 20 4e 4d 5f 46 49 4e 44 49 54 45 4d 57 3b 0d  W NM_FINDITEMW;.
21830 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
21840 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
21850 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
21860 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
21870 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
21880 61 73 20 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 41  as PNM_FINDITEMA
21890 20 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 3b 0d 0a   PNM_FINDITEM;..
218a0 61 6c 69 61 73 20 4c 50 4e 4d 5f 46 49 4e 44 49  alias LPNM_FINDI
218b0 54 45 4d 41 20 4c 50 4e 4d 5f 46 49 4e 44 49 54  TEMA LPNM_FINDIT
218c0 45 4d 3b 0d 0a 61 6c 69 61 73 20 4e 4d 5f 46 49  EM;..alias NM_FI
218d0 4e 44 49 54 45 4d 41 20 4e 4d 5f 46 49 4e 44 49  NDITEMA NM_FINDI
218e0 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56  TEM;..alias NMLV
218f0 46 49 4e 44 49 54 45 4d 41 20 4e 4d 4c 56 46 49  FINDITEMA NMLVFI
21900 4e 44 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c  NDITEM;..alias L
21910 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 20 4c  PNMLVFINDITEMA L
21920 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 3b 0d 0a  PNMLVFINDITEM;..
21930 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72  // #endif....str
21940 75 63 74 20 74 61 67 4e 4d 4c 56 4f 44 53 54 41  uct tagNMLVODSTA
21950 54 45 43 48 41 4e 47 45 20 7b 0d 0a 20 20 4e 4d  TECHANGE {..  NM
21960 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20  HDR hdr;..  int 
21970 69 46 72 6f 6d 3b 0d 0a 20 20 69 6e 74 20 69 54  iFrom;..  int iT
21980 6f 3b 0d 0a 20 20 55 49 4e 54 20 75 4e 65 77 53  o;..  UINT uNewS
21990 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 75 4f  tate;..  UINT uO
219a0 6c 64 53 74 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69  ldState;..}..ali
219b0 61 73 20 74 61 67 4e 4d 4c 56 4f 44 53 54 41 54  as tagNMLVODSTAT
219c0 45 43 48 41 4e 47 45 20 4e 4d 4c 56 4f 44 53 54  ECHANGE NMLVODST
219d0 41 54 45 43 48 41 4e 47 45 3b 0d 0a 61 6c 69 61  ATECHANGE;..alia
219e0 73 20 74 61 67 4e 4d 4c 56 4f 44 53 54 41 54 45  s tagNMLVODSTATE
219f0 43 48 41 4e 47 45 2a 20 4c 50 4e 4d 4c 56 4f 44  CHANGE* LPNMLVOD
21a00 53 54 41 54 45 43 48 41 4e 47 45 3b 0d 0a 0d 0a  STATECHANGE;....
21a10 61 6c 69 61 73 20 4c 50 4e 4d 4c 56 4f 44 53 54  alias LPNMLVODST
21a20 41 54 45 43 48 41 4e 47 45 20 50 4e 4d 5f 4f 44  ATECHANGE PNM_OD
21a30 53 54 41 54 45 43 48 41 4e 47 45 3b 0d 0a 61 6c  STATECHANGE;..al
21a40 69 61 73 20 4c 50 4e 4d 4c 56 4f 44 53 54 41 54  ias LPNMLVODSTAT
21a50 45 43 48 41 4e 47 45 20 4c 50 4e 4d 5f 4f 44 53  ECHANGE LPNM_ODS
21a60 54 41 54 45 43 48 41 4e 47 45 3b 0d 0a 61 6c 69  TATECHANGE;..ali
21a70 61 73 20 4e 4d 4c 56 4f 44 53 54 41 54 45 43 48  as NMLVODSTATECH
21a80 41 4e 47 45 20 4e 4d 5f 4f 44 53 54 41 54 45 43  ANGE NM_ODSTATEC
21a90 48 41 4e 47 45 3b 0d 0a 2f 2f 20 23 65 6e 64 69  HANGE;..// #endi
21aa0 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32  f      // _WIN32
21ab0 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a 0d  _IE >= 0x0300...
21ac0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
21ad0 56 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47 20  VN_ITEMCHANGING 
21ae0 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 30 20 7d 0d  = LVN_FIRST-0 }.
21af0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
21b00 56 4e 5f 49 54 45 4d 43 48 41 4e 47 45 44 20 3d  VN_ITEMCHANGED =
21b10 20 4c 56 4e 5f 46 49 52 53 54 2d 31 20 7d 0d 0a   LVN_FIRST-1 }..
21b20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
21b30 4e 5f 49 4e 53 45 52 54 49 54 45 4d 20 3d 20 4c  N_INSERTITEM = L
21b40 56 4e 5f 46 49 52 53 54 2d 32 20 7d 0d 0a 65 6e  VN_FIRST-2 }..en
21b50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f  um : uint { LVN_
21b60 44 45 4c 45 54 45 49 54 45 4d 20 3d 20 4c 56 4e  DELETEITEM = LVN
21b70 5f 46 49 52 53 54 2d 33 20 7d 0d 0a 65 6e 75 6d  _FIRST-3 }..enum
21b80 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 44 45   : uint { LVN_DE
21b90 4c 45 54 45 41 4c 4c 49 54 45 4d 53 20 3d 20 4c  LETEALLITEMS = L
21ba0 56 4e 5f 46 49 52 53 54 2d 34 20 7d 0d 0a 65 6e  VN_FIRST-4 }..en
21bb0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f  um : uint { LVN_
21bc0 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 41 20  BEGINLABELEDITA 
21bd0 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 35 20 7d 0d  = LVN_FIRST-5 }.
21be0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
21bf0 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49  VN_BEGINLABELEDI
21c00 54 57 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 37  TW = LVN_FIRST-7
21c10 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
21c20 20 7b 20 4c 56 4e 5f 45 4e 44 4c 41 42 45 4c 45   { LVN_ENDLABELE
21c30 44 49 54 41 20 3d 20 4c 56 4e 5f 46 49 52 53 54  DITA = LVN_FIRST
21c40 2d 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -6 }..enum : uin
21c50 74 20 7b 20 4c 56 4e 5f 45 4e 44 4c 41 42 45 4c  t { LVN_ENDLABEL
21c60 45 44 49 54 57 20 3d 20 4c 56 4e 5f 46 49 52 53  EDITW = LVN_FIRS
21c70 54 2d 37 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  T-76 }..enum : u
21c80 69 6e 74 20 7b 20 4c 56 4e 5f 43 4f 4c 55 4d 4e  int { LVN_COLUMN
21c90 43 4c 49 43 4b 20 3d 20 4c 56 4e 5f 46 49 52 53  CLICK = LVN_FIRS
21ca0 54 2d 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-8 }..enum : ui
21cb0 6e 74 20 7b 20 4c 56 4e 5f 42 45 47 49 4e 44 52  nt { LVN_BEGINDR
21cc0 41 47 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 39  AG = LVN_FIRST-9
21cd0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
21ce0 7b 20 4c 56 4e 5f 42 45 47 49 4e 52 44 52 41 47  { LVN_BEGINRDRAG
21cf0 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 31 31 20   = LVN_FIRST-11 
21d00 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  }....// #if (_WI
21d10 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
21d20 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
21d30 20 4c 56 4e 5f 4f 44 43 41 43 48 45 48 49 4e 54   LVN_ODCACHEHINT
21d40 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 31 33 20   = LVN_FIRST-13 
21d50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
21d60 20 4c 56 4e 5f 4f 44 46 49 4e 44 49 54 45 4d 41   LVN_ODFINDITEMA
21d70 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 35 32 20   = LVN_FIRST-52 
21d80 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
21d90 20 4c 56 4e 5f 4f 44 46 49 4e 44 49 54 45 4d 57   LVN_ODFINDITEMW
21da0 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 37 39 20   = LVN_FIRST-79 
21db0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
21dc0 20 7b 20 4c 56 4e 5f 49 54 45 4d 41 43 54 49 56   { LVN_ITEMACTIV
21dd0 41 54 45 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d  ATE = LVN_FIRST-
21de0 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  14 }..enum : uin
21df0 74 20 7b 20 4c 56 4e 5f 4f 44 53 54 41 54 45 43  t { LVN_ODSTATEC
21e00 48 41 4e 47 45 44 20 3d 20 4c 56 4e 5f 46 49 52  HANGED = LVN_FIR
21e10 53 54 2d 31 35 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  ST-15 }....// #i
21e20 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
21e30 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
21e40 0a 61 6c 69 61 73 20 4c 56 4e 5f 4f 44 46 49 4e  .alias LVN_ODFIN
21e50 44 49 54 45 4d 41 20 4c 56 4e 5f 4f 44 46 49 4e  DITEMA LVN_ODFIN
21e60 44 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69  DITEM;..// #endi
21e70 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20  f..// #endif    
21e80 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e    // _WIN32_IE >
21e90 3d 20 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23  = 0x0300....// #
21ea0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
21eb0 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
21ec0 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 48 4f 54 54   uint { LVN_HOTT
21ed0 52 41 43 4b 20 3d 20 4c 56 4e 5f 46 49 52 53 54  RACK = LVN_FIRST
21ee0 2d 32 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  -21 }..// #endif
21ef0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
21f00 7b 20 4c 56 4e 5f 47 45 54 44 49 53 50 49 4e 46  { LVN_GETDISPINF
21f10 4f 41 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 35  OA = LVN_FIRST-5
21f20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
21f30 20 7b 20 4c 56 4e 5f 47 45 54 44 49 53 50 49 4e   { LVN_GETDISPIN
21f40 46 4f 57 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d  FOW = LVN_FIRST-
21f50 37 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  77 }..enum : uin
21f60 74 20 7b 20 4c 56 4e 5f 53 45 54 44 49 53 50 49  t { LVN_SETDISPI
21f70 4e 46 4f 41 20 3d 20 4c 56 4e 5f 46 49 52 53 54  NFOA = LVN_FIRST
21f80 2d 35 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  -51 }..enum : ui
21f90 6e 74 20 7b 20 4c 56 4e 5f 53 45 54 44 49 53 50  nt { LVN_SETDISP
21fa0 49 4e 46 4f 57 20 3d 20 4c 56 4e 5f 46 49 52 53  INFOW = LVN_FIRS
21fb0 54 2d 37 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  T-78 }....// #if
21fc0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
21fd0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
21fe0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
21ff0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
22000 20 4c 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45   LVN_BEGINLABELE
22010 44 49 54 41 20 4c 56 4e 5f 42 45 47 49 4e 4c 41  DITA LVN_BEGINLA
22020 42 45 4c 45 44 49 54 3b 0d 0a 61 6c 69 61 73 20  BELEDIT;..alias 
22030 4c 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54  LVN_ENDLABELEDIT
22040 41 20 4c 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44  A LVN_ENDLABELED
22050 49 54 3b 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f 47  IT;..alias LVN_G
22060 45 54 44 49 53 50 49 4e 46 4f 41 20 4c 56 4e 5f  ETDISPINFOA LVN_
22070 47 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c  GETDISPINFO;..al
22080 69 61 73 20 4c 56 4e 5f 53 45 54 44 49 53 50 49  ias LVN_SETDISPI
22090 4e 46 4f 41 20 4c 56 4e 5f 53 45 54 44 49 53 50  NFOA LVN_SETDISP
220a0 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  INFO;..// #endif
220b0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
220c0 7b 20 4c 56 49 46 5f 44 49 5f 53 45 54 49 54 45  { LVIF_DI_SETITE
220d0 4d 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a  M = 0x1000 }....
220e0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
220f0 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c  E >= 0x0300)..al
22100 69 61 73 20 4e 4d 4c 56 44 49 53 50 49 4e 46 4f  ias NMLVDISPINFO
22110 41 20 4c 56 5f 44 49 53 50 49 4e 46 4f 41 3b 0d  A LV_DISPINFOA;.
22120 0a 61 6c 69 61 73 20 4e 4d 4c 56 44 49 53 50 49  .alias NMLVDISPI
22130 4e 46 4f 57 20 4c 56 5f 44 49 53 50 49 4e 46 4f  NFOW LV_DISPINFO
22140 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  W;..// #else..//
22150 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
22160 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
22170 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61  ..// #endif....a
22180 6c 69 61 73 20 4e 4d 4c 56 44 49 53 50 49 4e 46  lias NMLVDISPINF
22190 4f 20 4c 56 5f 44 49 53 50 49 4e 46 4f 3b 0d 0a  O LV_DISPINFO;..
221a0 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56 44 49  ..struct tagLVDI
221b0 53 50 49 4e 46 4f 20 7b 0d 0a 20 20 4e 4d 48 44  SPINFO {..  NMHD
221c0 52 20 68 64 72 3b 0d 0a 20 20 4c 56 49 54 45 4d  R hdr;..  LVITEM
221d0 41 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61  A item;..}..alia
221e0 73 20 74 61 67 4c 56 44 49 53 50 49 4e 46 4f 20  s tagLVDISPINFO 
221f0 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 41 3b 0d 0a  NMLVDISPINFOA;..
22200 61 6c 69 61 73 20 74 61 67 4c 56 44 49 53 50 49  alias tagLVDISPI
22210 4e 46 4f 2a 20 4c 50 4e 4d 4c 56 44 49 53 50 49  NFO* LPNMLVDISPI
22220 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  NFOA;....struct 
22230 74 61 67 4c 56 44 49 53 50 49 4e 46 4f 57 20 7b  tagLVDISPINFOW {
22240 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
22250 20 20 4c 56 49 54 45 4d 57 20 69 74 65 6d 3b 0d    LVITEMW item;.
22260 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 44  .}..alias tagLVD
22270 49 53 50 49 4e 46 4f 57 20 4e 4d 4c 56 44 49 53  ISPINFOW NMLVDIS
22280 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74  PINFOW;..alias t
22290 61 67 4c 56 44 49 53 50 49 4e 46 4f 57 2a 20 4c  agLVDISPINFOW* L
222a0 50 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 57 3b 0d  PNMLVDISPINFOW;.
222b0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
222c0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
222d0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4e  / #else..alias N
222e0 4d 4c 56 44 49 53 50 49 4e 46 4f 41 20 4e 4d 4c  MLVDISPINFOA NML
222f0 56 44 49 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23  VDISPINFO;..// #
22300 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
22310 75 69 6e 74 20 7b 20 4c 56 4e 5f 4b 45 59 44 4f  uint { LVN_KEYDO
22320 57 4e 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 35  WN = LVN_FIRST-5
22330 35 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  5 }....// #if (_
22340 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
22350 30 30 29 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 4b  00)..alias NMLVK
22360 45 59 44 4f 57 4e 20 4c 56 5f 4b 45 59 44 4f 57  EYDOWN LV_KEYDOW
22370 4e 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  N;..// #else..//
22380 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
22390 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
223a0 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61  #ifdef _WIN32..a
223b0 6c 69 67 6e 28 31 29 3a 0d 0a 2f 2f 20 23 65 6e  lign(1):..// #en
223c0 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  dif....struct ta
223d0 67 4c 56 4b 45 59 44 4f 57 4e 20 7b 0d 0a 20 20  gLVKEYDOWN {..  
223e0 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 57 4f  NMHDR hdr;..  WO
223f0 52 44 20 77 56 4b 65 79 3b 0d 0a 20 20 55 49 4e  RD wVKey;..  UIN
22400 54 20 66 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69  T flags;..}..ali
22410 61 73 20 74 61 67 4c 56 4b 45 59 44 4f 57 4e 20  as tagLVKEYDOWN 
22420 4e 4d 4c 56 4b 45 59 44 4f 57 4e 3b 0d 0a 61 6c  NMLVKEYDOWN;..al
22430 69 61 73 20 74 61 67 4c 56 4b 45 59 44 4f 57 4e  ias tagLVKEYDOWN
22440 2a 20 4c 50 4e 4d 4c 56 4b 45 59 44 4f 57 4e 3b  * LPNMLVKEYDOWN;
22450 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
22460 49 4e 33 32 0d 0a 61 6c 69 67 6e 3a 0d 0a 2f 2f  IN32..align:..//
22470 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
22480 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
22490 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0300)..enum : 
224a0 75 69 6e 74 20 7b 20 4c 56 4e 5f 4d 41 52 51 55  uint { LVN_MARQU
224b0 45 45 42 45 47 49 4e 20 3d 20 4c 56 4e 5f 46 49  EEBEGIN = LVN_FI
224c0 52 53 54 2d 35 36 20 7d 0d 0a 2f 2f 20 23 65 6e  RST-56 }..// #en
224d0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  dif....// #if (_
224e0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
224f0 30 30 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  00)..struct tagN
22500 4d 4c 56 47 45 54 49 4e 46 4f 54 49 50 41 20 7b  MLVGETINFOTIPA {
22510 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
22520 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
22530 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78  ..  LPSTR pszTex
22540 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78  t;..  int cchTex
22550 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 74  tMax;..  int iIt
22560 65 6d 3b 0d 0a 20 20 69 6e 74 20 69 53 75 62 49  em;..  int iSubI
22570 74 65 6d 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  tem;..  LPARAM l
22580 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Param;..}..alias
22590 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46 4f 54   tagNMLVGETINFOT
225a0 49 50 41 20 4e 4d 4c 56 47 45 54 49 4e 46 4f 54  IPA NMLVGETINFOT
225b0 49 50 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  IPA;..alias tagN
225c0 4d 4c 56 47 45 54 49 4e 46 4f 54 49 50 41 2a 20  MLVGETINFOTIPA* 
225d0 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49 50  LPNMLVGETINFOTIP
225e0 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
225f0 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49 50 57 20  NMLVGETINFOTIPW 
22600 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d  {..  NMHDR hdr;.
22610 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
22620 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54  ;..  LPWSTR pszT
22630 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54  ext;..  int cchT
22640 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69  extMax;..  int i
22650 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 20 69 53 75  Item;..  int iSu
22660 62 49 74 65 6d 3b 0d 0a 20 20 4c 50 41 52 41 4d  bItem;..  LPARAM
22670 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69   lParam;..}..ali
22680 61 73 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46  as tagNMLVGETINF
22690 4f 54 49 50 57 20 4e 4d 4c 56 47 45 54 49 4e 46  OTIPW NMLVGETINF
226a0 4f 54 49 50 57 3b 0d 0a 61 6c 69 61 73 20 74 61  OTIPW;..alias ta
226b0 67 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49 50 57  gNMLVGETINFOTIPW
226c0 2a 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 4f 54  * LPNMLVGETINFOT
226d0 49 50 57 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  IPW;....enum : u
226e0 69 6e 74 20 7b 20 4c 56 47 49 54 5f 55 4e 46 4f  int { LVGIT_UNFO
226f0 4c 44 45 44 20 3d 20 30 78 30 30 30 31 20 7d 0d  LDED = 0x0001 }.
22700 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
22710 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 49 50 41   LVN_GETINFOTIPA
22720 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 35 37 20   = LVN_FIRST-57 
22730 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
22740 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 49 50 57   LVN_GETINFOTIPW
22750 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 35 38 20   = LVN_FIRST-58 
22760 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  }....// #ifdef U
22770 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
22780 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
22790 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
227a0 61 73 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 49  as LVN_GETINFOTI
227b0 50 41 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 49  PA LVN_GETINFOTI
227c0 50 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 47 45  P;..alias NMLVGE
227d0 54 49 4e 46 4f 54 49 50 41 20 4e 4d 4c 56 47 45  TINFOTIPA NMLVGE
227e0 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 73  TINFOTIP;..alias
227f0 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49   LPNMLVGETINFOTI
22800 50 41 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 4f  PA LPNMLVGETINFO
22810 54 49 50 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  TIP;..// #endif.
22820 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20  ...// #endif    
22830 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e    // _WIN32_IE >
22840 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23  = 0x0400....// #
22850 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
22860 20 3e 3d 20 30 78 35 30 31 29 0d 0a 73 74 72 75   >= 0x501)..stru
22870 63 74 20 74 61 67 4e 4d 4c 56 53 43 52 4f 4c 4c  ct tagNMLVSCROLL
22880 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
22890 0d 0a 20 20 69 6e 74 20 64 78 3b 0d 0a 20 20 69  ..  int dx;..  i
228a0 6e 74 20 64 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  nt dy;..}..alias
228b0 20 74 61 67 4e 4d 4c 56 53 43 52 4f 4c 4c 20 4e   tagNMLVSCROLL N
228c0 4d 4c 56 53 43 52 4f 4c 4c 3b 0d 0a 61 6c 69 61  MLVSCROLL;..alia
228d0 73 20 74 61 67 4e 4d 4c 56 53 43 52 4f 4c 4c 2a  s tagNMLVSCROLL*
228e0 20 4c 50 4e 4d 4c 56 53 43 52 4f 4c 4c 3b 0d 0a   LPNMLVSCROLL;..
228f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22900 4c 56 4e 5f 42 45 47 49 4e 53 43 52 4f 4c 4c 20  LVN_BEGINSCROLL 
22910 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 38 30 20 7d  = LVN_FIRST-80 }
22920 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22930 4c 56 4e 5f 45 4e 44 53 43 52 4f 4c 4c 20 3d 20  LVN_ENDSCROLL = 
22940 4c 56 4e 5f 46 49 52 53 54 2d 38 31 20 7d 0d 0a  LVN_FIRST-81 }..
22950 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
22960 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 4c 49 53 54  #endif // NOLIST
22970 56 49 45 57 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  VIEW....// #ifnd
22980 65 66 20 4e 4f 54 52 45 45 56 49 45 57 0d 0a 0d  ef NOTREEVIEW...
22990 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33  .// #ifdef _WIN3
229a0 32 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20  2..const char[] 
229b0 57 43 5f 54 52 45 45 56 49 45 57 41 20 3d 20 22  WC_TREEVIEWA = "
229c0 53 79 73 54 72 65 65 56 69 65 77 33 32 22 3b 0d  SysTreeView32";.
229d0 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57  .const wchar[] W
229e0 43 5f 54 52 45 45 56 49 45 57 57 20 3d 20 22 53  C_TREEVIEWW = "S
229f0 79 73 54 72 65 65 56 69 65 77 33 32 22 3b 0d 0a  ysTreeView32";..
22a00 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
22a10 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
22a20 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57 43   #else..alias WC
22a30 5f 54 52 45 45 56 49 45 57 41 20 57 43 5f 54 52  _TREEVIEWA WC_TR
22a40 45 45 56 49 45 57 3b 0d 0a 2f 2f 20 23 65 6e 64  EEVIEW;..// #end
22a50 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  if....// #else..
22a60 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
22a70 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
22a80 74 20 7b 20 54 56 53 5f 48 41 53 42 55 54 54 4f  t { TVS_HASBUTTO
22a90 4e 53 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  NS = 0x0001 }..e
22aa0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53  num : uint { TVS
22ab0 5f 48 41 53 4c 49 4e 45 53 20 3d 20 30 78 30 30  _HASLINES = 0x00
22ac0 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
22ad0 74 20 7b 20 54 56 53 5f 4c 49 4e 45 53 41 54 52  t { TVS_LINESATR
22ae0 4f 4f 54 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  OOT = 0x0004 }..
22af0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
22b00 53 5f 45 44 49 54 4c 41 42 45 4c 53 20 3d 20 30  S_EDITLABELS = 0
22b10 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
22b20 75 69 6e 74 20 7b 20 54 56 53 5f 44 49 53 41 42  uint { TVS_DISAB
22b30 4c 45 44 52 41 47 44 52 4f 50 20 3d 20 30 78 30  LEDRAGDROP = 0x0
22b40 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
22b50 6e 74 20 7b 20 54 56 53 5f 53 48 4f 57 53 45 4c  nt { TVS_SHOWSEL
22b60 41 4c 57 41 59 53 20 3d 20 30 78 30 30 32 30 20  ALWAYS = 0x0020 
22b70 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
22b80 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
22b90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
22ba0 56 53 5f 52 54 4c 52 45 41 44 49 4e 47 20 3d 20  VS_RTLREADING = 
22bb0 30 78 30 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0040 }....enum
22bc0 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 4e 4f   : uint { TVS_NO
22bd0 54 4f 4f 4c 54 49 50 53 20 3d 20 30 78 30 30 38  TOOLTIPS = 0x008
22be0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
22bf0 20 7b 20 54 56 53 5f 43 48 45 43 4b 42 4f 58 45   { TVS_CHECKBOXE
22c00 53 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e  S = 0x0100 }..en
22c10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f  um : uint { TVS_
22c20 54 52 41 43 4b 53 45 4c 45 43 54 20 3d 20 30 78  TRACKSELECT = 0x
22c30 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  0200 }..// #if (
22c40 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
22c50 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
22c60 74 20 7b 20 54 56 53 5f 53 49 4e 47 4c 45 45 58  t { TVS_SINGLEEX
22c70 50 41 4e 44 20 3d 20 30 78 30 34 30 30 20 7d 0d  PAND = 0x0400 }.
22c80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
22c90 56 53 5f 49 4e 46 4f 54 49 50 20 3d 20 30 78 30  VS_INFOTIP = 0x0
22ca0 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  800 }..enum : ui
22cb0 6e 74 20 7b 20 54 56 53 5f 46 55 4c 4c 52 4f 57  nt { TVS_FULLROW
22cc0 53 45 4c 45 43 54 20 3d 20 30 78 31 30 30 30 20  SELECT = 0x1000 
22cd0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
22ce0 20 54 56 53 5f 4e 4f 53 43 52 4f 4c 4c 20 3d 20   TVS_NOSCROLL = 
22cf0 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x2000 }..enum :
22d00 20 75 69 6e 74 20 7b 20 54 56 53 5f 4e 4f 4e 45   uint { TVS_NONE
22d10 56 45 4e 48 45 49 47 48 54 20 3d 20 30 78 34 30  VENHEIGHT = 0x40
22d20 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
22d30 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
22d40 49 45 20 3e 3d 20 30 78 35 30 30 29 0d 0a 65 6e  IE >= 0x500)..en
22d50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f  um : uint { TVS_
22d60 4e 4f 48 53 43 52 4f 4c 4c 20 3d 20 30 78 38 30  NOHSCROLL = 0x80
22d70 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
22d80 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c  .// #endif....al
22d90 69 61 73 20 5f 54 52 45 45 49 54 45 4d 2a 20 48  ias _TREEITEM* H
22da0 54 52 45 45 49 54 45 4d 3b 0d 0a 0d 0a 65 6e 75  TREEITEM;....enu
22db0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 46 5f  m : uint { TVIF_
22dc0 54 45 58 54 20 3d 20 30 78 30 30 30 31 20 7d 0d  TEXT = 0x0001 }.
22dd0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
22de0 56 49 46 5f 49 4d 41 47 45 20 3d 20 30 78 30 30  VIF_IMAGE = 0x00
22df0 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
22e00 74 20 7b 20 54 56 49 46 5f 50 41 52 41 4d 20 3d  t { TVIF_PARAM =
22e10 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
22e20 3a 20 75 69 6e 74 20 7b 20 54 56 49 46 5f 53 54  : uint { TVIF_ST
22e30 41 54 45 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  ATE = 0x0008 }..
22e40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
22e50 49 46 5f 48 41 4e 44 4c 45 20 3d 20 30 78 30 30  IF_HANDLE = 0x00
22e60 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
22e70 74 20 7b 20 54 56 49 46 5f 53 45 4c 45 43 54 45  t { TVIF_SELECTE
22e80 44 49 4d 41 47 45 20 3d 20 30 78 30 30 32 30 20  DIMAGE = 0x0020 
22e90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
22ea0 20 54 56 49 46 5f 43 48 49 4c 44 52 45 4e 20 3d   TVIF_CHILDREN =
22eb0 20 30 78 30 30 34 30 20 7d 0d 0a 2f 2f 20 23 69   0x0040 }..// #i
22ec0 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
22ed0 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
22ee0 75 69 6e 74 20 7b 20 54 56 49 46 5f 49 4e 54 45  uint { TVIF_INTE
22ef0 47 52 41 4c 20 3d 20 30 78 30 30 38 30 20 7d 0d  GRAL = 0x0080 }.
22f00 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d  .// #endif..enum
22f10 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 5f 53   : uint { TVIS_S
22f20 45 4c 45 43 54 45 44 20 3d 20 30 78 30 30 30 32  ELECTED = 0x0002
22f30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
22f40 7b 20 54 56 49 53 5f 43 55 54 20 3d 20 30 78 30  { TVIS_CUT = 0x0
22f50 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
22f60 6e 74 20 7b 20 54 56 49 53 5f 44 52 4f 50 48 49  nt { TVIS_DROPHI
22f70 4c 49 54 45 44 20 3d 20 30 78 30 30 30 38 20 7d  LITED = 0x0008 }
22f80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22f90 54 56 49 53 5f 42 4f 4c 44 20 3d 20 30 78 30 30  TVIS_BOLD = 0x00
22fa0 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
22fb0 74 20 7b 20 54 56 49 53 5f 45 58 50 41 4e 44 45  t { TVIS_EXPANDE
22fc0 44 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e  D = 0x0020 }..en
22fd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53  um : uint { TVIS
22fe0 5f 45 58 50 41 4e 44 45 44 4f 4e 43 45 20 3d 20  _EXPANDEDONCE = 
22ff0 30 78 30 30 34 30 20 7d 0d 0a 2f 2f 20 23 69 66  0x0040 }..// #if
23000 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
23010 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0300)..enum : u
23020 69 6e 74 20 7b 20 54 56 49 53 5f 45 58 50 41 4e  int { TVIS_EXPAN
23030 44 50 41 52 54 49 41 4c 20 3d 20 30 78 30 30 38  DPARTIAL = 0x008
23040 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  0 }..// #endif..
23050 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
23060 54 56 49 53 5f 4f 56 45 52 4c 41 59 4d 41 53 4b  TVIS_OVERLAYMASK
23070 20 3d 20 30 78 30 46 30 30 20 7d 0d 0a 65 6e 75   = 0x0F00 }..enu
23080 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 5f  m : uint { TVIS_
23090 53 54 41 54 45 49 4d 41 47 45 4d 41 53 4b 20 3d  STATEIMAGEMASK =
230a0 20 30 78 46 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0xF000 }..enum 
230b0 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 5f 55 53  : uint { TVIS_US
230c0 45 52 4d 41 53 4b 20 3d 20 30 78 46 30 30 30 20  ERMASK = 0xF000 
230d0 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 49 5f 43 48  }....enum { I_CH
230e0 49 4c 44 52 45 4e 43 41 4c 4c 42 41 43 4b 20 3d  ILDRENCALLBACK =
230f0 20 2d 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20   -1 }....// #if 
23100 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
23110 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 50 54  0300)..alias LPT
23120 56 49 54 45 4d 57 20 4c 50 54 56 5f 49 54 45 4d  VITEMW LPTV_ITEM
23130 57 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 56 49 54  W;..alias LPTVIT
23140 45 4d 41 20 4c 50 54 56 5f 49 54 45 4d 41 3b 0d  EMA LPTV_ITEMA;.
23150 0a 61 6c 69 61 73 20 54 56 49 54 45 4d 57 20 54  .alias TVITEMW T
23160 56 5f 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20  V_ITEMW;..alias 
23170 54 56 49 54 45 4d 41 20 54 56 5f 49 54 45 4d 41  TVITEMA TV_ITEMA
23180 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
23190 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
231a0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
231b0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
231c0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
231d0 61 6c 69 61 73 20 4c 50 54 56 49 54 45 4d 20 4c  alias LPTVITEM L
231e0 50 54 56 5f 49 54 45 4d 3b 0d 0a 61 6c 69 61 73  PTV_ITEM;..alias
231f0 20 54 56 49 54 45 4d 20 54 56 5f 49 54 45 4d 3b   TVITEM TV_ITEM;
23200 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54 56  ....struct tagTV
23210 49 54 45 4d 41 20 7b 0d 0a 20 20 55 49 4e 54 20  ITEMA {..  UINT 
23220 6d 61 73 6b 3b 0d 0a 20 20 48 54 52 45 45 49 54  mask;..  HTREEIT
23230 45 4d 20 68 49 74 65 6d 3b 0d 0a 20 20 55 49 4e  EM hItem;..  UIN
23240 54 20 73 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54  T state;..  UINT
23250 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 20 20 4c   stateMask;..  L
23260 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20  PSTR pszText;.. 
23270 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b   int cchTextMax;
23280 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d  ..  int iImage;.
23290 0a 20 20 69 6e 74 20 69 53 65 6c 65 63 74 65 64  .  int iSelected
232a0 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 63 43  Image;..  int cC
232b0 68 69 6c 64 72 65 6e 3b 0d 0a 20 20 4c 50 41 52  hildren;..  LPAR
232c0 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61  AM lParam;..}..a
232d0 6c 69 61 73 20 74 61 67 54 56 49 54 45 4d 41 20  lias tagTVITEMA 
232e0 54 56 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20  TVITEMA;..alias 
232f0 74 61 67 54 56 49 54 45 4d 41 2a 20 4c 50 54 56  tagTVITEMA* LPTV
23300 49 54 45 4d 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  ITEMA;....struct
23310 20 74 61 67 54 56 49 54 45 4d 57 20 7b 0d 0a 20   tagTVITEMW {.. 
23320 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 48   UINT mask;..  H
23330 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d  TREEITEM hItem;.
23340 0a 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a  .  UINT state;..
23350 20 20 55 49 4e 54 20 73 74 61 74 65 4d 61 73 6b    UINT stateMask
23360 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54  ;..  LPWSTR pszT
23370 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54  ext;..  int cchT
23380 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69  extMax;..  int i
23390 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 53  Image;..  int iS
233a0 65 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 20  electedImage;.. 
233b0 20 69 6e 74 20 63 43 68 69 6c 64 72 65 6e 3b 0d   int cChildren;.
233c0 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
233d0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54  ;..}..alias tagT
233e0 56 49 54 45 4d 57 20 54 56 49 54 45 4d 57 3b 0d  VITEMW TVITEMW;.
233f0 0a 61 6c 69 61 73 20 74 61 67 54 56 49 54 45 4d  .alias tagTVITEM
23400 57 2a 20 4c 50 54 56 49 54 45 4d 57 3b 0d 0a 0d  W* LPTVITEMW;...
23410 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
23420 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d  IE >= 0x0400)...
23430 0a 73 74 72 75 63 74 20 74 61 67 54 56 49 54 45  .struct tagTVITE
23440 4d 45 58 41 20 7b 0d 0a 20 20 55 49 4e 54 20 6d  MEXA {..  UINT m
23450 61 73 6b 3b 0d 0a 20 20 48 54 52 45 45 49 54 45  ask;..  HTREEITE
23460 4d 20 68 49 74 65 6d 3b 0d 0a 20 20 55 49 4e 54  M hItem;..  UINT
23470 20 73 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20   state;..  UINT 
23480 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 20 20 4c 50  stateMask;..  LP
23490 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20  STR pszText;..  
234a0 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d  int cchTextMax;.
234b0 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a  .  int iImage;..
234c0 20 20 69 6e 74 20 69 53 65 6c 65 63 74 65 64 49    int iSelectedI
234d0 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 63 43 68  mage;..  int cCh
234e0 69 6c 64 72 65 6e 3b 0d 0a 20 20 4c 50 41 52 41  ildren;..  LPARA
234f0 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 69 6e 74  M lParam;..  int
23500 20 69 49 6e 74 65 67 72 61 6c 3b 0d 0a 7d 0d 0a   iIntegral;..}..
23510 61 6c 69 61 73 20 74 61 67 54 56 49 54 45 4d 45  alias tagTVITEME
23520 58 41 20 54 56 49 54 45 4d 45 58 41 3b 0d 0a 61  XA TVITEMEXA;..a
23530 6c 69 61 73 20 74 61 67 54 56 49 54 45 4d 45 58  lias tagTVITEMEX
23540 41 2a 20 4c 50 54 56 49 54 45 4d 45 58 41 3b 0d  A* LPTVITEMEXA;.
23550 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54 56 49  ...struct tagTVI
23560 54 45 4d 45 58 57 20 7b 0d 0a 20 20 55 49 4e 54  TEMEXW {..  UINT
23570 20 6d 61 73 6b 3b 0d 0a 20 20 48 54 52 45 45 49   mask;..  HTREEI
23580 54 45 4d 20 68 49 74 65 6d 3b 0d 0a 20 20 55 49  TEM hItem;..  UI
23590 4e 54 20 73 74 61 74 65 3b 0d 0a 20 20 55 49 4e  NT state;..  UIN
235a0 54 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 20 20  T stateMask;..  
235b0 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d  LPWSTR pszText;.
235c0 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61  .  int cchTextMa
235d0 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65  x;..  int iImage
235e0 3b 0d 0a 20 20 69 6e 74 20 69 53 65 6c 65 63 74  ;..  int iSelect
235f0 65 64 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20  edImage;..  int 
23600 63 43 68 69 6c 64 72 65 6e 3b 0d 0a 20 20 4c 50  cChildren;..  LP
23610 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20  ARAM lParam;..  
23620 69 6e 74 20 69 49 6e 74 65 67 72 61 6c 3b 0d 0a  int iIntegral;..
23630 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 49 54  }..alias tagTVIT
23640 45 4d 45 58 57 20 54 56 49 54 45 4d 45 58 57 3b  EMEXW TVITEMEXW;
23650 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 49 54 45  ..alias tagTVITE
23660 4d 45 58 57 2a 20 4c 50 54 56 49 54 45 4d 45 58  MEXW* LPTVITEMEX
23670 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
23680 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d  UNICODE..// ....
23690 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
236a0 20 54 56 49 54 45 4d 45 58 41 20 54 56 49 54 45   TVITEMEXA TVITE
236b0 4d 45 58 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 56  MEX;..alias LPTV
236c0 49 54 45 4d 45 58 41 20 4c 50 54 56 49 54 45 4d  ITEMEXA LPTVITEM
236d0 45 58 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  EX;..// #endif /
236e0 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20  / UNICODE....// 
236f0 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
23700 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
23710 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
23720 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 54  / #else..alias T
23730 56 49 54 45 4d 41 20 54 56 49 54 45 4d 3b 0d 0a  VITEMA TVITEM;..
23740 61 6c 69 61 73 20 4c 50 54 56 49 54 45 4d 41 20  alias LPTVITEMA 
23750 4c 50 54 56 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65  LPTVITEM;..// #e
23760 6e 64 69 66 0d 0a 0d 0a 63 6f 6e 73 74 20 48 54  ndif....const HT
23770 52 45 45 49 54 45 4d 20 54 56 49 5f 52 4f 4f 54  REEITEM TVI_ROOT
23780 20 3d 20 63 61 73 74 28 48 54 52 45 45 49 54 45   = cast(HTREEITE
23790 4d 29 28 2d 30 78 31 30 30 30 30 29 3b 0d 0a 63  M)(-0x10000);..c
237a0 6f 6e 73 74 20 48 54 52 45 45 49 54 45 4d 20 54  onst HTREEITEM T
237b0 56 49 5f 46 49 52 53 54 20 3d 20 63 61 73 74 28  VI_FIRST = cast(
237c0 48 54 52 45 45 49 54 45 4d 29 28 2d 30 78 30 46  HTREEITEM)(-0x0F
237d0 46 46 46 29 3b 0d 0a 63 6f 6e 73 74 20 48 54 52  FFF);..const HTR
237e0 45 45 49 54 45 4d 20 54 56 49 5f 4c 41 53 54 20  EEITEM TVI_LAST 
237f0 3d 20 63 61 73 74 28 48 54 52 45 45 49 54 45 4d  = cast(HTREEITEM
23800 29 28 2d 30 78 30 46 46 46 45 29 3b 0d 0a 63 6f  )(-0x0FFFE);..co
23810 6e 73 74 20 48 54 52 45 45 49 54 45 4d 20 54 56  nst HTREEITEM TV
23820 49 5f 53 4f 52 54 20 3d 20 63 61 73 74 28 48 54  I_SORT = cast(HT
23830 52 45 45 49 54 45 4d 29 28 2d 30 78 30 46 46 46  REEITEM)(-0x0FFF
23840 44 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  D);....// #if (_
23850 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
23860 30 30 29 0d 0a 61 6c 69 61 73 20 4c 50 54 56 49  00)..alias LPTVI
23870 4e 53 45 52 54 53 54 52 55 43 54 41 20 4c 50 54  NSERTSTRUCTA LPT
23880 56 5f 49 4e 53 45 52 54 53 54 52 55 43 54 41 3b  V_INSERTSTRUCTA;
23890 0d 0a 61 6c 69 61 73 20 4c 50 54 56 49 4e 53 45  ..alias LPTVINSE
238a0 52 54 53 54 52 55 43 54 57 20 4c 50 54 56 5f 49  RTSTRUCTW LPTV_I
238b0 4e 53 45 52 54 53 54 52 55 43 54 57 3b 0d 0a 61  NSERTSTRUCTW;..a
238c0 6c 69 61 73 20 54 56 49 4e 53 45 52 54 53 54 52  lias TVINSERTSTR
238d0 55 43 54 41 20 54 56 5f 49 4e 53 45 52 54 53 54  UCTA TV_INSERTST
238e0 52 55 43 54 41 3b 0d 0a 61 6c 69 61 73 20 54 56  RUCTA;..alias TV
238f0 49 4e 53 45 52 54 53 54 52 55 43 54 57 20 54 56  INSERTSTRUCTW TV
23900 5f 49 4e 53 45 52 54 53 54 52 55 43 54 57 3b 0d  _INSERTSTRUCTW;.
23910 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
23920 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
23930 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
23940 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
23950 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c  .// #endif....al
23960 69 61 73 20 54 56 49 4e 53 45 52 54 53 54 52 55  ias TVINSERTSTRU
23970 43 54 20 54 56 5f 49 4e 53 45 52 54 53 54 52 55  CT TV_INSERTSTRU
23980 43 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 56 49  CT;..alias LPTVI
23990 4e 53 45 52 54 53 54 52 55 43 54 20 4c 50 54 56  NSERTSTRUCT LPTV
239a0 5f 49 4e 53 45 52 54 53 54 52 55 43 54 3b 0d 0a  _INSERTSTRUCT;..
239b0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 56 49  ..// #define TVI
239c0 4e 53 45 52 54 53 54 52 55 43 54 41 5f 56 31 5f  NSERTSTRUCTA_V1_
239d0 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54  SIZE CCSIZEOF_ST
239e0 52 55 43 54 28 54 56 49 4e 53 45 52 54 53 54 52  RUCT(TVINSERTSTR
239f0 55 43 54 41 2c 20 69 74 65 6d 29 0d 0a 2f 2f 20  UCTA, item)..// 
23a00 23 64 65 66 69 6e 65 20 54 56 49 4e 53 45 52 54  #define TVINSERT
23a10 53 54 52 55 43 54 57 5f 56 31 5f 53 49 5a 45 20  STRUCTW_V1_SIZE 
23a20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28  CCSIZEOF_STRUCT(
23a30 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 2c  TVINSERTSTRUCTW,
23a40 20 69 74 65 6d 29 0d 0a 0d 0a 73 74 72 75 63 74   item)....struct
23a50 20 74 61 67 54 56 49 4e 53 45 52 54 53 54 52 55   tagTVINSERTSTRU
23a60 43 54 41 20 7b 0d 0a 20 20 48 54 52 45 45 49 54  CTA {..  HTREEIT
23a70 45 4d 20 68 50 61 72 65 6e 74 3b 0d 0a 20 20 48  EM hParent;..  H
23a80 54 52 45 45 49 54 45 4d 20 68 49 6e 73 65 72 74  TREEITEM hInsert
23a90 41 66 74 65 72 3b 0d 0a 2f 2f 20 23 69 66 20 28  After;..// #if (
23aa0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
23ab0 34 30 30 29 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20  400)..union {.. 
23ac0 20 54 56 49 54 45 4d 45 58 41 20 69 74 65 6d 65   TVITEMEXA iteme
23ad0 78 3b 0d 0a 20 20 54 56 5f 49 54 45 4d 41 20 69  x;..  TV_ITEMA i
23ae0 74 65 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 23 65  tem;..}....// #e
23af0 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
23b00 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73  #endif..}..alias
23b10 20 74 61 67 54 56 49 4e 53 45 52 54 53 54 52 55   tagTVINSERTSTRU
23b20 43 54 41 20 54 56 49 4e 53 45 52 54 53 54 52 55  CTA TVINSERTSTRU
23b30 43 54 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54  CTA;..alias tagT
23b40 56 49 4e 53 45 52 54 53 54 52 55 43 54 41 2a 20  VINSERTSTRUCTA* 
23b50 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55 43 54  LPTVINSERTSTRUCT
23b60 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
23b70 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 20  TVINSERTSTRUCTW 
23b80 7b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d 20 68  {..  HTREEITEM h
23b90 50 61 72 65 6e 74 3b 0d 0a 20 20 48 54 52 45 45  Parent;..  HTREE
23ba0 49 54 45 4d 20 68 49 6e 73 65 72 74 41 66 74 65  ITEM hInsertAfte
23bb0 72 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  r;..// #if (_WIN
23bc0 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
23bd0 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 54 56 49  ..union {..  TVI
23be0 54 45 4d 45 58 57 20 69 74 65 6d 65 78 3b 0d 0a  TEMEXW itemex;..
23bf0 20 20 54 56 5f 49 54 45 4d 57 20 69 74 65 6d 3b    TV_ITEMW item;
23c00 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ..}....// #else.
23c10 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
23c20 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  if..}..alias tag
23c30 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 20  TVINSERTSTRUCTW 
23c40 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 3b  TVINSERTSTRUCTW;
23c50 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 49 4e 53  ..alias tagTVINS
23c60 45 52 54 53 54 52 55 43 54 57 2a 20 4c 50 54 56  ERTSTRUCTW* LPTV
23c70 49 4e 53 45 52 54 53 54 52 55 43 54 57 3b 0d 0a  INSERTSTRUCTW;..
23c80 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
23c90 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
23ca0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
23cb0 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
23cc0 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 41 20  TVINSERTSTRUCTA 
23cd0 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 3b 0d  TVINSERTSTRUCT;.
23ce0 0a 61 6c 69 61 73 20 4c 50 54 56 49 4e 53 45 52  .alias LPTVINSER
23cf0 54 53 54 52 55 43 54 41 20 4c 50 54 56 49 4e 53  TSTRUCTA LPTVINS
23d00 45 52 54 53 54 52 55 43 54 3b 0d 0a 2f 2f 20 23  ERTSTRUCT;..// #
23d10 64 65 66 69 6e 65 20 54 56 49 4e 53 45 52 54 53  define TVINSERTS
23d20 54 52 55 43 54 5f 56 31 5f 53 49 5a 45 20 54 56  TRUCT_V1_SIZE TV
23d30 49 4e 53 45 52 54 53 54 52 55 43 54 41 5f 56 31  INSERTSTRUCTA_V1
23d40 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6e 64 69 66  _SIZE..// #endif
23d50 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
23d60 7b 20 54 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d  { TVM_INSERTITEM
23d70 41 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 30  A = TV_FIRST + 0
23d80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
23d90 7b 20 54 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d  { TVM_INSERTITEM
23da0 57 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 35  W = TV_FIRST + 5
23db0 30 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  0 }..// #ifdef U
23dc0 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
23dd0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
23de0 20 54 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d 41   TVM_INSERTITEMA
23df0 20 54 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d 3b   TVM_INSERTITEM;
23e00 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
23e10 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
23e20 65 77 5f 49 6e 73 65 72 74 49 74 65 6d 28 68 77  ew_InsertItem(hw
23e30 6e 64 2c 20 6c 70 69 73 29 20 28 48 54 52 45 45  nd, lpis) (HTREE
23e40 49 54 45 4d 29 53 4e 44 4d 53 47 28 28 68 77 6e  ITEM)SNDMSG((hwn
23e50 64 29 2c 20 54 56 4d 5f 49 4e 53 45 52 54 49 54  d), TVM_INSERTIT
23e60 45 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  EM, 0, (LPARAM)(
23e70 4c 50 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43  LPTV_INSERTSTRUC
23e80 54 29 28 6c 70 69 73 29 29 0d 0a 0d 0a 65 6e 75  T)(lpis))....enu
23e90 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 44  m : uint { TVM_D
23ea0 45 4c 45 54 45 49 54 45 4d 20 3d 20 54 56 5f 46  ELETEITEM = TV_F
23eb0 49 52 53 54 20 2b 20 31 20 7d 0d 0a 2f 2f 20 23  IRST + 1 }..// #
23ec0 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
23ed0 44 65 6c 65 74 65 49 74 65 6d 28 68 77 6e 64 2c  DeleteItem(hwnd,
23ee0 20 68 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e   hitem) (BOOL)SN
23ef0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
23f00 5f 44 45 4c 45 54 45 49 54 45 4d 2c 20 30 2c 20  _DELETEITEM, 0, 
23f10 28 4c 50 41 52 41 4d 29 28 48 54 52 45 45 49 54  (LPARAM)(HTREEIT
23f20 45 4d 29 28 68 69 74 65 6d 29 29 0d 0a 0d 0a 2f  EM)(hitem))..../
23f30 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
23f40 65 77 5f 44 65 6c 65 74 65 41 6c 6c 49 74 65 6d  ew_DeleteAllItem
23f50 73 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 4e  s(hwnd) (BOOL)SN
23f60 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
23f70 5f 44 45 4c 45 54 45 49 54 45 4d 2c 20 30 2c 20  _DELETEITEM, 0, 
23f80 28 4c 50 41 52 41 4d 29 54 56 49 5f 52 4f 4f 54  (LPARAM)TVI_ROOT
23f90 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
23fa0 20 7b 20 54 56 4d 5f 45 58 50 41 4e 44 20 3d 20   { TVM_EXPAND = 
23fb0 54 56 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a  TV_FIRST + 2 }..
23fc0 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56  // #define TreeV
23fd0 69 65 77 5f 45 78 70 61 6e 64 28 68 77 6e 64 2c  iew_Expand(hwnd,
23fe0 20 68 69 74 65 6d 2c 20 63 6f 64 65 29 20 28 42   hitem, code) (B
23ff0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
24000 29 2c 20 54 56 4d 5f 45 58 50 41 4e 44 2c 20 28  ), TVM_EXPAND, (
24010 57 50 41 52 41 4d 29 28 63 6f 64 65 29 2c 20 28  WPARAM)(code), (
24020 4c 50 41 52 41 4d 29 28 48 54 52 45 45 49 54 45  LPARAM)(HTREEITE
24030 4d 29 28 68 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e  M)(hitem))....en
24040 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 45 5f  um : uint { TVE_
24050 43 4f 4c 4c 41 50 53 45 20 3d 20 30 78 30 30 30  COLLAPSE = 0x000
24060 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
24070 20 7b 20 54 56 45 5f 45 58 50 41 4e 44 20 3d 20   { TVE_EXPAND = 
24080 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
24090 20 75 69 6e 74 20 7b 20 54 56 45 5f 54 4f 47 47   uint { TVE_TOGG
240a0 4c 45 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 2f  LE = 0x0003 }../
240b0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
240c0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
240d0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 45 5f 45  m : uint { TVE_E
240e0 58 50 41 4e 44 50 41 52 54 49 41 4c 20 3d 20 30  XPANDPARTIAL = 0
240f0 78 34 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x4000 }..// #end
24100 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  if..enum : uint 
24110 7b 20 54 56 45 5f 43 4f 4c 4c 41 50 53 45 52 45  { TVE_COLLAPSERE
24120 53 45 54 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a  SET = 0x8000 }..
24130 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
24140 54 56 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 20  TVM_GETITEMRECT 
24150 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 34 20 7d  = TV_FIRST + 4 }
24160 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
24170 65 56 69 65 77 5f 47 65 74 49 74 65 6d 52 65 63  eView_GetItemRec
24180 74 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 70  t(hwnd, hitem, p
24190 72 63 2c 20 63 6f 64 65 29 20 28 2a 28 48 54 52  rc, code) (*(HTR
241a0 45 45 49 54 45 4d 20 2a 29 70 72 63 20 3d 20 28  EEITEM *)prc = (
241b0 68 69 74 65 6d 29 2c 20 28 42 4f 4f 4c 29 53 4e  hitem), (BOOL)SN
241c0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
241d0 5f 47 45 54 49 54 45 4d 52 45 43 54 2c 20 28 57  _GETITEMRECT, (W
241e0 50 41 52 41 4d 29 28 63 6f 64 65 29 2c 20 28 4c  PARAM)(code), (L
241f0 50 41 52 41 4d 29 28 52 45 43 54 20 2a 29 28 70  PARAM)(RECT *)(p
24200 72 63 29 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  rc)))....enum : 
24210 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 43 4f  uint { TVM_GETCO
24220 55 4e 54 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  UNT = TV_FIRST +
24230 20 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   5 }..// #define
24240 20 54 72 65 65 56 69 65 77 5f 47 65 74 43 6f 75   TreeView_GetCou
24250 6e 74 28 68 77 6e 64 29 20 28 55 49 4e 54 29 53  nt(hwnd) (UINT)S
24260 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56  NDMSG((hwnd), TV
24270 4d 5f 47 45 54 43 4f 55 4e 54 2c 20 30 2c 20 30  M_GETCOUNT, 0, 0
24280 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
24290 20 7b 20 54 56 4d 5f 47 45 54 49 4e 44 45 4e 54   { TVM_GETINDENT
242a0 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 36 20   = TV_FIRST + 6 
242b0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  }..// #define Tr
242c0 65 65 56 69 65 77 5f 47 65 74 49 6e 64 65 6e 74  eeView_GetIndent
242d0 28 68 77 6e 64 29 20 28 55 49 4e 54 29 53 4e 44  (hwnd) (UINT)SND
242e0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f  MSG((hwnd), TVM_
242f0 47 45 54 49 4e 44 45 4e 54 2c 20 30 2c 20 30 29  GETINDENT, 0, 0)
24300 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
24310 7b 20 54 56 4d 5f 53 45 54 49 4e 44 45 4e 54 20  { TVM_SETINDENT 
24320 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 37 20 7d  = TV_FIRST + 7 }
24330 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
24340 65 56 69 65 77 5f 53 65 74 49 6e 64 65 6e 74 28  eView_SetIndent(
24350 68 77 6e 64 2c 20 69 6e 64 65 6e 74 29 20 28 42  hwnd, indent) (B
24360 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
24370 29 2c 20 54 56 4d 5f 53 45 54 49 4e 44 45 4e 54  ), TVM_SETINDENT
24380 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 64 65 6e  , (WPARAM)(inden
24390 74 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  t), 0)....enum :
243a0 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 49   uint { TVM_GETI
243b0 4d 41 47 45 4c 49 53 54 20 3d 20 54 56 5f 46 49  MAGELIST = TV_FI
243c0 52 53 54 20 2b 20 38 20 7d 0d 0a 2f 2f 20 23 64  RST + 8 }..// #d
243d0 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47  efine TreeView_G
243e0 65 74 49 6d 61 67 65 4c 69 73 74 28 68 77 6e 64  etImageList(hwnd
243f0 2c 20 69 49 6d 61 67 65 29 20 28 48 49 4d 41 47  , iImage) (HIMAG
24400 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 68 77  ELIST)SNDMSG((hw
24410 6e 64 29 2c 20 54 56 4d 5f 47 45 54 49 4d 41 47  nd), TVM_GETIMAG
24420 45 4c 49 53 54 2c 20 69 49 6d 61 67 65 2c 20 30  ELIST, iImage, 0
24430 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
24440 20 7b 20 54 56 53 49 4c 5f 4e 4f 52 4d 41 4c 20   { TVSIL_NORMAL 
24450 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
24460 6e 74 20 7b 20 54 56 53 49 4c 5f 53 54 41 54 45  nt { TVSIL_STATE
24470 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 2 }....enum :
24480 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 49   uint { TVM_SETI
24490 4d 41 47 45 4c 49 53 54 20 3d 20 54 56 5f 46 49  MAGELIST = TV_FI
244a0 52 53 54 20 2b 20 39 20 7d 0d 0a 2f 2f 20 23 64  RST + 9 }..// #d
244b0 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53  efine TreeView_S
244c0 65 74 49 6d 61 67 65 4c 69 73 74 28 68 77 6e 64  etImageList(hwnd
244d0 2c 20 68 69 6d 6c 2c 20 69 49 6d 61 67 65 29 20  , himl, iImage) 
244e0 28 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d  (HIMAGELIST)SNDM
244f0 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53  SG((hwnd), TVM_S
24500 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 69 49 6d  ETIMAGELIST, iIm
24510 61 67 65 2c 20 28 4c 50 41 52 41 4d 29 28 48 49  age, (LPARAM)(HI
24520 4d 41 47 45 4c 49 53 54 29 28 68 69 6d 6c 29 29  MAGELIST)(himl))
24530 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
24540 7b 20 54 56 4d 5f 47 45 54 4e 45 58 54 49 54 45  { TVM_GETNEXTITE
24550 4d 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31  M = TV_FIRST + 1
24560 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  0 }..// #define 
24570 54 72 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74  TreeView_GetNext
24580 49 74 65 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d  Item(hwnd, hitem
24590 2c 20 63 6f 64 65 29 20 28 48 54 52 45 45 49 54  , code) (HTREEIT
245a0 45 4d 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  EM)SNDMSG((hwnd)
245b0 2c 20 54 56 4d 5f 47 45 54 4e 45 58 54 49 54 45  , TVM_GETNEXTITE
245c0 4d 2c 20 28 57 50 41 52 41 4d 29 28 63 6f 64 65  M, (WPARAM)(code
245d0 29 2c 20 28 4c 50 41 52 41 4d 29 28 48 54 52 45  ), (LPARAM)(HTRE
245e0 45 49 54 45 4d 29 28 68 69 74 65 6d 29 29 0d 0a  EITEM)(hitem))..
245f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
24600 54 56 47 4e 5f 52 4f 4f 54 20 3d 20 30 78 30 30  TVGN_ROOT = 0x00
24610 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
24620 74 20 7b 20 54 56 47 4e 5f 4e 45 58 54 20 3d 20  t { TVGN_NEXT = 
24630 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
24640 20 75 69 6e 74 20 7b 20 54 56 47 4e 5f 50 52 45   uint { TVGN_PRE
24650 56 49 4f 55 53 20 3d 20 30 78 30 30 30 32 20 7d  VIOUS = 0x0002 }
24660 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
24670 54 56 47 4e 5f 50 41 52 45 4e 54 20 3d 20 30 78  TVGN_PARENT = 0x
24680 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0003 }..enum : u
24690 69 6e 74 20 7b 20 54 56 47 4e 5f 43 48 49 4c 44  int { TVGN_CHILD
246a0 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
246b0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 47 4e 5f  m : uint { TVGN_
246c0 46 49 52 53 54 56 49 53 49 42 4c 45 20 3d 20 30  FIRSTVISIBLE = 0
246d0 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0005 }..enum : 
246e0 75 69 6e 74 20 7b 20 54 56 47 4e 5f 4e 45 58 54  uint { TVGN_NEXT
246f0 56 49 53 49 42 4c 45 20 3d 20 30 78 30 30 30 36  VISIBLE = 0x0006
24700 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
24710 7b 20 54 56 47 4e 5f 50 52 45 56 49 4f 55 53 56  { TVGN_PREVIOUSV
24720 49 53 49 42 4c 45 20 3d 20 30 78 30 30 30 37 20  ISIBLE = 0x0007 
24730 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24740 20 54 56 47 4e 5f 44 52 4f 50 48 49 4c 49 54 45   TVGN_DROPHILITE
24750 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75   = 0x0008 }..enu
24760 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 47 4e 5f  m : uint { TVGN_
24770 43 41 52 45 54 20 3d 20 30 78 30 30 30 39 20 7d  CARET = 0x0009 }
24780 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
24790 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
247a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
247b0 47 4e 5f 4c 41 53 54 56 49 53 49 42 4c 45 20 3d  GN_LASTVISIBLE =
247c0 20 30 78 30 30 30 41 20 7d 0d 0a 2f 2f 20 23 65   0x000A }..// #e
247d0 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
247e0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
247f0 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
24800 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
24810 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  1)..enum : uint 
24820 7b 20 54 56 53 49 5f 4e 4f 53 49 4e 47 4c 45 45  { TVSI_NOSINGLEE
24830 58 50 41 4e 44 20 3d 20 30 78 38 30 30 30 20 7d  XPAND = 0x8000 }
24840 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
24850 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
24860 65 77 5f 47 65 74 43 68 69 6c 64 28 68 77 6e 64  ew_GetChild(hwnd
24870 2c 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65  , hitem) TreeVie
24880 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77  w_GetNextItem(hw
24890 6e 64 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f  nd, hitem, TVGN_
248a0 43 48 49 4c 44 29 0d 0a 2f 2f 20 23 64 65 66 69  CHILD)..// #defi
248b0 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e  ne TreeView_GetN
248c0 65 78 74 53 69 62 6c 69 6e 67 28 68 77 6e 64 2c  extSibling(hwnd,
248d0 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65 77   hitem) TreeView
248e0 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e  _GetNextItem(hwn
248f0 64 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f 4e  d, hitem, TVGN_N
24900 45 58 54 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  EXT)..// #define
24910 20 54 72 65 65 56 69 65 77 5f 47 65 74 50 72 65   TreeView_GetPre
24920 76 53 69 62 6c 69 6e 67 28 68 77 6e 64 2c 20 68  vSibling(hwnd, h
24930 69 74 65 6d 29 20 54 72 65 65 56 69 65 77 5f 47  item) TreeView_G
24940 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e 64 2c  etNextItem(hwnd,
24950 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f 50 52 45   hitem, TVGN_PRE
24960 56 49 4f 55 53 29 0d 0a 2f 2f 20 23 64 65 66 69  VIOUS)..// #defi
24970 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 50  ne TreeView_GetP
24980 61 72 65 6e 74 28 68 77 6e 64 2c 20 68 69 74 65  arent(hwnd, hite
24990 6d 29 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e  m) TreeView_GetN
249a0 65 78 74 49 74 65 6d 28 68 77 6e 64 2c 20 68 69  extItem(hwnd, hi
249b0 74 65 6d 2c 20 54 56 47 4e 5f 50 41 52 45 4e 54  tem, TVGN_PARENT
249c0 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  )..// #define Tr
249d0 65 65 56 69 65 77 5f 47 65 74 46 69 72 73 74 56  eeView_GetFirstV
249e0 69 73 69 62 6c 65 28 68 77 6e 64 29 20 54 72 65  isible(hwnd) Tre
249f0 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65  eView_GetNextIte
24a00 6d 28 68 77 6e 64 2c 20 4e 55 4c 4c 2c 20 54 56  m(hwnd, NULL, TV
24a10 47 4e 5f 46 49 52 53 54 56 49 53 49 42 4c 45 29  GN_FIRSTVISIBLE)
24a20 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
24a30 65 56 69 65 77 5f 47 65 74 4e 65 78 74 56 69 73  eView_GetNextVis
24a40 69 62 6c 65 28 68 77 6e 64 2c 20 68 69 74 65 6d  ible(hwnd, hitem
24a50 29 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e 65  ) TreeView_GetNe
24a60 78 74 49 74 65 6d 28 68 77 6e 64 2c 20 68 69 74  xtItem(hwnd, hit
24a70 65 6d 2c 20 54 56 47 4e 5f 4e 45 58 54 56 49 53  em, TVGN_NEXTVIS
24a80 49 42 4c 45 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  IBLE)..// #defin
24a90 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 50 72  e TreeView_GetPr
24aa0 65 76 56 69 73 69 62 6c 65 28 68 77 6e 64 2c 20  evVisible(hwnd, 
24ab0 68 69 74 65 6d 29 20 54 72 65 65 56 69 65 77 5f  hitem) TreeView_
24ac0 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e 64  GetNextItem(hwnd
24ad0 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f 50 52  , hitem, TVGN_PR
24ae0 45 56 49 4f 55 53 56 49 53 49 42 4c 45 29 0d 0a  EVIOUSVISIBLE)..
24af0 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56  // #define TreeV
24b00 69 65 77 5f 47 65 74 53 65 6c 65 63 74 69 6f 6e  iew_GetSelection
24b10 28 68 77 6e 64 29 20 54 72 65 65 56 69 65 77 5f  (hwnd) TreeView_
24b20 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e 64  GetNextItem(hwnd
24b30 2c 20 4e 55 4c 4c 2c 20 54 56 47 4e 5f 43 41 52  , NULL, TVGN_CAR
24b40 45 54 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ET)..// #define 
24b50 54 72 65 65 56 69 65 77 5f 47 65 74 44 72 6f 70  TreeView_GetDrop
24b60 48 69 6c 69 67 68 74 28 68 77 6e 64 29 20 54 72  Hilight(hwnd) Tr
24b70 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74  eeView_GetNextIt
24b80 65 6d 28 68 77 6e 64 2c 20 4e 55 4c 4c 2c 20 54  em(hwnd, NULL, T
24b90 56 47 4e 5f 44 52 4f 50 48 49 4c 49 54 45 29 0d  VGN_DROPHILITE).
24ba0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65  .// #define Tree
24bb0 56 69 65 77 5f 47 65 74 52 6f 6f 74 28 68 77 6e  View_GetRoot(hwn
24bc0 64 29 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e  d) TreeView_GetN
24bd0 65 78 74 49 74 65 6d 28 68 77 6e 64 2c 20 4e 55  extItem(hwnd, NU
24be0 4c 4c 2c 20 54 56 47 4e 5f 52 4f 4f 54 29 0d 0a  LL, TVGN_ROOT)..
24bf0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
24c00 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f  E >= 0x0400)..//
24c10 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
24c20 77 5f 47 65 74 4c 61 73 74 56 69 73 69 62 6c 65  w_GetLastVisible
24c30 28 68 77 6e 64 29 20 54 72 65 65 56 69 65 77 5f  (hwnd) TreeView_
24c40 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e 64  GetNextItem(hwnd
24c50 2c 20 4e 55 4c 4c 2c 20 54 56 47 4e 5f 4c 41 53  , NULL, TVGN_LAS
24c60 54 56 49 53 49 42 4c 45 29 0d 0a 2f 2f 20 23 65  TVISIBLE)..// #e
24c70 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
24c80 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
24c90 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
24ca0 7b 20 54 56 4d 5f 53 45 4c 45 43 54 49 54 45 4d  { TVM_SELECTITEM
24cb0 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31 31   = TV_FIRST + 11
24cc0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54   }..// #define T
24cd0 72 65 65 56 69 65 77 5f 53 65 6c 65 63 74 28 68  reeView_Select(h
24ce0 77 6e 64 2c 20 68 69 74 65 6d 2c 20 63 6f 64 65  wnd, hitem, code
24cf0 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
24d00 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45 4c 45 43  hwnd), TVM_SELEC
24d10 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28  TITEM, (WPARAM)(
24d20 63 6f 64 65 29 2c 20 28 4c 50 41 52 41 4d 29 28  code), (LPARAM)(
24d30 48 54 52 45 45 49 54 45 4d 29 28 68 69 74 65 6d  HTREEITEM)(hitem
24d40 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  ))....// #define
24d50 20 54 72 65 65 56 69 65 77 5f 53 65 6c 65 63 74   TreeView_Select
24d60 49 74 65 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d  Item(hwnd, hitem
24d70 29 20 54 72 65 65 56 69 65 77 5f 53 65 6c 65 63  ) TreeView_Selec
24d80 74 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 54  t(hwnd, hitem, T
24d90 56 47 4e 5f 43 41 52 45 54 29 0d 0a 2f 2f 20 23  VGN_CARET)..// #
24da0 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
24db0 53 65 6c 65 63 74 44 72 6f 70 54 61 72 67 65 74  SelectDropTarget
24dc0 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 72  (hwnd, hitem) Tr
24dd0 65 65 56 69 65 77 5f 53 65 6c 65 63 74 28 68 77  eeView_Select(hw
24de0 6e 64 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f  nd, hitem, TVGN_
24df0 44 52 4f 50 48 49 4c 49 54 45 29 0d 0a 2f 2f 20  DROPHILITE)..// 
24e00 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
24e10 5f 53 65 6c 65 63 74 53 65 74 46 69 72 73 74 56  _SelectSetFirstV
24e20 69 73 69 62 6c 65 28 68 77 6e 64 2c 20 68 69 74  isible(hwnd, hit
24e30 65 6d 29 20 54 72 65 65 56 69 65 77 5f 53 65 6c  em) TreeView_Sel
24e40 65 63 74 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c  ect(hwnd, hitem,
24e50 20 54 56 47 4e 5f 46 49 52 53 54 56 49 53 49 42   TVGN_FIRSTVISIB
24e60 4c 45 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  LE)....enum : ui
24e70 6e 74 20 7b 20 54 56 4d 5f 47 45 54 49 54 45 4d  nt { TVM_GETITEM
24e80 41 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31  A = TV_FIRST + 1
24e90 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
24ea0 20 7b 20 54 56 4d 5f 47 45 54 49 54 45 4d 57 20   { TVM_GETITEMW 
24eb0 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 36 32 20  = TV_FIRST + 62 
24ec0 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  }....// #ifdef U
24ed0 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
24ee0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
24ef0 20 54 56 4d 5f 47 45 54 49 54 45 4d 41 20 54 56   TVM_GETITEMA TV
24f00 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23  M_GETITEM;..// #
24f10 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66  endif....// #def
24f20 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74  ine TreeView_Get
24f30 49 74 65 6d 28 68 77 6e 64 2c 20 70 69 74 65 6d  Item(hwnd, pitem
24f40 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
24f50 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 49 54  hwnd), TVM_GETIT
24f60 45 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  EM, 0, (LPARAM)(
24f70 54 56 5f 49 54 45 4d 20 2a 29 28 70 69 74 65 6d  TV_ITEM *)(pitem
24f80 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
24f90 74 20 7b 20 54 56 4d 5f 53 45 54 49 54 45 4d 41  t { TVM_SETITEMA
24fa0 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31 33   = TV_FIRST + 13
24fb0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
24fc0 7b 20 54 56 4d 5f 53 45 54 49 54 45 4d 57 20 3d  { TVM_SETITEMW =
24fd0 20 54 56 5f 46 49 52 53 54 20 2b 20 36 33 20 7d   TV_FIRST + 63 }
24fe0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
24ff0 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
25000 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
25010 54 56 4d 5f 53 45 54 49 54 45 4d 41 20 54 56 4d  TVM_SETITEMA TVM
25020 5f 53 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65  _SETITEM;..// #e
25030 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  ndif....// #defi
25040 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74 49  ne TreeView_SetI
25050 74 65 6d 28 68 77 6e 64 2c 20 70 69 74 65 6d 29  tem(hwnd, pitem)
25060 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
25070 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54 49 54 45  wnd), TVM_SETITE
25080 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 63  M, 0, (LPARAM)(c
25090 6f 6e 73 74 20 54 56 5f 49 54 45 4d 20 2a 29 28  onst TV_ITEM *)(
250a0 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20  pitem))....enum 
250b0 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 45 44 49  : uint { TVM_EDI
250c0 54 4c 41 42 45 4c 41 20 3d 20 54 56 5f 46 49 52  TLABELA = TV_FIR
250d0 53 54 20 2b 20 31 34 20 7d 0d 0a 65 6e 75 6d 20  ST + 14 }..enum 
250e0 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 45 44 49  : uint { TVM_EDI
250f0 54 4c 41 42 45 4c 57 20 3d 20 54 56 5f 46 49 52  TLABELW = TV_FIR
25100 53 54 20 2b 20 36 35 20 7d 0d 0a 2f 2f 20 23 69  ST + 65 }..// #i
25110 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
25120 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
25130 0a 61 6c 69 61 73 20 54 56 4d 5f 45 44 49 54 4c  .alias TVM_EDITL
25140 41 42 45 4c 41 20 54 56 4d 5f 45 44 49 54 4c 41  ABELA TVM_EDITLA
25150 42 45 4c 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  BEL;..// #endif.
25160 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  ...// #define Tr
25170 65 65 56 69 65 77 5f 45 64 69 74 4c 61 62 65 6c  eeView_EditLabel
25180 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 28 48  (hwnd, hitem) (H
25190 57 4e 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  WND)SNDMSG((hwnd
251a0 29 2c 20 54 56 4d 5f 45 44 49 54 4c 41 42 45 4c  ), TVM_EDITLABEL
251b0 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 48 54  , 0, (LPARAM)(HT
251c0 52 45 45 49 54 45 4d 29 28 68 69 74 65 6d 29 29  REEITEM)(hitem))
251d0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
251e0 7b 20 54 56 4d 5f 47 45 54 45 44 49 54 43 4f 4e  { TVM_GETEDITCON
251f0 54 52 4f 4c 20 3d 20 54 56 5f 46 49 52 53 54 20  TROL = TV_FIRST 
25200 2b 20 31 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 15 }..// #defi
25210 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 45  ne TreeView_GetE
25220 64 69 74 43 6f 6e 74 72 6f 6c 28 68 77 6e 64 29  ditControl(hwnd)
25230 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 28 68   (HWND)SNDMSG((h
25240 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 45 44 49  wnd), TVM_GETEDI
25250 54 43 4f 4e 54 52 4f 4c 2c 20 30 2c 20 30 29 0d  TCONTROL, 0, 0).
25260 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
25270 20 54 56 4d 5f 47 45 54 56 49 53 49 42 4c 45 43   TVM_GETVISIBLEC
25280 4f 55 4e 54 20 3d 20 54 56 5f 46 49 52 53 54 20  OUNT = TV_FIRST 
25290 2b 20 31 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 16 }..// #defi
252a0 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 56  ne TreeView_GetV
252b0 69 73 69 62 6c 65 43 6f 75 6e 74 28 68 77 6e 64  isibleCount(hwnd
252c0 29 20 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28  ) (UINT)SNDMSG((
252d0 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 56 49  hwnd), TVM_GETVI
252e0 53 49 42 4c 45 43 4f 55 4e 54 2c 20 30 2c 20 30  SIBLECOUNT, 0, 0
252f0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
25300 20 7b 20 54 56 4d 5f 48 49 54 54 45 53 54 20 3d   { TVM_HITTEST =
25310 20 54 56 5f 46 49 52 53 54 20 2b 20 31 37 20 7d   TV_FIRST + 17 }
25320 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
25330 65 56 69 65 77 5f 48 69 74 54 65 73 74 28 68 77  eView_HitTest(hw
25340 6e 64 2c 20 6c 70 68 74 29 20 28 48 54 52 45 45  nd, lpht) (HTREE
25350 49 54 45 4d 29 53 4e 44 4d 53 47 28 28 68 77 6e  ITEM)SNDMSG((hwn
25360 64 29 2c 20 54 56 4d 5f 48 49 54 54 45 53 54 2c  d), TVM_HITTEST,
25370 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50 54   0, (LPARAM)(LPT
25380 56 5f 48 49 54 54 45 53 54 49 4e 46 4f 29 28 6c  V_HITTESTINFO)(l
25390 70 68 74 29 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20  pht))....// #if 
253a0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
253b0 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 50 54  0300)..alias LPT
253c0 56 48 49 54 54 45 53 54 49 4e 46 4f 20 4c 50 54  VHITTESTINFO LPT
253d0 56 5f 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a  V_HITTESTINFO;..
253e0 61 6c 69 61 73 20 54 56 48 49 54 54 45 53 54 49  alias TVHITTESTI
253f0 4e 46 4f 20 54 56 5f 48 49 54 54 45 53 54 49 4e  NFO TV_HITTESTIN
25400 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  FO;..// #else../
25410 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
25420 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
25430 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  dif....struct ta
25440 67 54 56 48 49 54 54 45 53 54 49 4e 46 4f 20 7b  gTVHITTESTINFO {
25450 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20  ..  POINT pt;.. 
25460 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a 20 20   UINT flags;..  
25470 48 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b  HTREEITEM hItem;
25480 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56  ..}..alias tagTV
25490 48 49 54 54 45 53 54 49 4e 46 4f 20 54 56 48 49  HITTESTINFO TVHI
254a0 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61  TTESTINFO;..alia
254b0 73 20 74 61 67 54 56 48 49 54 54 45 53 54 49 4e  s tagTVHITTESTIN
254c0 46 4f 2a 20 4c 50 54 56 48 49 54 54 45 53 54 49  FO* LPTVHITTESTI
254d0 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  NFO;....enum : u
254e0 69 6e 74 20 7b 20 54 56 48 54 5f 4e 4f 57 48 45  int { TVHT_NOWHE
254f0 52 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  RE = 0x0001 }..e
25500 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48  num : uint { TVH
25510 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e 20 3d 20 30  T_ONITEMICON = 0
25520 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
25530 75 69 6e 74 20 7b 20 54 56 48 54 5f 4f 4e 49 54  uint { TVHT_ONIT
25540 45 4d 4c 41 42 45 4c 20 3d 20 30 78 30 30 30 34  EMLABEL = 0x0004
25550 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
25560 7b 20 54 56 48 54 5f 4f 4e 49 54 45 4d 20 3d 20  { TVHT_ONITEM = 
25570 54 56 48 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e 20  TVHT_ONITEMICON 
25580 7c 20 54 56 48 54 5f 4f 4e 49 54 45 4d 4c 41 42  | TVHT_ONITEMLAB
25590 45 4c 20 7c 20 54 56 48 54 5f 4f 4e 49 54 45 4d  EL | TVHT_ONITEM
255a0 53 54 41 54 45 49 43 4f 4e 20 7d 0d 0a 65 6e 75  STATEICON }..enu
255b0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48 54 5f  m : uint { TVHT_
255c0 4f 4e 49 54 45 4d 49 4e 44 45 4e 54 20 3d 20 30  ONITEMINDENT = 0
255d0 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
255e0 75 69 6e 74 20 7b 20 54 56 48 54 5f 4f 4e 49 54  uint { TVHT_ONIT
255f0 45 4d 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 31  EMBUTTON = 0x001
25600 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
25610 20 7b 20 54 56 48 54 5f 4f 4e 49 54 45 4d 52 49   { TVHT_ONITEMRI
25620 47 48 54 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a  GHT = 0x0020 }..
25630 2f 2f 20 23 64 65 66 69 6e 65 20 54 56 48 54 5f  // #define TVHT_
25640 4f 4e 49 54 45 4d 53 54 41 54 45 49 43 4f 4e 20  ONITEMSTATEICON 
25650 30 78 30 30 34 30 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x0040....enum :
25660 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 41 42 4f   uint { TVHT_ABO
25670 56 45 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65  VE = 0x0100 }..e
25680 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48  num : uint { TVH
25690 54 5f 42 45 4c 4f 57 20 3d 20 30 78 30 32 30 30  T_BELOW = 0x0200
256a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
256b0 7b 20 54 56 48 54 5f 54 4f 52 49 47 48 54 20 3d  { TVHT_TORIGHT =
256c0 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0400 }..enum 
256d0 3a 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 54 4f  : uint { TVHT_TO
256e0 4c 45 46 54 20 3d 20 30 78 30 38 30 30 20 7d 0d  LEFT = 0x0800 }.
256f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
25700 20 54 56 4d 5f 43 52 45 41 54 45 44 52 41 47 49   TVM_CREATEDRAGI
25710 4d 41 47 45 20 3d 20 54 56 5f 46 49 52 53 54 20  MAGE = TV_FIRST 
25720 2b 20 31 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 18 }..// #defi
25730 6e 65 20 54 72 65 65 56 69 65 77 5f 43 72 65 61  ne TreeView_Crea
25740 74 65 44 72 61 67 49 6d 61 67 65 28 68 77 6e 64  teDragImage(hwnd
25750 2c 20 68 69 74 65 6d 29 20 28 48 49 4d 41 47 45  , hitem) (HIMAGE
25760 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 68 77 6e  LIST)SNDMSG((hwn
25770 64 29 2c 20 54 56 4d 5f 43 52 45 41 54 45 44 52  d), TVM_CREATEDR
25780 41 47 49 4d 41 47 45 2c 20 30 2c 20 28 4c 50 41  AGIMAGE, 0, (LPA
25790 52 41 4d 29 28 48 54 52 45 45 49 54 45 4d 29 28  RAM)(HTREEITEM)(
257a0 68 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20  hitem))....enum 
257b0 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 4f 52  : uint { TVM_SOR
257c0 54 43 48 49 4c 44 52 45 4e 20 3d 20 54 56 5f 46  TCHILDREN = TV_F
257d0 49 52 53 54 20 2b 20 31 39 20 7d 0d 0a 2f 2f 20  IRST + 19 }..// 
257e0 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
257f0 5f 53 6f 72 74 43 68 69 6c 64 72 65 6e 28 68 77  _SortChildren(hw
25800 6e 64 2c 20 68 69 74 65 6d 2c 20 72 65 63 75 72  nd, hitem, recur
25810 73 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  se) (BOOL)SNDMSG
25820 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 4f 52  ((hwnd), TVM_SOR
25830 54 43 48 49 4c 44 52 45 4e 2c 20 28 57 50 41 52  TCHILDREN, (WPAR
25840 41 4d 29 28 72 65 63 75 72 73 65 29 2c 20 28 4c  AM)(recurse), (L
25850 50 41 52 41 4d 29 28 48 54 52 45 45 49 54 45 4d  PARAM)(HTREEITEM
25860 29 28 68 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75  )(hitem))....enu
25870 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 45  m : uint { TVM_E
25880 4e 53 55 52 45 56 49 53 49 42 4c 45 20 3d 20 54  NSUREVISIBLE = T
25890 56 5f 46 49 52 53 54 20 2b 20 32 30 20 7d 0d 0a  V_FIRST + 20 }..
258a0 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56  // #define TreeV
258b0 69 65 77 5f 45 6e 73 75 72 65 56 69 73 69 62 6c  iew_EnsureVisibl
258c0 65 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 28  e(hwnd, hitem) (
258d0 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
258e0 64 29 2c 20 54 56 4d 5f 45 4e 53 55 52 45 56 49  d), TVM_ENSUREVI
258f0 53 49 42 4c 45 2c 20 30 2c 20 28 4c 50 41 52 41  SIBLE, 0, (LPARA
25900 4d 29 28 48 54 52 45 45 49 54 45 4d 29 28 68 69  M)(HTREEITEM)(hi
25910 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  tem))....enum : 
25920 75 69 6e 74 20 7b 20 54 56 4d 5f 53 4f 52 54 43  uint { TVM_SORTC
25930 48 49 4c 44 52 45 4e 43 42 20 3d 20 54 56 5f 46  HILDRENCB = TV_F
25940 49 52 53 54 20 2b 20 32 31 20 7d 0d 0a 2f 2f 20  IRST + 21 }..// 
25950 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
25960 5f 53 6f 72 74 43 68 69 6c 64 72 65 6e 43 42 28  _SortChildrenCB(
25970 68 77 6e 64 2c 20 70 73 6f 72 74 2c 20 72 65 63  hwnd, psort, rec
25980 75 72 73 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  urse) (BOOL)SNDM
25990 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53  SG((hwnd), TVM_S
259a0 4f 52 54 43 48 49 4c 44 52 45 4e 43 42 2c 20 28  ORTCHILDRENCB, (
259b0 57 50 41 52 41 4d 29 28 72 65 63 75 72 73 65 29  WPARAM)(recurse)
259c0 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50 54 56 5f  , (LPARAM)(LPTV_
259d0 53 4f 52 54 43 42 29 28 70 73 6f 72 74 29 29 0d  SORTCB)(psort)).
259e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
259f0 20 54 56 4d 5f 45 4e 44 45 44 49 54 4c 41 42 45   TVM_ENDEDITLABE
25a00 4c 4e 4f 57 20 3d 20 54 56 5f 46 49 52 53 54 20  LNOW = TV_FIRST 
25a10 2b 20 32 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 22 }..// #defi
25a20 6e 65 20 54 72 65 65 56 69 65 77 5f 45 6e 64 45  ne TreeView_EndE
25a30 64 69 74 4c 61 62 65 6c 4e 6f 77 28 68 77 6e 64  ditLabelNow(hwnd
25a40 2c 20 66 43 61 6e 63 65 6c 29 20 28 42 4f 4f 4c  , fCancel) (BOOL
25a50 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
25a60 54 56 4d 5f 45 4e 44 45 44 49 54 4c 41 42 45 4c  TVM_ENDEDITLABEL
25a70 4e 4f 57 2c 20 28 57 50 41 52 41 4d 29 28 66 43  NOW, (WPARAM)(fC
25a80 61 6e 63 65 6c 29 2c 20 30 29 0d 0a 0d 0a 65 6e  ancel), 0)....en
25a90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f  um : uint { TVM_
25aa0 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e 47  GETISEARCHSTRING
25ab0 41 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32  A = TV_FIRST + 2
25ac0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
25ad0 20 7b 20 54 56 4d 5f 47 45 54 49 53 45 41 52 43   { TVM_GETISEARC
25ae0 48 53 54 52 49 4e 47 57 20 3d 20 54 56 5f 46 49  HSTRINGW = TV_FI
25af0 52 53 54 20 2b 20 36 34 20 7d 0d 0a 0d 0a 2f 2f  RST + 64 }....//
25b00 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
25b10 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
25b20 73 65 0d 0a 61 6c 69 61 73 20 54 56 4d 5f 47 45  se..alias TVM_GE
25b30 54 49 53 45 41 52 43 48 53 54 52 49 4e 47 41 20  TISEARCHSTRINGA 
25b40 54 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54  TVM_GETISEARCHST
25b50 52 49 4e 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  RING;..// #endif
25b60 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
25b70 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
25b80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25b90 54 56 4d 5f 53 45 54 54 4f 4f 4c 54 49 50 53 20  TVM_SETTOOLTIPS 
25ba0 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 34 20  = TV_FIRST + 24 
25bb0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  }..// #define Tr
25bc0 65 65 56 69 65 77 5f 53 65 74 54 6f 6f 6c 54 69  eeView_SetToolTi
25bd0 70 73 28 68 77 6e 64 2c 20 68 77 6e 64 54 54 29  ps(hwnd, hwndTT)
25be0 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 28 68   (HWND)SNDMSG((h
25bf0 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54 54 4f 4f  wnd), TVM_SETTOO
25c00 4c 54 49 50 53 2c 20 28 57 50 41 52 41 4d 29 28  LTIPS, (WPARAM)(
25c10 68 77 6e 64 54 54 29 2c 20 30 29 0d 0a 65 6e 75  hwndTT), 0)..enu
25c20 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47  m : uint { TVM_G
25c30 45 54 54 4f 4f 4c 54 49 50 53 20 3d 20 54 56 5f  ETTOOLTIPS = TV_
25c40 46 49 52 53 54 20 2b 20 32 35 20 7d 0d 0a 2f 2f  FIRST + 25 }..//
25c50 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
25c60 77 5f 47 65 74 54 6f 6f 6c 54 69 70 73 28 68 77  w_GetToolTips(hw
25c70 6e 64 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47  nd) (HWND)SNDMSG
25c80 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54  ((hwnd), TVM_GET
25c90 54 4f 4f 4c 54 49 50 53 2c 20 30 2c 20 30 29 0d  TOOLTIPS, 0, 0).
25ca0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
25cb0 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
25cc0 77 5f 47 65 74 49 53 65 61 72 63 68 53 74 72 69  w_GetISearchStri
25cd0 6e 67 28 68 77 6e 64 54 56 2c 20 6c 70 73 7a 29  ng(hwndTV, lpsz)
25ce0 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
25cf0 77 6e 64 54 56 29 2c 20 54 56 4d 5f 47 45 54 49  wndTV), TVM_GETI
25d00 53 45 41 52 43 48 53 54 52 49 4e 47 2c 20 30 2c  SEARCHSTRING, 0,
25d10 20 28 4c 50 41 52 41 4d 29 28 4c 50 54 53 54 52   (LPARAM)(LPTSTR
25d20 29 28 6c 70 73 7a 29 29 0d 0a 0d 0a 2f 2f 20 23  )(lpsz))....// #
25d30 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
25d40 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
25d50 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 49   uint { TVM_SETI
25d60 4e 53 45 52 54 4d 41 52 4b 20 3d 20 54 56 5f 46  NSERTMARK = TV_F
25d70 49 52 53 54 20 2b 20 32 36 20 7d 0d 0a 2f 2f 20  IRST + 26 }..// 
25d80 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
25d90 5f 53 65 74 49 6e 73 65 72 74 4d 61 72 6b 28 68  _SetInsertMark(h
25da0 77 6e 64 2c 20 68 49 74 65 6d 2c 20 66 41 66 74  wnd, hItem, fAft
25db0 65 72 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  er) (BOOL)SNDMSG
25dc0 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54  ((hwnd), TVM_SET
25dd0 49 4e 53 45 52 54 4d 41 52 4b 2c 20 28 57 50 41  INSERTMARK, (WPA
25de0 52 41 4d 29 20 28 66 41 66 74 65 72 29 2c 20 28  RAM) (fAfter), (
25df0 4c 50 41 52 41 4d 29 20 28 68 49 74 65 6d 29 29  LPARAM) (hItem))
25e00 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45  ....alias CCM_SE
25e10 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 54  TUNICODEFORMAT T
25e20 56 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52  VM_SETUNICODEFOR
25e30 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  MAT;..// #define
25e40 20 54 72 65 65 56 69 65 77 5f 53 65 74 55 6e 69   TreeView_SetUni
25e50 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e 64 2c  codeFormat(hwnd,
25e60 20 66 55 6e 69 63 6f 64 65 29 20 28 42 4f 4f 4c   fUnicode) (BOOL
25e70 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
25e80 54 56 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f  TVM_SETUNICODEFO
25e90 52 4d 41 54 2c 20 28 57 50 41 52 41 4d 29 28 66  RMAT, (WPARAM)(f
25ea0 55 6e 69 63 6f 64 65 29 2c 20 30 29 0d 0a 0d 0a  Unicode), 0)....
25eb0 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49  alias CCM_GETUNI
25ec0 43 4f 44 45 46 4f 52 4d 41 54 20 54 56 4d 5f 47  CODEFORMAT TVM_G
25ed0 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b  ETUNICODEFORMAT;
25ee0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
25ef0 65 56 69 65 77 5f 47 65 74 55 6e 69 63 6f 64 65  eView_GetUnicode
25f00 46 6f 72 6d 61 74 28 68 77 6e 64 29 20 28 42 4f  Format(hwnd) (BO
25f10 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
25f20 2c 20 54 56 4d 5f 47 45 54 55 4e 49 43 4f 44 45  , TVM_GETUNICODE
25f30 46 4f 52 4d 41 54 2c 20 30 2c 20 30 29 0d 0a 0d  FORMAT, 0, 0)...
25f40 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
25f50 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
25f60 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
25f70 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45   : uint { TVM_SE
25f80 54 49 54 45 4d 48 45 49 47 48 54 20 3d 20 54 56  TITEMHEIGHT = TV
25f90 5f 46 49 52 53 54 20 2b 20 32 37 20 7d 0d 0a 2f  _FIRST + 27 }../
25fa0 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
25fb0 65 77 5f 53 65 74 49 74 65 6d 48 65 69 67 68 74  ew_SetItemHeight
25fc0 28 68 77 6e 64 2c 20 69 48 65 69 67 68 74 29 20  (hwnd, iHeight) 
25fd0 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e  (int)SNDMSG((hwn
25fe0 64 29 2c 20 54 56 4d 5f 53 45 54 49 54 45 4d 48  d), TVM_SETITEMH
25ff0 45 49 47 48 54 2c 20 28 57 50 41 52 41 4d 29 28  EIGHT, (WPARAM)(
26000 69 48 65 69 67 68 74 29 2c 20 30 29 0d 0a 65 6e  iHeight), 0)..en
26010 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f  um : uint { TVM_
26020 47 45 54 49 54 45 4d 48 45 49 47 48 54 20 3d 20  GETITEMHEIGHT = 
26030 54 56 5f 46 49 52 53 54 20 2b 20 32 38 20 7d 0d  TV_FIRST + 28 }.
26040 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65  .// #define Tree
26050 56 69 65 77 5f 47 65 74 49 74 65 6d 48 65 69 67  View_GetItemHeig
26060 68 74 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e  ht(hwnd) (int)SN
26070 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
26080 5f 47 45 54 49 54 45 4d 48 45 49 47 48 54 2c 20  _GETITEMHEIGHT, 
26090 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0, 0)....enum : 
260a0 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 42 4b  uint { TVM_SETBK
260b0 43 4f 4c 4f 52 20 3d 20 54 56 5f 46 49 52 53 54  COLOR = TV_FIRST
260c0 20 2b 20 32 39 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 29 }..// #def
260d0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74  ine TreeView_Set
260e0 42 6b 43 6f 6c 6f 72 28 68 77 6e 64 2c 20 63 6c  BkColor(hwnd, cl
260f0 72 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44  r) (COLORREF)SND
26100 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f  MSG((hwnd), TVM_
26110 53 45 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20 28  SETBKCOLOR, 0, (
26120 4c 50 41 52 41 4d 29 28 63 6c 72 29 29 0d 0a 0d  LPARAM)(clr))...
26130 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
26140 56 4d 5f 53 45 54 54 45 58 54 43 4f 4c 4f 52 20  VM_SETTEXTCOLOR 
26150 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 33 30 20  = TV_FIRST + 30 
26160 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  }..// #define Tr
26170 65 65 56 69 65 77 5f 53 65 74 54 65 78 74 43 6f  eeView_SetTextCo
26180 6c 6f 72 28 68 77 6e 64 2c 20 63 6c 72 29 20 28  lor(hwnd, clr) (
26190 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53 47 28  COLORREF)SNDMSG(
261a0 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54 54  (hwnd), TVM_SETT
261b0 45 58 54 43 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50  EXTCOLOR, 0, (LP
261c0 41 52 41 4d 29 28 63 6c 72 29 29 0d 0a 0d 0a 65  ARAM)(clr))....e
261d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d  num : uint { TVM
261e0 5f 47 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 54 56  _GETBKCOLOR = TV
261f0 5f 46 49 52 53 54 20 2b 20 33 31 20 7d 0d 0a 2f  _FIRST + 31 }../
26200 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
26210 65 77 5f 47 65 74 42 6b 43 6f 6c 6f 72 28 68 77  ew_GetBkColor(hw
26220 6e 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e  nd) (COLORREF)SN
26230 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
26240 5f 47 45 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20  _GETBKCOLOR, 0, 
26250 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
26260 74 20 7b 20 54 56 4d 5f 47 45 54 54 45 58 54 43  t { TVM_GETTEXTC
26270 4f 4c 4f 52 20 3d 20 54 56 5f 46 49 52 53 54 20  OLOR = TV_FIRST 
26280 2b 20 33 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 32 }..// #defi
26290 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 54  ne TreeView_GetT
262a0 65 78 74 43 6f 6c 6f 72 28 68 77 6e 64 29 20 28  extColor(hwnd) (
262b0 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53 47 28  COLORREF)SNDMSG(
262c0 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 54  (hwnd), TVM_GETT
262d0 45 58 54 43 4f 4c 4f 52 2c 20 30 2c 20 30 29 0d  EXTCOLOR, 0, 0).
262e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
262f0 20 54 56 4d 5f 53 45 54 53 43 52 4f 4c 4c 54 49   TVM_SETSCROLLTI
26300 4d 45 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20  ME = TV_FIRST + 
26310 33 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  33 }..// #define
26320 20 54 72 65 65 56 69 65 77 5f 53 65 74 53 63 72   TreeView_SetScr
26330 6f 6c 6c 54 69 6d 65 28 68 77 6e 64 2c 20 75 54  ollTime(hwnd, uT
26340 69 6d 65 29 20 28 55 49 4e 54 29 53 4e 44 4d 53  ime) (UINT)SNDMS
26350 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45  G((hwnd), TVM_SE
26360 54 53 43 52 4f 4c 4c 54 49 4d 45 2c 20 75 54 69  TSCROLLTIME, uTi
26370 6d 65 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  me, 0)....enum :
26380 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 53   uint { TVM_GETS
26390 43 52 4f 4c 4c 54 49 4d 45 20 3d 20 54 56 5f 46  CROLLTIME = TV_F
263a0 49 52 53 54 20 2b 20 33 34 20 7d 0d 0a 2f 2f 20  IRST + 34 }..// 
263b0 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
263c0 5f 47 65 74 53 63 72 6f 6c 6c 54 69 6d 65 28 68  _GetScrollTime(h
263d0 77 6e 64 29 20 28 55 49 4e 54 29 53 4e 44 4d 53  wnd) (UINT)SNDMS
263e0 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45  G((hwnd), TVM_GE
263f0 54 53 43 52 4f 4c 4c 54 49 4d 45 2c 20 30 2c 20  TSCROLLTIME, 0, 
26400 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
26410 74 20 7b 20 54 56 4d 5f 53 45 54 49 4e 53 45 52  t { TVM_SETINSER
26420 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d 20 54 56 5f  TMARKCOLOR = TV_
26430 46 49 52 53 54 20 2b 20 33 37 20 7d 0d 0a 2f 2f  FIRST + 37 }..//
26440 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
26450 77 5f 53 65 74 49 6e 73 65 72 74 4d 61 72 6b 43  w_SetInsertMarkC
26460 6f 6c 6f 72 28 68 77 6e 64 2c 20 63 6c 72 29 20  olor(hwnd, clr) 
26470 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53 47  (COLORREF)SNDMSG
26480 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54  ((hwnd), TVM_SET
26490 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 2c  INSERTMARKCOLOR,
264a0 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c 72   0, (LPARAM)(clr
264b0 29 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ))..enum : uint 
264c0 7b 20 54 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d  { TVM_GETINSERTM
264d0 41 52 4b 43 4f 4c 4f 52 20 3d 20 54 56 5f 46 49  ARKCOLOR = TV_FI
264e0 52 53 54 20 2b 20 33 38 20 7d 0d 0a 2f 2f 20 23  RST + 38 }..// #
264f0 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
26500 47 65 74 49 6e 73 65 72 74 4d 61 72 6b 43 6f 6c  GetInsertMarkCol
26510 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52  or(hwnd) (COLORR
26520 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  EF)SNDMSG((hwnd)
26530 2c 20 54 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d  , TVM_GETINSERTM
26540 41 52 4b 43 4f 4c 4f 52 2c 20 30 2c 20 30 29 0d  ARKCOLOR, 0, 0).
26550 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a  ...// #endif  /*
26560 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
26570 78 30 34 30 30 29 20 2a 2f 0d 0a 0d 0a 2f 2f 20  x0400) */....// 
26580 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
26590 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 2f 2f 20  = 0x0500)....// 
265a0 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
265b0 5f 53 65 74 49 74 65 6d 53 74 61 74 65 28 68 77  _SetItemState(hw
265c0 6e 64 54 56 2c 20 68 74 69 2c 20 64 61 74 61 2c  ndTV, hti, data,
265d0 20 5f 6d 61 73 6b 29 20 7b 20 54 56 49 54 45 4d   _mask) { TVITEM
265e0 20 5f 6d 73 5f 54 56 69 3b 20 5f 6d 73 5f 54 56   _ms_TVi; _ms_TV
265f0 69 2e 6d 61 73 6b 20 3d 20 54 56 49 46 5f 53 54  i.mask = TVIF_ST
26600 41 54 45 3b 20 5f 6d 73 5f 54 56 69 2e 68 49 74  ATE; _ms_TVi.hIt
26610 65 6d 20 3d 20 68 74 69 3b 20 5f 6d 73 5f 54 56  em = hti; _ms_TV
26620 69 2e 73 74 61 74 65 4d 61 73 6b 20 3d 20 5f 6d  i.stateMask = _m
26630 61 73 6b 3b 20 5f 6d 73 5f 54 56 69 2e 73 74 61  ask; _ms_TVi.sta
26640 74 65 20 3d 20 64 61 74 61 3b 20 53 4e 44 4d 53  te = data; SNDMS
26650 47 28 28 68 77 6e 64 54 56 29 2c 20 54 56 4d 5f  G((hwndTV), TVM_
26660 53 45 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41  SETITEM, 0, (LPA
26670 52 41 4d 29 28 54 56 5f 49 54 45 4d 20 2a 29 26  RAM)(TV_ITEM *)&
26680 5f 6d 73 5f 54 56 69 29 3b 20 7d 0d 0a 0d 0a 2f  _ms_TVi); }..../
26690 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
266a0 65 77 5f 53 65 74 43 68 65 63 6b 53 74 61 74 65  ew_SetCheckState
266b0 28 68 77 6e 64 54 56 2c 20 68 74 69 2c 20 66 43  (hwndTV, hti, fC
266c0 68 65 63 6b 29 20 54 72 65 65 56 69 65 77 5f 53  heck) TreeView_S
266d0 65 74 49 74 65 6d 53 74 61 74 65 28 68 77 6e 64  etItemState(hwnd
266e0 54 56 2c 20 68 74 69 2c 20 49 4e 44 45 58 54 4f  TV, hti, INDEXTO
266f0 53 54 41 54 45 49 4d 41 47 45 4d 41 53 4b 28 28  STATEIMAGEMASK((
26700 66 43 68 65 63 6b 29 3f 32 3a 31 29 2c 20 54 56  fCheck)?2:1), TV
26710 49 53 5f 53 54 41 54 45 49 4d 41 47 45 4d 41 53  IS_STATEIMAGEMAS
26720 4b 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  K)....enum : uin
26730 74 20 7b 20 54 56 4d 5f 47 45 54 49 54 45 4d 53  t { TVM_GETITEMS
26740 54 41 54 45 20 3d 20 54 56 5f 46 49 52 53 54 20  TATE = TV_FIRST 
26750 2b 20 33 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 39 }..// #defi
26760 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 49  ne TreeView_GetI
26770 74 65 6d 53 74 61 74 65 28 68 77 6e 64 54 56 2c  temState(hwndTV,
26780 20 68 74 69 2c 20 6d 61 73 6b 29 20 28 55 49 4e   hti, mask) (UIN
26790 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 54 56  T)SNDMSG((hwndTV
267a0 29 2c 20 54 56 4d 5f 47 45 54 49 54 45 4d 53 54  ), TVM_GETITEMST
267b0 41 54 45 2c 20 28 57 50 41 52 41 4d 29 28 68 74  ATE, (WPARAM)(ht
267c0 69 29 2c 20 28 4c 50 41 52 41 4d 29 28 6d 61 73  i), (LPARAM)(mas
267d0 6b 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  k))....// #defin
267e0 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 43 68  e TreeView_GetCh
267f0 65 63 6b 53 74 61 74 65 28 68 77 6e 64 54 56 2c  eckState(hwndTV,
26800 20 68 74 69 29 20 28 28 28 28 55 49 4e 54 29 28   hti) ((((UINT)(
26810 53 4e 44 4d 53 47 28 28 68 77 6e 64 54 56 29 2c  SNDMSG((hwndTV),
26820 20 54 56 4d 5f 47 45 54 49 54 45 4d 53 54 41 54   TVM_GETITEMSTAT
26830 45 2c 20 28 57 50 41 52 41 4d 29 28 68 74 69 29  E, (WPARAM)(hti)
26840 2c 20 54 56 49 53 5f 53 54 41 54 45 49 4d 41 47  , TVIS_STATEIMAG
26850 45 4d 41 53 4b 29 29 29 20 3e 3e 20 31 32 29 20  EMASK))) >> 12) 
26860 2d 31 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  -1)....enum : ui
26870 6e 74 20 7b 20 54 56 4d 5f 53 45 54 4c 49 4e 45  nt { TVM_SETLINE
26880 43 4f 4c 4f 52 20 3d 20 54 56 5f 46 49 52 53 54  COLOR = TV_FIRST
26890 20 2b 20 34 30 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 40 }..// #def
268a0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74  ine TreeView_Set
268b0 4c 69 6e 65 43 6f 6c 6f 72 28 68 77 6e 64 2c 20  LineColor(hwnd, 
268c0 63 6c 72 29 20 28 43 4f 4c 4f 52 52 45 46 29 53  clr) (COLORREF)S
268d0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56  NDMSG((hwnd), TV
268e0 4d 5f 53 45 54 4c 49 4e 45 43 4f 4c 4f 52 2c 20  M_SETLINECOLOR, 
268f0 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c 72 29  0, (LPARAM)(clr)
26900 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
26910 20 7b 20 54 56 4d 5f 47 45 54 4c 49 4e 45 43 4f   { TVM_GETLINECO
26920 4c 4f 52 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  LOR = TV_FIRST +
26930 20 34 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   41 }..// #defin
26940 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 4c 69  e TreeView_GetLi
26950 6e 65 43 6f 6c 6f 72 28 68 77 6e 64 29 20 28 43  neColor(hwnd) (C
26960 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53 47 28 28  OLORREF)SNDMSG((
26970 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 4c 49  hwnd), TVM_GETLI
26980 4e 45 43 4f 4c 4f 52 2c 20 30 2c 20 30 29 0d 0a  NECOLOR, 0, 0)..
26990 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
269a0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
269b0 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d 0a  NNT >= 0x0501)..
269c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
269d0 4d 5f 4d 41 50 41 43 43 49 44 54 4f 48 54 52 45  M_MAPACCIDTOHTRE
269e0 45 49 54 45 4d 20 3d 20 54 56 5f 46 49 52 53 54  EITEM = TV_FIRST
269f0 20 2b 20 34 32 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 42 }..// #def
26a00 69 6e 65 20 54 72 65 65 56 69 65 77 5f 4d 61 70  ine TreeView_Map
26a10 41 63 63 49 44 54 6f 48 54 52 45 45 49 54 45 4d  AccIDToHTREEITEM
26a20 28 68 77 6e 64 2c 20 69 64 29 20 28 48 54 52 45  (hwnd, id) (HTRE
26a30 45 49 54 45 4d 29 53 4e 44 4d 53 47 28 28 68 77  EITEM)SNDMSG((hw
26a40 6e 64 29 2c 20 54 56 4d 5f 4d 41 50 41 43 43 49  nd), TVM_MAPACCI
26a50 44 54 4f 48 54 52 45 45 49 54 45 4d 2c 20 69 64  DTOHTREEITEM, id
26a60 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  , 0)....enum : u
26a70 69 6e 74 20 7b 20 54 56 4d 5f 4d 41 50 48 54 52  int { TVM_MAPHTR
26a80 45 45 49 54 45 4d 54 4f 41 43 43 49 44 20 3d 20  EEITEMTOACCID = 
26a90 54 56 5f 46 49 52 53 54 20 2b 20 34 33 20 7d 0d  TV_FIRST + 43 }.
26aa0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65  .// #define Tree
26ab0 56 69 65 77 5f 4d 61 70 48 54 52 45 45 49 54 45  View_MapHTREEITE
26ac0 4d 54 6f 41 63 63 49 44 28 68 77 6e 64 2c 20 68  MToAccID(hwnd, h
26ad0 74 72 65 65 69 74 65 6d 29 20 28 55 49 4e 54 29  treeitem) (UINT)
26ae0 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54  SNDMSG((hwnd), T
26af0 56 4d 5f 4d 41 50 48 54 52 45 45 49 54 45 4d 54  VM_MAPHTREEITEMT
26b00 4f 41 43 43 49 44 2c 20 28 57 50 41 52 41 4d 29  OACCID, (WPARAM)
26b10 68 74 72 65 65 69 74 65 6d 2c 20 30 29 0d 0a 0d  htreeitem, 0)...
26b20 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78  .// #endif....ex
26b30 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
26b40 69 61 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e  ias int function
26b50 28 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 31 2c  (LPARAM lParam1,
26b60 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 32 2c   LPARAM lParam2,
26b70 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 53 6f   LPARAM lParamSo
26b80 72 74 29 20 50 46 4e 54 56 43 4f 4d 50 41 52 45  rt) PFNTVCOMPARE
26b90 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  ;....// #if (_WI
26ba0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
26bb0 29 0d 0a 61 6c 69 61 73 20 4c 50 54 56 53 4f 52  )..alias LPTVSOR
26bc0 54 43 42 20 4c 50 54 56 5f 53 4f 52 54 43 42 3b  TCB LPTV_SORTCB;
26bd0 0d 0a 61 6c 69 61 73 20 54 56 53 4f 52 54 43 42  ..alias TVSORTCB
26be0 20 54 56 5f 53 4f 52 54 43 42 3b 0d 0a 2f 2f 20   TV_SORTCB;..// 
26bf0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
26c00 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
26c10 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
26c20 74 72 75 63 74 20 74 61 67 54 56 53 4f 52 54 43  truct tagTVSORTC
26c30 42 20 7b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d  B {..  HTREEITEM
26c40 20 68 50 61 72 65 6e 74 3b 0d 0a 20 20 50 46 4e   hParent;..  PFN
26c50 54 56 43 4f 4d 50 41 52 45 20 6c 70 66 6e 43 6f  TVCOMPARE lpfnCo
26c60 6d 70 61 72 65 3b 0d 0a 20 20 4c 50 41 52 41 4d  mpare;..  LPARAM
26c70 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69   lParam;..}..ali
26c80 61 73 20 74 61 67 54 56 53 4f 52 54 43 42 20 54  as tagTVSORTCB T
26c90 56 53 4f 52 54 43 42 3b 0d 0a 61 6c 69 61 73 20  VSORTCB;..alias 
26ca0 74 61 67 54 56 53 4f 52 54 43 42 2a 20 4c 50 54  tagTVSORTCB* LPT
26cb0 56 53 4f 52 54 43 42 3b 0d 0a 0d 0a 2f 2f 20 23  VSORTCB;....// #
26cc0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
26cd0 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20   0x0300)..alias 
26ce0 4c 50 4e 4d 54 52 45 45 56 49 45 57 41 20 4c 50  LPNMTREEVIEWA LP
26cf0 4e 4d 5f 54 52 45 45 56 49 45 57 41 3b 0d 0a 61  NM_TREEVIEWA;..a
26d00 6c 69 61 73 20 4c 50 4e 4d 54 52 45 45 56 49 45  lias LPNMTREEVIE
26d10 57 57 20 4c 50 4e 4d 5f 54 52 45 45 56 49 45 57  WW LPNM_TREEVIEW
26d20 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 52 45 45  W;..alias NMTREE
26d30 56 49 45 57 57 20 4e 4d 5f 54 52 45 45 56 49 45  VIEWW NM_TREEVIE
26d40 57 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 52 45  WW;..alias NMTRE
26d50 45 56 49 45 57 41 20 4e 4d 5f 54 52 45 45 56 49  EVIEWA NM_TREEVI
26d60 45 57 41 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  EWA;..// #else..
26d70 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
26d80 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
26d90 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
26da0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
26db0 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 52 45  ...alias LPNMTRE
26dc0 45 56 49 45 57 20 4c 50 4e 4d 5f 54 52 45 45 56  EVIEW LPNM_TREEV
26dd0 49 45 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 52  IEW;..alias NMTR
26de0 45 45 56 49 45 57 20 4e 4d 5f 54 52 45 45 56 49  EEVIEW NM_TREEVI
26df0 45 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  EW;....struct ta
26e00 67 4e 4d 54 52 45 45 56 49 45 57 41 20 7b 0d 0a  gNMTREEVIEWA {..
26e10 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20    NMHDR hdr;..  
26e20 55 49 4e 54 20 61 63 74 69 6f 6e 3b 0d 0a 20 20  UINT action;..  
26e30 54 56 49 54 45 4d 41 20 69 74 65 6d 4f 6c 64 3b  TVITEMA itemOld;
26e40 0d 0a 20 20 54 56 49 54 45 4d 41 20 69 74 65 6d  ..  TVITEMA item
26e50 4e 65 77 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74  New;..  POINT pt
26e60 44 72 61 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Drag;..}..alias 
26e70 74 61 67 4e 4d 54 52 45 45 56 49 45 57 41 20 4e  tagNMTREEVIEWA N
26e80 4d 54 52 45 45 56 49 45 57 41 3b 0d 0a 61 6c 69  MTREEVIEWA;..ali
26e90 61 73 20 74 61 67 4e 4d 54 52 45 45 56 49 45 57  as tagNMTREEVIEW
26ea0 41 2a 20 4c 50 4e 4d 54 52 45 45 56 49 45 57 41  A* LPNMTREEVIEWA
26eb0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  ;....struct tagN
26ec0 4d 54 52 45 45 56 49 45 57 57 20 7b 0d 0a 20 20  MTREEVIEWW {..  
26ed0 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 55 49  NMHDR hdr;..  UI
26ee0 4e 54 20 61 63 74 69 6f 6e 3b 0d 0a 20 20 54 56  NT action;..  TV
26ef0 49 54 45 4d 57 20 69 74 65 6d 4f 6c 64 3b 0d 0a  ITEMW itemOld;..
26f00 20 20 54 56 49 54 45 4d 57 20 69 74 65 6d 4e 65    TVITEMW itemNe
26f10 77 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 44 72  w;..  POINT ptDr
26f20 61 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  ag;..}..alias ta
26f30 67 4e 4d 54 52 45 45 56 49 45 57 57 20 4e 4d 54  gNMTREEVIEWW NMT
26f40 52 45 45 56 49 45 57 57 3b 0d 0a 61 6c 69 61 73  REEVIEWW;..alias
26f50 20 74 61 67 4e 4d 54 52 45 45 56 49 45 57 57 2a   tagNMTREEVIEWW*
26f60 20 4c 50 4e 4d 54 52 45 45 56 49 45 57 57 3b 0d   LPNMTREEVIEWW;.
26f70 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
26f80 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
26f90 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
26fa0 0d 0a 61 6c 69 61 73 20 4e 4d 54 52 45 45 56 49  ..alias NMTREEVI
26fb0 45 57 41 20 4e 4d 54 52 45 45 56 49 45 57 3b 0d  EWA NMTREEVIEW;.
26fc0 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 52 45 45 56  .alias LPNMTREEV
26fd0 49 45 57 41 20 4c 50 4e 4d 54 52 45 45 56 49 45  IEWA LPNMTREEVIE
26fe0 57 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  W;..// #endif...
26ff0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27000 56 4e 5f 53 45 4c 43 48 41 4e 47 49 4e 47 41 20  VN_SELCHANGINGA 
27010 3d 20 54 56 4e 5f 46 49 52 53 54 2d 31 20 7d 0d  = TVN_FIRST-1 }.
27020 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27030 56 4e 5f 53 45 4c 43 48 41 4e 47 49 4e 47 57 20  VN_SELCHANGINGW 
27040 3d 20 54 56 4e 5f 46 49 52 53 54 2d 35 30 20 7d  = TVN_FIRST-50 }
27050 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27060 54 56 4e 5f 53 45 4c 43 48 41 4e 47 45 44 41 20  TVN_SELCHANGEDA 
27070 3d 20 54 56 4e 5f 46 49 52 53 54 2d 32 20 7d 0d  = TVN_FIRST-2 }.
27080 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27090 56 4e 5f 53 45 4c 43 48 41 4e 47 45 44 57 20 3d  VN_SELCHANGEDW =
270a0 20 54 56 4e 5f 46 49 52 53 54 2d 35 31 20 7d 0d   TVN_FIRST-51 }.
270b0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
270c0 20 54 56 43 5f 55 4e 4b 4e 4f 57 4e 20 3d 20 30   TVC_UNKNOWN = 0
270d0 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
270e0 75 69 6e 74 20 7b 20 54 56 43 5f 42 59 4d 4f 55  uint { TVC_BYMOU
270f0 53 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  SE = 0x0001 }..e
27100 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 43  num : uint { TVC
27110 5f 42 59 4b 45 59 42 4f 41 52 44 20 3d 20 30 78  _BYKEYBOARD = 0x
27120 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0002 }....enum :
27130 20 75 69 6e 74 20 7b 20 54 56 4e 5f 47 45 54 44   uint { TVN_GETD
27140 49 53 50 49 4e 46 4f 41 20 3d 20 54 56 4e 5f 46  ISPINFOA = TVN_F
27150 49 52 53 54 2d 33 20 7d 0d 0a 65 6e 75 6d 20 3a  IRST-3 }..enum :
27160 20 75 69 6e 74 20 7b 20 54 56 4e 5f 47 45 54 44   uint { TVN_GETD
27170 49 53 50 49 4e 46 4f 57 20 3d 20 54 56 4e 5f 46  ISPINFOW = TVN_F
27180 49 52 53 54 2d 35 32 20 7d 0d 0a 65 6e 75 6d 20  IRST-52 }..enum 
27190 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 53 45 54  : uint { TVN_SET
271a0 44 49 53 50 49 4e 46 4f 41 20 3d 20 54 56 4e 5f  DISPINFOA = TVN_
271b0 46 49 52 53 54 2d 34 20 7d 0d 0a 65 6e 75 6d 20  FIRST-4 }..enum 
271c0 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 53 45 54  : uint { TVN_SET
271d0 44 49 53 50 49 4e 46 4f 57 20 3d 20 54 56 4e 5f  DISPINFOW = TVN_
271e0 46 49 52 53 54 2d 35 33 20 7d 0d 0a 0d 0a 65 6e  FIRST-53 }....en
271f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 46  um : uint { TVIF
27200 5f 44 49 5f 53 45 54 49 54 45 4d 20 3d 20 30 78  _DI_SETITEM = 0x
27210 31 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  1000 }....// #if
27220 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
27230 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e 4d  x0300)..alias NM
27240 54 56 44 49 53 50 49 4e 46 4f 41 20 54 56 5f 44  TVDISPINFOA TV_D
27250 49 53 50 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73  ISPINFOA;..alias
27260 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f 57 20 54   NMTVDISPINFOW T
27270 56 5f 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 2f 2f  V_DISPINFOW;..//
27280 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
27290 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
272a0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
272b0 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 4e  endif....alias N
272c0 4d 54 56 44 49 53 50 49 4e 46 4f 20 54 56 5f 44  MTVDISPINFO TV_D
272d0 49 53 50 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75  ISPINFO;....stru
272e0 63 74 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f  ct tagTVDISPINFO
272f0 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72  A {..  NMHDR hdr
27300 3b 0d 0a 20 20 54 56 49 54 45 4d 41 20 69 74 65  ;..  TVITEMA ite
27310 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  m;..}..alias tag
27320 54 56 44 49 53 50 49 4e 46 4f 41 20 4e 4d 54 56  TVDISPINFOA NMTV
27330 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  DISPINFOA;..alia
27340 73 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f 41  s tagTVDISPINFOA
27350 2a 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f  * LPNMTVDISPINFO
27360 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
27370 54 56 44 49 53 50 49 4e 46 4f 57 20 7b 0d 0a 20  TVDISPINFOW {.. 
27380 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 54   NMHDR hdr;..  T
27390 56 49 54 45 4d 57 20 69 74 65 6d 3b 0d 0a 7d 0d  VITEMW item;..}.
273a0 0a 61 6c 69 61 73 20 74 61 67 54 56 44 49 53 50  .alias tagTVDISP
273b0 49 4e 46 4f 57 20 4e 4d 54 56 44 49 53 50 49 4e  INFOW NMTVDISPIN
273c0 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54  FOW;..alias tagT
273d0 56 44 49 53 50 49 4e 46 4f 57 2a 20 4c 50 4e 4d  VDISPINFOW* LPNM
273e0 54 56 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 0d 0a  TVDISPINFOW;....
273f0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
27400 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
27410 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
27420 6c 69 61 73 20 4e 4d 54 56 44 49 53 50 49 4e 46  lias NMTVDISPINF
27430 4f 41 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f 3b  OA NMTVDISPINFO;
27440 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 56 44 49  ..alias LPNMTVDI
27450 53 50 49 4e 46 4f 41 20 4c 50 4e 4d 54 56 44 49  SPINFOA LPNMTVDI
27460 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64  SPINFO;..// #end
27470 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
27480 74 20 7b 20 54 56 4e 5f 49 54 45 4d 45 58 50 41  t { TVN_ITEMEXPA
27490 4e 44 49 4e 47 41 20 3d 20 54 56 4e 5f 46 49 52  NDINGA = TVN_FIR
274a0 53 54 2d 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  ST-5 }..enum : u
274b0 69 6e 74 20 7b 20 54 56 4e 5f 49 54 45 4d 45 58  int { TVN_ITEMEX
274c0 50 41 4e 44 49 4e 47 57 20 3d 20 54 56 4e 5f 46  PANDINGW = TVN_F
274d0 49 52 53 54 2d 35 34 20 7d 0d 0a 65 6e 75 6d 20  IRST-54 }..enum 
274e0 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 49 54 45  : uint { TVN_ITE
274f0 4d 45 58 50 41 4e 44 45 44 41 20 3d 20 54 56 4e  MEXPANDEDA = TVN
27500 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75 6d  _FIRST-6 }..enum
27510 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 49 54   : uint { TVN_IT
27520 45 4d 45 58 50 41 4e 44 45 44 57 20 3d 20 54 56  EMEXPANDEDW = TV
27530 4e 5f 46 49 52 53 54 2d 35 35 20 7d 0d 0a 65 6e  N_FIRST-55 }..en
27540 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f  um : uint { TVN_
27550 42 45 47 49 4e 44 52 41 47 41 20 3d 20 54 56 4e  BEGINDRAGA = TVN
27560 5f 46 49 52 53 54 2d 37 20 7d 0d 0a 65 6e 75 6d  _FIRST-7 }..enum
27570 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 42 45   : uint { TVN_BE
27580 47 49 4e 44 52 41 47 57 20 3d 20 54 56 4e 5f 46  GINDRAGW = TVN_F
27590 49 52 53 54 2d 35 36 20 7d 0d 0a 65 6e 75 6d 20  IRST-56 }..enum 
275a0 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 42 45 47  : uint { TVN_BEG
275b0 49 4e 52 44 52 41 47 41 20 3d 20 54 56 4e 5f 46  INRDRAGA = TVN_F
275c0 49 52 53 54 2d 38 20 7d 0d 0a 65 6e 75 6d 20 3a  IRST-8 }..enum :
275d0 20 75 69 6e 74 20 7b 20 54 56 4e 5f 42 45 47 49   uint { TVN_BEGI
275e0 4e 52 44 52 41 47 57 20 3d 20 54 56 4e 5f 46 49  NRDRAGW = TVN_FI
275f0 52 53 54 2d 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a  RST-57 }..enum :
27600 20 75 69 6e 74 20 7b 20 54 56 4e 5f 44 45 4c 45   uint { TVN_DELE
27610 54 45 49 54 45 4d 41 20 3d 20 54 56 4e 5f 46 49  TEITEMA = TVN_FI
27620 52 53 54 2d 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  RST-9 }..enum : 
27630 75 69 6e 74 20 7b 20 54 56 4e 5f 44 45 4c 45 54  uint { TVN_DELET
27640 45 49 54 45 4d 57 20 3d 20 54 56 4e 5f 46 49 52  EITEMW = TVN_FIR
27650 53 54 2d 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ST-58 }..enum : 
27660 75 69 6e 74 20 7b 20 54 56 4e 5f 42 45 47 49 4e  uint { TVN_BEGIN
27670 4c 41 42 45 4c 45 44 49 54 41 20 3d 20 54 56 4e  LABELEDITA = TVN
27680 5f 46 49 52 53 54 2d 31 30 20 7d 0d 0a 65 6e 75  _FIRST-10 }..enu
27690 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 42  m : uint { TVN_B
276a0 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 57 20 3d  EGINLABELEDITW =
276b0 20 54 56 4e 5f 46 49 52 53 54 2d 35 39 20 7d 0d   TVN_FIRST-59 }.
276c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
276d0 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54 41  VN_ENDLABELEDITA
276e0 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 31 31 20   = TVN_FIRST-11 
276f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27700 20 54 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49   TVN_ENDLABELEDI
27710 54 57 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 36  TW = TVN_FIRST-6
27720 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27730 20 7b 20 54 56 4e 5f 4b 45 59 44 4f 57 4e 20 3d   { TVN_KEYDOWN =
27740 20 54 56 4e 5f 46 49 52 53 54 2d 31 32 20 7d 0d   TVN_FIRST-12 }.
27750 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
27760 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
27770 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27780 56 4e 5f 47 45 54 49 4e 46 4f 54 49 50 41 20 3d  VN_GETINFOTIPA =
27790 20 54 56 4e 5f 46 49 52 53 54 2d 31 33 20 7d 0d   TVN_FIRST-13 }.
277a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
277b0 56 4e 5f 47 45 54 49 4e 46 4f 54 49 50 57 20 3d  VN_GETINFOTIPW =
277c0 20 54 56 4e 5f 46 49 52 53 54 2d 31 34 20 7d 0d   TVN_FIRST-14 }.
277d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
277e0 56 4e 5f 53 49 4e 47 4c 45 45 58 50 41 4e 44 20  VN_SINGLEEXPAND 
277f0 3d 20 54 56 4e 5f 46 49 52 53 54 2d 31 35 20 7d  = TVN_FIRST-15 }
27800 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
27810 7b 20 54 56 4e 52 45 54 5f 44 45 46 41 55 4c 54  { TVNRET_DEFAULT
27820 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
27830 69 6e 74 20 7b 20 54 56 4e 52 45 54 5f 53 4b 49  int { TVNRET_SKI
27840 50 4f 4c 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  POLD = 1 }..enum
27850 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 52 45 54   : uint { TVNRET
27860 5f 53 4b 49 50 4e 45 57 20 3d 20 32 20 7d 0d 0a  _SKIPNEW = 2 }..
27870 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 30  ..// #endif // 0
27880 78 34 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  x400....// #if (
27890 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
278a0 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e 4d 54 56  300)..alias NMTV
278b0 4b 45 59 44 4f 57 4e 20 54 56 5f 4b 45 59 44 4f  KEYDOWN TV_KEYDO
278c0 57 4e 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  WN;..// #else../
278d0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
278e0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
278f0 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
27900 61 6c 69 67 6e 28 31 29 3a 0d 0a 2f 2f 20 23 65  align(1):..// #e
27910 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74  ndif....struct t
27920 61 67 54 56 4b 45 59 44 4f 57 4e 20 7b 0d 0a 20  agTVKEYDOWN {.. 
27930 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 57   NMHDR hdr;..  W
27940 4f 52 44 20 77 56 4b 65 79 3b 0d 0a 20 20 55 49  ORD wVKey;..  UI
27950 4e 54 20 66 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c  NT flags;..}..al
27960 69 61 73 20 74 61 67 54 56 4b 45 59 44 4f 57 4e  ias tagTVKEYDOWN
27970 20 4e 4d 54 56 4b 45 59 44 4f 57 4e 3b 0d 0a 61   NMTVKEYDOWN;..a
27980 6c 69 61 73 20 74 61 67 54 56 4b 45 59 44 4f 57  lias tagTVKEYDOW
27990 4e 2a 20 4c 50 4e 4d 54 56 4b 45 59 44 4f 57 4e  N* LPNMTVKEYDOWN
279a0 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  ;....// #ifdef _
279b0 57 49 4e 33 32 0d 0a 61 6c 69 67 6e 3a 0d 0a 2f  WIN32..align:../
279c0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
279d0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
279e0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
279f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
27a00 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
27a10 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
27a20 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
27a30 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
27a40 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
27a50 73 20 54 56 4e 5f 53 45 4c 43 48 41 4e 47 49 4e  s TVN_SELCHANGIN
27a60 47 41 20 54 56 4e 5f 53 45 4c 43 48 41 4e 47 49  GA TVN_SELCHANGI
27a70 4e 47 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 53  NG;..alias TVN_S
27a80 45 4c 43 48 41 4e 47 45 44 41 20 54 56 4e 5f 53  ELCHANGEDA TVN_S
27a90 45 4c 43 48 41 4e 47 45 44 3b 0d 0a 61 6c 69 61  ELCHANGED;..alia
27aa0 73 20 54 56 4e 5f 47 45 54 44 49 53 50 49 4e 46  s TVN_GETDISPINF
27ab0 4f 41 20 54 56 4e 5f 47 45 54 44 49 53 50 49 4e  OA TVN_GETDISPIN
27ac0 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 53  FO;..alias TVN_S
27ad0 45 54 44 49 53 50 49 4e 46 4f 41 20 54 56 4e 5f  ETDISPINFOA TVN_
27ae0 53 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c  SETDISPINFO;..al
27af0 69 61 73 20 54 56 4e 5f 49 54 45 4d 45 58 50 41  ias TVN_ITEMEXPA
27b00 4e 44 49 4e 47 41 20 54 56 4e 5f 49 54 45 4d 45  NDINGA TVN_ITEME
27b10 58 50 41 4e 44 49 4e 47 3b 0d 0a 61 6c 69 61 73  XPANDING;..alias
27b20 20 54 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 45   TVN_ITEMEXPANDE
27b30 44 41 20 54 56 4e 5f 49 54 45 4d 45 58 50 41 4e  DA TVN_ITEMEXPAN
27b40 44 45 44 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f  DED;..alias TVN_
27b50 42 45 47 49 4e 44 52 41 47 41 20 54 56 4e 5f 42  BEGINDRAGA TVN_B
27b60 45 47 49 4e 44 52 41 47 3b 0d 0a 61 6c 69 61 73  EGINDRAG;..alias
27b70 20 54 56 4e 5f 42 45 47 49 4e 52 44 52 41 47 41   TVN_BEGINRDRAGA
27b80 20 54 56 4e 5f 42 45 47 49 4e 52 44 52 41 47 3b   TVN_BEGINRDRAG;
27b90 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 44 45 4c 45  ..alias TVN_DELE
27ba0 54 45 49 54 45 4d 41 20 54 56 4e 5f 44 45 4c 45  TEITEMA TVN_DELE
27bb0 54 45 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 54  TEITEM;..alias T
27bc0 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49  VN_BEGINLABELEDI
27bd0 54 41 20 54 56 4e 5f 42 45 47 49 4e 4c 41 42 45  TA TVN_BEGINLABE
27be0 4c 45 44 49 54 3b 0d 0a 61 6c 69 61 73 20 54 56  LEDIT;..alias TV
27bf0 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54 41 20  N_ENDLABELEDITA 
27c00 54 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54  TVN_ENDLABELEDIT
27c10 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
27c20 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
27c30 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 2f 2f  E >= 0x0300)..//
27c40 20 23 64 65 66 69 6e 65 20 4e 4d 54 56 43 55 53   #define NMTVCUS
27c50 54 4f 4d 44 52 41 57 5f 56 33 5f 53 49 5a 45 20  TOMDRAW_V3_SIZE 
27c60 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28  CCSIZEOF_STRUCT(
27c70 4e 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 2c 20  NMTVCUSTOMDRAW, 
27c80 63 6c 72 54 65 78 74 42 6b 29 0d 0a 0d 0a 73 74  clrTextBk)....st
27c90 72 75 63 74 20 74 61 67 4e 4d 54 56 43 55 53 54  ruct tagNMTVCUST
27ca0 4f 4d 44 52 41 57 20 7b 0d 0a 20 20 4e 4d 43 55  OMDRAW {..  NMCU
27cb0 53 54 4f 4d 44 52 41 57 20 6e 6d 63 64 3b 0d 0a  STOMDRAW nmcd;..
27cc0 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 54 65    COLORREF clrTe
27cd0 78 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20  xt;..  COLORREF 
27ce0 63 6c 72 54 65 78 74 42 6b 3b 0d 0a 2f 2f 20 23  clrTextBk;..// #
27cf0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
27d00 20 30 78 30 34 30 30 29 0d 0a 20 20 69 6e 74 20   0x0400)..  int 
27d10 69 4c 65 76 65 6c 3b 0d 0a 2f 2f 20 23 65 6e 64  iLevel;..// #end
27d20 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  if..}..alias tag
27d30 4e 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 20 4e  NMTVCUSTOMDRAW N
27d40 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 3b 0d 0a  MTVCUSTOMDRAW;..
27d50 61 6c 69 61 73 20 74 61 67 4e 4d 54 56 43 55 53  alias tagNMTVCUS
27d60 54 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 54 56 43  TOMDRAW* LPNMTVC
27d70 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 2f 2f  USTOMDRAW;....//
27d80 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
27d90 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
27da0 30 78 30 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63  0x0400)....struc
27db0 74 20 74 61 67 4e 4d 54 56 47 45 54 49 4e 46 4f  t tagNMTVGETINFO
27dc0 54 49 50 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  TIPA {..  NMHDR 
27dd0 68 64 72 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73  hdr;..  LPSTR ps
27de0 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63  zText;..  int cc
27df0 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 48 54 52  hTextMax;..  HTR
27e00 45 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d 0a 20  EEITEM hItem;.. 
27e10 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
27e20 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54  .}..alias tagNMT
27e30 56 47 45 54 49 4e 46 4f 54 49 50 41 20 4e 4d 54  VGETINFOTIPA NMT
27e40 56 47 45 54 49 4e 46 4f 54 49 50 41 3b 0d 0a 61  VGETINFOTIPA;..a
27e50 6c 69 61 73 20 74 61 67 4e 4d 54 56 47 45 54 49  lias tagNMTVGETI
27e60 4e 46 4f 54 49 50 41 2a 20 4c 50 4e 4d 54 56 47  NFOTIPA* LPNMTVG
27e70 45 54 49 4e 46 4f 54 49 50 41 3b 0d 0a 0d 0a 73  ETINFOTIPA;....s
27e80 74 72 75 63 74 20 74 61 67 4e 4d 54 56 47 45 54  truct tagNMTVGET
27e90 49 4e 46 4f 54 49 50 57 20 7b 0d 0a 20 20 4e 4d  INFOTIPW {..  NM
27ea0 48 44 52 20 68 64 72 3b 0d 0a 20 20 4c 50 57 53  HDR hdr;..  LPWS
27eb0 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69  TR pszText;..  i
27ec0 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a  nt cchTextMax;..
27ed0 20 20 48 54 52 45 45 49 54 45 4d 20 68 49 74 65    HTREEITEM hIte
27ee0 6d 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  m;..  LPARAM lPa
27ef0 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ram;..}..alias t
27f00 61 67 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50  agNMTVGETINFOTIP
27f10 57 20 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50  W NMTVGETINFOTIP
27f20 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54  W;..alias tagNMT
27f30 56 47 45 54 49 4e 46 4f 54 49 50 57 2a 20 4c 50  VGETINFOTIPW* LP
27f40 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 57 3b  NMTVGETINFOTIPW;
27f50 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
27f60 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
27f70 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
27f80 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
27f90 73 20 54 56 4e 5f 47 45 54 49 4e 46 4f 54 49 50  s TVN_GETINFOTIP
27fa0 41 20 54 56 4e 5f 47 45 54 49 4e 46 4f 54 49 50  A TVN_GETINFOTIP
27fb0 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 56 47 45 54  ;..alias NMTVGET
27fc0 49 4e 46 4f 54 49 50 41 20 4e 4d 54 56 47 45 54  INFOTIPA NMTVGET
27fd0 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 73 20  INFOTIP;..alias 
27fe0 4c 50 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50  LPNMTVGETINFOTIP
27ff0 41 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46 4f 54  A LPNMTVGETINFOT
28000 49 50 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  IP;..// #endif..
28010 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28020 54 56 43 44 52 46 5f 4e 4f 49 4d 41 47 45 53 20  TVCDRF_NOIMAGES 
28030 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
28040 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20  ..// #endif     
28050 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d   // _WIN32_IE >=
28060 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 65   0x0400....// #e
28070 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f 54  ndif      // NOT
28080 52 45 45 56 49 45 57 0d 0a 0d 0a 2f 2f 20 23 69  REEVIEW....// #i
28090 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
280a0 30 78 30 33 30 30 29 0d 0a 0d 0a 2f 2f 20 23 69  0x0300)....// #i
280b0 66 6e 64 65 66 20 4e 4f 55 53 45 52 45 58 43 4f  fndef NOUSEREXCO
280c0 4e 54 52 4f 4c 53 0d 0a 0d 0a 63 6f 6e 73 74 20  NTROLS....const 
280d0 77 63 68 61 72 5b 5d 20 57 43 5f 43 4f 4d 42 4f  wchar[] WC_COMBO
280e0 42 4f 58 45 58 57 20 3d 20 22 43 6f 6d 62 6f 42  BOXEXW = "ComboB
280f0 6f 78 45 78 33 32 22 3b 0d 0a 63 6f 6e 73 74 20  oxEx32";..const 
28100 63 68 61 72 5b 5d 20 57 43 5f 43 4f 4d 42 4f 42  char[] WC_COMBOB
28110 4f 58 45 58 41 20 3d 20 22 43 6f 6d 62 6f 42 6f  OXEXA = "ComboBo
28120 78 45 78 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69  xEx32";....// #i
28130 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
28140 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
28150 0a 61 6c 69 61 73 20 57 43 5f 43 4f 4d 42 4f 42  .alias WC_COMBOB
28160 4f 58 45 58 41 20 57 43 5f 43 4f 4d 42 4f 42 4f  OXEXA WC_COMBOBO
28170 58 45 58 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  XEX;..// #endif.
28180 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
28190 20 43 42 45 49 46 5f 54 45 58 54 20 3d 20 30 78   CBEIF_TEXT = 0x
281a0 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
281b0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 49 46 5f   : uint { CBEIF_
281c0 49 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30 30  IMAGE = 0x000000
281d0 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
281e0 74 20 7b 20 43 42 45 49 46 5f 53 45 4c 45 43 54  t { CBEIF_SELECT
281f0 45 44 49 4d 41 47 45 20 3d 20 30 78 30 30 30 30  EDIMAGE = 0x0000
28200 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
28210 69 6e 74 20 7b 20 43 42 45 49 46 5f 4f 56 45 52  int { CBEIF_OVER
28220 4c 41 59 20 3d 20 30 78 30 30 30 30 30 30 30 38  LAY = 0x00000008
28230 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28240 7b 20 43 42 45 49 46 5f 49 4e 44 45 4e 54 20 3d  { CBEIF_INDENT =
28250 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65   0x00000010 }..e
28260 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45  num : uint { CBE
28270 49 46 5f 4c 50 41 52 41 4d 20 3d 20 30 78 30 30  IF_LPARAM = 0x00
28280 30 30 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000020 }....enum
28290 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 49 46 5f   : uint { CBEIF_
282a0 44 49 5f 53 45 54 49 54 45 4d 20 3d 20 30 78 31  DI_SETITEM = 0x1
282b0 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 73 74 72  0000000 }....str
282c0 75 63 74 20 74 61 67 43 4f 4d 42 4f 42 4f 58 45  uct tagCOMBOBOXE
282d0 58 49 54 45 4d 41 20 7b 0d 0a 20 20 55 49 4e 54  XITEMA {..  UINT
282e0 20 6d 61 73 6b 3b 0d 0a 20 20 49 4e 54 5f 50 54   mask;..  INT_PT
282f0 52 20 69 49 74 65 6d 3b 0d 0a 20 20 4c 50 53 54  R iItem;..  LPST
28300 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e  R pszText;..  in
28310 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20  t cchTextMax;.. 
28320 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20   int iImage;..  
28330 69 6e 74 20 69 53 65 6c 65 63 74 65 64 49 6d 61  int iSelectedIma
28340 67 65 3b 0d 0a 20 20 69 6e 74 20 69 4f 76 65 72  ge;..  int iOver
28350 6c 61 79 3b 0d 0a 20 20 69 6e 74 20 69 49 6e 64  lay;..  int iInd
28360 65 6e 74 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  ent;..  LPARAM l
28370 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  Param;..}..alias
28380 20 74 61 67 43 4f 4d 42 4f 42 4f 58 45 58 49 54   tagCOMBOBOXEXIT
28390 45 4d 41 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54  EMA COMBOBOXEXIT
283a0 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43  EMA;..alias tagC
283b0 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 2a 20  OMBOBOXEXITEMA* 
283c0 50 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41  PCOMBOBOXEXITEMA
283d0 3b 0d 0a 0d 0a 61 6c 69 61 73 20 43 4f 4d 42 4f  ;....alias COMBO
283e0 42 4f 58 45 58 49 54 45 4d 41 2a 20 50 43 43 4f  BOXEXITEMA* PCCO
283f0 4d 42 4f 45 58 49 54 45 4d 41 3b 0d 0a 0d 0a 73  MBOEXITEMA;....s
28400 74 72 75 63 74 20 74 61 67 43 4f 4d 42 4f 42 4f  truct tagCOMBOBO
28410 58 45 58 49 54 45 4d 57 20 7b 0d 0a 20 20 55 49  XEXITEMW {..  UI
28420 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 49 4e 54 5f  NT mask;..  INT_
28430 50 54 52 20 69 49 74 65 6d 3b 0d 0a 20 20 4c 50  PTR iItem;..  LP
28440 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20  WSTR pszText;.. 
28450 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b   int cchTextMax;
28460 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d  ..  int iImage;.
28470 0a 20 20 69 6e 74 20 69 53 65 6c 65 63 74 65 64  .  int iSelected
28480 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 4f  Image;..  int iO
28490 76 65 72 6c 61 79 3b 0d 0a 20 20 69 6e 74 20 69  verlay;..  int i
284a0 49 6e 64 65 6e 74 3b 0d 0a 20 20 4c 50 41 52 41  Indent;..  LPARA
284b0 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c  M lParam;..}..al
284c0 69 61 73 20 74 61 67 43 4f 4d 42 4f 42 4f 58 45  ias tagCOMBOBOXE
284d0 58 49 54 45 4d 57 20 43 4f 4d 42 4f 42 4f 58 45  XITEMW COMBOBOXE
284e0 58 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 74  XITEMW;..alias t
284f0 61 67 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d  agCOMBOBOXEXITEM
28500 57 2a 20 50 43 4f 4d 42 4f 42 4f 58 45 58 49 54  W* PCOMBOBOXEXIT
28510 45 4d 57 3b 0d 0a 0d 0a 61 6c 69 61 73 20 43 4f  EMW;....alias CO
28520 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 2a 20 50  MBOBOXEXITEMW* P
28530 43 43 4f 4d 42 4f 45 58 49 54 45 4d 57 3b 0d 0a  CCOMBOEXITEMW;..
28540 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
28550 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
28560 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
28570 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
28580 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 20  COMBOBOXEXITEMA 
28590 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 3b 0d  COMBOBOXEXITEM;.
285a0 0a 61 6c 69 61 73 20 50 43 4f 4d 42 4f 42 4f 58  .alias PCOMBOBOX
285b0 45 58 49 54 45 4d 41 20 50 43 4f 4d 42 4f 42 4f  EXITEMA PCOMBOBO
285c0 58 45 58 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20  XEXITEM;..alias 
285d0 50 43 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d  PCCOMBOBOXEXITEM
285e0 41 20 50 43 43 4f 4d 42 4f 42 4f 58 45 58 49 54  A PCCOMBOBOXEXIT
285f0 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  EM;..// #endif..
28600 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28610 43 42 45 4d 5f 49 4e 53 45 52 54 49 54 45 4d 41  CBEM_INSERTITEMA
28620 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 20 7d   = WM_USER + 1 }
28630 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28640 43 42 45 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53  CBEM_SETIMAGELIS
28650 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 20  T = WM_USER + 2 
28660 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
28670 20 43 42 45 4d 5f 47 45 54 49 4d 41 47 45 4c 49   CBEM_GETIMAGELI
28680 53 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33  ST = WM_USER + 3
28690 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
286a0 7b 20 43 42 45 4d 5f 47 45 54 49 54 45 4d 41 20  { CBEM_GETITEMA 
286b0 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 20 7d 0d  = WM_USER + 4 }.
286c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
286d0 42 45 4d 5f 53 45 54 49 54 45 4d 41 20 3d 20 57  BEM_SETITEMA = W
286e0 4d 5f 55 53 45 52 20 2b 20 35 20 7d 0d 0a 61 6c  M_USER + 5 }..al
286f0 69 61 73 20 43 42 5f 44 45 4c 45 54 45 53 54 52  ias CB_DELETESTR
28700 49 4e 47 20 43 42 45 4d 5f 44 45 4c 45 54 45 49  ING CBEM_DELETEI
28710 54 45 4d 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  TEM;..enum : uin
28720 74 20 7b 20 43 42 45 4d 5f 47 45 54 43 4f 4d 42  t { CBEM_GETCOMB
28730 4f 43 4f 4e 54 52 4f 4c 20 3d 20 57 4d 5f 55 53  OCONTROL = WM_US
28740 45 52 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  ER + 6 }..enum :
28750 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 45 54   uint { CBEM_GET
28760 45 44 49 54 43 4f 4e 54 52 4f 4c 20 3d 20 57 4d  EDITCONTROL = WM
28770 5f 55 53 45 52 20 2b 20 37 20 7d 0d 0a 2f 2f 20  _USER + 7 }..// 
28780 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
28790 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
287a0 3a 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 53 45  : uint { CBEM_SE
287b0 54 45 58 53 54 59 4c 45 20 3d 20 57 4d 5f 55 53  TEXSTYLE = WM_US
287c0 45 52 20 2b 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a  ER + 8 }..enum :
287d0 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 53 45 54   uint { CBEM_SET
287e0 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 3d 20  EXTENDEDSTYLE = 
287f0 57 4d 5f 55 53 45 52 20 2b 20 31 34 20 7d 0d 0a  WM_USER + 14 }..
28800 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
28810 45 4d 5f 47 45 54 45 58 53 54 59 4c 45 20 3d 20  EM_GETEXSTYLE = 
28820 57 4d 5f 55 53 45 52 20 2b 20 39 20 7d 0d 0a 65  WM_USER + 9 }..e
28830 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45  num : uint { CBE
28840 4d 5f 47 45 54 45 58 54 45 4e 44 45 44 53 54 59  M_GETEXTENDEDSTY
28850 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39  LE = WM_USER + 9
28860 20 7d 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45   }..alias CCM_SE
28870 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 43  TUNICODEFORMAT C
28880 42 45 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f  BEM_SETUNICODEFO
28890 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 43 43 4d  RMAT;..alias CCM
288a0 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _GETUNICODEFORMA
288b0 54 20 43 42 45 4d 5f 47 45 54 55 4e 49 43 4f 44  T CBEM_GETUNICOD
288c0 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 65 6c  EFORMAT;..// #el
288d0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
288e0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
288f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
28900 42 45 4d 5f 48 41 53 45 44 49 54 43 48 41 4e 47  BEM_HASEDITCHANG
28910 45 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  ED = WM_USER + 1
28920 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
28930 20 7b 20 43 42 45 4d 5f 49 4e 53 45 52 54 49 54   { CBEM_INSERTIT
28940 45 4d 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  EMW = WM_USER + 
28950 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
28960 74 20 7b 20 43 42 45 4d 5f 53 45 54 49 54 45 4d  t { CBEM_SETITEM
28970 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 32  W = WM_USER + 12
28980 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28990 7b 20 43 42 45 4d 5f 47 45 54 49 54 45 4d 57 20  { CBEM_GETITEMW 
289a0 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 20 7d  = WM_USER + 13 }
289b0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
289c0 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
289d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
289e0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
289f0 73 20 43 42 45 4d 5f 49 4e 53 45 52 54 49 54 45  s CBEM_INSERTITE
28a00 4d 41 20 43 42 45 4d 5f 49 4e 53 45 52 54 49 54  MA CBEM_INSERTIT
28a10 45 4d 3b 0d 0a 61 6c 69 61 73 20 43 42 45 4d 5f  EM;..alias CBEM_
28a20 53 45 54 49 54 45 4d 41 20 43 42 45 4d 5f 53 45  SETITEMA CBEM_SE
28a30 54 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 43 42  TITEM;..alias CB
28a40 45 4d 5f 47 45 54 49 54 45 4d 41 20 43 42 45 4d  EM_GETITEMA CBEM
28a50 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65  _GETITEM;..// #e
28a60 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
28a70 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
28a80 30 78 35 30 31 29 0d 0a 61 6c 69 61 73 20 43 43  0x501)..alias CC
28a90 4d 5f 53 45 54 57 49 4e 44 4f 57 54 48 45 4d 45  M_SETWINDOWTHEME
28aa0 20 43 42 45 4d 5f 53 45 54 57 49 4e 44 4f 57 54   CBEM_SETWINDOWT
28ab0 48 45 4d 45 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  HEME;..// #endif
28ac0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
28ad0 7b 20 43 42 45 53 5f 45 58 5f 4e 4f 45 44 49 54  { CBES_EX_NOEDIT
28ae0 49 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30 30  IMAGE = 0x000000
28af0 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
28b00 74 20 7b 20 43 42 45 53 5f 45 58 5f 4e 4f 45 44  t { CBES_EX_NOED
28b10 49 54 49 4d 41 47 45 49 4e 44 45 4e 54 20 3d 20  ITIMAGEINDENT = 
28b20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
28b30 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 53  um : uint { CBES
28b40 5f 45 58 5f 50 41 54 48 57 4f 52 44 42 52 45 41  _EX_PATHWORDBREA
28b50 4b 50 52 4f 43 20 3d 20 30 78 30 30 30 30 30 30  KPROC = 0x000000
28b60 30 34 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  04 }..// #if (_W
28b70 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
28b80 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
28b90 7b 20 43 42 45 53 5f 45 58 5f 4e 4f 53 49 5a 45  { CBES_EX_NOSIZE
28ba0 4c 49 4d 49 54 20 3d 20 30 78 30 30 30 30 30 30  LIMIT = 0x000000
28bb0 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
28bc0 74 20 7b 20 43 42 45 53 5f 45 58 5f 43 41 53 45  t { CBES_EX_CASE
28bd0 53 45 4e 53 49 54 49 56 45 20 3d 20 30 78 30 30  SENSITIVE = 0x00
28be0 30 30 30 30 31 30 20 7d 0d 0a 0d 0a 73 74 72 75  000010 }....stru
28bf0 63 74 20 5f 39 20 7b 0d 0a 20 20 4e 4d 48 44 52  ct _9 {..  NMHDR
28c00 20 68 64 72 3b 0d 0a 20 20 43 4f 4d 42 4f 42 4f   hdr;..  COMBOBO
28c10 58 45 58 49 54 45 4d 41 20 63 65 49 74 65 6d 3b  XEXITEMA ceItem;
28c20 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 39 20 4e 4d  ..}..alias _9 NM
28c30 43 4f 4d 42 4f 42 4f 58 45 58 41 3b 0d 0a 61 6c  COMBOBOXEXA;..al
28c40 69 61 73 20 5f 39 2a 20 50 4e 4d 43 4f 4d 42 4f  ias _9* PNMCOMBO
28c50 42 4f 58 45 58 41 3b 0d 0a 0d 0a 73 74 72 75 63  BOXEXA;....struc
28c60 74 20 5f 31 30 20 7b 0d 0a 20 20 4e 4d 48 44 52  t _10 {..  NMHDR
28c70 20 68 64 72 3b 0d 0a 20 20 43 4f 4d 42 4f 42 4f   hdr;..  COMBOBO
28c80 58 45 58 49 54 45 4d 57 20 63 65 49 74 65 6d 3b  XEXITEMW ceItem;
28c90 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 30 20 4e  ..}..alias _10 N
28ca0 4d 43 4f 4d 42 4f 42 4f 58 45 58 57 3b 0d 0a 61  MCOMBOBOXEXW;..a
28cb0 6c 69 61 73 20 5f 31 30 2a 20 50 4e 4d 43 4f 4d  lias _10* PNMCOM
28cc0 42 4f 42 4f 58 45 58 57 3b 0d 0a 0d 0a 2f 2f 20  BOBOXEXW;....// 
28cd0 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
28ce0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
28cf0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
28d00 6c 73 65 0d 0a 61 6c 69 61 73 20 4e 4d 43 4f 4d  lse..alias NMCOM
28d10 42 4f 42 4f 58 45 58 41 20 4e 4d 43 4f 4d 42 4f  BOBOXEXA NMCOMBO
28d20 42 4f 58 45 58 3b 0d 0a 61 6c 69 61 73 20 50 4e  BOXEX;..alias PN
28d30 4d 43 4f 4d 42 4f 42 4f 58 45 58 41 20 50 4e 4d  MCOMBOBOXEXA PNM
28d40 43 4f 4d 42 4f 42 4f 58 45 58 3b 0d 0a 61 6c 69  COMBOBOXEX;..ali
28d50 61 73 20 43 42 45 4e 5f 47 45 54 44 49 53 50 49  as CBEN_GETDISPI
28d60 4e 46 4f 41 20 43 42 45 4e 5f 47 45 54 44 49 53  NFOA CBEN_GETDIS
28d70 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6e 64 69  PINFO;..// #endi
28d80 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  f....// #else../
28d90 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e  / .......// #...
28da0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20  ....// #endif   
28db0 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20     // _WIN32_IE 
28dc0 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20  >= 0x0400....// 
28dd0 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
28de0 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 64  = 0x0400)..// #d
28df0 65 66 69 6e 65 20 43 42 45 4e 5f 47 45 54 44 49  efine CBEN_GETDI
28e00 53 50 49 4e 46 4f 41 20 28 43 42 45 4e 5f 46 49  SPINFOA (CBEN_FI
28e10 52 53 54 20 2d 20 30 29 0d 0a 2f 2f 20 23 65 6e  RST - 0)..// #en
28e20 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  dif..enum : uint
28e30 20 7b 20 43 42 45 4e 5f 49 4e 53 45 52 54 49 54   { CBEN_INSERTIT
28e40 45 4d 20 3d 20 43 42 45 4e 5f 46 49 52 53 54 20  EM = CBEN_FIRST 
28e50 2d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  - 1 }..enum : ui
28e60 6e 74 20 7b 20 43 42 45 4e 5f 44 45 4c 45 54 45  nt { CBEN_DELETE
28e70 49 54 45 4d 20 3d 20 43 42 45 4e 5f 46 49 52 53  ITEM = CBEN_FIRS
28e80 54 20 2d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T - 2 }..enum : 
28e90 75 69 6e 74 20 7b 20 43 42 45 4e 5f 42 45 47 49  uint { CBEN_BEGI
28ea0 4e 45 44 49 54 20 3d 20 43 42 45 4e 5f 46 49 52  NEDIT = CBEN_FIR
28eb0 53 54 20 2d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  ST - 4 }..enum :
28ec0 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 45 4e 44   uint { CBEN_END
28ed0 45 44 49 54 41 20 3d 20 43 42 45 4e 5f 46 49 52  EDITA = CBEN_FIR
28ee0 53 54 20 2d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  ST - 5 }..enum :
28ef0 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 45 4e 44   uint { CBEN_END
28f00 45 44 49 54 57 20 3d 20 43 42 45 4e 5f 46 49 52  EDITW = CBEN_FIR
28f10 53 54 20 2d 20 36 20 7d 0d 0a 0d 0a 2f 2f 20 23  ST - 6 }....// #
28f20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
28f30 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20 23 64 65   0x0400)..// #de
28f40 66 69 6e 65 20 43 42 45 4e 5f 47 45 54 44 49 53  fine CBEN_GETDIS
28f50 50 49 4e 46 4f 57 20 28 43 42 45 4e 5f 46 49 52  PINFOW (CBEN_FIR
28f60 53 54 20 2d 20 37 29 0d 0a 2f 2f 20 23 65 6e 64  ST - 7)..// #end
28f70 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  if....// #if (_W
28f80 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
28f90 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
28fa0 7b 20 43 42 45 4e 5f 44 52 41 47 42 45 47 49 4e  { CBEN_DRAGBEGIN
28fb0 41 20 3d 20 43 42 45 4e 5f 46 49 52 53 54 20 2d  A = CBEN_FIRST -
28fc0 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   8 }..enum : uin
28fd0 74 20 7b 20 43 42 45 4e 5f 44 52 41 47 42 45 47  t { CBEN_DRAGBEG
28fe0 49 4e 57 20 3d 20 43 42 45 4e 5f 46 49 52 53 54  INW = CBEN_FIRST
28ff0 20 2d 20 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   - 9 }....// #if
29000 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
29010 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
29020 61 6c 69 61 73 20 43 42 45 4e 5f 44 52 41 47 42  alias CBEN_DRAGB
29030 45 47 49 4e 41 20 43 42 45 4e 5f 44 52 41 47 42  EGINA CBEN_DRAGB
29040 45 47 49 4e 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  EGIN;..// #endif
29050 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f  ....// #endif  /
29060 2f 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30  /(_WIN32_IE >= 0
29070 78 30 34 30 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66  x0400)....// #if
29080 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
29090 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
290a0 61 6c 69 61 73 20 43 42 45 4e 5f 45 4e 44 45 44  alias CBEN_ENDED
290b0 49 54 41 20 43 42 45 4e 5f 45 4e 44 45 44 49 54  ITA CBEN_ENDEDIT
290c0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
290d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
290e0 45 4e 46 5f 4b 49 4c 4c 46 4f 43 55 53 20 3d 20  ENF_KILLFOCUS = 
290f0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
29100 20 7b 20 43 42 45 4e 46 5f 52 45 54 55 52 4e 20   { CBENF_RETURN 
29110 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
29120 6e 74 20 7b 20 43 42 45 4e 46 5f 45 53 43 41 50  nt { CBENF_ESCAP
29130 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 3 }..enum : 
29140 75 69 6e 74 20 7b 20 43 42 45 4e 46 5f 44 52 4f  uint { CBENF_DRO
29150 50 44 4f 57 4e 20 3d 20 34 20 7d 0d 0a 0d 0a 65  PDOWN = 4 }....e
29160 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45  num : uint { CBE
29170 4d 41 58 53 54 52 4c 45 4e 20 3d 20 32 36 30 20  MAXSTRLEN = 260 
29180 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  }....// #if (_WI
29190 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
291a0 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 31 20  )....struct _11 
291b0 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d  {..  NMHDR hdr;.
291c0 0a 20 20 69 6e 74 20 69 49 74 65 6d 69 64 3b 0d  .  int iItemid;.
291d0 0a 20 20 57 43 48 41 52 20 73 7a 54 65 78 74 5b  .  WCHAR szText[
291e0 43 42 45 4d 41 58 53 54 52 4c 45 4e 5d 3b 0d 0a  CBEMAXSTRLEN];..
291f0 7d 0d 0a 61 6c 69 61 73 20 5f 31 31 20 4e 4d 43  }..alias _11 NMC
29200 42 45 44 52 41 47 42 45 47 49 4e 57 3b 0d 0a 61  BEDRAGBEGINW;..a
29210 6c 69 61 73 20 5f 31 31 2a 20 4c 50 4e 4d 43 42  lias _11* LPNMCB
29220 45 44 52 41 47 42 45 47 49 4e 57 3b 0d 0a 61 6c  EDRAGBEGINW;..al
29230 69 61 73 20 5f 31 31 2a 20 50 4e 4d 43 42 45 44  ias _11* PNMCBED
29240 52 41 47 42 45 47 49 4e 57 3b 0d 0a 0d 0a 73 74  RAGBEGINW;....st
29250 72 75 63 74 20 5f 31 32 20 7b 0d 0a 20 20 4e 4d  ruct _12 {..  NM
29260 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20  HDR hdr;..  int 
29270 69 49 74 65 6d 69 64 3b 0d 0a 20 20 63 68 61 72  iItemid;..  char
29280 20 73 7a 54 65 78 74 5b 43 42 45 4d 41 58 53 54   szText[CBEMAXST
29290 52 4c 45 4e 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  RLEN];..}..alias
292a0 20 5f 31 32 20 4e 4d 43 42 45 44 52 41 47 42 45   _12 NMCBEDRAGBE
292b0 47 49 4e 41 3b 0d 0a 61 6c 69 61 73 20 5f 31 32  GINA;..alias _12
292c0 2a 20 4c 50 4e 4d 43 42 45 44 52 41 47 42 45 47  * LPNMCBEDRAGBEG
292d0 49 4e 41 3b 0d 0a 61 6c 69 61 73 20 5f 31 32 2a  INA;..alias _12*
292e0 20 50 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e   PNMCBEDRAGBEGIN
292f0 41 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  A;....// #ifdef 
29300 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
29310 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
29320 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
29330 69 61 73 20 4e 4d 43 42 45 44 52 41 47 42 45 47  ias NMCBEDRAGBEG
29340 49 4e 41 20 4e 4d 43 42 45 44 52 41 47 42 45 47  INA NMCBEDRAGBEG
29350 49 4e 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 43  IN;..alias LPNMC
29360 42 45 44 52 41 47 42 45 47 49 4e 41 20 4c 50 4e  BEDRAGBEGINA LPN
29370 4d 43 42 45 44 52 41 47 42 45 47 49 4e 3b 0d 0a  MCBEDRAGBEGIN;..
29380 61 6c 69 61 73 20 50 4e 4d 43 42 45 44 52 41 47  alias PNMCBEDRAG
29390 42 45 47 49 4e 41 20 50 4e 4d 43 42 45 44 52 41  BEGINA PNMCBEDRA
293a0 47 42 45 47 49 4e 3b 0d 0a 2f 2f 20 23 65 6e 64  GBEGIN;..// #end
293b0 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20  if..// #endif   
293c0 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20     // _WIN32_IE 
293d0 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 73 74 72  >= 0x0400....str
293e0 75 63 74 20 5f 31 33 20 7b 0d 0a 20 20 4e 4d 48  uct _13 {..  NMH
293f0 44 52 20 68 64 72 3b 0d 0a 20 20 42 4f 4f 4c 20  DR hdr;..  BOOL 
29400 66 43 68 61 6e 67 65 64 3b 0d 0a 20 20 69 6e 74  fChanged;..  int
29410 20 69 4e 65 77 53 65 6c 65 63 74 69 6f 6e 3b 0d   iNewSelection;.
29420 0a 20 20 57 43 48 41 52 20 73 7a 54 65 78 74 5b  .  WCHAR szText[
29430 43 42 45 4d 41 58 53 54 52 4c 45 4e 5d 3b 0d 0a  CBEMAXSTRLEN];..
29440 20 20 69 6e 74 20 69 57 68 79 3b 0d 0a 7d 0d 0a    int iWhy;..}..
29450 61 6c 69 61 73 20 5f 31 33 20 4e 4d 43 42 45 45  alias _13 NMCBEE
29460 4e 44 45 44 49 54 57 3b 0d 0a 61 6c 69 61 73 20  NDEDITW;..alias 
29470 5f 31 33 2a 20 4c 50 4e 4d 43 42 45 45 4e 44 45  _13* LPNMCBEENDE
29480 44 49 54 57 3b 0d 0a 61 6c 69 61 73 20 5f 31 33  DITW;..alias _13
29490 2a 20 50 4e 4d 43 42 45 45 4e 44 45 44 49 54 57  * PNMCBEENDEDITW
294a0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 34 20  ;....struct _14 
294b0 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d  {..  NMHDR hdr;.
294c0 0a 20 20 42 4f 4f 4c 20 66 43 68 61 6e 67 65 64  .  BOOL fChanged
294d0 3b 0d 0a 20 20 69 6e 74 20 69 4e 65 77 53 65 6c  ;..  int iNewSel
294e0 65 63 74 69 6f 6e 3b 0d 0a 20 20 63 68 61 72 20  ection;..  char 
294f0 73 7a 54 65 78 74 5b 43 42 45 4d 41 58 53 54 52  szText[CBEMAXSTR
29500 4c 45 4e 5d 3b 0d 0a 20 20 69 6e 74 20 69 57 68  LEN];..  int iWh
29510 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 34  y;..}..alias _14
29520 20 4e 4d 43 42 45 45 4e 44 45 44 49 54 41 3b 0d   NMCBEENDEDITA;.
29530 0a 61 6c 69 61 73 20 5f 31 34 2a 20 4c 50 4e 4d  .alias _14* LPNM
29540 43 42 45 45 4e 44 45 44 49 54 41 3b 0d 0a 61 6c  CBEENDEDITA;..al
29550 69 61 73 20 5f 31 34 2a 20 50 4e 4d 43 42 45 45  ias _14* PNMCBEE
29560 4e 44 45 44 49 54 41 3b 0d 0a 0d 0a 2f 2f 20 23  NDEDITA;....// #
29570 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
29580 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
29590 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
295a0 73 65 0d 0a 61 6c 69 61 73 20 4e 4d 43 42 45 45  se..alias NMCBEE
295b0 4e 44 45 44 49 54 41 20 4e 4d 43 42 45 45 4e 44  NDEDITA NMCBEEND
295c0 45 44 49 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e  EDIT;..alias LPN
295d0 4d 43 42 45 45 4e 44 45 44 49 54 41 20 4c 50 4e  MCBEENDEDITA LPN
295e0 4d 43 42 45 45 4e 44 45 44 49 54 3b 0d 0a 61 6c  MCBEENDEDIT;..al
295f0 69 61 73 20 50 4e 4d 43 42 45 45 4e 44 45 44 49  ias PNMCBEENDEDI
29600 54 41 20 50 4e 4d 43 42 45 45 4e 44 45 44 49 54  TA PNMCBEENDEDIT
29610 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
29620 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
29630 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f  #endif      // _
29640 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
29650 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  00....// #ifndef
29660 20 4e 4f 54 41 42 43 4f 4e 54 52 4f 4c 0d 0a 0d   NOTABCONTROL...
29670 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33  .// #ifdef _WIN3
29680 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b  2....const char[
29690 5d 20 57 43 5f 54 41 42 43 4f 4e 54 52 4f 4c 41  ] WC_TABCONTROLA
296a0 20 3d 20 22 53 79 73 54 61 62 43 6f 6e 74 72 6f   = "SysTabContro
296b0 6c 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68  l32";..const wch
296c0 61 72 5b 5d 20 57 43 5f 54 41 42 43 4f 4e 54 52  ar[] WC_TABCONTR
296d0 4f 4c 57 20 3d 20 22 53 79 73 54 61 62 43 6f 6e  OLW = "SysTabCon
296e0 74 72 6f 6c 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23  trol32";....// #
296f0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
29700 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
29710 0d 0a 61 6c 69 61 73 20 57 43 5f 54 41 42 43 4f  ..alias WC_TABCO
29720 4e 54 52 4f 4c 41 20 57 43 5f 54 41 42 43 4f 4e  NTROLA WC_TABCON
29730 54 52 4f 4c 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  TROL;..// #endif
29740 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
29750 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
29760 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
29770 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
29780 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29790 54 43 53 5f 53 43 52 4f 4c 4c 4f 50 50 4f 53 49  TCS_SCROLLOPPOSI
297a0 54 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  TE = 0x0001 }..e
297b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53  num : uint { TCS
297c0 5f 42 4f 54 54 4f 4d 20 3d 20 30 78 30 30 30 32  _BOTTOM = 0x0002
297d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
297e0 7b 20 54 43 53 5f 52 49 47 48 54 20 3d 20 30 78  { TCS_RIGHT = 0x
297f0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
29800 69 6e 74 20 7b 20 54 43 53 5f 4d 55 4c 54 49 53  int { TCS_MULTIS
29810 45 4c 45 43 54 20 3d 20 30 78 30 30 30 34 20 7d  ELECT = 0x0004 }
29820 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
29830 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
29840 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
29850 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 46 4c 41  : uint { TCS_FLA
29860 54 42 55 54 54 4f 4e 53 20 3d 20 30 78 30 30 30  TBUTTONS = 0x000
29870 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  8 }..// #endif..
29880 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
29890 53 5f 46 4f 52 43 45 49 43 4f 4e 4c 45 46 54 20  S_FORCEICONLEFT 
298a0 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
298b0 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 46 4f   : uint { TCS_FO
298c0 52 43 45 4c 41 42 45 4c 4c 45 46 54 20 3d 20 30  RCELABELLEFT = 0
298d0 78 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 69 66 20  x0020 }..// #if 
298e0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
298f0 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0300)..enum : ui
29900 6e 74 20 7b 20 54 43 53 5f 48 4f 54 54 52 41 43  nt { TCS_HOTTRAC
29910 4b 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65 6e  K = 0x0040 }..en
29920 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f  um : uint { TCS_
29930 56 45 52 54 49 43 41 4c 20 3d 20 30 78 30 30 38  VERTICAL = 0x008
29940 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  0 }..// #endif..
29950 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
29960 53 5f 54 41 42 53 20 3d 20 30 78 30 30 30 30 20  S_TABS = 0x0000 
29970 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
29980 20 54 43 53 5f 42 55 54 54 4f 4e 53 20 3d 20 30   TCS_BUTTONS = 0
29990 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0100 }..enum : 
299a0 75 69 6e 74 20 7b 20 54 43 53 5f 53 49 4e 47 4c  uint { TCS_SINGL
299b0 45 4c 49 4e 45 20 3d 20 30 78 30 30 30 30 20 7d  ELINE = 0x0000 }
299c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
299d0 54 43 53 5f 4d 55 4c 54 49 4c 49 4e 45 20 3d 20  TCS_MULTILINE = 
299e0 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0200 }..enum :
299f0 20 75 69 6e 74 20 7b 20 54 43 53 5f 52 49 47 48   uint { TCS_RIGH
29a00 54 4a 55 53 54 49 46 59 20 3d 20 30 78 30 30 30  TJUSTIFY = 0x000
29a10 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
29a20 20 7b 20 54 43 53 5f 46 49 58 45 44 57 49 44 54   { TCS_FIXEDWIDT
29a30 48 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e  H = 0x0400 }..en
29a40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f  um : uint { TCS_
29a50 52 41 47 47 45 44 52 49 47 48 54 20 3d 20 30 78  RAGGEDRIGHT = 0x
29a60 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0800 }..enum : u
29a70 69 6e 74 20 7b 20 54 43 53 5f 46 4f 43 55 53 4f  int { TCS_FOCUSO
29a80 4e 42 55 54 54 4f 4e 44 4f 57 4e 20 3d 20 30 78  NBUTTONDOWN = 0x
29a90 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  1000 }..enum : u
29aa0 69 6e 74 20 7b 20 54 43 53 5f 4f 57 4e 45 52 44  int { TCS_OWNERD
29ab0 52 41 57 46 49 58 45 44 20 3d 20 30 78 32 30 30  RAWFIXED = 0x200
29ac0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
29ad0 20 7b 20 54 43 53 5f 54 4f 4f 4c 54 49 50 53 20   { TCS_TOOLTIPS 
29ae0 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x4000 }..enum
29af0 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 46 4f   : uint { TCS_FO
29b00 43 55 53 4e 45 56 45 52 20 3d 20 30 78 38 30 30  CUSNEVER = 0x800
29b10 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  0 }....// #if (_
29b20 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
29b30 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  00)....enum : ui
29b40 6e 74 20 7b 20 54 43 53 5f 45 58 5f 46 4c 41 54  nt { TCS_EX_FLAT
29b50 53 45 50 41 52 41 54 4f 52 53 20 3d 20 30 78 30  SEPARATORS = 0x0
29b60 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
29b70 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 45 58 5f  : uint { TCS_EX_
29b80 52 45 47 49 53 54 45 52 44 52 4f 50 20 3d 20 30  REGISTERDROP = 0
29b90 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 2f 2f 20  x00000002 }..// 
29ba0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
29bb0 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54 49   uint { TCM_GETI
29bc0 4d 41 47 45 4c 49 53 54 20 3d 20 54 43 4d 5f 46  MAGELIST = TCM_F
29bd0 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20 23  IRST + 2 }..// #
29be0 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 47  define TabCtrl_G
29bf0 65 74 49 6d 61 67 65 4c 69 73 74 28 68 77 6e 64  etImageList(hwnd
29c00 29 20 28 48 49 4d 41 47 45 4c 49 53 54 29 53 4e  ) (HIMAGELIST)SN
29c10 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d  DMSG((hwnd), TCM
29c20 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 30  _GETIMAGELIST, 0
29c30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  , 0L)....enum : 
29c40 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45 54 49 4d  uint { TCM_SETIM
29c50 41 47 45 4c 49 53 54 20 3d 20 54 43 4d 5f 46 49  AGELIST = TCM_FI
29c60 52 53 54 20 2b 20 33 20 7d 0d 0a 2f 2f 20 23 64  RST + 3 }..// #d
29c70 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 53 65  efine TabCtrl_Se
29c80 74 49 6d 61 67 65 4c 69 73 74 28 68 77 6e 64 2c  tImageList(hwnd,
29c90 20 68 69 6d 6c 29 20 28 48 49 4d 41 47 45 4c 49   himl) (HIMAGELI
29ca0 53 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  ST)SNDMSG((hwnd)
29cb0 2c 20 54 43 4d 5f 53 45 54 49 4d 41 47 45 4c 49  , TCM_SETIMAGELI
29cc0 53 54 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  ST, 0, (LPARAM)(
29cd0 48 49 4d 41 47 45 4c 49 53 54 29 28 68 69 6d 6c  HIMAGELIST)(himl
29ce0 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
29cf0 74 20 7b 20 54 43 4d 5f 47 45 54 49 54 45 4d 43  t { TCM_GETITEMC
29d00 4f 55 4e 54 20 3d 20 54 43 4d 5f 46 49 52 53 54  OUNT = TCM_FIRST
29d10 20 2b 20 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   + 4 }..// #defi
29d20 6e 65 20 54 61 62 43 74 72 6c 5f 47 65 74 49 74  ne TabCtrl_GetIt
29d30 65 6d 43 6f 75 6e 74 28 68 77 6e 64 29 20 28 69  emCount(hwnd) (i
29d40 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  nt)SNDMSG((hwnd)
29d50 2c 20 54 43 4d 5f 47 45 54 49 54 45 4d 43 4f 55  , TCM_GETITEMCOU
29d60 4e 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e  NT, 0, 0L)....en
29d70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 49 46  um : uint { TCIF
29d80 5f 54 45 58 54 20 3d 20 30 78 30 30 30 31 20 7d  _TEXT = 0x0001 }
29d90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29da0 54 43 49 46 5f 49 4d 41 47 45 20 3d 20 30 78 30  TCIF_IMAGE = 0x0
29db0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
29dc0 6e 74 20 7b 20 54 43 49 46 5f 52 54 4c 52 45 41  nt { TCIF_RTLREA
29dd0 44 49 4e 47 20 3d 20 30 78 30 30 30 34 20 7d 0d  DING = 0x0004 }.
29de0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
29df0 43 49 46 5f 50 41 52 41 4d 20 3d 20 30 78 30 30  CIF_PARAM = 0x00
29e00 30 38 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  08 }..// #if (_W
29e10 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
29e20 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
29e30 7b 20 54 43 49 46 5f 53 54 41 54 45 20 3d 20 30  { TCIF_STATE = 0
29e40 78 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0010 }....enum 
29e50 3a 20 75 69 6e 74 20 7b 20 54 43 49 53 5f 42 55  : uint { TCIS_BU
29e60 54 54 4f 4e 50 52 45 53 53 45 44 20 3d 20 30 78  TTONPRESSED = 0x
29e70 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0001 }..// #endi
29e80 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  f..// #if (_WIN3
29e90 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
29ea0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
29eb0 43 49 53 5f 48 49 47 48 4c 49 47 48 54 45 44 20  CIS_HIGHLIGHTED 
29ec0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 2f 2f 20 23  = 0x0002 }..// #
29ed0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
29ee0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
29ef0 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 54 43 49  0300)..alias TCI
29f00 54 45 4d 48 45 41 44 45 52 41 20 54 43 5f 49 54  TEMHEADERA TC_IT
29f10 45 4d 48 45 41 44 45 52 41 3b 0d 0a 61 6c 69 61  EMHEADERA;..alia
29f20 73 20 54 43 49 54 45 4d 48 45 41 44 45 52 57 20  s TCITEMHEADERW 
29f30 54 43 5f 49 54 45 4d 48 45 41 44 45 52 57 3b 0d  TC_ITEMHEADERW;.
29f40 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
29f50 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
29f60 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
29f70 2f 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20  / #endif..alias 
29f80 54 43 49 54 45 4d 48 45 41 44 45 52 20 54 43 5f  TCITEMHEADER TC_
29f90 49 54 45 4d 48 45 41 44 45 52 3b 0d 0a 0d 0a 73  ITEMHEADER;....s
29fa0 74 72 75 63 74 20 74 61 67 54 43 49 54 45 4d 48  truct tagTCITEMH
29fb0 45 41 44 45 52 41 20 7b 0d 0a 20 20 55 49 4e 54  EADERA {..  UINT
29fc0 20 6d 61 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 6c   mask;..  UINT l
29fd0 70 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 55  pReserved1;..  U
29fe0 49 4e 54 20 6c 70 52 65 73 65 72 76 65 64 32 3b  INT lpReserved2;
29ff0 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78  ..  LPSTR pszTex
2a000 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78  t;..  int cchTex
2a010 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d  tMax;..  int iIm
2a020 61 67 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  age;..}..alias t
2a030 61 67 54 43 49 54 45 4d 48 45 41 44 45 52 41 20  agTCITEMHEADERA 
2a040 54 43 49 54 45 4d 48 45 41 44 45 52 41 3b 0d 0a  TCITEMHEADERA;..
2a050 61 6c 69 61 73 20 74 61 67 54 43 49 54 45 4d 48  alias tagTCITEMH
2a060 45 41 44 45 52 41 2a 20 4c 50 54 43 49 54 45 4d  EADERA* LPTCITEM
2a070 48 45 41 44 45 52 41 3b 0d 0a 0d 0a 73 74 72 75  HEADERA;....stru
2a080 63 74 20 74 61 67 54 43 49 54 45 4d 48 45 41 44  ct tagTCITEMHEAD
2a090 45 52 57 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61  ERW {..  UINT ma
2a0a0 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 6c 70 52 65  sk;..  UINT lpRe
2a0b0 73 65 72 76 65 64 31 3b 0d 0a 20 20 55 49 4e 54  served1;..  UINT
2a0c0 20 6c 70 52 65 73 65 72 76 65 64 32 3b 0d 0a 20   lpReserved2;.. 
2a0d0 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b   LPWSTR pszText;
2a0e0 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d  ..  int cchTextM
2a0f0 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67  ax;..  int iImag
2a100 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  e;..}..alias tag
2a110 54 43 49 54 45 4d 48 45 41 44 45 52 57 20 54 43  TCITEMHEADERW TC
2a120 49 54 45 4d 48 45 41 44 45 52 57 3b 0d 0a 61 6c  ITEMHEADERW;..al
2a130 69 61 73 20 74 61 67 54 43 49 54 45 4d 48 45 41  ias tagTCITEMHEA
2a140 44 45 52 57 2a 20 4c 50 54 43 49 54 45 4d 48 45  DERW* LPTCITEMHE
2a150 41 44 45 52 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  ADERW;....// #if
2a160 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
2a170 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2a180 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 54  / #else..alias T
2a190 43 49 54 45 4d 48 45 41 44 45 52 41 20 54 43 49  CITEMHEADERA TCI
2a1a0 54 45 4d 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61  TEMHEADER;..alia
2a1b0 73 20 4c 50 54 43 49 54 45 4d 48 45 41 44 45 52  s LPTCITEMHEADER
2a1c0 41 20 4c 50 54 43 49 54 45 4d 48 45 41 44 45 52  A LPTCITEMHEADER
2a1d0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
2a1e0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
2a1f0 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c  E >= 0x0300)..al
2a200 69 61 73 20 54 43 49 54 45 4d 41 20 54 43 5f 49  ias TCITEMA TC_I
2a210 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 54 43 49  TEMA;..alias TCI
2a220 54 45 4d 57 20 54 43 5f 49 54 45 4d 57 3b 0d 0a  TEMW TC_ITEMW;..
2a230 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
2a240 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
2a250 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
2a260 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20 54   #endif..alias T
2a270 43 49 54 45 4d 20 54 43 5f 49 54 45 4d 3b 0d 0a  CITEM TC_ITEM;..
2a280 0d 0a 73 74 72 75 63 74 20 74 61 67 54 43 49 54  ..struct tagTCIT
2a290 45 4d 41 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61  EMA {..  UINT ma
2a2a0 73 6b 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  sk;..// #if (_WI
2a2b0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
2a2c0 29 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 61  )..  DWORD dwSta
2a2d0 74 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  te;..  DWORD dwS
2a2e0 74 61 74 65 4d 61 73 6b 3b 0d 0a 2f 2f 20 23 65  tateMask;..// #e
2a2f0 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
2a300 23 65 6e 64 69 66 0d 0a 20 20 4c 50 53 54 52 20  #endif..  LPSTR 
2a310 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20  pszText;..  int 
2a320 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69  cchTextMax;..  i
2a330 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 4c 50  nt iImage;..  LP
2a340 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d  ARAM lParam;..}.
2a350 0a 61 6c 69 61 73 20 74 61 67 54 43 49 54 45 4d  .alias tagTCITEM
2a360 41 20 54 43 49 54 45 4d 41 3b 0d 0a 61 6c 69 61  A TCITEMA;..alia
2a370 73 20 74 61 67 54 43 49 54 45 4d 41 2a 20 4c 50  s tagTCITEMA* LP
2a380 54 43 49 54 45 4d 41 3b 0d 0a 0d 0a 73 74 72 75  TCITEMA;....stru
2a390 63 74 20 74 61 67 54 43 49 54 45 4d 57 20 7b 0d  ct tagTCITEMW {.
2a3a0 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 2f  .  UINT mask;../
2a3b0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
2a3c0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 44   >= 0x0300)..  D
2a3d0 57 4f 52 44 20 64 77 53 74 61 74 65 3b 0d 0a 20  WORD dwState;.. 
2a3e0 20 44 57 4f 52 44 20 64 77 53 74 61 74 65 4d 61   DWORD dwStateMa
2a3f0 73 6b 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  sk;..// #else../
2a400 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
2a410 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65  ..  LPWSTR pszTe
2a420 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65  xt;..  int cchTe
2a430 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49  xtMax;..  int iI
2a440 6d 61 67 65 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  mage;..  LPARAM 
2a450 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61  lParam;..}..alia
2a460 73 20 74 61 67 54 43 49 54 45 4d 57 20 54 43 49  s tagTCITEMW TCI
2a470 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  TEMW;..alias tag
2a480 54 43 49 54 45 4d 57 2a 20 4c 50 54 43 49 54 45  TCITEMW* LPTCITE
2a490 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  MW;....// #ifdef
2a4a0 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
2a4b0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
2a4c0 65 6c 73 65 0d 0a 61 6c 69 61 73 20 54 43 49 54  else..alias TCIT
2a4d0 45 4d 41 20 54 43 49 54 45 4d 3b 0d 0a 61 6c 69  EMA TCITEM;..ali
2a4e0 61 73 20 4c 50 54 43 49 54 45 4d 41 20 4c 50 54  as LPTCITEMA LPT
2a4f0 43 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69  CITEM;..// #endi
2a500 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
2a510 20 7b 20 54 43 4d 5f 47 45 54 49 54 45 4d 41 20   { TCM_GETITEMA 
2a520 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 35 20  = TCM_FIRST + 5 
2a530 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2a540 20 54 43 4d 5f 47 45 54 49 54 45 4d 57 20 3d 20   TCM_GETITEMW = 
2a550 54 43 4d 5f 46 49 52 53 54 20 2b 20 36 30 20 7d  TCM_FIRST + 60 }
2a560 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
2a570 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
2a580 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
2a590 54 43 4d 5f 47 45 54 49 54 45 4d 41 20 54 43 4d  TCM_GETITEMA TCM
2a5a0 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65  _GETITEM;..// #e
2a5b0 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  ndif....// #defi
2a5c0 6e 65 20 54 61 62 43 74 72 6c 5f 47 65 74 49 74  ne TabCtrl_GetIt
2a5d0 65 6d 28 68 77 6e 64 2c 20 69 49 74 65 6d 2c 20  em(hwnd, iItem, 
2a5e0 70 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44  pitem) (BOOL)SND
2a5f0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f  MSG((hwnd), TCM_
2a600 47 45 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d  GETITEM, (WPARAM
2a610 29 28 69 6e 74 29 28 69 49 74 65 6d 29 2c 20 28  )(int)(iItem), (
2a620 4c 50 41 52 41 4d 29 28 54 43 5f 49 54 45 4d 20  LPARAM)(TC_ITEM 
2a630 2a 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e  *)(pitem))....en
2a640 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f  um : uint { TCM_
2a650 53 45 54 49 54 45 4d 41 20 3d 20 54 43 4d 5f 46  SETITEMA = TCM_F
2a660 49 52 53 54 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d  IRST + 6 }..enum
2a670 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45   : uint { TCM_SE
2a680 54 49 54 45 4d 57 20 3d 20 54 43 4d 5f 46 49 52  TITEMW = TCM_FIR
2a690 53 54 20 2b 20 36 31 20 7d 0d 0a 0d 0a 2f 2f 20  ST + 61 }....// 
2a6a0 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
2a6b0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
2a6c0 65 0d 0a 61 6c 69 61 73 20 54 43 4d 5f 53 45 54  e..alias TCM_SET
2a6d0 49 54 45 4d 41 20 54 43 4d 5f 53 45 54 49 54 45  ITEMA TCM_SETITE
2a6e0 4d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  M;..// #endif...
2a6f0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43  .// #define TabC
2a700 74 72 6c 5f 53 65 74 49 74 65 6d 28 68 77 6e 64  trl_SetItem(hwnd
2a710 2c 20 69 49 74 65 6d 2c 20 70 69 74 65 6d 29 20  , iItem, pitem) 
2a720 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
2a730 6e 64 29 2c 20 54 43 4d 5f 53 45 54 49 54 45 4d  nd), TCM_SETITEM
2a740 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28  , (WPARAM)(int)(
2a750 69 49 74 65 6d 29 2c 20 28 4c 50 41 52 41 4d 29  iItem), (LPARAM)
2a760 28 54 43 5f 49 54 45 4d 20 2a 29 28 70 69 74 65  (TC_ITEM *)(pite
2a770 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  m))....enum : ui
2a780 6e 74 20 7b 20 54 43 4d 5f 49 4e 53 45 52 54 49  nt { TCM_INSERTI
2a790 54 45 4d 41 20 3d 20 54 43 4d 5f 46 49 52 53 54  TEMA = TCM_FIRST
2a7a0 20 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 7 }..enum : u
2a7b0 69 6e 74 20 7b 20 54 43 4d 5f 49 4e 53 45 52 54  int { TCM_INSERT
2a7c0 49 54 45 4d 57 20 3d 20 54 43 4d 5f 46 49 52 53  ITEMW = TCM_FIRS
2a7d0 54 20 2b 20 36 32 20 7d 0d 0a 0d 0a 2f 2f 20 23  T + 62 }....// #
2a7e0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
2a7f0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2a800 0d 0a 61 6c 69 61 73 20 54 43 4d 5f 49 4e 53 45  ..alias TCM_INSE
2a810 52 54 49 54 45 4d 41 20 54 43 4d 5f 49 4e 53 45  RTITEMA TCM_INSE
2a820 52 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6e 64  RTITEM;..// #end
2a830 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  if....// #define
2a840 20 54 61 62 43 74 72 6c 5f 49 6e 73 65 72 74 49   TabCtrl_InsertI
2a850 74 65 6d 28 68 77 6e 64 2c 20 69 49 74 65 6d 2c  tem(hwnd, iItem,
2a860 20 70 69 74 65 6d 29 20 28 69 6e 74 29 53 4e 44   pitem) (int)SND
2a870 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f  MSG((hwnd), TCM_
2a880 49 4e 53 45 52 54 49 54 45 4d 2c 20 28 57 50 41  INSERTITEM, (WPA
2a890 52 41 4d 29 28 69 6e 74 29 28 69 49 74 65 6d 29  RAM)(int)(iItem)
2a8a0 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73 74  , (LPARAM)(const
2a8b0 20 54 43 5f 49 54 45 4d 20 2a 29 28 70 69 74 65   TC_ITEM *)(pite
2a8c0 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  m))....enum : ui
2a8d0 6e 74 20 7b 20 54 43 4d 5f 44 45 4c 45 54 45 49  nt { TCM_DELETEI
2a8e0 54 45 4d 20 3d 20 54 43 4d 5f 46 49 52 53 54 20  TEM = TCM_FIRST 
2a8f0 2b 20 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  + 8 }..// #defin
2a900 65 20 54 61 62 43 74 72 6c 5f 44 65 6c 65 74 65  e TabCtrl_Delete
2a910 49 74 65 6d 28 68 77 6e 64 2c 20 69 29 20 28 42  Item(hwnd, i) (B
2a920 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
2a930 29 2c 20 54 43 4d 5f 44 45 4c 45 54 45 49 54 45  ), TCM_DELETEITE
2a940 4d 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29  M, (WPARAM)(int)
2a950 28 69 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d  (i), 0L)....enum
2a960 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 44 45   : uint { TCM_DE
2a970 4c 45 54 45 41 4c 4c 49 54 45 4d 53 20 3d 20 54  LETEALLITEMS = T
2a980 43 4d 5f 46 49 52 53 54 20 2b 20 39 20 7d 0d 0a  CM_FIRST + 9 }..
2a990 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74  // #define TabCt
2a9a0 72 6c 5f 44 65 6c 65 74 65 41 6c 6c 49 74 65 6d  rl_DeleteAllItem
2a9b0 73 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 4e  s(hwnd) (BOOL)SN
2a9c0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d  DMSG((hwnd), TCM
2a9d0 5f 44 45 4c 45 54 45 41 4c 4c 49 54 45 4d 53 2c  _DELETEALLITEMS,
2a9e0 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20   0, 0L)....enum 
2a9f0 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54  : uint { TCM_GET
2aa00 49 54 45 4d 52 45 43 54 20 3d 20 54 43 4d 5f 46  ITEMRECT = TCM_F
2aa10 49 52 53 54 20 2b 20 31 30 20 7d 0d 0a 2f 2f 20  IRST + 10 }..// 
2aa20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f  #define TabCtrl_
2aa30 47 65 74 49 74 65 6d 52 65 63 74 28 68 77 6e 64  GetItemRect(hwnd
2aa40 2c 20 69 2c 20 70 72 63 29 20 28 42 4f 4f 4c 29  , i, prc) (BOOL)
2aa50 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54  SNDMSG((hwnd), T
2aa60 43 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 2c 20  CM_GETITEMRECT, 
2aa70 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 29  (WPARAM)(int)(i)
2aa80 2c 20 28 4c 50 41 52 41 4d 29 28 52 45 43 54 20  , (LPARAM)(RECT 
2aa90 2a 29 28 70 72 63 29 29 0d 0a 0d 0a 65 6e 75 6d  *)(prc))....enum
2aaa0 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45   : uint { TCM_GE
2aab0 54 43 55 52 53 45 4c 20 3d 20 54 43 4d 5f 46 49  TCURSEL = TCM_FI
2aac0 52 53 54 20 2b 20 31 31 20 7d 0d 0a 2f 2f 20 23  RST + 11 }..// #
2aad0 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 47  define TabCtrl_G
2aae0 65 74 43 75 72 53 65 6c 28 68 77 6e 64 29 20 28  etCurSel(hwnd) (
2aaf0 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  int)SNDMSG((hwnd
2ab00 29 2c 20 54 43 4d 5f 47 45 54 43 55 52 53 45 4c  ), TCM_GETCURSEL
2ab10 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
2ab20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45 54  : uint { TCM_SET
2ab30 43 55 52 53 45 4c 20 3d 20 54 43 4d 5f 46 49 52  CURSEL = TCM_FIR
2ab40 53 54 20 2b 20 31 32 20 7d 0d 0a 2f 2f 20 23 64  ST + 12 }..// #d
2ab50 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 53 65  efine TabCtrl_Se
2ab60 74 43 75 72 53 65 6c 28 68 77 6e 64 2c 20 69 29  tCurSel(hwnd, i)
2ab70 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77   (int)SNDMSG((hw
2ab80 6e 64 29 2c 20 54 43 4d 5f 53 45 54 43 55 52 53  nd), TCM_SETCURS
2ab90 45 4c 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c  EL, (WPARAM)(i),
2aba0 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   0)....enum : ui
2abb0 6e 74 20 7b 20 54 43 48 54 5f 4e 4f 57 48 45 52  nt { TCHT_NOWHER
2abc0 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  E = 0x0001 }..en
2abd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 48 54  um : uint { TCHT
2abe0 5f 4f 4e 49 54 45 4d 49 43 4f 4e 20 3d 20 30 78  _ONITEMICON = 0x
2abf0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
2ac00 69 6e 74 20 7b 20 54 43 48 54 5f 4f 4e 49 54 45  int { TCHT_ONITE
2ac10 4d 4c 41 42 45 4c 20 3d 20 30 78 30 30 30 34 20  MLABEL = 0x0004 
2ac20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2ac30 20 54 43 48 54 5f 4f 4e 49 54 45 4d 20 3d 20 54   TCHT_ONITEM = T
2ac40 43 48 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e 20 7c  CHT_ONITEMICON |
2ac50 20 54 43 48 54 5f 4f 4e 49 54 45 4d 4c 41 42 45   TCHT_ONITEMLABE
2ac60 4c 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  L }....// #if (_
2ac70 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
2ac80 30 30 29 0d 0a 61 6c 69 61 73 20 4c 50 54 43 48  00)..alias LPTCH
2ac90 49 54 54 45 53 54 49 4e 46 4f 20 4c 50 54 43 5f  ITTESTINFO LPTC_
2aca0 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c  HITTESTINFO;..al
2acb0 69 61 73 20 54 43 48 49 54 54 45 53 54 49 4e 46  ias TCHITTESTINF
2acc0 4f 20 54 43 5f 48 49 54 54 45 53 54 49 4e 46 4f  O TC_HITTESTINFO
2acd0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
2ace0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2acf0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
2ad00 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54  f....struct tagT
2ad10 43 48 49 54 54 45 53 54 49 4e 46 4f 20 7b 0d 0a  CHITTESTINFO {..
2ad20 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20 20 55    POINT pt;..  U
2ad30 49 4e 54 20 66 6c 61 67 73 3b 0d 0a 7d 0d 0a 61  INT flags;..}..a
2ad40 6c 69 61 73 20 74 61 67 54 43 48 49 54 54 45 53  lias tagTCHITTES
2ad50 54 49 4e 46 4f 20 54 43 48 49 54 54 45 53 54 49  TINFO TCHITTESTI
2ad60 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54  NFO;..alias tagT
2ad70 43 48 49 54 54 45 53 54 49 4e 46 4f 2a 20 4c 50  CHITTESTINFO* LP
2ad80 54 43 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a  TCHITTESTINFO;..
2ad90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ada0 54 43 4d 5f 48 49 54 54 45 53 54 20 3d 20 54 43  TCM_HITTEST = TC
2adb0 4d 5f 46 49 52 53 54 20 2b 20 31 33 20 7d 0d 0a  M_FIRST + 13 }..
2adc0 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74  // #define TabCt
2add0 72 6c 5f 48 69 74 54 65 73 74 28 68 77 6e 64 54  rl_HitTest(hwndT
2ade0 43 2c 20 70 69 6e 66 6f 29 20 28 69 6e 74 29 53  C, pinfo) (int)S
2adf0 4e 44 4d 53 47 28 28 68 77 6e 64 54 43 29 2c 20  NDMSG((hwndTC), 
2ae00 54 43 4d 5f 48 49 54 54 45 53 54 2c 20 30 2c 20  TCM_HITTEST, 0, 
2ae10 28 4c 50 41 52 41 4d 29 28 54 43 5f 48 49 54 54  (LPARAM)(TC_HITT
2ae20 45 53 54 49 4e 46 4f 20 2a 29 28 70 69 6e 66 6f  ESTINFO *)(pinfo
2ae30 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
2ae40 74 20 7b 20 54 43 4d 5f 53 45 54 49 54 45 4d 45  t { TCM_SETITEME
2ae50 58 54 52 41 20 3d 20 54 43 4d 5f 46 49 52 53 54  XTRA = TCM_FIRST
2ae60 20 2b 20 31 34 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 14 }..// #def
2ae70 69 6e 65 20 54 61 62 43 74 72 6c 5f 53 65 74 49  ine TabCtrl_SetI
2ae80 74 65 6d 45 78 74 72 61 28 68 77 6e 64 54 43 2c  temExtra(hwndTC,
2ae90 20 63 62 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53   cb) (BOOL)SNDMS
2aea0 47 28 28 68 77 6e 64 54 43 29 2c 20 54 43 4d 5f  G((hwndTC), TCM_
2aeb0 53 45 54 49 54 45 4d 45 58 54 52 41 2c 20 28 57  SETITEMEXTRA, (W
2aec0 50 41 52 41 4d 29 28 63 62 29 2c 20 30 4c 29 0d  PARAM)(cb), 0L).
2aed0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2aee0 20 54 43 4d 5f 41 44 4a 55 53 54 52 45 43 54 20   TCM_ADJUSTRECT 
2aef0 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 30  = TCM_FIRST + 40
2af00 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54   }..// #define T
2af10 61 62 43 74 72 6c 5f 41 64 6a 75 73 74 52 65 63  abCtrl_AdjustRec
2af20 74 28 68 77 6e 64 2c 20 62 4c 61 72 67 65 72 2c  t(hwnd, bLarger,
2af30 20 70 72 63 29 20 28 69 6e 74 29 53 4e 44 4d 53   prc) (int)SNDMS
2af40 47 28 68 77 6e 64 2c 20 54 43 4d 5f 41 44 4a 55  G(hwnd, TCM_ADJU
2af50 53 54 52 45 43 54 2c 20 28 57 50 41 52 41 4d 29  STRECT, (WPARAM)
2af60 28 42 4f 4f 4c 29 28 62 4c 61 72 67 65 72 29 2c  (BOOL)(bLarger),
2af70 20 28 4c 50 41 52 41 4d 29 28 52 45 43 54 20 2a   (LPARAM)(RECT *
2af80 29 70 72 63 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  )prc)....enum : 
2af90 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45 54 49 54  uint { TCM_SETIT
2afa0 45 4d 53 49 5a 45 20 3d 20 54 43 4d 5f 46 49 52  EMSIZE = TCM_FIR
2afb0 53 54 20 2b 20 34 31 20 7d 0d 0a 2f 2f 20 23 64  ST + 41 }..// #d
2afc0 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 53 65  efine TabCtrl_Se
2afd0 74 49 74 65 6d 53 69 7a 65 28 68 77 6e 64 2c 20  tItemSize(hwnd, 
2afe0 78 2c 20 79 29 20 28 44 57 4f 52 44 29 53 4e 44  x, y) (DWORD)SND
2aff0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f  MSG((hwnd), TCM_
2b000 53 45 54 49 54 45 4d 53 49 5a 45 2c 20 30 2c 20  SETITEMSIZE, 0, 
2b010 4d 41 4b 45 4c 50 41 52 41 4d 28 78 2c 79 29 29  MAKELPARAM(x,y))
2b020 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2b030 7b 20 54 43 4d 5f 52 45 4d 4f 56 45 49 4d 41 47  { TCM_REMOVEIMAG
2b040 45 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20  E = TCM_FIRST + 
2b050 34 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  42 }..// #define
2b060 20 54 61 62 43 74 72 6c 5f 52 65 6d 6f 76 65 49   TabCtrl_RemoveI
2b070 6d 61 67 65 28 68 77 6e 64 2c 20 69 29 20 28 76  mage(hwnd, i) (v
2b080 6f 69 64 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  oid)SNDMSG((hwnd
2b090 29 2c 20 54 43 4d 5f 52 45 4d 4f 56 45 49 4d 41  ), TCM_REMOVEIMA
2b0a0 47 45 2c 20 69 2c 20 30 4c 29 0d 0a 0d 0a 65 6e  GE, i, 0L)....en
2b0b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f  um : uint { TCM_
2b0c0 53 45 54 50 41 44 44 49 4e 47 20 3d 20 54 43 4d  SETPADDING = TCM
2b0d0 5f 46 49 52 53 54 20 2b 20 34 33 20 7d 0d 0a 2f  _FIRST + 43 }../
2b0e0 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72  / #define TabCtr
2b0f0 6c 5f 53 65 74 50 61 64 64 69 6e 67 28 68 77 6e  l_SetPadding(hwn
2b100 64 2c 20 63 78 2c 20 63 79 29 20 28 76 6f 69 64  d, cx, cy) (void
2b110 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
2b120 54 43 4d 5f 53 45 54 50 41 44 44 49 4e 47 2c 20  TCM_SETPADDING, 
2b130 30 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28 63 78  0, MAKELPARAM(cx
2b140 2c 20 63 79 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  , cy))....enum :
2b150 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54 52   uint { TCM_GETR
2b160 4f 57 43 4f 55 4e 54 20 3d 20 54 43 4d 5f 46 49  OWCOUNT = TCM_FI
2b170 52 53 54 20 2b 20 34 34 20 7d 0d 0a 2f 2f 20 23  RST + 44 }..// #
2b180 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 47  define TabCtrl_G
2b190 65 74 52 6f 77 43 6f 75 6e 74 28 68 77 6e 64 29  etRowCount(hwnd)
2b1a0 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77   (int)SNDMSG((hw
2b1b0 6e 64 29 2c 20 54 43 4d 5f 47 45 54 52 4f 57 43  nd), TCM_GETROWC
2b1c0 4f 55 4e 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a  OUNT, 0, 0L)....
2b1d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
2b1e0 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 20 3d 20  M_GETTOOLTIPS = 
2b1f0 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 35 20 7d  TCM_FIRST + 45 }
2b200 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62  ..// #define Tab
2b210 43 74 72 6c 5f 47 65 74 54 6f 6f 6c 54 69 70 73  Ctrl_GetToolTips
2b220 28 68 77 6e 64 29 20 28 48 57 4e 44 29 53 4e 44  (hwnd) (HWND)SND
2b230 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f  MSG((hwnd), TCM_
2b240 47 45 54 54 4f 4f 4c 54 49 50 53 2c 20 30 2c 20  GETTOOLTIPS, 0, 
2b250 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0L)....enum : ui
2b260 6e 74 20 7b 20 54 43 4d 5f 53 45 54 54 4f 4f 4c  nt { TCM_SETTOOL
2b270 54 49 50 53 20 3d 20 54 43 4d 5f 46 49 52 53 54  TIPS = TCM_FIRST
2b280 20 2b 20 34 36 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 46 }..// #def
2b290 69 6e 65 20 54 61 62 43 74 72 6c 5f 53 65 74 54  ine TabCtrl_SetT
2b2a0 6f 6f 6c 54 69 70 73 28 68 77 6e 64 2c 20 68 77  oolTips(hwnd, hw
2b2b0 6e 64 54 54 29 20 28 76 6f 69 64 29 53 4e 44 4d  ndTT) (void)SNDM
2b2c0 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 53  SG((hwnd), TCM_S
2b2d0 45 54 54 4f 4f 4c 54 49 50 53 2c 20 28 57 50 41  ETTOOLTIPS, (WPA
2b2e0 52 41 4d 29 28 68 77 6e 64 54 54 29 2c 20 30 4c  RAM)(hwndTT), 0L
2b2f0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
2b300 20 7b 20 54 43 4d 5f 47 45 54 43 55 52 46 4f 43   { TCM_GETCURFOC
2b310 55 53 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b  US = TCM_FIRST +
2b320 20 34 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   47 }..// #defin
2b330 65 20 54 61 62 43 74 72 6c 5f 47 65 74 43 75 72  e TabCtrl_GetCur
2b340 46 6f 63 75 73 28 68 77 6e 64 29 20 28 69 6e 74  Focus(hwnd) (int
2b350 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
2b360 54 43 4d 5f 47 45 54 43 55 52 46 4f 43 55 53 2c  TCM_GETCURFOCUS,
2b370 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a   0, 0)....enum :
2b380 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45 54 43   uint { TCM_SETC
2b390 55 52 46 4f 43 55 53 20 3d 20 54 43 4d 5f 46 49  URFOCUS = TCM_FI
2b3a0 52 53 54 20 2b 20 34 38 20 7d 0d 0a 2f 2f 20 23  RST + 48 }..// #
2b3b0 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 53  define TabCtrl_S
2b3c0 65 74 43 75 72 46 6f 63 75 73 28 68 77 6e 64 2c  etCurFocus(hwnd,
2b3d0 20 69 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64   i) SNDMSG((hwnd
2b3e0 29 2c 54 43 4d 5f 53 45 54 43 55 52 46 4f 43 55  ),TCM_SETCURFOCU
2b3f0 53 2c 20 69 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23  S, i, 0)....// #
2b400 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
2b410 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0300)..enum :
2b420 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45 54 4d   uint { TCM_SETM
2b430 49 4e 54 41 42 57 49 44 54 48 20 3d 20 54 43 4d  INTABWIDTH = TCM
2b440 5f 46 49 52 53 54 20 2b 20 34 39 20 7d 0d 0a 2f  _FIRST + 49 }../
2b450 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72  / #define TabCtr
2b460 6c 5f 53 65 74 4d 69 6e 54 61 62 57 69 64 74 68  l_SetMinTabWidth
2b470 28 68 77 6e 64 2c 20 78 29 20 28 69 6e 74 29 53  (hwnd, x) (int)S
2b480 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43  NDMSG((hwnd), TC
2b490 4d 5f 53 45 54 4d 49 4e 54 41 42 57 49 44 54 48  M_SETMINTABWIDTH
2b4a0 2c 20 30 2c 20 78 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, x)....enum 
2b4b0 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 44 45 53  : uint { TCM_DES
2b4c0 45 4c 45 43 54 41 4c 4c 20 3d 20 54 43 4d 5f 46  ELECTALL = TCM_F
2b4d0 49 52 53 54 20 2b 20 35 30 20 7d 0d 0a 2f 2f 20  IRST + 50 }..// 
2b4e0 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f  #define TabCtrl_
2b4f0 44 65 73 65 6c 65 63 74 41 6c 6c 28 68 77 6e 64  DeselectAll(hwnd
2b500 2c 20 66 45 78 63 6c 75 64 65 46 6f 63 75 73 29  , fExcludeFocus)
2b510 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68   (void)SNDMSG((h
2b520 77 6e 64 29 2c 20 54 43 4d 5f 44 45 53 45 4c 45  wnd), TCM_DESELE
2b530 43 54 41 4c 4c 2c 20 66 45 78 63 6c 75 64 65 46  CTALL, fExcludeF
2b540 6f 63 75 73 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e  ocus, 0)..// #en
2b550 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  dif....// #if (_
2b560 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
2b570 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  00)....enum : ui
2b580 6e 74 20 7b 20 54 43 4d 5f 48 49 47 48 4c 49 47  nt { TCM_HIGHLIG
2b590 48 54 49 54 45 4d 20 3d 20 54 43 4d 5f 46 49 52  HTITEM = TCM_FIR
2b5a0 53 54 20 2b 20 35 31 20 7d 0d 0a 2f 2f 20 23 64  ST + 51 }..// #d
2b5b0 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 48 69  efine TabCtrl_Hi
2b5c0 67 68 6c 69 67 68 74 49 74 65 6d 28 68 77 6e 64  ghlightItem(hwnd
2b5d0 2c 20 69 2c 20 66 48 69 67 68 6c 69 67 68 74 29  , i, fHighlight)
2b5e0 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
2b5f0 77 6e 64 29 2c 20 54 43 4d 5f 48 49 47 48 4c 49  wnd), TCM_HIGHLI
2b600 47 48 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d  GHTITEM, (WPARAM
2b610 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 4d 41  )(i), (LPARAM)MA
2b620 4b 45 4c 4f 4e 47 20 28 66 48 69 67 68 6c 69 67  KELONG (fHighlig
2b630 68 74 2c 20 30 29 29 0d 0a 0d 0a 65 6e 75 6d 20  ht, 0))....enum 
2b640 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45 54  : uint { TCM_SET
2b650 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 3d 20  EXTENDEDSTYLE = 
2b660 54 43 4d 5f 46 49 52 53 54 20 2b 20 35 32 20 7d  TCM_FIRST + 52 }
2b670 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62  ..// #define Tab
2b680 43 74 72 6c 5f 53 65 74 45 78 74 65 6e 64 65 64  Ctrl_SetExtended
2b690 53 74 79 6c 65 28 68 77 6e 64 2c 20 64 77 29 20  Style(hwnd, dw) 
2b6a0 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68  (DWORD)SNDMSG((h
2b6b0 77 6e 64 29 2c 20 54 43 4d 5f 53 45 54 45 58 54  wnd), TCM_SETEXT
2b6c0 45 4e 44 45 44 53 54 59 4c 45 2c 20 30 2c 20 64  ENDEDSTYLE, 0, d
2b6d0 77 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  w)....enum : uin
2b6e0 74 20 7b 20 54 43 4d 5f 47 45 54 45 58 54 45 4e  t { TCM_GETEXTEN
2b6f0 44 45 44 53 54 59 4c 45 20 3d 20 54 43 4d 5f 46  DEDSTYLE = TCM_F
2b700 49 52 53 54 20 2b 20 35 33 20 7d 0d 0a 2f 2f 20  IRST + 53 }..// 
2b710 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f  #define TabCtrl_
2b720 47 65 74 45 78 74 65 6e 64 65 64 53 74 79 6c 65  GetExtendedStyle
2b730 28 68 77 6e 64 29 20 28 44 57 4f 52 44 29 53 4e  (hwnd) (DWORD)SN
2b740 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d  DMSG((hwnd), TCM
2b750 5f 47 45 54 45 58 54 45 4e 44 45 44 53 54 59 4c  _GETEXTENDEDSTYL
2b760 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 61 6c 69 61  E, 0, 0)....alia
2b770 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45  s CCM_SETUNICODE
2b780 46 4f 52 4d 41 54 20 54 43 4d 5f 53 45 54 55 4e  FORMAT TCM_SETUN
2b790 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f  ICODEFORMAT;..//
2b7a0 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c   #define TabCtrl
2b7b0 5f 53 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d 61  _SetUnicodeForma
2b7c0 74 28 68 77 6e 64 2c 20 66 55 6e 69 63 6f 64 65  t(hwnd, fUnicode
2b7d0 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
2b7e0 68 77 6e 64 29 2c 20 54 43 4d 5f 53 45 54 55 4e  hwnd), TCM_SETUN
2b7f0 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 28 57 50  ICODEFORMAT, (WP
2b800 41 52 41 4d 29 28 66 55 6e 69 63 6f 64 65 29 2c  ARAM)(fUnicode),
2b810 20 30 29 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d   0)....alias CCM
2b820 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _GETUNICODEFORMA
2b830 54 20 54 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45  T TCM_GETUNICODE
2b840 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66  FORMAT;..// #def
2b850 69 6e 65 20 54 61 62 43 74 72 6c 5f 47 65 74 55  ine TabCtrl_GetU
2b860 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e  nicodeFormat(hwn
2b870 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  d) (BOOL)SNDMSG(
2b880 28 68 77 6e 64 29 2c 20 54 43 4d 5f 47 45 54 55  (hwnd), TCM_GETU
2b890 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c  NICODEFORMAT, 0,
2b8a0 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66   0)....// #endif
2b8b0 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f        // _WIN32_
2b8c0 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a  IE >= 0x0400....
2b8d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
2b8e0 4e 5f 4b 45 59 44 4f 57 4e 20 3d 20 54 43 4e 5f  N_KEYDOWN = TCN_
2b8f0 46 49 52 53 54 20 2d 20 30 20 7d 0d 0a 0d 0a 2f  FIRST - 0 }..../
2b900 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
2b910 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69   >= 0x0300)..ali
2b920 61 73 20 4e 4d 54 43 4b 45 59 44 4f 57 4e 20 54  as NMTCKEYDOWN T
2b930 43 5f 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f 20 23  C_KEYDOWN;..// #
2b940 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
2b950 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
2b960 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  f....// #ifdef _
2b970 57 49 4e 33 32 0d 0a 61 6c 69 67 6e 28 31 29 3a  WIN32..align(1):
2b980 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
2b990 74 72 75 63 74 20 74 61 67 54 43 4b 45 59 44 4f  truct tagTCKEYDO
2b9a0 57 4e 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64  WN {..  NMHDR hd
2b9b0 72 3b 0d 0a 20 20 57 4f 52 44 20 77 56 4b 65 79  r;..  WORD wVKey
2b9c0 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b  ;..  UINT flags;
2b9d0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 43  ..}..alias tagTC
2b9e0 4b 45 59 44 4f 57 4e 20 4e 4d 54 43 4b 45 59 44  KEYDOWN NMTCKEYD
2b9f0 4f 57 4e 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  OWN;....// #ifde
2ba00 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 67 6e 3a  f _WIN32..align:
2ba10 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
2ba20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4e  num : uint { TCN
2ba30 5f 53 45 4c 43 48 41 4e 47 45 20 3d 20 54 43 4e  _SELCHANGE = TCN
2ba40 5f 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 65 6e  _FIRST - 1 }..en
2ba50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4e 5f  um : uint { TCN_
2ba60 53 45 4c 43 48 41 4e 47 49 4e 47 20 3d 20 54 43  SELCHANGING = TC
2ba70 4e 5f 46 49 52 53 54 20 2d 20 32 20 7d 0d 0a 2f  N_FIRST - 2 }../
2ba80 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
2ba90 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
2baa0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4e 5f 47  m : uint { TCN_G
2bab0 45 54 4f 42 4a 45 43 54 20 3d 20 54 43 4e 5f 46  ETOBJECT = TCN_F
2bac0 49 52 53 54 20 2d 20 33 20 7d 0d 0a 2f 2f 20 23  IRST - 3 }..// #
2bad0 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57  endif      // _W
2bae0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
2baf0 30 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  0..// #if (_WIN3
2bb00 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
2bb10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
2bb20 43 4e 5f 46 4f 43 55 53 43 48 41 4e 47 45 20 3d  CN_FOCUSCHANGE =
2bb30 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 34 20 7d   TCN_FIRST - 4 }
2bb40 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20  ..// #endif     
2bb50 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d   // _WIN32_IE >=
2bb60 20 30 78 30 35 30 30 0d 0a 2f 2f 20 23 65 6e 64   0x0500..// #end
2bb70 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f 54 41 42  if      // NOTAB
2bb80 43 4f 4e 54 52 4f 4c 0d 0a 0d 0a 2f 2f 20 23 69  CONTROL....// #i
2bb90 66 6e 64 65 66 20 4e 4f 41 4e 49 4d 41 54 45 0d  fndef NOANIMATE.
2bba0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
2bbb0 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68  N32....const wch
2bbc0 61 72 5b 5d 20 41 4e 49 4d 41 54 45 5f 43 4c 41  ar[] ANIMATE_CLA
2bbd0 53 53 57 20 3d 20 22 53 79 73 41 6e 69 6d 61 74  SSW = "SysAnimat
2bbe0 65 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61  e32";..const cha
2bbf0 72 5b 5d 20 41 4e 49 4d 41 54 45 5f 43 4c 41 53  r[] ANIMATE_CLAS
2bc00 53 41 20 3d 20 22 53 79 73 41 6e 69 6d 61 74 65  SA = "SysAnimate
2bc10 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  32";....// #ifde
2bc20 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
2bc30 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
2bc40 69 61 73 20 41 4e 49 4d 41 54 45 5f 43 4c 41 53  ias ANIMATE_CLAS
2bc50 53 41 20 41 4e 49 4d 41 54 45 5f 43 4c 41 53 53  SA ANIMATE_CLASS
2bc60 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
2bc70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43  enum : uint { AC
2bc80 53 5f 43 45 4e 54 45 52 20 3d 20 30 78 30 30 30  S_CENTER = 0x000
2bc90 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2bca0 20 7b 20 41 43 53 5f 54 52 41 4e 53 50 41 52 45   { ACS_TRANSPARE
2bcb0 4e 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  NT = 0x0002 }..e
2bcc0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 53  num : uint { ACS
2bcd0 5f 41 55 54 4f 50 4c 41 59 20 3d 20 30 78 30 30  _AUTOPLAY = 0x00
2bce0 30 34 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  04 }..// #if (_W
2bcf0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
2bd00 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
2bd10 7b 20 41 43 53 5f 54 49 4d 45 52 20 3d 20 30 78  { ACS_TIMER = 0x
2bd20 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0008 }..// #endi
2bd30 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
2bd40 20 7b 20 41 43 4d 5f 4f 50 45 4e 41 20 3d 20 57   { ACM_OPENA = W
2bd50 4d 5f 55 53 45 52 2b 31 30 30 20 7d 0d 0a 65 6e  M_USER+100 }..en
2bd60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4d 5f  um : uint { ACM_
2bd70 4f 50 45 4e 57 20 3d 20 57 4d 5f 55 53 45 52 2b  OPENW = WM_USER+
2bd80 31 30 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64  103 }....// #ifd
2bd90 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
2bda0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
2bdb0 6c 69 61 73 20 41 43 4d 5f 4f 50 45 4e 41 20 41  lias ACM_OPENA A
2bdc0 43 4d 5f 4f 50 45 4e 3b 0d 0a 2f 2f 20 23 65 6e  CM_OPEN;..// #en
2bdd0 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
2bde0 6e 74 20 7b 20 41 43 4d 5f 50 4c 41 59 20 3d 20  nt { ACM_PLAY = 
2bdf0 57 4d 5f 55 53 45 52 2b 31 30 31 20 7d 0d 0a 65  WM_USER+101 }..e
2be00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4d  num : uint { ACM
2be10 5f 53 54 4f 50 20 3d 20 57 4d 5f 55 53 45 52 2b  _STOP = WM_USER+
2be20 31 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  102 }....enum : 
2be30 75 69 6e 74 20 7b 20 41 43 4e 5f 53 54 41 52 54  uint { ACN_START
2be40 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
2be50 69 6e 74 20 7b 20 41 43 4e 5f 53 54 4f 50 20 3d  int { ACN_STOP =
2be60 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69   2 }....// #defi
2be70 6e 65 20 41 6e 69 6d 61 74 65 5f 43 72 65 61 74  ne Animate_Creat
2be80 65 28 68 77 6e 64 50 2c 20 69 64 2c 20 64 77 53  e(hwndP, id, dwS
2be90 74 79 6c 65 2c 20 68 49 6e 73 74 61 6e 63 65 29  tyle, hInstance)
2bea0 20 43 72 65 61 74 65 57 69 6e 64 6f 77 28 41 4e   CreateWindow(AN
2beb0 49 4d 41 54 45 5f 43 4c 41 53 53 2c 20 4e 55 4c  IMATE_CLASS, NUL
2bec0 4c 2c 20 64 77 53 74 79 6c 65 2c 20 30 2c 20 30  L, dwStyle, 0, 0
2bed0 2c 20 30 2c 20 30 2c 20 68 77 6e 64 50 2c 20 28  , 0, 0, hwndP, (
2bee0 48 4d 45 4e 55 29 28 69 64 29 2c 20 68 49 6e 73  HMENU)(id), hIns
2bef0 74 61 6e 63 65 2c 20 4e 55 4c 4c 29 0d 0a 0d 0a  tance, NULL)....
2bf00 2f 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61  // #define Anima
2bf10 74 65 5f 4f 70 65 6e 28 68 77 6e 64 2c 20 73 7a  te_Open(hwnd, sz
2bf20 4e 61 6d 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  Name) (BOOL)SNDM
2bf30 53 47 28 68 77 6e 64 2c 20 41 43 4d 5f 4f 50 45  SG(hwnd, ACM_OPE
2bf40 4e 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 4c  N, 0, (LPARAM)(L
2bf50 50 54 53 54 52 29 28 73 7a 4e 61 6d 65 29 29 0d  PTSTR)(szName)).
2bf60 0a 2f 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d  .// #define Anim
2bf70 61 74 65 5f 4f 70 65 6e 45 78 28 68 77 6e 64 2c  ate_OpenEx(hwnd,
2bf80 20 68 49 6e 73 74 2c 20 73 7a 4e 61 6d 65 29 20   hInst, szName) 
2bf90 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68 77 6e  (BOOL)SNDMSG(hwn
2bfa0 64 2c 20 41 43 4d 5f 4f 50 45 4e 2c 20 28 57 50  d, ACM_OPEN, (WP
2bfb0 41 52 41 4d 29 28 68 49 6e 73 74 29 2c 20 28 4c  ARAM)(hInst), (L
2bfc0 50 41 52 41 4d 29 28 4c 50 54 53 54 52 29 28 73  PARAM)(LPTSTR)(s
2bfd0 7a 4e 61 6d 65 29 29 0d 0a 2f 2f 20 23 64 65 66  zName))..// #def
2bfe0 69 6e 65 20 41 6e 69 6d 61 74 65 5f 50 6c 61 79  ine Animate_Play
2bff0 28 68 77 6e 64 2c 20 66 72 6f 6d 2c 20 74 6f 2c  (hwnd, from, to,
2c000 20 72 65 70 29 20 28 42 4f 4f 4c 29 53 4e 44 4d   rep) (BOOL)SNDM
2c010 53 47 28 68 77 6e 64 2c 20 41 43 4d 5f 50 4c 41  SG(hwnd, ACM_PLA
2c020 59 2c 20 28 57 50 41 52 41 4d 29 28 72 65 70 29  Y, (WPARAM)(rep)
2c030 2c 20 28 4c 50 41 52 41 4d 29 4d 41 4b 45 4c 4f  , (LPARAM)MAKELO
2c040 4e 47 28 66 72 6f 6d 2c 20 74 6f 29 29 0d 0a 2f  NG(from, to))../
2c050 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61 74  / #define Animat
2c060 65 5f 53 74 6f 70 28 68 77 6e 64 29 20 28 42 4f  e_Stop(hwnd) (BO
2c070 4f 4c 29 53 4e 44 4d 53 47 28 68 77 6e 64 2c 20  OL)SNDMSG(hwnd, 
2c080 41 43 4d 5f 53 54 4f 50 2c 20 30 2c 20 30 29 0d  ACM_STOP, 0, 0).
2c090 0a 2f 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d  .// #define Anim
2c0a0 61 74 65 5f 43 6c 6f 73 65 28 68 77 6e 64 29 20  ate_Close(hwnd) 
2c0b0 41 6e 69 6d 61 74 65 5f 4f 70 65 6e 28 68 77 6e  Animate_Open(hwn
2c0c0 64 2c 20 4e 55 4c 4c 29 0d 0a 2f 2f 20 23 64 65  d, NULL)..// #de
2c0d0 66 69 6e 65 20 41 6e 69 6d 61 74 65 5f 53 65 65  fine Animate_See
2c0e0 6b 28 68 77 6e 64 2c 20 66 72 61 6d 65 29 20 41  k(hwnd, frame) A
2c0f0 6e 69 6d 61 74 65 5f 50 6c 61 79 28 68 77 6e 64  nimate_Play(hwnd
2c100 2c 20 66 72 61 6d 65 2c 20 66 72 61 6d 65 2c 20  , frame, frame, 
2c110 31 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  1)..// #endif...
2c120 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20  .// #endif      
2c130 2f 2f 20 4e 4f 41 4e 49 4d 41 54 45 0d 0a 0d 0a  // NOANIMATE....
2c140 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
2c150 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 0d 0a  E >= 0x0300)....
2c160 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4d 4f 4e  // #ifndef NOMON
2c170 54 48 43 41 4c 0d 0a 2f 2f 20 23 69 66 64 65 66  THCAL..// #ifdef
2c180 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74   _WIN32....const
2c190 20 77 63 68 61 72 5b 5d 20 4d 4f 4e 54 48 43 41   wchar[] MONTHCA
2c1a0 4c 5f 43 4c 41 53 53 57 20 3d 20 22 53 79 73 4d  L_CLASSW = "SysM
2c1b0 6f 6e 74 68 43 61 6c 33 32 22 3b 0d 0a 63 6f 6e  onthCal32";..con
2c1c0 73 74 20 63 68 61 72 5b 5d 20 4d 4f 4e 54 48 43  st char[] MONTHC
2c1d0 41 4c 5f 43 4c 41 53 53 41 20 3d 20 22 53 79 73  AL_CLASSA = "Sys
2c1e0 4d 6f 6e 74 68 43 61 6c 33 32 22 3b 0d 0a 0d 0a  MonthCal32";....
2c1f0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
2c200 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
2c210 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d 4f 4e 54  else..alias MONT
2c220 48 43 41 4c 5f 43 4c 41 53 53 41 20 4d 4f 4e 54  HCAL_CLASSA MONT
2c230 48 43 41 4c 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20  HCAL_CLASS;..// 
2c240 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20  #endif....alias 
2c250 44 57 4f 52 44 20 4d 4f 4e 54 48 44 41 59 53 54  DWORD MONTHDAYST
2c260 41 54 45 3b 0d 0a 61 6c 69 61 73 20 44 57 4f 52  ATE;..alias DWOR
2c270 44 2a 20 4c 50 4d 4f 4e 54 48 44 41 59 53 54 41  D* LPMONTHDAYSTA
2c280 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  TE;....enum : ui
2c290 6e 74 20 7b 20 4d 43 4d 5f 46 49 52 53 54 20 3d  nt { MCM_FIRST =
2c2a0 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75   0x1000 }....enu
2c2b0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47  m : uint { MCM_G
2c2c0 45 54 43 55 52 53 45 4c 20 3d 20 4d 43 4d 5f 46  ETCURSEL = MCM_F
2c2d0 49 52 53 54 20 2b 20 31 20 7d 0d 0a 2f 2f 20 23  IRST + 1 }..// #
2c2e0 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f  define MonthCal_
2c2f0 47 65 74 43 75 72 53 65 6c 28 68 6d 63 2c 20 70  GetCurSel(hmc, p
2c300 73 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  st) (BOOL)SNDMSG
2c310 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54 43 55 52  (hmc, MCM_GETCUR
2c320 53 45 4c 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  SEL, 0, (LPARAM)
2c330 28 70 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  (pst))....enum :
2c340 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 43   uint { MCM_SETC
2c350 55 52 53 45 4c 20 3d 20 4d 43 4d 5f 46 49 52 53  URSEL = MCM_FIRS
2c360 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20 23 64 65 66  T + 2 }..// #def
2c370 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74  ine MonthCal_Set
2c380 43 75 72 53 65 6c 28 68 6d 63 2c 20 70 73 74 29  CurSel(hmc, pst)
2c390 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68 6d   (BOOL)SNDMSG(hm
2c3a0 63 2c 20 4d 43 4d 5f 53 45 54 43 55 52 53 45 4c  c, MCM_SETCURSEL
2c3b0 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 73  , 0, (LPARAM)(ps
2c3c0 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  t))....enum : ui
2c3d0 6e 74 20 7b 20 4d 43 4d 5f 47 45 54 4d 41 58 53  nt { MCM_GETMAXS
2c3e0 45 4c 43 4f 55 4e 54 20 3d 20 4d 43 4d 5f 46 49  ELCOUNT = MCM_FI
2c3f0 52 53 54 20 2b 20 33 20 7d 0d 0a 2f 2f 20 23 64  RST + 3 }..// #d
2c400 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 47  efine MonthCal_G
2c410 65 74 4d 61 78 53 65 6c 43 6f 75 6e 74 28 68 6d  etMaxSelCount(hm
2c420 63 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53 47  c) (DWORD)SNDMSG
2c430 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54 4d 41 58  (hmc, MCM_GETMAX
2c440 53 45 4c 43 4f 55 4e 54 2c 20 30 2c 20 30 4c 29  SELCOUNT, 0, 0L)
2c450 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2c460 7b 20 4d 43 4d 5f 53 45 54 4d 41 58 53 45 4c 43  { MCM_SETMAXSELC
2c470 4f 55 4e 54 20 3d 20 4d 43 4d 5f 46 49 52 53 54  OUNT = MCM_FIRST
2c480 20 2b 20 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   + 4 }..// #defi
2c490 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74 4d  ne MonthCal_SetM
2c4a0 61 78 53 65 6c 43 6f 75 6e 74 28 68 6d 63 2c 20  axSelCount(hmc, 
2c4b0 6e 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  n) (BOOL)SNDMSG(
2c4c0 68 6d 63 2c 20 4d 43 4d 5f 53 45 54 4d 41 58 53  hmc, MCM_SETMAXS
2c4d0 45 4c 43 4f 55 4e 54 2c 20 28 57 50 41 52 41 4d  ELCOUNT, (WPARAM
2c4e0 29 28 6e 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75  )(n), 0L)....enu
2c4f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47  m : uint { MCM_G
2c500 45 54 53 45 4c 52 41 4e 47 45 20 3d 20 4d 43 4d  ETSELRANGE = MCM
2c510 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 2f 2f  _FIRST + 5 }..//
2c520 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61   #define MonthCa
2c530 6c 5f 47 65 74 53 65 6c 52 61 6e 67 65 28 68 6d  l_GetSelRange(hm
2c540 63 2c 20 72 67 73 74 29 20 53 4e 44 4d 53 47 28  c, rgst) SNDMSG(
2c550 68 6d 63 2c 20 4d 43 4d 5f 47 45 54 53 45 4c 52  hmc, MCM_GETSELR
2c560 41 4e 47 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d  ANGE, 0, (LPARAM
2c570 29 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d  )(rgst))....enum
2c580 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45   : uint { MCM_SE
2c590 54 53 45 4c 52 41 4e 47 45 20 3d 20 4d 43 4d 5f  TSELRANGE = MCM_
2c5a0 46 49 52 53 54 20 2b 20 36 20 7d 0d 0a 2f 2f 20  FIRST + 6 }..// 
2c5b0 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c  #define MonthCal
2c5c0 5f 53 65 74 53 65 6c 52 61 6e 67 65 28 68 6d 63  _SetSelRange(hmc
2c5d0 2c 20 72 67 73 74 29 20 53 4e 44 4d 53 47 28 68  , rgst) SNDMSG(h
2c5e0 6d 63 2c 20 4d 43 4d 5f 53 45 54 53 45 4c 52 41  mc, MCM_SETSELRA
2c5f0 4e 47 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  NGE, 0, (LPARAM)
2c600 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20  (rgst))....enum 
2c610 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47 45 54  : uint { MCM_GET
2c620 4d 4f 4e 54 48 52 41 4e 47 45 20 3d 20 4d 43 4d  MONTHRANGE = MCM
2c630 5f 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 2f 2f  _FIRST + 7 }..//
2c640 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61   #define MonthCa
2c650 6c 5f 47 65 74 4d 6f 6e 74 68 52 61 6e 67 65 28  l_GetMonthRange(
2c660 68 6d 63 2c 20 67 6d 72 2c 20 72 67 73 74 29 20  hmc, gmr, rgst) 
2c670 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 68 6d  (DWORD)SNDMSG(hm
2c680 63 2c 20 4d 43 4d 5f 47 45 54 4d 4f 4e 54 48 52  c, MCM_GETMONTHR
2c690 41 4e 47 45 2c 20 28 57 50 41 52 41 4d 29 28 67  ANGE, (WPARAM)(g
2c6a0 6d 72 29 2c 20 28 4c 50 41 52 41 4d 29 28 72 67  mr), (LPARAM)(rg
2c6b0 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  st))....enum : u
2c6c0 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 44 41 59  int { MCM_SETDAY
2c6d0 53 54 41 54 45 20 3d 20 4d 43 4d 5f 46 49 52 53  STATE = MCM_FIRS
2c6e0 54 20 2b 20 38 20 7d 0d 0a 2f 2f 20 23 64 65 66  T + 8 }..// #def
2c6f0 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74  ine MonthCal_Set
2c700 44 61 79 53 74 61 74 65 28 68 6d 63 2c 20 63 62  DayState(hmc, cb
2c710 64 73 2c 20 72 67 64 73 29 20 53 4e 44 4d 53 47  ds, rgds) SNDMSG
2c720 28 68 6d 63 2c 20 4d 43 4d 5f 53 45 54 44 41 59  (hmc, MCM_SETDAY
2c730 53 54 41 54 45 2c 20 28 57 50 41 52 41 4d 29 28  STATE, (WPARAM)(
2c740 63 62 64 73 29 2c 20 28 4c 50 41 52 41 4d 29 28  cbds), (LPARAM)(
2c750 72 67 64 73 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  rgds))....enum :
2c760 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47 45 54 4d   uint { MCM_GETM
2c770 49 4e 52 45 51 52 45 43 54 20 3d 20 4d 43 4d 5f  INREQRECT = MCM_
2c780 46 49 52 53 54 20 2b 20 39 20 7d 0d 0a 2f 2f 20  FIRST + 9 }..// 
2c790 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c  #define MonthCal
2c7a0 5f 47 65 74 4d 69 6e 52 65 71 52 65 63 74 28 68  _GetMinReqRect(h
2c7b0 6d 63 2c 20 70 72 63 29 20 53 4e 44 4d 53 47 28  mc, prc) SNDMSG(
2c7c0 68 6d 63 2c 20 4d 43 4d 5f 47 45 54 4d 49 4e 52  hmc, MCM_GETMINR
2c7d0 45 51 52 45 43 54 2c 20 30 2c 20 28 4c 50 41 52  EQRECT, 0, (LPAR
2c7e0 41 4d 29 28 70 72 63 29 29 0d 0a 0d 0a 65 6e 75  AM)(prc))....enu
2c7f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53  m : uint { MCM_S
2c800 45 54 43 4f 4c 4f 52 20 3d 20 4d 43 4d 5f 46 49  ETCOLOR = MCM_FI
2c810 52 53 54 20 2b 20 31 30 20 7d 0d 0a 2f 2f 20 23  RST + 10 }..// #
2c820 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f  define MonthCal_
2c830 53 65 74 43 6f 6c 6f 72 28 68 6d 63 2c 20 69 43  SetColor(hmc, iC
2c840 6f 6c 6f 72 2c 20 63 6c 72 29 20 53 4e 44 4d 53  olor, clr) SNDMS
2c850 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45 54 43 4f  G(hmc, MCM_SETCO
2c860 4c 4f 52 2c 20 69 43 6f 6c 6f 72 2c 20 63 6c 72  LOR, iColor, clr
2c870 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
2c880 20 7b 20 4d 43 4d 5f 47 45 54 43 4f 4c 4f 52 20   { MCM_GETCOLOR 
2c890 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 31  = MCM_FIRST + 11
2c8a0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d   }..// #define M
2c8b0 6f 6e 74 68 43 61 6c 5f 47 65 74 43 6f 6c 6f 72  onthCal_GetColor
2c8c0 28 68 6d 63 2c 20 69 43 6f 6c 6f 72 29 20 53 4e  (hmc, iColor) SN
2c8d0 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45  DMSG(hmc, MCM_GE
2c8e0 54 43 4f 4c 4f 52 2c 20 69 43 6f 6c 6f 72 2c 20  TCOLOR, iColor, 
2c8f0 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
2c900 74 20 7b 20 4d 43 53 43 5f 42 41 43 4b 47 52 4f  t { MCSC_BACKGRO
2c910 55 4e 44 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  UND = 0 }..enum 
2c920 3a 20 75 69 6e 74 20 7b 20 4d 43 53 43 5f 54 45  : uint { MCSC_TE
2c930 58 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  XT = 1 }..enum :
2c940 20 75 69 6e 74 20 7b 20 4d 43 53 43 5f 54 49 54   uint { MCSC_TIT
2c950 4c 45 42 4b 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  LEBK = 2 }..enum
2c960 20 3a 20 75 69 6e 74 20 7b 20 4d 43 53 43 5f 54   : uint { MCSC_T
2c970 49 54 4c 45 54 45 58 54 20 3d 20 33 20 7d 0d 0a  ITLETEXT = 3 }..
2c980 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2c990 53 43 5f 4d 4f 4e 54 48 42 4b 20 3d 20 34 20 7d  SC_MONTHBK = 4 }
2c9a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2c9b0 4d 43 53 43 5f 54 52 41 49 4c 49 4e 47 54 45 58  MCSC_TRAILINGTEX
2c9c0 54 20 3d 20 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  T = 5 }....enum 
2c9d0 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54  : uint { MCM_SET
2c9e0 54 4f 44 41 59 20 3d 20 4d 43 4d 5f 46 49 52 53  TODAY = MCM_FIRS
2c9f0 54 20 2b 20 31 32 20 7d 0d 0a 2f 2f 20 23 64 65  T + 12 }..// #de
2ca00 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 53 65  fine MonthCal_Se
2ca10 74 54 6f 64 61 79 28 68 6d 63 2c 20 70 73 74 29  tToday(hmc, pst)
2ca20 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d   SNDMSG(hmc, MCM
2ca30 5f 53 45 54 54 4f 44 41 59 2c 20 30 2c 20 28 4c  _SETTODAY, 0, (L
2ca40 50 41 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a  PARAM)(pst))....
2ca50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2ca60 4d 5f 47 45 54 54 4f 44 41 59 20 3d 20 4d 43 4d  M_GETTODAY = MCM
2ca70 5f 46 49 52 53 54 20 2b 20 31 33 20 7d 0d 0a 2f  _FIRST + 13 }../
2ca80 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43  / #define MonthC
2ca90 61 6c 5f 47 65 74 54 6f 64 61 79 28 68 6d 63 2c  al_GetToday(hmc,
2caa0 20 70 73 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d   pst) (BOOL)SNDM
2cab0 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54 54  SG(hmc, MCM_GETT
2cac0 4f 44 41 59 2c 20 30 2c 20 28 4c 50 41 52 41 4d  ODAY, 0, (LPARAM
2cad0 29 28 70 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20  )(pst))....enum 
2cae0 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 48 49 54  : uint { MCM_HIT
2caf0 54 45 53 54 20 3d 20 4d 43 4d 5f 46 49 52 53 54  TEST = MCM_FIRST
2cb00 20 2b 20 31 34 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 14 }..// #def
2cb10 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 48 69 74  ine MonthCal_Hit
2cb20 54 65 73 74 28 68 6d 63 2c 20 70 69 6e 66 6f 29  Test(hmc, pinfo)
2cb30 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d   SNDMSG(hmc, MCM
2cb40 5f 48 49 54 54 45 53 54 2c 20 30 2c 20 28 4c 50  _HITTEST, 0, (LP
2cb50 41 52 41 4d 29 28 50 4d 43 48 49 54 54 45 53 54  ARAM)(PMCHITTEST
2cb60 49 4e 46 4f 29 28 70 69 6e 66 6f 29 29 0d 0a 0d  INFO)(pinfo))...
2cb70 0a 73 74 72 75 63 74 20 5f 31 35 20 7b 0d 0a 20  .struct _15 {.. 
2cb80 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20   UINT cbSize;.. 
2cb90 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20 20 55 49   POINT pt;..  UI
2cba0 4e 54 20 75 48 69 74 3b 0d 0a 20 20 53 59 53 54  NT uHit;..  SYST
2cbb0 45 4d 54 49 4d 45 20 73 74 3b 0d 0a 7d 0d 0a 61  EMTIME st;..}..a
2cbc0 6c 69 61 73 20 5f 31 35 20 4d 43 48 49 54 54 45  lias _15 MCHITTE
2cbd0 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f  STINFO;..alias _
2cbe0 31 35 2a 20 50 4d 43 48 49 54 54 45 53 54 49 4e  15* PMCHITTESTIN
2cbf0 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  FO;....enum : ui
2cc00 6e 74 20 7b 20 4d 43 48 54 5f 54 49 54 4c 45 20  nt { MCHT_TITLE 
2cc10 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
2cc20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2cc30 48 54 5f 43 41 4c 45 4e 44 41 52 20 3d 20 30 78  HT_CALENDAR = 0x
2cc40 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00020000 }..enum
2cc50 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 54   : uint { MCHT_T
2cc60 4f 44 41 59 4c 49 4e 4b 20 3d 20 30 78 30 30 30  ODAYLINK = 0x000
2cc70 33 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  30000 }....enum 
2cc80 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 4e 45  : uint { MCHT_NE
2cc90 58 54 20 3d 20 30 78 30 31 30 30 30 30 30 30 20  XT = 0x01000000 
2cca0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2ccb0 20 4d 43 48 54 5f 50 52 45 56 20 3d 20 30 78 30   MCHT_PREV = 0x0
2ccc0 32 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75  2000000 }....enu
2ccd0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f  m : uint { MCHT_
2cce0 4e 4f 57 48 45 52 45 20 3d 20 30 78 30 30 30 30  NOWHERE = 0x0000
2ccf0 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
2cd00 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 54 49 54   uint { MCHT_TIT
2cd10 4c 45 42 4b 20 3d 20 4d 43 48 54 5f 54 49 54 4c  LEBK = MCHT_TITL
2cd20 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  E }..enum : uint
2cd30 20 7b 20 4d 43 48 54 5f 54 49 54 4c 45 4d 4f 4e   { MCHT_TITLEMON
2cd40 54 48 20 3d 20 4d 43 48 54 5f 54 49 54 4c 45 20  TH = MCHT_TITLE 
2cd50 7c 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  | 0x0001 }..enum
2cd60 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 54   : uint { MCHT_T
2cd70 49 54 4c 45 59 45 41 52 20 3d 20 4d 43 48 54 5f  ITLEYEAR = MCHT_
2cd80 54 49 54 4c 45 20 7c 20 30 78 30 30 30 32 20 7d  TITLE | 0x0002 }
2cd90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2cda0 4d 43 48 54 5f 54 49 54 4c 45 42 54 4e 4e 45 58  MCHT_TITLEBTNNEX
2cdb0 54 20 3d 20 4d 43 48 54 5f 54 49 54 4c 45 20 7c  T = MCHT_TITLE |
2cdc0 20 4d 43 48 54 5f 4e 45 58 54 20 7c 20 30 78 30   MCHT_NEXT | 0x0
2cdd0 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
2cde0 6e 74 20 7b 20 4d 43 48 54 5f 54 49 54 4c 45 42  nt { MCHT_TITLEB
2cdf0 54 4e 50 52 45 56 20 3d 20 4d 43 48 54 5f 54 49  TNPREV = MCHT_TI
2ce00 54 4c 45 20 7c 20 4d 43 48 54 5f 50 52 45 56 20  TLE | MCHT_PREV 
2ce10 7c 20 30 78 30 30 30 33 20 7d 0d 0a 0d 0a 65 6e  | 0x0003 }....en
2ce20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54  um : uint { MCHT
2ce30 5f 43 41 4c 45 4e 44 41 52 42 4b 20 3d 20 4d 43  _CALENDARBK = MC
2ce40 48 54 5f 43 41 4c 45 4e 44 41 52 20 7d 0d 0a 65  HT_CALENDAR }..e
2ce50 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48  num : uint { MCH
2ce60 54 5f 43 41 4c 45 4e 44 41 52 44 41 54 45 20 3d  T_CALENDARDATE =
2ce70 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 20 7c   MCHT_CALENDAR |
2ce80 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
2ce90 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 43 41  : uint { MCHT_CA
2cea0 4c 45 4e 44 41 52 44 41 54 45 4e 45 58 54 20 3d  LENDARDATENEXT =
2ceb0 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 44 41   MCHT_CALENDARDA
2cec0 54 45 20 7c 20 4d 43 48 54 5f 4e 45 58 54 20 7d  TE | MCHT_NEXT }
2ced0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2cee0 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 44 41 54  MCHT_CALENDARDAT
2cef0 45 50 52 45 56 20 3d 20 4d 43 48 54 5f 43 41 4c  EPREV = MCHT_CAL
2cf00 45 4e 44 41 52 44 41 54 45 20 7c 20 4d 43 48 54  ENDARDATE | MCHT
2cf10 5f 50 52 45 56 20 7d 0d 0a 65 6e 75 6d 20 3a 20  _PREV }..enum : 
2cf20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 43 41 4c 45  uint { MCHT_CALE
2cf30 4e 44 41 52 44 41 59 20 3d 20 4d 43 48 54 5f 43  NDARDAY = MCHT_C
2cf40 41 4c 45 4e 44 41 52 20 7c 20 30 78 30 30 30 32  ALENDAR | 0x0002
2cf50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2cf60 7b 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 57  { MCHT_CALENDARW
2cf70 45 45 4b 4e 55 4d 20 3d 20 4d 43 48 54 5f 43 41  EEKNUM = MCHT_CA
2cf80 4c 45 4e 44 41 52 20 7c 20 30 78 30 30 30 33 20  LENDAR | 0x0003 
2cf90 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
2cfa0 20 7b 20 4d 43 4d 5f 53 45 54 46 49 52 53 54 44   { MCM_SETFIRSTD
2cfb0 41 59 4f 46 57 45 45 4b 20 3d 20 4d 43 4d 5f 46  AYOFWEEK = MCM_F
2cfc0 49 52 53 54 20 2b 20 31 35 20 7d 0d 0a 2f 2f 20  IRST + 15 }..// 
2cfd0 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c  #define MonthCal
2cfe0 5f 53 65 74 46 69 72 73 74 44 61 79 4f 66 57 65  _SetFirstDayOfWe
2cff0 65 6b 28 68 6d 63 2c 20 69 44 61 79 29 20 53 4e  ek(hmc, iDay) SN
2d000 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45  DMSG(hmc, MCM_SE
2d010 54 46 49 52 53 54 44 41 59 4f 46 57 45 45 4b 2c  TFIRSTDAYOFWEEK,
2d020 20 30 2c 20 69 44 61 79 29 0d 0a 0d 0a 65 6e 75   0, iDay)....enu
2d030 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47  m : uint { MCM_G
2d040 45 54 46 49 52 53 54 44 41 59 4f 46 57 45 45 4b  ETFIRSTDAYOFWEEK
2d050 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31   = MCM_FIRST + 1
2d060 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  6 }..// #define 
2d070 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 46 69 72 73  MonthCal_GetFirs
2d080 74 44 61 79 4f 66 57 65 65 6b 28 68 6d 63 29 20  tDayOfWeek(hmc) 
2d090 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 68 6d  (DWORD)SNDMSG(hm
2d0a0 63 2c 20 4d 43 4d 5f 47 45 54 46 49 52 53 54 44  c, MCM_GETFIRSTD
2d0b0 41 59 4f 46 57 45 45 4b 2c 20 30 2c 20 30 29 0d  AYOFWEEK, 0, 0).
2d0c0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2d0d0 20 4d 43 4d 5f 47 45 54 52 41 4e 47 45 20 3d 20   MCM_GETRANGE = 
2d0e0 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 37 20 7d  MCM_FIRST + 17 }
2d0f0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e  ..// #define Mon
2d100 74 68 43 61 6c 5f 47 65 74 52 61 6e 67 65 28 68  thCal_GetRange(h
2d110 6d 63 2c 20 72 67 73 74 29 20 28 44 57 4f 52 44  mc, rgst) (DWORD
2d120 29 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d  )SNDMSG(hmc, MCM
2d130 5f 47 45 54 52 41 4e 47 45 2c 20 30 2c 20 28 4c  _GETRANGE, 0, (L
2d140 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d 0a 0d  PARAM)(rgst))...
2d150 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2d160 43 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20 4d 43  CM_SETRANGE = MC
2d170 4d 5f 46 49 52 53 54 20 2b 20 31 38 20 7d 0d 0a  M_FIRST + 18 }..
2d180 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68  // #define Month
2d190 43 61 6c 5f 53 65 74 52 61 6e 67 65 28 68 6d 63  Cal_SetRange(hmc
2d1a0 2c 20 67 64 2c 20 72 67 73 74 29 20 28 42 4f 4f  , gd, rgst) (BOO
2d1b0 4c 29 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43  L)SNDMSG(hmc, MC
2d1c0 4d 5f 53 45 54 52 41 4e 47 45 2c 20 28 57 50 41  M_SETRANGE, (WPA
2d1d0 52 41 4d 29 28 67 64 29 2c 20 28 4c 50 41 52 41  RAM)(gd), (LPARA
2d1e0 4d 29 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e 75  M)(rgst))....enu
2d1f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47  m : uint { MCM_G
2d200 45 54 4d 4f 4e 54 48 44 45 4c 54 41 20 3d 20 4d  ETMONTHDELTA = M
2d210 43 4d 5f 46 49 52 53 54 20 2b 20 31 39 20 7d 0d  CM_FIRST + 19 }.
2d220 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74  .// #define Mont
2d230 68 43 61 6c 5f 47 65 74 4d 6f 6e 74 68 44 65 6c  hCal_GetMonthDel
2d240 74 61 28 68 6d 63 29 20 28 69 6e 74 29 53 4e 44  ta(hmc) (int)SND
2d250 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54  MSG(hmc, MCM_GET
2d260 4d 4f 4e 54 48 44 45 4c 54 41 2c 20 30 2c 20 30  MONTHDELTA, 0, 0
2d270 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
2d280 20 7b 20 4d 43 4d 5f 53 45 54 4d 4f 4e 54 48 44   { MCM_SETMONTHD
2d290 45 4c 54 41 20 3d 20 4d 43 4d 5f 46 49 52 53 54  ELTA = MCM_FIRST
2d2a0 20 2b 20 32 30 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 20 }..// #def
2d2b0 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74  ine MonthCal_Set
2d2c0 4d 6f 6e 74 68 44 65 6c 74 61 28 68 6d 63 2c 20  MonthDelta(hmc, 
2d2d0 6e 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 68  n) (int)SNDMSG(h
2d2e0 6d 63 2c 20 4d 43 4d 5f 53 45 54 4d 4f 4e 54 48  mc, MCM_SETMONTH
2d2f0 44 45 4c 54 41 2c 20 6e 2c 20 30 29 0d 0a 0d 0a  DELTA, n, 0)....
2d300 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2d310 4d 5f 47 45 54 4d 41 58 54 4f 44 41 59 57 49 44  M_GETMAXTODAYWID
2d320 54 48 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b  TH = MCM_FIRST +
2d330 20 32 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   21 }..// #defin
2d340 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 4d 61  e MonthCal_GetMa
2d350 78 54 6f 64 61 79 57 69 64 74 68 28 68 6d 63 29  xTodayWidth(hmc)
2d360 20 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 68   (DWORD)SNDMSG(h
2d370 6d 63 2c 20 4d 43 4d 5f 47 45 54 4d 41 58 54 4f  mc, MCM_GETMAXTO
2d380 44 41 59 57 49 44 54 48 2c 20 30 2c 20 30 29 0d  DAYWIDTH, 0, 0).
2d390 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
2d3a0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
2d3b0 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 55 4e  .alias CCM_SETUN
2d3c0 49 43 4f 44 45 46 4f 52 4d 41 54 20 4d 43 4d 5f  ICODEFORMAT MCM_
2d3d0 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54  SETUNICODEFORMAT
2d3e0 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f  ;..// #define Mo
2d3f0 6e 74 68 43 61 6c 5f 53 65 74 55 6e 69 63 6f 64  nthCal_SetUnicod
2d400 65 46 6f 72 6d 61 74 28 68 77 6e 64 2c 20 66 55  eFormat(hwnd, fU
2d410 6e 69 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53 4e  nicode) (BOOL)SN
2d420 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4d 43 4d  DMSG((hwnd), MCM
2d430 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
2d440 54 2c 20 28 57 50 41 52 41 4d 29 28 66 55 6e 69  T, (WPARAM)(fUni
2d450 63 6f 64 65 29 2c 20 30 29 0d 0a 0d 0a 61 6c 69  code), 0)....ali
2d460 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44  as CCM_GETUNICOD
2d470 45 46 4f 52 4d 41 54 20 4d 43 4d 5f 47 45 54 55  EFORMAT MCM_GETU
2d480 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f  NICODEFORMAT;../
2d490 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43  / #define MonthC
2d4a0 61 6c 5f 47 65 74 55 6e 69 63 6f 64 65 46 6f 72  al_GetUnicodeFor
2d4b0 6d 61 74 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29  mat(hwnd) (BOOL)
2d4c0 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4d  SNDMSG((hwnd), M
2d4d0 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52  CM_GETUNICODEFOR
2d4e0 4d 41 54 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23  MAT, 0, 0)..// #
2d4f0 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
2d500 74 61 67 4e 4d 53 45 4c 43 48 41 4e 47 45 20 7b  tagNMSELCHANGE {
2d510 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72 3b  ..  NMHDR nmhdr;
2d520 0d 0a 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45  ....  SYSTEMTIME
2d530 20 73 74 53 65 6c 53 74 61 72 74 3b 0d 0a 20 20   stSelStart;..  
2d540 53 59 53 54 45 4d 54 49 4d 45 20 73 74 53 65 6c  SYSTEMTIME stSel
2d550 45 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  End;..}..alias t
2d560 61 67 4e 4d 53 45 4c 43 48 41 4e 47 45 20 4e 4d  agNMSELCHANGE NM
2d570 53 45 4c 43 48 41 4e 47 45 3b 0d 0a 61 6c 69 61  SELCHANGE;..alia
2d580 73 20 74 61 67 4e 4d 53 45 4c 43 48 41 4e 47 45  s tagNMSELCHANGE
2d590 2a 20 4c 50 4e 4d 53 45 4c 43 48 41 4e 47 45 3b  * LPNMSELCHANGE;
2d5a0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2d5b0 7b 20 4d 43 4e 5f 53 45 4c 43 48 41 4e 47 45 20  { MCN_SELCHANGE 
2d5c0 3d 20 4d 43 4e 5f 46 49 52 53 54 20 2b 20 31 20  = MCN_FIRST + 1 
2d5d0 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  }....struct tagN
2d5e0 4d 44 41 59 53 54 41 54 45 20 7b 0d 0a 20 20 4e  MDAYSTATE {..  N
2d5f0 4d 48 44 52 20 6e 6d 68 64 72 3b 0d 0a 0d 0a 20  MHDR nmhdr;.... 
2d600 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 53 74   SYSTEMTIME stSt
2d610 61 72 74 3b 0d 0a 20 20 69 6e 74 20 63 44 61 79  art;..  int cDay
2d620 53 74 61 74 65 3b 0d 0a 20 20 4c 50 4d 4f 4e 54  State;..  LPMONT
2d630 48 44 41 59 53 54 41 54 45 20 70 72 67 44 61 79  HDAYSTATE prgDay
2d640 53 74 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  State;..}..alias
2d650 20 74 61 67 4e 4d 44 41 59 53 54 41 54 45 20 4e   tagNMDAYSTATE N
2d660 4d 44 41 59 53 54 41 54 45 3b 0d 0a 61 6c 69 61  MDAYSTATE;..alia
2d670 73 20 74 61 67 4e 4d 44 41 59 53 54 41 54 45 2a  s tagNMDAYSTATE*
2d680 20 4c 50 4e 4d 44 41 59 53 54 41 54 45 3b 0d 0a   LPNMDAYSTATE;..
2d690 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2d6a0 4d 43 4e 5f 47 45 54 44 41 59 53 54 41 54 45 20  MCN_GETDAYSTATE 
2d6b0 3d 20 4d 43 4e 5f 46 49 52 53 54 20 2b 20 33 20  = MCN_FIRST + 3 
2d6c0 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4e 4d 53 45 4c  }....alias NMSEL
2d6d0 43 48 41 4e 47 45 20 4e 4d 53 45 4c 45 43 54 3b  CHANGE NMSELECT;
2d6e0 0d 0a 61 6c 69 61 73 20 4e 4d 53 45 4c 43 48 41  ..alias NMSELCHA
2d6f0 4e 47 45 2a 20 4c 50 4e 4d 53 45 4c 45 43 54 3b  NGE* LPNMSELECT;
2d700 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2d710 7b 20 4d 43 4e 5f 53 45 4c 45 43 54 20 3d 20 4d  { MCN_SELECT = M
2d720 43 4e 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a  CN_FIRST + 4 }..
2d730 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2d740 4d 43 53 5f 44 41 59 53 54 41 54 45 20 3d 20 30  MCS_DAYSTATE = 0
2d750 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
2d760 75 69 6e 74 20 7b 20 4d 43 53 5f 4d 55 4c 54 49  uint { MCS_MULTI
2d770 53 45 4c 45 43 54 20 3d 20 30 78 30 30 30 32 20  SELECT = 0x0002 
2d780 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d790 20 4d 43 53 5f 57 45 45 4b 4e 55 4d 42 45 52 53   MCS_WEEKNUMBERS
2d7a0 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20   = 0x0004 }..// 
2d7b0 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
2d7c0 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
2d7d0 3a 20 75 69 6e 74 20 7b 20 4d 43 53 5f 4e 4f 54  : uint { MCS_NOT
2d7e0 4f 44 41 59 43 49 52 43 4c 45 20 3d 20 30 78 30  ODAYCIRCLE = 0x0
2d7f0 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
2d800 6e 74 20 7b 20 4d 43 53 5f 4e 4f 54 4f 44 41 59  nt { MCS_NOTODAY
2d810 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 2f 2f 20   = 0x0010 }..// 
2d820 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
2d830 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
2d840 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4d 52 5f 56  m : uint { GMR_V
2d850 49 53 49 42 4c 45 20 3d 20 30 20 7d 0d 0a 65 6e  ISIBLE = 0 }..en
2d860 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 4d 52 5f  um : uint { GMR_
2d870 44 41 59 53 54 41 54 45 20 3d 20 31 20 7d 0d 0a  DAYSTATE = 1 }..
2d880 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 5f  ..// #endif // _
2d890 57 49 4e 33 32 0d 0a 2f 2f 20 23 65 6e 64 69 66  WIN32..// #endif
2d8a0 20 2f 2f 20 4e 4f 4d 4f 4e 54 48 43 41 4c 0d 0a   // NOMONTHCAL..
2d8b0 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 44  ..// #ifndef NOD
2d8c0 41 54 45 54 49 4d 45 50 49 43 4b 0d 0a 2f 2f 20  ATETIMEPICK..// 
2d8d0 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
2d8e0 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 44  .const wchar[] D
2d8f0 41 54 45 54 49 4d 45 50 49 43 4b 5f 43 4c 41 53  ATETIMEPICK_CLAS
2d900 53 57 20 3d 20 22 53 79 73 44 61 74 65 54 69 6d  SW = "SysDateTim
2d910 65 50 69 63 6b 33 32 22 3b 0d 0a 63 6f 6e 73 74  ePick32";..const
2d920 20 63 68 61 72 5b 5d 20 44 41 54 45 54 49 4d 45   char[] DATETIME
2d930 50 49 43 4b 5f 43 4c 41 53 53 41 20 3d 20 22 53  PICK_CLASSA = "S
2d940 79 73 44 61 74 65 54 69 6d 65 50 69 63 6b 33 32  ysDateTimePick32
2d950 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ";....// #ifdef 
2d960 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
2d970 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
2d980 73 20 44 41 54 45 54 49 4d 45 50 49 43 4b 5f 43  s DATETIMEPICK_C
2d990 4c 41 53 53 41 20 44 41 54 45 54 49 4d 45 50 49  LASSA DATETIMEPI
2d9a0 43 4b 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23 65  CK_CLASS;..// #e
2d9b0 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
2d9c0 69 6e 74 20 7b 20 44 54 4d 5f 46 49 52 53 54 20  int { DTM_FIRST 
2d9d0 3d 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a 65 6e  = 0x1000 }....en
2d9e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f  um : uint { DTM_
2d9f0 47 45 54 53 59 53 54 45 4d 54 49 4d 45 20 3d 20  GETSYSTEMTIME = 
2da00 44 54 4d 5f 46 49 52 53 54 20 2b 20 31 20 7d 0d  DTM_FIRST + 1 }.
2da10 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65  .// #define Date
2da20 54 69 6d 65 5f 47 65 74 53 79 73 74 65 6d 74 69  Time_GetSystemti
2da30 6d 65 28 68 64 70 2c 20 70 73 74 29 20 28 44 57  me(hdp, pst) (DW
2da40 4f 52 44 29 53 4e 44 4d 53 47 28 68 64 70 2c 20  ORD)SNDMSG(hdp, 
2da50 44 54 4d 5f 47 45 54 53 59 53 54 45 4d 54 49 4d  DTM_GETSYSTEMTIM
2da60 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70  E, 0, (LPARAM)(p
2da70 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  st))....enum : u
2da80 69 6e 74 20 7b 20 44 54 4d 5f 53 45 54 53 59 53  int { DTM_SETSYS
2da90 54 45 4d 54 49 4d 45 20 3d 20 44 54 4d 5f 46 49  TEMTIME = DTM_FI
2daa0 52 53 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20 23 64  RST + 2 }..// #d
2dab0 65 66 69 6e 65 20 44 61 74 65 54 69 6d 65 5f 53  efine DateTime_S
2dac0 65 74 53 79 73 74 65 6d 74 69 6d 65 28 68 64 70  etSystemtime(hdp
2dad0 2c 20 67 64 2c 20 70 73 74 29 20 28 42 4f 4f 4c  , gd, pst) (BOOL
2dae0 29 53 4e 44 4d 53 47 28 68 64 70 2c 20 44 54 4d  )SNDMSG(hdp, DTM
2daf0 5f 53 45 54 53 59 53 54 45 4d 54 49 4d 45 2c 20  _SETSYSTEMTIME, 
2db00 28 57 50 41 52 41 4d 29 28 67 64 29 2c 20 28 4c  (WPARAM)(gd), (L
2db10 50 41 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a  PARAM)(pst))....
2db20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2db30 4d 5f 47 45 54 52 41 4e 47 45 20 3d 20 44 54 4d  M_GETRANGE = DTM
2db40 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d 0a 2f 2f  _FIRST + 3 }..//
2db50 20 23 64 65 66 69 6e 65 20 44 61 74 65 54 69 6d   #define DateTim
2db60 65 5f 47 65 74 52 61 6e 67 65 28 68 64 70 2c 20  e_GetRange(hdp, 
2db70 72 67 73 74 29 20 28 44 57 4f 52 44 29 53 4e 44  rgst) (DWORD)SND
2db80 4d 53 47 28 68 64 70 2c 20 44 54 4d 5f 47 45 54  MSG(hdp, DTM_GET
2db90 52 41 4e 47 45 2c 20 30 2c 20 28 4c 50 41 52 41  RANGE, 0, (LPARA
2dba0 4d 29 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e 75  M)(rgst))....enu
2dbb0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f 53  m : uint { DTM_S
2dbc0 45 54 52 41 4e 47 45 20 3d 20 44 54 4d 5f 46 49  ETRANGE = DTM_FI
2dbd0 52 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f 20 23 64  RST + 4 }..// #d
2dbe0 65 66 69 6e 65 20 44 61 74 65 54 69 6d 65 5f 53  efine DateTime_S
2dbf0 65 74 52 61 6e 67 65 28 68 64 70 2c 20 67 64 2c  etRange(hdp, gd,
2dc00 20 72 67 73 74 29 20 28 42 4f 4f 4c 29 53 4e 44   rgst) (BOOL)SND
2dc10 4d 53 47 28 68 64 70 2c 20 44 54 4d 5f 53 45 54  MSG(hdp, DTM_SET
2dc20 52 41 4e 47 45 2c 20 28 57 50 41 52 41 4d 29 28  RANGE, (WPARAM)(
2dc30 67 64 29 2c 20 28 4c 50 41 52 41 4d 29 28 72 67  gd), (LPARAM)(rg
2dc40 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  st))....enum : u
2dc50 69 6e 74 20 7b 20 44 54 4d 5f 53 45 54 46 4f 52  int { DTM_SETFOR
2dc60 4d 41 54 41 20 3d 20 44 54 4d 5f 46 49 52 53 54  MATA = DTM_FIRST
2dc70 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 5 }..enum : u
2dc80 69 6e 74 20 7b 20 44 54 4d 5f 53 45 54 46 4f 52  int { DTM_SETFOR
2dc90 4d 41 54 57 20 3d 20 44 54 4d 5f 46 49 52 53 54  MATW = DTM_FIRST
2dca0 20 2b 20 35 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69   + 50 }....// #i
2dcb0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
2dcc0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
2dcd0 0a 61 6c 69 61 73 20 44 54 4d 5f 53 45 54 46 4f  .alias DTM_SETFO
2dce0 52 4d 41 54 41 20 44 54 4d 5f 53 45 54 46 4f 52  RMATA DTM_SETFOR
2dcf0 4d 41 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  MAT;..// #endif.
2dd00 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 61  ...// #define Da
2dd10 74 65 54 69 6d 65 5f 53 65 74 46 6f 72 6d 61 74  teTime_SetFormat
2dd20 28 68 64 70 2c 20 73 7a 29 20 28 42 4f 4f 4c 29  (hdp, sz) (BOOL)
2dd30 53 4e 44 4d 53 47 28 68 64 70 2c 20 44 54 4d 5f  SNDMSG(hdp, DTM_
2dd40 53 45 54 46 4f 52 4d 41 54 2c 20 30 2c 20 28 4c  SETFORMAT, 0, (L
2dd50 50 41 52 41 4d 29 28 73 7a 29 29 0d 0a 0d 0a 65  PARAM)(sz))....e
2dd60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d  num : uint { DTM
2dd70 5f 53 45 54 4d 43 43 4f 4c 4f 52 20 3d 20 44 54  _SETMCCOLOR = DT
2dd80 4d 5f 46 49 52 53 54 20 2b 20 36 20 7d 0d 0a 2f  M_FIRST + 6 }../
2dd90 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65 54 69  / #define DateTi
2dda0 6d 65 5f 53 65 74 4d 6f 6e 74 68 43 61 6c 43 6f  me_SetMonthCalCo
2ddb0 6c 6f 72 28 68 64 70 2c 20 69 43 6f 6c 6f 72 2c  lor(hdp, iColor,
2ddc0 20 63 6c 72 29 20 53 4e 44 4d 53 47 28 68 64 70   clr) SNDMSG(hdp
2ddd0 2c 20 44 54 4d 5f 53 45 54 4d 43 43 4f 4c 4f 52  , DTM_SETMCCOLOR
2dde0 2c 20 69 43 6f 6c 6f 72 2c 20 63 6c 72 29 0d 0a  , iColor, clr)..
2ddf0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2de00 44 54 4d 5f 47 45 54 4d 43 43 4f 4c 4f 52 20 3d  DTM_GETMCCOLOR =
2de10 20 44 54 4d 5f 46 49 52 53 54 20 2b 20 37 20 7d   DTM_FIRST + 7 }
2de20 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74  ..// #define Dat
2de30 65 54 69 6d 65 5f 47 65 74 4d 6f 6e 74 68 43 61  eTime_GetMonthCa
2de40 6c 43 6f 6c 6f 72 28 68 64 70 2c 20 69 43 6f 6c  lColor(hdp, iCol
2de50 6f 72 29 20 53 4e 44 4d 53 47 28 68 64 70 2c 20  or) SNDMSG(hdp, 
2de60 44 54 4d 5f 47 45 54 4d 43 43 4f 4c 4f 52 2c 20  DTM_GETMCCOLOR, 
2de70 69 43 6f 6c 6f 72 2c 20 30 29 0d 0a 0d 0a 65 6e  iColor, 0)....en
2de80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f  um : uint { DTM_
2de90 47 45 54 4d 4f 4e 54 48 43 41 4c 20 3d 20 44 54  GETMONTHCAL = DT
2dea0 4d 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a 2f  M_FIRST + 8 }../
2deb0 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65 54 69  / #define DateTi
2dec0 6d 65 5f 47 65 74 4d 6f 6e 74 68 43 61 6c 28 68  me_GetMonthCal(h
2ded0 64 70 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47  dp) (HWND)SNDMSG
2dee0 28 68 64 70 2c 20 44 54 4d 5f 47 45 54 4d 4f 4e  (hdp, DTM_GETMON
2def0 54 48 43 41 4c 2c 20 30 2c 20 30 29 0d 0a 0d 0a  THCAL, 0, 0)....
2df00 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
2df10 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a  E >= 0x0400)....
2df20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2df30 4d 5f 53 45 54 4d 43 46 4f 4e 54 20 3d 20 44 54  M_SETMCFONT = DT
2df40 4d 5f 46 49 52 53 54 20 2b 20 39 20 7d 0d 0a 2f  M_FIRST + 9 }../
2df50 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65 54 69  / #define DateTi
2df60 6d 65 5f 53 65 74 4d 6f 6e 74 68 43 61 6c 46 6f  me_SetMonthCalFo
2df70 6e 74 28 68 64 70 2c 20 68 66 6f 6e 74 2c 20 66  nt(hdp, hfont, f
2df80 52 65 64 72 61 77 29 20 53 4e 44 4d 53 47 28 68  Redraw) SNDMSG(h
2df90 64 70 2c 20 44 54 4d 5f 53 45 54 4d 43 46 4f 4e  dp, DTM_SETMCFON
2dfa0 54 2c 20 28 57 50 41 52 41 4d 29 28 68 66 6f 6e  T, (WPARAM)(hfon
2dfb0 74 29 2c 20 28 4c 50 41 52 41 4d 29 28 66 52 65  t), (LPARAM)(fRe
2dfc0 64 72 61 77 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  draw))....enum :
2dfd0 20 75 69 6e 74 20 7b 20 44 54 4d 5f 47 45 54 4d   uint { DTM_GETM
2dfe0 43 46 4f 4e 54 20 3d 20 44 54 4d 5f 46 49 52 53  CFONT = DTM_FIRS
2dff0 54 20 2b 20 31 30 20 7d 0d 0a 2f 2f 20 23 64 65  T + 10 }..// #de
2e000 66 69 6e 65 20 44 61 74 65 54 69 6d 65 5f 47 65  fine DateTime_Ge
2e010 74 4d 6f 6e 74 68 43 61 6c 46 6f 6e 74 28 68 64  tMonthCalFont(hd
2e020 70 29 20 53 4e 44 4d 53 47 28 68 64 70 2c 20 44  p) SNDMSG(hdp, D
2e030 54 4d 5f 47 45 54 4d 43 46 4f 4e 54 2c 20 30 2c  TM_GETMCFONT, 0,
2e040 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66   0)....// #endif
2e050 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f        // _WIN32_
2e060 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a  IE >= 0x0400....
2e070 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2e080 53 5f 55 50 44 4f 57 4e 20 3d 20 30 78 30 30 30  S_UPDOWN = 0x000
2e090 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2e0a0 20 7b 20 44 54 53 5f 53 48 4f 57 4e 4f 4e 45 20   { DTS_SHOWNONE 
2e0b0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
2e0c0 20 3a 20 75 69 6e 74 20 7b 20 44 54 53 5f 53 48   : uint { DTS_SH
2e0d0 4f 52 54 44 41 54 45 46 4f 52 4d 41 54 20 3d 20  ORTDATEFORMAT = 
2e0e0 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0000 }..enum :
2e0f0 20 75 69 6e 74 20 7b 20 44 54 53 5f 4c 4f 4e 47   uint { DTS_LONG
2e100 44 41 54 45 46 4f 52 4d 41 54 20 3d 20 30 78 30  DATEFORMAT = 0x0
2e110 30 30 34 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f  004 }..// #if (_
2e120 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30  WIN32_IE >= 0x50
2e130 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
2e140 7b 20 44 54 53 5f 53 48 4f 52 54 44 41 54 45 43  { DTS_SHORTDATEC
2e150 45 4e 54 55 52 59 46 4f 52 4d 41 54 20 3d 20 30  ENTURYFORMAT = 0
2e160 78 30 30 30 43 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x000C }..// #end
2e170 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 49 45  if // (_WIN32_IE
2e180 20 3e 3d 20 30 78 35 30 30 29 0d 0a 65 6e 75 6d   >= 0x500)..enum
2e190 20 3a 20 75 69 6e 74 20 7b 20 44 54 53 5f 54 49   : uint { DTS_TI
2e1a0 4d 45 46 4f 52 4d 41 54 20 3d 20 30 78 30 30 30  MEFORMAT = 0x000
2e1b0 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
2e1c0 20 7b 20 44 54 53 5f 41 50 50 43 41 4e 50 41 52   { DTS_APPCANPAR
2e1d0 53 45 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65  SE = 0x0010 }..e
2e1e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 53  num : uint { DTS
2e1f0 5f 52 49 47 48 54 41 4c 49 47 4e 20 3d 20 30 78  _RIGHTALIGN = 0x
2e200 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0020 }....enum :
2e210 20 75 69 6e 74 20 7b 20 44 54 4e 5f 44 41 54 45   uint { DTN_DATE
2e220 54 49 4d 45 43 48 41 4e 47 45 20 3d 20 44 54 4e  TIMECHANGE = DTN
2e230 5f 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 73 74  _FIRST + 1 }..st
2e240 72 75 63 74 20 74 61 67 4e 4d 44 41 54 45 54 49  ruct tagNMDATETI
2e250 4d 45 43 48 41 4e 47 45 20 7b 0d 0a 20 20 4e 4d  MECHANGE {..  NM
2e260 48 44 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 44 57  HDR nmhdr;..  DW
2e270 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20  ORD dwFlags;..  
2e280 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d 0a  SYSTEMTIME st;..
2e290 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41  }..alias tagNMDA
2e2a0 54 45 54 49 4d 45 43 48 41 4e 47 45 20 4e 4d 44  TETIMECHANGE NMD
2e2b0 41 54 45 54 49 4d 45 43 48 41 4e 47 45 3b 0d 0a  ATETIMECHANGE;..
2e2c0 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45 54  alias tagNMDATET
2e2d0 49 4d 45 43 48 41 4e 47 45 2a 20 4c 50 4e 4d 44  IMECHANGE* LPNMD
2e2e0 41 54 45 54 49 4d 45 43 48 41 4e 47 45 3b 0d 0a  ATETIMECHANGE;..
2e2f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e300 44 54 4e 5f 55 53 45 52 53 54 52 49 4e 47 41 20  DTN_USERSTRINGA 
2e310 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 32 20  = DTN_FIRST + 2 
2e320 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2e330 20 44 54 4e 5f 55 53 45 52 53 54 52 49 4e 47 57   DTN_USERSTRINGW
2e340 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 31   = DTN_FIRST + 1
2e350 35 20 7d 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  5 }..struct tagN
2e360 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47 41  MDATETIMESTRINGA
2e370 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64   {..  NMHDR nmhd
2e380 72 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a  r;..  LPCSTR psz
2e390 55 73 65 72 53 74 72 69 6e 67 3b 0d 0a 20 20 53  UserString;..  S
2e3a0 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d 0a 20  YSTEMTIME st;.. 
2e3b0 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
2e3c0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44  .}..alias tagNMD
2e3d0 41 54 45 54 49 4d 45 53 54 52 49 4e 47 41 20 4e  ATETIMESTRINGA N
2e3e0 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47 41  MDATETIMESTRINGA
2e3f0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41  ;..alias tagNMDA
2e400 54 45 54 49 4d 45 53 54 52 49 4e 47 41 2a 20 4c  TETIMESTRINGA* L
2e410 50 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e  PNMDATETIMESTRIN
2e420 47 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  GA;....struct ta
2e430 67 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e  gNMDATETIMESTRIN
2e440 47 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d  GW {..  NMHDR nm
2e450 68 64 72 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  hdr;..  LPCWSTR 
2e460 70 73 7a 55 73 65 72 53 74 72 69 6e 67 3b 0d 0a  pszUserString;..
2e470 20 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b    SYSTEMTIME st;
2e480 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
2e490 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  s;..}..alias tag
2e4a0 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47  NMDATETIMESTRING
2e4b0 57 20 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49  W NMDATETIMESTRI
2e4c0 4e 47 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  NGW;..alias tagN
2e4d0 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47 57  MDATETIMESTRINGW
2e4e0 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 53 54  * LPNMDATETIMEST
2e4f0 52 49 4e 47 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  RINGW;....// #if
2e500 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
2e510 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2e520 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2e530 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 55 53 45 52  ..alias DTN_USER
2e540 53 54 52 49 4e 47 41 20 44 54 4e 5f 55 53 45 52  STRINGA DTN_USER
2e550 53 54 52 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 4e  STRING;..alias N
2e560 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47 41  MDATETIMESTRINGA
2e570 20 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e   NMDATETIMESTRIN
2e580 47 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 44 41  G;..alias LPNMDA
2e590 54 45 54 49 4d 45 53 54 52 49 4e 47 41 20 4c 50  TETIMESTRINGA LP
2e5a0 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47  NMDATETIMESTRING
2e5b0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
2e5c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2e5d0 4e 5f 57 4d 4b 45 59 44 4f 57 4e 41 20 3d 20 44  N_WMKEYDOWNA = D
2e5e0 54 4e 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d 0a  TN_FIRST + 3 }..
2e5f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2e600 4e 5f 57 4d 4b 45 59 44 4f 57 4e 57 20 3d 20 44  N_WMKEYDOWNW = D
2e610 54 4e 5f 46 49 52 53 54 20 2b 20 31 36 20 7d 0d  TN_FIRST + 16 }.
2e620 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 44 41 54  .struct tagNMDAT
2e630 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 41 20  ETIMEWMKEYDOWNA 
2e640 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72  {..  NMHDR nmhdr
2e650 3b 0d 0a 20 20 69 6e 74 20 6e 56 69 72 74 4b 65  ;..  int nVirtKe
2e660 79 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a  y;..  LPCSTR psz
2e670 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 59 53 54 45  Format;..  SYSTE
2e680 4d 54 49 4d 45 20 73 74 3b 0d 0a 7d 0d 0a 61 6c  MTIME st;..}..al
2e690 69 61 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d  ias tagNMDATETIM
2e6a0 45 57 4d 4b 45 59 44 4f 57 4e 41 20 4e 4d 44 41  EWMKEYDOWNA NMDA
2e6b0 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 41  TETIMEWMKEYDOWNA
2e6c0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41  ;..alias tagNMDA
2e6d0 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 41  TETIMEWMKEYDOWNA
2e6e0 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 57 4d  * LPNMDATETIMEWM
2e6f0 4b 45 59 44 4f 57 4e 41 3b 0d 0a 0d 0a 73 74 72  KEYDOWNA;....str
2e700 75 63 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d  uct tagNMDATETIM
2e710 45 57 4d 4b 45 59 44 4f 57 4e 57 20 7b 0d 0a 20  EWMKEYDOWNW {.. 
2e720 20 4e 4d 48 44 52 20 6e 6d 68 64 72 3b 0d 0a 20   NMHDR nmhdr;.. 
2e730 20 69 6e 74 20 6e 56 69 72 74 4b 65 79 3b 0d 0a   int nVirtKey;..
2e740 20 20 4c 50 43 57 53 54 52 20 70 73 7a 46 6f 72    LPCWSTR pszFor
2e750 6d 61 74 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49  mat;..  SYSTEMTI
2e760 4d 45 20 73 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ME st;..}..alias
2e770 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 57 4d   tagNMDATETIMEWM
2e780 4b 45 59 44 4f 57 4e 57 20 4e 4d 44 41 54 45 54  KEYDOWNW NMDATET
2e790 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 57 3b 0d 0a  IMEWMKEYDOWNW;..
2e7a0 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45 54  alias tagNMDATET
2e7b0 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 57 2a 20 4c  IMEWMKEYDOWNW* L
2e7c0 50 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59  PNMDATETIMEWMKEY
2e7d0 44 4f 57 4e 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  DOWNW;....// #if
2e7e0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
2e7f0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2e800 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2e810 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 57 4d 4b 45  ..alias DTN_WMKE
2e820 59 44 4f 57 4e 41 20 44 54 4e 5f 57 4d 4b 45 59  YDOWNA DTN_WMKEY
2e830 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4e 4d 44  DOWN;..alias NMD
2e840 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e  ATETIMEWMKEYDOWN
2e850 41 20 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45  A NMDATETIMEWMKE
2e860 59 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4c 50  YDOWN;..alias LP
2e870 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 44  NMDATETIMEWMKEYD
2e880 4f 57 4e 41 20 4c 50 4e 4d 44 41 54 45 54 49 4d  OWNA LPNMDATETIM
2e890 45 57 4d 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f 20  EWMKEYDOWN;..// 
2e8a0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
2e8b0 20 75 69 6e 74 20 7b 20 44 54 4e 5f 46 4f 52 4d   uint { DTN_FORM
2e8c0 41 54 41 20 3d 20 44 54 4e 5f 46 49 52 53 54 20  ATA = DTN_FIRST 
2e8d0 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 4 }..enum : ui
2e8e0 6e 74 20 7b 20 44 54 4e 5f 46 4f 52 4d 41 54 57  nt { DTN_FORMATW
2e8f0 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 31   = DTN_FIRST + 1
2e900 37 20 7d 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  7 }..struct tagN
2e910 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 41  MDATETIMEFORMATA
2e920 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64   {..  NMHDR nmhd
2e930 72 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a  r;..  LPCSTR psz
2e940 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 59 53 54 45  Format;..  SYSTE
2e950 4d 54 49 4d 45 20 73 74 3b 0d 0a 20 20 4c 50 43  MTIME st;..  LPC
2e960 53 54 52 20 70 73 7a 44 69 73 70 6c 61 79 3b 0d  STR pszDisplay;.
2e970 0a 20 20 43 48 41 52 20 73 7a 44 69 73 70 6c 61  .  CHAR szDispla
2e980 79 5b 36 34 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  y[64];..}..alias
2e990 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46 4f   tagNMDATETIMEFO
2e9a0 52 4d 41 54 41 20 4e 4d 44 41 54 45 54 49 4d 45  RMATA NMDATETIME
2e9b0 46 4f 52 4d 41 54 41 3b 0d 0a 61 6c 69 61 73 20  FORMATA;..alias 
2e9c0 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52  tagNMDATETIMEFOR
2e9d0 4d 41 54 41 2a 20 4c 50 4e 4d 44 41 54 45 54 49  MATA* LPNMDATETI
2e9e0 4d 45 46 4f 52 4d 41 54 41 3b 0d 0a 0d 0a 73 74  MEFORMATA;....st
2e9f0 72 75 63 74 20 74 61 67 4e 4d 44 41 54 45 54 49  ruct tagNMDATETI
2ea00 4d 45 46 4f 52 4d 41 54 57 20 7b 0d 0a 20 20 4e  MEFORMATW {..  N
2ea10 4d 48 44 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c  MHDR nmhdr;..  L
2ea20 50 43 57 53 54 52 20 70 73 7a 46 6f 72 6d 61 74  PCWSTR pszFormat
2ea30 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45 20  ;..  SYSTEMTIME 
2ea40 73 74 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70  st;..  LPCWSTR p
2ea50 73 7a 44 69 73 70 6c 61 79 3b 0d 0a 20 20 57 43  szDisplay;..  WC
2ea60 48 41 52 20 73 7a 44 69 73 70 6c 61 79 5b 36 34  HAR szDisplay[64
2ea70 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  ];..}..alias tag
2ea80 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54  NMDATETIMEFORMAT
2ea90 57 20 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d  W NMDATETIMEFORM
2eaa0 41 54 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  ATW;..alias tagN
2eab0 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 57  MDATETIMEFORMATW
2eac0 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 46 4f  * LPNMDATETIMEFO
2ead0 52 4d 41 54 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  RMATW;....// #if
2eae0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
2eaf0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2eb00 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2eb10 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 46 4f 52 4d  ..alias DTN_FORM
2eb20 41 54 41 20 44 54 4e 5f 46 4f 52 4d 41 54 3b 0d  ATA DTN_FORMAT;.
2eb30 0a 61 6c 69 61 73 20 4e 4d 44 41 54 45 54 49 4d  .alias NMDATETIM
2eb40 45 46 4f 52 4d 41 54 41 20 4e 4d 44 41 54 45 54  EFORMATA NMDATET
2eb50 49 4d 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61  IMEFORMAT;..alia
2eb60 73 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 46 4f  s LPNMDATETIMEFO
2eb70 52 4d 41 54 41 20 4c 50 4e 4d 44 41 54 45 54 49  RMATA LPNMDATETI
2eb80 4d 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 65  MEFORMAT;..// #e
2eb90 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
2eba0 69 6e 74 20 7b 20 44 54 4e 5f 46 4f 52 4d 41 54  int { DTN_FORMAT
2ebb0 51 55 45 52 59 41 20 3d 20 44 54 4e 5f 46 49 52  QUERYA = DTN_FIR
2ebc0 53 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  ST + 5 }..enum :
2ebd0 20 75 69 6e 74 20 7b 20 44 54 4e 5f 46 4f 52 4d   uint { DTN_FORM
2ebe0 41 54 51 55 45 52 59 57 20 3d 20 44 54 4e 5f 46  ATQUERYW = DTN_F
2ebf0 49 52 53 54 20 2b 20 31 38 20 7d 0d 0a 73 74 72  IRST + 18 }..str
2ec00 75 63 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d  uct tagNMDATETIM
2ec10 45 46 4f 52 4d 41 54 51 55 45 52 59 41 20 7b 0d  EFORMATQUERYA {.
2ec20 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72 3b 0d  .  NMHDR nmhdr;.
2ec30 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 46 6f 72  .  LPCSTR pszFor
2ec40 6d 61 74 3b 0d 0a 20 20 53 49 5a 45 20 73 7a 4d  mat;..  SIZE szM
2ec50 61 78 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  ax;..}..alias ta
2ec60 67 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41  gNMDATETIMEFORMA
2ec70 54 51 55 45 52 59 41 20 4e 4d 44 41 54 45 54 49  TQUERYA NMDATETI
2ec80 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 41 3b 0d  MEFORMATQUERYA;.
2ec90 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45  .alias tagNMDATE
2eca0 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 41  TIMEFORMATQUERYA
2ecb0 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 46 4f  * LPNMDATETIMEFO
2ecc0 52 4d 41 54 51 55 45 52 59 41 3b 0d 0a 0d 0a 73  RMATQUERYA;....s
2ecd0 74 72 75 63 74 20 74 61 67 4e 4d 44 41 54 45 54  truct tagNMDATET
2ece0 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 57 20  IMEFORMATQUERYW 
2ecf0 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72  {..  NMHDR nmhdr
2ed00 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a  ;..  LPCWSTR psz
2ed10 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 49 5a 45 20  Format;..  SIZE 
2ed20 73 7a 4d 61 78 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  szMax;..}..alias
2ed30 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46 4f   tagNMDATETIMEFO
2ed40 52 4d 41 54 51 55 45 52 59 57 20 4e 4d 44 41 54  RMATQUERYW NMDAT
2ed50 45 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59  ETIMEFORMATQUERY
2ed60 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44  W;..alias tagNMD
2ed70 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 55 45  ATETIMEFORMATQUE
2ed80 52 59 57 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d  RYW* LPNMDATETIM
2ed90 45 46 4f 52 4d 41 54 51 55 45 52 59 57 3b 0d 0a  EFORMATQUERYW;..
2eda0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
2edb0 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
2edc0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
2edd0 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
2ede0 44 54 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59 41  DTN_FORMATQUERYA
2edf0 20 44 54 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59   DTN_FORMATQUERY
2ee00 3b 0d 0a 61 6c 69 61 73 20 4e 4d 44 41 54 45 54  ;..alias NMDATET
2ee10 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 41 20  IMEFORMATQUERYA 
2ee20 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54  NMDATETIMEFORMAT
2ee30 51 55 45 52 59 3b 0d 0a 61 6c 69 61 73 20 4c 50  QUERY;..alias LP
2ee40 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54  NMDATETIMEFORMAT
2ee50 51 55 45 52 59 41 20 4c 50 4e 4d 44 41 54 45 54  QUERYA LPNMDATET
2ee60 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 3b 0d  IMEFORMATQUERY;.
2ee70 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
2ee80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4e 5f  um : uint { DTN_
2ee90 44 52 4f 50 44 4f 57 4e 20 3d 20 44 54 4e 5f 46  DROPDOWN = DTN_F
2eea0 49 52 53 54 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d  IRST + 6 }..enum
2eeb0 20 3a 20 75 69 6e 74 20 7b 20 44 54 4e 5f 43 4c   : uint { DTN_CL
2eec0 4f 53 45 55 50 20 3d 20 44 54 4e 5f 46 49 52 53  OSEUP = DTN_FIRS
2eed0 54 20 2b 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  T + 7 }....enum 
2eee0 3a 20 75 69 6e 74 20 7b 20 47 44 54 52 5f 4d 49  : uint { GDTR_MI
2eef0 4e 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e  N = 0x0001 }..en
2ef00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47 44 54 52  um : uint { GDTR
2ef10 5f 4d 41 58 20 3d 20 30 78 30 30 30 32 20 7d 0d  _MAX = 0x0002 }.
2ef20 0a 0d 0a 65 6e 75 6d 20 7b 20 47 44 54 5f 45 52  ...enum { GDT_ER
2ef30 52 4f 52 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d  ROR = -1 }..enum
2ef40 20 3a 20 75 69 6e 74 20 7b 20 47 44 54 5f 56 41   : uint { GDT_VA
2ef50 4c 49 44 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  LID = 0 }..enum 
2ef60 3a 20 75 69 6e 74 20 7b 20 47 44 54 5f 4e 4f 4e  : uint { GDT_NON
2ef70 45 20 3d 20 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 65  E = 1 }....// #e
2ef80 6e 64 69 66 20 2f 2f 20 5f 57 49 4e 33 32 0d 0a  ndif // _WIN32..
2ef90 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 44  // #endif // NOD
2efa0 41 54 45 54 49 4d 45 50 49 43 4b 0d 0a 0d 0a 2f  ATETIMEPICK..../
2efb0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
2efc0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 2f   >= 0x0400)..../
2efd0 2f 20 23 69 66 6e 64 65 66 20 4e 4f 49 50 41 44  / #ifndef NOIPAD
2efe0 44 52 45 53 53 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  DRESS....enum : 
2eff0 75 69 6e 74 20 7b 20 49 50 4d 5f 43 4c 45 41 52  uint { IPM_CLEAR
2f000 41 44 44 52 45 53 53 20 3d 20 57 4d 5f 55 53 45  ADDRESS = WM_USE
2f010 52 2b 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R+100 }..enum : 
2f020 75 69 6e 74 20 7b 20 49 50 4d 5f 53 45 54 41 44  uint { IPM_SETAD
2f030 44 52 45 53 53 20 3d 20 57 4d 5f 55 53 45 52 2b  DRESS = WM_USER+
2f040 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  101 }..enum : ui
2f050 6e 74 20 7b 20 49 50 4d 5f 47 45 54 41 44 44 52  nt { IPM_GETADDR
2f060 45 53 53 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30  ESS = WM_USER+10
2f070 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
2f080 20 7b 20 49 50 4d 5f 53 45 54 52 41 4e 47 45 20   { IPM_SETRANGE 
2f090 3d 20 57 4d 5f 55 53 45 52 2b 31 30 33 20 7d 0d  = WM_USER+103 }.
2f0a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
2f0b0 50 4d 5f 53 45 54 46 4f 43 55 53 20 3d 20 57 4d  PM_SETFOCUS = WM
2f0c0 5f 55 53 45 52 2b 31 30 34 20 7d 0d 0a 65 6e 75  _USER+104 }..enu
2f0d0 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 4d 5f 49  m : uint { IPM_I
2f0e0 53 42 4c 41 4e 4b 20 3d 20 57 4d 5f 55 53 45 52  SBLANK = WM_USER
2f0f0 2b 31 30 35 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20  +105 }....const 
2f100 77 63 68 61 72 5b 5d 20 57 43 5f 49 50 41 44 44  wchar[] WC_IPADD
2f110 52 45 53 53 57 20 3d 20 22 53 79 73 49 50 41 64  RESSW = "SysIPAd
2f120 64 72 65 73 73 33 32 22 3b 0d 0a 63 6f 6e 73 74  dress32";..const
2f130 20 63 68 61 72 5b 5d 20 57 43 5f 49 50 41 44 44   char[] WC_IPADD
2f140 52 45 53 53 41 20 3d 20 22 53 79 73 49 50 41 64  RESSA = "SysIPAd
2f150 64 72 65 73 73 33 32 22 3b 0d 0a 0d 0a 2f 2f 20  dress32";....// 
2f160 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
2f170 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
2f180 65 0d 0a 61 6c 69 61 73 20 57 43 5f 49 50 41 44  e..alias WC_IPAD
2f190 44 52 45 53 53 41 20 57 43 5f 49 50 41 44 44 52  DRESSA WC_IPADDR
2f1a0 45 53 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  ESS;..// #endif.
2f1b0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2f1c0 20 49 50 4e 5f 46 49 45 4c 44 43 48 41 4e 47 45   IPN_FIELDCHANGE
2f1d0 44 20 3d 20 49 50 4e 5f 46 49 52 53 54 20 2d 20  D = IPN_FIRST - 
2f1e0 30 20 7d 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  0 }..struct tagN
2f1f0 4d 49 50 41 44 44 52 45 53 53 20 7b 0d 0a 20 20  MIPADDRESS {..  
2f200 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e  NMHDR hdr;..  in
2f210 74 20 69 46 69 65 6c 64 3b 0d 0a 20 20 69 6e 74  t iField;..  int
2f220 20 69 56 61 6c 75 65 3b 0d 0a 7d 0d 0a 61 6c 69   iValue;..}..ali
2f230 61 73 20 74 61 67 4e 4d 49 50 41 44 44 52 45 53  as tagNMIPADDRES
2f240 53 20 4e 4d 49 50 41 44 44 52 45 53 53 3b 0d 0a  S NMIPADDRESS;..
2f250 61 6c 69 61 73 20 74 61 67 4e 4d 49 50 41 44 44  alias tagNMIPADD
2f260 52 45 53 53 2a 20 4c 50 4e 4d 49 50 41 44 44 52  RESS* LPNMIPADDR
2f270 45 53 53 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  ESS;....// #defi
2f280 6e 65 20 4d 41 4b 45 49 50 52 41 4e 47 45 28 6c  ne MAKEIPRANGE(l
2f290 6f 77 2c 20 68 69 67 68 29 20 28 28 4c 50 41 52  ow, high) ((LPAR
2f2a0 41 4d 29 28 57 4f 52 44 29 28 28 28 42 59 54 45  AM)(WORD)(((BYTE
2f2b0 29 28 68 69 67 68 29 20 3c 3c 20 38 29 20 2b 20  )(high) << 8) + 
2f2c0 28 42 59 54 45 29 28 6c 6f 77 29 29 29 0d 0a 0d  (BYTE)(low)))...
2f2d0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 41 4b 45  .// #define MAKE
2f2e0 49 50 41 44 44 52 45 53 53 28 62 31 2c 62 32 2c  IPADDRESS(b1,b2,
2f2f0 62 33 2c 62 34 29 20 28 28 4c 50 41 52 41 4d 29  b3,b4) ((LPARAM)
2f300 28 28 28 44 57 4f 52 44 29 28 62 31 29 3c 3c 32  (((DWORD)(b1)<<2
2f310 34 29 2b 28 28 44 57 4f 52 44 29 28 62 32 29 3c  4)+((DWORD)(b2)<
2f320 3c 31 36 29 2b 28 28 44 57 4f 52 44 29 28 62 33  <16)+((DWORD)(b3
2f330 29 3c 3c 38 29 2b 28 28 44 57 4f 52 44 29 28 62  )<<8)+((DWORD)(b
2f340 34 29 29 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66  4))))....// #def
2f350 69 6e 65 20 46 49 52 53 54 5f 49 50 41 44 44 52  ine FIRST_IPADDR
2f360 45 53 53 28 78 29 20 28 28 78 3e 3e 32 34 29 20  ESS(x) ((x>>24) 
2f370 26 20 30 78 66 66 29 0d 0a 2f 2f 20 23 64 65 66  & 0xff)..// #def
2f380 69 6e 65 20 53 45 43 4f 4e 44 5f 49 50 41 44 44  ine SECOND_IPADD
2f390 52 45 53 53 28 78 29 20 28 28 78 3e 3e 31 36 29  RESS(x) ((x>>16)
2f3a0 20 26 20 30 78 66 66 29 0d 0a 2f 2f 20 23 64 65   & 0xff)..// #de
2f3b0 66 69 6e 65 20 54 48 49 52 44 5f 49 50 41 44 44  fine THIRD_IPADD
2f3c0 52 45 53 53 28 78 29 20 28 28 78 3e 3e 38 29 20  RESS(x) ((x>>8) 
2f3d0 26 20 30 78 66 66 29 0d 0a 2f 2f 20 23 64 65 66  & 0xff)..// #def
2f3e0 69 6e 65 20 46 4f 55 52 54 48 5f 49 50 41 44 44  ine FOURTH_IPADD
2f3f0 52 45 53 53 28 78 29 20 28 78 20 26 20 30 78 66  RESS(x) (x & 0xf
2f400 66 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  f)....// #endif 
2f410 2f 2f 20 4e 4f 49 50 41 44 44 52 45 53 53 0d 0a  // NOIPADDRESS..
2f420 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 50  ..// #ifndef NOP
2f430 41 47 45 53 43 52 4f 4c 4c 45 52 0d 0a 0d 0a 63  AGESCROLLER....c
2f440 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43 5f  onst wchar[] WC_
2f450 50 41 47 45 53 43 52 4f 4c 4c 45 52 57 20 3d 20  PAGESCROLLERW = 
2f460 22 53 79 73 50 61 67 65 72 22 3b 0d 0a 63 6f 6e  "SysPager";..con
2f470 73 74 20 63 68 61 72 5b 5d 20 57 43 5f 50 41 47  st char[] WC_PAG
2f480 45 53 43 52 4f 4c 4c 45 52 41 20 3d 20 22 53 79  ESCROLLERA = "Sy
2f490 73 50 61 67 65 72 22 3b 0d 0a 0d 0a 2f 2f 20 23  sPager";....// #
2f4a0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
2f4b0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
2f4c0 0d 0a 61 6c 69 61 73 20 57 43 5f 50 41 47 45 53  ..alias WC_PAGES
2f4d0 43 52 4f 4c 4c 45 52 41 20 57 43 5f 50 41 47 45  CROLLERA WC_PAGE
2f4e0 53 43 52 4f 4c 4c 45 52 3b 0d 0a 2f 2f 20 23 65  SCROLLER;..// #e
2f4f0 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
2f500 69 6e 74 20 7b 20 50 47 53 5f 56 45 52 54 20 3d  int { PGS_VERT =
2f510 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
2f520 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 53  num : uint { PGS
2f530 5f 48 4f 52 5a 20 3d 20 30 78 30 30 30 30 30 30  _HORZ = 0x000000
2f540 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
2f550 74 20 7b 20 50 47 53 5f 41 55 54 4f 53 43 52 4f  t { PGS_AUTOSCRO
2f560 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  LL = 0x00000002 
2f570 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2f580 20 50 47 53 5f 44 52 41 47 4e 44 52 4f 50 20 3d   PGS_DRAGNDROP =
2f590 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d   0x00000004 }...
2f5a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2f5b0 47 46 5f 49 4e 56 49 53 49 42 4c 45 20 3d 20 30  GF_INVISIBLE = 0
2f5c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f5d0 7b 20 50 47 46 5f 4e 4f 52 4d 41 4c 20 3d 20 31  { PGF_NORMAL = 1
2f5e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f5f0 7b 20 50 47 46 5f 47 52 41 59 45 44 20 3d 20 32  { PGF_GRAYED = 2
2f600 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f610 7b 20 50 47 46 5f 44 45 50 52 45 53 53 45 44 20  { PGF_DEPRESSED 
2f620 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
2f630 6e 74 20 7b 20 50 47 46 5f 48 4f 54 20 3d 20 38  nt { PGF_HOT = 8
2f640 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
2f650 74 20 7b 20 50 47 42 5f 54 4f 50 4f 52 4c 45 46  t { PGB_TOPORLEF
2f660 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 0 }..enum : 
2f670 75 69 6e 74 20 7b 20 50 47 42 5f 42 4f 54 54 4f  uint { PGB_BOTTO
2f680 4d 4f 52 52 49 47 48 54 20 3d 20 31 20 7d 0d 0a  MORRIGHT = 1 }..
2f690 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2f6a0 50 47 4d 5f 53 45 54 43 48 49 4c 44 20 3d 20 50  PGM_SETCHILD = P
2f6b0 47 4d 5f 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a  GM_FIRST + 1 }..
2f6c0 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72  // #define Pager
2f6d0 5f 53 65 74 43 68 69 6c 64 28 68 77 6e 64 2c 20  _SetChild(hwnd, 
2f6e0 68 77 6e 64 43 68 69 6c 64 29 20 28 76 6f 69 64  hwndChild) (void
2f6f0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
2f700 50 47 4d 5f 53 45 54 43 48 49 4c 44 2c 20 30 2c  PGM_SETCHILD, 0,
2f710 20 28 4c 50 41 52 41 4d 29 28 68 77 6e 64 43 68   (LPARAM)(hwndCh
2f720 69 6c 64 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ild))....enum : 
2f730 75 69 6e 74 20 7b 20 50 47 4d 5f 52 45 43 41 4c  uint { PGM_RECAL
2f740 43 53 49 5a 45 20 3d 20 50 47 4d 5f 46 49 52 53  CSIZE = PGM_FIRS
2f750 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20 23 64 65 66  T + 2 }..// #def
2f760 69 6e 65 20 50 61 67 65 72 5f 52 65 63 61 6c 63  ine Pager_Recalc
2f770 53 69 7a 65 28 68 77 6e 64 29 20 28 76 6f 69 64  Size(hwnd) (void
2f780 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
2f790 50 47 4d 5f 52 45 43 41 4c 43 53 49 5a 45 2c 20  PGM_RECALCSIZE, 
2f7a0 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0, 0)....enum : 
2f7b0 75 69 6e 74 20 7b 20 50 47 4d 5f 46 4f 52 57 41  uint { PGM_FORWA
2f7c0 52 44 4d 4f 55 53 45 20 3d 20 50 47 4d 5f 46 49  RDMOUSE = PGM_FI
2f7d0 52 53 54 20 2b 20 33 20 7d 0d 0a 2f 2f 20 23 64  RST + 3 }..// #d
2f7e0 65 66 69 6e 65 20 50 61 67 65 72 5f 46 6f 72 77  efine Pager_Forw
2f7f0 61 72 64 4d 6f 75 73 65 28 68 77 6e 64 2c 20 62  ardMouse(hwnd, b
2f800 46 6f 72 77 61 72 64 29 20 28 76 6f 69 64 29 53  Forward) (void)S
2f810 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47  NDMSG((hwnd), PG
2f820 4d 5f 46 4f 52 57 41 52 44 4d 4f 55 53 45 2c 20  M_FORWARDMOUSE, 
2f830 28 57 50 41 52 41 4d 29 28 62 46 6f 72 77 61 72  (WPARAM)(bForwar
2f840 64 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  d), 0)....enum :
2f850 20 75 69 6e 74 20 7b 20 50 47 4d 5f 53 45 54 42   uint { PGM_SETB
2f860 4b 43 4f 4c 4f 52 20 3d 20 50 47 4d 5f 46 49 52  KCOLOR = PGM_FIR
2f870 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f 20 23 64 65  ST + 4 }..// #de
2f880 66 69 6e 65 20 50 61 67 65 72 5f 53 65 74 42 6b  fine Pager_SetBk
2f890 43 6f 6c 6f 72 28 68 77 6e 64 2c 20 63 6c 72 29  Color(hwnd, clr)
2f8a0 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53   (COLORREF)SNDMS
2f8b0 47 28 28 68 77 6e 64 29 2c 20 50 47 4d 5f 53 45  G((hwnd), PGM_SE
2f8c0 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50  TBKCOLOR, 0, (LP
2f8d0 41 52 41 4d 29 28 63 6c 72 29 29 0d 0a 0d 0a 65  ARAM)(clr))....e
2f8e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d  num : uint { PGM
2f8f0 5f 47 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 50 47  _GETBKCOLOR = PG
2f900 4d 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 2f  M_FIRST + 5 }../
2f910 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f  / #define Pager_
2f920 47 65 74 42 6b 43 6f 6c 6f 72 28 68 77 6e 64 29  GetBkColor(hwnd)
2f930 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53   (COLORREF)SNDMS
2f940 47 28 28 68 77 6e 64 29 2c 20 50 47 4d 5f 47 45  G((hwnd), PGM_GE
2f950 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20 30 29 0d  TBKCOLOR, 0, 0).
2f960 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2f970 20 50 47 4d 5f 53 45 54 42 4f 52 44 45 52 20 3d   PGM_SETBORDER =
2f980 20 50 47 4d 5f 46 49 52 53 54 20 2b 20 36 20 7d   PGM_FIRST + 6 }
2f990 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67  ..// #define Pag
2f9a0 65 72 5f 53 65 74 42 6f 72 64 65 72 28 68 77 6e  er_SetBorder(hwn
2f9b0 64 2c 20 69 42 6f 72 64 65 72 29 20 28 69 6e 74  d, iBorder) (int
2f9c0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
2f9d0 50 47 4d 5f 53 45 54 42 4f 52 44 45 52 2c 20 30  PGM_SETBORDER, 0
2f9e0 2c 20 28 4c 50 41 52 41 4d 29 28 69 42 6f 72 64  , (LPARAM)(iBord
2f9f0 65 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  er))....enum : u
2fa00 69 6e 74 20 7b 20 50 47 4d 5f 47 45 54 42 4f 52  int { PGM_GETBOR
2fa10 44 45 52 20 3d 20 50 47 4d 5f 46 49 52 53 54 20  DER = PGM_FIRST 
2fa20 2b 20 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  + 7 }..// #defin
2fa30 65 20 50 61 67 65 72 5f 47 65 74 42 6f 72 64 65  e Pager_GetBorde
2fa40 72 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44  r(hwnd) (int)SND
2fa50 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47 4d 5f  MSG((hwnd), PGM_
2fa60 47 45 54 42 4f 52 44 45 52 2c 20 30 2c 20 30 29  GETBORDER, 0, 0)
2fa70 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2fa80 7b 20 50 47 4d 5f 53 45 54 50 4f 53 20 3d 20 50  { PGM_SETPOS = P
2fa90 47 4d 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a  GM_FIRST + 8 }..
2faa0 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72  // #define Pager
2fab0 5f 53 65 74 50 6f 73 28 68 77 6e 64 2c 20 69 50  _SetPos(hwnd, iP
2fac0 6f 73 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  os) (int)SNDMSG(
2fad0 28 68 77 6e 64 29 2c 20 50 47 4d 5f 53 45 54 50  (hwnd), PGM_SETP
2fae0 4f 53 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  OS, 0, (LPARAM)(
2faf0 69 50 6f 73 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  iPos))....enum :
2fb00 20 75 69 6e 74 20 7b 20 50 47 4d 5f 47 45 54 50   uint { PGM_GETP
2fb10 4f 53 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b  OS = PGM_FIRST +
2fb20 20 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   9 }..// #define
2fb30 20 50 61 67 65 72 5f 47 65 74 50 6f 73 28 68 77   Pager_GetPos(hw
2fb40 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  nd) (int)SNDMSG(
2fb50 28 68 77 6e 64 29 2c 20 50 47 4d 5f 47 45 54 50  (hwnd), PGM_GETP
2fb60 4f 53 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75  OS, 0, 0)....enu
2fb70 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d 5f 53  m : uint { PGM_S
2fb80 45 54 42 55 54 54 4f 4e 53 49 5a 45 20 3d 20 50  ETBUTTONSIZE = P
2fb90 47 4d 5f 46 49 52 53 54 20 2b 20 31 30 20 7d 0d  GM_FIRST + 10 }.
2fba0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65  .// #define Page
2fbb0 72 5f 53 65 74 42 75 74 74 6f 6e 53 69 7a 65 28  r_SetButtonSize(
2fbc0 68 77 6e 64 2c 20 69 53 69 7a 65 29 20 28 69 6e  hwnd, iSize) (in
2fbd0 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  t)SNDMSG((hwnd),
2fbe0 20 50 47 4d 5f 53 45 54 42 55 54 54 4f 4e 53 49   PGM_SETBUTTONSI
2fbf0 5a 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  ZE, 0, (LPARAM)(
2fc00 69 53 69 7a 65 29 29 0d 0a 0d 0a 65 6e 75 6d 20  iSize))....enum 
2fc10 3a 20 75 69 6e 74 20 7b 20 50 47 4d 5f 47 45 54  : uint { PGM_GET
2fc20 42 55 54 54 4f 4e 53 49 5a 45 20 3d 20 50 47 4d  BUTTONSIZE = PGM
2fc30 5f 46 49 52 53 54 20 2b 20 31 31 20 7d 0d 0a 2f  _FIRST + 11 }../
2fc40 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f  / #define Pager_
2fc50 47 65 74 42 75 74 74 6f 6e 53 69 7a 65 28 68 77  GetButtonSize(hw
2fc60 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  nd) (int)SNDMSG(
2fc70 28 68 77 6e 64 29 2c 20 50 47 4d 5f 47 45 54 42  (hwnd), PGM_GETB
2fc80 55 54 54 4f 4e 53 49 5a 45 2c 20 30 2c 30 29 0d  UTTONSIZE, 0,0).
2fc90 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2fca0 20 50 47 4d 5f 47 45 54 42 55 54 54 4f 4e 53 54   PGM_GETBUTTONST
2fcb0 41 54 45 20 3d 20 50 47 4d 5f 46 49 52 53 54 20  ATE = PGM_FIRST 
2fcc0 2b 20 31 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 12 }..// #defi
2fcd0 6e 65 20 50 61 67 65 72 5f 47 65 74 42 75 74 74  ne Pager_GetButt
2fce0 6f 6e 53 74 61 74 65 28 68 77 6e 64 2c 20 69 42  onState(hwnd, iB
2fcf0 75 74 74 6f 6e 29 20 28 44 57 4f 52 44 29 53 4e  utton) (DWORD)SN
2fd00 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47 4d  DMSG((hwnd), PGM
2fd10 5f 47 45 54 42 55 54 54 4f 4e 53 54 41 54 45 2c  _GETBUTTONSTATE,
2fd20 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 69 42 75   0, (LPARAM)(iBu
2fd30 74 74 6f 6e 29 29 0d 0a 0d 0a 61 6c 69 61 73 20  tton))....alias 
2fd40 43 43 4d 5f 47 45 54 44 52 4f 50 54 41 52 47 45  CCM_GETDROPTARGE
2fd50 54 20 50 47 4d 5f 47 45 54 44 52 4f 50 54 41 52  T PGM_GETDROPTAR
2fd60 47 45 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  GET;..// #define
2fd70 20 50 61 67 65 72 5f 47 65 74 44 72 6f 70 54 61   Pager_GetDropTa
2fd80 72 67 65 74 28 68 77 6e 64 2c 20 70 70 64 74 29  rget(hwnd, ppdt)
2fd90 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68   (void)SNDMSG((h
2fda0 77 6e 64 29 2c 20 50 47 4d 5f 47 45 54 44 52 4f  wnd), PGM_GETDRO
2fdb0 50 54 41 52 47 45 54 2c 20 30 2c 20 28 4c 50 41  PTARGET, 0, (LPA
2fdc0 52 41 4d 29 28 70 70 64 74 29 29 0d 0a 0d 0a 65  RAM)(ppdt))....e
2fdd0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4e  num : uint { PGN
2fde0 5f 53 43 52 4f 4c 4c 20 3d 20 50 47 4e 5f 46 49  _SCROLL = PGN_FI
2fdf0 52 53 54 2d 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  RST-1 }....enum 
2fe00 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f 53 43 52  : uint { PGF_SCR
2fe10 4f 4c 4c 55 50 20 3d 20 31 20 7d 0d 0a 65 6e 75  OLLUP = 1 }..enu
2fe20 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f 53  m : uint { PGF_S
2fe30 43 52 4f 4c 4c 44 4f 57 4e 20 3d 20 32 20 7d 0d  CROLLDOWN = 2 }.
2fe40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2fe50 47 46 5f 53 43 52 4f 4c 4c 4c 45 46 54 20 3d 20  GF_SCROLLLEFT = 
2fe60 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2fe70 20 7b 20 50 47 46 5f 53 43 52 4f 4c 4c 52 49 47   { PGF_SCROLLRIG
2fe80 48 54 20 3d 20 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  HT = 8 }....enum
2fe90 20 3a 20 75 69 6e 74 20 7b 20 50 47 4b 5f 53 48   : uint { PGK_SH
2fea0 49 46 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  IFT = 1 }..enum 
2feb0 3a 20 75 69 6e 74 20 7b 20 50 47 4b 5f 43 4f 4e  : uint { PGK_CON
2fec0 54 52 4f 4c 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  TROL = 2 }..enum
2fed0 20 3a 20 75 69 6e 74 20 7b 20 50 47 4b 5f 4d 45   : uint { PGK_ME
2fee0 4e 55 20 3d 20 34 20 7d 0d 0a 0d 0a 2f 2f 20 23  NU = 4 }....// #
2fef0 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c  ifdef _WIN32..al
2ff00 69 67 6e 28 31 29 3a 0d 0a 2f 2f 20 23 65 6e 64  ign(1):..// #end
2ff10 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 36  if....struct _16
2ff20 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
2ff30 0d 0a 20 20 57 4f 52 44 20 66 77 4b 65 79 73 3b  ..  WORD fwKeys;
2ff40 0d 0a 20 20 52 45 43 54 20 72 63 50 61 72 65 6e  ..  RECT rcParen
2ff50 74 3b 0d 0a 20 20 69 6e 74 20 69 44 69 72 3b 0d  t;..  int iDir;.
2ff60 0a 20 20 69 6e 74 20 69 58 70 6f 73 3b 0d 0a 20  .  int iXpos;.. 
2ff70 20 69 6e 74 20 69 59 70 6f 73 3b 0d 0a 20 20 69   int iYpos;..  i
2ff80 6e 74 20 69 53 63 72 6f 6c 6c 3b 0d 0a 7d 0d 0a  nt iScroll;..}..
2ff90 61 6c 69 61 73 20 5f 31 36 20 4e 4d 50 47 53 43  alias _16 NMPGSC
2ffa0 52 4f 4c 4c 3b 0d 0a 61 6c 69 61 73 20 5f 31 36  ROLL;..alias _16
2ffb0 2a 20 4c 50 4e 4d 50 47 53 43 52 4f 4c 4c 3b 0d  * LPNMPGSCROLL;.
2ffc0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
2ffd0 4e 33 32 0d 0a 61 6c 69 67 6e 3a 0d 0a 2f 2f 20  N32..align:..// 
2ffe0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
2fff0 20 75 69 6e 74 20 7b 20 50 47 4e 5f 43 41 4c 43   uint { PGN_CALC
30000 53 49 5a 45 20 3d 20 50 47 4e 5f 46 49 52 53 54  SIZE = PGN_FIRST
30010 2d 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  -2 }....enum : u
30020 69 6e 74 20 7b 20 50 47 46 5f 43 41 4c 43 57 49  int { PGF_CALCWI
30030 44 54 48 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  DTH = 1 }..enum 
30040 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f 43 41 4c  : uint { PGF_CAL
30050 43 48 45 49 47 48 54 20 3d 20 32 20 7d 0d 0a 0d  CHEIGHT = 2 }...
30060 0a 73 74 72 75 63 74 20 5f 31 37 20 7b 0d 0a 20  .struct _17 {.. 
30070 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44   NMHDR hdr;..  D
30080 57 4f 52 44 20 64 77 46 6c 61 67 3b 0d 0a 20 20  WORD dwFlag;..  
30090 69 6e 74 20 69 57 69 64 74 68 3b 0d 0a 20 20 69  int iWidth;..  i
300a0 6e 74 20 69 48 65 69 67 68 74 3b 0d 0a 7d 0d 0a  nt iHeight;..}..
300b0 61 6c 69 61 73 20 5f 31 37 20 4e 4d 50 47 43 41  alias _17 NMPGCA
300c0 4c 43 53 49 5a 45 3b 0d 0a 61 6c 69 61 73 20 5f  LCSIZE;..alias _
300d0 31 37 2a 20 4c 50 4e 4d 50 47 43 41 4c 43 53 49  17* LPNMPGCALCSI
300e0 5a 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ZE;....enum : ui
300f0 6e 74 20 7b 20 50 47 4e 5f 48 4f 54 49 54 45 4d  nt { PGN_HOTITEM
30100 43 48 41 4e 47 45 20 3d 20 50 47 4e 5f 46 49 52  CHANGE = PGN_FIR
30110 53 54 2d 33 20 7d 0d 0a 0d 0a 73 74 72 75 63 74  ST-3 }....struct
30120 20 74 61 67 4e 4d 50 47 48 4f 54 49 54 45 4d 20   tagNMPGHOTITEM 
30130 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d  {..  NMHDR hdr;.
30140 0a 20 20 69 6e 74 20 69 64 4f 6c 64 3b 0d 0a 20  .  int idOld;.. 
30150 20 69 6e 74 20 69 64 4e 65 77 3b 0d 0a 20 20 44   int idNew;..  D
30160 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 7d  WORD dwFlags;..}
30170 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 50 47 48  ..alias tagNMPGH
30180 4f 54 49 54 45 4d 20 4e 4d 50 47 48 4f 54 49 54  OTITEM NMPGHOTIT
30190 45 4d 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  EM;..alias tagNM
301a0 50 47 48 4f 54 49 54 45 4d 2a 20 4c 50 4e 4d 50  PGHOTITEM* LPNMP
301b0 47 48 4f 54 49 54 45 4d 3b 0d 0a 0d 0a 2f 2f 20  GHOTITEM;....// 
301c0 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 50 41 47 45  #endif // NOPAGE
301d0 53 43 52 4f 4c 4c 45 52 0d 0a 0d 0a 2f 2f 20 23  SCROLLER....// #
301e0 69 66 6e 64 65 66 20 4e 4f 4e 41 54 49 56 45 46  ifndef NONATIVEF
301f0 4f 4e 54 43 54 4c 0d 0a 0d 0a 63 6f 6e 73 74 20  ONTCTL....const 
30200 77 63 68 61 72 5b 5d 20 57 43 5f 4e 41 54 49 56  wchar[] WC_NATIV
30210 45 46 4f 4e 54 43 54 4c 57 20 3d 20 22 4e 61 74  EFONTCTLW = "Nat
30220 69 76 65 46 6f 6e 74 43 74 6c 22 3b 0d 0a 63 6f  iveFontCtl";..co
30230 6e 73 74 20 63 68 61 72 5b 5d 20 57 43 5f 4e 41  nst char[] WC_NA
30240 54 49 56 45 46 4f 4e 54 43 54 4c 41 20 3d 20 22  TIVEFONTCTLA = "
30250 4e 61 74 69 76 65 46 6f 6e 74 43 74 6c 22 3b 0d  NativeFontCtl";.
30260 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
30270 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
30280 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57  / #else..alias W
30290 43 5f 4e 41 54 49 56 45 46 4f 4e 54 43 54 4c 41  C_NATIVEFONTCTLA
302a0 20 57 43 5f 4e 41 54 49 56 45 46 4f 4e 54 43 54   WC_NATIVEFONTCT
302b0 4c 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  L;..// #endif...
302c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
302d0 46 53 5f 45 44 49 54 20 3d 20 30 78 30 30 30 31  FS_EDIT = 0x0001
302e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
302f0 7b 20 4e 46 53 5f 53 54 41 54 49 43 20 3d 20 30  { NFS_STATIC = 0
30300 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
30310 75 69 6e 74 20 7b 20 4e 46 53 5f 4c 49 53 54 43  uint { NFS_LISTC
30320 4f 4d 42 4f 20 3d 20 30 78 30 30 30 34 20 7d 0d  OMBO = 0x0004 }.
30330 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e  .enum : uint { N
30340 46 53 5f 42 55 54 54 4f 4e 20 3d 20 30 78 30 30  FS_BUTTON = 0x00
30350 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
30360 74 20 7b 20 4e 46 53 5f 41 4c 4c 20 3d 20 30 78  t { NFS_ALL = 0x
30370 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
30380 69 6e 74 20 7b 20 4e 46 53 5f 55 53 45 46 4f 4e  int { NFS_USEFON
30390 54 41 53 53 4f 43 20 3d 20 30 78 30 30 32 30 20  TASSOC = 0x0020 
303a0 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  }....// #endif /
303b0 2f 20 4e 4f 4e 41 54 49 56 45 46 4f 4e 54 43 54  / NONATIVEFONTCT
303c0 4c 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  L....// #ifndef 
303d0 4e 4f 42 55 54 54 4f 4e 0d 0a 0d 0a 2f 2f 20 23  NOBUTTON....// #
303e0 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a  ifdef _WIN32....
303f0 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57 43 5f  const char[] WC_
30400 42 55 54 54 4f 4e 41 20 3d 20 22 42 75 74 74 6f  BUTTONA = "Butto
30410 6e 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72  n";..const wchar
30420 5b 5d 20 57 43 5f 42 55 54 54 4f 4e 57 20 3d 20  [] WC_BUTTONW = 
30430 22 42 75 74 74 6f 6e 22 3b 0d 0a 0d 0a 2f 2f 20  "Button";....// 
30440 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
30450 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
30460 65 0d 0a 61 6c 69 61 73 20 57 43 5f 42 55 54 54  e..alias WC_BUTT
30470 4f 4e 41 20 57 43 5f 42 55 54 54 4f 4e 3b 0d 0a  ONA WC_BUTTON;..
30480 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
30490 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
304a0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
304b0 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  #if (_WIN32_WINN
304c0 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75  T >= 0x501)..enu
304d0 6d 20 3a 20 75 69 6e 74 20 7b 20 42 55 54 54 4f  m : uint { BUTTO
304e0 4e 5f 49 4d 41 47 45 4c 49 53 54 5f 41 4c 49 47  N_IMAGELIST_ALIG
304f0 4e 5f 4c 45 46 54 20 3d 20 30 20 7d 0d 0a 65 6e  N_LEFT = 0 }..en
30500 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 55 54 54  um : uint { BUTT
30510 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 5f 41 4c 49  ON_IMAGELIST_ALI
30520 47 4e 5f 52 49 47 48 54 20 3d 20 31 20 7d 0d 0a  GN_RIGHT = 1 }..
30530 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 55  enum : uint { BU
30540 54 54 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 5f 41  TTON_IMAGELIST_A
30550 4c 49 47 4e 5f 54 4f 50 20 3d 20 32 20 7d 0d 0a  LIGN_TOP = 2 }..
30560 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 55  enum : uint { BU
30570 54 54 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 5f 41  TTON_IMAGELIST_A
30580 4c 49 47 4e 5f 42 4f 54 54 4f 4d 20 3d 20 33 20  LIGN_BOTTOM = 3 
30590 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
305a0 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45 4c 49 53   BUTTON_IMAGELIS
305b0 54 5f 41 4c 49 47 4e 5f 43 45 4e 54 45 52 20 3d  T_ALIGN_CENTER =
305c0 20 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f   4 }....struct _
305d0 31 38 20 7b 0d 0a 20 20 48 49 4d 41 47 45 4c 49  18 {..  HIMAGELI
305e0 53 54 20 68 69 6d 6c 3b 0d 0a 20 20 52 45 43 54  ST himl;..  RECT
305f0 20 6d 61 72 67 69 6e 3b 0d 0a 20 20 55 49 4e 54   margin;..  UINT
30600 20 75 41 6c 69 67 6e 3b 0d 0a 7d 0d 0a 61 6c 69   uAlign;..}..ali
30610 61 73 20 5f 31 38 20 42 55 54 54 4f 4e 5f 49 4d  as _18 BUTTON_IM
30620 41 47 45 4c 49 53 54 3b 0d 0a 61 6c 69 61 73 20  AGELIST;..alias 
30630 5f 31 38 2a 20 50 42 55 54 54 4f 4e 5f 49 4d 41  _18* PBUTTON_IMA
30640 47 45 4c 49 53 54 3b 0d 0a 0d 0a 65 6e 75 6d 20  GELIST;....enum 
30650 3a 20 75 69 6e 74 20 7b 20 42 43 4d 5f 47 45 54  : uint { BCM_GET
30660 49 44 45 41 4c 53 49 5a 45 20 3d 20 42 43 4d 5f  IDEALSIZE = BCM_
30670 46 49 52 53 54 20 2b 20 30 78 30 30 30 31 20 7d  FIRST + 0x0001 }
30680 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 42 75 74  ..// #define But
30690 74 6f 6e 5f 47 65 74 49 64 65 61 6c 53 69 7a 65  ton_GetIdealSize
306a0 28 68 77 6e 64 2c 20 70 73 69 7a 65 29 20 28 42  (hwnd, psize) (B
306b0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
306c0 29 2c 20 42 43 4d 5f 47 45 54 49 44 45 41 4c 53  ), BCM_GETIDEALS
306d0 49 5a 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  IZE, 0, (LPARAM)
306e0 28 70 73 69 7a 65 29 29 0d 0a 0d 0a 65 6e 75 6d  (psize))....enum
306f0 20 3a 20 75 69 6e 74 20 7b 20 42 43 4d 5f 53 45   : uint { BCM_SE
30700 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 42 43 4d  TIMAGELIST = BCM
30710 5f 46 49 52 53 54 20 2b 20 30 78 30 30 30 32 20  _FIRST + 0x0002 
30720 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 42 75  }..// #define Bu
30730 74 74 6f 6e 5f 53 65 74 49 6d 61 67 65 4c 69 73  tton_SetImageLis
30740 74 28 68 77 6e 64 2c 20 70 62 75 74 74 6f 6e 49  t(hwnd, pbuttonI
30750 6d 61 67 65 6c 69 73 74 29 20 28 42 4f 4f 4c 29  magelist) (BOOL)
30760 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 42  SNDMSG((hwnd), B
30770 43 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 2c  CM_SETIMAGELIST,
30780 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 62 75   0, (LPARAM)(pbu
30790 74 74 6f 6e 49 6d 61 67 65 6c 69 73 74 29 29 0d  ttonImagelist)).
307a0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
307b0 20 42 43 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53   BCM_GETIMAGELIS
307c0 54 20 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20  T = BCM_FIRST + 
307d0 30 78 30 30 30 33 20 7d 0d 0a 2f 2f 20 23 64 65  0x0003 }..// #de
307e0 66 69 6e 65 20 42 75 74 74 6f 6e 5f 47 65 74 49  fine Button_GetI
307f0 6d 61 67 65 4c 69 73 74 28 68 77 6e 64 2c 20 70  mageList(hwnd, p
30800 62 75 74 74 6f 6e 49 6d 61 67 65 6c 69 73 74 29  buttonImagelist)
30810 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
30820 77 6e 64 29 2c 20 42 43 4d 5f 47 45 54 49 4d 41  wnd), BCM_GETIMA
30830 47 45 4c 49 53 54 2c 20 30 2c 20 28 4c 50 41 52  GELIST, 0, (LPAR
30840 41 4d 29 28 70 62 75 74 74 6f 6e 49 6d 61 67 65  AM)(pbuttonImage
30850 6c 69 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  list))....enum :
30860 20 75 69 6e 74 20 7b 20 42 43 4d 5f 53 45 54 54   uint { BCM_SETT
30870 45 58 54 4d 41 52 47 49 4e 20 3d 20 42 43 4d 5f  EXTMARGIN = BCM_
30880 46 49 52 53 54 20 2b 20 30 78 30 30 30 34 20 7d  FIRST + 0x0004 }
30890 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 42 75 74  ..// #define But
308a0 74 6f 6e 5f 53 65 74 54 65 78 74 4d 61 72 67 69  ton_SetTextMargi
308b0 6e 28 68 77 6e 64 2c 20 70 6d 61 72 67 69 6e 29  n(hwnd, pmargin)
308c0 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
308d0 77 6e 64 29 2c 20 42 43 4d 5f 53 45 54 54 45 58  wnd), BCM_SETTEX
308e0 54 4d 41 52 47 49 4e 2c 20 30 2c 20 28 4c 50 41  TMARGIN, 0, (LPA
308f0 52 41 4d 29 28 70 6d 61 72 67 69 6e 29 29 0d 0a  RAM)(pmargin))..
30900 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 43  enum : uint { BC
30910 4d 5f 47 45 54 54 45 58 54 4d 41 52 47 49 4e 20  M_GETTEXTMARGIN 
30920 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78  = BCM_FIRST + 0x
30930 30 30 30 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  0005 }..// #defi
30940 6e 65 20 42 75 74 74 6f 6e 5f 47 65 74 54 65 78  ne Button_GetTex
30950 74 4d 61 72 67 69 6e 28 68 77 6e 64 2c 20 70 6d  tMargin(hwnd, pm
30960 61 72 67 69 6e 29 20 28 42 4f 4f 4c 29 53 4e 44  argin) (BOOL)SND
30970 4d 53 47 28 28 68 77 6e 64 29 2c 20 42 43 4d 5f  MSG((hwnd), BCM_
30980 47 45 54 54 45 58 54 4d 41 52 47 49 4e 2c 20 30  GETTEXTMARGIN, 0
30990 2c 20 28 4c 50 41 52 41 4d 29 28 70 6d 61 72 67  , (LPARAM)(pmarg
309a0 69 6e 29 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74  in))....struct t
309b0 61 67 4e 4d 42 43 48 4f 54 49 54 45 4d 20 7b 0d  agNMBCHOTITEM {.
309c0 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20  .  NMHDR hdr;.. 
309d0 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
309e0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 42  .}..alias tagNMB
309f0 43 48 4f 54 49 54 45 4d 20 4e 4d 42 43 48 4f 54  CHOTITEM NMBCHOT
30a00 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ITEM;..alias tag
30a10 4e 4d 42 43 48 4f 54 49 54 45 4d 2a 20 4c 50 4e  NMBCHOTITEM* LPN
30a20 4d 42 43 48 4f 54 49 54 45 4d 3b 0d 0a 0d 0a 65  MBCHOTITEM;....e
30a30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 43 4e  num : uint { BCN
30a40 5f 48 4f 54 49 54 45 4d 43 48 41 4e 47 45 20 3d  _HOTITEMCHANGE =
30a50 20 42 43 4e 5f 46 49 52 53 54 20 2b 20 30 78 30   BCN_FIRST + 0x0
30a60 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  001 }....enum : 
30a70 75 69 6e 74 20 7b 20 42 53 54 5f 48 4f 54 20 3d  uint { BST_HOT =
30a80 20 30 78 30 32 30 30 20 7d 0d 0a 0d 0a 2f 2f 20   0x0200 }....// 
30a90 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
30aa0 64 69 66 20 2f 2f 20 4e 4f 42 55 54 54 4f 4e 0d  dif // NOBUTTON.
30ab0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
30ac0 53 54 41 54 49 43 0d 0a 0d 0a 2f 2f 20 23 69 66  STATIC....// #if
30ad0 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f  def _WIN32....co
30ae0 6e 73 74 20 63 68 61 72 5b 5d 20 57 43 5f 53 54  nst char[] WC_ST
30af0 41 54 49 43 41 20 3d 20 22 53 74 61 74 69 63 22  ATICA = "Static"
30b00 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d  ;..const wchar[]
30b10 20 57 43 5f 53 54 41 54 49 43 57 20 3d 20 22 53   WC_STATICW = "S
30b20 74 61 74 69 63 22 3b 0d 0a 0d 0a 2f 2f 20 23 69  tatic";....// #i
30b30 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
30b40 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
30b50 0a 61 6c 69 61 73 20 57 43 5f 53 54 41 54 49 43  .alias WC_STATIC
30b60 41 20 57 43 5f 53 54 41 54 49 43 3b 0d 0a 2f 2f  A WC_STATIC;..//
30b70 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65   #endif....// #e
30b80 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
30b90 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65   #endif....// #e
30ba0 6e 64 69 66 20 2f 2f 20 4e 4f 53 54 41 54 49 43  ndif // NOSTATIC
30bb0 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
30bc0 4f 45 44 49 54 0d 0a 0d 0a 2f 2f 20 23 69 66 64  OEDIT....// #ifd
30bd0 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e  ef _WIN32....con
30be0 73 74 20 63 68 61 72 5b 5d 20 57 43 5f 45 44 49  st char[] WC_EDI
30bf0 54 41 20 3d 20 22 45 64 69 74 22 3b 0d 0a 63 6f  TA = "Edit";..co
30c00 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43 5f 45  nst wchar[] WC_E
30c10 44 49 54 57 20 3d 20 22 45 64 69 74 22 3b 0d 0a  DITW = "Edit";..
30c20 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
30c30 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
30c40 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57 43   #else..alias WC
30c50 5f 45 44 49 54 41 20 57 43 5f 45 44 49 54 3b 0d  _EDITA WC_EDIT;.
30c60 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
30c70 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
30c80 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
30c90 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e   #if (_WIN32_WIN
30ca0 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e  NT >= 0x501)..en
30cb0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53  um : uint { EM_S
30cc0 45 54 43 55 45 42 41 4e 4e 45 52 20 3d 20 45 43  ETCUEBANNER = EC
30cd0 4d 5f 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 2f  M_FIRST + 1 }../
30ce0 2f 20 23 64 65 66 69 6e 65 20 45 64 69 74 5f 53  / #define Edit_S
30cf0 65 74 43 75 65 42 61 6e 6e 65 72 54 65 78 74 28  etCueBannerText(
30d00 68 77 6e 64 2c 20 6c 70 63 77 54 65 78 74 29 20  hwnd, lpcwText) 
30d10 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
30d20 6e 64 29 2c 20 45 4d 5f 53 45 54 43 55 45 42 41  nd), EM_SETCUEBA
30d30 4e 4e 45 52 2c 20 30 2c 20 28 4c 50 41 52 41 4d  NNER, 0, (LPARAM
30d40 29 28 6c 70 63 77 54 65 78 74 29 29 0d 0a 65 6e  )(lpcwText))..en
30d50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 47  um : uint { EM_G
30d60 45 54 43 55 45 42 41 4e 4e 45 52 20 3d 20 45 43  ETCUEBANNER = EC
30d70 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f  M_FIRST + 2 }../
30d80 2f 20 23 64 65 66 69 6e 65 20 45 64 69 74 5f 47  / #define Edit_G
30d90 65 74 43 75 65 42 61 6e 6e 65 72 54 65 78 74 28  etCueBannerText(
30da0 68 77 6e 64 2c 20 6c 70 77 54 65 78 74 2c 20 63  hwnd, lpwText, c
30db0 63 68 54 65 78 74 29 20 28 42 4f 4f 4c 29 53 4e  chText) (BOOL)SN
30dc0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 45 4d 5f  DMSG((hwnd), EM_
30dd0 47 45 54 43 55 45 42 41 4e 4e 45 52 2c 20 28 57  GETCUEBANNER, (W
30de0 50 41 52 41 4d 29 28 6c 70 77 54 65 78 74 29 2c  PARAM)(lpwText),
30df0 20 28 4c 50 41 52 41 4d 29 28 63 63 68 54 65 78   (LPARAM)(cchTex
30e00 74 29 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 74  t))....struct _t
30e10 61 67 45 44 49 54 42 41 4c 4c 4f 4f 4e 54 49 50  agEDITBALLOONTIP
30e20 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 74   {..  DWORD cbSt
30e30 72 75 63 74 3b 0d 0a 20 20 4c 50 43 57 53 54 52  ruct;..  LPCWSTR
30e40 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20 20 4c 50   pszTitle;..  LP
30e50 43 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a  CWSTR pszText;..
30e60 20 20 49 4e 54 20 74 74 69 49 63 6f 6e 3b 0d 0a    INT ttiIcon;..
30e70 7d 0d 0a 61 6c 69 61 73 20 5f 74 61 67 45 44 49  }..alias _tagEDI
30e80 54 42 41 4c 4c 4f 4f 4e 54 49 50 20 45 44 49 54  TBALLOONTIP EDIT
30e90 42 41 4c 4c 4f 4f 4e 54 49 50 3b 0d 0a 61 6c 69  BALLOONTIP;..ali
30ea0 61 73 20 5f 74 61 67 45 44 49 54 42 41 4c 4c 4f  as _tagEDITBALLO
30eb0 4f 4e 54 49 50 2a 20 50 45 44 49 54 42 41 4c 4c  ONTIP* PEDITBALL
30ec0 4f 4f 4e 54 49 50 3b 0d 0a 0d 0a 65 6e 75 6d 20  OONTIP;....enum 
30ed0 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 53 48 4f 57  : uint { EM_SHOW
30ee0 42 41 4c 4c 4f 4f 4e 54 49 50 20 3d 20 45 43 4d  BALLOONTIP = ECM
30ef0 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d 0a 2f 2f  _FIRST + 3 }..//
30f00 20 23 64 65 66 69 6e 65 20 45 64 69 74 5f 53 68   #define Edit_Sh
30f10 6f 77 42 61 6c 6c 6f 6f 6e 54 69 70 28 68 77 6e  owBalloonTip(hwn
30f20 64 2c 20 70 65 64 69 74 62 61 6c 6c 6f 6f 6e 74  d, peditballoont
30f30 69 70 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  ip) (BOOL)SNDMSG
30f40 28 28 68 77 6e 64 29 2c 20 45 4d 5f 53 48 4f 57  ((hwnd), EM_SHOW
30f50 42 41 4c 4c 4f 4f 4e 54 49 50 2c 20 30 2c 20 28  BALLOONTIP, 0, (
30f60 4c 50 41 52 41 4d 29 28 70 65 64 69 74 62 61 6c  LPARAM)(peditbal
30f70 6c 6f 6f 6e 74 69 70 29 29 0d 0a 65 6e 75 6d 20  loontip))..enum 
30f80 3a 20 75 69 6e 74 20 7b 20 45 4d 5f 48 49 44 45  : uint { EM_HIDE
30f90 42 41 4c 4c 4f 4f 4e 54 49 50 20 3d 20 45 43 4d  BALLOONTIP = ECM
30fa0 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f  _FIRST + 4 }..//
30fb0 20 23 64 65 66 69 6e 65 20 45 64 69 74 5f 48 69   #define Edit_Hi
30fc0 64 65 42 61 6c 6c 6f 6f 6e 54 69 70 28 68 77 6e  deBalloonTip(hwn
30fd0 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  d) (BOOL)SNDMSG(
30fe0 28 68 77 6e 64 29 2c 20 45 4d 5f 48 49 44 45 42  (hwnd), EM_HIDEB
30ff0 41 4c 4c 4f 4f 4e 54 49 50 2c 20 30 2c 20 30 29  ALLOONTIP, 0, 0)
31000 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
31010 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 45 44  / #endif // NOED
31020 49 54 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  IT....// #ifndef
31030 20 4e 4f 4c 49 53 54 42 4f 58 0d 0a 0d 0a 2f 2f   NOLISTBOX....//
31040 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
31050 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57  ..const char[] W
31060 43 5f 4c 49 53 54 42 4f 58 41 20 3d 20 22 4c 69  C_LISTBOXA = "Li
31070 73 74 42 6f 78 22 3b 0d 0a 63 6f 6e 73 74 20 77  stBox";..const w
31080 63 68 61 72 5b 5d 20 57 43 5f 4c 49 53 54 42 4f  char[] WC_LISTBO
31090 58 57 20 3d 20 22 4c 69 73 74 42 6f 78 22 3b 0d  XW = "ListBox";.
310a0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
310b0 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
310c0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57  / #else..alias W
310d0 43 5f 4c 49 53 54 42 4f 58 41 20 57 43 5f 4c 49  C_LISTBOXA WC_LI
310e0 53 54 42 4f 58 3b 0d 0a 2f 2f 20 23 65 6e 64 69  STBOX;..// #endi
310f0 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  f....// #else../
31100 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
31110 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  f....// #endif /
31120 2f 20 4e 4f 4c 49 53 54 42 4f 58 0d 0a 0d 0a 2f  / NOLISTBOX..../
31130 2f 20 23 69 66 6e 64 65 66 20 4e 4f 43 4f 4d 42  / #ifndef NOCOMB
31140 4f 42 4f 58 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  OBOX....// #ifde
31150 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73  f _WIN32....cons
31160 74 20 63 68 61 72 5b 5d 20 57 43 5f 43 4f 4d 42  t char[] WC_COMB
31170 4f 42 4f 58 41 20 3d 20 22 43 6f 6d 62 6f 42 6f  OBOXA = "ComboBo
31180 78 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72  x";..const wchar
31190 5b 5d 20 57 43 5f 43 4f 4d 42 4f 42 4f 58 57 20  [] WC_COMBOBOXW 
311a0 3d 20 22 43 6f 6d 62 6f 42 6f 78 22 3b 0d 0a 0d  = "ComboBox";...
311b0 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
311c0 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
311d0 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57 43 5f  #else..alias WC_
311e0 43 4f 4d 42 4f 42 4f 58 41 20 57 43 5f 43 4f 4d  COMBOBOXA WC_COM
311f0 42 4f 42 4f 58 3b 0d 0a 2f 2f 20 23 65 6e 64 69  BOBOX;..// #endi
31200 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  f....// #else../
31210 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
31220 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  f....// #endif /
31230 2f 20 4e 4f 43 4f 4d 42 4f 42 4f 58 0d 0a 0d 0a  / NOCOMBOBOX....
31240 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
31250 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a  INNT >= 0x501)..
31260 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31270 43 42 5f 53 45 54 4d 49 4e 56 49 53 49 42 4c 45  CB_SETMINVISIBLE
31280 20 3d 20 43 42 4d 5f 46 49 52 53 54 20 2b 20 31   = CBM_FIRST + 1
31290 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
312a0 7b 20 43 42 5f 47 45 54 4d 49 4e 56 49 53 49 42  { CB_GETMINVISIB
312b0 4c 45 20 3d 20 43 42 4d 5f 46 49 52 53 54 20 2b  LE = CBM_FIRST +
312c0 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69   2 }....// #defi
312d0 6e 65 20 43 6f 6d 62 6f 42 6f 78 5f 53 65 74 4d  ne ComboBox_SetM
312e0 69 6e 56 69 73 69 62 6c 65 28 68 77 6e 64 2c 20  inVisible(hwnd, 
312f0 69 4d 69 6e 56 69 73 69 62 6c 65 29 20 28 42 4f  iMinVisible) (BO
31300 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
31310 2c 20 43 42 5f 53 45 54 4d 49 4e 56 49 53 49 42  , CB_SETMINVISIB
31320 4c 45 2c 20 28 57 50 41 52 41 4d 29 69 4d 69 6e  LE, (WPARAM)iMin
31330 56 69 73 69 62 6c 65 2c 20 30 29 0d 0a 0d 0a 2f  Visible, 0)..../
31340 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d 62 6f 42  / #define ComboB
31350 6f 78 5f 47 65 74 4d 69 6e 56 69 73 69 62 6c 65  ox_GetMinVisible
31360 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d  (hwnd) (int)SNDM
31370 53 47 28 28 68 77 6e 64 29 2c 20 43 42 5f 47 45  SG((hwnd), CB_GE
31380 54 4d 49 4e 56 49 53 49 42 4c 45 2c 20 30 2c 20  TMINVISIBLE, 0, 
31390 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  0)....// #endif.
313a0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
313b0 53 43 52 4f 4c 4c 42 41 52 0d 0a 0d 0a 2f 2f 20  SCROLLBAR....// 
313c0 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
313d0 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57 43  .const char[] WC
313e0 5f 53 43 52 4f 4c 4c 42 41 52 41 20 3d 20 22 53  _SCROLLBARA = "S
313f0 63 72 6f 6c 6c 42 61 72 22 3b 0d 0a 63 6f 6e 73  crollBar";..cons
31400 74 20 77 63 68 61 72 5b 5d 20 57 43 5f 53 43 52  t wchar[] WC_SCR
31410 4f 4c 4c 42 41 52 57 20 3d 20 22 53 63 72 6f 6c  OLLBARW = "Scrol
31420 6c 42 61 72 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  lBar";....// #if
31430 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
31440 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
31450 61 6c 69 61 73 20 57 43 5f 53 43 52 4f 4c 4c 42  alias WC_SCROLLB
31460 41 52 41 20 57 43 5f 53 43 52 4f 4c 4c 42 41 52  ARA WC_SCROLLBAR
31470 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
31480 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
31490 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
314a0 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 53  // #endif // NOS
314b0 43 52 4f 4c 4c 42 41 52 0d 0a 0d 0a 2f 2f 20 23  CROLLBAR....// #
314c0 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 2f 2f  ifdef _WIN32..//
314d0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e   #if (_WIN32_WIN
314e0 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 0d 0a  NT >= 0x501)....
314f0 65 6e 75 6d 20 7b 20 49 4e 56 41 4c 49 44 5f 4c  enum { INVALID_L
31500 49 4e 4b 5f 49 4e 44 45 58 20 3d 20 2d 31 20 7d  INK_INDEX = -1 }
31510 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31520 4d 41 58 5f 4c 49 4e 4b 49 44 5f 54 45 58 54 20  MAX_LINKID_TEXT 
31530 3d 20 34 38 20 7d 0d 0a 65 6e 75 6d 20 7b 20 4c  = 48 }..enum { L
31540 5f 4d 41 58 5f 55 52 4c 5f 4c 45 4e 47 54 48 20  _MAX_URL_LENGTH 
31550 3d 20 32 30 34 38 20 2b 20 33 32 20 2b 20 34 20  = 2048 + 32 + 4 
31560 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72  }....const wchar
31570 5b 5d 20 57 43 5f 4c 49 4e 4b 20 3d 20 22 53 79  [] WC_LINK = "Sy
31580 73 4c 69 6e 6b 22 3b 0d 0a 0d 0a 65 6e 75 6d 20  sLink";....enum 
31590 3a 20 75 69 6e 74 20 7b 20 4c 57 53 5f 54 52 41  : uint { LWS_TRA
315a0 4e 53 50 41 52 45 4e 54 20 3d 20 30 78 30 30 30  NSPARENT = 0x000
315b0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
315c0 20 7b 20 4c 57 53 5f 49 47 4e 4f 52 45 52 45 54   { LWS_IGNORERET
315d0 55 52 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  URN = 0x0002 }..
315e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
315f0 4c 49 46 5f 49 54 45 4d 49 4e 44 45 58 20 3d 20  LIF_ITEMINDEX = 
31600 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
31610 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 49 46 5f  um : uint { LIF_
31620 53 54 41 54 45 20 3d 20 30 78 30 30 30 30 30 30  STATE = 0x000000
31630 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
31640 74 20 7b 20 4c 49 46 5f 49 54 45 4d 49 44 20 3d  t { LIF_ITEMID =
31650 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
31660 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 49 46  num : uint { LIF
31670 5f 55 52 4c 20 3d 20 30 78 30 30 30 30 30 30 30  _URL = 0x0000000
31680 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
31690 6e 74 20 7b 20 4c 49 53 5f 46 4f 43 55 53 45 44  nt { LIS_FOCUSED
316a0 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
316b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
316c0 49 53 5f 45 4e 41 42 4c 45 44 20 3d 20 30 78 30  IS_ENABLED = 0x0
316d0 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
316e0 3a 20 75 69 6e 74 20 7b 20 4c 49 53 5f 56 49 53  : uint { LIS_VIS
316f0 49 54 45 44 20 3d 20 30 78 30 30 30 30 30 30 30  ITED = 0x0000000
31700 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  4 }....struct ta
31710 67 4c 49 54 45 4d 20 7b 0d 0a 20 20 55 49 4e 54  gLITEM {..  UINT
31720 20 6d 61 73 6b 20 3b 0d 0a 20 20 69 6e 74 20 69   mask ;..  int i
31730 4c 69 6e 6b 20 3b 0d 0a 20 20 55 49 4e 54 20 73  Link ;..  UINT s
31740 74 61 74 65 20 3b 0d 0a 20 20 55 49 4e 54 20 73  tate ;..  UINT s
31750 74 61 74 65 4d 61 73 6b 20 3b 0d 0a 20 20 57 43  tateMask ;..  WC
31760 48 41 52 20 73 7a 49 44 5b 4d 41 58 5f 4c 49 4e  HAR szID[MAX_LIN
31770 4b 49 44 5f 54 45 58 54 5d 20 3b 0d 0a 20 20 57  KID_TEXT] ;..  W
31780 43 48 41 52 20 73 7a 55 72 6c 5b 4c 5f 4d 41 58  CHAR szUrl[L_MAX
31790 5f 55 52 4c 5f 4c 45 4e 47 54 48 5d 20 3b 0d 0a  _URL_LENGTH] ;..
317a0 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 49 54 45  }..alias tagLITE
317b0 4d 20 4c 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20  M LITEM;..alias 
317c0 74 61 67 4c 49 54 45 4d 2a 20 50 4c 49 54 45 4d  tagLITEM* PLITEM
317d0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4c  ;....struct tagL
317e0 48 49 54 54 45 53 54 49 4e 46 4f 20 7b 0d 0a 20  HITTESTINFO {.. 
317f0 20 50 4f 49 4e 54 20 70 74 20 3b 0d 0a 20 20 4c   POINT pt ;..  L
31800 49 54 45 4d 20 69 74 65 6d 20 3b 0d 0a 7d 0d 0a  ITEM item ;..}..
31810 61 6c 69 61 73 20 74 61 67 4c 48 49 54 54 45 53  alias tagLHITTES
31820 54 49 4e 46 4f 20 4c 48 49 54 54 45 53 54 49 4e  TINFO LHITTESTIN
31830 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 48  FO;..alias tagLH
31840 49 54 54 45 53 54 49 4e 46 4f 2a 20 50 4c 48 49  ITTESTINFO* PLHI
31850 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 73 74  TTESTINFO;....st
31860 72 75 63 74 20 74 61 67 4e 4d 4c 49 4e 4b 20 7b  ruct tagNMLINK {
31870 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
31880 20 20 4c 49 54 45 4d 20 69 74 65 6d 20 3b 0d 0a    LITEM item ;..
31890 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 49  }..alias tagNMLI
318a0 4e 4b 20 4e 4d 4c 49 4e 4b 3b 0d 0a 61 6c 69 61  NK NMLINK;..alia
318b0 73 20 74 61 67 4e 4d 4c 49 4e 4b 2a 20 50 4e 4d  s tagNMLINK* PNM
318c0 4c 49 4e 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  LINK;....enum : 
318d0 75 69 6e 74 20 7b 20 4c 4d 5f 48 49 54 54 45 53  uint { LM_HITTES
318e0 54 20 3d 20 57 4d 5f 55 53 45 52 2b 30 78 33 30  T = WM_USER+0x30
318f0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
31900 20 7b 20 4c 4d 5f 47 45 54 49 44 45 41 4c 48 45   { LM_GETIDEALHE
31910 49 47 48 54 20 3d 20 57 4d 5f 55 53 45 52 2b 30  IGHT = WM_USER+0
31920 78 33 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  x301 }..enum : u
31930 69 6e 74 20 7b 20 4c 4d 5f 53 45 54 49 54 45 4d  int { LM_SETITEM
31940 20 3d 20 57 4d 5f 55 53 45 52 2b 30 78 33 30 32   = WM_USER+0x302
31950 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31960 7b 20 4c 4d 5f 47 45 54 49 54 45 4d 20 3d 20 57  { LM_GETITEM = W
31970 4d 5f 55 53 45 52 2b 30 78 33 30 33 20 7d 0d 0a  M_USER+0x303 }..
31980 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
31990 23 65 6e 64 69 66 20 2f 2f 20 5f 57 49 4e 33 32  #endif // _WIN32
319a0 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
319b0 4f 4d 55 49 0d 0a 65 78 74 65 72 6e 28 57 69 6e  OMUI..extern(Win
319c0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f 69  dows) export voi
319d0 64 20 49 6e 69 74 4d 55 49 4c 61 6e 67 75 61 67  d InitMUILanguag
319e0 65 28 4c 41 4e 47 49 44 20 75 69 4c 61 6e 67 29  e(LANGID uiLang)
319f0 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
31a00 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 41 4e 47  ows) export LANG
31a10 49 44 20 47 65 74 4d 55 49 4c 61 6e 67 75 61 67  ID GetMUILanguag
31a20 65 28 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  e();..// #endif 
31a30 20 2f 2f 20 4e 4f 4d 55 49 0d 0a 0d 0a 2f 2f 20   // NOMUI....// 
31a40 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f  #endif      // _
31a50 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
31a60 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  00....// #ifdef 
31a70 5f 57 49 4e 33 32 0d 0a 0d 0a 2f 2f 20 23 69 66  _WIN32....// #if
31a80 6e 64 65 66 20 4e 4f 54 52 41 43 4b 4d 4f 55 53  ndef NOTRACKMOUS
31a90 45 45 56 45 4e 54 0d 0a 0d 0a 2f 2f 20 23 69 66  EEVENT....// #if
31aa0 6e 64 65 66 20 57 4d 5f 4d 4f 55 53 45 48 4f 56  ndef WM_MOUSEHOV
31ab0 45 52 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ER..// #.....// 
31ac0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
31ad0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 54 4d  ...// #ifndef TM
31ae0 45 5f 48 4f 56 45 52 0d 0a 0d 0a 65 6e 75 6d 20  E_HOVER....enum 
31af0 3a 20 75 69 6e 74 20 7b 20 54 4d 45 5f 48 4f 56  : uint { TME_HOV
31b00 45 52 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ER = 0x00000001 
31b10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31b20 20 54 4d 45 5f 4c 45 41 56 45 20 3d 20 30 78 30   TME_LEAVE = 0x0
31b30 30 30 30 30 30 30 32 20 7d 0d 0a 2f 2f 20 23 69  0000002 }..// #i
31b40 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  f (WINVER >= 0x0
31b50 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  500)..enum : uin
31b60 74 20 7b 20 54 4d 45 5f 4e 4f 4e 43 4c 49 45 4e  t { TME_NONCLIEN
31b70 54 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d  T = 0x00000010 }
31b80 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
31b90 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 20  INVER >= 0x0500 
31ba0 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  */..enum : uint 
31bb0 7b 20 54 4d 45 5f 51 55 45 52 59 20 3d 20 30 78  { TME_QUERY = 0x
31bc0 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  40000000 }..enum
31bd0 20 3a 20 75 69 6e 74 20 7b 20 54 4d 45 5f 43 41   : uint { TME_CA
31be0 4e 43 45 4c 20 3d 20 30 78 38 30 30 30 30 30 30  NCEL = 0x8000000
31bf0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
31c00 6e 74 20 7b 20 48 4f 56 45 52 5f 44 45 46 41 55  nt { HOVER_DEFAU
31c10 4c 54 20 3d 20 30 78 46 46 46 46 46 46 46 46 20  LT = 0xFFFFFFFF 
31c20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54  }....struct tagT
31c30 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 20 7b  RACKMOUSEEVENT {
31c40 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 69 7a 65  ..  DWORD cbSize
31c50 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ;..  DWORD dwFla
31c60 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  gs;..  HWND hwnd
31c70 54 72 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20  Track;..  DWORD 
31c80 64 77 48 6f 76 65 72 54 69 6d 65 3b 0d 0a 7d 0d  dwHoverTime;..}.
31c90 0a 61 6c 69 61 73 20 74 61 67 54 52 41 43 4b 4d  .alias tagTRACKM
31ca0 4f 55 53 45 45 56 45 4e 54 20 54 52 41 43 4b 4d  OUSEEVENT TRACKM
31cb0 4f 55 53 45 45 56 45 4e 54 3b 0d 0a 61 6c 69 61  OUSEEVENT;..alia
31cc0 73 20 74 61 67 54 52 41 43 4b 4d 4f 55 53 45 45  s tagTRACKMOUSEE
31cd0 56 45 4e 54 2a 20 4c 50 54 52 41 43 4b 4d 4f 55  VENT* LPTRACKMOU
31ce0 53 45 45 56 45 4e 54 3b 0d 0a 0d 0a 2f 2f 20 23  SEEVENT;....// #
31cf0 65 6e 64 69 66 20 2f 2f 20 21 54 4d 45 5f 48 4f  endif // !TME_HO
31d00 56 45 52 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  VER....extern(Wi
31d10 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
31d20 4f 4c 20 5f 54 72 61 63 6b 4d 6f 75 73 65 45 76  OL _TrackMouseEv
31d30 65 6e 74 28 0d 0a 20 20 4c 50 54 52 41 43 4b 4d  ent(..  LPTRACKM
31d40 4f 55 53 45 45 56 45 4e 54 20 6c 70 45 76 65 6e  OUSEEVENT lpEven
31d50 74 54 72 61 63 6b 29 3b 0d 0a 0d 0a 2f 2f 20 23  tTrack);....// #
31d60 65 6e 64 69 66 20 2f 2f 20 21 4e 4f 54 52 41 43  endif // !NOTRAC
31d70 4b 4d 4f 55 53 45 45 56 45 4e 54 0d 0a 0d 0a 2f  KMOUSEEVENT..../
31d80 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
31d90 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 2f   >= 0x0400)..../
31da0 2f 20 23 69 66 6e 64 65 66 20 4e 4f 46 4c 41 54  / #ifndef NOFLAT
31db0 53 42 41 50 49 53 0d 0a 0d 0a 65 6e 75 6d 20 3a  SBAPIS....enum :
31dc0 20 75 69 6e 74 20 7b 20 57 53 42 5f 50 52 4f 50   uint { WSB_PROP
31dd0 5f 43 59 56 53 43 52 4f 4c 4c 20 3d 20 30 78 30  _CYVSCROLL = 0x0
31de0 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
31df0 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f 50 52 4f  : uint { WSB_PRO
31e00 50 5f 43 58 48 53 43 52 4f 4c 4c 20 3d 20 30 78  P_CXHSCROLL = 0x
31e10 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
31e20 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f 50 52   : uint { WSB_PR
31e30 4f 50 5f 43 59 48 53 43 52 4f 4c 4c 20 3d 20 30  OP_CYHSCROLL = 0
31e40 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75  x00000004 }..enu
31e50 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f 50  m : uint { WSB_P
31e60 52 4f 50 5f 43 58 56 53 43 52 4f 4c 4c 20 3d 20  ROP_CXVSCROLL = 
31e70 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
31e80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f  um : uint { WSB_
31e90 50 52 4f 50 5f 43 58 48 54 48 55 4d 42 20 3d 20  PROP_CXHTHUMB = 
31ea0 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
31eb0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f  um : uint { WSB_
31ec0 50 52 4f 50 5f 43 59 56 54 48 55 4d 42 20 3d 20  PROP_CYVTHUMB = 
31ed0 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e  0x00000020 }..en
31ee0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f  um : uint { WSB_
31ef0 50 52 4f 50 5f 56 42 4b 47 43 4f 4c 4f 52 20 3d  PROP_VBKGCOLOR =
31f00 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65   0x00000040 }..e
31f10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 42  num : uint { WSB
31f20 5f 50 52 4f 50 5f 48 42 4b 47 43 4f 4c 4f 52 20  _PROP_HBKGCOLOR 
31f30 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a  = 0x00000080 }..
31f40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
31f50 42 5f 50 52 4f 50 5f 56 53 54 59 4c 45 20 3d 20  B_PROP_VSTYLE = 
31f60 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e  0x00000100 }..en
31f70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f  um : uint { WSB_
31f80 50 52 4f 50 5f 48 53 54 59 4c 45 20 3d 20 30 78  PROP_HSTYLE = 0x
31f90 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  00000200 }..enum
31fa0 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f 50 52   : uint { WSB_PR
31fb0 4f 50 5f 57 49 4e 53 54 59 4c 45 20 3d 20 30 78  OP_WINSTYLE = 0x
31fc0 30 30 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d  00000400 }..enum
31fd0 20 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f 50 52   : uint { WSB_PR
31fe0 4f 50 5f 50 41 4c 45 54 54 45 20 3d 20 30 78 30  OP_PALETTE = 0x0
31ff0 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000800 }..enum 
32000 3a 20 75 69 6e 74 20 7b 20 57 53 42 5f 50 52 4f  : uint { WSB_PRO
32010 50 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30  P_MASK = 0x00000
32020 46 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  FFF }....enum : 
32030 75 69 6e 74 20 7b 20 46 53 42 5f 46 4c 41 54 5f  uint { FSB_FLAT_
32040 4d 4f 44 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  MODE = 2 }..enum
32050 20 3a 20 75 69 6e 74 20 7b 20 46 53 42 5f 45 4e   : uint { FSB_EN
32060 43 41 52 54 41 5f 4d 4f 44 45 20 3d 20 31 20 7d  CARTA_MODE = 1 }
32070 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
32080 46 53 42 5f 52 45 47 55 4c 41 52 5f 4d 4f 44 45  FSB_REGULAR_MODE
32090 20 3d 20 30 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e   = 0 }....extern
320a0 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
320b0 20 42 4f 4f 4c 20 46 6c 61 74 53 42 5f 45 6e 61   BOOL FlatSB_Ena
320c0 62 6c 65 53 63 72 6f 6c 6c 42 61 72 28 48 57 4e  bleScrollBar(HWN
320d0 44 2c 20 69 6e 74 2c 20 55 49 4e 54 29 3b 0d 0a  D, int, UINT);..
320e0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
320f0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 6c 61 74  export BOOL Flat
32100 53 42 5f 53 68 6f 77 53 63 72 6f 6c 6c 42 61 72  SB_ShowScrollBar
32110 28 48 57 4e 44 2c 20 69 6e 74 20 63 6f 64 65 2c  (HWND, int code,
32120 20 42 4f 4f 4c 29 3b 0d 0a 0d 0a 65 78 74 65 72   BOOL);....exter
32130 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
32140 74 20 42 4f 4f 4c 20 46 6c 61 74 53 42 5f 47 65  t BOOL FlatSB_Ge
32150 74 53 63 72 6f 6c 6c 52 61 6e 67 65 28 48 57 4e  tScrollRange(HWN
32160 44 2c 20 69 6e 74 20 63 6f 64 65 2c 20 4c 50 49  D, int code, LPI
32170 4e 54 2c 20 4c 50 49 4e 54 29 3b 0d 0a 65 78 74  NT, LPINT);..ext
32180 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
32190 6f 72 74 20 42 4f 4f 4c 20 46 6c 61 74 53 42 5f  ort BOOL FlatSB_
321a0 47 65 74 53 63 72 6f 6c 6c 49 6e 66 6f 28 48 57  GetScrollInfo(HW
321b0 4e 44 2c 20 69 6e 74 20 63 6f 64 65 2c 20 4c 50  ND, int code, LP
321c0 53 43 52 4f 4c 4c 49 4e 46 4f 29 3b 0d 0a 0d 0a  SCROLLINFO);....
321d0 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
321e0 65 78 70 6f 72 74 20 69 6e 74 20 46 6c 61 74 53  export int FlatS
321f0 42 5f 47 65 74 53 63 72 6f 6c 6c 50 6f 73 28 48  B_GetScrollPos(H
32200 57 4e 44 2c 20 69 6e 74 20 63 6f 64 65 29 3b 0d  WND, int code);.
32210 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
32220 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46  s) export BOOL F
32230 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c 6c 50  latSB_GetScrollP
32240 72 6f 70 28 48 57 4e 44 2c 20 69 6e 74 20 70 72  rop(HWND, int pr
32250 6f 70 49 6e 64 65 78 2c 20 4c 50 49 4e 54 29 3b  opIndex, LPINT);
32260 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
32270 36 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  64..// .....// #
32280 65 6c 73 65 0d 0a 61 6c 69 61 73 20 46 6c 61 74  else..alias Flat
32290 53 42 5f 47 65 74 53 63 72 6f 6c 6c 50 72 6f 70  SB_GetScrollProp
322a0 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c   FlatSB_GetScrol
322b0 6c 50 72 6f 70 50 74 72 3b 0d 0a 2f 2f 20 23 65  lPropPtr;..// #e
322c0 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ndif....extern(W
322d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
322e0 6e 74 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72  nt FlatSB_SetScr
322f0 6f 6c 6c 50 6f 73 28 48 57 4e 44 2c 20 69 6e 74  ollPos(HWND, int
32300 20 63 6f 64 65 2c 20 69 6e 74 20 70 6f 73 2c 20   code, int pos, 
32310 42 4f 4f 4c 20 66 52 65 64 72 61 77 29 3b 0d 0a  BOOL fRedraw);..
32320 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
32330 29 20 65 78 70 6f 72 74 20 69 6e 74 20 46 6c 61  ) export int Fla
32340 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 49 6e 66  tSB_SetScrollInf
32350 6f 28 48 57 4e 44 2c 20 69 6e 74 20 63 6f 64 65  o(HWND, int code
32360 2c 20 4c 50 53 43 52 4f 4c 4c 49 4e 46 4f 2c 20  , LPSCROLLINFO, 
32370 42 4f 4f 4c 20 66 52 65 64 72 61 77 29 3b 0d 0a  BOOL fRedraw);..
32380 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
32390 29 20 65 78 70 6f 72 74 20 69 6e 74 20 46 6c 61  ) export int Fla
323a0 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 52 61 6e  tSB_SetScrollRan
323b0 67 65 28 48 57 4e 44 2c 20 69 6e 74 20 63 6f 64  ge(HWND, int cod
323c0 65 2c 20 69 6e 74 20 6d 69 6e 2c 20 69 6e 74 20  e, int min, int 
323d0 6d 61 78 2c 20 42 4f 4f 4c 20 66 52 65 64 72 61  max, BOOL fRedra
323e0 77 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  w);..extern(Wind
323f0 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
32400 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72 6f 6c   FlatSB_SetScrol
32410 6c 50 72 6f 70 28 48 57 4e 44 2c 20 55 49 4e 54  lProp(HWND, UINT
32420 20 69 6e 64 65 78 2c 20 49 4e 54 5f 50 54 52 20   index, INT_PTR 
32430 6e 65 77 56 61 6c 75 65 2c 20 42 4f 4f 4c 29 3b  newValue, BOOL);
32440 0d 0a 61 6c 69 61 73 20 46 6c 61 74 53 42 5f 53  ..alias FlatSB_S
32450 65 74 53 63 72 6f 6c 6c 50 72 6f 70 20 46 6c 61  etScrollProp Fla
32460 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 50 72 6f  tSB_SetScrollPro
32470 70 50 74 72 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  pPtr;....extern(
32480 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
32490 42 4f 4f 4c 20 49 6e 69 74 69 61 6c 69 7a 65 46  BOOL InitializeF
324a0 6c 61 74 53 42 28 48 57 4e 44 29 3b 0d 0a 65 78  latSB(HWND);..ex
324b0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
324c0 70 6f 72 74 20 48 52 45 53 55 4c 54 20 55 6e 69  port HRESULT Uni
324d0 6e 69 74 69 61 6c 69 7a 65 46 6c 61 74 53 42 28  nitializeFlatSB(
324e0 48 57 4e 44 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  HWND);....// #en
324f0 64 69 66 20 20 2f 2f 20 20 4e 4f 46 4c 41 54 53  dif  //  NOFLATS
32500 42 41 50 49 53 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  BAPIS....// #end
32510 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33  if      // _WIN3
32520 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a  2_IE >= 0x0400..
32530 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 5f  ..// #endif /* _
32540 57 49 4e 33 32 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  WIN32 */....// #
32550 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57  endif      // _W
32560 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
32570 30 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  0....// #if (_WI
32580 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
32590 30 31 29 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  01)....extern(Wi
325a0 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 4c 52 45  ndows) alias LRE
325b0 53 55 4c 54 20 66 75 6e 63 74 69 6f 6e 28 48 57  SULT function(HW
325c0 4e 44 20 68 57 6e 64 2c 20 55 49 4e 54 20 75 4d  ND hWnd, UINT uM
325d0 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61 72 61  sg, WPARAM wPara
325e0 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  m, LPARAM lParam
325f0 2c 20 55 49 4e 54 5f 50 54 52 20 75 49 64 53 75  , UINT_PTR uIdSu
32600 62 63 6c 61 73 73 2c 20 44 57 4f 52 44 5f 50 54  bclass, DWORD_PT
32610 52 20 64 77 52 65 66 44 61 74 61 29 20 53 55 42  R dwRefData) SUB
32620 43 4c 41 53 53 50 52 4f 43 3b 0d 0a 0d 0a 65 78  CLASSPROC;....ex
32630 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
32640 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 57 69 6e  port BOOL SetWin
32650 64 6f 77 53 75 62 63 6c 61 73 73 28 48 57 4e 44  dowSubclass(HWND
32660 20 68 57 6e 64 2c 20 53 55 42 43 4c 41 53 53 50   hWnd, SUBCLASSP
32670 52 4f 43 20 70 66 6e 53 75 62 63 6c 61 73 73 2c  ROC pfnSubclass,
32680 20 55 49 4e 54 5f 50 54 52 20 75 49 64 53 75 62   UINT_PTR uIdSub
32690 63 6c 61 73 73 2c 0d 0a 20 20 44 57 4f 52 44 5f  class,..  DWORD_
326a0 50 54 52 20 64 77 52 65 66 44 61 74 61 29 3b 0d  PTR dwRefData);.
326b0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
326c0 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
326d0 57 69 6e 64 6f 77 53 75 62 63 6c 61 73 73 28 48  WindowSubclass(H
326e0 57 4e 44 20 68 57 6e 64 2c 20 53 55 42 43 4c 41  WND hWnd, SUBCLA
326f0 53 53 50 52 4f 43 20 70 66 6e 53 75 62 63 6c 61  SSPROC pfnSubcla
32700 73 73 2c 20 55 49 4e 54 5f 50 54 52 20 75 49 64  ss, UINT_PTR uId
32710 53 75 62 63 6c 61 73 73 2c 0d 0a 20 20 44 57 4f  Subclass,..  DWO
32720 52 44 5f 50 54 52 20 2a 70 64 77 52 65 66 44 61  RD_PTR *pdwRefDa
32730 74 61 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ta);..extern(Win
32740 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
32750 4c 20 52 65 6d 6f 76 65 57 69 6e 64 6f 77 53 75  L RemoveWindowSu
32760 62 63 6c 61 73 73 28 48 57 4e 44 20 68 57 6e 64  bclass(HWND hWnd
32770 2c 20 53 55 42 43 4c 41 53 53 50 52 4f 43 20 70  , SUBCLASSPROC p
32780 66 6e 53 75 62 63 6c 61 73 73 2c 0d 0a 20 20 55  fnSubclass,..  U
32790 49 4e 54 5f 50 54 52 20 75 49 64 53 75 62 63 6c  INT_PTR uIdSubcl
327a0 61 73 73 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  ass);....extern(
327b0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
327c0 4c 52 45 53 55 4c 54 20 44 65 66 53 75 62 63 6c  LRESULT DefSubcl
327d0 61 73 73 50 72 6f 63 28 48 57 4e 44 20 68 57 6e  assProc(HWND hWn
327e0 64 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 57 50  d, UINT uMsg, WP
327f0 41 52 41 4d 20 77 50 61 72 61 6d 2c 20 4c 50 41  ARAM wParam, LPA
32800 52 41 4d 20 6c 50 61 72 61 6d 29 3b 0d 0a 2f 2f  RAM lParam);..//
32810 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
32820 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
32830 3e 3d 20 30 78 35 30 31 29 0d 0a 0d 0a 65 78 74  >= 0x501)....ext
32840 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
32850 6f 72 74 20 69 6e 74 20 44 72 61 77 53 68 61 64  ort int DrawShad
32860 6f 77 54 65 78 74 28 48 44 43 20 68 64 63 2c 20  owText(HDC hdc, 
32870 4c 50 43 57 53 54 52 20 70 73 7a 54 65 78 74 2c  LPCWSTR pszText,
32880 20 55 49 4e 54 20 63 63 68 2c 20 52 45 43 54 2a   UINT cch, RECT*
32890 20 70 72 63 2c 20 44 57 4f 52 44 20 64 77 46 6c   prc, DWORD dwFl
328a0 61 67 73 2c 20 43 4f 4c 4f 52 52 45 46 20 63 72  ags, COLORREF cr
328b0 54 65 78 74 2c 20 43 4f 4c 4f 52 52 45 46 20 63  Text, COLORREF c
328c0 72 53 68 61 64 6f 77 2c 0d 0a 20 20 69 6e 74 20  rShadow,..  int 
328d0 69 78 4f 66 66 73 65 74 2c 20 69 6e 74 20 69 79  ixOffset, int iy
328e0 4f 66 66 73 65 74 29 3b 0d 0a 2f 2f 20 23 65 6e  Offset);..// #en
328f0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64  dif....// #if !d
32900 65 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45  efined(RC_INVOKE
32910 44 29 20 2f 2a 20 52 43 20 63 6f 6d 70 6c 61 69  D) /* RC complai
32920 6e 73 20 61 62 6f 75 74 20 6c 6f 6e 67 20 73 79  ns about long sy
32930 6d 62 6f 6c 73 20 69 6e 20 23 69 66 73 20 2a 2f  mbols in #ifs */
32940 0d 0a 2f 2f 20 23 69 66 20 49 53 4f 4c 41 54 49  ..// #if ISOLATI
32950 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 44  ON_AWARE_ENABLED
32960 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69  ....// #if !defi
32970 6e 65 64 28 49 53 4f 4c 41 54 49 4f 4e 5f 41 57  ned(ISOLATION_AW
32980 41 52 45 5f 49 4e 4c 49 4e 45 29 0d 0a 2f 2f 20  ARE_INLINE)..// 
32990 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 63 70  #if defined(__cp
329a0 6c 75 73 70 6c 75 73 29 0d 0a 2f 2f 20 23 2e 2e  lusplus)..// #..
329b0 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
329c0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
329d0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
329e0 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
329f0 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 5f  // #if defined(_
32a00 5f 49 53 74 72 65 61 6d 5f 49 4e 54 45 52 46 41  _IStream_INTERFA
32a10 43 45 5f 44 45 46 49 4e 45 44 5f 5f 29 0d 0a 2f  CE_DEFINED__)../
32a20 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 64 65  / .....// #if de
32a30 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d 5f  fined(__IStream_
32a40 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e 45  INTERFACE_DEFINE
32a50 44 5f 5f 29 20 26 26 20 20 28 5f 57 49 4e 33 32  D__) &&  (_WIN32
32a60 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
32a70 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  )..// .....// #e
32a80 6e 64 69 66 20 2f 2a 20 64 65 66 69 6e 65 64 28  ndif /* defined(
32a90 5f 5f 49 53 74 72 65 61 6d 5f 49 4e 54 45 52 46  __IStream_INTERF
32aa0 41 43 45 5f 44 45 46 49 4e 45 44 5f 5f 29 20 26  ACE_DEFINED__) &
32ab0 26 20 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  &  (_WIN32_WINNT
32ac0 20 3e 3d 20 30 78 30 35 30 31 29 20 2a 2f 0d 0a   >= 0x0501) */..
32ad0 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 64 65 66  // #endif /* def
32ae0 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d 5f 49  ined(__IStream_I
32af0 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e 45 44  NTERFACE_DEFINED
32b00 5f 5f 29 20 2a 2f 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  __) */..// .....
32b10 2f 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28  // #if !defined(
32b20 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e  NOTRACKMOUSEEVEN
32b30 54 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  T)..// .....// #
32b40 65 6e 64 69 66 20 2f 2a 20 21 64 65 66 69 6e 65  endif /* !define
32b50 64 28 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45 56  d(NOTRACKMOUSEEV
32b60 45 4e 54 29 20 2a 2f 0d 0a 2f 2f 20 2e 2e 2e 0d  ENT) */..// ....
32b70 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
32b80 49 45 20 3e 3d 20 30 78 35 36 30 29 0d 0a 2f 2f  IE >= 0x560)..//
32b90 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   .....// #endif 
32ba0 2f 2a 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  /* (_WIN32_IE >=
32bb0 20 30 78 35 36 30 29 20 2a 2f 0d 0a 2f 2f 20 2e   0x560) */..// .
32bc0 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66  ......// #if def
32bd0 69 6e 65 64 28 55 4e 49 43 4f 44 45 29 0d 0a 0d  ined(UNICODE)...
32be0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
32bf0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
32c00 20 23 65 6c 73 65 20 2f 2a 20 55 4e 49 43 4f 44   #else /* UNICOD
32c10 45 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d  E */....// #....
32c20 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
32c30 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
32c40 2a 20 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a  * UNICODE */....
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 2e 2e 2e 0d 0a   .......// .....
32d70 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65 64  ..// #if defined
32d80 28 5f 5f 49 53 74 72 65 61 6d 5f 49 4e 54 45 52  (__IStream_INTER
32d90 46 41 43 45 5f 44 45 46 49 4e 45 44 5f 5f 29 0d  FACE_DEFINED__).
32da0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
32db0 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65  .......// #if de
32dc0 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d 5f  fined(__IStream_
32dd0 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e 45  INTERFACE_DEFINE
32de0 44 5f 5f 29 20 26 26 20 20 28 5f 57 49 4e 33 32  D__) &&  (_WIN32
32df0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
32e00 29 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 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
32e30 23 65 6e 64 69 66 20 2f 2a 20 64 65 66 69 6e 65  #endif /* define
32e40 64 28 5f 5f 49 53 74 72 65 61 6d 5f 49 4e 54 45  d(__IStream_INTE
32e50 52 46 41 43 45 5f 44 45 46 49 4e 45 44 5f 5f 29  RFACE_DEFINED__)
32e60 20 26 26 20 20 28 5f 57 49 4e 33 32 5f 57 49 4e   &&  (_WIN32_WIN
32e70 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 20 2a 2f  NT >= 0x0501) */
32e80 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 64  ..// #endif /* d
32e90 65 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d  efined(__IStream
32ea0 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e  _INTERFACE_DEFIN
32eb0 45 44 5f 5f 29 20 2a 2f 0d 0a 0d 0a 2f 2f 20 2e  ED__) */....// .
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 2e 2e 2e  // .......// ...
32f80 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69  ....// #if !defi
32f90 6e 65 64 28 4e 4f 54 52 41 43 4b 4d 4f 55 53 45  ned(NOTRACKMOUSE
32fa0 45 56 45 4e 54 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  EVENT)....// ...
32fb0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
32fc0 20 21 64 65 66 69 6e 65 64 28 4e 4f 54 52 41 43   !defined(NOTRAC
32fd0 4b 4d 4f 55 53 45 45 56 45 4e 54 29 20 2a 2f 0d  KMOUSEEVENT) */.
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 0d 0a 2f  .....// ......./
33020 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 64 65  / .....// #if de
33030 66 69 6e 65 64 28 5f 57 49 4e 36 34 29 0d 0a 2f  fined(_WIN64)../
33040 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
33050 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
33060 69 66 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  if..// .......//
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 2e 2e 2e  // .......// ...
330b0 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
330c0 33 32 5f 49 45 20 3e 3d 20 30 78 35 36 30 29 0d  32_IE >= 0x560).
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 2e 2e 2e 0d 0a 0d  .......// ......
330f0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 28 5f  .// #endif /* (_
33100 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 36  WIN32_IE >= 0x56
33110 30 29 20 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  0) */....// ....
33120 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
33130 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  .......// #.....
33140 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
33150 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
33160 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
33170 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
33180 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
33190 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
331a0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
331b0 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  .....// #if defi
331c0 6e 65 64 28 46 6c 61 74 53 42 5f 47 65 74 53 63  ned(FlatSB_GetSc
331d0 72 6f 6c 6c 50 72 6f 70 50 74 72 29 0d 0a 2f 2f  rollPropPtr)..//
331e0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
331f0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
33200 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
33210 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
33220 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
33230 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
33240 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
33250 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
33260 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
33270 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
33280 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
33290 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
332a0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
332b0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
332c0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
332d0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
332e0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
332f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
33300 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
33310 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
33320 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
33330 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
33340 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
33350 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
33360 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
33370 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
33380 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
33390 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
333a0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
333b0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
333c0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
333d0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
333e0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
333f0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f  ...// #.......//
33400 20 23 65 6e 64 69 66 20 2f 2a 20 49 53 4f 4c 41   #endif /* ISOLA
33410 54 49 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c  TION_AWARE_ENABL
33420 45 44 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66  ED */..// #endif
33430 20 2f 2a 20 52 43 20 2a 2f 0d 0a 0d 0a 2f 2f 20   /* RC */....// 
33440 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c  #ifdef __cpluspl
33450 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f 20 23 65 6e  us..// }..// #en
33460 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
33470 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f  ....// #endif  /
33480 2f 20 5f 49 4e 43 5f 43 4f 4d 4d 43 54 52 4c 0d  / _INC_COMMCTRL.
33490 0a 0d 0a                                         ...