Hex Artifact Content

Not logged in

Artifact 62776dff0a2d0b7a7a10ce43d1589ca7c2990ced:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20  ********\..*    
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 63             commc
0070: 74 72 6c 2e 64 20 20 20 20 20 20 20 20 20 20 20  trl.d           
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20     *..*         
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20           *..*   
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20       Translated 
0190: 66 72 6f 6d 20 4d 69 6e 47 57 20 41 50 49 20 66  from MinGW API f
01a0: 6f 72 20 4d 53 2d 57 69 6e 64 6f 77 73 20 33 2e  or MS-Windows 3.
01b0: 31 32 20 20 20 20 20 20 20 20 20 20 20 20 20 2a  12             *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  ..*             
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f       Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20   public domain  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a       *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e  /..module win32.
02b0: 63 6f 6d 6d 63 74 72 6c 3b 0d 0a 70 72 61 67 6d  commctrl;..pragm
02c0: 61 28 6c 69 62 2c 20 22 63 6f 6d 63 74 6c 33 32  a(lib, "comctl32
02d0: 22 29 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 20 69  ");....private i
02e0: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 33 32 61  mport win32.w32a
02f0: 70 69 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66  pi, win32.windef
0300: 2c 20 77 69 6e 33 32 2e 77 69 6e 75 73 65 72 3b  , win32.winuser;
0310: 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74  ..private import
0320: 20 77 69 6e 33 32 2e 77 69 6e 62 61 73 65 3b 20   win32.winbase; 
0330: 2f 2f 20 66 6f 72 20 53 59 53 54 45 4d 54 49 4d  // for SYSTEMTIM
0340: 45 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72  E..private impor
0350: 74 20 77 69 6e 33 32 2e 6f 62 6a 66 77 64 3b 20  t win32.objfwd; 
0360: 20 2f 2f 20 66 6f 72 20 4c 50 53 54 52 45 41 4d   // for LPSTREAM
0370: 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32  ....import win32
0380: 2e 70 72 73 68 74 3b 0d 0a 0d 0a 63 6f 6e 73 74  .prsht;....const
0390: 20 43 4f 4d 43 54 4c 33 32 5f 56 45 52 53 49 4f   COMCTL32_VERSIO
03a0: 4e 20 3d 20 36 3b 0d 0a 0d 0a 63 6f 6e 73 74 20  N = 6;....const 
03b0: 54 43 48 41 52 5b 5d 0d 0a 09 44 52 41 47 4c 49  TCHAR[]...DRAGLI
03c0: 53 54 4d 53 47 53 54 52 49 4e 47 20 20 3d 20 22  STMSGSTRING  = "
03d0: 63 6f 6d 6d 63 74 72 6c 5f 44 72 61 67 4c 69 73  commctrl_DragLis
03e0: 74 4d 73 67 22 2c 0d 0a 09 48 4f 54 4b 45 59 5f  tMsg",...HOTKEY_
03f0: 43 4c 41 53 53 20 20 20 20 20 20 20 3d 20 22 6d  CLASS       = "m
0400: 73 63 74 6c 73 5f 68 6f 74 6b 65 79 33 32 22 2c  sctls_hotkey32",
0410: 0d 0a 09 50 52 4f 47 52 45 53 53 5f 43 4c 41 53  ...PROGRESS_CLAS
0420: 53 20 20 20 20 20 3d 20 22 6d 73 63 74 6c 73 5f  S     = "msctls_
0430: 70 72 6f 67 72 65 73 73 33 32 22 2c 0d 0a 09 53  progress32",...S
0440: 54 41 54 55 53 43 4c 41 53 53 4e 41 4d 45 20 20  TATUSCLASSNAME  
0450: 20 20 3d 20 22 6d 73 63 74 6c 73 5f 73 74 61 74    = "msctls_stat
0460: 75 73 62 61 72 33 32 22 2c 0d 0a 09 54 4f 4f 4c  usbar32",...TOOL
0470: 42 41 52 43 4c 41 53 53 4e 41 4d 45 20 20 20 3d  BARCLASSNAME   =
0480: 20 22 54 6f 6f 6c 62 61 72 57 69 6e 64 6f 77 33   "ToolbarWindow3
0490: 32 22 2c 0d 0a 09 54 4f 4f 4c 54 49 50 53 5f 43  2",...TOOLTIPS_C
04a0: 4c 41 53 53 20 20 20 20 20 3d 20 22 74 6f 6f 6c  LASS     = "tool
04b0: 74 69 70 73 5f 63 6c 61 73 73 33 32 22 2c 0d 0a  tips_class32",..
04c0: 09 54 52 41 43 4b 42 41 52 5f 43 4c 41 53 53 20  .TRACKBAR_CLASS 
04d0: 20 20 20 20 3d 20 22 6d 73 63 74 6c 73 5f 74 72      = "msctls_tr
04e0: 61 63 6b 62 61 72 33 32 22 2c 0d 0a 09 55 50 44  ackbar32",...UPD
04f0: 4f 57 4e 5f 43 4c 41 53 53 20 20 20 20 20 20 20  OWN_CLASS       
0500: 3d 20 22 6d 73 63 74 6c 73 5f 75 70 64 6f 77 6e  = "msctls_updown
0510: 33 32 22 2c 0d 0a 09 41 4e 49 4d 41 54 45 5f 43  32",...ANIMATE_C
0520: 4c 41 53 53 20 20 20 20 20 20 3d 20 22 53 79 73  LASS      = "Sys
0530: 41 6e 69 6d 61 74 65 33 32 22 2c 0d 0a 09 44 41  Animate32",...DA
0540: 54 45 54 49 4d 45 50 49 43 4b 5f 43 4c 41 53 53  TETIMEPICK_CLASS
0550: 20 3d 20 22 53 79 73 44 61 74 65 54 69 6d 65 50   = "SysDateTimeP
0560: 69 63 6b 33 32 22 2c 0d 0a 09 4d 4f 4e 54 48 43  ick32",...MONTHC
0570: 41 4c 5f 43 4c 41 53 53 20 20 20 20 20 3d 20 22  AL_CLASS     = "
0580: 53 79 73 4d 6f 6e 74 68 43 61 6c 33 32 22 2c 0d  SysMonthCal32",.
0590: 0a 09 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45  ..REBARCLASSNAME
05a0: 20 20 20 20 20 3d 20 22 52 65 42 61 72 57 69 6e       = "ReBarWin
05b0: 64 6f 77 33 32 22 2c 0d 0a 09 57 43 5f 43 4f 4d  dow32",...WC_COM
05c0: 42 4f 42 4f 58 45 58 20 20 20 20 20 20 3d 20 22  BOBOXEX      = "
05d0: 43 6f 6d 62 6f 42 6f 78 45 78 33 32 22 2c 0d 0a  ComboBoxEx32",..
05e0: 09 57 43 5f 49 50 41 44 44 52 45 53 53 20 20 20  .WC_IPADDRESS   
05f0: 20 20 20 20 3d 20 22 53 79 73 49 50 41 64 64 72      = "SysIPAddr
0600: 65 73 73 33 32 22 2c 0d 0a 09 57 43 5f 4c 49 53  ess32",...WC_LIS
0610: 54 56 49 45 57 20 20 20 20 20 20 20 20 3d 20 22  TVIEW        = "
0620: 53 79 73 4c 69 73 74 56 69 65 77 33 32 22 2c 0d  SysListView32",.
0630: 0a 09 57 43 5f 54 41 42 43 4f 4e 54 52 4f 4c 20  ..WC_TABCONTROL 
0640: 20 20 20 20 20 3d 20 22 53 79 73 54 61 62 43 6f       = "SysTabCo
0650: 6e 74 72 6f 6c 33 32 22 2c 0d 0a 09 57 43 5f 54  ntrol32",...WC_T
0660: 52 45 45 56 49 45 57 20 20 20 20 20 20 20 20 3d  REEVIEW        =
0670: 20 22 53 79 73 54 72 65 65 56 69 65 77 33 32 22   "SysTreeView32"
0680: 2c 0d 0a 09 57 43 5f 48 45 41 44 45 52 20 20 20  ,...WC_HEADER   
0690: 20 20 20 20 20 20 20 3d 20 22 53 79 73 48 65 61         = "SysHea
06a0: 64 65 72 33 32 22 2c 0d 0a 09 57 43 5f 50 41 47  der32",...WC_PAG
06b0: 45 53 43 52 4f 4c 4c 45 52 20 20 20 20 3d 20 22  ESCROLLER    = "
06c0: 53 79 73 50 61 67 65 72 22 2c 0d 0a 09 57 43 5f  SysPager",...WC_
06d0: 4e 41 54 49 56 45 46 4f 4e 54 43 54 4c 20 20 20  NATIVEFONTCTL   
06e0: 3d 20 22 4e 61 74 69 76 65 46 6f 6e 74 43 74 6c  = "NativeFontCtl
06f0: 22 2c 0d 0a 09 57 43 5f 42 55 54 54 4f 4e 20 20  ",...WC_BUTTON  
0700: 20 20 20 20 20 20 20 20 3d 20 22 42 75 74 74 6f          = "Butto
0710: 6e 22 2c 0d 0a 09 57 43 5f 53 54 41 54 49 43 20  n",...WC_STATIC 
0720: 20 20 20 20 20 20 20 20 20 3d 20 22 53 74 61 74           = "Stat
0730: 69 63 22 2c 0d 0a 09 57 43 5f 45 44 49 54 20 20  ic",...WC_EDIT  
0740: 20 20 20 20 20 20 20 20 20 20 3d 20 22 45 64 69            = "Edi
0750: 74 22 2c 0d 0a 09 57 43 5f 4c 49 53 54 42 4f 58  t",...WC_LISTBOX
0760: 20 20 20 20 20 20 20 20 20 3d 20 22 4c 69 73 74           = "List
0770: 42 6f 78 22 2c 0d 0a 09 57 43 5f 43 4f 4d 42 4f  Box",...WC_COMBO
0780: 42 4f 58 20 20 20 20 20 20 20 20 3d 20 22 43 6f  BOX        = "Co
0790: 6d 62 6f 42 6f 78 22 2c 0d 0a 09 57 43 5f 53 43  mboBox",...WC_SC
07a0: 52 4f 4c 4c 42 41 52 20 20 20 20 20 20 20 3d 20  ROLLBAR       = 
07b0: 22 53 63 72 6f 6c 6c 42 61 72 22 2c 0d 0a 09 57  "ScrollBar",...W
07c0: 43 5f 4c 49 4e 4b 41 20 20 20 20 20 20 20 20 20  C_LINKA         
07d0: 20 20 3d 20 22 53 79 73 4c 69 6e 6b 22 3b 0d 0a    = "SysLink";..
07e0: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4c 56 4d 5f 46  ..enum {...LVM_F
07f0: 49 52 53 54 20 3d 20 30 78 31 30 30 30 2c 0d 0a  IRST = 0x1000,..
0800: 09 54 56 5f 46 49 52 53 54 20 20 3d 20 30 78 31  .TV_FIRST  = 0x1
0810: 31 30 30 2c 0d 0a 09 48 44 4d 5f 46 49 52 53 54  100,...HDM_FIRST
0820: 20 3d 20 30 78 31 32 30 30 0d 0a 7d 0d 0a 0d 0a   = 0x1200..}....
0830: 65 6e 75 6d 20 7b 0d 0a 09 41 43 4d 5f 4f 50 45  enum {...ACM_OPE
0840: 4e 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  NA = WM_USER + 1
0850: 30 30 2c 0d 0a 09 41 43 4d 5f 50 4c 41 59 20 20  00,...ACM_PLAY  
0860: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 31 2c  = WM_USER + 101,
0870: 0d 0a 09 41 43 4d 5f 53 54 4f 50 20 20 3d 20 57  ...ACM_STOP  = W
0880: 4d 5f 55 53 45 52 20 2b 20 31 30 32 2c 0d 0a 09  M_USER + 102,...
0890: 41 43 4d 5f 4f 50 45 4e 57 20 3d 20 57 4d 5f 55  ACM_OPENW = WM_U
08a0: 53 45 52 20 2b 20 31 30 33 2c 0d 0a 20 20 20 20  SER + 103,..    
08b0: 41 43 4d 5f 49 53 50 4c 41 59 49 4e 47 20 3d 20  ACM_ISPLAYING = 
08c0: 57 4d 5f 55 53 45 52 20 2b 20 31 30 34 0d 0a 7d  WM_USER + 104..}
08d0: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 41 43 4e  ....enum {...ACN
08e0: 5f 53 54 41 52 54 20 3d 20 31 2c 0d 0a 09 41 43  _START = 1,...AC
08f0: 4e 5f 53 54 4f 50 0d 0a 7d 0d 0a 0d 0a 65 6e 75  N_STOP..}....enu
0900: 6d 20 7b 0d 0a 09 43 42 45 49 46 5f 54 45 58 54  m {...CBEIF_TEXT
0910: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
0920: 30 30 30 30 30 31 2c 0d 0a 09 43 42 45 49 46 5f  000001,...CBEIF_
0930: 49 4d 41 47 45 20 20 20 20 20 20 20 20 20 3d 20  IMAGE         = 
0940: 30 78 30 30 30 30 30 30 30 32 2c 0d 0a 09 43 42  0x00000002,...CB
0950: 45 49 46 5f 53 45 4c 45 43 54 45 44 49 4d 41 47  EIF_SELECTEDIMAG
0960: 45 20 3d 20 30 78 30 30 30 30 30 30 30 34 2c 0d  E = 0x00000004,.
0970: 0a 09 43 42 45 49 46 5f 4f 56 45 52 4c 41 59 20  ..CBEIF_OVERLAY 
0980: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30        = 0x000000
0990: 30 38 2c 0d 0a 09 43 42 45 49 46 5f 49 4e 44 45  08,...CBEIF_INDE
09a0: 4e 54 20 20 20 20 20 20 20 20 3d 20 30 78 30 30  NT        = 0x00
09b0: 30 30 30 30 31 30 2c 0d 0a 09 43 42 45 49 46 5f  000010,...CBEIF_
09c0: 4c 50 41 52 41 4d 20 20 20 20 20 20 20 20 3d 20  LPARAM        = 
09d0: 30 78 30 30 30 30 30 30 32 30 2c 0d 0a 09 43 42  0x00000020,...CB
09e0: 45 49 46 5f 44 49 5f 53 45 54 49 54 45 4d 20 20  EIF_DI_SETITEM  
09f0: 20 20 3d 20 30 78 31 30 30 30 30 30 30 30 0d 0a    = 0x10000000..
0a00: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 52 42  }....enum {...RB
0a10: 4e 5f 46 49 52 53 54 20 20 3d 20 2d 38 33 31 55  N_FIRST  = -831U
0a20: 2c 0d 0a 09 52 42 4e 5f 4c 41 53 54 20 20 20 3d  ,...RBN_LAST   =
0a30: 20 2d 38 35 39 55 2c 0d 0a 09 4d 43 4e 5f 46 49   -859U,...MCN_FI
0a40: 52 53 54 20 20 3d 20 2d 37 35 30 55 2c 0d 0a 09  RST  = -750U,...
0a50: 4d 43 4e 5f 4c 41 53 54 20 20 20 3d 20 2d 37 35  MCN_LAST   = -75
0a60: 39 55 2c 0d 0a 09 44 54 4e 5f 46 49 52 53 54 20  9U,...DTN_FIRST 
0a70: 20 3d 20 2d 37 36 30 55 2c 0d 0a 09 44 54 4e 5f   = -760U,...DTN_
0a80: 4c 41 53 54 20 20 20 3d 20 2d 37 39 39 55 2c 0d  LAST   = -799U,.
0a90: 0a 09 43 42 45 4e 5f 46 49 52 53 54 20 3d 20 2d  ..CBEN_FIRST = -
0aa0: 38 30 30 55 2c 0d 0a 09 43 42 45 4e 5f 4c 41 53  800U,...CBEN_LAS
0ab0: 54 20 20 3d 20 2d 38 33 30 55 0d 0a 7d 0d 0a 0d  T  = -830U..}...
0ac0: 0a 65 6e 75 6d 20 7b 0d 0a 09 43 42 45 4e 5f 49  .enum {...CBEN_I
0ad0: 4e 53 45 52 54 49 54 45 4d 20 3d 20 43 42 45 4e  NSERTITEM = CBEN
0ae0: 5f 46 49 52 53 54 20 2d 20 31 2c 0d 0a 09 43 42  _FIRST - 1,...CB
0af0: 45 4e 5f 44 45 4c 45 54 45 49 54 45 4d 20 3d 20  EN_DELETEITEM = 
0b00: 43 42 45 4e 5f 46 49 52 53 54 20 2d 20 32 2c 0d  CBEN_FIRST - 2,.
0b10: 0a 09 43 42 45 4e 5f 42 45 47 49 4e 45 44 49 54  ..CBEN_BEGINEDIT
0b20: 20 20 3d 20 43 42 45 4e 5f 46 49 52 53 54 20 2d    = CBEN_FIRST -
0b30: 20 34 2c 0d 0a 09 43 42 45 4e 5f 45 4e 44 45 44   4,...CBEN_ENDED
0b40: 49 54 41 20 20 20 3d 20 43 42 45 4e 5f 46 49 52  ITA   = CBEN_FIR
0b50: 53 54 20 2d 20 35 2c 0d 0a 09 43 42 45 4e 5f 45  ST - 5,...CBEN_E
0b60: 4e 44 45 44 49 54 57 20 20 20 3d 20 43 42 45 4e  NDEDITW   = CBEN
0b70: 5f 46 49 52 53 54 20 2d 20 36 0d 0a 7d 0d 0a 0d  _FIRST - 6..}...
0b80: 0a 65 6e 75 6d 20 7b 0d 0a 09 43 42 45 4e 46 5f  .enum {...CBENF_
0b90: 4b 49 4c 4c 46 4f 43 55 53 20 3d 20 31 2c 0d 0a  KILLFOCUS = 1,..
0ba0: 09 43 42 45 4e 46 5f 52 45 54 55 52 4e 2c 0d 0a  .CBENF_RETURN,..
0bb0: 09 43 42 45 4e 46 5f 45 53 43 41 50 45 2c 0d 0a  .CBENF_ESCAPE,..
0bc0: 09 43 42 45 4e 46 5f 44 52 4f 50 44 4f 57 4e 20  .CBENF_DROPDOWN 
0bd0: 2f 2f 20 3d 20 34 0d 0a 7d 0d 0a 0d 0a 63 6f 6e  // = 4..}....con
0be0: 73 74 20 43 42 45 4d 41 58 53 54 52 4c 45 4e 20  st CBEMAXSTRLEN 
0bf0: 3d 20 32 36 30 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b  = 260;....enum {
0c00: 0d 0a 09 44 4c 5f 42 45 47 49 4e 44 52 41 47 20  ...DL_BEGINDRAG 
0c10: 20 3d 20 31 31 35 37 2c 0d 0a 09 44 4c 5f 43 41   = 1157,...DL_CA
0c20: 4e 43 45 4c 44 52 41 47 20 3d 20 31 31 36 30 2c  NCELDRAG = 1160,
0c30: 0d 0a 09 44 4c 5f 44 52 41 47 47 49 4e 47 20 20  ...DL_DRAGGING  
0c40: 20 3d 20 31 31 35 38 2c 0d 0a 09 44 4c 5f 44 52   = 1158,...DL_DR
0c50: 4f 50 50 45 44 20 20 20 20 3d 20 31 31 35 39 2c  OPPED    = 1159,
0c60: 0d 0a 09 44 4c 5f 43 55 52 53 4f 52 53 45 54 20  ...DL_CURSORSET 
0c70: 20 3d 20 30 2c 0d 0a 09 44 4c 5f 53 54 4f 50 43   = 0,...DL_STOPC
0c80: 55 52 53 4f 52 20 3d 20 31 2c 0d 0a 09 44 4c 5f  URSOR = 1,...DL_
0c90: 43 4f 50 59 43 55 52 53 4f 52 20 3d 20 32 2c 0d  COPYCURSOR = 2,.
0ca0: 0a 09 44 4c 5f 4d 4f 56 45 43 55 52 53 4f 52 20  ..DL_MOVECURSOR 
0cb0: 3d 20 33 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b  = 3..}....enum {
0cc0: 0d 0a 09 43 43 53 5f 54 4f 50 20 20 20 20 20 20  ...CCS_TOP      
0cd0: 20 20 20 20 20 3d 20 31 2c 0d 0a 09 43 43 53 5f       = 1,...CCS_
0ce0: 4e 4f 4d 4f 56 45 59 20 20 20 20 20 20 20 3d 20  NOMOVEY       = 
0cf0: 32 2c 0d 0a 09 43 43 53 5f 42 4f 54 54 4f 4d 20  2,...CCS_BOTTOM 
0d00: 20 20 20 20 20 20 20 3d 20 33 2c 0d 0a 09 43 43         = 3,...CC
0d10: 53 5f 4e 4f 52 45 53 49 5a 45 20 20 20 20 20 20  S_NORESIZE      
0d20: 3d 20 34 2c 0d 0a 09 43 43 53 5f 4e 4f 50 41 52  = 4,...CCS_NOPAR
0d30: 45 4e 54 41 4c 49 47 4e 20 3d 20 38 2c 0d 0a 09  ENTALIGN = 8,...
0d40: 43 43 53 5f 41 44 4a 55 53 54 41 42 4c 45 20 20  CCS_ADJUSTABLE  
0d50: 20 20 3d 20 33 32 2c 0d 0a 09 43 43 53 5f 4e 4f    = 32,...CCS_NO
0d60: 44 49 56 49 44 45 52 20 20 20 20 20 3d 20 36 34  DIVIDER     = 64
0d70: 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66 20 28  ..}..static if (
0d80: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33  _WIN32_IE >= 0x3
0d90: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
0da0: 09 09 43 43 53 5f 56 45 52 54 20 20 20 20 3d 20  ..CCS_VERT    = 
0db0: 31 32 38 2c 0d 0a 09 09 43 43 53 5f 4c 45 46 54  128,....CCS_LEFT
0dc0: 20 20 20 20 3d 20 31 32 39 2c 0d 0a 09 09 43 43      = 129,....CC
0dd0: 53 5f 4e 4f 4d 4f 56 45 58 20 3d 20 31 33 30 2c  S_NOMOVEX = 130,
0de0: 0d 0a 09 09 43 43 53 5f 52 49 47 48 54 20 20 20  ....CCS_RIGHT   
0df0: 3d 20 31 33 31 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a  = 131...}..}....
0e00: 65 6e 75 6d 20 7b 0d 0a 09 41 43 53 5f 43 45 4e  enum {...ACS_CEN
0e10: 54 45 52 20 20 20 20 20 20 3d 20 30 78 30 30 30  TER      = 0x000
0e20: 31 2c 0d 0a 09 41 43 53 5f 54 52 41 4e 53 50 41  1,...ACS_TRANSPA
0e30: 52 45 4e 54 20 3d 20 30 78 30 30 30 32 2c 0d 0a  RENT = 0x0002,..
0e40: 09 41 43 53 5f 41 55 54 4f 50 4c 41 59 20 20 20  .ACS_AUTOPLAY   
0e50: 20 3d 20 30 78 30 30 30 34 2c 0d 0a 09 41 43 53   = 0x0004,...ACS
0e60: 5f 54 49 4d 45 52 20 20 20 20 20 20 20 3d 20 30  _TIMER       = 0
0e70: 78 30 30 30 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d  x0008..}....enum
0e80: 20 7b 0d 0a 09 50 47 53 5f 56 45 52 54 20 20 20   {...PGS_VERT   
0e90: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30      = 0x00000000
0ea0: 2c 0d 0a 09 50 47 53 5f 48 4f 52 5a 20 20 20 20  ,...PGS_HORZ    
0eb0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c     = 0x00000001,
0ec0: 0d 0a 09 50 47 53 5f 41 55 54 4f 53 43 52 4f 4c  ...PGS_AUTOSCROL
0ed0: 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c 0d  L = 0x00000002,.
0ee0: 0a 09 50 47 53 5f 44 52 41 47 4e 44 52 4f 50 20  ..PGS_DRAGNDROP 
0ef0: 20 3d 20 30 78 30 30 30 30 30 30 30 34 0d 0a 7d   = 0x00000004..}
0f00: 0d 0a 0d 0a 63 6f 6e 73 74 20 43 4d 42 5f 4d 41  ....const CMB_MA
0f10: 53 4b 45 44 20 3d 20 32 3b 0d 0a 0d 0a 63 6f 6e  SKED = 2;....con
0f20: 73 74 20 4d 49 4e 53 59 53 43 4f 4d 4d 41 4e 44  st MINSYSCOMMAND
0f30: 20 3d 20 53 43 5f 53 49 5a 45 3b 0d 0a 0d 0a 65   = SC_SIZE;....e
0f40: 6e 75 6d 20 7b 0d 0a 09 53 42 54 5f 4f 57 4e 45  num {...SBT_OWNE
0f50: 52 44 52 41 57 20 20 3d 20 30 78 31 30 30 30 2c  RDRAW  = 0x1000,
0f60: 0d 0a 09 53 42 54 5f 4e 4f 42 4f 52 44 45 52 53  ...SBT_NOBORDERS
0f70: 20 20 3d 20 32 35 36 2c 0d 0a 09 53 42 54 5f 50    = 256,...SBT_P
0f80: 4f 50 4f 55 54 20 20 20 20 20 3d 20 35 31 32 2c  OPOUT     = 512,
0f90: 0d 0a 09 53 42 54 5f 52 54 4c 52 45 41 44 49 4e  ...SBT_RTLREADIN
0fa0: 47 20 3d 20 31 30 32 34 0d 0a 7d 0d 0a 0d 0a 65  G = 1024..}....e
0fb0: 6e 75 6d 20 7b 0d 0a 09 53 42 5f 53 45 54 54 45  num {...SB_SETTE
0fc0: 58 54 41 20 20 20 20 20 20 20 3d 20 57 4d 5f 55  XTA       = WM_U
0fd0: 53 45 52 20 2b 20 31 2c 0d 0a 09 53 42 5f 53 45  SER + 1,...SB_SE
0fe0: 54 54 45 58 54 57 20 20 20 20 20 20 20 3d 20 57  TTEXTW       = W
0ff0: 4d 5f 55 53 45 52 20 2b 20 31 31 2c 0d 0a 09 53  M_USER + 11,...S
1000: 42 5f 47 45 54 54 45 58 54 41 20 20 20 20 20 20  B_GETTEXTA      
1010: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 2c 0d   = WM_USER + 2,.
1020: 0a 09 53 42 5f 47 45 54 54 45 58 54 57 20 20 20  ..SB_GETTEXTW   
1030: 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20      = WM_USER + 
1040: 31 33 2c 0d 0a 09 53 42 5f 47 45 54 54 45 58 54  13,...SB_GETTEXT
1050: 4c 45 4e 47 54 48 41 20 3d 20 57 4d 5f 55 53 45  LENGTHA = WM_USE
1060: 52 20 2b 20 33 2c 0d 0a 09 53 42 5f 47 45 54 54  R + 3,...SB_GETT
1070: 45 58 54 4c 45 4e 47 54 48 57 20 3d 20 57 4d 5f  EXTLENGTHW = WM_
1080: 55 53 45 52 20 2b 20 31 32 2c 0d 0a 09 53 42 5f  USER + 12,...SB_
1090: 53 45 54 50 41 52 54 53 20 20 20 20 20 20 20 3d  SETPARTS       =
10a0: 20 57 4d 5f 55 53 45 52 20 2b 20 34 2c 0d 0a 09   WM_USER + 4,...
10b0: 53 42 5f 47 45 54 50 41 52 54 53 20 20 20 20 20  SB_GETPARTS     
10c0: 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 2c    = WM_USER + 6,
10d0: 0d 0a 09 53 42 5f 47 45 54 42 4f 52 44 45 52 53  ...SB_GETBORDERS
10e0: 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b       = WM_USER +
10f0: 20 37 2c 0d 0a 09 53 42 5f 53 45 54 4d 49 4e 48   7,...SB_SETMINH
1100: 45 49 47 48 54 20 20 20 3d 20 57 4d 5f 55 53 45  EIGHT   = WM_USE
1110: 52 20 2b 20 38 2c 0d 0a 09 53 42 5f 53 49 4d 50  R + 8,...SB_SIMP
1120: 4c 45 20 20 20 20 20 20 20 20 20 3d 20 57 4d 5f  LE         = WM_
1130: 55 53 45 52 20 2b 20 39 2c 0d 0a 09 53 42 5f 47  USER + 9,...SB_G
1140: 45 54 52 45 43 54 20 20 20 20 20 20 20 20 3d 20  ETRECT        = 
1150: 57 4d 5f 55 53 45 52 20 2b 20 31 30 0d 0a 7d 0d  WM_USER + 10..}.
1160: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4d 53 47 46  ...enum {...MSGF
1170: 5f 43 4f 4d 4d 43 54 52 4c 5f 42 45 47 49 4e 44  _COMMCTRL_BEGIND
1180: 52 41 47 20 20 20 3d 20 30 78 34 32 30 30 2c 0d  RAG   = 0x4200,.
1190: 0a 09 4d 53 47 46 5f 43 4f 4d 4d 43 54 52 4c 5f  ..MSGF_COMMCTRL_
11a0: 53 49 5a 45 48 45 41 44 45 52 20 20 3d 20 30 78  SIZEHEADER  = 0x
11b0: 34 32 30 31 2c 0d 0a 09 4d 53 47 46 5f 43 4f 4d  4201,...MSGF_COM
11c0: 4d 43 54 52 4c 5f 44 52 41 47 53 45 4c 45 43 54  MCTRL_DRAGSELECT
11d0: 20 20 3d 20 30 78 34 32 30 32 2c 0d 0a 09 4d 53    = 0x4202,...MS
11e0: 47 46 5f 43 4f 4d 4d 43 54 52 4c 5f 54 4f 4f 4c  GF_COMMCTRL_TOOL
11f0: 42 41 52 43 55 53 54 20 3d 20 30 78 34 32 30 33  BARCUST = 0x4203
1200: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09  ..}....enum {...
1210: 49 4c 43 5f 43 4f 4c 4f 52 20 20 20 20 3d 20 30  ILC_COLOR    = 0
1220: 2c 0d 0a 09 49 4c 43 5f 43 4f 4c 4f 52 34 20 20  ,...ILC_COLOR4  
1230: 20 3d 20 34 2c 0d 0a 09 49 4c 43 5f 43 4f 4c 4f   = 4,...ILC_COLO
1240: 52 38 20 20 20 3d 20 38 2c 0d 0a 09 49 4c 43 5f  R8   = 8,...ILC_
1250: 43 4f 4c 4f 52 31 36 20 20 3d 20 31 36 2c 0d 0a  COLOR16  = 16,..
1260: 09 49 4c 43 5f 43 4f 4c 4f 52 32 34 20 20 3d 20  .ILC_COLOR24  = 
1270: 32 34 2c 0d 0a 09 49 4c 43 5f 43 4f 4c 4f 52 33  24,...ILC_COLOR3
1280: 32 20 20 3d 20 33 32 2c 0d 0a 09 49 4c 43 5f 43  2  = 32,...ILC_C
1290: 4f 4c 4f 52 44 44 42 20 3d 20 32 35 34 2c 0d 0a  OLORDDB = 254,..
12a0: 09 49 4c 43 5f 4d 41 53 4b 20 20 20 20 20 3d 20  .ILC_MASK     = 
12b0: 31 2c 0d 0a 09 49 4c 43 5f 50 41 4c 45 54 54 45  1,...ILC_PALETTE
12c0: 20 20 3d 20 32 30 34 38 0d 0a 7d 0d 0a 0d 0a 65    = 2048..}....e
12d0: 6e 75 6d 20 7b 0d 0a 09 49 4c 43 46 5f 4d 4f 56  num {...ILCF_MOV
12e0: 45 2c 0d 0a 09 49 4c 43 46 5f 53 57 41 50 0d 0a  E,...ILCF_SWAP..
12f0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 49 4c  }....enum {...IL
1300: 53 5f 4e 4f 52 4d 41 4c 20 20 20 20 20 20 20 20  S_NORMAL        
1310: 3d 20 30 2c 0d 0a 09 49 4c 53 5f 47 4c 4f 57 20  = 0,...ILS_GLOW 
1320: 20 20 20 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09           = 1,...
1330: 49 4c 53 5f 53 48 41 44 4f 57 20 20 20 20 20 20  ILS_SHADOW      
1340: 20 20 3d 20 32 2c 0d 0a 09 49 4c 53 5f 53 41 54    = 2,...ILS_SAT
1350: 55 52 41 54 45 20 20 20 20 20 20 3d 20 34 2c 0d  URATE      = 4,.
1360: 0a 09 49 4c 53 5f 41 4c 50 48 41 20 20 20 20 20  ..ILS_ALPHA     
1370: 20 20 20 20 3d 20 38 2c 0d 0a 09 49 4c 44 5f 42      = 8,...ILD_B
1380: 4c 45 4e 44 32 35 20 20 20 20 20 20 20 3d 20 32  LEND25       = 2
1390: 2c 0d 0a 09 49 4c 44 5f 42 4c 45 4e 44 35 30 20  ,...ILD_BLEND50 
13a0: 20 20 20 20 20 20 3d 20 34 2c 0d 0a 09 49 4c 44        = 4,...ILD
13b0: 5f 53 45 4c 45 43 54 45 44 20 20 20 20 20 20 3d  _SELECTED      =
13c0: 20 34 2c 0d 0a 09 49 4c 44 5f 42 4c 45 4e 44 20   4,...ILD_BLEND 
13d0: 20 20 20 20 20 20 20 20 3d 20 34 2c 0d 0a 09 49          = 4,...I
13e0: 4c 44 5f 46 4f 43 55 53 20 20 20 20 20 20 20 20  LD_FOCUS        
13f0: 20 3d 20 32 2c 0d 0a 09 49 4c 44 5f 4d 41 53 4b   = 2,...ILD_MASK
1400: 20 20 20 20 20 20 20 20 20 20 3d 20 31 36 2c 0d            = 16,.
1410: 0a 09 49 4c 44 5f 4e 4f 52 4d 41 4c 20 20 20 20  ..ILD_NORMAL    
1420: 20 20 20 20 3d 20 30 2c 0d 0a 09 49 4c 44 5f 54      = 0,...ILD_T
1430: 52 41 4e 53 50 41 52 45 4e 54 20 20 20 3d 20 31  RANSPARENT   = 1
1440: 2c 0d 0a 09 49 4c 44 5f 49 4d 41 47 45 20 20 20  ,...ILD_IMAGE   
1450: 20 20 20 20 20 20 3d 20 30 78 30 30 32 30 2c 0d        = 0x0020,.
1460: 0a 09 49 4c 44 5f 52 4f 50 20 20 20 20 20 20 20  ..ILD_ROP       
1470: 20 20 20 20 3d 20 30 78 30 30 34 30 2c 0d 0a 09      = 0x0040,...
1480: 49 4c 44 5f 4f 56 45 52 4c 41 59 4d 41 53 4b 20  ILD_OVERLAYMASK 
1490: 20 20 3d 20 30 78 30 46 30 30 2c 0d 0a 09 49 4c    = 0x0F00,...IL
14a0: 44 5f 50 52 45 53 45 52 56 45 41 4c 50 48 41 20  D_PRESERVEALPHA 
14b0: 3d 20 30 78 31 30 30 30 2c 0d 0a 09 49 4c 44 5f  = 0x1000,...ILD_
14c0: 53 43 41 4c 45 20 20 20 20 20 20 20 20 20 3d 20  SCALE         = 
14d0: 30 78 32 30 30 30 2c 0d 0a 09 49 4c 44 5f 44 50  0x2000,...ILD_DP
14e0: 49 53 43 41 4c 45 20 20 20 20 20 20 3d 20 30 78  ISCALE      = 0x
14f0: 34 30 30 30 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20  4000..}....enum 
1500: 7b 0d 0a 09 48 44 53 5f 48 4f 52 5a 20 20 20 20  {...HDS_HORZ    
1510: 3d 20 30 2c 0d 0a 09 48 44 53 5f 42 55 54 54 4f  = 0,...HDS_BUTTO
1520: 4e 53 20 3d 20 32 2c 0d 0a 09 48 44 53 5f 48 49  NS = 2,...HDS_HI
1530: 44 44 45 4e 20 20 3d 20 38 0d 0a 7d 0d 0a 73 74  DDEN  = 8..}..st
1540: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
1550: 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a  IE >= 0x400) {..
1560: 09 65 6e 75 6d 20 7b 0d 0a 09 09 48 44 53 5f 48  .enum {....HDS_H
1570: 4f 54 54 52 41 43 4b 20 3d 20 34 2c 0d 0a 09 09  OTTRACK = 4,....
1580: 48 44 53 5f 44 52 41 47 44 52 4f 50 20 3d 20 30  HDS_DRAGDROP = 0
1590: 78 30 30 34 30 2c 0d 0a 09 09 48 44 53 5f 46 55  x0040,....HDS_FU
15a0: 4c 4c 44 52 41 47 20 3d 20 30 78 30 30 38 30 0d  LLDRAG = 0x0080.
15b0: 0a 09 7d 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69  ..}..}..static i
15c0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
15d0: 30 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20  0x500) {...enum 
15e0: 7b 0d 0a 09 09 48 44 53 5f 46 49 4c 54 45 52 42  {....HDS_FILTERB
15f0: 41 52 20 3d 20 30 78 30 31 30 30 0d 0a 09 7d 0d  AR = 0x0100...}.
1600: 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4e  .}....enum {...N
1610: 4d 5f 46 49 52 53 54 20 20 3d 20 30 2c 0d 0a 09  M_FIRST  = 0,...
1620: 4e 4d 5f 4c 41 53 54 20 20 20 3d 20 2d 39 39 55  NM_LAST   = -99U
1630: 2c 0d 0a 09 4c 56 4e 5f 46 49 52 53 54 20 3d 20  ,...LVN_FIRST = 
1640: 2d 31 30 30 55 2c 0d 0a 09 4c 56 4e 5f 4c 41 53  -100U,...LVN_LAS
1650: 54 20 20 3d 20 2d 31 39 39 55 2c 0d 0a 09 48 44  T  = -199U,...HD
1660: 4e 5f 46 49 52 53 54 20 3d 20 2d 33 30 30 55 2c  N_FIRST = -300U,
1670: 0d 0a 09 48 44 4e 5f 4c 41 53 54 20 20 3d 20 2d  ...HDN_LAST  = -
1680: 33 39 39 55 2c 0d 0a 09 54 56 4e 5f 46 49 52 53  399U,...TVN_FIRS
1690: 54 20 3d 20 2d 34 30 30 55 2c 0d 0a 09 54 56 4e  T = -400U,...TVN
16a0: 5f 4c 41 53 54 20 20 3d 20 2d 34 39 39 55 2c 0d  _LAST  = -499U,.
16b0: 0a 09 54 54 4e 5f 46 49 52 53 54 20 3d 20 2d 35  ..TTN_FIRST = -5
16c0: 32 30 55 2c 0d 0a 09 54 54 4e 5f 4c 41 53 54 20  20U,...TTN_LAST 
16d0: 20 3d 20 2d 35 34 39 55 2c 0d 0a 09 54 43 4e 5f   = -549U,...TCN_
16e0: 46 49 52 53 54 20 3d 20 2d 35 35 30 55 2c 0d 0a  FIRST = -550U,..
16f0: 09 54 43 4e 5f 4c 41 53 54 20 20 3d 20 2d 35 38  .TCN_LAST  = -58
1700: 30 55 2c 0d 0a 09 43 44 4e 5f 46 49 52 53 54 20  0U,...CDN_FIRST 
1710: 3d 20 2d 36 30 31 55 2c 20 2f 2a 20 61 6c 73 6f  = -601U, /* also
1720: 20 69 6e 20 63 6f 6d 6d 64 6c 67 2e 68 20 2a 2f   in commdlg.h */
1730: 0d 0a 09 43 44 4e 5f 4c 41 53 54 20 20 3d 20 2d  ...CDN_LAST  = -
1740: 36 39 39 55 2c 0d 0a 09 54 42 4e 5f 46 49 52 53  699U,...TBN_FIRS
1750: 54 20 3d 20 2d 37 30 30 55 2c 0d 0a 09 54 42 4e  T = -700U,...TBN
1760: 5f 4c 41 53 54 20 20 3d 20 2d 37 32 30 55 2c 0d  _LAST  = -720U,.
1770: 0a 09 55 44 4e 5f 46 49 52 53 54 20 3d 20 2d 37  ..UDN_FIRST = -7
1780: 32 31 55 2c 0d 0a 09 55 44 4e 5f 4c 41 53 54 20  21U,...UDN_LAST 
1790: 20 3d 20 2d 37 34 30 55 0d 0a 7d 0d 0a 2f 2a 73   = -740U..}../*s
17a0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
17b0: 5f 49 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d  _IE >= 0x300) {.
17c0: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 52 42 4e 5f  ..enum {....RBN_
17d0: 46 49 52 53 54 20 20 3d 20 2d 38 33 31 55 2c 0d  FIRST  = -831U,.
17e0: 0a 09 09 52 42 4e 5f 4c 41 53 54 20 20 20 3d 20  ...RBN_LAST   = 
17f0: 2d 38 35 39 55 2c 0d 0a 09 09 4d 43 4e 5f 46 49  -859U,....MCN_FI
1800: 52 53 54 20 20 3d 20 2d 37 35 30 55 2c 0d 0a 09  RST  = -750U,...
1810: 09 4d 43 4e 5f 4c 41 53 54 20 20 20 3d 20 2d 37  .MCN_LAST   = -7
1820: 35 39 55 2c 0d 0a 09 09 44 54 4e 5f 46 49 52 53  59U,....DTN_FIRS
1830: 54 20 20 3d 20 2d 37 36 30 55 2c 0d 0a 09 09 44  T  = -760U,....D
1840: 54 4e 5f 4c 41 53 54 20 20 20 3d 20 2d 37 39 39  TN_LAST   = -799
1850: 55 2c 0d 0a 09 09 43 42 45 4e 5f 46 49 52 53 54  U,....CBEN_FIRST
1860: 20 3d 20 2d 38 30 30 55 2c 0d 0a 09 09 43 42 45   = -800U,....CBE
1870: 4e 5f 4c 41 53 54 20 20 3d 20 2d 38 33 30 55 0d  N_LAST  = -830U.
1880: 0a 09 7d 0d 0a 7d 2a 2f 0d 0a 73 74 61 74 69 63  ..}..}*/..static
1890: 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
18a0: 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75  = 0x400) {...enu
18b0: 6d 20 7b 0d 0a 09 09 49 50 4e 5f 46 49 52 53 54  m {....IPN_FIRST
18c0: 20 20 20 20 20 20 20 20 3d 20 2d 38 36 30 55 2c          = -860U,
18d0: 0d 0a 09 09 49 50 4e 5f 4c 41 53 54 20 20 20 20  ....IPN_LAST    
18e0: 20 20 20 20 20 3d 20 2d 38 37 39 55 2c 0d 0a 09       = -879U,...
18f0: 09 49 50 4e 5f 46 49 45 4c 44 43 48 41 4e 47 45  .IPN_FIELDCHANGE
1900: 44 20 3d 20 49 50 4e 5f 46 49 52 53 54 2c 0d 0a  D = IPN_FIRST,..
1910: 09 09 53 42 4e 5f 46 49 52 53 54 20 20 20 20 20  ..SBN_FIRST     
1920: 20 20 20 3d 20 2d 38 38 30 55 2c 0d 0a 09 09 53     = -880U,....S
1930: 42 4e 5f 4c 41 53 54 20 20 20 20 20 20 20 20 20  BN_LAST         
1940: 3d 20 2d 38 39 39 55 2c 0d 0a 09 09 50 47 4e 5f  = -899U,....PGN_
1950: 46 49 52 53 54 20 20 20 20 20 20 20 20 3d 20 2d  FIRST        = -
1960: 39 30 30 55 2c 0d 0a 09 09 50 47 4e 5f 4c 41 53  900U,....PGN_LAS
1970: 54 20 20 20 20 20 20 20 20 20 3d 20 2d 39 35 30  T         = -950
1980: 55 2c 0d 0a 09 09 50 47 4e 5f 53 43 52 4f 4c 4c  U,....PGN_SCROLL
1990: 20 20 20 20 20 20 20 3d 20 50 47 4e 5f 46 49 52         = PGN_FIR
19a0: 53 54 2d 31 2c 0d 0a 09 09 50 47 4e 5f 43 41 4c  ST-1,....PGN_CAL
19b0: 43 53 49 5a 45 20 20 20 20 20 3d 20 50 47 4e 5f  CSIZE     = PGN_
19c0: 46 49 52 53 54 2d 32 0d 0a 09 7d 0d 0a 7d 0d 0a  FIRST-2...}..}..
19d0: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
19e0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 29  N32_IE >= 0x500)
19f0: 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 57   {...enum {....W
1a00: 4d 4e 5f 46 49 52 53 54 20 3d 20 2d 31 30 30 30  MN_FIRST = -1000
1a10: 55 2c 0d 0a 09 09 57 4d 4e 5f 4c 41 53 54 20 3d  U,....WMN_LAST =
1a20: 20 2d 31 32 30 30 55 2c 0d 0a 20 20 20 20 7d 0d   -1200U,..    }.
1a30: 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  .}....static if 
1a40: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
1a50: 20 30 78 35 30 31 29 0d 0a 7b 0d 0a 20 20 20 20   0x501)..{..    
1a60: 65 6e 75 6d 20 7b 0d 0a 20 20 20 20 20 20 20 20  enum {..        
1a70: 42 43 4e 5f 46 49 52 53 54 20 3d 20 2d 31 32 35  BCN_FIRST = -125
1a80: 30 55 2c 0d 0a 20 20 20 20 20 20 20 20 42 43 4e  0U,..        BCN
1a90: 5f 4c 41 53 54 20 3d 20 2d 31 33 35 30 55 2c 0d  _LAST = -1350U,.
1aa0: 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61  .    }..}....sta
1ab0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
1ac0: 49 4e 4e 54 20 3e 3d 20 30 78 36 30 30 29 0d 0a  INNT >= 0x600)..
1ad0: 7b 0d 0a 20 20 20 20 65 6e 75 6d 20 7b 0d 0a 20  {..    enum {.. 
1ae0: 20 20 20 20 20 20 20 54 52 42 4e 5f 46 49 52 53         TRBN_FIRS
1af0: 54 20 3d 20 2d 31 35 30 31 55 2c 0d 0a 20 20 20  T = -1501U,..   
1b00: 20 20 20 20 20 54 52 42 4e 5f 4c 41 53 54 20 3d       TRBN_LAST =
1b10: 20 2d 31 35 31 39 55 2c 0d 0a 20 20 20 20 7d 0d   -1519U,..    }.
1b20: 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 48  .}....enum {...H
1b30: 44 49 5f 57 49 44 54 48 20 20 3d 20 31 2c 0d 0a  DI_WIDTH  = 1,..
1b40: 09 48 44 49 5f 48 45 49 47 48 54 20 3d 20 31 2c  .HDI_HEIGHT = 1,
1b50: 0d 0a 09 48 44 49 5f 54 45 58 54 20 20 20 3d 20  ...HDI_TEXT   = 
1b60: 32 2c 0d 0a 09 48 44 49 5f 46 4f 52 4d 41 54 20  2,...HDI_FORMAT 
1b70: 3d 20 34 2c 0d 0a 09 48 44 49 5f 4c 50 41 52 41  = 4,...HDI_LPARA
1b80: 4d 20 3d 20 38 2c 0d 0a 09 48 44 49 5f 42 49 54  M = 8,...HDI_BIT
1b90: 4d 41 50 20 3d 20 31 36 0d 0a 7d 0d 0a 73 74 61  MAP = 16..}..sta
1ba0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
1bb0: 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09  E >= 0x300) {...
1bc0: 65 6e 75 6d 20 7b 0d 0a 09 09 48 44 49 5f 49 4d  enum {....HDI_IM
1bd0: 41 47 45 20 20 20 20 20 20 3d 20 33 32 2c 0d 0a  AGE      = 32,..
1be0: 09 09 48 44 49 5f 44 49 5f 53 45 54 49 54 45 4d  ..HDI_DI_SETITEM
1bf0: 20 3d 20 36 34 2c 0d 0a 09 09 48 44 49 5f 4f 52   = 64,....HDI_OR
1c00: 44 45 52 20 20 20 20 20 20 3d 20 31 32 38 0d 0a  DER      = 128..
1c10: 09 7d 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66  .}..}..static if
1c20: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
1c30: 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x500) {...enum {
1c40: 0d 0a 09 09 48 44 49 5f 46 49 4c 54 45 52 20 3d  ....HDI_FILTER =
1c50: 20 32 35 36 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65   256...}..}....e
1c60: 6e 75 6d 20 7b 0d 0a 09 43 42 45 53 5f 45 58 5f  num {...CBES_EX_
1c70: 4e 4f 45 44 49 54 49 4d 41 47 45 20 20 20 20 20  NOEDITIMAGE     
1c80: 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0d    = 0x00000001,.
1c90: 0a 09 43 42 45 53 5f 45 58 5f 4e 4f 45 44 49 54  ..CBES_EX_NOEDIT
1ca0: 49 4d 41 47 45 49 4e 44 45 4e 54 20 3d 20 30 78  IMAGEINDENT = 0x
1cb0: 30 30 30 30 30 30 30 32 2c 0d 0a 09 43 42 45 53  00000002,...CBES
1cc0: 5f 45 58 5f 50 41 54 48 57 4f 52 44 42 52 45 41  _EX_PATHWORDBREA
1cd0: 4b 50 52 4f 43 20 3d 20 30 78 30 30 30 30 30 30  KPROC = 0x000000
1ce0: 30 34 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66  04..}..static if
1cf0: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
1d00: 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x400) {...enum {
1d10: 0d 0a 09 09 43 42 45 53 5f 45 58 5f 4e 4f 53 49  ....CBES_EX_NOSI
1d20: 5a 45 4c 49 4d 49 54 20 20 20 3d 20 30 78 30 30  ZELIMIT   = 0x00
1d30: 30 30 30 30 30 38 2c 0d 0a 09 09 43 42 45 53 5f  000008,....CBES_
1d40: 45 58 5f 43 41 53 45 53 45 4e 53 49 54 49 56 45  EX_CASESENSITIVE
1d50: 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0d 0a   = 0x00000010,..
1d60: 09 09 43 42 45 4e 5f 47 45 54 44 49 53 50 49 4e  ..CBEN_GETDISPIN
1d70: 46 4f 41 20 20 20 20 20 3d 20 43 42 45 4e 5f 46  FOA     = CBEN_F
1d80: 49 52 53 54 20 2d 20 30 2c 0d 0a 09 09 43 42 45  IRST - 0,....CBE
1d90: 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57 20 20  N_GETDISPINFOW  
1da0: 20 20 20 3d 20 43 42 45 4e 5f 46 49 52 53 54 20     = CBEN_FIRST 
1db0: 2d 20 37 2c 0d 0a 09 09 43 42 45 4e 5f 44 52 41  - 7,....CBEN_DRA
1dc0: 47 42 45 47 49 4e 41 20 20 20 20 20 20 20 3d 20  GBEGINA       = 
1dd0: 43 42 45 4e 5f 46 49 52 53 54 20 2d 20 38 2c 0d  CBEN_FIRST - 8,.
1de0: 0a 09 09 43 42 45 4e 5f 44 52 41 47 42 45 47 49  ...CBEN_DRAGBEGI
1df0: 4e 57 20 20 20 20 20 20 20 3d 20 43 42 45 4e 5f  NW       = CBEN_
1e00: 46 49 52 53 54 20 2d 20 39 0d 0a 09 7d 0d 0a 7d  FIRST - 9...}..}
1e10: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 48 44 46  ....enum {...HDF
1e20: 5f 4c 45 46 54 2c 0d 0a 09 48 44 46 5f 52 49 47  _LEFT,...HDF_RIG
1e30: 48 54 2c 0d 0a 09 48 44 46 5f 43 45 4e 54 45 52  HT,...HDF_CENTER
1e40: 2c 0d 0a 09 48 44 46 5f 4a 55 53 54 49 46 59 4d  ,...HDF_JUSTIFYM
1e50: 41 53 4b 2c 0d 0a 09 48 44 46 5f 52 54 4c 52 45  ASK,...HDF_RTLRE
1e60: 41 44 49 4e 47 2c 20 2f 2f 20 3d 20 34 0d 0a 09  ADING, // = 4...
1e70: 48 44 46 5f 4f 57 4e 45 52 44 52 41 57 20 3d 20  HDF_OWNERDRAW = 
1e80: 30 78 38 30 30 30 2c 0d 0a 09 48 44 46 5f 53 54  0x8000,...HDF_ST
1e90: 52 49 4e 47 20 20 20 20 3d 20 30 78 34 30 30 30  RING    = 0x4000
1ea0: 2c 0d 0a 09 48 44 46 5f 42 49 54 4d 41 50 20 20  ,...HDF_BITMAP  
1eb0: 20 20 3d 20 30 78 32 30 30 30 0d 0a 7d 0d 0a 73    = 0x2000..}..s
1ec0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
1ed0: 5f 49 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d  _IE >= 0x300) {.
1ee0: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 48 44 46 5f  ..enum {....HDF_
1ef0: 42 49 54 4d 41 50 5f 4f 4e 5f 52 49 47 48 54 20  BITMAP_ON_RIGHT 
1f00: 3d 20 30 78 31 30 30 30 2c 0d 0a 09 09 48 44 46  = 0x1000,....HDF
1f10: 5f 49 4d 41 47 45 20 20 20 20 20 20 20 20 20 20  _IMAGE          
1f20: 20 3d 20 30 78 30 38 30 30 0d 0a 09 7d 0d 0a 7d   = 0x0800...}..}
1f30: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 43 43 4d  ....enum {...CCM
1f40: 5f 46 49 52 53 54 20 20 20 20 20 20 20 20 20 20  _FIRST          
1f50: 20 20 3d 20 30 78 32 30 30 30 2c 0d 0a 09 43 43    = 0x2000,...CC
1f60: 4d 5f 4c 41 53 54 20 20 20 20 20 20 20 20 20 20  M_LAST          
1f70: 20 20 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b     = CCM_FIRST +
1f80: 20 30 78 32 30 30 2c 0d 0a 09 43 43 4d 5f 53 45   0x200,...CCM_SE
1f90: 54 42 4b 43 4f 4c 4f 52 20 20 20 20 20 20 20 3d  TBKCOLOR       =
1fa0: 20 38 31 39 33 2c 0d 0a 09 43 43 4d 5f 53 45 54   8193,...CCM_SET
1fb0: 43 4f 4c 4f 52 53 43 48 45 4d 45 20 20 20 3d 20  COLORSCHEME   = 
1fc0: 38 31 39 34 2c 0d 0a 09 43 43 4d 5f 47 45 54 43  8194,...CCM_GETC
1fd0: 4f 4c 4f 52 53 43 48 45 4d 45 20 20 20 3d 20 38  OLORSCHEME   = 8
1fe0: 31 39 35 2c 0d 0a 09 43 43 4d 5f 47 45 54 44 52  195,...CCM_GETDR
1ff0: 4f 50 54 41 52 47 45 54 20 20 20 20 3d 20 38 31  OPTARGET    = 81
2000: 39 36 2c 0d 0a 09 43 43 4d 5f 53 45 54 55 4e 49  96,...CCM_SETUNI
2010: 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20 38 31 39  CODEFORMAT = 819
2020: 37 2c 0d 0a 09 43 43 4d 5f 47 45 54 55 4e 49 43  7,...CCM_GETUNIC
2030: 4f 44 45 46 4f 52 4d 41 54 20 3d 20 38 31 39 38  ODEFORMAT = 8198
2040: 2c 0d 0a 09 43 43 4d 5f 53 45 54 56 45 52 53 49  ,...CCM_SETVERSI
2050: 4f 4e 20 20 20 20 20 20 20 3d 20 30 78 32 30 30  ON       = 0x200
2060: 37 2c 0d 0a 09 43 43 4d 5f 47 45 54 56 45 52 53  7,...CCM_GETVERS
2070: 49 4f 4e 20 20 20 20 20 20 20 3d 20 30 78 32 30  ION       = 0x20
2080: 30 38 2c 0d 0a 09 43 43 4d 5f 53 45 54 4e 4f 54  08,...CCM_SETNOT
2090: 49 46 59 57 49 4e 44 4f 57 20 20 3d 20 30 78 32  IFYWINDOW  = 0x2
20a0: 30 30 39 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b  009..}....enum {
20b0: 0d 0a 09 48 44 4d 5f 47 45 54 49 54 45 4d 43 4f  ...HDM_GETITEMCO
20c0: 55 4e 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 2c  UNT = HDM_FIRST,
20d0: 0d 0a 09 48 44 4d 5f 49 4e 53 45 52 54 49 54 45  ...HDM_INSERTITE
20e0: 4d 41 20 20 3d 20 48 44 4d 5f 46 49 52 53 54 20  MA  = HDM_FIRST 
20f0: 2b 20 31 2c 0d 0a 09 48 44 4d 5f 49 4e 53 45 52  + 1,...HDM_INSER
2100: 54 49 54 45 4d 57 20 20 3d 20 48 44 4d 5f 46 49  TITEMW  = HDM_FI
2110: 52 53 54 20 2b 20 31 30 2c 0d 0a 09 48 44 4d 5f  RST + 10,...HDM_
2120: 44 45 4c 45 54 45 49 54 45 4d 20 20 20 3d 20 48  DELETEITEM   = H
2130: 44 4d 5f 46 49 52 53 54 20 2b 20 32 2c 0d 0a 09  DM_FIRST + 2,...
2140: 48 44 4d 5f 47 45 54 49 54 45 4d 41 20 20 20 20  HDM_GETITEMA    
2150: 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 33   = HDM_FIRST + 3
2160: 2c 0d 0a 09 48 44 4d 5f 47 45 54 49 54 45 4d 57  ,...HDM_GETITEMW
2170: 20 20 20 20 20 3d 20 48 44 4d 5f 46 49 52 53 54       = HDM_FIRST
2180: 20 2b 20 31 31 2c 0d 0a 09 48 44 4d 5f 53 45 54   + 11,...HDM_SET
2190: 49 54 45 4d 41 20 20 20 20 20 3d 20 48 44 4d 5f  ITEMA     = HDM_
21a0: 46 49 52 53 54 20 2b 20 34 2c 0d 0a 09 48 44 4d  FIRST + 4,...HDM
21b0: 5f 53 45 54 49 54 45 4d 57 20 20 20 20 20 3d 20  _SETITEMW     = 
21c0: 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 32 2c 0d  HDM_FIRST + 12,.
21d0: 0a 09 48 44 4d 5f 4c 41 59 4f 55 54 20 20 20 20  ..HDM_LAYOUT    
21e0: 20 20 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b     = HDM_FIRST +
21f0: 20 35 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66   5..}..static if
2200: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
2210: 78 33 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x300) {...enum {
2220: 0d 0a 09 09 48 44 4d 5f 47 45 54 49 54 45 4d 52  ....HDM_GETITEMR
2230: 45 43 54 20 20 20 20 20 3d 20 48 44 4d 5f 46 49  ECT     = HDM_FI
2240: 52 53 54 20 2b 20 37 2c 0d 0a 09 09 48 44 4d 5f  RST + 7,....HDM_
2250: 53 45 54 49 4d 41 47 45 4c 49 53 54 20 20 20 20  SETIMAGELIST    
2260: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 38 2c  = HDM_FIRST + 8,
2270: 0d 0a 09 09 48 44 4d 5f 47 45 54 49 4d 41 47 45  ....HDM_GETIMAGE
2280: 4c 49 53 54 20 20 20 20 3d 20 48 44 4d 5f 46 49  LIST    = HDM_FI
2290: 52 53 54 20 2b 20 39 2c 0d 0a 09 09 48 44 4d 5f  RST + 9,....HDM_
22a0: 4f 52 44 45 52 54 4f 49 4e 44 45 58 20 20 20 20  ORDERTOINDEX    
22b0: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 35  = HDM_FIRST + 15
22c0: 2c 0d 0a 09 09 48 44 4d 5f 43 52 45 41 54 45 44  ,....HDM_CREATED
22d0: 52 41 47 49 4d 41 47 45 20 3d 20 48 44 4d 5f 46  RAGIMAGE = HDM_F
22e0: 49 52 53 54 20 2b 20 31 36 2c 0d 0a 09 09 48 44  IRST + 16,....HD
22f0: 4d 5f 47 45 54 4f 52 44 45 52 41 52 52 41 59 20  M_GETORDERARRAY 
2300: 20 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20    = HDM_FIRST + 
2310: 31 37 2c 0d 0a 09 09 48 44 4d 5f 53 45 54 4f 52  17,....HDM_SETOR
2320: 44 45 52 41 52 52 41 59 20 20 20 3d 20 48 44 4d  DERARRAY   = HDM
2330: 5f 46 49 52 53 54 20 2b 20 31 38 2c 0d 0a 09 09  _FIRST + 18,....
2340: 48 44 4d 5f 53 45 54 48 4f 54 44 49 56 49 44 45  HDM_SETHOTDIVIDE
2350: 52 20 20 20 3d 20 48 44 4d 5f 46 49 52 53 54 20  R   = HDM_FIRST 
2360: 2b 20 31 39 0d 0a 09 7d 0d 0a 7d 0d 0a 73 74 61  + 19...}..}..sta
2370: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
2380: 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09  E >= 0x400) {...
2390: 65 6e 75 6d 20 7b 0d 0a 09 09 48 44 4d 5f 47 45  enum {....HDM_GE
23a0: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d  TUNICODEFORMAT =
23b0: 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46   CCM_GETUNICODEF
23c0: 4f 52 4d 41 54 2c 0d 0a 09 09 48 44 4d 5f 53 45  ORMAT,....HDM_SE
23d0: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d  TUNICODEFORMAT =
23e0: 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46   CCM_SETUNICODEF
23f0: 4f 52 4d 41 54 0d 0a 09 7d 0d 0a 7d 0d 0a 73 74  ORMAT...}..}..st
2400: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
2410: 49 45 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a  IE >= 0x500) {..
2420: 09 65 6e 75 6d 20 7b 0d 0a 09 09 48 44 4d 5f 53  .enum {....HDM_S
2430: 45 54 42 49 54 4d 41 50 4d 41 52 47 49 4e 20 3d  ETBITMAPMARGIN =
2440: 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 32 30 2c   HDM_FIRST + 20,
2450: 0d 0a 09 09 48 44 4d 5f 47 45 54 42 49 54 4d 41  ....HDM_GETBITMA
2460: 50 4d 41 52 47 49 4e 20 3d 20 48 44 4d 5f 46 49  PMARGIN = HDM_FI
2470: 52 53 54 20 2b 20 32 31 2c 0d 0a 20 20 20 20 20  RST + 21,..     
2480: 20 20 20 48 44 4d 5f 53 45 54 46 49 4c 54 45 52     HDM_SETFILTER
2490: 43 48 41 4e 47 45 54 49 4d 45 4f 55 54 20 3d 20  CHANGETIMEOUT = 
24a0: 48 44 4d 5f 46 49 52 53 54 20 2b 20 32 32 2c 0d  HDM_FIRST + 22,.
24b0: 0a 20 20 20 20 20 20 20 20 48 44 4d 5f 45 44 49  .        HDM_EDI
24c0: 54 46 49 4c 54 45 52 20 3d 20 48 44 4d 5f 46 49  TFILTER = HDM_FI
24d0: 52 53 54 20 2b 20 32 33 2c 0d 0a 20 20 20 20 20  RST + 23,..     
24e0: 20 20 20 48 44 4d 5f 43 4c 45 41 52 46 49 4c 54     HDM_CLEARFILT
24f0: 45 52 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b  ER = HDM_FIRST +
2500: 20 32 34 2c 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a   24,..    }..}..
2510: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
2520: 32 5f 49 45 20 3e 3d 20 30 78 36 30 30 29 20 7b  2_IE >= 0x600) {
2530: 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 20 20 20 20 20  ...enum {..     
2540: 20 20 20 48 44 4d 5f 47 45 54 49 54 45 4d 44 52     HDM_GETITEMDR
2550: 4f 50 44 4f 57 4e 52 45 43 54 20 3d 20 48 44 4d  OPDOWNRECT = HDM
2560: 5f 46 49 52 53 54 20 2b 20 32 35 2c 0d 0a 20 20  _FIRST + 25,..  
2570: 20 20 20 20 20 20 48 44 4d 5f 47 45 54 4f 56 45        HDM_GETOVE
2580: 52 46 4c 4f 57 52 45 43 54 20 3d 20 48 44 4d 5f  RFLOWRECT = HDM_
2590: 46 49 52 53 54 20 2b 20 32 36 2c 0d 0a 20 20 20  FIRST + 26,..   
25a0: 20 20 20 20 20 48 44 4d 5f 47 45 54 46 4f 43 55       HDM_GETFOCU
25b0: 53 45 44 49 54 45 4d 20 3d 20 48 44 4d 5f 46 49  SEDITEM = HDM_FI
25c0: 52 53 54 20 2b 20 32 37 2c 0d 0a 20 20 20 20 20  RST + 27,..     
25d0: 20 20 20 48 44 4d 5f 53 45 54 46 4f 43 55 53 45     HDM_SETFOCUSE
25e0: 44 49 54 45 4d 20 3d 20 48 44 4d 5f 46 49 52 53  DITEM = HDM_FIRS
25f0: 54 20 2b 20 32 38 2c 0d 0a 09 7d 0d 0a 7d 0d 0a  T + 28,...}..}..
2600: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 48 48 54 5f 4e  ..enum {...HHT_N
2610: 4f 57 48 45 52 45 20 20 20 3d 20 31 2c 0d 0a 09  OWHERE   = 1,...
2620: 48 48 54 5f 4f 4e 48 45 41 44 45 52 20 20 3d 20  HHT_ONHEADER  = 
2630: 32 2c 0d 0a 09 48 48 54 5f 4f 4e 44 49 56 49 44  2,...HHT_ONDIVID
2640: 45 52 20 3d 20 34 2c 0d 0a 09 48 48 54 5f 4f 4e  ER = 4,...HHT_ON
2650: 44 49 56 4f 50 45 4e 20 3d 20 38 2c 0d 0a 09 48  DIVOPEN = 8,...H
2660: 48 54 5f 41 42 4f 56 45 20 20 20 20 20 3d 20 32  HT_ABOVE     = 2
2670: 35 36 2c 0d 0a 09 48 48 54 5f 42 45 4c 4f 57 20  56,...HHT_BELOW 
2680: 20 20 20 20 3d 20 35 31 32 2c 0d 0a 09 48 48 54      = 512,...HHT
2690: 5f 54 4f 52 49 47 48 54 20 20 20 3d 20 31 30 32  _TORIGHT   = 102
26a0: 34 2c 0d 0a 09 48 48 54 5f 54 4f 4c 45 46 54 20  4,...HHT_TOLEFT 
26b0: 20 20 20 3d 20 32 30 34 38 0d 0a 7d 0d 0a 0d 0a     = 2048..}....
26c0: 65 6e 75 6d 20 7b 0d 0a 09 48 44 4d 5f 48 49 54  enum {...HDM_HIT
26d0: 54 45 53 54 20 3d 20 48 44 4d 5f 46 49 52 53 54  TEST = HDM_FIRST
26e0: 20 2b 20 36 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20   + 6..}....enum 
26f0: 7b 0d 0a 09 48 44 4e 5f 49 54 45 4d 43 48 41 4e  {...HDN_ITEMCHAN
2700: 47 49 4e 47 41 20 20 20 20 3d 20 48 44 4e 5f 46  GINGA    = HDN_F
2710: 49 52 53 54 20 2d 30 2c 0d 0a 09 48 44 4e 5f 49  IRST -0,...HDN_I
2720: 54 45 4d 43 48 41 4e 47 49 4e 47 57 20 20 20 20  TEMCHANGINGW    
2730: 3d 20 48 44 4e 5f 46 49 52 53 54 20 2d 32 30 2c  = HDN_FIRST -20,
2740: 0d 0a 09 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47  ...HDN_ITEMCHANG
2750: 45 44 41 20 20 20 20 20 3d 20 48 44 4e 5f 46 49  EDA     = HDN_FI
2760: 52 53 54 20 2d 31 2c 0d 0a 09 48 44 4e 5f 49 54  RST -1,...HDN_IT
2770: 45 4d 43 48 41 4e 47 45 44 57 20 20 20 20 20 3d  EMCHANGEDW     =
2780: 20 48 44 4e 5f 46 49 52 53 54 20 2d 32 31 2c 0d   HDN_FIRST -21,.
2790: 0a 09 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b 41  ..HDN_ITEMCLICKA
27a0: 20 20 20 20 20 20 20 3d 20 48 44 4e 5f 46 49 52         = HDN_FIR
27b0: 53 54 20 2d 32 2c 0d 0a 09 48 44 4e 5f 49 54 45  ST -2,...HDN_ITE
27c0: 4d 43 4c 49 43 4b 57 20 20 20 20 20 20 20 3d 20  MCLICKW       = 
27d0: 48 44 4e 5f 46 49 52 53 54 20 2d 32 32 2c 0d 0a  HDN_FIRST -22,..
27e0: 09 48 44 4e 5f 49 54 45 4d 44 42 4c 43 4c 49 43  .HDN_ITEMDBLCLIC
27f0: 4b 41 20 20 20 20 3d 20 48 44 4e 5f 46 49 52 53  KA    = HDN_FIRS
2800: 54 20 2d 33 2c 0d 0a 09 48 44 4e 5f 49 54 45 4d  T -3,...HDN_ITEM
2810: 44 42 4c 43 4c 49 43 4b 57 20 20 20 20 3d 20 48  DBLCLICKW    = H
2820: 44 4e 5f 46 49 52 53 54 20 2d 32 33 2c 0d 0a 09  DN_FIRST -23,...
2830: 48 44 4e 5f 44 49 56 49 44 45 52 44 42 4c 43 4c  HDN_DIVIDERDBLCL
2840: 49 43 4b 41 20 3d 20 48 44 4e 5f 46 49 52 53 54  ICKA = HDN_FIRST
2850: 20 2d 35 2c 0d 0a 09 48 44 4e 5f 44 49 56 49 44   -5,...HDN_DIVID
2860: 45 52 44 42 4c 43 4c 49 43 4b 57 20 3d 20 48 44  ERDBLCLICKW = HD
2870: 4e 5f 46 49 52 53 54 20 2d 32 35 2c 0d 0a 09 48  N_FIRST -25,...H
2880: 44 4e 5f 42 45 47 49 4e 54 52 41 43 4b 41 20 20  DN_BEGINTRACKA  
2890: 20 20 20 20 3d 20 48 44 4e 5f 46 49 52 53 54 20      = HDN_FIRST 
28a0: 2d 36 2c 0d 0a 09 48 44 4e 5f 42 45 47 49 4e 54  -6,...HDN_BEGINT
28b0: 52 41 43 4b 57 20 20 20 20 20 20 3d 20 48 44 4e  RACKW      = HDN
28c0: 5f 46 49 52 53 54 20 2d 32 36 2c 0d 0a 09 48 44  _FIRST -26,...HD
28d0: 4e 5f 45 4e 44 54 52 41 43 4b 41 20 20 20 20 20  N_ENDTRACKA     
28e0: 20 20 20 3d 20 48 44 4e 5f 46 49 52 53 54 20 2d     = HDN_FIRST -
28f0: 37 2c 0d 0a 09 48 44 4e 5f 45 4e 44 54 52 41 43  7,...HDN_ENDTRAC
2900: 4b 57 20 20 20 20 20 20 20 20 3d 20 48 44 4e 5f  KW        = HDN_
2910: 46 49 52 53 54 20 2d 32 37 2c 0d 0a 09 48 44 4e  FIRST -27,...HDN
2920: 5f 54 52 41 43 4b 41 20 20 20 20 20 20 20 20 20  _TRACKA         
2930: 20 20 3d 20 48 44 4e 5f 46 49 52 53 54 20 2d 38    = HDN_FIRST -8
2940: 2c 0d 0a 09 48 44 4e 5f 54 52 41 43 4b 57 20 20  ,...HDN_TRACKW  
2950: 20 20 20 20 20 20 20 20 20 3d 20 48 44 4e 5f 46           = HDN_F
2960: 49 52 53 54 20 2d 32 38 0d 0a 7d 0d 0a 73 74 61  IRST -28..}..sta
2970: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
2980: 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09  E >= 0x300) {...
2990: 65 6e 75 6d 20 7b 0d 0a 09 09 48 44 4e 5f 45 4e  enum {....HDN_EN
29a0: 44 44 52 41 47 20 20 20 20 20 20 3d 20 28 48 44  DDRAG      = (HD
29b0: 4e 5f 46 49 52 53 54 2d 31 31 29 2c 0d 0a 09 09  N_FIRST-11),....
29c0: 48 44 4e 5f 42 45 47 49 4e 44 52 41 47 20 20 20  HDN_BEGINDRAG   
29d0: 20 3d 20 28 48 44 4e 5f 46 49 52 53 54 2d 31 30   = (HDN_FIRST-10
29e0: 29 2c 0d 0a 09 09 48 44 4e 5f 47 45 54 44 49 53  ),....HDN_GETDIS
29f0: 50 49 4e 46 4f 41 20 3d 20 28 48 44 4e 5f 46 49  PINFOA = (HDN_FI
2a00: 52 53 54 2d 39 29 2c 0d 0a 09 09 48 44 4e 5f 47  RST-9),....HDN_G
2a10: 45 54 44 49 53 50 49 4e 46 4f 57 20 3d 20 28 48  ETDISPINFOW = (H
2a20: 44 4e 5f 46 49 52 53 54 2d 32 39 29 0d 0a 09 7d  DN_FIRST-29)...}
2a30: 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66  ..}....static if
2a40: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
2a50: 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x400) {...enum {
2a60: 0d 0a 09 09 48 49 43 46 5f 4f 54 48 45 52 20 20  ....HICF_OTHER  
2a70: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 2c 0d          = 0x00,.
2a80: 0a 09 09 48 49 43 46 5f 4d 4f 55 53 45 20 20 20  ...HICF_MOUSE   
2a90: 20 20 20 20 20 20 20 3d 20 30 78 30 31 2c 0d 0a         = 0x01,..
2aa0: 09 09 48 49 43 46 5f 41 52 52 4f 57 4b 45 59 53  ..HICF_ARROWKEYS
2ab0: 20 20 20 20 20 20 3d 20 30 78 30 32 2c 0d 0a 09        = 0x02,...
2ac0: 09 48 49 43 46 5f 41 43 43 45 4c 45 52 41 54 4f  .HICF_ACCELERATO
2ad0: 52 20 20 20 20 3d 20 30 78 30 34 2c 0d 0a 09 09  R    = 0x04,....
2ae0: 48 49 43 46 5f 44 55 50 41 43 43 45 4c 20 20 20  HICF_DUPACCEL   
2af0: 20 20 20 20 3d 20 30 78 30 38 2c 0d 0a 09 09 48      = 0x08,....H
2b00: 49 43 46 5f 45 4e 54 45 52 49 4e 47 20 20 20 20  ICF_ENTERING    
2b10: 20 20 20 3d 20 30 78 31 30 2c 0d 0a 09 09 48 49     = 0x10,....HI
2b20: 43 46 5f 4c 45 41 56 49 4e 47 20 20 20 20 20 20  CF_LEAVING      
2b30: 20 20 3d 20 30 78 32 30 2c 0d 0a 09 09 48 49 43    = 0x20,....HIC
2b40: 46 5f 52 45 53 45 4c 45 43 54 20 20 20 20 20 20  F_RESELECT      
2b50: 20 3d 20 30 78 34 30 2c 0d 0a 09 09 48 49 43 46   = 0x40,....HICF
2b60: 5f 4c 4d 4f 55 53 45 20 20 20 20 20 20 20 20 20  _LMOUSE         
2b70: 3d 20 30 78 38 30 2c 0d 0a 09 09 48 49 43 46 5f  = 0x80,....HICF_
2b80: 54 4f 47 47 4c 45 44 52 4f 50 44 4f 57 4e 20 3d  TOGGLEDROPDOWN =
2b90: 20 30 78 31 30 30 0d 0a 09 7d 0d 0a 7d 0d 0a 0d   0x100...}..}...
2ba0: 0a 65 6e 75 6d 20 7b 0d 0a 09 49 50 4d 5f 43 4c  .enum {...IPM_CL
2bb0: 45 41 52 41 44 44 52 45 53 53 20 3d 20 57 4d 5f  EARADDRESS = WM_
2bc0: 55 53 45 52 20 2b 20 31 30 30 2c 0d 0a 09 49 50  USER + 100,...IP
2bd0: 4d 5f 53 45 54 41 44 44 52 45 53 53 20 20 20 3d  M_SETADDRESS   =
2be0: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 31 2c 0d   WM_USER + 101,.
2bf0: 0a 09 49 50 4d 5f 47 45 54 41 44 44 52 45 53 53  ..IPM_GETADDRESS
2c00: 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31     = WM_USER + 1
2c10: 30 32 2c 0d 0a 09 49 50 4d 5f 53 45 54 52 41 4e  02,...IPM_SETRAN
2c20: 47 45 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52  GE     = WM_USER
2c30: 20 2b 20 31 30 33 2c 0d 0a 09 49 50 4d 5f 53 45   + 103,...IPM_SE
2c40: 54 46 4f 43 55 53 20 20 20 20 20 3d 20 57 4d 5f  TFOCUS     = WM_
2c50: 55 53 45 52 20 2b 20 31 30 34 2c 0d 0a 09 49 50  USER + 104,...IP
2c60: 4d 5f 49 53 42 4c 41 4e 4b 20 20 20 20 20 20 3d  M_ISBLANK      =
2c70: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 35 0d 0a   WM_USER + 105..
2c80: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
2c90: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35  _WIN32_IE >= 0x5
2ca0: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
2cb0: 09 09 49 5f 49 4e 44 45 4e 54 43 41 4c 4c 42 41  ..I_INDENTCALLBA
2cc0: 43 4b 20 3d 20 2d 31 2c 0d 0a 09 09 49 5f 49 4d  CK = -1,....I_IM
2cd0: 41 47 45 4e 4f 4e 45 20 20 20 20 20 20 3d 20 2d  AGENONE      = -
2ce0: 32 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d  2...}..}....enum
2cf0: 20 7b 0d 0a 09 54 42 53 54 41 54 45 5f 43 48 45   {...TBSTATE_CHE
2d00: 43 4b 45 44 20 20 20 20 20 20 20 3d 20 31 2c 0d  CKED       = 1,.
2d10: 0a 09 54 42 53 54 41 54 45 5f 50 52 45 53 53 45  ..TBSTATE_PRESSE
2d20: 44 20 20 20 20 20 20 20 3d 20 32 2c 0d 0a 09 54  D       = 2,...T
2d30: 42 53 54 41 54 45 5f 45 4e 41 42 4c 45 44 20 20  BSTATE_ENABLED  
2d40: 20 20 20 20 20 3d 20 34 2c 0d 0a 09 54 42 53 54       = 4,...TBST
2d50: 41 54 45 5f 48 49 44 44 45 4e 20 20 20 20 20 20  ATE_HIDDEN      
2d60: 20 20 3d 20 38 2c 0d 0a 09 54 42 53 54 41 54 45    = 8,...TBSTATE
2d70: 5f 49 4e 44 45 54 45 52 4d 49 4e 41 54 45 20 3d  _INDETERMINATE =
2d80: 20 31 36 2c 0d 0a 09 54 42 53 54 41 54 45 5f 57   16,...TBSTATE_W
2d90: 52 41 50 20 20 20 20 20 20 20 20 20 20 3d 20 33  RAP          = 3
2da0: 32 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66 20  2..}..static if 
2db0: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
2dc0: 33 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d  300) {...enum {.
2dd0: 0a 09 09 54 42 53 54 41 54 45 5f 45 4c 4c 49 50  ...TBSTATE_ELLIP
2de0: 53 45 53 20 3d 20 30 78 34 30 0d 0a 09 7d 0d 0a  SES = 0x40...}..
2df0: 7d 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  }..static if (_W
2e00: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30  IN32_IE >= 0x400
2e10: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  ) {...enum {....
2e20: 54 42 53 54 41 54 45 5f 4d 41 52 4b 45 44 20 3d  TBSTATE_MARKED =
2e30: 20 30 78 30 30 38 30 0d 0a 09 7d 0d 0a 7d 0d 0a   0x0080...}..}..
2e40: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 42 53 54 59  ..enum {...TBSTY
2e50: 4c 45 5f 42 55 54 54 4f 4e 20 20 20 20 20 3d 20  LE_BUTTON     = 
2e60: 30 2c 0d 0a 09 54 42 53 54 59 4c 45 5f 53 45 50  0,...TBSTYLE_SEP
2e70: 20 20 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09 54          = 1,...T
2e80: 42 53 54 59 4c 45 5f 43 48 45 43 4b 20 20 20 20  BSTYLE_CHECK    
2e90: 20 20 3d 20 32 2c 0d 0a 09 54 42 53 54 59 4c 45    = 2,...TBSTYLE
2ea0: 5f 47 52 4f 55 50 20 20 20 20 20 20 3d 20 34 2c  _GROUP      = 4,
2eb0: 0d 0a 09 54 42 53 54 59 4c 45 5f 43 48 45 43 4b  ...TBSTYLE_CHECK
2ec0: 47 52 4f 55 50 20 3d 20 54 42 53 54 59 4c 45 5f  GROUP = TBSTYLE_
2ed0: 47 52 4f 55 50 20 7c 20 54 42 53 54 59 4c 45 5f  GROUP | TBSTYLE_
2ee0: 43 48 45 43 4b 0d 0a 7d 0d 0a 73 74 61 74 69 63  CHECK..}..static
2ef0: 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
2f00: 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09 65 6e 75  = 0x300) {...enu
2f10: 6d 20 7b 0d 0a 09 09 54 42 53 54 59 4c 45 5f 44  m {....TBSTYLE_D
2f20: 52 4f 50 44 4f 57 4e 20 3d 20 38 0d 0a 09 7d 0d  ROPDOWN = 8...}.
2f30: 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  .}..static if (_
2f40: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30  WIN32_IE >= 0x40
2f50: 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  0) {...enum {...
2f60: 09 54 42 53 54 59 4c 45 5f 41 55 54 4f 53 49 5a  .TBSTYLE_AUTOSIZ
2f70: 45 20 3d 20 31 36 2c 0d 0a 09 09 54 42 53 54 59  E = 16,....TBSTY
2f80: 4c 45 5f 4e 4f 50 52 45 46 49 58 20 3d 20 33 32  LE_NOPREFIX = 32
2f90: 0d 0a 09 7d 0d 0a 7d 0d 0a 65 6e 75 6d 20 7b 0d  ...}..}..enum {.
2fa0: 0a 09 54 42 53 54 59 4c 45 5f 54 4f 4f 4c 54 49  ..TBSTYLE_TOOLTI
2fb0: 50 53 20 3d 20 32 35 36 2c 0d 0a 09 54 42 53 54  PS = 256,...TBST
2fc0: 59 4c 45 5f 57 52 41 50 41 42 4c 45 20 3d 20 35  YLE_WRAPABLE = 5
2fd0: 31 32 2c 0d 0a 09 54 42 53 54 59 4c 45 5f 41 4c  12,...TBSTYLE_AL
2fe0: 54 44 52 41 47 20 20 3d 20 31 30 32 34 0d 0a 7d  TDRAG  = 1024..}
2ff0: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
3000: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29  N32_IE >= 0x300)
3010: 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54   {...enum {....T
3020: 42 53 54 59 4c 45 5f 46 4c 41 54 20 20 20 20 20  BSTYLE_FLAT     
3030: 20 20 20 3d 20 32 30 34 38 2c 0d 0a 09 09 54 42     = 2048,....TB
3040: 53 54 59 4c 45 5f 4c 49 53 54 20 20 20 20 20 20  STYLE_LIST      
3050: 20 20 3d 20 34 30 39 36 2c 0d 0a 09 09 54 42 53    = 4096,....TBS
3060: 54 59 4c 45 5f 43 55 53 54 4f 4d 45 52 41 53 45  TYLE_CUSTOMERASE
3070: 20 3d 20 38 31 39 32 0d 0a 09 7d 0d 0a 7d 0d 0a   = 8192...}..}..
3080: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
3090: 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b  2_IE >= 0x400) {
30a0: 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54 42 53  ...enum {....TBS
30b0: 54 59 4c 45 5f 52 45 47 49 53 54 45 52 44 52 4f  TYLE_REGISTERDRO
30c0: 50 20 20 20 20 3d 20 30 78 34 30 30 30 2c 0d 0a  P    = 0x4000,..
30d0: 09 09 54 42 53 54 59 4c 45 5f 54 52 41 4e 53 50  ..TBSTYLE_TRANSP
30e0: 41 52 45 4e 54 20 20 20 20 20 3d 20 30 78 38 30  ARENT     = 0x80
30f0: 30 30 2c 0d 0a 09 09 54 42 53 54 59 4c 45 5f 45  00,....TBSTYLE_E
3100: 58 5f 44 52 41 57 44 44 41 52 52 4f 57 53 20 3d  X_DRAWDDARROWS =
3110: 20 30 78 30 30 30 30 30 30 30 31 0d 0a 09 7d 0d   0x00000001...}.
3120: 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  .}..static if (_
3130: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30  WIN32_IE >= 0x50
3140: 31 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  1) {...enum {...
3150: 09 54 42 53 54 59 4c 45 5f 45 58 5f 4d 49 58 45  .TBSTYLE_EX_MIXE
3160: 44 42 55 54 54 4f 4e 53 20 20 20 20 20 20 20 3d  DBUTTONS       =
3170: 20 38 2c 0d 0a 09 09 54 42 53 54 59 4c 45 5f 45   8,....TBSTYLE_E
3180: 58 5f 48 49 44 45 43 4c 49 50 50 45 44 42 55 54  X_HIDECLIPPEDBUT
3190: 54 4f 4e 53 20 3d 20 31 36 0d 0a 09 7d 0d 0a 7d  TONS = 16...}..}
31a0: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
31b0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
31c0: 30 31 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  01) {...enum {..
31d0: 09 09 54 42 53 54 59 4c 45 5f 45 58 5f 44 4f 55  ..TBSTYLE_EX_DOU
31e0: 42 4c 45 42 55 46 46 45 52 20 3d 20 30 78 38 30  BLEBUFFER = 0x80
31f0: 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69  ...}..}....stati
3200: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20  c if (_WIN32_IE 
3210: 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a 09 65 6e  >= 0x500) {...en
3220: 75 6d 20 7b 0d 0a 09 09 42 54 4e 53 5f 42 55 54  um {....BTNS_BUT
3230: 54 4f 4e 20 20 20 20 20 20 20 20 3d 20 54 42 53  TON        = TBS
3240: 54 59 4c 45 5f 42 55 54 54 4f 4e 2c 0d 0a 09 09  TYLE_BUTTON,....
3250: 42 54 4e 53 5f 53 45 50 20 20 20 20 20 20 20 20  BTNS_SEP        
3260: 20 20 20 3d 20 54 42 53 54 59 4c 45 5f 53 45 50     = TBSTYLE_SEP
3270: 2c 0d 0a 09 09 42 54 4e 53 5f 43 48 45 43 4b 20  ,....BTNS_CHECK 
3280: 20 20 20 20 20 20 20 20 3d 20 54 42 53 54 59 4c          = TBSTYL
3290: 45 5f 43 48 45 43 4b 2c 0d 0a 09 09 42 54 4e 53  E_CHECK,....BTNS
32a0: 5f 47 52 4f 55 50 20 20 20 20 20 20 20 20 20 3d  _GROUP         =
32b0: 20 54 42 53 54 59 4c 45 5f 47 52 4f 55 50 2c 0d   TBSTYLE_GROUP,.
32c0: 0a 09 09 42 54 4e 53 5f 43 48 45 43 4b 47 52 4f  ...BTNS_CHECKGRO
32d0: 55 50 20 20 20 20 3d 20 54 42 53 54 59 4c 45 5f  UP    = TBSTYLE_
32e0: 43 48 45 43 4b 47 52 4f 55 50 2c 0d 0a 09 09 42  CHECKGROUP,....B
32f0: 54 4e 53 5f 44 52 4f 50 44 4f 57 4e 20 20 20 20  TNS_DROPDOWN    
3300: 20 20 3d 20 54 42 53 54 59 4c 45 5f 44 52 4f 50    = TBSTYLE_DROP
3310: 44 4f 57 4e 2c 0d 0a 09 09 42 54 4e 53 5f 41 55  DOWN,....BTNS_AU
3320: 54 4f 53 49 5a 45 20 20 20 20 20 20 3d 20 54 42  TOSIZE      = TB
3330: 53 54 59 4c 45 5f 41 55 54 4f 53 49 5a 45 2c 0d  STYLE_AUTOSIZE,.
3340: 0a 09 09 42 54 4e 53 5f 4e 4f 50 52 45 46 49 58  ...BTNS_NOPREFIX
3350: 20 20 20 20 20 20 3d 20 54 42 53 54 59 4c 45 5f        = TBSTYLE_
3360: 4e 4f 50 52 45 46 49 58 2c 0d 0a 09 09 42 54 4e  NOPREFIX,....BTN
3370: 53 5f 57 48 4f 4c 45 44 52 4f 50 44 4f 57 4e 20  S_WHOLEDROPDOWN 
3380: 3d 20 30 78 30 30 38 30 0d 0a 09 7d 0d 0a 7d 0d  = 0x0080...}..}.
3390: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
33a0: 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 31 29 20  32_IE >= 0x501) 
33b0: 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 42 54  {...enum {....BT
33c0: 4e 53 5f 53 48 4f 57 54 45 58 54 20 3d 20 30 78  NS_SHOWTEXT = 0x
33d0: 30 30 34 30 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73  0040...}..}....s
33e0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
33f0: 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d  _IE >= 0x400) {.
3400: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54 42 43 44  ..enum {....TBCD
3410: 52 46 5f 4e 4f 45 44 47 45 53 20 20 20 20 20 20  RF_NOEDGES      
3420: 20 20 3d 20 30 78 31 30 30 30 30 2c 0d 0a 09 09    = 0x10000,....
3430: 54 42 43 44 52 46 5f 48 49 4c 49 54 45 48 4f 54  TBCDRF_HILITEHOT
3440: 54 52 41 43 4b 20 3d 20 30 78 32 30 30 30 30 2c  TRACK = 0x20000,
3450: 0d 0a 09 09 54 42 43 44 52 46 5f 4e 4f 4f 46 46  ....TBCDRF_NOOFF
3460: 53 45 54 20 20 20 20 20 20 20 3d 20 30 78 34 30  SET       = 0x40
3470: 30 30 30 2c 0d 0a 09 09 54 42 43 44 52 46 5f 4e  000,....TBCDRF_N
3480: 4f 4d 41 52 4b 20 20 20 20 20 20 20 20 20 3d 20  OMARK         = 
3490: 30 78 38 30 30 30 30 2c 0d 0a 09 09 54 42 43 44  0x80000,....TBCD
34a0: 52 46 5f 4e 4f 45 54 43 48 45 44 45 46 46 45 43  RF_NOETCHEDEFFEC
34b0: 54 20 3d 20 30 78 31 30 30 30 30 30 0d 0a 09 7d  T = 0x100000...}
34c0: 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 48 49 4e  ..}....const HIN
34d0: 53 54 5f 43 4f 4d 4d 43 54 52 4c 20 3d 20 63 61  ST_COMMCTRL = ca
34e0: 73 74 28 48 49 4e 53 54 41 4e 43 45 29 20 28 2d  st(HINSTANCE) (-
34f0: 31 29 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09  1);....enum {...
3500: 49 44 42 5f 53 54 44 5f 53 4d 41 4c 4c 5f 43 4f  IDB_STD_SMALL_CO
3510: 4c 4f 52 2c 0d 0a 09 49 44 42 5f 53 54 44 5f 4c  LOR,...IDB_STD_L
3520: 41 52 47 45 5f 43 4f 4c 4f 52 2c 0d 0a 09 49 44  ARGE_COLOR,...ID
3530: 42 5f 56 49 45 57 5f 53 4d 41 4c 4c 5f 43 4f 4c  B_VIEW_SMALL_COL
3540: 4f 52 20 3d 20 34 2c 0d 0a 09 49 44 42 5f 56 49  OR = 4,...IDB_VI
3550: 45 57 5f 4c 41 52 47 45 5f 43 4f 4c 4f 52 20 3d  EW_LARGE_COLOR =
3560: 20 35 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66   5..}..static if
3570: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
3580: 78 33 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x300) {...enum {
3590: 0d 0a 09 09 49 44 42 5f 48 49 53 54 5f 53 4d 41  ....IDB_HIST_SMA
35a0: 4c 4c 5f 43 4f 4c 4f 52 20 3d 20 38 2c 0d 0a 09  LL_COLOR = 8,...
35b0: 09 49 44 42 5f 48 49 53 54 5f 4c 41 52 47 45 5f  .IDB_HIST_LARGE_
35c0: 43 4f 4c 4f 52 20 3d 20 39 0d 0a 09 7d 0d 0a 7d  COLOR = 9...}..}
35d0: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 53 54 44  ....enum {...STD
35e0: 5f 43 55 54 2c 0d 0a 09 53 54 44 5f 43 4f 50 59  _CUT,...STD_COPY
35f0: 2c 0d 0a 09 53 54 44 5f 50 41 53 54 45 2c 0d 0a  ,...STD_PASTE,..
3600: 09 53 54 44 5f 55 4e 44 4f 2c 0d 0a 09 53 54 44  .STD_UNDO,...STD
3610: 5f 52 45 44 4f 57 2c 0d 0a 09 53 54 44 5f 44 45  _REDOW,...STD_DE
3620: 4c 45 54 45 2c 0d 0a 09 53 54 44 5f 46 49 4c 45  LETE,...STD_FILE
3630: 4e 45 57 2c 0d 0a 09 53 54 44 5f 46 49 4c 45 4f  NEW,...STD_FILEO
3640: 50 45 4e 2c 0d 0a 09 53 54 44 5f 46 49 4c 45 53  PEN,...STD_FILES
3650: 41 56 45 2c 0d 0a 09 53 54 44 5f 50 52 49 4e 54  AVE,...STD_PRINT
3660: 50 52 45 2c 0d 0a 09 53 54 44 5f 50 52 4f 50 45  PRE,...STD_PROPE
3670: 52 54 49 45 53 2c 0d 0a 09 53 54 44 5f 48 45 4c  RTIES,...STD_HEL
3680: 50 2c 0d 0a 09 53 54 44 5f 46 49 4e 44 2c 0d 0a  P,...STD_FIND,..
3690: 09 53 54 44 5f 52 45 50 4c 41 43 45 2c 0d 0a 09  .STD_REPLACE,...
36a0: 53 54 44 5f 50 52 49 4e 54 20 2f 2f 20 3d 20 31  STD_PRINT // = 1
36b0: 34 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a  4..}....enum {..
36c0: 09 56 49 45 57 5f 4c 41 52 47 45 49 43 4f 4e 53  .VIEW_LARGEICONS
36d0: 2c 0d 0a 09 56 49 45 57 5f 53 4d 41 4c 4c 49 43  ,...VIEW_SMALLIC
36e0: 4f 4e 53 2c 0d 0a 09 56 49 45 57 5f 4c 49 53 54  ONS,...VIEW_LIST
36f0: 2c 0d 0a 09 56 49 45 57 5f 44 45 54 41 49 4c 53  ,...VIEW_DETAILS
3700: 2c 0d 0a 09 56 49 45 57 5f 53 4f 52 54 4e 41 4d  ,...VIEW_SORTNAM
3710: 45 2c 0d 0a 09 56 49 45 57 5f 53 4f 52 54 53 49  E,...VIEW_SORTSI
3720: 5a 45 2c 0d 0a 09 56 49 45 57 5f 53 4f 52 54 44  ZE,...VIEW_SORTD
3730: 41 54 45 2c 0d 0a 09 56 49 45 57 5f 53 4f 52 54  ATE,...VIEW_SORT
3740: 54 59 50 45 2c 0d 0a 09 56 49 45 57 5f 50 41 52  TYPE,...VIEW_PAR
3750: 45 4e 54 46 4f 4c 44 45 52 2c 0d 0a 09 56 49 45  ENTFOLDER,...VIE
3760: 57 5f 4e 45 54 43 4f 4e 4e 45 43 54 2c 0d 0a 09  W_NETCONNECT,...
3770: 56 49 45 57 5f 4e 45 54 44 49 53 43 4f 4e 4e 45  VIEW_NETDISCONNE
3780: 43 54 2c 0d 0a 09 56 49 45 57 5f 4e 45 57 46 4f  CT,...VIEW_NEWFO
3790: 4c 44 45 52 20 2f 2f 20 3d 20 31 31 0d 0a 7d 0d  LDER // = 11..}.
37a0: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 42 5f 45  ...enum {...TB_E
37b0: 4e 41 42 4c 45 42 55 54 54 4f 4e 20 20 20 20 20  NABLEBUTTON     
37c0: 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b       = WM_USER +
37d0: 20 31 2c 0d 0a 09 54 42 5f 43 48 45 43 4b 42 55   1,...TB_CHECKBU
37e0: 54 54 4f 4e 2c 0d 0a 09 54 42 5f 50 52 45 53 53  TTON,...TB_PRESS
37f0: 42 55 54 54 4f 4e 2c 0d 0a 09 54 42 5f 48 49 44  BUTTON,...TB_HID
3800: 45 42 55 54 54 4f 4e 2c 0d 0a 09 54 42 5f 49 4e  EBUTTON,...TB_IN
3810: 44 45 54 45 52 4d 49 4e 41 54 45 2c 20 2f 2f 20  DETERMINATE, // 
3820: 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20      = WM_USER + 
3830: 35 2c 0d 0a 09 54 42 5f 49 53 42 55 54 54 4f 4e  5,...TB_ISBUTTON
3840: 45 4e 41 42 4c 45 44 20 20 20 20 20 20 20 3d 20  ENABLED       = 
3850: 57 4d 5f 55 53 45 52 20 2b 20 39 2c 0d 0a 09 54  WM_USER + 9,...T
3860: 42 5f 49 53 42 55 54 54 4f 4e 43 48 45 43 4b 45  B_ISBUTTONCHECKE
3870: 44 2c 0d 0a 09 54 42 5f 49 53 42 55 54 54 4f 4e  D,...TB_ISBUTTON
3880: 50 52 45 53 53 45 44 2c 0d 0a 09 54 42 5f 49 53  PRESSED,...TB_IS
3890: 42 55 54 54 4f 4e 48 49 44 44 45 4e 2c 0d 0a 09  BUTTONHIDDEN,...
38a0: 54 42 5f 49 53 42 55 54 54 4f 4e 49 4e 44 45 54  TB_ISBUTTONINDET
38b0: 45 52 4d 49 4e 41 54 45 2c 20 2f 2f 20 3d 20 57  ERMINATE, // = W
38c0: 4d 5f 55 53 45 52 20 2b 20 31 33 2c 0d 0a 09 54  M_USER + 13,...T
38d0: 42 5f 53 45 54 53 54 41 54 45 20 20 20 20 20 20  B_SETSTATE      
38e0: 20 20 20 20 20 20 20 20 3d 20 57 4d 5f 55 53 45          = WM_USE
38f0: 52 20 2b 20 31 37 2c 0d 0a 09 54 42 5f 47 45 54  R + 17,...TB_GET
3900: 53 54 41 54 45 20 20 20 20 20 20 20 20 20 20 20  STATE           
3910: 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31     = WM_USER + 1
3920: 38 2c 0d 0a 09 54 42 5f 41 44 44 42 49 54 4d 41  8,...TB_ADDBITMA
3930: 50 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20  P             = 
3940: 57 4d 5f 55 53 45 52 20 2b 20 31 39 2c 0d 0a 09  WM_USER + 19,...
3950: 54 42 5f 44 45 4c 45 54 45 42 55 54 54 4f 4e 20  TB_DELETEBUTTON 
3960: 20 20 20 20 20 20 20 20 20 3d 20 57 4d 5f 55 53           = WM_US
3970: 45 52 20 2b 20 32 32 2c 0d 0a 09 54 42 5f 47 45  ER + 22,...TB_GE
3980: 54 42 55 54 54 4f 4e 2c 0d 0a 09 54 42 5f 42 55  TBUTTON,...TB_BU
3990: 54 54 4f 4e 43 4f 55 4e 54 2c 0d 0a 09 54 42 5f  TTONCOUNT,...TB_
39a0: 43 4f 4d 4d 41 4e 44 54 4f 49 4e 44 45 58 2c 0d  COMMANDTOINDEX,.
39b0: 0a 09 54 42 5f 53 41 56 45 52 45 53 54 4f 52 45  ..TB_SAVERESTORE
39c0: 41 2c 0d 0a 09 54 42 5f 43 55 53 54 4f 4d 49 5a  A,...TB_CUSTOMIZ
39d0: 45 2c 0d 0a 09 54 42 5f 41 44 44 53 54 52 49 4e  E,...TB_ADDSTRIN
39e0: 47 41 2c 0d 0a 09 54 42 5f 47 45 54 49 54 45 4d  GA,...TB_GETITEM
39f0: 52 45 43 54 2c 0d 0a 09 54 42 5f 42 55 54 54 4f  RECT,...TB_BUTTO
3a00: 4e 53 54 52 55 43 54 53 49 5a 45 2c 0d 0a 09 54  NSTRUCTSIZE,...T
3a10: 42 5f 53 45 54 42 55 54 54 4f 4e 53 49 5a 45 2c  B_SETBUTTONSIZE,
3a20: 0d 0a 09 54 42 5f 53 45 54 42 49 54 4d 41 50 53  ...TB_SETBITMAPS
3a30: 49 5a 45 2c 0d 0a 09 54 42 5f 41 55 54 4f 53 49  IZE,...TB_AUTOSI
3a40: 5a 45 2c 20 2f 2f 20 20 20 20 20 20 20 20 20 20  ZE, //          
3a50: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 33 2c 0d  = WM_USER + 33,.
3a60: 0a 09 54 42 5f 47 45 54 54 4f 4f 4c 54 49 50 53  ..TB_GETTOOLTIPS
3a70: 20 20 20 20 20 20 20 20 20 20 20 3d 20 57 4d 5f             = WM_
3a80: 55 53 45 52 20 2b 20 33 35 2c 0d 0a 09 54 42 5f  USER + 35,...TB_
3a90: 53 45 54 54 4f 4f 4c 54 49 50 53 20 20 20 20 20  SETTOOLTIPS     
3aa0: 20 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20        = WM_USER 
3ab0: 2b 20 33 36 2c 0d 0a 09 54 42 5f 53 45 54 50 41  + 36,...TB_SETPA
3ac0: 52 45 4e 54 20 20 20 20 20 20 20 20 20 20 20 20  RENT            
3ad0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 37 2c   = WM_USER + 37,
3ae0: 0d 0a 09 54 42 5f 53 45 54 52 4f 57 53 20 20 20  ...TB_SETROWS   
3af0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 57 4d              = WM
3b00: 5f 55 53 45 52 20 2b 20 33 39 2c 0d 0a 09 54 42  _USER + 39,...TB
3b10: 5f 47 45 54 52 4f 57 53 2c 0d 0a 09 54 42 5f 47  _GETROWS,...TB_G
3b20: 45 54 42 49 54 4d 41 50 46 4c 41 47 53 2c 0d 0a  ETBITMAPFLAGS,..
3b30: 09 54 42 5f 53 45 54 43 4d 44 49 44 2c 0d 0a 09  .TB_SETCMDID,...
3b40: 54 42 5f 43 48 41 4e 47 45 42 49 54 4d 41 50 2c  TB_CHANGEBITMAP,
3b50: 0d 0a 09 54 42 5f 47 45 54 42 49 54 4d 41 50 2c  ...TB_GETBITMAP,
3b60: 0d 0a 09 54 42 5f 47 45 54 42 55 54 54 4f 4e 54  ...TB_GETBUTTONT
3b70: 45 58 54 41 2c 0d 0a 09 54 42 5f 52 45 50 4c 41  EXTA,...TB_REPLA
3b80: 43 45 42 49 54 4d 41 50 2c 20 2f 2f 20 20 20 20  CEBITMAP, //    
3b90: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 36 2c   = WM_USER + 46,
3ba0: 0d 0a 09 54 42 5f 47 45 54 42 55 54 54 4f 4e 53  ...TB_GETBUTTONS
3bb0: 49 5a 45 20 20 20 20 20 20 20 20 20 3d 20 57 4d  IZE         = WM
3bc0: 5f 55 53 45 52 20 2b 20 35 38 2c 0d 0a 09 54 42  _USER + 58,...TB
3bd0: 5f 53 45 54 42 55 54 54 4f 4e 57 49 44 54 48 20  _SETBUTTONWIDTH 
3be0: 20 20 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52         = WM_USER
3bf0: 20 2b 20 35 39 2c 0d 0a 09 54 42 5f 47 45 54 42   + 59,...TB_GETB
3c00: 55 54 54 4f 4e 54 45 58 54 57 20 20 20 20 20 20  UTTONTEXTW      
3c10: 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 35    = WM_USER + 75
3c20: 2c 0d 0a 09 54 42 5f 53 41 56 45 52 45 53 54 4f  ,...TB_SAVERESTO
3c30: 52 45 57 20 20 20 20 20 20 20 20 20 20 3d 20 57  REW          = W
3c40: 4d 5f 55 53 45 52 20 2b 20 37 36 2c 0d 0a 09 54  M_USER + 76,...T
3c50: 42 5f 41 44 44 53 54 52 49 4e 47 57 20 20 20 20  B_ADDSTRINGW    
3c60: 20 20 20 20 20 20 20 20 3d 20 57 4d 5f 55 53 45          = WM_USE
3c70: 52 20 2b 20 37 37 2c 0d 0a 7d 0d 0a 73 74 61 74  R + 77,..}..stat
3c80: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
3c90: 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 65   >= 0x400) {...e
3ca0: 6e 75 6d 20 7b 0d 0a 09 09 54 42 5f 4d 41 52 4b  num {....TB_MARK
3cb0: 42 55 54 54 4f 4e 20 3d 20 57 4d 5f 55 53 45 52  BUTTON = WM_USER
3cc0: 20 2b 20 36 0d 0a 09 7d 0d 0a 7d 0d 0a 73 74 61   + 6...}..}..sta
3cd0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
3ce0: 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09  E >= 0x400) {...
3cf0: 65 6e 75 6d 20 7b 0d 0a 09 09 54 42 5f 49 53 42  enum {....TB_ISB
3d00: 55 54 54 4f 4e 48 49 47 48 4c 49 47 48 54 45 44  UTTONHIGHLIGHTED
3d10: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 34 0d   = WM_USER + 14.
3d20: 0a 09 7d 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69  ..}..}..static i
3d30: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
3d40: 30 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20  0x400) {...enum 
3d50: 7b 0d 0a 09 09 54 42 5f 41 44 44 42 55 54 54 4f  {....TB_ADDBUTTO
3d60: 4e 53 41 20 20 20 3d 20 57 4d 5f 55 53 45 52 20  NSA   = WM_USER 
3d70: 2b 20 32 30 2c 0d 0a 09 09 54 42 5f 49 4e 53 45  + 20,....TB_INSE
3d80: 52 54 42 55 54 54 4f 4e 41 20 3d 20 57 4d 5f 55  RTBUTTONA = WM_U
3d90: 53 45 52 20 2b 20 32 31 0d 0a 09 7d 0d 0a 7d 20  SER + 21...}..} 
3da0: 65 6c 73 65 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d  else {...enum {.
3db0: 0a 09 09 54 42 5f 41 44 44 42 55 54 54 4f 4e 53  ...TB_ADDBUTTONS
3dc0: 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32     = WM_USER + 2
3dd0: 30 2c 0d 0a 09 09 54 42 5f 49 4e 53 45 52 54 42  0,....TB_INSERTB
3de0: 55 54 54 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 20  UTTON = WM_USER 
3df0: 2b 20 32 31 0d 0a 09 7d 0d 0a 7d 0d 0a 73 74 61  + 21...}..}..sta
3e00: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
3e10: 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09  E >= 0x300) {...
3e20: 65 6e 75 6d 20 7b 0d 0a 09 09 54 42 5f 53 45 54  enum {....TB_SET
3e30: 49 4e 44 45 4e 54 20 3d 20 57 4d 5f 55 53 45 52  INDENT = WM_USER
3e40: 20 2b 20 34 37 2c 0d 0a 09 09 54 42 5f 53 45 54   + 47,....TB_SET
3e50: 49 4d 41 47 45 4c 49 53 54 2c 0d 0a 09 09 54 42  IMAGELIST,....TB
3e60: 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 2c 0d 0a  _GETIMAGELIST,..
3e70: 09 09 54 42 5f 4c 4f 41 44 49 4d 41 47 45 53 2c  ..TB_LOADIMAGES,
3e80: 0d 0a 09 09 54 42 5f 47 45 54 52 45 43 54 2c 0d  ....TB_GETRECT,.
3e90: 0a 09 09 54 42 5f 53 45 54 48 4f 54 49 4d 41 47  ...TB_SETHOTIMAG
3ea0: 45 4c 49 53 54 2c 0d 0a 09 09 54 42 5f 47 45 54  ELIST,....TB_GET
3eb0: 48 4f 54 49 4d 41 47 45 4c 49 53 54 2c 0d 0a 09  HOTIMAGELIST,...
3ec0: 09 54 42 5f 53 45 54 44 49 53 41 42 4c 45 44 49  .TB_SETDISABLEDI
3ed0: 4d 41 47 45 4c 49 53 54 2c 0d 0a 09 09 54 42 5f  MAGELIST,....TB_
3ee0: 47 45 54 44 49 53 41 42 4c 45 44 49 4d 41 47 45  GETDISABLEDIMAGE
3ef0: 4c 49 53 54 2c 0d 0a 09 09 54 42 5f 53 45 54 53  LIST,....TB_SETS
3f00: 54 59 4c 45 2c 0d 0a 09 09 54 42 5f 47 45 54 53  TYLE,....TB_GETS
3f10: 54 59 4c 45 2c 0d 0a 09 09 2f 2f 54 42 5f 47 45  TYLE,....//TB_GE
3f20: 54 42 55 54 54 4f 4e 53 49 5a 45 2c 0d 0a 09 09  TBUTTONSIZE,....
3f30: 2f 2f 54 42 5f 53 45 54 42 55 54 54 4f 4e 57 49  //TB_SETBUTTONWI
3f40: 44 54 48 2c 0d 0a 09 09 54 42 5f 53 45 54 4d 41  DTH,....TB_SETMA
3f50: 58 54 45 58 54 52 4f 57 53 2c 0d 0a 09 09 54 42  XTEXTROWS,....TB
3f60: 5f 47 45 54 54 45 58 54 52 4f 57 53 20 2f 2f 20  _GETTEXTROWS // 
3f70: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 31 0d 0a  = WM_USER + 61..
3f80: 09 7d 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66  .}..}..static if
3f90: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
3fa0: 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x400) {...enum {
3fb0: 0d 0a 09 09 54 42 5f 47 45 54 4f 42 4a 45 43 54  ....TB_GETOBJECT
3fc0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 57 4d              = WM
3fd0: 5f 55 53 45 52 20 2b 20 36 32 2c 0d 0a 09 09 54  _USER + 62,....T
3fe0: 42 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f 57  B_GETBUTTONINFOW
3ff0: 2c 0d 0a 09 09 54 42 5f 53 45 54 42 55 54 54 4f  ,....TB_SETBUTTO
4000: 4e 49 4e 46 4f 57 2c 0d 0a 09 09 54 42 5f 47 45  NINFOW,....TB_GE
4010: 54 42 55 54 54 4f 4e 49 4e 46 4f 41 2c 0d 0a 09  TBUTTONINFOA,...
4020: 09 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e 46  .TB_SETBUTTONINF
4030: 4f 41 2c 0d 0a 09 09 54 42 5f 49 4e 53 45 52 54  OA,....TB_INSERT
4040: 42 55 54 54 4f 4e 57 2c 0d 0a 09 09 54 42 5f 41  BUTTONW,....TB_A
4050: 44 44 42 55 54 54 4f 4e 53 57 2c 0d 0a 09 09 54  DDBUTTONSW,....T
4060: 42 5f 48 49 54 54 45 53 54 2c 20 2f 2f 20 20 20  B_HITTEST, //   
4070: 20 20 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52         = WM_USER
4080: 20 2b 20 36 39 0d 0a 09 09 54 42 5f 53 45 54 45   + 69....TB_SETE
4090: 58 54 45 4e 44 45 44 53 54 59 4c 45 20 20 20 20  XTENDEDSTYLE    
40a0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 34 2c   = WM_USER + 84,
40b0: 0d 0a 09 09 54 42 5f 47 45 54 45 58 54 45 4e 44  ....TB_GETEXTEND
40c0: 45 44 53 54 59 4c 45 20 20 20 20 20 3d 20 57 4d  EDSTYLE     = WM
40d0: 5f 55 53 45 52 20 2b 20 38 35 2c 0d 0a 09 09 54  _USER + 85,....T
40e0: 42 5f 53 45 54 44 52 41 57 54 45 58 54 46 4c 41  B_SETDRAWTEXTFLA
40f0: 47 53 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52  GS     = WM_USER
4100: 20 2b 20 37 30 2c 0d 0a 09 09 54 42 5f 47 45 54   + 70,....TB_GET
4110: 48 4f 54 49 54 45 4d 2c 0d 0a 09 09 54 42 5f 53  HOTITEM,....TB_S
4120: 45 54 48 4f 54 49 54 45 4d 2c 0d 0a 09 09 54 42  ETHOTITEM,....TB
4130: 5f 53 45 54 41 4e 43 48 4f 52 48 49 47 48 4c 49  _SETANCHORHIGHLI
4140: 47 48 54 2c 0d 0a 09 09 54 42 5f 47 45 54 41 4e  GHT,....TB_GETAN
4150: 43 48 4f 52 48 49 47 48 4c 49 47 48 54 2c 20 2f  CHORHIGHLIGHT, /
4160: 2f 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 34  / = WM_USER + 74
4170: 0d 0a 09 09 54 42 5f 4d 41 50 41 43 43 45 4c 45  ....TB_MAPACCELE
4180: 52 41 54 4f 52 41 20 20 20 20 20 20 3d 20 57 4d  RATORA      = WM
4190: 5f 55 53 45 52 20 2b 20 37 38 2c 0d 0a 09 09 54  _USER + 78,....T
41a0: 42 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b 2c  B_GETINSERTMARK,
41b0: 0d 0a 09 09 54 42 5f 53 45 54 49 4e 53 45 52 54  ....TB_SETINSERT
41c0: 4d 41 52 4b 2c 0d 0a 09 09 54 42 5f 49 4e 53 45  MARK,....TB_INSE
41d0: 52 54 4d 41 52 4b 48 49 54 54 45 53 54 2c 0d 0a  RTMARKHITTEST,..
41e0: 09 09 54 42 5f 4d 4f 56 45 42 55 54 54 4f 4e 2c  ..TB_MOVEBUTTON,
41f0: 0d 0a 09 09 54 42 5f 47 45 54 4d 41 58 53 49 5a  ....TB_GETMAXSIZ
4200: 45 2c 0d 0a 09 09 2f 2f 54 42 5f 53 45 54 45 58  E,....//TB_SETEX
4210: 54 45 4e 44 45 44 53 54 59 4c 45 2c 0d 0a 09 09  TENDEDSTYLE,....
4220: 2f 2f 54 42 5f 47 45 54 45 58 54 45 4e 44 45 44  //TB_GETEXTENDED
4230: 53 54 59 4c 45 2c 0d 0a 09 09 54 42 5f 47 45 54  STYLE,....TB_GET
4240: 50 41 44 44 49 4e 47 2c 0d 0a 09 09 54 42 5f 53  PADDING,....TB_S
4250: 45 54 50 41 44 44 49 4e 47 2c 0d 0a 09 09 54 42  ETPADDING,....TB
4260: 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f  _SETINSERTMARKCO
4270: 4c 4f 52 2c 0d 0a 09 09 54 42 5f 47 45 54 49 4e  LOR,....TB_GETIN
4280: 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 2c 0d 0a  SERTMARKCOLOR,..
4290: 09 09 54 42 5f 4d 41 50 41 43 43 45 4c 45 52 41  ..TB_MAPACCELERA
42a0: 54 4f 52 57 2c 0d 0a 09 09 54 42 5f 47 45 54 53  TORW,....TB_GETS
42b0: 54 52 49 4e 47 57 2c 0d 0a 09 09 54 42 5f 47 45  TRINGW,....TB_GE
42c0: 54 53 54 52 49 4e 47 41 2c 20 2f 2f 20 20 20 20  TSTRINGA, //    
42d0: 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39     = WM_USER + 9
42e0: 32 0d 0a 20 20 20 20 20 20 20 20 54 42 5f 53 45  2..        TB_SE
42f0: 54 48 4f 54 49 54 45 4d 32 20 20 20 20 20 20 20  THOTITEM2       
4300: 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39     = WM_USER + 9
4310: 34 2c 0d 0a 20 20 20 20 20 20 20 20 54 42 5f 53  4,..        TB_S
4320: 45 54 4c 49 53 54 47 41 50 20 20 20 20 20 20 20  ETLISTGAP       
4330: 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20      = WM_USER + 
4340: 39 36 2c 0d 0a 20 20 20 20 20 20 20 20 54 42 5f  96,..        TB_
4350: 47 45 54 49 4d 41 47 45 4c 49 53 54 43 4f 55 4e  GETIMAGELISTCOUN
4360: 54 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b  T    = WM_USER +
4370: 20 39 38 2c 0d 0a 20 20 20 20 20 20 20 20 54 42   98,..        TB
4380: 5f 47 45 54 49 44 45 41 4c 53 49 5a 45 20 20 20  _GETIDEALSIZE   
4390: 20 20 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20        = WM_USER 
43a0: 2b 20 39 39 2c 0d 0a 20 20 20 20 20 20 20 20 2f  + 99,..        /
43b0: 2f 54 42 5f 54 52 41 4e 53 4c 41 54 45 41 43 43  /TB_TRANSLATEACC
43c0: 45 4c 45 52 41 54 4f 52 20 3d 20 43 43 4d 5f 54  ELERATOR = CCM_T
43d0: 52 41 4e 53 4c 41 54 45 41 43 43 45 4c 45 52 41  RANSLATEACCELERA
43e0: 54 4f 52 2c 0d 0a 09 09 54 42 5f 53 45 54 43 4f  TOR,....TB_SETCO
43f0: 4c 4f 52 53 43 48 45 4d 45 20 20 20 20 20 20 20  LORSCHEME       
4400: 3d 20 43 43 4d 5f 53 45 54 43 4f 4c 4f 52 53 43  = CCM_SETCOLORSC
4410: 48 45 4d 45 2c 0d 0a 09 09 54 42 5f 47 45 54 43  HEME,....TB_GETC
4420: 4f 4c 4f 52 53 43 48 45 4d 45 20 20 20 20 20 20  OLORSCHEME      
4430: 20 3d 20 43 43 4d 5f 47 45 54 43 4f 4c 4f 52 53   = CCM_GETCOLORS
4440: 43 48 45 4d 45 2c 0d 0a 09 09 54 42 5f 53 45 54  CHEME,....TB_SET
4450: 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 20 20  UNICODEFORMAT   
4460: 20 20 3d 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f    = CCM_SETUNICO
4470: 44 45 46 4f 52 4d 41 54 2c 0d 0a 09 09 54 42 5f  DEFORMAT,....TB_
4480: 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54  GETUNICODEFORMAT
4490: 20 20 20 20 20 3d 20 43 43 4d 5f 47 45 54 55 4e       = CCM_GETUN
44a0: 49 43 4f 44 45 46 4f 52 4d 41 54 0d 0a 09 7d 0d  ICODEFORMAT...}.
44b0: 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  .}....static if 
44c0: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
44d0: 20 30 78 35 30 31 29 20 7b 0d 0a 09 65 6e 75 6d   0x501) {...enum
44e0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 54 42 5f 47   {..        TB_G
44f0: 45 54 4d 45 54 52 49 43 53 20 3d 20 57 4d 5f 55  ETMETRICS = WM_U
4500: 53 45 52 20 2b 20 31 30 31 2c 0d 0a 20 20 20 20  SER + 101,..    
4510: 20 20 20 20 54 42 5f 53 45 54 4d 45 54 52 49 43      TB_SETMETRIC
4520: 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30  S = WM_USER + 10
4530: 32 2c 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a  2,..    }..}....
4540: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
4550: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 36 30 30  2_WINNT >= 0x600
4560: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 20 20  ) {...enum {..  
4570: 20 20 20 20 20 20 54 42 5f 47 45 54 49 54 45 4d        TB_GETITEM
4580: 44 52 4f 50 44 4f 57 4e 52 45 43 54 20 3d 20 57  DROPDOWNRECT = W
4590: 4d 5f 55 53 45 52 20 2b 20 31 30 33 2c 0d 0a 20  M_USER + 103,.. 
45a0: 20 20 20 20 20 20 20 54 42 5f 53 45 54 50 52 45         TB_SETPRE
45b0: 53 53 45 44 49 4d 41 47 45 4c 49 53 54 20 3d 20  SSEDIMAGELIST = 
45c0: 57 4d 5f 55 53 45 52 20 2b 20 31 30 34 2c 0d 0a  WM_USER + 104,..
45d0: 20 20 20 20 20 20 20 20 54 42 5f 47 45 54 50 52          TB_GETPR
45e0: 45 53 53 45 44 49 4d 41 47 45 4c 49 53 54 20 3d  ESSEDIMAGELIST =
45f0: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 35 2c 0d   WM_USER + 105,.
4600: 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 63 6f 6e  .    }..}....con
4610: 73 74 20 54 42 42 46 5f 4c 41 52 47 45 20 3d 20  st TBBF_LARGE = 
4620: 31 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54  1;....enum {...T
4630: 42 4e 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f  BN_GETBUTTONINFO
4640: 41 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 30  A = TBN_FIRST -0
4650: 2c 0d 0a 09 54 42 4e 5f 42 45 47 49 4e 44 52 41  ,...TBN_BEGINDRA
4660: 47 20 20 20 20 20 20 3d 20 54 42 4e 5f 46 49 52  G      = TBN_FIR
4670: 53 54 20 2d 31 2c 0d 0a 09 54 42 4e 5f 45 4e 44  ST -1,...TBN_END
4680: 44 52 41 47 20 20 20 20 20 20 20 20 3d 20 54 42  DRAG        = TB
4690: 4e 5f 46 49 52 53 54 20 2d 32 2c 0d 0a 09 54 42  N_FIRST -2,...TB
46a0: 4e 5f 42 45 47 49 4e 41 44 4a 55 53 54 20 20 20  N_BEGINADJUST   
46b0: 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 33 2c   = TBN_FIRST -3,
46c0: 0d 0a 09 54 42 4e 5f 45 4e 44 41 44 4a 55 53 54  ...TBN_ENDADJUST
46d0: 20 20 20 20 20 20 3d 20 54 42 4e 5f 46 49 52 53        = TBN_FIRS
46e0: 54 20 2d 34 2c 0d 0a 09 54 42 4e 5f 52 45 53 45  T -4,...TBN_RESE
46f0: 54 20 20 20 20 20 20 20 20 20 20 3d 20 54 42 4e  T          = TBN
4700: 5f 46 49 52 53 54 20 2d 35 2c 0d 0a 09 54 42 4e  _FIRST -5,...TBN
4710: 5f 51 55 45 52 59 49 4e 53 45 52 54 20 20 20 20  _QUERYINSERT    
4720: 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 36 2c 0d  = TBN_FIRST -6,.
4730: 0a 09 54 42 4e 5f 51 55 45 52 59 44 45 4c 45 54  ..TBN_QUERYDELET
4740: 45 20 20 20 20 3d 20 54 42 4e 5f 46 49 52 53 54  E    = TBN_FIRST
4750: 20 2d 37 2c 0d 0a 09 54 42 4e 5f 54 4f 4f 4c 42   -7,...TBN_TOOLB
4760: 41 52 43 48 41 4e 47 45 20 20 3d 20 54 42 4e 5f  ARCHANGE  = TBN_
4770: 46 49 52 53 54 20 2d 38 2c 0d 0a 09 54 42 4e 5f  FIRST -8,...TBN_
4780: 43 55 53 54 48 45 4c 50 20 20 20 20 20 20 20 3d  CUSTHELP       =
4790: 20 54 42 4e 5f 46 49 52 53 54 20 2d 39 0d 0a 7d   TBN_FIRST -9..}
47a0: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
47b0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29  N32_IE >= 0x300)
47c0: 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54   {...enum {....T
47d0: 42 4e 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 54 42  BN_DROPDOWN = TB
47e0: 4e 5f 46 49 52 53 54 20 2d 20 31 30 0d 0a 09 7d  N_FIRST - 10...}
47f0: 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66 20 28  ..}..static if (
4800: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34  _WIN32_IE >= 0x4
4810: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
4820: 09 09 54 42 4e 5f 48 4f 54 49 54 45 4d 43 48 41  ..TBN_HOTITEMCHA
4830: 4e 47 45 20 20 3d 20 54 42 4e 5f 46 49 52 53 54  NGE  = TBN_FIRST
4840: 20 2d 20 31 33 2c 0d 0a 09 09 54 42 4e 5f 44 52   - 13,....TBN_DR
4850: 41 47 4f 55 54 20 20 20 20 20 20 20 20 3d 20 54  AGOUT        = T
4860: 42 4e 5f 46 49 52 53 54 20 2d 20 31 34 2c 0d 0a  BN_FIRST - 14,..
4870: 09 09 54 42 4e 5f 44 45 4c 45 54 49 4e 47 42 55  ..TBN_DELETINGBU
4880: 54 54 4f 4e 20 3d 20 54 42 4e 5f 46 49 52 53 54  TTON = TBN_FIRST
4890: 20 2d 20 31 35 2c 0d 0a 09 09 54 42 4e 5f 47 45   - 15,....TBN_GE
48a0: 54 44 49 53 50 49 4e 46 4f 41 20 20 20 3d 20 54  TDISPINFOA   = T
48b0: 42 4e 5f 46 49 52 53 54 20 2d 20 31 36 2c 0d 0a  BN_FIRST - 16,..
48c0: 09 09 54 42 4e 5f 47 45 54 44 49 53 50 49 4e 46  ..TBN_GETDISPINF
48d0: 4f 57 20 20 20 3d 20 54 42 4e 5f 46 49 52 53 54  OW   = TBN_FIRST
48e0: 20 2d 20 31 37 2c 0d 0a 09 09 54 42 4e 5f 47 45   - 17,....TBN_GE
48f0: 54 49 4e 46 4f 54 49 50 41 20 20 20 20 3d 20 54  TINFOTIPA    = T
4900: 42 4e 5f 46 49 52 53 54 20 2d 20 31 38 2c 0d 0a  BN_FIRST - 18,..
4910: 09 09 54 42 4e 5f 47 45 54 49 4e 46 4f 54 49 50  ..TBN_GETINFOTIP
4920: 57 20 20 20 20 3d 20 54 42 4e 5f 46 49 52 53 54  W    = TBN_FIRST
4930: 20 2d 20 31 39 2c 0d 0a 09 09 54 42 4e 5f 47 45   - 19,....TBN_GE
4940: 54 42 55 54 54 4f 4e 49 4e 46 4f 57 20 3d 20 54  TBUTTONINFOW = T
4950: 42 4e 5f 46 49 52 53 54 20 2d 20 32 30 0d 0a 09  BN_FIRST - 20...
4960: 7d 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69 66 20  }..}..static if 
4970: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
4980: 35 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d  500) {...enum {.
4990: 0a 09 09 54 42 4e 5f 52 45 53 54 4f 52 45 20 20  ...TBN_RESTORE  
49a0: 20 20 20 20 20 3d 20 54 42 4e 5f 46 49 52 53 54       = TBN_FIRST
49b0: 20 2d 20 32 31 2c 0d 0a 09 09 54 42 4e 5f 53 41   - 21,....TBN_SA
49c0: 56 45 20 20 20 20 20 20 20 20 20 20 3d 20 54 42  VE          = TB
49d0: 4e 5f 46 49 52 53 54 20 2d 20 32 32 2c 0d 0a 09  N_FIRST - 22,...
49e0: 09 54 42 4e 5f 49 4e 49 54 43 55 53 54 4f 4d 49  .TBN_INITCUSTOMI
49f0: 5a 45 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d  ZE = TBN_FIRST -
4a00: 20 32 33 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d   23...}.....enum
4a10: 20 7b 0d 0a 09 09 54 42 4e 52 46 5f 48 49 44 45   {....TBNRF_HIDE
4a20: 48 45 4c 50 20 3d 20 31 2c 0d 0a 09 09 54 42 4e  HELP = 1,....TBN
4a30: 52 46 5f 45 4e 44 43 55 53 54 4f 4d 49 5a 45 0d  RF_ENDCUSTOMIZE.
4a40: 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  ..}.....enum {..
4a50: 09 09 54 42 4e 46 5f 49 4d 41 47 45 20 20 20 20  ..TBNF_IMAGE    
4a60: 20 20 3d 20 31 2c 0d 0a 09 09 54 42 4e 46 5f 54    = 1,....TBNF_T
4a70: 45 58 54 20 20 20 20 20 20 20 3d 20 32 2c 0d 0a  EXT       = 2,..
4a80: 09 09 54 42 4e 46 5f 44 49 5f 53 45 54 49 54 45  ..TBNF_DI_SETITE
4a90: 4d 20 3d 20 30 78 31 30 30 30 30 30 30 30 0d 0a  M = 0x10000000..
4aa0: 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d  .}..}....enum {.
4ab0: 0a 09 54 54 53 5f 41 4c 57 41 59 53 54 49 50 20  ..TTS_ALWAYSTIP 
4ac0: 3d 20 31 2c 0d 0a 09 54 54 53 5f 4e 4f 50 52 45  = 1,...TTS_NOPRE
4ad0: 46 49 58 0d 0a 7d 0d 0a 73 74 61 74 69 63 20 69  FIX..}..static i
4ae0: 66 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30  f(_WIN32_IE >= 0
4af0: 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x500) {...enum {
4b00: 0d 0a 09 09 54 54 53 5f 4e 4f 41 4e 49 4d 41 54  ....TTS_NOANIMAT
4b10: 45 20 3d 20 30 78 31 30 2c 0d 0a 09 09 54 54 53  E = 0x10,....TTS
4b20: 5f 4e 4f 46 41 44 45 20 20 20 20 3d 20 30 78 32  _NOFADE    = 0x2
4b30: 30 2c 0d 0a 09 09 54 54 53 5f 42 41 4c 4c 4f 4f  0,....TTS_BALLOO
4b40: 4e 20 20 20 3d 20 30 78 34 30 2c 0d 0a 09 09 54  N   = 0x40,....T
4b50: 54 53 5f 43 4c 4f 53 45 20 20 20 20 20 3d 20 30  TS_CLOSE     = 0
4b60: 78 38 30 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e  x80...}..}....en
4b70: 75 6d 20 7b 0d 0a 09 54 54 46 5f 49 44 49 53 48  um {...TTF_IDISH
4b80: 57 4e 44 20 20 20 3d 20 31 2c 0d 0a 09 54 54 46  WND   = 1,...TTF
4b90: 5f 43 45 4e 54 45 52 54 49 50 20 20 3d 20 32 2c  _CENTERTIP  = 2,
4ba0: 0d 0a 09 54 54 46 5f 52 54 4c 52 45 41 44 49 4e  ...TTF_RTLREADIN
4bb0: 47 20 3d 20 34 2c 0d 0a 09 54 54 46 5f 53 55 42  G = 4,...TTF_SUB
4bc0: 43 4c 41 53 53 20 20 20 3d 20 31 36 0d 0a 7d 0d  CLASS   = 16..}.
4bd0: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
4be0: 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29 20  32_IE >= 0x300) 
4bf0: 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54 54  {...enum {....TT
4c00: 46 5f 54 52 41 43 4b 20 20 20 20 20 20 20 3d 20  F_TRACK       = 
4c10: 30 78 30 30 32 30 2c 0d 0a 09 09 54 54 46 5f 41  0x0020,....TTF_A
4c20: 42 53 4f 4c 55 54 45 20 20 20 20 3d 20 30 78 30  BSOLUTE    = 0x0
4c30: 30 38 30 2c 0d 0a 09 09 54 54 46 5f 54 52 41 4e  080,....TTF_TRAN
4c40: 53 50 41 52 45 4e 54 20 3d 20 30 78 30 31 30 30  SPARENT = 0x0100
4c50: 2c 0d 0a 09 09 54 54 46 5f 44 49 5f 53 45 54 49  ,....TTF_DI_SETI
4c60: 54 45 4d 20 20 3d 20 30 78 38 30 30 30 0d 0a 09  TEM  = 0x8000...
4c70: 7d 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69 66 20  }.....static if 
4c80: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
4c90: 35 30 31 29 20 7b 0d 0a 09 09 65 6e 75 6d 20 7b  501) {....enum {
4ca0: 0d 0a 09 09 09 54 54 46 5f 50 41 52 53 45 4c 49  .....TTF_PARSELI
4cb0: 4e 4b 53 20 3d 20 30 78 31 30 30 30 0d 0a 09 09  NKS = 0x1000....
4cc0: 7d 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b  }...}.....enum {
4cd0: 0d 0a 09 09 54 42 43 44 5f 54 49 43 53 20 3d 20  ....TBCD_TICS = 
4ce0: 31 2c 0d 0a 09 09 54 42 43 44 5f 54 48 55 4d 42  1,....TBCD_THUMB
4cf0: 2c 0d 0a 09 09 54 42 43 44 5f 43 48 41 4e 4e 45  ,....TBCD_CHANNE
4d00: 4c 20 2f 2f 20 3d 20 33 0d 0a 09 7d 0d 0a 7d 0d  L // = 3...}..}.
4d10: 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
4d20: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30  IN32_IE >= 0x400
4d30: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  ) {...enum {....
4d40: 54 42 44 44 52 45 54 5f 44 45 46 41 55 4c 54 2c  TBDDRET_DEFAULT,
4d50: 0d 0a 09 09 54 42 44 44 52 45 54 5f 4e 4f 44 45  ....TBDDRET_NODE
4d60: 46 41 55 4c 54 2c 0d 0a 09 09 54 42 44 44 52 45  FAULT,....TBDDRE
4d70: 54 5f 54 52 45 41 54 50 52 45 53 53 45 44 0d 0a  T_TREATPRESSED..
4d80: 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  .}.....enum {...
4d90: 09 54 42 49 4d 48 54 5f 41 46 54 45 52 20 3d 20  .TBIMHT_AFTER = 
4da0: 31 2c 0d 0a 09 09 54 42 49 4d 48 54 5f 42 41 43  1,....TBIMHT_BAC
4db0: 4b 47 52 4f 55 4e 44 0d 0a 09 7d 0d 0a 7d 0d 0a  KGROUND...}..}..
4dc0: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 54 44 54 5f  ..enum {...TTDT_
4dd0: 41 55 54 4f 4d 41 54 49 43 2c 0d 0a 09 54 54 44  AUTOMATIC,...TTD
4de0: 54 5f 52 45 53 48 4f 57 2c 0d 0a 09 54 54 44 54  T_RESHOW,...TTDT
4df0: 5f 41 55 54 4f 50 4f 50 2c 0d 0a 09 54 54 44 54  _AUTOPOP,...TTDT
4e00: 5f 49 4e 49 54 49 41 4c 0d 0a 7d 0d 0a 0d 0a 65  _INITIAL..}....e
4e10: 6e 75 6d 20 7b 0d 0a 09 54 54 4d 5f 41 43 54 49  num {...TTM_ACTI
4e20: 56 41 54 45 20 20 20 20 20 20 20 20 3d 20 57 4d  VATE        = WM
4e30: 5f 55 53 45 52 20 2b 20 31 2c 0d 0a 09 54 54 4d  _USER + 1,...TTM
4e40: 5f 53 45 54 44 45 4c 41 59 54 49 4d 45 20 20 20  _SETDELAYTIME   
4e50: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 2c 0d   = WM_USER + 3,.
4e60: 0a 09 54 54 4d 5f 41 44 44 54 4f 4f 4c 41 2c 0d  ..TTM_ADDTOOLA,.
4e70: 0a 09 54 54 4d 5f 44 45 4c 54 4f 4f 4c 41 2c 0d  ..TTM_DELTOOLA,.
4e80: 0a 09 54 54 4d 5f 4e 45 57 54 4f 4f 4c 52 45 43  ..TTM_NEWTOOLREC
4e90: 54 41 2c 0d 0a 09 54 54 4d 5f 52 45 4c 41 59 45  TA,...TTM_RELAYE
4ea0: 56 45 4e 54 2c 0d 0a 09 54 54 4d 5f 47 45 54 54  VENT,...TTM_GETT
4eb0: 4f 4f 4c 49 4e 46 4f 41 2c 0d 0a 09 54 54 4d 5f  OOLINFOA,...TTM_
4ec0: 53 45 54 54 4f 4f 4c 49 4e 46 4f 41 2c 0d 0a 09  SETTOOLINFOA,...
4ed0: 54 54 4d 5f 48 49 54 54 45 53 54 41 2c 0d 0a 09  TTM_HITTESTA,...
4ee0: 54 54 4d 5f 47 45 54 54 45 58 54 41 2c 0d 0a 09  TTM_GETTEXTA,...
4ef0: 54 54 4d 5f 55 50 44 41 54 45 54 49 50 54 45 58  TTM_UPDATETIPTEX
4f00: 54 41 2c 0d 0a 09 54 54 4d 5f 47 45 54 54 4f 4f  TA,...TTM_GETTOO
4f10: 4c 43 4f 55 4e 54 2c 0d 0a 09 54 54 4d 5f 45 4e  LCOUNT,...TTM_EN
4f20: 55 4d 54 4f 4f 4c 53 41 2c 0d 0a 09 54 54 4d 5f  UMTOOLSA,...TTM_
4f30: 47 45 54 43 55 52 52 45 4e 54 54 4f 4f 4c 41 2c  GETCURRENTTOOLA,
4f40: 0d 0a 09 54 54 4d 5f 57 49 4e 44 4f 57 46 52 4f  ...TTM_WINDOWFRO
4f50: 4d 50 4f 49 4e 54 2c 20 2f 2f 20 3d 20 57 4d 5f  MPOINT, // = WM_
4f60: 55 53 45 52 20 2b 20 31 36 0d 0a 09 54 54 4d 5f  USER + 16...TTM_
4f70: 41 44 44 54 4f 4f 4c 57 20 20 20 20 20 20 20 20  ADDTOOLW        
4f80: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 30 2c 0d  = WM_USER + 50,.
4f90: 0a 09 54 54 4d 5f 44 45 4c 54 4f 4f 4c 57 2c 0d  ..TTM_DELTOOLW,.
4fa0: 0a 09 54 54 4d 5f 4e 45 57 54 4f 4f 4c 52 45 43  ..TTM_NEWTOOLREC
4fb0: 54 57 2c 0d 0a 09 54 54 4d 5f 47 45 54 54 4f 4f  TW,...TTM_GETTOO
4fc0: 4c 49 4e 46 4f 57 2c 0d 0a 09 54 54 4d 5f 53 45  LINFOW,...TTM_SE
4fd0: 54 54 4f 4f 4c 49 4e 46 4f 57 2c 0d 0a 09 54 54  TTOOLINFOW,...TT
4fe0: 4d 5f 48 49 54 54 45 53 54 57 2c 0d 0a 09 54 54  M_HITTESTW,...TT
4ff0: 4d 5f 47 45 54 54 45 58 54 57 2c 0d 0a 09 54 54  M_GETTEXTW,...TT
5000: 4d 5f 55 50 44 41 54 45 54 49 50 54 45 58 54 57  M_UPDATETIPTEXTW
5010: 2c 0d 0a 09 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c  ,...TTM_ENUMTOOL
5020: 53 57 2c 0d 0a 09 54 54 4d 5f 47 45 54 43 55 52  SW,...TTM_GETCUR
5030: 52 45 4e 54 54 4f 4f 4c 57 20 2f 2f 20 3d 20 57  RENTTOOLW // = W
5040: 4d 5f 55 53 45 52 20 2b 20 35 39 0d 0a 7d 0d 0a  M_USER + 59..}..
5050: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
5060: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29  N32_IE >= 0x300)
5070: 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54   {...enum {....T
5080: 54 4d 5f 54 52 41 43 4b 41 43 54 49 56 41 54 45  TM_TRACKACTIVATE
5090: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 37 2c   = WM_USER + 17,
50a0: 0d 0a 09 09 54 54 4d 5f 54 52 41 43 4b 50 4f 53  ....TTM_TRACKPOS
50b0: 49 54 49 4f 4e 2c 0d 0a 09 09 54 54 4d 5f 53 45  ITION,....TTM_SE
50c0: 54 54 49 50 42 4b 43 4f 4c 4f 52 2c 0d 0a 09 09  TTIPBKCOLOR,....
50d0: 54 54 4d 5f 53 45 54 54 49 50 54 45 58 54 43 4f  TTM_SETTIPTEXTCO
50e0: 4c 4f 52 2c 0d 0a 09 09 54 54 4d 5f 47 45 54 44  LOR,....TTM_GETD
50f0: 45 4c 41 59 54 49 4d 45 2c 0d 0a 09 09 54 54 4d  ELAYTIME,....TTM
5100: 5f 47 45 54 54 49 50 42 4b 43 4f 4c 4f 52 2c 0d  _GETTIPBKCOLOR,.
5110: 0a 09 09 54 54 4d 5f 47 45 54 54 49 50 54 45 58  ...TTM_GETTIPTEX
5120: 54 43 4f 4c 4f 52 2c 0d 0a 09 09 54 54 4d 5f 53  TCOLOR,....TTM_S
5130: 45 54 4d 41 58 54 49 50 57 49 44 54 48 2c 0d 0a  ETMAXTIPWIDTH,..
5140: 09 09 54 54 4d 5f 47 45 54 4d 41 58 54 49 50 57  ..TTM_GETMAXTIPW
5150: 49 44 54 48 2c 0d 0a 09 09 54 54 4d 5f 53 45 54  IDTH,....TTM_SET
5160: 4d 41 52 47 49 4e 2c 0d 0a 09 09 54 54 4d 5f 47  MARGIN,....TTM_G
5170: 45 54 4d 41 52 47 49 4e 2c 0d 0a 09 09 54 54 4d  ETMARGIN,....TTM
5180: 5f 50 4f 50 20 2f 2f 20 3d 20 57 4d 5f 55 53 45  _POP // = WM_USE
5190: 52 20 2b 20 32 38 0d 0a 09 7d 0d 0a 7d 0d 0a 0d  R + 28...}..}...
51a0: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
51b0: 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20  32_IE >= 0x400) 
51c0: 7b 20 20 2f 2f 20 49 45 34 2e 30 20 3f 3f 3f 0d  {  // IE4.0 ???.
51d0: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54 54 4d 5f  ..enum {....TTM_
51e0: 55 50 44 41 54 45 20 3d 20 57 4d 5f 55 53 45 52  UPDATE = WM_USER
51f0: 20 2b 20 32 39 2c 0d 0a 09 09 54 54 4d 5f 47 45   + 29,....TTM_GE
5200: 54 42 55 42 42 4c 45 53 49 5a 45 2c 0d 0a 09 09  TBUBBLESIZE,....
5210: 54 54 4d 5f 41 44 4a 55 53 54 52 45 43 54 2c 0d  TTM_ADJUSTRECT,.
5220: 0a 09 09 54 54 4d 5f 53 45 54 54 49 54 4c 45 41  ...TTM_SETTITLEA
5230: 2c 0d 0a 09 09 54 54 4d 5f 53 45 54 54 49 54 4c  ,....TTM_SETTITL
5240: 45 57 20 2f 2f 20 3d 20 57 4d 5f 55 53 45 52 20  EW // = WM_USER 
5250: 2b 20 33 33 0d 0a 09 7d 0d 0a 20 20 20 20 73 74  + 33...}..    st
5260: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
5270: 49 45 20 3e 3d 20 30 78 35 30 30 29 0d 0a 20 20  IE >= 0x500)..  
5280: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 61 6c 69    {..        ali
5290: 61 73 20 54 54 4d 5f 53 45 54 54 49 54 4c 45 57  as TTM_SETTITLEW
52a0: 20 54 54 4d 5f 53 45 54 54 49 54 4c 45 3b 0d 0a   TTM_SETTITLE;..
52b0: 20 20 20 20 7d 0d 0a 20 20 20 20 65 6c 73 65 0d      }..    else.
52c0: 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20  .    {..        
52d0: 61 6c 69 61 73 20 54 54 4d 5f 53 45 54 54 49 54  alias TTM_SETTIT
52e0: 4c 45 41 20 54 54 4d 5f 53 45 54 54 49 54 4c 45  LEA TTM_SETTITLE
52f0: 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 73  ;..    }..}....s
5300: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
5310: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29  _WINNT >= 0x501)
5320: 20 7b 0d 0a 20 20 20 20 65 6e 75 6d 20 7b 0d 0a   {..    enum {..
5330: 20 20 20 20 20 20 20 20 54 54 4d 5f 50 4f 50 55          TTM_POPU
5340: 50 20 3d 20 28 57 4d 5f 55 53 45 52 20 2b 20 33  P = (WM_USER + 3
5350: 34 29 2c 0d 0a 20 20 20 20 20 20 20 20 54 54 4d  4),..        TTM
5360: 5f 47 45 54 54 49 54 4c 45 20 3d 20 28 57 4d 5f  _GETTITLE = (WM_
5370: 55 53 45 52 20 2b 20 33 35 29 2c 0d 0a 20 20 20  USER + 35),..   
5380: 20 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d   }..}....enum {.
5390: 0a 09 54 54 4e 5f 47 45 54 44 49 53 50 49 4e 46  ..TTN_GETDISPINF
53a0: 4f 41 20 3d 20 54 54 4e 5f 46 49 52 53 54 20 2d  OA = TTN_FIRST -
53b0: 20 30 2c 0d 0a 09 54 54 4e 5f 47 45 54 44 49 53   0,...TTN_GETDIS
53c0: 50 49 4e 46 4f 57 20 3d 20 54 54 4e 5f 46 49 52  PINFOW = TTN_FIR
53d0: 53 54 20 2d 20 31 30 2c 0d 0a 09 54 54 4e 5f 4e  ST - 10,...TTN_N
53e0: 45 45 44 54 45 58 54 41 20 20 20 20 3d 20 54 54  EEDTEXTA    = TT
53f0: 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 2c 0d  N_GETDISPINFOA,.
5400: 0a 09 54 54 4e 5f 4e 45 45 44 54 45 58 54 57 20  ..TTN_NEEDTEXTW 
5410: 20 20 20 3d 20 54 54 4e 5f 47 45 54 44 49 53 50     = TTN_GETDISP
5420: 49 4e 46 4f 57 2c 0d 0a 09 54 54 4e 5f 53 48 4f  INFOW,...TTN_SHO
5430: 57 20 20 20 20 20 20 20 20 20 3d 20 54 54 4e 5f  W         = TTN_
5440: 46 49 52 53 54 2d 31 2c 0d 0a 09 54 54 4e 5f 50  FIRST-1,...TTN_P
5450: 4f 50 20 20 20 20 20 20 20 20 20 20 3d 20 54 54  OP          = TT
5460: 4e 5f 46 49 52 53 54 2d 32 0d 0a 7d 0d 0a 0d 0a  N_FIRST-2..}....
5470: 63 6f 6e 73 74 20 55 44 5f 4d 41 58 56 41 4c 20  const UD_MAXVAL 
5480: 3d 20 30 78 37 66 66 66 3b 0d 0a 63 6f 6e 73 74  = 0x7fff;..const
5490: 20 55 44 5f 4d 49 4e 56 41 4c 20 3d 20 2d 55 44   UD_MINVAL = -UD
54a0: 5f 4d 41 58 56 41 4c 3b 0d 0a 0d 0a 65 6e 75 6d  _MAXVAL;....enum
54b0: 20 7b 0d 0a 09 55 44 4e 5f 44 45 4c 54 41 50 4f   {...UDN_DELTAPO
54c0: 53 20 20 20 20 3d 20 55 44 4e 5f 46 49 52 53 54  S    = UDN_FIRST
54d0: 2d 31 2c 0d 0a 09 55 44 53 5f 57 52 41 50 20 20  -1,...UDS_WRAP  
54e0: 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09 55 44 53        = 1,...UDS
54f0: 5f 53 45 54 42 55 44 44 59 49 4e 54 20 3d 20 32  _SETBUDDYINT = 2
5500: 2c 0d 0a 09 55 44 53 5f 41 4c 49 47 4e 52 49 47  ,...UDS_ALIGNRIG
5510: 48 54 20 20 3d 20 34 2c 0d 0a 09 55 44 53 5f 41  HT  = 4,...UDS_A
5520: 4c 49 47 4e 4c 45 46 54 20 20 20 3d 20 38 2c 0d  LIGNLEFT   = 8,.
5530: 0a 09 55 44 53 5f 41 55 54 4f 42 55 44 44 59 20  ..UDS_AUTOBUDDY 
5540: 20 20 3d 20 31 36 2c 0d 0a 09 55 44 53 5f 41 52    = 16,...UDS_AR
5550: 52 4f 57 4b 45 59 53 20 20 20 3d 20 33 32 2c 0d  ROWKEYS   = 32,.
5560: 0a 09 55 44 53 5f 48 4f 52 5a 20 20 20 20 20 20  ..UDS_HORZ      
5570: 20 20 3d 20 36 34 2c 0d 0a 09 55 44 53 5f 4e 4f    = 64,...UDS_NO
5580: 54 48 4f 55 53 41 4e 44 53 20 3d 20 31 32 38 0d  THOUSANDS = 128.
5590: 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  .}....static if 
55a0: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
55b0: 33 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d  300) {...enum {.
55c0: 0a 09 09 55 44 53 5f 48 4f 54 54 52 41 43 4b 20  ...UDS_HOTTRACK 
55d0: 3d 20 30 78 30 31 30 30 0d 0a 09 7d 0d 0a 7d 0d  = 0x0100...}..}.
55e0: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 55 44 4d 5f  ...enum {...UDM_
55f0: 53 45 54 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53  SETRANGE = WM_US
5600: 45 52 20 2b 20 31 30 31 2c 0d 0a 09 55 44 4d 5f  ER + 101,...UDM_
5610: 47 45 54 52 41 4e 47 45 2c 0d 0a 09 55 44 4d 5f  GETRANGE,...UDM_
5620: 53 45 54 50 4f 53 2c 0d 0a 09 55 44 4d 5f 47 45  SETPOS,...UDM_GE
5630: 54 50 4f 53 2c 0d 0a 09 55 44 4d 5f 53 45 54 42  TPOS,...UDM_SETB
5640: 55 44 44 59 2c 0d 0a 09 55 44 4d 5f 47 45 54 42  UDDY,...UDM_GETB
5650: 55 44 44 59 2c 0d 0a 09 55 44 4d 5f 53 45 54 41  UDDY,...UDM_SETA
5660: 43 43 45 4c 2c 0d 0a 09 55 44 4d 5f 47 45 54 41  CCEL,...UDM_GETA
5670: 43 43 45 4c 2c 0d 0a 09 55 44 4d 5f 53 45 54 42  CCEL,...UDM_SETB
5680: 41 53 45 2c 0d 0a 09 55 44 4d 5f 47 45 54 42 41  ASE,...UDM_GETBA
5690: 53 45 20 2f 2f 20 3d 20 57 4d 5f 55 53 45 52 20  SE // = WM_USER 
56a0: 2b 20 31 31 30 0d 0a 7d 0d 0a 0d 0a 73 74 61 74  + 110..}....stat
56b0: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
56c0: 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 65   >= 0x400) {...e
56d0: 6e 75 6d 20 7b 0d 0a 09 09 55 44 4d 5f 53 45 54  num {....UDM_SET
56e0: 52 41 4e 47 45 33 32 20 3d 20 57 4d 5f 55 53 45  RANGE32 = WM_USE
56f0: 52 20 2b 20 31 31 31 2c 0d 0a 09 09 55 44 4d 5f  R + 111,....UDM_
5700: 47 45 54 52 41 4e 47 45 33 32 2c 0d 0a 09 09 55  GETRANGE32,....U
5710: 44 4d 5f 53 45 54 50 4f 53 33 32 2c 0d 0a 09 09  DM_SETPOS32,....
5720: 55 44 4d 5f 47 45 54 50 4f 53 33 32 20 2f 2f 20  UDM_GETPOS32 // 
5730: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31 34 0d  = WM_USER + 114.
5740: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63  ..}..}....static
5750: 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
5760: 3d 20 30 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75  = 0x500) {...enu
5770: 6d 20 7b 0d 0a 09 09 55 44 4d 5f 53 45 54 55 4e  m {....UDM_SETUN
5780: 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20 43 43  ICODEFORMAT = CC
5790: 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_SETUNICODEFORM
57a0: 41 54 2c 0d 0a 09 09 55 44 4d 5f 47 45 54 55 4e  AT,....UDM_GETUN
57b0: 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20 43 43  ICODEFORMAT = CC
57c0: 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_GETUNICODEFORM
57d0: 41 54 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 2f 2a 65  AT...}..}..../*e
57e0: 6e 75 6d 20 7b 0d 0a 09 53 42 5f 53 45 54 54 45  num {...SB_SETTE
57f0: 58 54 41 20 20 20 20 20 20 20 3d 20 57 4d 5f 55  XTA       = WM_U
5800: 53 45 52 20 2b 20 31 2c 0d 0a 09 53 42 5f 47 45  SER + 1,...SB_GE
5810: 54 54 45 58 54 41 2c 0d 0a 09 53 42 5f 47 45 54  TTEXTA,...SB_GET
5820: 54 45 58 54 4c 45 4e 47 54 48 41 2c 0d 0a 09 53  TEXTLENGTHA,...S
5830: 42 5f 53 45 54 50 41 52 54 53 2c 20 20 20 2f 2f  B_SETPARTS,   //
5840: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 0d 0a   = WM_USER + 4..
5850: 09 53 42 5f 47 45 54 50 41 52 54 53 20 20 20 20  .SB_GETPARTS    
5860: 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36     = WM_USER + 6
5870: 2c 0d 0a 09 53 42 5f 47 45 54 42 4f 52 44 45 52  ,...SB_GETBORDER
5880: 53 2c 0d 0a 09 53 42 5f 53 45 54 4d 49 4e 48 45  S,...SB_SETMINHE
5890: 49 47 48 54 2c 0d 0a 09 53 42 5f 53 49 4d 50 4c  IGHT,...SB_SIMPL
58a0: 45 2c 0d 0a 09 53 42 5f 47 45 54 52 45 43 54 2c  E,...SB_GETRECT,
58b0: 0d 0a 09 53 42 5f 53 45 54 54 45 58 54 57 2c 0d  ...SB_SETTEXTW,.
58c0: 0a 09 53 42 5f 47 45 54 54 45 58 54 4c 45 4e 47  ..SB_GETTEXTLENG
58d0: 54 48 57 2c 0d 0a 09 53 42 5f 47 45 54 54 45 58  THW,...SB_GETTEX
58e0: 54 57 20 20 20 20 2f 2f 20 3d 20 57 4d 5f 55 53  TW    // = WM_US
58f0: 45 52 20 2b 20 31 33 0d 0a 7d 2a 2f 0d 0a 0d 0a  ER + 13..}*/....
5900: 2f 2a 65 6e 75 6d 20 7b 0d 0a 09 53 42 54 5f 4f  /*enum {...SBT_O
5910: 57 4e 45 52 44 52 41 57 20 20 3d 20 30 78 31 30  WNERDRAW  = 0x10
5920: 30 30 2c 0d 0a 09 53 42 54 5f 4e 4f 42 4f 52 44  00,...SBT_NOBORD
5930: 45 52 53 20 20 3d 20 32 35 36 2c 0d 0a 09 53 42  ERS  = 256,...SB
5940: 54 5f 50 4f 50 4f 55 54 20 20 20 20 20 3d 20 35  T_POPOUT     = 5
5950: 31 32 2c 0d 0a 09 53 42 54 5f 52 54 4c 52 45 41  12,...SBT_RTLREA
5960: 44 49 4e 47 20 3d 20 31 30 32 34 0d 0a 7d 2a 2f  DING = 1024..}*/
5970: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 28 5f 57  ....static if(_W
5980: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30  IN32_IE >= 0x400
5990: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  ) {...enum {....
59a0: 53 42 54 5f 54 4f 4f 4c 54 49 50 53 20 20 20 20  SBT_TOOLTIPS    
59b0: 20 20 20 20 20 3d 20 30 78 30 38 30 30 2c 0d 0a       = 0x0800,..
59c0: 09 09 53 42 4e 5f 53 49 4d 50 4c 45 4d 4f 44 45  ..SBN_SIMPLEMODE
59d0: 43 48 41 4e 47 45 20 3d 20 53 42 4e 5f 46 49 52  CHANGE = SBN_FIR
59e0: 53 54 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75  ST...}..}....enu
59f0: 6d 20 7b 0d 0a 09 54 42 53 5f 41 55 54 4f 54 49  m {...TBS_AUTOTI
5a00: 43 4b 53 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09  CKS      = 1,...
5a10: 54 42 53 5f 56 45 52 54 20 20 20 20 20 20 20 20  TBS_VERT        
5a20: 20 20 20 3d 20 32 2c 0d 0a 09 54 42 53 5f 48 4f     = 2,...TBS_HO
5a30: 52 5a 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  RZ           = 0
5a40: 2c 0d 0a 09 54 42 53 5f 54 4f 50 20 20 20 20 20  ,...TBS_TOP     
5a50: 20 20 20 20 20 20 20 3d 20 34 2c 0d 0a 09 54 42         = 4,...TB
5a60: 53 5f 42 4f 54 54 4f 4d 20 20 20 20 20 20 20 20  S_BOTTOM        
5a70: 20 3d 20 30 2c 0d 0a 09 54 42 53 5f 4c 45 46 54   = 0,...TBS_LEFT
5a80: 20 20 20 20 20 20 20 20 20 20 20 3d 20 34 2c 0d             = 4,.
5a90: 0a 09 54 42 53 5f 52 49 47 48 54 20 20 20 20 20  ..TBS_RIGHT     
5aa0: 20 20 20 20 20 3d 20 30 2c 0d 0a 09 54 42 53 5f       = 0,...TBS_
5ab0: 42 4f 54 48 20 20 20 20 20 20 20 20 20 20 20 3d  BOTH           =
5ac0: 20 38 2c 0d 0a 09 54 42 53 5f 4e 4f 54 49 43 4b   8,...TBS_NOTICK
5ad0: 53 20 20 20 20 20 20 20 20 3d 20 31 36 2c 0d 0a  S        = 16,..
5ae0: 09 54 42 53 5f 45 4e 41 42 4c 45 53 45 4c 52 41  .TBS_ENABLESELRA
5af0: 4e 47 45 20 3d 20 33 32 2c 0d 0a 09 54 42 53 5f  NGE = 32,...TBS_
5b00: 46 49 58 45 44 4c 45 4e 47 54 48 20 20 20 20 3d  FIXEDLENGTH    =
5b10: 20 36 34 2c 0d 0a 09 54 42 53 5f 4e 4f 54 48 55   64,...TBS_NOTHU
5b20: 4d 42 20 20 20 20 20 20 20 20 3d 20 31 32 38 0d  MB        = 128.
5b30: 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  .}....static if 
5b40: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
5b50: 33 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d  300) {...enum {.
5b60: 0a 09 09 54 42 53 5f 54 4f 4f 4c 54 49 50 53 20  ...TBS_TOOLTIPS 
5b70: 3d 20 30 78 30 31 30 30 2c 0d 0a 09 09 54 42 54  = 0x0100,....TBT
5b80: 53 5f 54 4f 50 20 20 20 20 20 3d 20 30 2c 0d 0a  S_TOP     = 0,..
5b90: 09 09 54 42 54 53 5f 4c 45 46 54 2c 0d 0a 09 09  ..TBTS_LEFT,....
5ba0: 54 42 54 53 5f 42 4f 54 54 4f 4d 2c 0d 0a 09 09  TBTS_BOTTOM,....
5bb0: 54 42 54 53 5f 52 49 47 48 54 20 2f 2f 20 3d 20  TBTS_RIGHT // = 
5bc0: 33 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74  3...}..}....stat
5bd0: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
5be0: 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a 09 65   >= 0x500) {...e
5bf0: 6e 75 6d 20 7b 0d 0a 09 09 54 42 53 5f 52 45 56  num {....TBS_REV
5c00: 45 52 53 45 44 20 3d 20 30 78 30 32 30 30 0d 0a  ERSED = 0x0200..
5c10: 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20  .}..}....static 
5c20: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
5c30: 20 30 78 35 30 31 29 20 7b 0d 0a 09 65 6e 75 6d   0x501) {...enum
5c40: 20 7b 0d 0a 09 09 54 42 53 5f 44 4f 57 4e 49 53   {....TBS_DOWNIS
5c50: 4c 45 46 54 20 3d 20 30 78 30 34 30 30 0d 0a 09  LEFT = 0x0400...
5c60: 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69  }..}....static i
5c70: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
5c80: 30 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20  0x400) {...enum 
5c90: 7b 0d 0a 09 09 54 42 49 46 5f 42 59 49 4e 44 45  {....TBIF_BYINDE
5ca0: 58 20 3d 20 30 78 38 30 30 30 30 30 30 30 2c 0d  X = 0x80000000,.
5cb0: 0a 09 09 54 42 49 46 5f 43 4f 4d 4d 41 4e 44 20  ...TBIF_COMMAND 
5cc0: 3d 20 33 32 2c 0d 0a 09 09 54 42 49 46 5f 49 4d  = 32,....TBIF_IM
5cd0: 41 47 45 20 20 20 3d 20 31 2c 0d 0a 09 09 54 42  AGE   = 1,....TB
5ce0: 49 46 5f 4c 50 41 52 41 4d 20 20 3d 20 31 36 2c  IF_LPARAM  = 16,
5cf0: 0d 0a 09 09 54 42 49 46 5f 53 49 5a 45 20 20 20  ....TBIF_SIZE   
5d00: 20 3d 20 36 34 2c 0d 0a 09 09 54 42 49 46 5f 53   = 64,....TBIF_S
5d10: 54 41 54 45 20 20 20 3d 20 34 2c 0d 0a 09 09 54  TATE   = 4,....T
5d20: 42 49 46 5f 53 54 59 4c 45 20 20 20 3d 20 38 2c  BIF_STYLE   = 8,
5d30: 0d 0a 09 09 54 42 49 46 5f 54 45 58 54 20 20 20  ....TBIF_TEXT   
5d40: 20 3d 20 32 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65   = 2...}..}....e
5d50: 6e 75 6d 20 7b 0d 0a 09 54 42 4d 5f 47 45 54 50  num {...TBM_GETP
5d60: 4f 53 20 20 20 20 20 20 20 20 20 20 20 3d 20 57  OS           = W
5d70: 4d 5f 55 53 45 52 2c 0d 0a 09 54 42 4d 5f 47 45  M_USER,...TBM_GE
5d80: 54 52 41 4e 47 45 4d 49 4e 2c 0d 0a 09 54 42 4d  TRANGEMIN,...TBM
5d90: 5f 47 45 54 52 41 4e 47 45 4d 41 58 2c 0d 0a 09  _GETRANGEMAX,...
5da0: 54 42 4d 5f 47 45 54 54 49 43 2c 0d 0a 09 54 42  TBM_GETTIC,...TB
5db0: 4d 5f 53 45 54 54 49 43 2c 0d 0a 09 54 42 4d 5f  M_SETTIC,...TBM_
5dc0: 53 45 54 50 4f 53 2c 0d 0a 09 54 42 4d 5f 53 45  SETPOS,...TBM_SE
5dd0: 54 52 41 4e 47 45 2c 0d 0a 09 54 42 4d 5f 53 45  TRANGE,...TBM_SE
5de0: 54 52 41 4e 47 45 4d 49 4e 2c 0d 0a 09 54 42 4d  TRANGEMIN,...TBM
5df0: 5f 53 45 54 52 41 4e 47 45 4d 41 58 2c 0d 0a 09  _SETRANGEMAX,...
5e00: 54 42 4d 5f 43 4c 45 41 52 54 49 43 53 2c 0d 0a  TBM_CLEARTICS,..
5e10: 09 54 42 4d 5f 53 45 54 53 45 4c 2c 0d 0a 09 54  .TBM_SETSEL,...T
5e20: 42 4d 5f 53 45 54 53 45 4c 53 54 41 52 54 2c 0d  BM_SETSELSTART,.
5e30: 0a 09 54 42 4d 5f 53 45 54 53 45 4c 45 4e 44 2c  ..TBM_SETSELEND,
5e40: 20 20 20 20 2f 2f 20 3d 20 57 4d 5f 55 53 45 52      // = WM_USER
5e50: 2b 31 32 2c 0d 0a 09 54 42 4d 5f 47 45 54 50 54  +12,...TBM_GETPT
5e60: 49 43 53 20 20 20 20 20 20 20 20 20 3d 20 57 4d  ICS         = WM
5e70: 5f 55 53 45 52 2b 31 34 2c 0d 0a 09 54 42 4d 5f  _USER+14,...TBM_
5e80: 47 45 54 54 49 43 50 4f 53 2c 0d 0a 09 54 42 4d  GETTICPOS,...TBM
5e90: 5f 47 45 54 4e 55 4d 54 49 43 53 2c 0d 0a 09 54  _GETNUMTICS,...T
5ea0: 42 4d 5f 47 45 54 53 45 4c 53 54 41 52 54 2c 0d  BM_GETSELSTART,.
5eb0: 0a 09 54 42 4d 5f 47 45 54 53 45 4c 45 4e 44 2c  ..TBM_GETSELEND,
5ec0: 0d 0a 09 54 42 4d 5f 43 4c 45 41 52 53 45 4c 2c  ...TBM_CLEARSEL,
5ed0: 0d 0a 09 54 42 4d 5f 53 45 54 54 49 43 46 52 45  ...TBM_SETTICFRE
5ee0: 51 2c 0d 0a 09 54 42 4d 5f 53 45 54 50 41 47 45  Q,...TBM_SETPAGE
5ef0: 53 49 5a 45 2c 0d 0a 09 54 42 4d 5f 47 45 54 50  SIZE,...TBM_GETP
5f00: 41 47 45 53 49 5a 45 2c 0d 0a 09 54 42 4d 5f 53  AGESIZE,...TBM_S
5f10: 45 54 4c 49 4e 45 53 49 5a 45 2c 0d 0a 09 54 42  ETLINESIZE,...TB
5f20: 4d 5f 47 45 54 4c 49 4e 45 53 49 5a 45 2c 0d 0a  M_GETLINESIZE,..
5f30: 09 54 42 4d 5f 47 45 54 54 48 55 4d 42 52 45 43  .TBM_GETTHUMBREC
5f40: 54 2c 0d 0a 09 54 42 4d 5f 47 45 54 43 48 41 4e  T,...TBM_GETCHAN
5f50: 4e 45 4c 52 45 43 54 2c 0d 0a 09 54 42 4d 5f 53  NELRECT,...TBM_S
5f60: 45 54 54 48 55 4d 42 4c 45 4e 47 54 48 2c 0d 0a  ETTHUMBLENGTH,..
5f70: 09 54 42 4d 5f 47 45 54 54 48 55 4d 42 4c 45 4e  .TBM_GETTHUMBLEN
5f80: 47 54 48 2c 0d 0a 09 54 42 4d 5f 53 45 54 54 4f  GTH,...TBM_SETTO
5f90: 4f 4c 54 49 50 53 2c 0d 0a 09 54 42 4d 5f 47 45  OLTIPS,...TBM_GE
5fa0: 54 54 4f 4f 4c 54 49 50 53 2c 0d 0a 09 54 42 4d  TTOOLTIPS,...TBM
5fb0: 5f 53 45 54 54 49 50 53 49 44 45 2c 0d 0a 09 54  _SETTIPSIDE,...T
5fc0: 42 4d 5f 53 45 54 42 55 44 44 59 2c 0d 0a 09 54  BM_SETBUDDY,...T
5fd0: 42 4d 5f 47 45 54 42 55 44 44 59 2c 20 2f 2f 20  BM_GETBUDDY, // 
5fe0: 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 2b 33 33      = WM_USER+33
5ff0: 2c 0d 0a 09 54 42 4d 5f 47 45 54 55 4e 49 43 4f  ,...TBM_GETUNICO
6000: 44 45 46 4f 52 4d 41 54 20 3d 20 43 43 4d 5f 47  DEFORMAT = CCM_G
6010: 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c  ETUNICODEFORMAT,
6020: 0d 0a 09 54 42 4d 5f 53 45 54 55 4e 49 43 4f 44  ...TBM_SETUNICOD
6030: 45 46 4f 52 4d 41 54 20 3d 20 43 43 4d 5f 53 45  EFORMAT = CCM_SE
6040: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 0d 0a  TUNICODEFORMAT..
6050: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 42  }....enum {...TB
6060: 5f 4c 49 4e 45 55 50 2c 0d 0a 09 54 42 5f 4c 49  _LINEUP,...TB_LI
6070: 4e 45 44 4f 57 4e 2c 0d 0a 09 54 42 5f 50 41 47  NEDOWN,...TB_PAG
6080: 45 55 50 2c 0d 0a 09 54 42 5f 50 41 47 45 44 4f  EUP,...TB_PAGEDO
6090: 57 4e 2c 0d 0a 09 54 42 5f 54 48 55 4d 42 50 4f  WN,...TB_THUMBPO
60a0: 53 49 54 49 4f 4e 2c 0d 0a 09 54 42 5f 54 48 55  SITION,...TB_THU
60b0: 4d 42 54 52 41 43 4b 2c 0d 0a 09 54 42 5f 54 4f  MBTRACK,...TB_TO
60c0: 50 2c 0d 0a 09 54 42 5f 42 4f 54 54 4f 4d 2c 0d  P,...TB_BOTTOM,.
60d0: 0a 09 54 42 5f 45 4e 44 54 52 41 43 4b 20 2f 2f  ..TB_ENDTRACK //
60e0: 20 3d 20 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20   = 8..}....enum 
60f0: 7b 0d 0a 09 48 4f 54 4b 45 59 46 5f 53 48 49 46  {...HOTKEYF_SHIF
6100: 54 20 20 20 3d 20 31 2c 0d 0a 09 48 4f 54 4b 45  T   = 1,...HOTKE
6110: 59 46 5f 43 4f 4e 54 52 4f 4c 20 3d 20 32 2c 0d  YF_CONTROL = 2,.
6120: 0a 09 48 4f 54 4b 45 59 46 5f 41 4c 54 20 20 20  ..HOTKEYF_ALT   
6130: 20 20 3d 20 34 2c 0d 0a 09 48 4f 54 4b 45 59 46    = 4,...HOTKEYF
6140: 5f 45 58 54 20 20 20 20 20 3d 20 38 0d 0a 7d 0d  _EXT     = 8..}.
6150: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 48 4b 43 4f  ...enum {...HKCO
6160: 4d 42 5f 4e 4f 4e 45 20 3d 20 31 2c 0d 0a 09 48  MB_NONE = 1,...H
6170: 4b 43 4f 4d 42 5f 53 20 20 20 20 3d 20 32 2c 0d  KCOMB_S    = 2,.
6180: 0a 09 48 4b 43 4f 4d 42 5f 43 20 20 20 20 3d 20  ..HKCOMB_C    = 
6190: 34 2c 0d 0a 09 48 4b 43 4f 4d 42 5f 41 20 20 20  4,...HKCOMB_A   
61a0: 20 3d 20 38 2c 0d 0a 09 48 4b 43 4f 4d 42 5f 53   = 8,...HKCOMB_S
61b0: 43 20 20 20 3d 20 31 36 2c 0d 0a 09 48 4b 43 4f  C   = 16,...HKCO
61c0: 4d 42 5f 53 41 20 20 20 3d 20 33 32 2c 0d 0a 09  MB_SA   = 32,...
61d0: 48 4b 43 4f 4d 42 5f 43 41 20 20 20 3d 20 36 34  HKCOMB_CA   = 64
61e0: 2c 0d 0a 09 48 4b 43 4f 4d 42 5f 53 43 41 20 20  ,...HKCOMB_SCA  
61f0: 3d 20 31 32 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d  = 128..}....enum
6200: 20 7b 0d 0a 09 48 4b 4d 5f 53 45 54 48 4f 54 4b   {...HKM_SETHOTK
6210: 45 59 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  EY = WM_USER + 1
6220: 2c 0d 0a 09 48 4b 4d 5f 47 45 54 48 4f 54 4b 45  ,...HKM_GETHOTKE
6230: 59 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 2c  Y = WM_USER + 2,
6240: 0d 0a 09 48 4b 4d 5f 53 45 54 52 55 4c 45 53 20  ...HKM_SETRULES 
6250: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 0d 0a   = WM_USER + 3..
6260: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 50 42  }....enum {...PB
6270: 4d 5f 53 45 54 52 41 4e 47 45 20 20 20 20 20 3d  M_SETRANGE     =
6280: 20 57 4d 5f 55 53 45 52 20 2b 20 31 2c 0d 0a 09   WM_USER + 1,...
6290: 50 42 4d 5f 53 45 54 50 4f 53 2c 0d 0a 09 50 42  PBM_SETPOS,...PB
62a0: 4d 5f 44 45 4c 54 41 50 4f 53 2c 0d 0a 09 50 42  M_DELTAPOS,...PB
62b0: 4d 5f 53 45 54 53 54 45 50 2c 0d 0a 09 50 42 4d  M_SETSTEP,...PBM
62c0: 5f 53 54 45 50 49 54 2c 20 20 20 2f 2f 20 3d 20  _STEPIT,   // = 
62d0: 57 4d 5f 55 53 45 52 20 2b 20 35 0d 0a 09 50 42  WM_USER + 5...PB
62e0: 4d 5f 53 45 54 52 41 4e 47 45 33 32 20 20 20 3d  M_SETRANGE32   =
62f0: 20 31 30 33 30 2c 0d 0a 09 50 42 4d 5f 47 45 54   1030,...PBM_GET
6300: 52 41 4e 47 45 2c 0d 0a 09 50 42 4d 5f 47 45 54  RANGE,...PBM_GET
6310: 50 4f 53 2c 0d 0a 09 50 42 4d 5f 53 45 54 42 41  POS,...PBM_SETBA
6320: 52 43 4f 4c 4f 52 2c 20 2f 2f 20 3d 20 31 30 33  RCOLOR, // = 103
6330: 33 0d 0a 09 50 42 4d 5f 53 45 54 42 4b 43 4f 4c  3...PBM_SETBKCOL
6340: 4f 52 20 20 20 3d 20 43 43 4d 5f 53 45 54 42 4b  OR   = CCM_SETBK
6350: 43 4f 4c 4f 52 0d 0a 7d 0d 0a 0d 0a 73 74 61 74  COLOR..}....stat
6360: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  ic if (_WIN32_WI
6370: 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d  NNT >= 0x501) {.
6380: 0a 20 20 20 20 65 6e 75 6d 20 7b 0d 0a 20 20 20  .    enum {..   
6390: 20 20 20 20 20 50 42 4d 5f 53 45 54 4d 41 52 51       PBM_SETMARQ
63a0: 55 45 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  UEE = WM_USER + 
63b0: 31 30 2c 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d  10,..    }..}...
63c0: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
63d0: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 36 30  32_WINNT >= 0x60
63e0: 30 29 20 7b 0d 0a 20 20 20 20 65 6e 75 6d 20 7b  0) {..    enum {
63f0: 0d 0a 20 20 20 20 20 20 20 20 50 42 4d 5f 47 45  ..        PBM_GE
6400: 54 53 54 45 50 20 3d 20 57 4d 5f 55 53 45 52 20  TSTEP = WM_USER 
6410: 2b 20 31 33 2c 0d 0a 20 20 20 20 20 20 20 20 50  + 13,..        P
6420: 42 4d 5f 47 45 54 42 4b 43 4f 4c 4f 52 2c 0d 0a  BM_GETBKCOLOR,..
6430: 20 20 20 20 20 20 20 20 50 42 4d 5f 47 45 54 42          PBM_GETB
6440: 41 52 43 4f 4c 4f 52 2c 0d 0a 20 20 20 20 20 20  ARCOLOR,..      
6450: 20 20 50 42 4d 5f 53 45 54 53 54 41 54 45 2c 0d    PBM_SETSTATE,.
6460: 0a 20 20 20 20 20 20 20 20 50 42 4d 5f 47 45 54  .        PBM_GET
6470: 53 54 41 54 45 2c 0d 0a 20 20 20 20 7d 0d 0a 7d  STATE,..    }..}
6480: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 50 42 53  ....enum {...PBS
6490: 5f 53 4d 4f 4f 54 48 20 20 20 3d 20 31 2c 0d 0a  _SMOOTH   = 1,..
64a0: 09 50 42 53 5f 56 45 52 54 49 43 41 4c 20 3d 20  .PBS_VERTICAL = 
64b0: 34 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69  4..}....static i
64c0: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
64d0: 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a 20 20 20  >= 0x501) {..   
64e0: 20 65 6e 75 6d 20 7b 0d 0a 20 20 20 20 20 20 20   enum {..       
64f0: 20 50 42 53 5f 4d 41 52 51 55 45 45 20 3d 20 38   PBS_MARQUEE = 8
6500: 2c 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 73  ,..    }..}....s
6510: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
6520: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 36 30 30 29  _WINNT >= 0x600)
6530: 20 7b 0d 0a 20 20 20 20 65 6e 75 6d 20 7b 0d 0a   {..    enum {..
6540: 20 20 20 20 20 20 20 20 50 42 53 5f 53 4d 4f 4f          PBS_SMOO
6550: 54 48 52 45 56 45 52 53 45 20 3d 20 31 36 2c 0d  THREVERSE = 16,.
6560: 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75  .    }..}....enu
6570: 6d 20 7b 0d 0a 09 4c 56 53 5f 49 43 4f 4e 2c 0d  m {...LVS_ICON,.
6580: 0a 09 4c 56 53 5f 52 45 50 4f 52 54 2c 0d 0a 09  ..LVS_REPORT,...
6590: 4c 56 53 5f 53 4d 41 4c 4c 49 43 4f 4e 2c 0d 0a  LVS_SMALLICON,..
65a0: 09 4c 56 53 5f 4c 49 53 54 2c 20 20 20 20 20 20  .LVS_LIST,      
65b0: 20 20 2f 2f 20 3d 20 33 0d 0a 09 4c 56 53 5f 54    // = 3...LVS_T
65c0: 59 50 45 4d 41 53 4b 20 20 20 20 20 20 20 20 3d  YPEMASK        =
65d0: 20 33 2c 0d 0a 09 4c 56 53 5f 53 49 4e 47 4c 45   3,...LVS_SINGLE
65e0: 53 45 4c 20 20 20 20 20 20 20 3d 20 34 2c 0d 0a  SEL       = 4,..
65f0: 09 4c 56 53 5f 53 48 4f 57 53 45 4c 41 4c 57 41  .LVS_SHOWSELALWA
6600: 59 53 20 20 20 3d 20 38 2c 0d 0a 09 4c 56 53 5f  YS   = 8,...LVS_
6610: 53 4f 52 54 41 53 43 45 4e 44 49 4e 47 20 20 20  SORTASCENDING   
6620: 3d 20 31 36 2c 0d 0a 09 4c 56 53 5f 53 4f 52 54  = 16,...LVS_SORT
6630: 44 45 53 43 45 4e 44 49 4e 47 20 20 3d 20 33 32  DESCENDING  = 32
6640: 2c 0d 0a 09 4c 56 53 5f 53 48 41 52 45 49 4d 41  ,...LVS_SHAREIMA
6650: 47 45 4c 49 53 54 53 20 3d 20 36 34 2c 0d 0a 09  GELISTS = 64,...
6660: 4c 56 53 5f 4e 4f 4c 41 42 45 4c 57 52 41 50 20  LVS_NOLABELWRAP 
6670: 20 20 20 20 3d 20 31 32 38 2c 0d 0a 09 4c 56 53      = 128,...LVS
6680: 5f 41 55 54 4f 41 52 52 41 4e 47 45 20 20 20 20  _AUTOARRANGE    
6690: 20 3d 20 32 35 36 2c 0d 0a 09 4c 56 53 5f 45 44   = 256,...LVS_ED
66a0: 49 54 4c 41 42 45 4c 53 20 20 20 20 20 20 3d 20  ITLABELS      = 
66b0: 35 31 32 2c 0d 0a 09 4c 56 53 5f 4e 4f 53 43 52  512,...LVS_NOSCR
66c0: 4f 4c 4c 20 20 20 20 20 20 20 20 3d 20 30 78 32  OLL        = 0x2
66d0: 30 30 30 2c 0d 0a 09 4c 56 53 5f 54 59 50 45 53  000,...LVS_TYPES
66e0: 54 59 4c 45 4d 41 53 4b 20 20 20 3d 20 30 78 46  TYLEMASK   = 0xF
66f0: 43 30 30 2c 0d 0a 09 4c 56 53 5f 41 4c 49 47 4e  C00,...LVS_ALIGN
6700: 54 4f 50 20 20 20 20 20 20 20 20 3d 20 30 2c 0d  TOP        = 0,.
6710: 0a 09 4c 56 53 5f 41 4c 49 47 4e 4c 45 46 54 20  ..LVS_ALIGNLEFT 
6720: 20 20 20 20 20 20 3d 20 30 78 38 30 30 2c 0d 0a        = 0x800,..
6730: 09 4c 56 53 5f 41 4c 49 47 4e 4d 41 53 4b 20 20  .LVS_ALIGNMASK  
6740: 20 20 20 20 20 3d 20 30 78 43 30 30 2c 0d 0a 09       = 0xC00,...
6750: 4c 56 53 5f 4f 57 4e 45 52 44 52 41 57 46 49 58  LVS_OWNERDRAWFIX
6760: 45 44 20 20 3d 20 30 78 34 30 30 2c 0d 0a 09 4c  ED  = 0x400,...L
6770: 56 53 5f 4e 4f 43 4f 4c 55 4d 4e 48 45 41 44 45  VS_NOCOLUMNHEADE
6780: 52 20 20 3d 20 30 78 34 30 30 30 2c 0d 0a 09 4c  R  = 0x4000,...L
6790: 56 53 5f 4e 4f 53 4f 52 54 48 45 41 44 45 52 20  VS_NOSORTHEADER 
67a0: 20 20 20 3d 20 30 78 38 30 30 30 0d 0a 7d 0d 0a     = 0x8000..}..
67b0: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
67c0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29  N32_IE >= 0x300)
67d0: 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 43   {...enum {....C
67e0: 44 49 53 5f 43 48 45 43 4b 45 44 20 20 20 20 20  DIS_CHECKED     
67f0: 20 20 3d 20 38 2c 0d 0a 09 09 43 44 49 53 5f 44    = 8,....CDIS_D
6800: 45 46 41 55 4c 54 20 20 20 20 20 20 20 3d 20 33  EFAULT       = 3
6810: 32 2c 0d 0a 09 09 43 44 49 53 5f 44 49 53 41 42  2,....CDIS_DISAB
6820: 4c 45 44 20 20 20 20 20 20 3d 20 34 2c 0d 0a 09  LED      = 4,...
6830: 09 43 44 49 53 5f 46 4f 43 55 53 20 20 20 20 20  .CDIS_FOCUS     
6840: 20 20 20 20 3d 20 31 36 2c 0d 0a 09 09 43 44 49      = 16,....CDI
6850: 53 5f 47 52 41 59 45 44 20 20 20 20 20 20 20 20  S_GRAYED        
6860: 3d 20 32 2c 0d 0a 09 09 43 44 49 53 5f 48 4f 54  = 2,....CDIS_HOT
6870: 20 20 20 20 20 20 20 20 20 20 20 3d 20 36 34 2c             = 64,
6880: 0d 0a 09 09 43 44 49 53 5f 53 45 4c 45 43 54 45  ....CDIS_SELECTE
6890: 44 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09 09 43  D      = 1,....C
68a0: 44 49 53 5f 4d 41 52 4b 45 44 20 20 20 20 20 20  DIS_MARKED      
68b0: 20 20 3d 20 31 32 38 2c 0d 0a 09 09 43 44 49 53    = 128,....CDIS
68c0: 5f 49 4e 44 45 54 45 52 4d 49 4e 41 54 45 20 3d  _INDETERMINATE =
68d0: 20 32 35 36 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 61   256...}.....sta
68e0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
68f0: 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b  INNT >= 0x501) {
6900: 0d 0a 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 43  ....enum {.....C
6910: 44 49 53 5f 53 48 4f 57 4b 45 59 42 4f 41 52 44  DIS_SHOWKEYBOARD
6920: 43 55 45 53 20 3d 20 35 31 32 0d 0a 09 09 7d 0d  CUES = 512....}.
6930: 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  ..}.....enum {..
6940: 09 09 43 44 44 53 5f 50 4f 53 54 45 52 41 53 45  ..CDDS_POSTERASE
6950: 20 20 20 20 20 3d 20 34 2c 0d 0a 09 09 43 44 44       = 4,....CDD
6960: 53 5f 50 4f 53 54 50 41 49 4e 54 20 20 20 20 20  S_POSTPAINT     
6970: 3d 20 32 2c 0d 0a 09 09 43 44 44 53 5f 50 52 45  = 2,....CDDS_PRE
6980: 45 52 41 53 45 20 20 20 20 20 20 3d 20 33 2c 0d  ERASE      = 3,.
6990: 0a 09 09 43 44 44 53 5f 50 52 45 50 41 49 4e 54  ...CDDS_PREPAINT
69a0: 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09 09 43 44        = 1,....CD
69b0: 44 53 5f 49 54 45 4d 20 20 20 20 20 20 20 20 20  DS_ITEM         
69c0: 20 3d 20 36 35 35 33 36 2c 0d 0a 09 09 43 44 44   = 65536,....CDD
69d0: 53 5f 49 54 45 4d 50 4f 53 54 45 52 41 53 45 20  S_ITEMPOSTERASE 
69e0: 3d 20 36 35 35 34 30 2c 0d 0a 09 09 43 44 44 53  = 65540,....CDDS
69f0: 5f 49 54 45 4d 50 4f 53 54 50 41 49 4e 54 20 3d  _ITEMPOSTPAINT =
6a00: 20 36 35 35 33 38 2c 0d 0a 09 09 43 44 44 53 5f   65538,....CDDS_
6a10: 49 54 45 4d 50 52 45 45 52 41 53 45 20 20 3d 20  ITEMPREERASE  = 
6a20: 36 35 35 33 39 2c 0d 0a 09 09 43 44 44 53 5f 49  65539,....CDDS_I
6a30: 54 45 4d 50 52 45 50 41 49 4e 54 20 20 3d 20 36  TEMPREPAINT  = 6
6a40: 35 35 33 37 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 61  5537...}.....sta
6a50: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
6a60: 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09  E >= 0x400) {...
6a70: 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 43 44 44 53  .enum {.....CDDS
6a80: 5f 53 55 42 49 54 45 4d 20 3d 20 30 78 32 30 30  _SUBITEM = 0x200
6a90: 30 30 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 0d 0a 09  00....}...}.....
6aa0: 65 6e 75 6d 20 7b 0d 0a 09 09 43 44 52 46 5f 44  enum {....CDRF_D
6ab0: 4f 44 45 46 41 55 4c 54 20 20 20 20 20 20 20 20  ODEFAULT        
6ac0: 20 3d 20 30 78 30 30 2c 0d 0a 09 09 43 44 52 46   = 0x00,....CDRF
6ad0: 5f 4e 4f 54 49 46 59 49 54 45 4d 44 52 41 57 20  _NOTIFYITEMDRAW 
6ae0: 20 20 20 3d 20 30 78 32 30 2c 0d 0a 09 09 43 44     = 0x20,....CD
6af0: 52 46 5f 4e 4f 54 49 46 59 53 55 42 49 54 45 4d  RF_NOTIFYSUBITEM
6b00: 44 52 41 57 20 3d 20 30 78 32 30 2c 0d 0a 09 09  DRAW = 0x20,....
6b10: 43 44 52 46 5f 4e 4f 54 49 46 59 49 54 45 4d 45  CDRF_NOTIFYITEME
6b20: 52 41 53 45 20 20 20 3d 20 30 78 38 30 2c 0d 0a  RASE   = 0x80,..
6b30: 09 09 43 44 52 46 5f 4e 4f 54 49 46 59 50 4f 53  ..CDRF_NOTIFYPOS
6b40: 54 45 52 41 53 45 20 20 20 3d 20 30 78 34 30 2c  TERASE   = 0x40,
6b50: 0d 0a 09 09 43 44 52 46 5f 4e 4f 54 49 46 59 50  ....CDRF_NOTIFYP
6b60: 4f 53 54 50 41 49 4e 54 20 20 20 3d 20 30 78 31  OSTPAINT   = 0x1
6b70: 30 2c 0d 0a 09 09 43 44 52 46 5f 4e 45 57 46 4f  0,....CDRF_NEWFO
6b80: 4e 54 20 20 20 20 20 20 20 20 20 20 20 3d 20 30  NT           = 0
6b90: 78 30 32 2c 0d 0a 09 09 43 44 52 46 5f 53 4b 49  x02,....CDRF_SKI
6ba0: 50 44 45 46 41 55 4c 54 20 20 20 20 20 20 20 3d  PDEFAULT       =
6bb0: 20 30 78 30 34 0d 0a 09 7d 0d 0a 0d 0a 09 73 74   0x04...}.....st
6bc0: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
6bd0: 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a  IE >= 0x400) {..
6be0: 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 4c 56 42  ..enum {.....LVB
6bf0: 4b 49 46 5f 53 4f 55 52 43 45 5f 4e 4f 4e 45 20  KIF_SOURCE_NONE 
6c00: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30 2c     = 0x00000000,
6c10: 0d 0a 09 09 09 4c 56 42 4b 49 46 5f 53 4f 55 52  .....LVBKIF_SOUR
6c20: 43 45 5f 48 42 49 54 4d 41 50 20 3d 20 30 78 30  CE_HBITMAP = 0x0
6c30: 30 30 30 30 30 30 31 2c 0d 0a 09 09 09 4c 56 42  0000001,.....LVB
6c40: 4b 49 46 5f 53 4f 55 52 43 45 5f 55 52 4c 20 20  KIF_SOURCE_URL  
6c50: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c     = 0x00000002,
6c60: 0d 0a 09 09 09 4c 56 42 4b 49 46 5f 53 4f 55 52  .....LVBKIF_SOUR
6c70: 43 45 5f 4d 41 53 4b 20 20 20 20 3d 20 30 78 30  CE_MASK    = 0x0
6c80: 30 30 30 30 30 30 33 2c 0d 0a 09 09 09 4c 56 42  0000003,.....LVB
6c90: 4b 49 46 5f 53 54 59 4c 45 5f 4e 4f 52 4d 41 4c  KIF_STYLE_NORMAL
6ca0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30 2c     = 0x00000000,
6cb0: 0d 0a 09 09 09 4c 56 42 4b 49 46 5f 53 54 59 4c  .....LVBKIF_STYL
6cc0: 45 5f 54 49 4c 45 20 20 20 20 20 3d 20 30 78 30  E_TILE     = 0x0
6cd0: 30 30 30 30 30 31 30 2c 0d 0a 09 09 09 4c 56 42  0000010,.....LVB
6ce0: 4b 49 46 5f 53 54 59 4c 45 5f 4d 41 53 4b 20 20  KIF_STYLE_MASK  
6cf0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 0d     = 0x00000010.
6d00: 0a 09 09 7d 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 61  ...}...}.....sta
6d10: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
6d20: 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b  INNT >= 0x501) {
6d30: 0d 0a 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 4c  ....enum {.....L
6d40: 56 42 4b 49 46 5f 46 4c 41 47 5f 54 49 4c 45 4f  VBKIF_FLAG_TILEO
6d50: 46 46 53 45 54 20 3d 20 30 78 30 30 30 30 30 31  FFSET = 0x000001
6d60: 30 30 2c 0d 0a 09 09 09 4c 56 42 4b 49 46 5f 54  00,.....LVBKIF_T
6d70: 59 50 45 5f 57 41 54 45 52 4d 41 52 4b 20 20 3d  YPE_WATERMARK  =
6d80: 20 30 78 31 30 30 30 30 30 30 30 0d 0a 09 09 7d   0x10000000....}
6d90: 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d  ...}.....enum {.
6da0: 0a 09 09 4c 56 53 5f 4f 57 4e 45 52 44 41 54 41  ...LVS_OWNERDATA
6db0: 20 3d 20 34 30 39 36 0d 0a 09 7d 0d 0a 0d 0a 09   = 4096...}.....
6dc0: 65 6e 75 6d 20 7b 0d 0a 09 09 4c 56 53 5f 45 58  enum {....LVS_EX
6dd0: 5f 43 48 45 43 4b 42 4f 58 45 53 20 20 20 20 20  _CHECKBOXES     
6de0: 20 20 3d 20 34 2c 0d 0a 09 09 4c 56 53 5f 45 58    = 4,....LVS_EX
6df0: 5f 46 55 4c 4c 52 4f 57 53 45 4c 45 43 54 20 20  _FULLROWSELECT  
6e00: 20 20 3d 20 33 32 2c 0d 0a 09 09 4c 56 53 5f 45    = 32,....LVS_E
6e10: 58 5f 47 52 49 44 4c 49 4e 45 53 20 20 20 20 20  X_GRIDLINES     
6e20: 20 20 20 3d 20 31 2c 0d 0a 09 09 4c 56 53 5f 45     = 1,....LVS_E
6e30: 58 5f 48 45 41 44 45 52 44 52 41 47 44 52 4f 50  X_HEADERDRAGDROP
6e40: 20 20 20 3d 20 31 36 2c 0d 0a 09 09 4c 56 53 5f     = 16,....LVS_
6e50: 45 58 5f 4f 4e 45 43 4c 49 43 4b 41 43 54 49 56  EX_ONECLICKACTIV
6e60: 41 54 45 20 3d 20 36 34 2c 0d 0a 09 09 4c 56 53  ATE = 64,....LVS
6e70: 5f 45 58 5f 53 55 42 49 54 45 4d 49 4d 41 47 45  _EX_SUBITEMIMAGE
6e80: 53 20 20 20 20 3d 20 32 2c 0d 0a 09 09 4c 56 53  S    = 2,....LVS
6e90: 5f 45 58 5f 54 52 41 43 4b 53 45 4c 45 43 54 20  _EX_TRACKSELECT 
6ea0: 20 20 20 20 20 3d 20 38 2c 0d 0a 09 09 4c 56 53       = 8,....LVS
6eb0: 5f 45 58 5f 54 57 4f 43 4c 49 43 4b 41 43 54 49  _EX_TWOCLICKACTI
6ec0: 56 41 54 45 20 3d 20 31 32 38 0d 0a 09 7d 0d 0a  VATE = 128...}..
6ed0: 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 4c 56 53  ...enum {....LVS
6ee0: 49 43 46 5f 4e 4f 49 4e 56 41 4c 49 44 41 54 45  ICF_NOINVALIDATE
6ef0: 41 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 31  ALL = 0x00000001
6f00: 2c 0d 0a 09 09 4c 56 53 49 43 46 5f 4e 4f 53 43  ,....LVSICF_NOSC
6f10: 52 4f 4c 4c 20 20 20 20 20 20 20 20 3d 20 30 78  ROLL        = 0x
6f20: 30 30 30 30 30 30 30 32 0d 0a 09 7d 0d 0a 0d 0a  00000002...}....
6f30: 09 73 74 61 74 69 63 20 69 66 28 5f 57 49 4e 33  .static if(_WIN3
6f40: 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b  2_IE >= 0x400) {
6f50: 0d 0a 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 4c  ....enum {.....L
6f60: 56 53 5f 45 58 5f 46 4c 41 54 53 42 20 20 20 20  VS_EX_FLATSB    
6f70: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 31 30       = 0x0000010
6f80: 30 2c 0d 0a 09 09 09 4c 56 53 5f 45 58 5f 52 45  0,.....LVS_EX_RE
6f90: 47 49 4f 4e 41 4c 20 20 20 20 20 20 20 3d 20 30  GIONAL       = 0
6fa0: 78 30 30 30 30 30 32 30 30 2c 0d 0a 09 09 09 4c  x00000200,.....L
6fb0: 56 53 5f 45 58 5f 49 4e 46 4f 54 49 50 20 20 20  VS_EX_INFOTIP   
6fc0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 34 30       = 0x0000040
6fd0: 30 2c 0d 0a 09 09 09 4c 56 53 5f 45 58 5f 55 4e  0,.....LVS_EX_UN
6fe0: 44 45 52 4c 49 4e 45 48 4f 54 20 20 20 3d 20 30  DERLINEHOT   = 0
6ff0: 78 30 30 30 30 30 38 30 30 2c 0d 0a 09 09 09 4c  x00000800,.....L
7000: 56 53 5f 45 58 5f 55 4e 44 45 52 4c 49 4e 45 43  VS_EX_UNDERLINEC
7010: 4f 4c 44 20 20 3d 20 30 78 30 30 30 30 31 30 30  OLD  = 0x0000100
7020: 30 2c 0d 0a 09 09 09 4c 56 53 5f 45 58 5f 4d 55  0,.....LVS_EX_MU
7030: 4c 54 49 57 4f 52 4b 41 52 45 41 53 20 3d 20 30  LTIWORKAREAS = 0
7040: 78 30 30 30 30 32 30 30 30 0d 0a 09 09 7d 0d 0a  x00002000....}..
7050: 09 7d 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69 66  .}.....static if
7060: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
7070: 35 30 30 29 20 7b 0d 0a 09 09 65 6e 75 6d 20 7b  500) {....enum {
7080: 0d 0a 09 09 09 4c 56 53 5f 45 58 5f 4c 41 42 45  .....LVS_EX_LABE
7090: 4c 54 49 50 20 20 20 20 20 3d 20 30 78 30 30 30  LTIP     = 0x000
70a0: 30 34 30 30 30 2c 0d 0a 09 09 09 4c 56 53 5f 45  04000,.....LVS_E
70b0: 58 5f 42 4f 52 44 45 52 53 45 4c 45 43 54 20 3d  X_BORDERSELECT =
70c0: 20 30 78 30 30 30 30 38 30 30 30 0d 0a 09 09 7d   0x00008000....}
70d0: 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20  ...}..}....enum 
70e0: 7b 0d 0a 09 4c 56 53 49 4c 5f 4e 4f 52 4d 41 4c  {...LVSIL_NORMAL
70f0: 2c 0d 0a 09 4c 56 53 49 4c 5f 53 4d 41 4c 4c 2c  ,...LVSIL_SMALL,
7100: 0d 0a 09 4c 56 53 49 4c 5f 53 54 41 54 45 0d 0a  ...LVSIL_STATE..
7110: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4c 56  }....enum {...LV
7120: 4d 5f 47 45 54 42 4b 43 4f 4c 4f 52 20 20 20 20  M_GETBKCOLOR    
7130: 20 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46           = LVM_F
7140: 49 52 53 54 2c 0d 0a 09 4c 56 4d 5f 53 45 54 42  IRST,...LVM_SETB
7150: 4b 43 4f 4c 4f 52 2c 0d 0a 09 4c 56 4d 5f 47 45  KCOLOR,...LVM_GE
7160: 54 49 4d 41 47 45 4c 49 53 54 2c 0d 0a 09 4c 56  TIMAGELIST,...LV
7170: 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 0d  M_SETIMAGELIST,.
7180: 0a 09 4c 56 4d 5f 47 45 54 49 54 45 4d 43 4f 55  ..LVM_GETITEMCOU
7190: 4e 54 2c 20 20 20 20 20 20 20 2f 2f 20 3d 20 4c  NT,       // = L
71a0: 56 4d 5f 46 49 52 53 54 20 2b 20 20 20 34 0d 0a  VM_FIRST +   4..
71b0: 09 4c 56 4d 5f 53 4f 52 54 49 54 45 4d 53 45 58  .LVM_SORTITEMSEX
71c0: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 4c 56              = LV
71d0: 4d 5f 46 49 52 53 54 20 2b 20 20 38 31 2c 0d 0a  M_FIRST +  81,..
71e0: 20 20 20 20 4c 56 4d 5f 47 45 54 47 52 4f 55 50      LVM_GETGROUP
71f0: 53 54 41 54 45 20 20 20 20 20 20 20 20 20 20 3d  STATE          =
7200: 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 39 32 2c   LVM_FIRST + 92,
7210: 0d 0a 20 20 20 20 4c 56 4d 5f 47 45 54 46 4f 43  ..    LVM_GETFOC
7220: 55 53 45 44 47 52 4f 55 50 2c 0d 0a 20 20 20 20  USEDGROUP,..    
7230: 4c 56 4d 5f 47 45 54 47 52 4f 55 50 52 45 43 54  LVM_GETGROUPRECT
7240: 20 20 20 20 20 20 20 20 20 20 20 3d 20 4c 56 4d             = LVM
7250: 5f 46 49 52 53 54 20 2b 20 39 38 2c 0d 0a 09 4c  _FIRST + 98,...L
7260: 56 4d 5f 53 45 54 56 49 45 57 20 20 20 20 20 20  VM_SETVIEW      
7270: 20 20 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f            = LVM_
7280: 46 49 52 53 54 20 2b 20 31 34 32 2c 0d 0a 09 4c  FIRST + 142,...L
7290: 56 4d 5f 47 45 54 56 49 45 57 2c 20 20 20 20 20  VM_GETVIEW,     
72a0: 20 20 20 20 20 20 20 2f 2f 20 3d 20 4c 56 4d 5f         // = LVM_
72b0: 46 49 52 53 54 20 2b 20 31 34 33 0d 0a 09 4c 56  FIRST + 143...LV
72c0: 4d 5f 49 4e 53 45 52 54 47 52 4f 55 50 20 20 20  M_INSERTGROUP   
72d0: 20 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46           = LVM_F
72e0: 49 52 53 54 20 2b 20 31 34 35 2c 0d 0a 09 4c 56  IRST + 145,...LV
72f0: 4d 5f 53 45 54 47 52 4f 55 50 49 4e 46 4f 20 20  M_SETGROUPINFO  
7300: 20 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46           = LVM_F
7310: 49 52 53 54 20 2b 20 31 34 37 2c 0d 0a 09 4c 56  IRST + 147,...LV
7320: 4d 5f 47 45 54 47 52 4f 55 50 49 4e 46 4f 20 20  M_GETGROUPINFO  
7330: 20 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46           = LVM_F
7340: 49 52 53 54 20 2b 20 31 34 39 2c 0d 0a 09 4c 56  IRST + 149,...LV
7350: 4d 5f 52 45 4d 4f 56 45 47 52 4f 55 50 2c 0d 0a  M_REMOVEGROUP,..
7360: 09 4c 56 4d 5f 4d 4f 56 45 47 52 4f 55 50 2c 20  .LVM_MOVEGROUP, 
7370: 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 4c 56           // = LV
7380: 4d 5f 46 49 52 53 54 20 2b 20 31 35 31 0d 0a 20  M_FIRST + 151.. 
7390: 20 20 20 4c 56 4d 5f 47 45 54 47 52 4f 55 50 43     LVM_GETGROUPC
73a0: 4f 55 4e 54 2c 0d 0a 20 20 20 20 4c 56 4d 5f 47  OUNT,..    LVM_G
73b0: 45 54 47 52 4f 55 50 49 4e 46 4f 42 59 49 4e 44  ETGROUPINFOBYIND
73c0: 45 58 2c 0d 0a 20 20 20 20 4c 56 4d 5f 4d 4f 56  EX,..    LVM_MOV
73d0: 45 49 54 45 4d 54 4f 47 52 4f 55 50 2c 0d 0a 09  EITEMTOGROUP,...
73e0: 4c 56 4d 5f 53 45 54 47 52 4f 55 50 4d 45 54 52  LVM_SETGROUPMETR
73f0: 49 43 53 20 20 20 20 20 20 20 20 3d 20 4c 56 4d  ICS        = LVM
7400: 5f 46 49 52 53 54 20 2b 20 31 35 35 2c 0d 0a 09  _FIRST + 155,...
7410: 4c 56 4d 5f 47 45 54 47 52 4f 55 50 4d 45 54 52  LVM_GETGROUPMETR
7420: 49 43 53 2c 0d 0a 09 4c 56 4d 5f 45 4e 41 42 4c  ICS,...LVM_ENABL
7430: 45 47 52 4f 55 50 56 49 45 57 2c 0d 0a 09 4c 56  EGROUPVIEW,...LV
7440: 4d 5f 53 4f 52 54 47 52 4f 55 50 53 2c 0d 0a 09  M_SORTGROUPS,...
7450: 4c 56 4d 5f 49 4e 53 45 52 54 47 52 4f 55 50 53  LVM_INSERTGROUPS
7460: 4f 52 54 45 44 2c 0d 0a 09 4c 56 4d 5f 52 45 4d  ORTED,...LVM_REM
7470: 4f 56 45 41 4c 4c 47 52 4f 55 50 53 2c 0d 0a 09  OVEALLGROUPS,...
7480: 4c 56 4d 5f 48 41 53 47 52 4f 55 50 2c 0d 0a 09  LVM_HASGROUP,...
7490: 4c 56 4d 5f 53 45 54 54 49 4c 45 56 49 45 57 49  LVM_SETTILEVIEWI
74a0: 4e 46 4f 2c 0d 0a 09 4c 56 4d 5f 47 45 54 54 49  NFO,...LVM_GETTI
74b0: 4c 45 56 49 45 57 49 4e 46 4f 2c 0d 0a 09 4c 56  LEVIEWINFO,...LV
74c0: 4d 5f 53 45 54 54 49 4c 45 49 4e 46 4f 2c 0d 0a  M_SETTILEINFO,..
74d0: 09 4c 56 4d 5f 47 45 54 54 49 4c 45 49 4e 46 4f  .LVM_GETTILEINFO
74e0: 2c 0d 0a 09 4c 56 4d 5f 53 45 54 49 4e 53 45 52  ,...LVM_SETINSER
74f0: 54 4d 41 52 4b 2c 0d 0a 09 4c 56 4d 5f 47 45 54  TMARK,...LVM_GET
7500: 49 4e 53 45 52 54 4d 41 52 4b 2c 0d 0a 09 4c 56  INSERTMARK,...LV
7510: 4d 5f 49 4e 53 45 52 54 4d 41 52 4b 48 49 54 54  M_INSERTMARKHITT
7520: 45 53 54 2c 0d 0a 09 4c 56 4d 5f 47 45 54 49 4e  EST,...LVM_GETIN
7530: 53 45 52 54 4d 41 52 4b 52 45 43 54 2c 0d 0a 09  SERTMARKRECT,...
7540: 4c 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52  LVM_SETINSERTMAR
7550: 4b 43 4f 4c 4f 52 2c 0d 0a 09 4c 56 4d 5f 47 45  KCOLOR,...LVM_GE
7560: 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52  TINSERTMARKCOLOR
7570: 2c 20 2f 2f 20 3d 20 4c 56 4d 5f 46 49 52 53 54  , // = LVM_FIRST
7580: 20 2b 20 31 37 31 0d 0a 09 4c 56 4d 5f 53 45 54   + 171...LVM_SET
7590: 49 4e 46 4f 54 49 50 20 20 20 20 20 20 20 20 20  INFOTIP         
75a0: 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20      = LVM_FIRST 
75b0: 2b 20 31 37 33 2c 0d 0a 09 4c 56 4d 5f 47 45 54  + 173,...LVM_GET
75c0: 53 45 4c 45 43 54 45 44 43 4f 4c 55 4d 4e 2c 0d  SELECTEDCOLUMN,.
75d0: 0a 09 4c 56 4d 5f 49 53 47 52 4f 55 50 56 49 45  ..LVM_ISGROUPVIE
75e0: 57 45 4e 41 42 4c 45 44 2c 0d 0a 09 4c 56 4d 5f  WENABLED,...LVM_
75f0: 47 45 54 4f 55 54 4c 49 4e 45 43 4f 4c 4f 52 2c  GETOUTLINECOLOR,
7600: 0d 0a 09 4c 56 4d 5f 53 45 54 4f 55 54 4c 49 4e  ...LVM_SETOUTLIN
7610: 45 43 4f 4c 4f 52 2c 20 20 20 20 2f 2f 20 3d 20  ECOLOR,    // = 
7620: 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 37 0d  LVM_FIRST + 177.
7630: 0a 09 4c 56 4d 5f 43 41 4e 43 45 4c 45 44 49 54  ..LVM_CANCELEDIT
7640: 4c 41 42 45 4c 20 20 20 20 20 20 20 20 3d 20 4c  LABEL        = L
7650: 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 39 2c 0d  VM_FIRST + 179,.
7660: 0a 20 20 20 20 4c 56 4d 5f 4d 41 50 49 4e 44 45  .    LVM_MAPINDE
7670: 58 54 4f 49 44 20 20 20 20 20 20 20 20 20 20 20  XTOID           
7680: 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 38  = LVM_FIRST + 18
7690: 30 2c 0d 0a 09 4c 56 4d 5f 4d 41 50 49 44 54 4f  0,...LVM_MAPIDTO
76a0: 49 4e 44 45 58 20 20 20 20 20 20 20 20 20 20 20  INDEX           
76b0: 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 38  = LVM_FIRST + 18
76c0: 31 2c 0d 0a 20 20 20 20 4c 56 4d 5f 49 53 49 54  1,..    LVM_ISIT
76d0: 45 4d 56 49 53 49 42 4c 45 20 20 20 20 20 20 20  EMVISIBLE       
76e0: 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b     = LVM_FIRST +
76f0: 20 31 38 32 2c 0d 0a 7d 0d 0a 0d 0a 73 74 61 74   182,..}....stat
7700: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  ic if (_WIN32_WI
7710: 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d  NNT >= 0x501) {.
7720: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 4c 56 4d 5f  ..enum {....LVM_
7730: 53 45 54 53 45 4c 45 43 54 45 44 43 4f 4c 55 4d  SETSELECTEDCOLUM
7740: 4e 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  N  = LVM_FIRST +
7750: 20 31 34 30 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73   140...}..}....s
7760: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
7770: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 36 30 30 29  _WINNT >= 0x600)
7780: 20 7b 0d 0a 20 20 20 20 65 6e 75 6d 20 7b 0d 0a   {..    enum {..
7790: 20 20 20 20 20 20 20 20 4c 56 4d 5f 47 45 54 45          LVM_GETE
77a0: 4d 50 54 59 54 45 58 54 20 3d 20 4c 56 4d 5f 46  MPTYTEXT = LVM_F
77b0: 49 52 53 54 20 2b 20 32 30 34 2c 0d 0a 20 20 20  IRST + 204,..   
77c0: 20 20 20 20 20 4c 56 4d 5f 47 45 54 46 4f 4f 54       LVM_GETFOOT
77d0: 45 52 52 45 43 54 20 3d 20 4c 56 4d 5f 46 49 52  ERRECT = LVM_FIR
77e0: 53 54 20 2b 20 32 30 35 2c 0d 0a 20 20 20 20 20  ST + 205,..     
77f0: 20 20 20 4c 56 4d 5f 47 45 54 46 4f 4f 54 45 52     LVM_GETFOOTER
7800: 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49 52 53 54  INFO = LVM_FIRST
7810: 20 2b 20 32 30 36 2c 0d 0a 20 20 20 20 20 20 20   + 206,..       
7820: 20 4c 56 4d 5f 47 45 54 46 4f 4f 54 45 52 49 54   LVM_GETFOOTERIT
7830: 45 4d 52 45 43 54 20 3d 20 4c 56 4d 5f 46 49 52  EMRECT = LVM_FIR
7840: 53 54 20 2b 20 32 30 37 2c 0d 0a 20 20 20 20 20  ST + 207,..     
7850: 20 20 20 4c 56 4d 5f 47 45 54 46 4f 4f 54 45 52     LVM_GETFOOTER
7860: 49 54 45 4d 20 3d 20 28 4c 56 4d 5f 46 49 52 53  ITEM = (LVM_FIRS
7870: 54 20 2b 20 32 30 38 29 2c 0d 0a 20 20 20 20 20  T + 208),..     
7880: 20 20 20 4c 56 4d 5f 47 45 54 49 54 45 4d 49 4e     LVM_GETITEMIN
7890: 44 45 58 52 45 43 54 20 3d 20 28 4c 56 4d 5f 46  DEXRECT = (LVM_F
78a0: 49 52 53 54 20 2b 20 32 30 39 29 2c 0d 0a 20 20  IRST + 209),..  
78b0: 20 20 20 20 20 20 4c 56 4d 5f 53 45 54 49 54 45        LVM_SETITE
78c0: 4d 49 4e 44 45 58 53 54 41 54 45 20 3d 20 28 4c  MINDEXSTATE = (L
78d0: 56 4d 5f 46 49 52 53 54 20 2b 20 32 31 30 29 2c  VM_FIRST + 210),
78e0: 0d 0a 20 20 20 20 20 20 20 20 4c 56 4d 5f 47 45  ..        LVM_GE
78f0: 54 4e 45 58 54 49 54 45 4d 49 4e 44 45 58 20 3d  TNEXTITEMINDEX =
7900: 20 28 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32 31   (LVM_FIRST + 21
7910: 31 29 2c 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d  1),..    }..}...
7920: 0a 65 6e 75 6d 20 7b 0d 0a 09 4c 56 49 46 5f 54  .enum {...LVIF_T
7930: 45 58 54 20 20 3d 20 31 2c 0d 0a 09 4c 56 49 46  EXT  = 1,...LVIF
7940: 5f 49 4d 41 47 45 20 3d 20 32 2c 0d 0a 09 4c 56  _IMAGE = 2,...LV
7950: 49 46 5f 50 41 52 41 4d 20 3d 20 34 2c 0d 0a 09  IF_PARAM = 4,...
7960: 4c 56 49 46 5f 53 54 41 54 45 20 3d 20 38 0d 0a  LVIF_STATE = 8..
7970: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
7980: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33  _WIN32_IE >= 0x3
7990: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
79a0: 09 09 4c 56 49 46 5f 49 4e 44 45 4e 54 20 20 20  ..LVIF_INDENT   
79b0: 20 20 20 3d 20 31 36 2c 0d 0a 09 09 4c 56 49 46     = 16,....LVIF
79c0: 5f 4e 4f 52 45 43 4f 4d 50 55 54 45 20 3d 20 32  _NORECOMPUTE = 2
79d0: 30 34 38 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74  048...}..}....st
79e0: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
79f0: 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20  WINNT >= 0x501) 
7a00: 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 4c 56  {...enum {....LV
7a10: 49 46 5f 47 52 4f 55 50 49 44 20 3d 20 31 32 38  IF_GROUPID = 128
7a20: 2c 0d 0a 09 09 4c 56 49 46 5f 43 4f 4c 55 4d 4e  ,....LVIF_COLUMN
7a30: 53 20 3d 20 32 35 36 0d 0a 09 7d 0d 0a 7d 0d 0a  S = 256...}..}..
7a40: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4c 56 49 53 5f  ..enum {...LVIS_
7a50: 46 4f 43 55 53 45 44 20 20 20 20 20 20 20 20 3d  FOCUSED        =
7a60: 20 31 2c 0d 0a 09 4c 56 49 53 5f 53 45 4c 45 43   1,...LVIS_SELEC
7a70: 54 45 44 20 20 20 20 20 20 20 3d 20 32 2c 0d 0a  TED       = 2,..
7a80: 09 4c 56 49 53 5f 43 55 54 20 20 20 20 20 20 20  .LVIS_CUT       
7a90: 20 20 20 20 20 3d 20 34 2c 0d 0a 09 4c 56 49 53       = 4,...LVIS
7aa0: 5f 44 52 4f 50 48 49 4c 49 54 45 44 20 20 20 20  _DROPHILITED    
7ab0: 3d 20 38 2c 0d 0a 09 4c 56 49 53 5f 4f 56 45 52  = 8,...LVIS_OVER
7ac0: 4c 41 59 4d 41 53 4b 20 20 20 20 3d 20 30 78 46  LAYMASK    = 0xF
7ad0: 30 30 2c 0d 0a 09 4c 56 49 53 5f 53 54 41 54 45  00,...LVIS_STATE
7ae0: 49 4d 41 47 45 4d 41 53 4b 20 3d 20 30 78 46 30  IMAGEMASK = 0xF0
7af0: 30 30 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 4c  00..}....const L
7b00: 50 57 53 54 52 20 4c 50 53 54 52 5f 54 45 58 54  PWSTR LPSTR_TEXT
7b10: 43 41 4c 4c 42 41 43 4b 57 20 3d 20 63 61 73 74  CALLBACKW = cast
7b20: 28 4c 50 57 53 54 52 29 20 2d 31 3b 0d 0a 63 6f  (LPWSTR) -1;..co
7b30: 6e 73 74 20 4c 50 53 54 52 20 20 4c 50 53 54 52  nst LPSTR  LPSTR
7b40: 5f 54 45 58 54 43 41 4c 4c 42 41 43 4b 41 20 3d  _TEXTCALLBACKA =
7b50: 20 63 61 73 74 28 4c 50 53 54 52 29 20 2d 31 3b   cast(LPSTR) -1;
7b60: 0d 0a 0d 0a 63 6f 6e 73 74 20 49 5f 49 4d 41 47  ....const I_IMAG
7b70: 45 43 41 4c 4c 42 41 43 4b 20 3d 20 2d 31 3b 0d  ECALLBACK = -1;.
7b80: 0a 0d 0a 73 74 61 74 69 63 20 69 66 28 5f 57 49  ...static if(_WI
7b90: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29  N32_IE >= 0x400)
7ba0: 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 4c   {...enum {....L
7bb0: 56 4d 5f 53 45 54 42 4b 49 4d 41 47 45 41 20 20  VM_SETBKIMAGEA  
7bc0: 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49          = LVM_FI
7bd0: 52 53 54 20 2b 20 36 38 2c 0d 0a 09 09 4c 56 4d  RST + 68,....LVM
7be0: 5f 53 45 54 42 4b 49 4d 41 47 45 57 20 20 20 20  _SETBKIMAGEW    
7bf0: 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53        = LVM_FIRS
7c00: 54 20 2b 20 31 33 38 2c 0d 0a 09 09 4c 56 4d 5f  T + 138,....LVM_
7c10: 47 45 54 42 4b 49 4d 41 47 45 41 20 20 20 20 20  GETBKIMAGEA     
7c20: 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54       = LVM_FIRST
7c30: 20 2b 20 36 39 2c 0d 0a 09 09 4c 56 4d 5f 47 45   + 69,....LVM_GE
7c40: 54 42 4b 49 4d 41 47 45 57 20 20 20 20 20 20 20  TBKIMAGEW       
7c50: 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b     = LVM_FIRST +
7c60: 20 31 33 39 2c 0d 0a 09 09 4c 56 5f 4d 41 58 5f   139,....LV_MAX_
7c70: 57 4f 52 4b 41 52 45 41 53 20 20 20 20 20 20 20  WORKAREAS       
7c80: 20 20 3d 20 31 36 2c 0d 0a 09 09 4c 56 4d 5f 53    = 16,....LVM_S
7c90: 45 54 57 4f 52 4b 41 52 45 41 53 20 20 20 20 20  ETWORKAREAS     
7ca0: 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20      = LVM_FIRST 
7cb0: 2b 20 36 35 2c 0d 0a 09 09 4c 56 4d 5f 47 45 54  + 65,....LVM_GET
7cc0: 57 4f 52 4b 41 52 45 41 53 20 20 20 20 20 20 20  WORKAREAS       
7cd0: 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20    = LVM_FIRST + 
7ce0: 37 30 2c 0d 0a 09 09 4c 56 4d 5f 47 45 54 4e 55  70,....LVM_GETNU
7cf0: 4d 42 45 52 4f 46 57 4f 52 4b 41 52 45 41 53 20  MBEROFWORKAREAS 
7d00: 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 33  = LVM_FIRST + 73
7d10: 2c 0d 0a 09 09 4c 56 4d 5f 47 45 54 53 45 4c 45  ,....LVM_GETSELE
7d20: 43 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 3d 20  CTIONMARK     = 
7d30: 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 36 2c 0d  LVM_FIRST + 66,.
7d40: 0a 09 09 4c 56 4d 5f 53 45 54 53 45 4c 45 43 54  ...LVM_SETSELECT
7d50: 49 4f 4e 4d 41 52 4b 20 20 20 20 20 3d 20 4c 56  IONMARK     = LV
7d60: 4d 5f 46 49 52 53 54 20 2b 20 36 37 2c 0d 0a 09  M_FIRST + 67,...
7d70: 09 4c 56 4d 5f 53 45 54 48 4f 56 45 52 54 49 4d  .LVM_SETHOVERTIM
7d80: 45 20 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f  E         = LVM_
7d90: 46 49 52 53 54 20 2b 20 37 31 2c 0d 0a 09 09 4c  FIRST + 71,....L
7da0: 56 4d 5f 47 45 54 48 4f 56 45 52 54 49 4d 45 20  VM_GETHOVERTIME 
7db0: 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49          = LVM_FI
7dc0: 52 53 54 20 2b 20 37 32 2c 0d 0a 09 09 4c 56 4d  RST + 72,....LVM
7dd0: 5f 53 45 54 54 4f 4f 4c 54 49 50 53 20 20 20 20  _SETTOOLTIPS    
7de0: 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53        = LVM_FIRS
7df0: 54 20 2b 20 37 34 2c 0d 0a 09 09 4c 56 4d 5f 47  T + 74,....LVM_G
7e00: 45 54 54 4f 4f 4c 54 49 50 53 20 20 20 20 20 20  ETTOOLTIPS      
7e10: 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20      = LVM_FIRST 
7e20: 2b 20 37 38 2c 0d 0a 09 09 4c 56 4d 5f 53 45 54  + 78,....LVM_SET
7e30: 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 20 20  UNICODEFORMAT   
7e40: 20 20 3d 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f    = CCM_SETUNICO
7e50: 44 45 46 4f 52 4d 41 54 2c 0d 0a 09 09 4c 56 4d  DEFORMAT,....LVM
7e60: 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _GETUNICODEFORMA
7e70: 54 20 20 20 20 20 3d 20 43 43 4d 5f 47 45 54 55  T     = CCM_GETU
7e80: 4e 49 43 4f 44 45 46 4f 52 4d 41 54 0d 0a 09 7d  NICODEFORMAT...}
7e90: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09  ..}....enum {...
7ea0: 4c 56 4e 49 5f 41 4c 4c 2c 0d 0a 09 4c 56 4e 49  LVNI_ALL,...LVNI
7eb0: 5f 46 4f 43 55 53 45 44 20 20 20 20 20 3d 20 31  _FOCUSED     = 1
7ec0: 2c 0d 0a 09 4c 56 4e 49 5f 53 45 4c 45 43 54 45  ,...LVNI_SELECTE
7ed0: 44 20 20 20 20 3d 20 32 2c 0d 0a 09 4c 56 4e 49  D    = 2,...LVNI
7ee0: 5f 43 55 54 20 20 20 20 20 20 20 20 20 3d 20 34  _CUT         = 4
7ef0: 2c 0d 0a 09 4c 56 4e 49 5f 44 52 4f 50 48 49 4c  ,...LVNI_DROPHIL
7f00: 49 54 45 44 20 3d 20 38 2c 0d 0a 09 4c 56 4e 49  ITED = 8,...LVNI
7f10: 5f 41 42 4f 56 45 20 20 20 20 20 20 20 3d 20 32  _ABOVE       = 2
7f20: 35 36 2c 0d 0a 09 4c 56 4e 49 5f 42 45 4c 4f 57  56,...LVNI_BELOW
7f30: 20 20 20 20 20 20 20 3d 20 35 31 32 2c 0d 0a 09         = 512,...
7f40: 4c 56 4e 49 5f 54 4f 4c 45 46 54 20 20 20 20 20  LVNI_TOLEFT     
7f50: 20 3d 20 31 30 32 34 2c 0d 0a 09 4c 56 4e 49 5f   = 1024,...LVNI_
7f60: 54 4f 52 49 47 48 54 20 20 20 20 20 3d 20 32 30  TORIGHT     = 20
7f70: 34 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d  48..}....enum {.
7f80: 0a 09 4c 56 4d 5f 47 45 54 49 54 45 4d 41 20 20  ..LVM_GETITEMA  
7f90: 20 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49          = LVM_FI
7fa0: 52 53 54 20 2b 20 35 2c 0d 0a 09 4c 56 4d 5f 53  RST + 5,...LVM_S
7fb0: 45 54 49 54 45 4d 41 2c 0d 0a 09 4c 56 4d 5f 49  ETITEMA,...LVM_I
7fc0: 4e 53 45 52 54 49 54 45 4d 41 2c 0d 0a 09 4c 56  NSERTITEMA,...LV
7fd0: 4d 5f 44 45 4c 45 54 45 49 54 45 4d 2c 0d 0a 09  M_DELETEITEM,...
7fe0: 4c 56 4d 5f 44 45 4c 45 54 45 41 4c 4c 49 54 45  LVM_DELETEALLITE
7ff0: 4d 53 2c 0d 0a 09 4c 56 4d 5f 47 45 54 43 41 4c  MS,...LVM_GETCAL
8000: 4c 42 41 43 4b 4d 41 53 4b 2c 0d 0a 09 4c 56 4d  LBACKMASK,...LVM
8010: 5f 53 45 54 43 41 4c 4c 42 41 43 4b 4d 41 53 4b  _SETCALLBACKMASK
8020: 2c 0d 0a 09 4c 56 4d 5f 47 45 54 4e 45 58 54 49  ,...LVM_GETNEXTI
8030: 54 45 4d 2c 0d 0a 09 4c 56 4d 5f 46 49 4e 44 49  TEM,...LVM_FINDI
8040: 54 45 4d 41 2c 0d 0a 09 4c 56 4d 5f 47 45 54 49  TEMA,...LVM_GETI
8050: 54 45 4d 52 45 43 54 2c 0d 0a 09 4c 56 4d 5f 53  TEMRECT,...LVM_S
8060: 45 54 49 54 45 4d 50 4f 53 49 54 49 4f 4e 2c 0d  ETITEMPOSITION,.
8070: 0a 09 4c 56 4d 5f 47 45 54 49 54 45 4d 50 4f 53  ..LVM_GETITEMPOS
8080: 49 54 49 4f 4e 2c 0d 0a 09 4c 56 4d 5f 47 45 54  ITION,...LVM_GET
8090: 53 54 52 49 4e 47 57 49 44 54 48 41 2c 0d 0a 09  STRINGWIDTHA,...
80a0: 4c 56 4d 5f 48 49 54 54 45 53 54 2c 0d 0a 09 4c  LVM_HITTEST,...L
80b0: 56 4d 5f 45 4e 53 55 52 45 56 49 53 49 42 4c 45  VM_ENSUREVISIBLE
80c0: 2c 0d 0a 09 4c 56 4d 5f 53 43 52 4f 4c 4c 2c 0d  ,...LVM_SCROLL,.
80d0: 0a 09 4c 56 4d 5f 52 45 44 52 41 57 49 54 45 4d  ..LVM_REDRAWITEM
80e0: 53 2c 0d 0a 09 4c 56 4d 5f 41 52 52 41 4e 47 45  S,...LVM_ARRANGE
80f0: 2c 0d 0a 09 4c 56 4d 5f 45 44 49 54 4c 41 42 45  ,...LVM_EDITLABE
8100: 4c 41 2c 0d 0a 09 4c 56 4d 5f 47 45 54 45 44 49  LA,...LVM_GETEDI
8110: 54 43 4f 4e 54 52 4f 4c 2c 0d 0a 09 4c 56 4d 5f  TCONTROL,...LVM_
8120: 47 45 54 43 4f 4c 55 4d 4e 41 2c 0d 0a 09 4c 56  GETCOLUMNA,...LV
8130: 4d 5f 53 45 54 43 4f 4c 55 4d 4e 41 2c 0d 0a 09  M_SETCOLUMNA,...
8140: 4c 56 4d 5f 49 4e 53 45 52 54 43 4f 4c 55 4d 4e  LVM_INSERTCOLUMN
8150: 41 2c 0d 0a 09 4c 56 4d 5f 44 45 4c 45 54 45 43  A,...LVM_DELETEC
8160: 4f 4c 55 4d 4e 2c 0d 0a 09 4c 56 4d 5f 47 45 54  OLUMN,...LVM_GET
8170: 43 4f 4c 55 4d 4e 57 49 44 54 48 2c 0d 0a 09 4c  COLUMNWIDTH,...L
8180: 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 49 44 54  VM_SETCOLUMNWIDT
8190: 48 2c 20 2f 2f 20 3d 20 4c 56 4d 5f 46 49 52 53  H, // = LVM_FIRS
81a0: 54 20 2b 20 33 30 2c 0d 0a 09 4c 56 4d 5f 43 52  T + 30,...LVM_CR
81b0: 45 41 54 45 44 52 41 47 49 4d 41 47 45 20 20 20  EATEDRAGIMAGE   
81c0: 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 33  = LVM_FIRST + 33
81d0: 2c 0d 0a 09 4c 56 4d 5f 47 45 54 56 49 45 57 52  ,...LVM_GETVIEWR
81e0: 45 43 54 2c 0d 0a 09 4c 56 4d 5f 47 45 54 54 45  ECT,...LVM_GETTE
81f0: 58 54 43 4f 4c 4f 52 2c 0d 0a 09 4c 56 4d 5f 53  XTCOLOR,...LVM_S
8200: 45 54 54 45 58 54 43 4f 4c 4f 52 2c 0d 0a 09 4c  ETTEXTCOLOR,...L
8210: 56 4d 5f 47 45 54 54 45 58 54 42 4b 43 4f 4c 4f  VM_GETTEXTBKCOLO
8220: 52 2c 0d 0a 09 4c 56 4d 5f 53 45 54 54 45 58 54  R,...LVM_SETTEXT
8230: 42 4b 43 4f 4c 4f 52 2c 0d 0a 09 4c 56 4d 5f 47  BKCOLOR,...LVM_G
8240: 45 54 54 4f 50 49 4e 44 45 58 2c 0d 0a 09 4c 56  ETTOPINDEX,...LV
8250: 4d 5f 47 45 54 43 4f 55 4e 54 50 45 52 50 41 47  M_GETCOUNTPERPAG
8260: 45 2c 0d 0a 09 4c 56 4d 5f 47 45 54 4f 52 49 47  E,...LVM_GETORIG
8270: 49 4e 2c 0d 0a 09 4c 56 4d 5f 55 50 44 41 54 45  IN,...LVM_UPDATE
8280: 2c 0d 0a 09 4c 56 4d 5f 53 45 54 49 54 45 4d 53  ,...LVM_SETITEMS
8290: 54 41 54 45 2c 0d 0a 09 4c 56 4d 5f 47 45 54 49  TATE,...LVM_GETI
82a0: 54 45 4d 53 54 41 54 45 2c 0d 0a 09 4c 56 4d 5f  TEMSTATE,...LVM_
82b0: 47 45 54 49 54 45 4d 54 45 58 54 41 2c 0d 0a 09  GETITEMTEXTA,...
82c0: 4c 56 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 41  LVM_SETITEMTEXTA
82d0: 2c 0d 0a 09 4c 56 4d 5f 53 45 54 49 54 45 4d 43  ,...LVM_SETITEMC
82e0: 4f 55 4e 54 2c 0d 0a 09 4c 56 4d 5f 53 4f 52 54  OUNT,...LVM_SORT
82f0: 49 54 45 4d 53 2c 0d 0a 09 4c 56 4d 5f 53 45 54  ITEMS,...LVM_SET
8300: 49 54 45 4d 50 4f 53 49 54 49 4f 4e 33 32 2c 0d  ITEMPOSITION32,.
8310: 0a 09 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 45  ..LVM_GETSELECTE
8320: 44 43 4f 55 4e 54 2c 0d 0a 09 4c 56 4d 5f 47 45  DCOUNT,...LVM_GE
8330: 54 49 54 45 4d 53 50 41 43 49 4e 47 2c 0d 0a 09  TITEMSPACING,...
8340: 4c 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54  LVM_GETISEARCHST
8350: 52 49 4e 47 41 2c 20 2f 2f 20 3d 20 4c 56 4d 5f  RINGA, // = LVM_
8360: 46 49 52 53 54 20 2b 20 35 32 2c 0d 0a 09 4c 56  FIRST + 52,...LV
8370: 4d 5f 47 45 54 49 54 45 4d 57 20 20 20 20 20 20  M_GETITEMW      
8380: 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20      = LVM_FIRST 
8390: 2b 20 37 35 2c 0d 0a 09 4c 56 4d 5f 53 45 54 49  + 75,...LVM_SETI
83a0: 54 45 4d 57 20 20 20 20 20 20 20 20 20 20 3d 20  TEMW          = 
83b0: 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 36 2c 0d  LVM_FIRST + 76,.
83c0: 0a 09 4c 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d  ..LVM_INSERTITEM
83d0: 57 20 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49  W       = LVM_FI
83e0: 52 53 54 20 2b 20 37 37 2c 0d 0a 09 4c 56 4d 5f  RST + 77,...LVM_
83f0: 46 49 4e 44 49 54 45 4d 57 20 20 20 20 20 20 20  FINDITEMW       
8400: 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20    = LVM_FIRST + 
8410: 38 33 2c 0d 0a 09 4c 56 4d 5f 47 45 54 53 54 52  83,...LVM_GETSTR
8420: 49 4e 47 57 49 44 54 48 57 20 20 20 3d 20 4c 56  INGWIDTHW   = LV
8430: 4d 5f 46 49 52 53 54 20 2b 20 38 37 2c 0d 0a 09  M_FIRST + 87,...
8440: 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 57 20 20  LVM_GETCOLUMNW  
8450: 20 20 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53        = LVM_FIRS
8460: 54 20 2b 20 39 35 2c 0d 0a 09 4c 56 4d 5f 53 45  T + 95,...LVM_SE
8470: 54 43 4f 4c 55 4d 4e 57 20 20 20 20 20 20 20 20  TCOLUMNW        
8480: 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 39 36  = LVM_FIRST + 96
8490: 2c 0d 0a 09 4c 56 4d 5f 49 4e 53 45 52 54 43 4f  ,...LVM_INSERTCO
84a0: 4c 55 4d 4e 57 20 20 20 20 20 3d 20 4c 56 4d 5f  LUMNW     = LVM_
84b0: 46 49 52 53 54 20 2b 20 39 37 2c 0d 0a 09 4c 56  FIRST + 97,...LV
84c0: 4d 5f 47 45 54 49 54 45 4d 54 45 58 54 57 20 20  M_GETITEMTEXTW  
84d0: 20 20 20 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20      = LVM_FIRST 
84e0: 2b 20 31 31 35 2c 0d 0a 09 4c 56 4d 5f 53 45 54  + 115,...LVM_SET
84f0: 49 54 45 4d 54 45 58 54 57 2c 0d 0a 09 4c 56 4d  ITEMTEXTW,...LVM
8500: 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e  _GETISEARCHSTRIN
8510: 47 57 2c 0d 0a 09 4c 56 4d 5f 45 44 49 54 4c 41  GW,...LVM_EDITLA
8520: 42 45 4c 57 20 20 20 20 20 2f 2f 20 3d 20 4c 56  BELW     // = LV
8530: 4d 5f 46 49 52 53 54 20 2b 20 31 31 38 2c 0d 0a  M_FIRST + 118,..
8540: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
8550: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33  _WIN32_IE >= 0x3
8560: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
8570: 09 09 4c 56 4d 5f 47 45 54 48 45 41 44 45 52 20  ..LVM_GETHEADER 
8580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d                 =
8590: 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 31 2c   LVM_FIRST + 31,
85a0: 0d 0a 09 09 4c 56 4d 5f 53 45 54 49 43 4f 4e 53  ....LVM_SETICONS
85b0: 50 41 43 49 4e 47 20 20 20 20 20 20 20 20 20 20  PACING          
85c0: 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35   = LVM_FIRST + 5
85d0: 33 2c 0d 0a 09 09 4c 56 4d 5f 53 45 54 45 58 54  3,....LVM_SETEXT
85e0: 45 4e 44 45 44 4c 49 53 54 56 49 45 57 53 54 59  ENDEDLISTVIEWSTY
85f0: 4c 45 2c 0d 0a 09 09 4c 56 4d 5f 47 45 54 45 58  LE,....LVM_GETEX
8600: 54 45 4e 44 45 44 4c 49 53 54 56 49 45 57 53 54  TENDEDLISTVIEWST
8610: 59 4c 45 2c 0d 0a 09 09 4c 56 4d 5f 47 45 54 53  YLE,....LVM_GETS
8620: 55 42 49 54 45 4d 52 45 43 54 2c 0d 0a 09 09 4c  UBITEMRECT,....L
8630: 56 4d 5f 53 55 42 49 54 45 4d 48 49 54 54 45 53  VM_SUBITEMHITTES
8640: 54 2c 0d 0a 09 09 4c 56 4d 5f 53 45 54 43 4f 4c  T,....LVM_SETCOL
8650: 55 4d 4e 4f 52 44 45 52 41 52 52 41 59 2c 0d 0a  UMNORDERARRAY,..
8660: 09 09 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 4f  ..LVM_GETCOLUMNO
8670: 52 44 45 52 41 52 52 41 59 2c 0d 0a 09 09 4c 56  RDERARRAY,....LV
8680: 4d 5f 53 45 54 48 4f 54 49 54 45 4d 2c 0d 0a 09  M_SETHOTITEM,...
8690: 09 4c 56 4d 5f 47 45 54 48 4f 54 49 54 45 4d 2c  .LVM_GETHOTITEM,
86a0: 0d 0a 09 09 4c 56 4d 5f 53 45 54 48 4f 54 43 55  ....LVM_SETHOTCU
86b0: 52 53 4f 52 2c 0d 0a 09 09 4c 56 4d 5f 47 45 54  RSOR,....LVM_GET
86c0: 48 4f 54 43 55 52 53 4f 52 2c 0d 0a 09 09 4c 56  HOTCURSOR,....LV
86d0: 4d 5f 41 50 50 52 4f 58 49 4d 41 54 45 56 49 45  M_APPROXIMATEVIE
86e0: 57 52 45 43 54 20 20 20 2f 2f 20 3d 20 4c 56 4d  WRECT   // = LVM
86f0: 5f 46 49 52 53 54 20 2b 20 36 34 2c 0d 0a 09 7d  _FIRST + 64,...}
8700: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09  ..}....enum {...
8710: 4c 56 46 49 5f 50 41 52 41 4d 20 20 20 20 20 3d  LVFI_PARAM     =
8720: 20 31 2c 0d 0a 09 4c 56 46 49 5f 53 54 52 49 4e   1,...LVFI_STRIN
8730: 47 20 20 20 20 3d 20 32 2c 0d 0a 09 4c 56 46 49  G    = 2,...LVFI
8740: 5f 50 41 52 54 49 41 4c 20 20 20 3d 20 38 2c 0d  _PARTIAL   = 8,.
8750: 0a 09 4c 56 46 49 5f 57 52 41 50 20 20 20 20 20  ..LVFI_WRAP     
8760: 20 3d 20 33 32 2c 0d 0a 09 4c 56 46 49 5f 4e 45   = 32,...LVFI_NE
8770: 41 52 45 53 54 58 59 20 3d 20 36 34 0d 0a 7d 0d  ARESTXY = 64..}.
8780: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4c 56 49 46  ...enum {...LVIF
8790: 5f 44 49 5f 53 45 54 49 54 45 4d 20 3d 20 30 78  _DI_SETITEM = 0x
87a0: 31 30 30 30 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20  1000..}....enum 
87b0: 7b 0d 0a 09 4c 56 49 52 5f 42 4f 55 4e 44 53 2c  {...LVIR_BOUNDS,
87c0: 0d 0a 09 4c 56 49 52 5f 49 43 4f 4e 2c 0d 0a 09  ...LVIR_ICON,...
87d0: 4c 56 49 52 5f 4c 41 42 45 4c 2c 0d 0a 09 4c 56  LVIR_LABEL,...LV
87e0: 49 52 5f 53 45 4c 45 43 54 42 4f 55 4e 44 53 20  IR_SELECTBOUNDS 
87f0: 2f 2f 20 3d 20 33 0d 0a 7d 0d 0a 0d 0a 65 6e 75  // = 3..}....enu
8800: 6d 20 7b 0d 0a 09 4c 56 48 54 5f 4e 4f 57 48 45  m {...LVHT_NOWHE
8810: 52 45 20 20 20 20 20 20 20 20 20 3d 20 31 2c 0d  RE         = 1,.
8820: 0a 09 4c 56 48 54 5f 4f 4e 49 54 45 4d 49 43 4f  ..LVHT_ONITEMICO
8830: 4e 20 20 20 20 20 20 3d 20 32 2c 0d 0a 09 4c 56  N      = 2,...LV
8840: 48 54 5f 4f 4e 49 54 45 4d 4c 41 42 45 4c 20 20  HT_ONITEMLABEL  
8850: 20 20 20 3d 20 34 2c 0d 0a 09 4c 56 48 54 5f 4f     = 4,...LVHT_O
8860: 4e 49 54 45 4d 53 54 41 54 45 49 43 4f 4e 20 3d  NITEMSTATEICON =
8870: 20 38 2c 0d 0a 09 4c 56 48 54 5f 4f 4e 49 54 45   8,...LVHT_ONITE
8880: 4d 20 20 20 20 20 20 20 20 20 20 3d 20 4c 56 48  M          = LVH
8890: 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e 20 7c 20 4c  T_ONITEMICON | L
88a0: 56 48 54 5f 4f 4e 49 54 45 4d 4c 41 42 45 4c 0d  VHT_ONITEMLABEL.
88b0: 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
88c0: 20 20 20 20 20 20 20 20 20 7c 20 4c 56 48 54 5f           | LVHT_
88d0: 4f 4e 49 54 45 4d 53 54 41 54 45 49 43 4f 4e 2c  ONITEMSTATEICON,
88e0: 0d 0a 09 4c 56 48 54 5f 41 42 4f 56 45 20 20 20  ...LVHT_ABOVE   
88f0: 20 20 20 20 20 20 20 20 3d 20 38 2c 0d 0a 09 4c          = 8,...L
8900: 56 48 54 5f 42 45 4c 4f 57 20 20 20 20 20 20 20  VHT_BELOW       
8910: 20 20 20 20 3d 20 31 36 2c 0d 0a 09 4c 56 48 54      = 16,...LVHT
8920: 5f 54 4f 52 49 47 48 54 20 20 20 20 20 20 20 20  _TORIGHT        
8930: 20 3d 20 33 32 2c 0d 0a 09 4c 56 48 54 5f 54 4f   = 32,...LVHT_TO
8940: 4c 45 46 54 20 20 20 20 20 20 20 20 20 20 3d 20  LEFT          = 
8950: 36 34 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d  64..}....enum {.
8960: 0a 09 4c 56 41 5f 44 45 46 41 55 4c 54 20 20 20  ..LVA_DEFAULT   
8970: 20 3d 20 30 2c 0d 0a 09 4c 56 41 5f 41 4c 49 47   = 0,...LVA_ALIG
8980: 4e 4c 45 46 54 20 20 3d 20 31 2c 0d 0a 09 4c 56  NLEFT  = 1,...LV
8990: 41 5f 41 4c 49 47 4e 54 4f 50 20 20 20 3d 20 32  A_ALIGNTOP   = 2
89a0: 2c 0d 0a 09 4c 56 41 5f 53 4e 41 50 54 4f 47 52  ,...LVA_SNAPTOGR
89b0: 49 44 20 3d 20 35 0d 0a 7d 0d 0a 0d 0a 65 6e 75  ID = 5..}....enu
89c0: 6d 20 7b 0d 0a 09 4c 56 43 46 5f 46 4d 54 20 20  m {...LVCF_FMT  
89d0: 20 20 20 3d 20 31 2c 0d 0a 09 4c 56 43 46 5f 57     = 1,...LVCF_W
89e0: 49 44 54 48 20 20 20 3d 20 32 2c 0d 0a 09 4c 56  IDTH   = 2,...LV
89f0: 43 46 5f 54 45 58 54 20 20 20 20 3d 20 34 2c 0d  CF_TEXT    = 4,.
8a00: 0a 09 4c 56 43 46 5f 53 55 42 49 54 45 4d 20 3d  ..LVCF_SUBITEM =
8a10: 20 38 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20   8..}....static 
8a20: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
8a30: 20 30 78 33 30 30 29 20 7b 0d 0a 09 65 6e 75 6d   0x300) {...enum
8a40: 20 7b 0d 0a 09 09 4c 56 43 46 5f 49 4d 41 47 45   {....LVCF_IMAGE
8a50: 20 3d 20 31 36 2c 0d 0a 09 09 4c 56 43 46 5f 4f   = 16,....LVCF_O
8a60: 52 44 45 52 20 3d 20 33 32 0d 0a 09 7d 0d 0a 7d  RDER = 32...}..}
8a70: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4c 56 43  ....enum {...LVC
8a80: 46 4d 54 5f 4c 45 46 54 2c 0d 0a 09 4c 56 43 46  FMT_LEFT,...LVCF
8a90: 4d 54 5f 52 49 47 48 54 2c 0d 0a 09 4c 56 43 46  MT_RIGHT,...LVCF
8aa0: 4d 54 5f 43 45 4e 54 45 52 2c 0d 0a 09 4c 56 43  MT_CENTER,...LVC
8ab0: 46 4d 54 5f 4a 55 53 54 49 46 59 4d 41 53 4b 20  FMT_JUSTIFYMASK 
8ac0: 2f 2f 20 3d 20 33 0d 0a 7d 0d 0a 0d 0a 73 74 61  // = 3..}....sta
8ad0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
8ae0: 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09  E >= 0x300) {...
8af0: 65 6e 75 6d 20 7b 0d 0a 09 09 4c 56 43 46 4d 54  enum {....LVCFMT
8b00: 5f 49 4d 41 47 45 20 20 20 20 20 20 20 20 20 20  _IMAGE          
8b10: 20 3d 20 32 30 34 38 2c 0d 0a 09 09 4c 56 43 46   = 2048,....LVCF
8b20: 4d 54 5f 42 49 54 4d 41 50 5f 4f 4e 5f 52 49 47  MT_BITMAP_ON_RIG
8b30: 48 54 20 3d 20 34 30 39 36 2c 0d 0a 09 09 4c 56  HT = 4096,....LV
8b40: 43 46 4d 54 5f 43 4f 4c 5f 48 41 53 5f 49 4d 41  CFMT_COL_HAS_IMA
8b50: 47 45 53 20 20 3d 20 33 32 37 36 38 0d 0a 09 7d  GES  = 32768...}
8b60: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09  ..}....enum {...
8b70: 4c 56 53 43 57 5f 41 55 54 4f 53 49 5a 45 20 20  LVSCW_AUTOSIZE  
8b80: 20 20 20 20 20 20 20 20 20 3d 20 2d 31 2c 0d 0a           = -1,..
8b90: 09 4c 56 53 43 57 5f 41 55 54 4f 53 49 5a 45 5f  .LVSCW_AUTOSIZE_
8ba0: 55 53 45 48 45 41 44 45 52 20 3d 20 2d 32 0d 0a  USEHEADER = -2..
8bb0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4c 56  }....enum {...LV
8bc0: 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47 20 20  N_ITEMCHANGING  
8bd0: 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2c 0d 0a    = LVN_FIRST,..
8be0: 09 4c 56 4e 5f 49 54 45 4d 43 48 41 4e 47 45 44  .LVN_ITEMCHANGED
8bf0: 20 20 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54       = LVN_FIRST
8c00: 20 2d 20 31 2c 0d 0a 09 4c 56 4e 5f 49 4e 53 45   - 1,...LVN_INSE
8c10: 52 54 49 54 45 4d 20 20 20 20 20 20 3d 20 4c 56  RTITEM      = LV
8c20: 4e 5f 46 49 52 53 54 20 2d 20 32 2c 0d 0a 09 4c  N_FIRST - 2,...L
8c30: 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d 20 20 20  VN_DELETEITEM   
8c40: 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54 20 2d     = LVN_FIRST -
8c50: 20 33 2c 0d 0a 09 4c 56 4e 5f 44 45 4c 45 54 45   3,...LVN_DELETE
8c60: 41 4c 4c 49 54 45 4d 53 20 20 3d 20 4c 56 4e 5f  ALLITEMS  = LVN_
8c70: 46 49 52 53 54 20 2d 20 34 2c 0d 0a 09 4c 56 4e  FIRST - 4,...LVN
8c80: 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 41  _BEGINLABELEDITA
8c90: 20 3d 20 4c 56 4e 5f 46 49 52 53 54 20 2d 20 35   = LVN_FIRST - 5
8ca0: 2c 0d 0a 09 4c 56 4e 5f 45 4e 44 4c 41 42 45 4c  ,...LVN_ENDLABEL
8cb0: 45 44 49 54 41 20 20 20 3d 20 4c 56 4e 5f 46 49  EDITA   = LVN_FI
8cc0: 52 53 54 20 2d 20 36 2c 0d 0a 09 4c 56 4e 5f 43  RST - 6,...LVN_C
8cd0: 4f 4c 55 4d 4e 43 4c 49 43 4b 20 20 20 20 20 3d  OLUMNCLICK     =
8ce0: 20 4c 56 4e 5f 46 49 52 53 54 20 2d 20 38 2c 0d   LVN_FIRST - 8,.
8cf0: 0a 09 4c 56 4e 5f 42 45 47 49 4e 44 52 41 47 20  ..LVN_BEGINDRAG 
8d00: 20 20 20 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53        = LVN_FIRS
8d10: 54 20 2d 20 39 2c 0d 0a 09 4c 56 4e 5f 42 45 47  T - 9,...LVN_BEG
8d20: 49 4e 52 44 52 41 47 20 20 20 20 20 20 3d 20 4c  INRDRAG      = L
8d30: 56 4e 5f 46 49 52 53 54 20 2d 20 31 31 2c 0d 0a  VN_FIRST - 11,..
8d40: 09 4c 56 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f  .LVN_GETDISPINFO
8d50: 41 20 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54  A    = LVN_FIRST
8d60: 20 2d 20 35 30 2c 0d 0a 09 4c 56 4e 5f 53 45 54   - 50,...LVN_SET
8d70: 44 49 53 50 49 4e 46 4f 41 20 20 20 20 3d 20 4c  DISPINFOA    = L
8d80: 56 4e 5f 46 49 52 53 54 20 2d 20 35 31 2c 0d 0a  VN_FIRST - 51,..
8d90: 09 4c 56 4e 5f 4b 45 59 44 4f 57 4e 20 20 20 20  .LVN_KEYDOWN    
8da0: 20 20 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54       = LVN_FIRST
8db0: 20 2d 20 35 35 2c 0d 0a 09 4c 56 4e 5f 42 45 47   - 55,...LVN_BEG
8dc0: 49 4e 4c 41 42 45 4c 45 44 49 54 57 20 3d 20 4c  INLABELEDITW = L
8dd0: 56 4e 5f 46 49 52 53 54 20 2d 20 37 35 2c 0d 0a  VN_FIRST - 75,..
8de0: 09 4c 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49  .LVN_ENDLABELEDI
8df0: 54 57 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54  TW   = LVN_FIRST
8e00: 20 2d 20 37 36 2c 0d 0a 09 4c 56 4e 5f 47 45 54   - 76,...LVN_GET
8e10: 44 49 53 50 49 4e 46 4f 57 20 20 20 20 3d 20 4c  DISPINFOW    = L
8e20: 56 4e 5f 46 49 52 53 54 20 2d 20 37 37 2c 0d 0a  VN_FIRST - 77,..
8e30: 09 4c 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f  .LVN_SETDISPINFO
8e40: 57 20 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54  W    = LVN_FIRST
8e50: 20 2d 20 37 38 0d 0a 7d 0d 0a 0d 0a 73 74 61 74   - 78..}....stat
8e60: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
8e70: 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 65   >= 0x400) {...e
8e80: 6e 75 6d 20 7b 0d 0a 09 09 4c 56 4e 5f 4d 41 52  num {....LVN_MAR
8e90: 51 55 45 45 42 45 47 49 4e 20 3d 20 4c 56 4e 5f  QUEEBEGIN = LVN_
8ea0: 46 49 52 53 54 20 2d 20 35 36 2c 0d 0a 09 09 4c  FIRST - 56,....L
8eb0: 56 4e 5f 47 45 54 49 4e 46 4f 54 49 50 41 20 20  VN_GETINFOTIPA  
8ec0: 3d 20 4c 56 4e 5f 46 49 52 53 54 20 2d 20 35 37  = LVN_FIRST - 57
8ed0: 2c 0d 0a 09 09 4c 56 4e 5f 47 45 54 49 4e 46 4f  ,....LVN_GETINFO
8ee0: 54 49 50 57 20 20 3d 20 4c 56 4e 5f 46 49 52 53  TIPW  = LVN_FIRS
8ef0: 54 20 2d 20 35 38 2c 0d 0a 09 09 4c 56 4b 46 5f  T - 58,....LVKF_
8f00: 41 4c 54 20 20 20 20 20 20 20 20 20 3d 20 31 2c  ALT         = 1,
8f10: 0d 0a 09 09 4c 56 4b 46 5f 43 4f 4e 54 52 4f 4c  ....LVKF_CONTROL
8f20: 20 20 20 20 20 3d 20 32 2c 0d 0a 09 09 4c 56 4b       = 2,....LVK
8f30: 46 5f 53 48 49 46 54 20 20 20 20 20 20 20 3d 20  F_SHIFT       = 
8f40: 34 2c 0d 0a 09 09 4c 56 47 49 54 5f 55 4e 46 4f  4,....LVGIT_UNFO
8f50: 4c 44 45 44 20 20 20 3d 20 31 0d 0a 09 7d 0d 0a  LDED   = 1...}..
8f60: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 56  }....enum {...TV
8f70: 53 5f 48 41 53 42 55 54 54 4f 4e 53 20 20 20 20  S_HASBUTTONS    
8f80: 20 20 3d 20 31 2c 0d 0a 09 54 56 53 5f 48 41 53    = 1,...TVS_HAS
8f90: 4c 49 4e 45 53 20 20 20 20 20 20 20 20 3d 20 32  LINES        = 2
8fa0: 2c 0d 0a 09 54 56 53 5f 4c 49 4e 45 53 41 54 52  ,...TVS_LINESATR
8fb0: 4f 4f 54 20 20 20 20 20 3d 20 34 2c 0d 0a 09 54  OOT     = 4,...T
8fc0: 56 53 5f 45 44 49 54 4c 41 42 45 4c 53 20 20 20  VS_EDITLABELS   
8fd0: 20 20 20 3d 20 38 2c 0d 0a 09 54 56 53 5f 44 49     = 8,...TVS_DI
8fe0: 53 41 42 4c 45 44 52 41 47 44 52 4f 50 20 3d 20  SABLEDRAGDROP = 
8ff0: 31 36 2c 0d 0a 09 54 56 53 5f 53 48 4f 57 53 45  16,...TVS_SHOWSE
9000: 4c 41 4c 57 41 59 53 20 20 20 3d 20 33 32 0d 0a  LALWAYS   = 32..
9010: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
9020: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33  _WIN32_IE >= 0x3
9030: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
9040: 09 09 54 56 53 5f 52 54 4c 52 45 41 44 49 4e 47  ..TVS_RTLREADING
9050: 20 20 3d 20 36 34 2c 0d 0a 09 09 54 56 53 5f 4e    = 64,....TVS_N
9060: 4f 54 4f 4f 4c 54 49 50 53 20 20 3d 20 31 32 38  OTOOLTIPS  = 128
9070: 2c 0d 0a 09 09 54 56 53 5f 43 48 45 43 4b 42 4f  ,....TVS_CHECKBO
9080: 58 45 53 20 20 3d 20 32 35 36 2c 0d 0a 09 09 54  XES  = 256,....T
9090: 56 53 5f 54 52 41 43 4b 53 45 4c 45 43 54 20 3d  VS_TRACKSELECT =
90a0: 20 35 31 32 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73   512...}..}....s
90b0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
90c0: 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d  _IE >= 0x400) {.
90d0: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54 56 53 5f  ..enum {....TVS_
90e0: 53 49 4e 47 4c 45 45 58 50 41 4e 44 20 20 3d 20  SINGLEEXPAND  = 
90f0: 31 30 32 34 2c 0d 0a 09 09 54 56 53 5f 49 4e 46  1024,....TVS_INF
9100: 4f 54 49 50 20 20 20 20 20 20 20 3d 20 32 30 34  OTIP       = 204
9110: 38 2c 0d 0a 09 09 54 56 53 5f 46 55 4c 4c 52 4f  8,....TVS_FULLRO
9120: 57 53 45 4c 45 43 54 20 3d 20 34 30 39 36 2c 0d  WSELECT = 4096,.
9130: 0a 09 09 54 56 53 5f 4e 4f 53 43 52 4f 4c 4c 20  ...TVS_NOSCROLL 
9140: 20 20 20 20 20 3d 20 38 31 39 32 2c 0d 0a 09 09       = 8192,....
9150: 54 56 53 5f 4e 4f 4e 45 56 45 4e 48 45 49 47 48  TVS_NONEVENHEIGH
9160: 54 20 3d 20 31 36 33 38 34 0d 0a 09 7d 0d 0a 7d  T = 16384...}..}
9170: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
9180: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30  WIN32_IE >= 0x50
9190: 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  0) {...enum {...
91a0: 09 54 56 53 5f 4e 4f 48 53 43 52 4f 4c 4c 20 3d  .TVS_NOHSCROLL =
91b0: 20 30 78 38 30 30 30 0d 0a 09 7d 0d 0a 7d 0d 0a   0x8000...}..}..
91c0: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 56 49 46 5f  ..enum {...TVIF_
91d0: 54 45 58 54 20 20 20 20 20 20 20 20 20 20 3d 20  TEXT          = 
91e0: 31 2c 0d 0a 09 54 56 49 46 5f 49 4d 41 47 45 20  1,...TVIF_IMAGE 
91f0: 20 20 20 20 20 20 20 20 3d 20 32 2c 0d 0a 09 54          = 2,...T
9200: 56 49 46 5f 50 41 52 41 4d 20 20 20 20 20 20 20  VIF_PARAM       
9210: 20 20 3d 20 34 2c 0d 0a 09 54 56 49 46 5f 53 54    = 4,...TVIF_ST
9220: 41 54 45 20 20 20 20 20 20 20 20 20 3d 20 38 2c  ATE         = 8,
9230: 0d 0a 09 54 56 49 46 5f 48 41 4e 44 4c 45 20 20  ...TVIF_HANDLE  
9240: 20 20 20 20 20 20 3d 20 31 36 2c 0d 0a 09 54 56        = 16,...TV
9250: 49 46 5f 53 45 4c 45 43 54 45 44 49 4d 41 47 45  IF_SELECTEDIMAGE
9260: 20 3d 20 33 32 2c 0d 0a 09 54 56 49 46 5f 43 48   = 32,...TVIF_CH
9270: 49 4c 44 52 45 4e 20 20 20 20 20 20 3d 20 36 34  ILDREN      = 64
9280: 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66  ..}....static if
9290: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
92a0: 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x400) {...enum {
92b0: 0d 0a 09 09 54 56 49 46 5f 49 4e 54 45 47 52 41  ....TVIF_INTEGRA
92c0: 4c 20 3d 20 30 78 30 30 38 30 0d 0a 09 7d 0d 0a  L = 0x0080...}..
92d0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 56  }....enum {...TV
92e0: 49 53 5f 46 4f 43 55 53 45 44 20 20 20 20 20 20  IS_FOCUSED      
92f0: 20 20 3d 20 31 2c 0d 0a 09 54 56 49 53 5f 53 45    = 1,...TVIS_SE
9300: 4c 45 43 54 45 44 20 20 20 20 20 20 20 3d 20 32  LECTED       = 2
9310: 2c 0d 0a 09 54 56 49 53 5f 43 55 54 20 20 20 20  ,...TVIS_CUT    
9320: 20 20 20 20 20 20 20 20 3d 20 34 2c 0d 0a 09 54          = 4,...T
9330: 56 49 53 5f 44 52 4f 50 48 49 4c 49 54 45 44 20  VIS_DROPHILITED 
9340: 20 20 20 3d 20 38 2c 0d 0a 09 54 56 49 53 5f 42     = 8,...TVIS_B
9350: 4f 4c 44 20 20 20 20 20 20 20 20 20 20 20 3d 20  OLD           = 
9360: 31 36 2c 0d 0a 09 54 56 49 53 5f 45 58 50 41 4e  16,...TVIS_EXPAN
9370: 44 45 44 20 20 20 20 20 20 20 3d 20 33 32 2c 0d  DED       = 32,.
9380: 0a 09 54 56 49 53 5f 45 58 50 41 4e 44 45 44 4f  ..TVIS_EXPANDEDO
9390: 4e 43 45 20 20 20 3d 20 36 34 2c 0d 0a 09 54 56  NCE   = 64,...TV
93a0: 49 53 5f 4f 56 45 52 4c 41 59 4d 41 53 4b 20 20  IS_OVERLAYMASK  
93b0: 20 20 3d 20 30 78 46 30 30 2c 0d 0a 09 54 56 49    = 0xF00,...TVI
93c0: 53 5f 53 54 41 54 45 49 4d 41 47 45 4d 41 53 4b  S_STATEIMAGEMASK
93d0: 20 3d 20 30 78 46 30 30 30 2c 0d 0a 09 54 56 49   = 0xF000,...TVI
93e0: 53 5f 55 53 45 52 4d 41 53 4b 20 20 20 20 20 20  S_USERMASK      
93f0: 20 3d 20 30 78 46 30 30 30 0d 0a 7d 0d 0a 0d 0a   = 0xF000..}....
9400: 65 6e 75 6d 20 7b 0d 0a 09 49 5f 43 48 49 4c 44  enum {...I_CHILD
9410: 52 45 4e 43 41 4c 4c 42 41 43 4b 20 3d 20 2d 31  RENCALLBACK = -1
9420: 0d 0a 7d 0d 0a 0d 0a 6d 69 78 69 6e 20 44 45 43  ..}....mixin DEC
9430: 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22 48 54  LARE_HANDLE!("HT
9440: 52 45 45 49 54 45 4d 22 29 3b 0d 0a 6d 69 78 69  REEITEM");..mixi
9450: 6e 20 44 45 43 4c 41 52 45 5f 48 41 4e 44 4c 45  n DECLARE_HANDLE
9460: 21 28 22 48 49 4d 41 47 45 4c 49 53 54 22 29 3b  !("HIMAGELIST");
9470: 0d 0a 0d 0a 76 65 72 73 69 6f 6e 28 57 69 6e 36  ....version(Win6
9480: 34 29 0d 0a 7b 0d 0a 63 6f 6e 73 74 20 48 54 52  4)..{..const HTR
9490: 45 45 49 54 45 4d 0d 0a 09 54 56 49 5f 52 4f 4f  EEITEM...TVI_ROO
94a0: 54 20 20 3d 20 63 61 73 74 28 48 54 52 45 45 49  T  = cast(HTREEI
94b0: 54 45 4d 29 20 63 61 73 74 28 55 4c 4f 4e 47 5f  TEM) cast(ULONG_
94c0: 50 54 52 29 2d 30 78 31 30 30 30 30 2c 0d 0a 09  PTR)-0x10000,...
94d0: 54 56 49 5f 46 49 52 53 54 20 3d 20 63 61 73 74  TVI_FIRST = cast
94e0: 28 48 54 52 45 45 49 54 45 4d 29 20 63 61 73 74  (HTREEITEM) cast
94f0: 28 55 4c 4f 4e 47 5f 50 54 52 29 2d 30 78 66 66  (ULONG_PTR)-0xff
9500: 66 66 2c 0d 0a 09 54 56 49 5f 4c 41 53 54 20 20  ff,...TVI_LAST  
9510: 3d 20 63 61 73 74 28 48 54 52 45 45 49 54 45 4d  = cast(HTREEITEM
9520: 29 20 63 61 73 74 28 55 4c 4f 4e 47 5f 50 54 52  ) cast(ULONG_PTR
9530: 29 2d 30 78 66 66 66 65 2c 0d 0a 09 54 56 49 5f  )-0xfffe,...TVI_
9540: 53 4f 52 54 20 20 3d 20 63 61 73 74 28 48 54 52  SORT  = cast(HTR
9550: 45 45 49 54 45 4d 29 20 63 61 73 74 28 55 4c 4f  EEITEM) cast(ULO
9560: 4e 47 5f 50 54 52 29 2d 30 78 66 66 66 64 3b 0d  NG_PTR)-0xfffd;.
9570: 0a 7d 20 65 6c 73 65 20 7b 0d 0a 63 6f 6e 73 74  .} else {..const
9580: 20 48 54 52 45 45 49 54 45 4d 0d 0a 09 54 56 49   HTREEITEM...TVI
9590: 5f 52 4f 4f 54 20 20 3d 20 63 61 73 74 28 48 54  _ROOT  = cast(HT
95a0: 52 45 45 49 54 45 4d 29 20 30 78 46 46 46 46 30  REEITEM) 0xFFFF0
95b0: 30 30 30 2c 0d 0a 09 54 56 49 5f 46 49 52 53 54  000,...TVI_FIRST
95c0: 20 3d 20 63 61 73 74 28 48 54 52 45 45 49 54 45   = cast(HTREEITE
95d0: 4d 29 20 30 78 46 46 46 46 30 30 30 31 2c 0d 0a  M) 0xFFFF0001,..
95e0: 09 54 56 49 5f 4c 41 53 54 20 20 3d 20 63 61 73  .TVI_LAST  = cas
95f0: 74 28 48 54 52 45 45 49 54 45 4d 29 20 30 78 46  t(HTREEITEM) 0xF
9600: 46 46 46 30 30 30 32 2c 0d 0a 09 54 56 49 5f 53  FFF0002,...TVI_S
9610: 4f 52 54 20 20 3d 20 63 61 73 74 28 48 54 52 45  ORT  = cast(HTRE
9620: 45 49 54 45 4d 29 20 30 78 46 46 46 46 30 30 30  EITEM) 0xFFFF000
9630: 33 3b 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d  3;..}....enum {.
9640: 0a 09 54 56 53 49 4c 5f 4e 4f 52 4d 41 4c 20 3d  ..TVSIL_NORMAL =
9650: 20 30 2c 0d 0a 09 54 56 53 49 4c 5f 53 54 41 54   0,...TVSIL_STAT
9660: 45 20 20 3d 20 32 0d 0a 7d 0d 0a 0d 0a 65 6e 75  E  = 2..}....enu
9670: 6d 20 7b 0d 0a 09 54 56 4d 5f 49 4e 53 45 52 54  m {...TVM_INSERT
9680: 49 54 45 4d 41 20 20 20 20 20 20 20 3d 20 54 56  ITEMA       = TV
9690: 5f 46 49 52 53 54 2c 0d 0a 09 54 56 4d 5f 44 45  _FIRST,...TVM_DE
96a0: 4c 45 54 45 49 54 45 4d 20 20 20 20 20 20 20 20  LETEITEM        
96b0: 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31 2c 0d  = TV_FIRST + 1,.
96c0: 0a 09 54 56 4d 5f 45 58 50 41 4e 44 20 20 20 20  ..TVM_EXPAND    
96d0: 20 20 20 20 20 20 20 20 3d 20 54 56 5f 46 49 52          = TV_FIR
96e0: 53 54 20 2b 20 32 2c 0d 0a 09 54 56 4d 5f 47 45  ST + 2,...TVM_GE
96f0: 54 49 54 45 4d 52 45 43 54 20 20 20 20 20 20 20  TITEMRECT       
9700: 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 34 2c 0d  = TV_FIRST + 4,.
9710: 0a 09 54 56 4d 5f 47 45 54 43 4f 55 4e 54 2c 0d  ..TVM_GETCOUNT,.
9720: 0a 09 54 56 4d 5f 47 45 54 49 4e 44 45 4e 54 2c  ..TVM_GETINDENT,
9730: 0d 0a 09 54 56 4d 5f 53 45 54 49 4e 44 45 4e 54  ...TVM_SETINDENT
9740: 2c 0d 0a 09 54 56 4d 5f 47 45 54 49 4d 41 47 45  ,...TVM_GETIMAGE
9750: 4c 49 53 54 2c 0d 0a 09 54 56 4d 5f 53 45 54 49  LIST,...TVM_SETI
9760: 4d 41 47 45 4c 49 53 54 2c 0d 0a 09 54 56 4d 5f  MAGELIST,...TVM_
9770: 47 45 54 4e 45 58 54 49 54 45 4d 2c 0d 0a 09 54  GETNEXTITEM,...T
9780: 56 4d 5f 53 45 4c 45 43 54 49 54 45 4d 2c 0d 0a  VM_SELECTITEM,..
9790: 09 54 56 4d 5f 47 45 54 49 54 45 4d 41 2c 0d 0a  .TVM_GETITEMA,..
97a0: 09 54 56 4d 5f 53 45 54 49 54 45 4d 41 2c 0d 0a  .TVM_SETITEMA,..
97b0: 09 54 56 4d 5f 45 44 49 54 4c 41 42 45 4c 41 2c  .TVM_EDITLABELA,
97c0: 0d 0a 09 54 56 4d 5f 47 45 54 45 44 49 54 43 4f  ...TVM_GETEDITCO
97d0: 4e 54 52 4f 4c 2c 0d 0a 09 54 56 4d 5f 47 45 54  NTROL,...TVM_GET
97e0: 56 49 53 49 42 4c 45 43 4f 55 4e 54 2c 0d 0a 09  VISIBLECOUNT,...
97f0: 54 56 4d 5f 48 49 54 54 45 53 54 2c 0d 0a 09 54  TVM_HITTEST,...T
9800: 56 4d 5f 43 52 45 41 54 45 44 52 41 47 49 4d 41  VM_CREATEDRAGIMA
9810: 47 45 2c 0d 0a 09 54 56 4d 5f 53 4f 52 54 43 48  GE,...TVM_SORTCH
9820: 49 4c 44 52 45 4e 2c 0d 0a 09 54 56 4d 5f 45 4e  ILDREN,...TVM_EN
9830: 53 55 52 45 56 49 53 49 42 4c 45 2c 0d 0a 09 54  SUREVISIBLE,...T
9840: 56 4d 5f 53 4f 52 54 43 48 49 4c 44 52 45 4e 43  VM_SORTCHILDRENC
9850: 42 2c 0d 0a 09 54 56 4d 5f 45 4e 44 45 44 49 54  B,...TVM_ENDEDIT
9860: 4c 41 42 45 4c 4e 4f 57 2c 0d 0a 09 54 56 4d 5f  LABELNOW,...TVM_
9870: 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e 47  GETISEARCHSTRING
9880: 41 2c 20 2f 2f 20 3d 20 54 56 5f 46 49 52 53 54  A, // = TV_FIRST
9890: 20 2b 20 32 33 0d 0a 09 54 56 4d 5f 49 4e 53 45   + 23...TVM_INSE
98a0: 52 54 49 54 45 4d 57 20 20 20 20 20 20 20 3d 20  RTITEMW       = 
98b0: 54 56 5f 46 49 52 53 54 20 2b 20 35 30 2c 0d 0a  TV_FIRST + 50,..
98c0: 09 54 56 4d 5f 47 45 54 49 54 45 4d 57 20 20 20  .TVM_GETITEMW   
98d0: 20 20 20 20 20 20 20 3d 20 54 56 5f 46 49 52 53         = TV_FIRS
98e0: 54 20 2b 20 36 32 2c 0d 0a 09 54 56 4d 5f 53 45  T + 62,...TVM_SE
98f0: 54 49 54 45 4d 57 20 20 20 20 20 20 20 20 20 20  TITEMW          
9900: 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 36 33 2c  = TV_FIRST + 63,
9910: 0d 0a 09 54 56 4d 5f 47 45 54 49 53 45 41 52 43  ...TVM_GETISEARC
9920: 48 53 54 52 49 4e 47 57 20 3d 20 54 56 5f 46 49  HSTRINGW = TV_FI
9930: 52 53 54 20 2b 20 36 34 2c 0d 0a 09 54 56 4d 5f  RST + 64,...TVM_
9940: 45 44 49 54 4c 41 42 45 4c 57 20 20 20 20 20 20  EDITLABELW      
9950: 20 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 36    = TV_FIRST + 6
9960: 35 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69  5..}....static i
9970: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
9980: 30 78 33 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20  0x300) {...enum 
9990: 7b 0d 0a 09 09 54 56 4d 5f 47 45 54 54 4f 4f 4c  {....TVM_GETTOOL
99a0: 54 49 50 53 20 3d 20 54 56 5f 46 49 52 53 54 20  TIPS = TV_FIRST 
99b0: 2b 20 32 35 2c 0d 0a 09 09 54 56 4d 5f 53 45 54  + 25,....TVM_SET
99c0: 54 4f 4f 4c 54 49 50 53 20 3d 20 54 56 5f 46 49  TOOLTIPS = TV_FI
99d0: 52 53 54 20 2b 20 32 34 0d 0a 09 7d 0d 0a 7d 0d  RST + 24...}..}.
99e0: 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
99f0: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30  IN32_IE >= 0x400
9a00: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  ) {...enum {....
9a10: 54 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52  TVM_SETINSERTMAR
9a20: 4b 20 20 20 20 20 20 3d 20 54 56 5f 46 49 52 53  K      = TV_FIRS
9a30: 54 20 2b 20 32 36 2c 0d 0a 09 09 54 56 4d 5f 53  T + 26,....TVM_S
9a40: 45 54 49 54 45 4d 48 45 49 47 48 54 2c 0d 0a 09  ETITEMHEIGHT,...
9a50: 09 54 56 4d 5f 47 45 54 49 54 45 4d 48 45 49 47  .TVM_GETITEMHEIG
9a60: 48 54 2c 0d 0a 09 09 54 56 4d 5f 53 45 54 42 4b  HT,....TVM_SETBK
9a70: 43 4f 4c 4f 52 2c 0d 0a 09 09 54 56 4d 5f 53 45  COLOR,....TVM_SE
9a80: 54 54 45 58 54 43 4f 4c 4f 52 2c 0d 0a 09 09 54  TTEXTCOLOR,....T
9a90: 56 4d 5f 47 45 54 42 4b 43 4f 4c 4f 52 2c 0d 0a  VM_GETBKCOLOR,..
9aa0: 09 09 54 56 4d 5f 47 45 54 54 45 58 54 43 4f 4c  ..TVM_GETTEXTCOL
9ab0: 4f 52 2c 0d 0a 09 09 54 56 4d 5f 53 45 54 53 43  OR,....TVM_SETSC
9ac0: 52 4f 4c 4c 54 49 4d 45 2c 0d 0a 09 09 54 56 4d  ROLLTIME,....TVM
9ad0: 5f 47 45 54 53 43 52 4f 4c 4c 54 49 4d 45 2c 20  _GETSCROLLTIME, 
9ae0: 20 2f 2f 20 3d 20 54 56 5f 46 49 52 53 54 20 2b   // = TV_FIRST +
9af0: 20 33 34 0d 0a 09 09 54 56 4d 5f 53 45 54 49 4e   34....TVM_SETIN
9b00: 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d 20  SERTMARKCOLOR = 
9b10: 54 56 5f 46 49 52 53 54 20 2b 20 33 37 2c 0d 0a  TV_FIRST + 37,..
9b20: 09 09 54 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d  ..TVM_GETINSERTM
9b30: 41 52 4b 43 4f 4c 4f 52 20 3d 20 54 56 5f 46 49  ARKCOLOR = TV_FI
9b40: 52 53 54 20 2b 20 33 38 2c 0d 0a 09 09 54 56 4d  RST + 38,....TVM
9b50: 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
9b60: 54 20 20 20 3d 20 43 43 4d 5f 53 45 54 55 4e 49  T   = CCM_SETUNI
9b70: 43 4f 44 45 46 4f 52 4d 41 54 2c 0d 0a 09 09 54  CODEFORMAT,....T
9b80: 56 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52  VM_GETUNICODEFOR
9b90: 4d 41 54 20 20 20 3d 20 43 43 4d 5f 47 45 54 55  MAT   = CCM_GETU
9ba0: 4e 49 43 4f 44 45 46 4f 52 4d 41 54 0d 0a 09 7d  NICODEFORMAT...}
9bb0: 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66  ..}....static if
9bc0: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
9bd0: 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b  x500) {...enum {
9be0: 0d 0a 09 09 54 56 4d 5f 47 45 54 49 54 45 4d 53  ....TVM_GETITEMS
9bf0: 54 41 54 45 20 3d 20 54 56 5f 46 49 52 53 54 20  TATE = TV_FIRST 
9c00: 2b 20 33 39 2c 0d 0a 09 09 54 56 4d 5f 53 45 54  + 39,....TVM_SET
9c10: 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 54 56 5f 46  LINECOLOR = TV_F
9c20: 49 52 53 54 20 2b 20 34 30 2c 0d 0a 09 09 54 56  IRST + 40,....TV
9c30: 4d 5f 47 45 54 4c 49 4e 45 43 4f 4c 4f 52 20 3d  M_GETLINECOLOR =
9c40: 20 54 56 5f 46 49 52 53 54 20 2b 20 34 31 0d 0a   TV_FIRST + 41..
9c50: 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20  .}..}....static 
9c60: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
9c70: 20 30 78 35 30 31 29 20 7b 0d 0a 09 65 6e 75 6d   0x501) {...enum
9c80: 20 7b 0d 0a 20 20 20 20 20 20 20 20 54 56 4d 5f   {..        TVM_
9c90: 4d 41 50 41 43 43 49 44 54 4f 48 54 52 45 45 49  MAPACCIDTOHTREEI
9ca0: 54 45 4d 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  TEM = TV_FIRST +
9cb0: 20 34 32 2c 0d 0a 20 20 20 20 20 20 20 20 54 56   42,..        TV
9cc0: 4d 5f 4d 41 50 48 54 52 45 45 49 54 45 4d 54 4f  M_MAPHTREEITEMTO
9cd0: 41 43 43 49 44 20 3d 20 54 56 5f 46 49 52 53 54  ACCID = TV_FIRST
9ce0: 20 2b 20 34 33 2c 0d 0a 20 20 20 20 20 20 20 20   + 43,..        
9cf0: 54 56 4d 5f 53 45 54 45 58 54 45 4e 44 45 44 53  TVM_SETEXTENDEDS
9d00: 54 59 4c 45 20 3d 20 54 56 5f 46 49 52 53 54 20  TYLE = TV_FIRST 
9d10: 2b 20 34 34 2c 0d 0a 20 20 20 20 20 20 20 20 54  + 44,..        T
9d20: 56 4d 5f 47 45 54 45 58 54 45 4e 44 45 44 53 54  VM_GETEXTENDEDST
9d30: 59 4c 45 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  YLE = TV_FIRST +
9d40: 20 34 35 2c 0d 0a 20 20 20 20 20 20 20 20 54 56   45,..        TV
9d50: 4d 5f 53 45 54 41 55 54 4f 53 43 52 4f 4c 4c 49  M_SETAUTOSCROLLI
9d60: 4e 46 4f 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  NFO = TV_FIRST +
9d70: 20 35 39 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d   59..    }..}...
9d80: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
9d90: 33 32 5f 49 45 20 3e 3d 20 30 78 36 30 30 29 20  32_IE >= 0x600) 
9da0: 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 20 20 20 20  {...enum {..    
9db0: 20 20 20 20 54 56 4d 5f 47 45 54 53 45 4c 45 43      TVM_GETSELEC
9dc0: 54 45 44 43 4f 55 4e 54 20 3d 20 54 56 5f 46 49  TEDCOUNT = TV_FI
9dd0: 52 53 54 20 2b 20 37 30 2c 0d 0a 20 20 20 20 20  RST + 70,..     
9de0: 20 20 20 54 56 4d 5f 53 48 4f 57 49 4e 46 4f 54     TVM_SHOWINFOT
9df0: 49 50 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20  IP = TV_FIRST + 
9e00: 37 31 2c 0d 0a 20 20 20 20 20 20 20 20 54 56 4d  71,..        TVM
9e10: 5f 47 45 54 49 54 45 4d 50 41 52 54 52 45 43 54  _GETITEMPARTRECT
9e20: 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 37 32   = TV_FIRST + 72
9e30: 2c 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 65  ,..    }..}....e
9e40: 6e 75 6d 20 7b 0d 0a 09 54 56 45 5f 43 4f 4c 4c  num {...TVE_COLL
9e50: 41 50 53 45 20 20 20 20 20 20 3d 20 31 2c 0d 0a  APSE      = 1,..
9e60: 09 54 56 45 5f 45 58 50 41 4e 44 20 20 20 20 20  .TVE_EXPAND     
9e70: 20 20 20 3d 20 32 2c 0d 0a 09 54 56 45 5f 54 4f     = 2,...TVE_TO
9e80: 47 47 4c 45 20 20 20 20 20 20 20 20 3d 20 33 2c  GGLE        = 3,
9e90: 0d 0a 09 54 56 45 5f 43 4f 4c 4c 41 50 53 45 52  ...TVE_COLLAPSER
9ea0: 45 53 45 54 20 3d 20 30 78 38 30 30 30 0d 0a 7d  ESET = 0x8000..}
9eb0: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
9ec0: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30  WIN32_IE >= 0x30
9ed0: 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  0) {...enum {...
9ee0: 09 54 56 45 5f 45 58 50 41 4e 44 50 41 52 54 49  .TVE_EXPANDPARTI
9ef0: 41 4c 20 3d 20 30 78 34 30 30 30 0d 0a 09 7d 0d  AL = 0x4000...}.
9f00: 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54  .}....enum {...T
9f10: 56 43 5f 55 4e 4b 4e 4f 57 4e 2c 0d 0a 09 54 56  VC_UNKNOWN,...TV
9f20: 43 5f 42 59 4d 4f 55 53 45 2c 0d 0a 09 54 56 43  C_BYMOUSE,...TVC
9f30: 5f 42 59 4b 45 59 42 4f 41 52 44 20 2f 2f 20 3d  _BYKEYBOARD // =
9f40: 20 32 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d   2..}....enum {.
9f50: 0a 09 54 56 47 4e 5f 52 4f 4f 54 2c 0d 0a 09 54  ..TVGN_ROOT,...T
9f60: 56 47 4e 5f 4e 45 58 54 2c 0d 0a 09 54 56 47 4e  VGN_NEXT,...TVGN
9f70: 5f 50 52 45 56 49 4f 55 53 2c 0d 0a 09 54 56 47  _PREVIOUS,...TVG
9f80: 4e 5f 50 41 52 45 4e 54 2c 0d 0a 09 54 56 47 4e  N_PARENT,...TVGN
9f90: 5f 43 48 49 4c 44 2c 0d 0a 09 54 56 47 4e 5f 46  _CHILD,...TVGN_F
9fa0: 49 52 53 54 56 49 53 49 42 4c 45 2c 0d 0a 09 54  IRSTVISIBLE,...T
9fb0: 56 47 4e 5f 4e 45 58 54 56 49 53 49 42 4c 45 2c  VGN_NEXTVISIBLE,
9fc0: 0d 0a 09 54 56 47 4e 5f 50 52 45 56 49 4f 55 53  ...TVGN_PREVIOUS
9fd0: 56 49 53 49 42 4c 45 2c 0d 0a 09 54 56 47 4e 5f  VISIBLE,...TVGN_
9fe0: 44 52 4f 50 48 49 4c 49 54 45 2c 0d 0a 09 54 56  DROPHILITE,...TV
9ff0: 47 4e 5f 43 41 52 45 54 20 2f 2f 20 3d 20 39 0d  GN_CARET // = 9.
a000: 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  .}....static if 
a010: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
a020: 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d  400) {...enum {.
a030: 0a 09 09 54 56 47 4e 5f 4c 41 53 54 56 49 53 49  ...TVGN_LASTVISI
a040: 42 4c 45 20 3d 20 31 30 0d 0a 09 7d 0d 0a 7d 0d  BLE = 10...}..}.
a050: 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
a060: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 36 30 30  IN32_IE >= 0x600
a070: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  ) {...enum {....
a080: 54 56 47 4e 5f 4e 45 58 54 53 45 4c 45 43 54 45  TVGN_NEXTSELECTE
a090: 44 20 3d 20 31 31 0d 0a 09 7d 0d 0a 7d 0d 0a 0d  D = 11...}..}...
a0a0: 0a 65 6e 75 6d 20 7b 0d 0a 09 54 56 4e 5f 53 45  .enum {...TVN_SE
a0b0: 4c 43 48 41 4e 47 49 4e 47 41 20 20 20 20 3d 20  LCHANGINGA    = 
a0c0: 54 56 4e 5f 46 49 52 53 54 20 2d 20 31 2c 0d 0a  TVN_FIRST - 1,..
a0d0: 09 54 56 4e 5f 53 45 4c 43 48 41 4e 47 45 44 41  .TVN_SELCHANGEDA
a0e0: 20 20 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54       = TVN_FIRST
a0f0: 20 2d 20 32 2c 0d 0a 09 54 56 4e 5f 47 45 54 44   - 2,...TVN_GETD
a100: 49 53 50 49 4e 46 4f 41 20 20 20 20 3d 20 54 56  ISPINFOA    = TV
a110: 4e 5f 46 49 52 53 54 20 2d 20 33 2c 0d 0a 09 54  N_FIRST - 3,...T
a120: 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f 41 20  VN_SETDISPINFOA 
a130: 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54 20 2d     = TVN_FIRST -
a140: 20 34 2c 0d 0a 09 54 56 4e 5f 49 54 45 4d 45 58   4,...TVN_ITEMEX
a150: 50 41 4e 44 49 4e 47 41 20 20 3d 20 54 56 4e 5f  PANDINGA  = TVN_
a160: 46 49 52 53 54 20 2d 20 35 2c 0d 0a 09 54 56 4e  FIRST - 5,...TVN
a170: 5f 49 54 45 4d 45 58 50 41 4e 44 45 44 41 20 20  _ITEMEXPANDEDA  
a180: 20 3d 20 54 56 4e 5f 46 49 52 53 54 20 2d 20 36   = TVN_FIRST - 6
a190: 2c 0d 0a 09 54 56 4e 5f 42 45 47 49 4e 44 52 41  ,...TVN_BEGINDRA
a1a0: 47 41 20 20 20 20 20 20 3d 20 54 56 4e 5f 46 49  GA      = TVN_FI
a1b0: 52 53 54 20 2d 20 37 2c 0d 0a 09 54 56 4e 5f 42  RST - 7,...TVN_B
a1c0: 45 47 49 4e 52 44 52 41 47 41 20 20 20 20 20 3d  EGINRDRAGA     =
a1d0: 20 54 56 4e 5f 46 49 52 53 54 20 2d 20 38 2c 0d   TVN_FIRST - 8,.
a1e0: 0a 09 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d  ..TVN_DELETEITEM
a1f0: 41 20 20 20 20 20 3d 20 54 56 4e 5f 46 49 52 53  A     = TVN_FIRS
a200: 54 20 2d 20 39 2c 0d 0a 09 54 56 4e 5f 42 45 47  T - 9,...TVN_BEG
a210: 49 4e 4c 41 42 45 4c 45 44 49 54 41 20 3d 20 54  INLABELEDITA = T
a220: 56 4e 5f 46 49 52 53 54 20 2d 20 31 30 2c 0d 0a  VN_FIRST - 10,..
a230: 09 54 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49  .TVN_ENDLABELEDI
a240: 54 41 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54  TA   = TVN_FIRST
a250: 20 2d 20 31 31 2c 0d 0a 09 54 56 4e 5f 4b 45 59   - 11,...TVN_KEY
a260: 44 4f 57 4e 20 20 20 20 20 20 20 20 20 3d 20 54  DOWN         = T
a270: 56 4e 5f 46 49 52 53 54 20 2d 20 31 32 2c 0d 0a  VN_FIRST - 12,..
a280: 09 54 56 4e 5f 53 45 4c 43 48 41 4e 47 49 4e 47  .TVN_SELCHANGING
a290: 57 20 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54  W    = TVN_FIRST
a2a0: 20 2d 20 35 30 2c 0d 0a 09 54 56 4e 5f 53 45 4c   - 50,...TVN_SEL
a2b0: 43 48 41 4e 47 45 44 57 20 20 20 20 20 3d 20 54  CHANGEDW     = T
a2c0: 56 4e 5f 46 49 52 53 54 20 2d 20 35 31 2c 0d 0a  VN_FIRST - 51,..
a2d0: 09 54 56 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f  .TVN_GETDISPINFO
a2e0: 57 20 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54  W    = TVN_FIRST
a2f0: 20 2d 20 35 32 2c 0d 0a 09 54 56 4e 5f 53 45 54   - 52,...TVN_SET
a300: 44 49 53 50 49 4e 46 4f 57 20 20 20 20 3d 20 54  DISPINFOW    = T
a310: 56 4e 5f 46 49 52 53 54 20 2d 20 35 33 2c 0d 0a  VN_FIRST - 53,..
a320: 09 54 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 49  .TVN_ITEMEXPANDI
a330: 4e 47 57 20 20 3d 20 54 56 4e 5f 46 49 52 53 54  NGW  = TVN_FIRST
a340: 20 2d 20 35 34 2c 0d 0a 09 54 56 4e 5f 49 54 45   - 54,...TVN_ITE
a350: 4d 45 58 50 41 4e 44 45 44 57 20 20 20 3d 20 54  MEXPANDEDW   = T
a360: 56 4e 5f 46 49 52 53 54 20 2d 20 35 35 2c 0d 0a  VN_FIRST - 55,..
a370: 09 54 56 4e 5f 42 45 47 49 4e 44 52 41 47 57 20  .TVN_BEGINDRAGW 
a380: 20 20 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54       = TVN_FIRST
a390: 20 2d 20 35 36 2c 0d 0a 09 54 56 4e 5f 42 45 47   - 56,...TVN_BEG
a3a0: 49 4e 52 44 52 41 47 57 20 20 20 20 20 3d 20 54  INRDRAGW     = T
a3b0: 56 4e 5f 46 49 52 53 54 20 2d 20 35 37 2c 0d 0a  VN_FIRST - 57,..
a3c0: 09 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d 57  .TVN_DELETEITEMW
a3d0: 20 20 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54       = TVN_FIRST
a3e0: 20 2d 20 35 38 2c 0d 0a 09 54 56 4e 5f 42 45 47   - 58,...TVN_BEG
a3f0: 49 4e 4c 41 42 45 4c 45 44 49 54 57 20 3d 20 54  INLABELEDITW = T
a400: 56 4e 5f 46 49 52 53 54 20 2d 20 35 39 2c 0d 0a  VN_FIRST - 59,..
a410: 09 54 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49  .TVN_ENDLABELEDI
a420: 54 57 20 20 20 3d 20 54 56 4e 5f 46 49 52 53 54  TW   = TVN_FIRST
a430: 20 2d 20 36 30 0d 0a 7d 0d 0a 0d 0a 73 74 61 74   - 60..}....stat
a440: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
a450: 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 65   >= 0x400) {...e
a460: 6e 75 6d 20 7b 0d 0a 09 09 54 56 4e 52 45 54 5f  num {....TVNRET_
a470: 44 45 46 41 55 4c 54 20 20 20 3d 20 30 2c 0d 0a  DEFAULT   = 0,..
a480: 09 09 54 56 4e 52 45 54 5f 53 4b 49 50 4f 4c 44  ..TVNRET_SKIPOLD
a490: 20 20 20 3d 20 31 2c 0d 0a 09 09 54 56 4e 52 45     = 1,....TVNRE
a4a0: 54 5f 53 4b 49 50 4e 45 57 20 20 20 3d 20 32 2c  T_SKIPNEW   = 2,
a4b0: 0d 0a 09 09 54 56 4e 5f 47 45 54 49 4e 46 4f 54  ....TVN_GETINFOT
a4c0: 49 50 41 20 20 3d 20 54 56 4e 5f 46 49 52 53 54  IPA  = TVN_FIRST
a4d0: 20 2d 20 31 33 2c 0d 0a 09 09 54 56 4e 5f 47 45   - 13,....TVN_GE
a4e0: 54 49 4e 46 4f 54 49 50 57 20 20 3d 20 54 56 4e  TINFOTIPW  = TVN
a4f0: 5f 46 49 52 53 54 20 2d 20 31 34 2c 0d 0a 09 09  _FIRST - 14,....
a500: 54 56 4e 5f 53 49 4e 47 4c 45 45 58 50 41 4e 44  TVN_SINGLEEXPAND
a510: 20 3d 20 54 56 4e 5f 46 49 52 53 54 20 2d 20 31   = TVN_FIRST - 1
a520: 35 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d  5...}..}....enum
a530: 20 7b 0d 0a 09 54 56 49 46 5f 44 49 5f 53 45 54   {...TVIF_DI_SET
a540: 49 54 45 4d 20 3d 20 30 78 31 30 30 30 0d 0a 7d  ITEM = 0x1000..}
a550: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 54 56 48  ....enum {...TVH
a560: 54 5f 4e 4f 57 48 45 52 45 20 20 20 20 20 20 20  T_NOWHERE       
a570: 20 20 3d 20 31 2c 0d 0a 09 54 56 48 54 5f 4f 4e    = 1,...TVHT_ON
a580: 49 54 45 4d 49 43 4f 4e 20 20 20 20 20 20 3d 20  ITEMICON      = 
a590: 32 2c 0d 0a 09 54 56 48 54 5f 4f 4e 49 54 45 4d  2,...TVHT_ONITEM
a5a0: 4c 41 42 45 4c 20 20 20 20 20 3d 20 34 2c 0d 0a  LABEL     = 4,..
a5b0: 09 54 56 48 54 5f 4f 4e 49 54 45 4d 49 4e 44 45  .TVHT_ONITEMINDE
a5c0: 4e 54 20 20 20 20 3d 20 38 2c 0d 0a 09 54 56 48  NT    = 8,...TVH
a5d0: 54 5f 4f 4e 49 54 45 4d 42 55 54 54 4f 4e 20 20  T_ONITEMBUTTON  
a5e0: 20 20 3d 20 31 36 2c 0d 0a 09 54 56 48 54 5f 4f    = 16,...TVHT_O
a5f0: 4e 49 54 45 4d 52 49 47 48 54 20 20 20 20 20 3d  NITEMRIGHT     =
a600: 20 33 32 2c 0d 0a 09 54 56 48 54 5f 4f 4e 49 54   32,...TVHT_ONIT
a610: 45 4d 53 54 41 54 45 49 43 4f 4e 20 3d 20 36 34  EMSTATEICON = 64
a620: 2c 0d 0a 09 54 56 48 54 5f 41 42 4f 56 45 20 20  ,...TVHT_ABOVE  
a630: 20 20 20 20 20 20 20 20 20 3d 20 32 35 36 2c 0d           = 256,.
a640: 0a 09 54 56 48 54 5f 42 45 4c 4f 57 20 20 20 20  ..TVHT_BELOW    
a650: 20 20 20 20 20 20 20 3d 20 35 31 32 2c 0d 0a 09         = 512,...
a660: 54 56 48 54 5f 54 4f 52 49 47 48 54 20 20 20 20  TVHT_TORIGHT    
a670: 20 20 20 20 20 3d 20 31 30 32 34 2c 0d 0a 09 54       = 1024,...T
a680: 56 48 54 5f 54 4f 4c 45 46 54 20 20 20 20 20 20  VHT_TOLEFT      
a690: 20 20 20 20 3d 20 32 30 34 38 2c 0d 0a 09 54 43      = 2048,...TC
a6a0: 48 54 5f 4e 4f 57 48 45 52 45 20 20 20 20 20 20  HT_NOWHERE      
a6b0: 20 20 20 3d 20 31 2c 0d 0a 09 54 43 48 54 5f 4f     = 1,...TCHT_O
a6c0: 4e 49 54 45 4d 49 43 4f 4e 20 20 20 20 20 20 3d  NITEMICON      =
a6d0: 20 32 2c 0d 0a 09 54 43 48 54 5f 4f 4e 49 54 45   2,...TCHT_ONITE
a6e0: 4d 4c 41 42 45 4c 20 20 20 20 20 3d 20 34 2c 0d  MLABEL     = 4,.
a6f0: 0a 09 54 56 48 54 5f 4f 4e 49 54 45 4d 20 20 20  ..TVHT_ONITEM   
a700: 20 20 20 20 20 20 20 3d 20 54 56 48 54 5f 4f 4e         = TVHT_ON
a710: 49 54 45 4d 49 43 4f 4e 20 7c 20 54 56 48 54 5f  ITEMICON | TVHT_
a720: 4f 4e 49 54 45 4d 4c 41 42 45 4c 0d 0a 09 20 20  ONITEMLABEL...  
a730: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
a740: 20 20 20 20 20 7c 20 54 56 48 54 5f 4f 4e 49 54       | TVHT_ONIT
a750: 45 4d 53 54 41 54 45 49 43 4f 4e 2c 0d 0a 09 54  EMSTATEICON,...T
a760: 43 48 54 5f 4f 4e 49 54 45 4d 20 20 20 20 20 20  CHT_ONITEM      
a770: 20 20 20 20 3d 20 54 43 48 54 5f 4f 4e 49 54 45      = TCHT_ONITE
a780: 4d 49 43 4f 4e 20 7c 20 54 43 48 54 5f 4f 4e 49  MICON | TCHT_ONI
a790: 54 45 4d 4c 41 42 45 4c 0d 0a 7d 0d 0a 0d 0a 65  TEMLABEL..}....e
a7a0: 6e 75 6d 20 7b 0d 0a 09 54 43 53 5f 54 41 42 53  num {...TCS_TABS
a7b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20                = 
a7c0: 30 2c 0d 0a 09 54 43 53 5f 52 49 47 48 54 4a 55  0,...TCS_RIGHTJU
a7d0: 53 54 49 46 59 20 20 20 20 20 20 3d 20 30 2c 0d  STIFY      = 0,.
a7e0: 0a 09 54 43 53 5f 53 49 4e 47 4c 45 4c 49 4e 45  ..TCS_SINGLELINE
a7f0: 20 20 20 20 20 20 20 20 3d 20 30 2c 0d 0a 09 54          = 0,...T
a800: 43 53 5f 46 4f 52 43 45 49 43 4f 4e 4c 45 46 54  CS_FORCEICONLEFT
a810: 20 20 20 20 20 3d 20 31 36 2c 0d 0a 09 54 43 53       = 16,...TCS
a820: 5f 46 4f 52 43 45 4c 41 42 45 4c 4c 45 46 54 20  _FORCELABELLEFT 
a830: 20 20 20 3d 20 33 32 2c 0d 0a 09 54 43 53 5f 42     = 32,...TCS_B
a840: 55 54 54 4f 4e 53 20 20 20 20 20 20 20 20 20 20  UTTONS          
a850: 20 3d 20 32 35 36 2c 0d 0a 09 54 43 53 5f 4d 55   = 256,...TCS_MU
a860: 4c 54 49 4c 49 4e 45 20 20 20 20 20 20 20 20 20  LTILINE         
a870: 3d 20 35 31 32 2c 0d 0a 09 54 43 53 5f 46 49 58  = 512,...TCS_FIX
a880: 45 44 57 49 44 54 48 20 20 20 20 20 20 20 20 3d  EDWIDTH        =
a890: 20 31 30 32 34 2c 0d 0a 09 54 43 53 5f 52 41 47   1024,...TCS_RAG
a8a0: 47 45 44 52 49 47 48 54 20 20 20 20 20 20 20 3d  GEDRIGHT       =
a8b0: 20 32 30 34 38 2c 0d 0a 09 54 43 53 5f 46 4f 43   2048,...TCS_FOC
a8c0: 55 53 4f 4e 42 55 54 54 4f 4e 44 4f 57 4e 20 3d  USONBUTTONDOWN =
a8d0: 20 30 78 31 30 30 30 2c 0d 0a 09 54 43 53 5f 4f   0x1000,...TCS_O
a8e0: 57 4e 45 52 44 52 41 57 46 49 58 45 44 20 20 20  WNERDRAWFIXED   
a8f0: 20 3d 20 30 78 32 30 30 30 2c 0d 0a 09 54 43 53   = 0x2000,...TCS
a900: 5f 54 4f 4f 4c 54 49 50 53 20 20 20 20 20 20 20  _TOOLTIPS       
a910: 20 20 20 3d 20 30 78 34 30 30 30 2c 0d 0a 09 54     = 0x4000,...T
a920: 43 53 5f 46 4f 43 55 53 4e 45 56 45 52 20 20 20  CS_FOCUSNEVER   
a930: 20 20 20 20 20 3d 20 30 78 38 30 30 30 0d 0a 7d       = 0x8000..}
a940: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
a950: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30  WIN32_IE >= 0x30
a960: 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  0) {...enum {...
a970: 09 54 43 53 5f 42 4f 54 54 4f 4d 20 20 20 20 20  .TCS_BOTTOM     
a980: 20 20 20 20 3d 20 32 2c 0d 0a 09 09 54 43 53 5f      = 2,....TCS_
a990: 52 49 47 48 54 20 20 20 20 20 20 20 20 20 20 3d  RIGHT          =
a9a0: 20 32 2c 0d 0a 09 09 54 43 53 5f 56 45 52 54 49   2,....TCS_VERTI
a9b0: 43 41 4c 20 20 20 20 20 20 20 3d 20 31 32 38 2c  CAL       = 128,
a9c0: 0d 0a 09 09 54 43 53 5f 53 43 52 4f 4c 4c 4f 50  ....TCS_SCROLLOP
a9d0: 50 4f 53 49 54 45 20 3d 20 30 78 30 30 30 31 2c  POSITE = 0x0001,
a9e0: 0d 0a 09 09 54 43 53 5f 48 4f 54 54 52 41 43 4b  ....TCS_HOTTRACK
a9f0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 34 30 2c         = 0x0040,
aa00: 0d 0a 09 09 54 43 53 5f 4d 55 4c 54 49 53 45 4c  ....TCS_MULTISEL
aa10: 45 43 54 20 20 20 20 3d 20 30 78 30 30 30 34 0d  ECT    = 0x0004.
aa20: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63  ..}..}....static
aa30: 20 69 66 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d   if(_WIN32_IE >=
aa40: 20 30 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d   0x400) {...enum
aa50: 20 7b 0d 0a 09 09 54 43 53 5f 46 4c 41 54 42 55   {....TCS_FLATBU
aa60: 54 54 4f 4e 53 20 20 20 20 20 20 20 3d 20 30 78  TTONS       = 0x
aa70: 30 30 30 38 2c 0d 0a 09 09 54 43 53 5f 45 58 5f  0008,....TCS_EX_
aa80: 46 4c 41 54 53 45 50 41 52 41 54 4f 52 53 20 3d  FLATSEPARATORS =
aa90: 20 30 78 30 30 30 30 30 30 30 31 2c 0d 0a 09 09   0x00000001,....
aaa0: 54 43 53 5f 45 58 5f 52 45 47 49 53 54 45 52 44  TCS_EX_REGISTERD
aab0: 52 4f 50 20 20 20 3d 20 30 78 30 30 30 30 30 30  ROP   = 0x000000
aac0: 30 32 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75  02...}..}....enu
aad0: 6d 20 7b 0d 0a 09 54 43 49 46 5f 54 45 58 54 20  m {...TCIF_TEXT 
aae0: 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09 54 43 49        = 1,...TCI
aaf0: 46 5f 49 4d 41 47 45 20 20 20 20 20 20 3d 20 32  F_IMAGE      = 2
ab00: 2c 0d 0a 09 54 43 49 46 5f 52 54 4c 52 45 41 44  ,...TCIF_RTLREAD
ab10: 49 4e 47 20 3d 20 34 2c 0d 0a 09 54 43 49 46 5f  ING = 4,...TCIF_
ab20: 50 41 52 41 4d 20 20 20 20 20 20 3d 20 38 0d 0a  PARAM      = 8..
ab30: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
ab40: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34  _WIN32_IE >= 0x4
ab50: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
ab60: 09 09 54 43 49 46 5f 53 54 41 54 45 20 3d 20 31  ..TCIF_STATE = 1
ab70: 36 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d  6...}..}....enum
ab80: 20 7b 0d 0a 09 54 43 49 53 5f 42 55 54 54 4f 4e   {...TCIS_BUTTON
ab90: 50 52 45 53 53 45 44 20 3d 20 31 0d 0a 7d 0d 0a  PRESSED = 1..}..
aba0: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
abb0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29  N32_IE >= 0x400)
abc0: 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 54   {...enum {....T
abd0: 43 49 53 5f 48 49 47 48 4c 49 47 48 54 45 44 20  CIS_HIGHLIGHTED 
abe0: 3d 20 32 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e  = 2...}..}....en
abf0: 75 6d 20 7b 0d 0a 09 54 43 4d 5f 46 49 52 53 54  um {...TCM_FIRST
ac00: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31 33            = 0x13
ac10: 30 30 2c 0d 0a 09 54 43 4d 5f 47 45 54 49 4d 41  00,...TCM_GETIMA
ac20: 47 45 4c 49 53 54 20 20 20 3d 20 54 43 4d 5f 46  GELIST   = TCM_F
ac30: 49 52 53 54 20 2b 20 32 2c 0d 0a 09 54 43 4d 5f  IRST + 2,...TCM_
ac40: 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 0d 0a 09  SETIMAGELIST,...
ac50: 54 43 4d 5f 47 45 54 49 54 45 4d 43 4f 55 4e 54  TCM_GETITEMCOUNT
ac60: 2c 0d 0a 09 54 43 4d 5f 47 45 54 49 54 45 4d 41  ,...TCM_GETITEMA
ac70: 2c 0d 0a 09 54 43 4d 5f 53 45 54 49 54 45 4d 41  ,...TCM_SETITEMA
ac80: 2c 0d 0a 09 54 43 4d 5f 49 4e 53 45 52 54 49 54  ,...TCM_INSERTIT
ac90: 45 4d 41 2c 0d 0a 09 54 43 4d 5f 44 45 4c 45 54  EMA,...TCM_DELET
aca0: 45 49 54 45 4d 2c 0d 0a 09 54 43 4d 5f 44 45 4c  EITEM,...TCM_DEL
acb0: 45 54 45 41 4c 4c 49 54 45 4d 53 2c 0d 0a 09 54  ETEALLITEMS,...T
acc0: 43 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 2c 0d  CM_GETITEMRECT,.
acd0: 0a 09 54 43 4d 5f 47 45 54 43 55 52 53 45 4c 2c  ..TCM_GETCURSEL,
ace0: 0d 0a 09 54 43 4d 5f 53 45 54 43 55 52 53 45 4c  ...TCM_SETCURSEL
acf0: 2c 0d 0a 09 54 43 4d 5f 48 49 54 54 45 53 54 2c  ,...TCM_HITTEST,
ad00: 0d 0a 09 54 43 4d 5f 53 45 54 49 54 45 4d 45 58  ...TCM_SETITEMEX
ad10: 54 52 41 2c 20 2f 2f 20 3d 20 54 43 4d 5f 46 49  TRA, // = TCM_FI
ad20: 52 53 54 20 2b 20 31 34 0d 0a 09 54 43 4d 5f 41  RST + 14...TCM_A
ad30: 44 4a 55 53 54 52 45 43 54 20 20 20 20 20 3d 20  DJUSTRECT     = 
ad40: 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 30 2c 0d  TCM_FIRST + 40,.
ad50: 0a 09 54 43 4d 5f 53 45 54 49 54 45 4d 53 49 5a  ..TCM_SETITEMSIZ
ad60: 45 2c 0d 0a 09 54 43 4d 5f 52 45 4d 4f 56 45 49  E,...TCM_REMOVEI
ad70: 4d 41 47 45 2c 0d 0a 09 54 43 4d 5f 53 45 54 50  MAGE,...TCM_SETP
ad80: 41 44 44 49 4e 47 2c 0d 0a 09 54 43 4d 5f 47 45  ADDING,...TCM_GE
ad90: 54 52 4f 57 43 4f 55 4e 54 2c 0d 0a 09 54 43 4d  TROWCOUNT,...TCM
ada0: 5f 47 45 54 54 4f 4f 4c 54 49 50 53 2c 0d 0a 09  _GETTOOLTIPS,...
adb0: 54 43 4d 5f 53 45 54 54 4f 4f 4c 54 49 50 53 2c  TCM_SETTOOLTIPS,
adc0: 0d 0a 09 54 43 4d 5f 47 45 54 43 55 52 46 4f 43  ...TCM_GETCURFOC
add0: 55 53 2c 0d 0a 09 54 43 4d 5f 53 45 54 43 55 52  US,...TCM_SETCUR
ade0: 46 4f 43 55 53 2c 0d 0a 09 54 43 4d 5f 53 45 54  FOCUS,...TCM_SET
adf0: 4d 49 4e 54 41 42 57 49 44 54 48 2c 0d 0a 09 54  MINTABWIDTH,...T
ae00: 43 4d 5f 44 45 53 45 4c 45 43 54 41 4c 4c 2c 20  CM_DESELECTALL, 
ae10: 2f 2f 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b  // = TCM_FIRST +
ae20: 20 35 30 0d 0a 09 54 43 4d 5f 47 45 54 49 54 45   50...TCM_GETITE
ae30: 4d 57 20 20 20 20 20 20 20 3d 20 54 43 4d 5f 46  MW       = TCM_F
ae40: 49 52 53 54 20 2b 20 36 30 2c 0d 0a 09 54 43 4d  IRST + 60,...TCM
ae50: 5f 53 45 54 49 54 45 4d 57 20 20 20 20 20 20 20  _SETITEMW       
ae60: 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 36 31  = TCM_FIRST + 61
ae70: 2c 0d 0a 09 54 43 4d 5f 49 4e 53 45 52 54 49 54  ,...TCM_INSERTIT
ae80: 45 4d 57 20 20 20 20 3d 20 54 43 4d 5f 46 49 52  EMW    = TCM_FIR
ae90: 53 54 20 2b 20 36 32 0d 0a 7d 0d 0a 0d 0a 73 74  ST + 62..}....st
aea0: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
aeb0: 49 45 20 3e 3d 30 78 30 34 30 30 29 20 7b 0d 0a  IE >=0x0400) {..
aec0: 09 65 6e 75 6d 20 7b 0d 0a 09 09 54 43 4d 5f 48  .enum {....TCM_H
aed0: 49 47 48 4c 49 47 48 54 49 54 45 4d 20 20 20 20  IGHLIGHTITEM    
aee0: 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 35 31  = TCM_FIRST + 51
aef0: 2c 0d 0a 09 09 54 43 4d 5f 53 45 54 45 58 54 45  ,....TCM_SETEXTE
af00: 4e 44 45 44 53 54 59 4c 45 20 3d 20 54 43 4d 5f  NDEDSTYLE = TCM_
af10: 46 49 52 53 54 20 2b 20 35 32 2c 0d 0a 09 09 54  FIRST + 52,....T
af20: 43 4d 5f 47 45 54 45 58 54 45 4e 44 45 44 53 54  CM_GETEXTENDEDST
af30: 59 4c 45 20 3d 20 54 43 4d 5f 46 49 52 53 54 20  YLE = TCM_FIRST 
af40: 2b 20 35 33 2c 0d 0a 09 09 54 43 4d 5f 53 45 54  + 53,....TCM_SET
af50: 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20  UNICODEFORMAT = 
af60: 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f  CCM_SETUNICODEFO
af70: 52 4d 41 54 2c 0d 0a 09 09 54 43 4d 5f 47 45 54  RMAT,....TCM_GET
af80: 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20  UNICODEFORMAT = 
af90: 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f  CCM_GETUNICODEFO
afa0: 52 4d 41 54 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65  RMAT...}..}....e
afb0: 6e 75 6d 20 7b 0d 0a 09 54 43 4e 5f 4b 45 59 44  num {...TCN_KEYD
afc0: 4f 57 4e 20 20 20 20 20 3d 20 54 43 4e 5f 46 49  OWN     = TCN_FI
afd0: 52 53 54 2c 0d 0a 09 54 43 4e 5f 53 45 4c 43 48  RST,...TCN_SELCH
afe0: 41 4e 47 45 20 20 20 3d 20 54 43 4e 5f 46 49 52  ANGE   = TCN_FIR
aff0: 53 54 20 2d 20 31 2c 0d 0a 09 54 43 4e 5f 53 45  ST - 1,...TCN_SE
b000: 4c 43 48 41 4e 47 49 4e 47 20 3d 20 54 43 4e 5f  LCHANGING = TCN_
b010: 46 49 52 53 54 20 2d 20 32 0d 0a 7d 0d 0a 0d 0a  FIRST - 2..}....
b020: 65 6e 75 6d 20 7b 0d 0a 09 4e 4d 5f 4f 55 54 4f  enum {...NM_OUTO
b030: 46 4d 45 4d 4f 52 59 20 20 20 20 20 3d 20 4e 4d  FMEMORY     = NM
b040: 5f 46 49 52 53 54 20 2d 20 31 2c 0d 0a 09 4e 4d  _FIRST - 1,...NM
b050: 5f 43 4c 49 43 4b 20 20 20 20 20 20 20 20 20 20  _CLICK          
b060: 20 3d 20 4e 4d 5f 46 49 52 53 54 20 2d 20 32 2c   = NM_FIRST - 2,
b070: 0d 0a 09 4e 4d 5f 44 42 4c 43 4c 4b 20 20 20 20  ...NM_DBLCLK    
b080: 20 20 20 20 20 20 3d 20 4e 4d 5f 46 49 52 53 54        = NM_FIRST
b090: 20 2d 20 33 2c 0d 0a 09 4e 4d 5f 52 45 54 55 52   - 3,...NM_RETUR
b0a0: 4e 20 20 20 20 20 20 20 20 20 20 3d 20 4e 4d 5f  N          = NM_
b0b0: 46 49 52 53 54 20 2d 20 34 2c 0d 0a 09 4e 4d 5f  FIRST - 4,...NM_
b0c0: 52 43 4c 49 43 4b 20 20 20 20 20 20 20 20 20 20  RCLICK          
b0d0: 3d 20 4e 4d 5f 46 49 52 53 54 20 2d 20 35 2c 0d  = NM_FIRST - 5,.
b0e0: 0a 09 4e 4d 5f 52 44 42 4c 43 4c 4b 20 20 20 20  ..NM_RDBLCLK    
b0f0: 20 20 20 20 20 3d 20 4e 4d 5f 46 49 52 53 54 20       = NM_FIRST 
b100: 2d 20 36 2c 0d 0a 09 4e 4d 5f 53 45 54 46 4f 43  - 6,...NM_SETFOC
b110: 55 53 20 20 20 20 20 20 20 20 3d 20 4e 4d 5f 46  US        = NM_F
b120: 49 52 53 54 20 2d 20 37 2c 0d 0a 09 4e 4d 5f 4b  IRST - 7,...NM_K
b130: 49 4c 4c 46 4f 43 55 53 20 20 20 20 20 20 20 3d  ILLFOCUS       =
b140: 20 4e 4d 5f 46 49 52 53 54 20 2d 20 38 2c 0d 0a   NM_FIRST - 8,..
b150: 09 4e 4d 5f 43 55 53 54 4f 4d 44 52 41 57 20 20  .NM_CUSTOMDRAW  
b160: 20 20 20 20 3d 20 4e 4d 5f 46 49 52 53 54 20 2d      = NM_FIRST -
b170: 20 31 32 2c 0d 0a 09 4e 4d 5f 48 4f 56 45 52 20   12,...NM_HOVER 
b180: 20 20 20 20 20 20 20 20 20 20 3d 20 4e 4d 5f 46            = NM_F
b190: 49 52 53 54 20 2d 20 31 33 2c 0d 0a 09 4e 4d 5f  IRST - 13,...NM_
b1a0: 4e 43 48 49 54 54 45 53 54 20 20 20 20 20 20 20  NCHITTEST       
b1b0: 3d 20 4e 4d 5f 46 49 52 53 54 20 2d 20 31 34 2c  = NM_FIRST - 14,
b1c0: 0d 0a 09 4e 4d 5f 4b 45 59 44 4f 57 4e 20 20 20  ...NM_KEYDOWN   
b1d0: 20 20 20 20 20 20 3d 20 4e 4d 5f 46 49 52 53 54        = NM_FIRST
b1e0: 20 2d 20 31 35 2c 0d 0a 09 4e 4d 5f 52 45 4c 45   - 15,...NM_RELE
b1f0: 41 53 45 44 43 41 50 54 55 52 45 20 3d 20 4e 4d  ASEDCAPTURE = NM
b200: 5f 46 49 52 53 54 20 2d 20 31 36 2c 0d 0a 09 4e  _FIRST - 16,...N
b210: 4d 5f 53 45 54 43 55 52 53 4f 52 20 20 20 20 20  M_SETCURSOR     
b220: 20 20 3d 20 4e 4d 5f 46 49 52 53 54 20 2d 20 31    = NM_FIRST - 1
b230: 37 2c 0d 0a 09 4e 4d 5f 43 48 41 52 20 20 20 20  7,...NM_CHAR    
b240: 20 20 20 20 20 20 20 20 3d 20 4e 4d 5f 46 49 52          = NM_FIR
b250: 53 54 20 2d 20 31 38 2c 0d 0a 09 4e 4d 5f 54 4f  ST - 18,...NM_TO
b260: 4f 4c 54 49 50 53 43 52 45 41 54 45 44 20 3d 20  OLTIPSCREATED = 
b270: 4e 4d 5f 46 49 52 53 54 20 2d 20 31 39 0d 0a 7d  NM_FIRST - 19..}
b280: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 53 42 41  ....enum {...SBA
b290: 52 53 5f 53 49 5a 45 47 52 49 50 20 3d 20 32 35  RS_SIZEGRIP = 25
b2a0: 36 0d 0a 7d 0d 0a 0d 0a 2f 2a 65 6e 75 6d 20 7b  6..}..../*enum {
b2b0: 0d 0a 09 43 43 4d 5f 46 49 52 53 54 20 20 20 20  ...CCM_FIRST    
b2c0: 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 30 30          = 0x2000
b2d0: 2c 0d 0a 09 43 43 4d 5f 4c 41 53 54 20 20 20 20  ,...CCM_LAST    
b2e0: 20 20 20 20 20 20 20 20 20 3d 20 43 43 4d 5f 46           = CCM_F
b2f0: 49 52 53 54 20 2b 20 30 78 32 30 30 2c 0d 0a 09  IRST + 0x200,...
b300: 43 43 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 20  CCM_SETBKCOLOR  
b310: 20 20 20 20 20 3d 20 38 31 39 33 2c 0d 0a 09 43       = 8193,...C
b320: 43 4d 5f 53 45 54 43 4f 4c 4f 52 53 43 48 45 4d  CM_SETCOLORSCHEM
b330: 45 20 20 20 3d 20 38 31 39 34 2c 0d 0a 09 43 43  E   = 8194,...CC
b340: 4d 5f 47 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45  M_GETCOLORSCHEME
b350: 20 20 20 3d 20 38 31 39 35 2c 0d 0a 09 43 43 4d     = 8195,...CCM
b360: 5f 47 45 54 44 52 4f 50 54 41 52 47 45 54 20 20  _GETDROPTARGET  
b370: 20 20 3d 20 38 31 39 36 2c 0d 0a 09 43 43 4d 5f    = 8196,...CCM_
b380: 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54  SETUNICODEFORMAT
b390: 20 3d 20 38 31 39 37 2c 0d 0a 09 43 43 4d 5f 47   = 8197,...CCM_G
b3a0: 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20  ETUNICODEFORMAT 
b3b0: 3d 20 38 31 39 38 2c 0d 0a 09 43 43 4d 5f 53 45  = 8198,...CCM_SE
b3c0: 54 56 45 52 53 49 4f 4e 20 20 20 20 20 20 20 3d  TVERSION       =
b3d0: 20 30 78 32 30 30 37 2c 0d 0a 09 43 43 4d 5f 47   0x2007,...CCM_G
b3e0: 45 54 56 45 52 53 49 4f 4e 20 20 20 20 20 20 20  ETVERSION       
b3f0: 3d 20 30 78 32 30 30 38 2c 0d 0a 09 43 43 4d 5f  = 0x2008,...CCM_
b400: 53 45 54 4e 4f 54 49 46 59 57 49 4e 44 4f 57 20  SETNOTIFYWINDOW 
b410: 20 3d 20 30 78 32 30 30 39 0d 0a 7d 2a 2f 0d 0a   = 0x2009..}*/..
b420: 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
b430: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
b440: 30 31 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  01) {...enum {..
b450: 09 09 43 43 4d 5f 53 45 54 57 49 4e 44 4f 57 54  ..CCM_SETWINDOWT
b460: 48 45 4d 45 20 3d 20 30 78 32 30 30 62 2c 0d 0a  HEME = 0x200b,..
b470: 09 09 43 43 4d 5f 44 50 49 53 43 41 4c 45 20 20  ..CCM_DPISCALE  
b480: 20 20 20 20 20 3d 20 30 78 32 30 30 63 2c 0d 0a       = 0x200c,..
b490: 0d 0a 20 20 20 20 20 20 20 20 52 42 5f 47 45 54  ..        RB_GET
b4a0: 42 41 4e 44 4d 41 52 47 49 4e 53 20 3d 20 57 4d  BANDMARGINS = WM
b4b0: 5f 55 53 45 52 20 2b 20 34 30 2c 0d 0a 20 20 20  _USER + 40,..   
b4c0: 20 20 20 20 20 52 42 5f 53 45 54 57 49 4e 44 4f       RB_SETWINDO
b4d0: 57 54 48 45 4d 45 20 3d 20 43 43 4d 5f 53 45 54  WTHEME = CCM_SET
b4e0: 57 49 4e 44 4f 57 54 48 45 4d 45 2c 0d 0a 20 20  WINDOWTHEME,..  
b4f0: 20 20 20 20 20 20 54 42 5f 53 45 54 57 49 4e 44        TB_SETWIND
b500: 4f 57 54 48 45 4d 45 20 20 3d 20 43 43 4d 5f 53  OWTHEME  = CCM_S
b510: 45 54 57 49 4e 44 4f 57 54 48 45 4d 45 2c 0d 0a  ETWINDOWTHEME,..
b520: 20 20 20 20 20 20 20 20 54 54 4d 5f 53 45 54 57          TTM_SETW
b530: 49 4e 44 4f 57 54 48 45 4d 45 20 3d 20 43 43 4d  INDOWTHEME = CCM
b540: 5f 53 45 54 57 49 4e 44 4f 57 54 48 45 4d 45 2c  _SETWINDOWTHEME,
b550: 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20  ...}..}....enum 
b560: 7b 0d 0a 09 49 43 43 5f 4c 49 53 54 56 49 45 57  {...ICC_LISTVIEW
b570: 5f 43 4c 41 53 53 45 53 20 3d 20 31 2c 0d 0a 09  _CLASSES = 1,...
b580: 49 43 43 5f 54 52 45 45 56 49 45 57 5f 43 4c 41  ICC_TREEVIEW_CLA
b590: 53 53 45 53 20 3d 20 32 2c 0d 0a 09 49 43 43 5f  SSES = 2,...ICC_
b5a0: 42 41 52 5f 43 4c 41 53 53 45 53 20 20 20 20 20  BAR_CLASSES     
b5b0: 20 3d 20 34 2c 0d 0a 09 49 43 43 5f 54 41 42 5f   = 4,...ICC_TAB_
b5c0: 43 4c 41 53 53 45 53 20 20 20 20 20 20 3d 20 38  CLASSES      = 8
b5d0: 2c 0d 0a 09 49 43 43 5f 55 50 44 4f 57 4e 5f 43  ,...ICC_UPDOWN_C
b5e0: 4c 41 53 53 20 20 20 20 20 3d 20 31 36 2c 0d 0a  LASS     = 16,..
b5f0: 09 49 43 43 5f 50 52 4f 47 52 45 53 53 5f 43 4c  .ICC_PROGRESS_CL
b600: 41 53 53 20 20 20 3d 20 33 32 2c 0d 0a 09 49 43  ASS   = 32,...IC
b610: 43 5f 48 4f 54 4b 45 59 5f 43 4c 41 53 53 20 20  C_HOTKEY_CLASS  
b620: 20 20 20 3d 20 36 34 2c 0d 0a 09 49 43 43 5f 41     = 64,...ICC_A
b630: 4e 49 4d 41 54 45 5f 43 4c 41 53 53 20 20 20 20  NIMATE_CLASS    
b640: 3d 20 31 32 38 2c 0d 0a 09 49 43 43 5f 57 49 4e  = 128,...ICC_WIN
b650: 39 35 5f 43 4c 41 53 53 45 53 20 20 20 20 3d 20  95_CLASSES    = 
b660: 32 35 35 2c 0d 0a 09 49 43 43 5f 44 41 54 45 5f  255,...ICC_DATE_
b670: 43 4c 41 53 53 45 53 20 20 20 20 20 3d 20 32 35  CLASSES     = 25
b680: 36 2c 0d 0a 09 49 43 43 5f 55 53 45 52 45 58 5f  6,...ICC_USEREX_
b690: 43 4c 41 53 53 45 53 20 20 20 3d 20 35 31 32 2c  CLASSES   = 512,
b6a0: 0d 0a 09 49 43 43 5f 43 4f 4f 4c 5f 43 4c 41 53  ...ICC_COOL_CLAS
b6b0: 53 45 53 20 20 20 20 20 3d 20 31 30 32 34 0d 0a  SES     = 1024..
b6c0: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
b6d0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34  _WIN32_IE >= 0x4
b6e0: 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  00) {...enum {..
b6f0: 09 09 49 4e 46 4f 54 49 50 53 49 5a 45 20 20 20  ..INFOTIPSIZE   
b700: 20 20 20 20 20 20 20 20 20 3d 20 31 30 32 34 2c           = 1024,
b710: 0d 0a 09 09 49 43 43 5f 49 4e 54 45 52 4e 45 54  ....ICC_INTERNET
b720: 5f 43 4c 41 53 53 45 53 20 20 20 3d 20 32 30 34  _CLASSES   = 204
b730: 38 2c 0d 0a 09 09 49 43 43 5f 50 41 47 45 53 43  8,....ICC_PAGESC
b740: 52 4f 4c 4c 45 52 5f 43 4c 41 53 53 20 3d 20 34  ROLLER_CLASS = 4
b750: 30 39 36 2c 0d 0a 09 09 49 43 43 5f 4e 41 54 49  096,....ICC_NATI
b760: 56 45 46 4e 54 43 54 4c 5f 43 4c 41 53 53 20 3d  VEFNTCTL_CLASS =
b770: 20 38 31 39 32 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a   8192...}..}....
b780: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
b790: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31  2_WINNT >= 0x501
b7a0: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  ) {...enum {....
b7b0: 49 43 43 5f 53 54 41 4e 44 41 52 44 5f 43 4c 41  ICC_STANDARD_CLA
b7c0: 53 53 45 53 20 3d 20 30 78 30 30 30 30 34 30 30  SSES = 0x0000400
b7d0: 30 2c 0d 0a 09 09 49 43 43 5f 4c 49 4e 4b 5f 43  0,....ICC_LINK_C
b7e0: 4c 41 53 53 20 20 20 20 20 20 20 3d 20 30 78 30  LASS       = 0x0
b7f0: 30 30 30 38 30 30 30 0d 0a 09 7d 0d 0a 7d 0d 0a  0008000...}..}..
b800: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 47 44 54 52 5f  ..enum {...GDTR_
b810: 4d 49 4e 20 3d 20 31 2c 0d 0a 09 47 44 54 52 5f  MIN = 1,...GDTR_
b820: 4d 41 58 20 3d 20 32 0d 0a 7d 0d 0a 0d 0a 65 6e  MAX = 2..}....en
b830: 75 6d 20 7b 0d 0a 09 47 4d 52 5f 56 49 53 49 42  um {...GMR_VISIB
b840: 4c 45 2c 0d 0a 09 47 4d 52 5f 44 41 59 53 54 41  LE,...GMR_DAYSTA
b850: 54 45 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d  TE..}....enum {.
b860: 0a 09 47 44 54 5f 45 52 52 4f 52 20 3d 20 2d 31  ..GDT_ERROR = -1
b870: 2c 0d 0a 09 47 44 54 5f 56 41 4c 49 44 20 3d 20  ,...GDT_VALID = 
b880: 30 2c 0d 0a 09 47 44 54 5f 4e 4f 4e 45 20 20 3d  0,...GDT_NONE  =
b890: 20 31 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d   1..}....enum {.
b8a0: 0a 09 44 54 53 5f 53 48 4f 52 54 44 41 54 45 46  ..DTS_SHORTDATEF
b8b0: 4f 52 4d 41 54 20 3d 20 30 2c 0d 0a 09 44 54 53  ORMAT = 0,...DTS
b8c0: 5f 55 50 44 4f 57 4e 20 20 20 20 20 20 20 20 20  _UPDOWN         
b8d0: 20 3d 20 31 2c 0d 0a 09 44 54 53 5f 53 48 4f 57   = 1,...DTS_SHOW
b8e0: 4e 4f 4e 45 20 20 20 20 20 20 20 20 3d 20 32 2c  NONE        = 2,
b8f0: 0d 0a 09 44 54 53 5f 4c 4f 4e 47 44 41 54 45 46  ...DTS_LONGDATEF
b900: 4f 52 4d 41 54 20 20 3d 20 34 2c 0d 0a 09 44 54  ORMAT  = 4,...DT
b910: 53 5f 54 49 4d 45 46 4f 52 4d 41 54 20 20 20 20  S_TIMEFORMAT    
b920: 20 20 3d 20 39 2c 0d 0a 09 44 54 53 5f 41 50 50    = 9,...DTS_APP
b930: 43 41 4e 50 41 52 53 45 20 20 20 20 20 3d 20 31  CANPARSE     = 1
b940: 36 2c 0d 0a 09 44 54 53 5f 52 49 47 48 54 41 4c  6,...DTS_RIGHTAL
b950: 49 47 4e 20 20 20 20 20 20 3d 20 33 32 0d 0a 7d  IGN      = 32..}
b960: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
b970: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30  WIN32_IE >= 0x50
b980: 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  0) {...enum {...
b990: 09 44 54 53 5f 53 48 4f 52 54 44 41 54 45 43 45  .DTS_SHORTDATECE
b9a0: 4e 54 55 52 59 46 4f 52 4d 41 54 20 3d 20 30 78  NTURYFORMAT = 0x
b9b0: 30 30 30 43 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65  000C...}..}....e
b9c0: 6e 75 6d 20 7b 0d 0a 09 4d 43 53 5f 44 41 59 53  num {...MCS_DAYS
b9d0: 54 41 54 45 20 20 20 20 3d 20 31 2c 0d 0a 09 4d  TATE    = 1,...M
b9e0: 43 53 5f 4d 55 4c 54 49 53 45 4c 45 43 54 20 3d  CS_MULTISELECT =
b9f0: 20 32 2c 0d 0a 09 4d 43 53 5f 57 45 45 4b 4e 55   2,...MCS_WEEKNU
ba00: 4d 42 45 52 53 20 3d 20 34 0d 0a 7d 0d 0a 0d 0a  MBERS = 4..}....
ba10: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
ba20: 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b  2_IE >= 0x400) {
ba30: 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 4d 43 53  ...enum {....MCS
ba40: 5f 4e 4f 54 4f 44 41 59 43 49 52 43 4c 45 20 3d  _NOTODAYCIRCLE =
ba50: 20 30 78 30 30 30 38 2c 0d 0a 09 09 4d 43 53 5f   0x0008,....MCS_
ba60: 4e 4f 54 4f 44 41 59 20 20 20 20 20 20 20 3d 20  NOTODAY       = 
ba70: 30 78 30 30 31 30 0d 0a 09 7d 0d 0a 7d 20 65 6c  0x0010...}..} el
ba80: 73 65 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  se {...enum {...
ba90: 09 4d 43 53 5f 4e 4f 54 4f 44 41 59 20 3d 20 30  .MCS_NOTODAY = 0
baa0: 78 30 30 30 38 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a  x0008...}..}....
bab0: 65 6e 75 6d 20 7b 0d 0a 20 20 20 20 44 54 4d 5f  enum {..    DTM_
bac0: 46 49 52 53 54 20 20 20 20 20 20 20 20 20 3d 20  FIRST         = 
bad0: 30 78 31 30 30 30 30 2c 0d 0a 09 44 54 4d 5f 47  0x10000,...DTM_G
bae0: 45 54 53 59 53 54 45 4d 54 49 4d 45 20 3d 20 30  ETSYSTEMTIME = 0
baf0: 78 31 30 30 31 2c 0d 0a 09 44 54 4d 5f 53 45 54  x1001,...DTM_SET
bb00: 53 59 53 54 45 4d 54 49 4d 45 20 3d 20 30 78 31  SYSTEMTIME = 0x1
bb10: 30 30 32 2c 0d 0a 09 44 54 4d 5f 47 45 54 52 41  002,...DTM_GETRA
bb20: 4e 47 45 20 20 20 20 20 20 3d 20 30 78 31 30 30  NGE      = 0x100
bb30: 33 2c 0d 0a 09 44 54 4d 5f 53 45 54 52 41 4e 47  3,...DTM_SETRANG
bb40: 45 20 20 20 20 20 20 3d 20 30 78 31 30 30 34 2c  E      = 0x1004,
bb50: 0d 0a 09 44 54 4d 5f 53 45 54 46 4f 52 4d 41 54  ...DTM_SETFORMAT
bb60: 41 20 20 20 20 3d 20 30 78 31 30 30 35 2c 0d 0a  A    = 0x1005,..
bb70: 09 44 54 4d 5f 53 45 54 4d 43 43 4f 4c 4f 52 20  .DTM_SETMCCOLOR 
bb80: 20 20 20 3d 20 30 78 31 30 30 36 2c 0d 0a 09 44     = 0x1006,...D
bb90: 54 4d 5f 47 45 54 4d 43 43 4f 4c 4f 52 20 20 20  TM_GETMCCOLOR   
bba0: 20 3d 20 30 78 31 30 30 37 2c 0d 0a 09 44 54 4d   = 0x1007,...DTM
bbb0: 5f 47 45 54 4d 4f 4e 54 48 43 41 4c 20 20 20 3d  _GETMONTHCAL   =
bbc0: 20 30 78 31 30 30 38 2c 0d 0a 09 44 54 4d 5f 53   0x1008,...DTM_S
bbd0: 45 54 4d 43 46 4f 4e 54 20 20 20 20 20 3d 20 30  ETMCFONT     = 0
bbe0: 78 31 30 30 39 2c 0d 0a 09 44 54 4d 5f 47 45 54  x1009,...DTM_GET
bbf0: 4d 43 46 4f 4e 54 20 20 20 20 20 3d 20 30 78 31  MCFONT     = 0x1
bc00: 30 30 61 2c 0d 0a 09 44 54 4d 5f 53 45 54 46 4f  00a,...DTM_SETFO
bc10: 52 4d 41 54 57 20 20 20 20 3d 20 30 78 31 30 35  RMATW    = 0x105
bc20: 30 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69  0..}....static i
bc30: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
bc40: 3e 3d 20 30 78 36 30 30 29 20 7b 0d 0a 20 20 20  >= 0x600) {..   
bc50: 20 65 6e 75 6d 20 7b 0d 0a 20 20 20 20 20 20 20   enum {..       
bc60: 20 44 54 4d 5f 53 45 54 4d 43 53 54 59 4c 45 20   DTM_SETMCSTYLE 
bc70: 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20 31 31  = DTM_FIRST + 11
bc80: 2c 0d 0a 20 20 20 20 20 20 20 20 44 54 4d 5f 47  ,..        DTM_G
bc90: 45 54 4d 43 53 54 59 4c 45 2c 0d 0a 20 20 20 20  ETMCSTYLE,..    
bca0: 20 20 20 20 44 54 4d 5f 43 4c 4f 53 45 4d 4f 4e      DTM_CLOSEMON
bcb0: 54 48 43 41 4c 2c 0d 0a 20 20 20 20 20 20 20 20  THCAL,..        
bcc0: 44 54 4d 5f 47 45 54 44 41 54 45 54 49 4d 45 50  DTM_GETDATETIMEP
bcd0: 49 43 4b 45 52 49 4e 46 4f 2c 0d 0a 20 20 20 20  ICKERINFO,..    
bce0: 20 20 20 20 44 54 4d 5f 47 45 54 49 44 45 41 4c      DTM_GETIDEAL
bcf0: 53 49 5a 45 2c 0d 0a 20 20 20 20 7d 0d 0a 7d 0d  SIZE,..    }..}.
bd00: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 44 54 4e 5f  ...enum {...DTN_
bd10: 55 53 45 52 53 54 52 49 4e 47 41 20 20 20 20 3d  USERSTRINGA    =
bd20: 20 2d 37 35 38 55 2c 0d 0a 09 44 54 4e 5f 55 53   -758U,...DTN_US
bd30: 45 52 53 54 52 49 4e 47 57 20 20 20 20 3d 20 2d  ERSTRINGW    = -
bd40: 37 34 35 55 2c 0d 0a 09 44 54 4e 5f 57 4d 4b 45  745U,...DTN_WMKE
bd50: 59 44 4f 57 4e 41 20 20 20 20 20 3d 20 2d 37 35  YDOWNA     = -75
bd60: 37 55 2c 0d 0a 09 44 54 4e 5f 57 4d 4b 45 59 44  7U,...DTN_WMKEYD
bd70: 4f 57 4e 57 20 20 20 20 20 3d 20 2d 37 34 34 55  OWNW     = -744U
bd80: 2c 0d 0a 09 44 54 4e 5f 46 4f 52 4d 41 54 41 20  ,...DTN_FORMATA 
bd90: 20 20 20 20 20 20 20 3d 20 2d 37 35 36 55 2c 0d         = -756U,.
bda0: 0a 09 44 54 4e 5f 46 4f 52 4d 41 54 57 20 20 20  ..DTN_FORMATW   
bdb0: 20 20 20 20 20 3d 20 2d 37 34 33 55 2c 0d 0a 09       = -743U,...
bdc0: 44 54 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59 41  DTN_FORMATQUERYA
bdd0: 20 20 20 3d 20 2d 37 35 35 55 2c 0d 0a 09 44 54     = -755U,...DT
bde0: 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59 57 20 20  N_FORMATQUERYW  
bdf0: 20 3d 20 2d 37 34 32 55 2c 0d 0a 09 44 54 4e 5f   = -742U,...DTN_
be00: 44 52 4f 50 44 4f 57 4e 20 20 20 20 20 20 20 3d  DROPDOWN       =
be10: 20 2d 37 35 34 55 2c 0d 0a 09 44 54 4e 5f 43 4c   -754U,...DTN_CL
be20: 4f 53 45 55 50 20 20 20 20 20 20 20 20 3d 20 2d  OSEUP        = -
be30: 37 35 33 55 2c 0d 0a 09 44 54 4e 5f 44 41 54 45  753U,...DTN_DATE
be40: 54 49 4d 45 43 48 41 4e 47 45 20 3d 20 2d 37 35  TIMECHANGE = -75
be50: 39 55 2c 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b  9U,..}....enum {
be60: 0d 0a 20 20 20 20 4d 43 4d 5f 46 49 52 53 54 20  ..    MCM_FIRST 
be70: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
be80: 31 30 30 30 2c 0d 0a 09 4d 43 4d 5f 47 45 54 43  1000,...MCM_GETC
be90: 55 52 53 45 4c 20 20 20 20 20 20 20 20 20 3d 20  URSEL         = 
bea0: 30 78 31 30 30 31 2c 0d 0a 09 4d 43 4d 5f 53 45  0x1001,...MCM_SE
beb0: 54 43 55 52 53 45 4c 20 20 20 20 20 20 20 20 20  TCURSEL         
bec0: 3d 20 30 78 31 30 30 32 2c 0d 0a 09 4d 43 4d 5f  = 0x1002,...MCM_
bed0: 47 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 20 20  GETMAXSELCOUNT  
bee0: 20 20 3d 20 30 78 31 30 30 33 2c 0d 0a 09 4d 43    = 0x1003,...MC
bef0: 4d 5f 53 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54  M_SETMAXSELCOUNT
bf00: 20 20 20 20 3d 20 30 78 31 30 30 34 2c 0d 0a 09      = 0x1004,...
bf10: 4d 43 4d 5f 47 45 54 53 45 4c 52 41 4e 47 45 20  MCM_GETSELRANGE 
bf20: 20 20 20 20 20 20 3d 20 30 78 31 30 30 35 2c 0d        = 0x1005,.
bf30: 0a 09 4d 43 4d 5f 53 45 54 53 45 4c 52 41 4e 47  ..MCM_SETSELRANG
bf40: 45 20 20 20 20 20 20 20 3d 20 30 78 31 30 30 36  E       = 0x1006
bf50: 2c 0d 0a 09 4d 43 4d 5f 47 45 54 4d 4f 4e 54 48  ,...MCM_GETMONTH
bf60: 52 41 4e 47 45 20 20 20 20 20 3d 20 30 78 31 30  RANGE     = 0x10
bf70: 30 37 2c 0d 0a 09 4d 43 4d 5f 53 45 54 44 41 59  07,...MCM_SETDAY
bf80: 53 54 41 54 45 20 20 20 20 20 20 20 3d 20 30 78  STATE       = 0x
bf90: 31 30 30 38 2c 0d 0a 09 4d 43 4d 5f 47 45 54 4d  1008,...MCM_GETM
bfa0: 49 4e 52 45 51 52 45 43 54 20 20 20 20 20 3d 20  INREQRECT     = 
bfb0: 30 78 31 30 30 39 2c 0d 0a 09 4d 43 4d 5f 53 45  0x1009,...MCM_SE
bfc0: 54 43 4f 4c 4f 52 20 20 20 20 20 20 20 20 20 20  TCOLOR          
bfd0: 3d 20 30 78 31 30 30 61 2c 0d 0a 09 4d 43 4d 5f  = 0x100a,...MCM_
bfe0: 47 45 54 43 4f 4c 4f 52 20 20 20 20 20 20 20 20  GETCOLOR        
bff0: 20 20 3d 20 30 78 31 30 30 62 2c 0d 0a 09 4d 43    = 0x100b,...MC
c000: 4d 5f 53 45 54 54 4f 44 41 59 20 20 20 20 20 20  M_SETTODAY      
c010: 20 20 20 20 3d 20 30 78 31 30 30 63 2c 0d 0a 09      = 0x100c,...
c020: 4d 43 4d 5f 47 45 54 54 4f 44 41 59 20 20 20 20  MCM_GETTODAY    
c030: 20 20 20 20 20 20 3d 20 30 78 31 30 30 64 2c 0d        = 0x100d,.
c040: 0a 09 4d 43 4d 5f 48 49 54 54 45 53 54 20 20 20  ..MCM_HITTEST   
c050: 20 20 20 20 20 20 20 20 3d 20 30 78 31 30 30 65          = 0x100e
c060: 2c 0d 0a 09 4d 43 4d 5f 53 45 54 46 49 52 53 54  ,...MCM_SETFIRST
c070: 44 41 59 4f 46 57 45 45 4b 20 3d 20 30 78 31 30  DAYOFWEEK = 0x10
c080: 30 66 2c 0d 0a 09 4d 43 4d 5f 47 45 54 46 49 52  0f,...MCM_GETFIR
c090: 53 54 44 41 59 4f 46 57 45 45 4b 20 3d 20 30 78  STDAYOFWEEK = 0x
c0a0: 31 30 31 30 2c 0d 0a 09 4d 43 4d 5f 47 45 54 52  1010,...MCM_GETR
c0b0: 41 4e 47 45 20 20 20 20 20 20 20 20 20 20 3d 20  ANGE          = 
c0c0: 30 78 31 30 31 31 2c 0d 0a 09 4d 43 4d 5f 53 45  0x1011,...MCM_SE
c0d0: 54 52 41 4e 47 45 20 20 20 20 20 20 20 20 20 20  TRANGE          
c0e0: 3d 20 30 78 31 30 31 32 2c 0d 0a 09 4d 43 4d 5f  = 0x1012,...MCM_
c0f0: 47 45 54 4d 4f 4e 54 48 44 45 4c 54 41 20 20 20  GETMONTHDELTA   
c100: 20 20 3d 20 30 78 31 30 31 33 2c 0d 0a 09 4d 43    = 0x1013,...MC
c110: 4d 5f 53 45 54 4d 4f 4e 54 48 44 45 4c 54 41 20  M_SETMONTHDELTA 
c120: 20 20 20 20 3d 20 30 78 31 30 31 34 2c 0d 0a 09      = 0x1014,...
c130: 4d 43 4d 5f 47 45 54 4d 41 58 54 4f 44 41 59 57  MCM_GETMAXTODAYW
c140: 49 44 54 48 20 20 3d 20 30 78 31 30 31 35 2c 0d  IDTH  = 0x1015,.
c150: 0a 09 4d 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45  ..MCM_GETUNICODE
c160: 46 4f 52 4d 41 54 20 20 3d 20 43 43 4d 5f 47 45  FORMAT  = CCM_GE
c170: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 0d  TUNICODEFORMAT,.
c180: 0a 09 4d 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45  ..MCM_SETUNICODE
c190: 46 4f 52 4d 41 54 20 20 3d 20 43 43 4d 5f 53 45  FORMAT  = CCM_SE
c1a0: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 0d 0a  TUNICODEFORMAT..
c1b0: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
c1c0: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
c1d0: 30 78 36 30 30 29 20 7b 0d 0a 20 20 20 20 65 6e  0x600) {..    en
c1e0: 75 6d 20 7b 0d 0a 20 20 20 20 20 20 20 20 4d 43  um {..        MC
c1f0: 4d 5f 47 45 54 43 55 52 52 45 4e 54 56 49 45 57  M_GETCURRENTVIEW
c200: 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 32   = MCM_FIRST + 2
c210: 32 2c 0d 0a 20 20 20 20 20 20 20 20 4d 43 4d 5f  2,..        MCM_
c220: 47 45 54 43 41 4c 45 4e 44 41 52 43 4f 55 4e 54  GETCALENDARCOUNT
c230: 2c 0d 0a 20 20 20 20 20 20 20 20 4d 43 4d 5f 47  ,..        MCM_G
c240: 45 54 43 41 4c 45 4e 44 41 52 47 52 49 44 49 4e  ETCALENDARGRIDIN
c250: 46 4f 2c 0d 0a 20 20 20 20 20 20 20 20 4d 43 4d  FO,..        MCM
c260: 5f 47 45 54 43 41 4c 49 44 20 3d 20 4d 43 4d 5f  _GETCALID = MCM_
c270: 46 49 52 53 54 20 2b 20 32 37 2c 0d 0a 20 20 20  FIRST + 27,..   
c280: 20 20 20 20 20 4d 43 4d 5f 53 45 54 43 41 4c 49       MCM_SETCALI
c290: 44 2c 0d 0a 20 20 20 20 20 20 20 20 4d 43 4d 5f  D,..        MCM_
c2a0: 53 49 5a 45 52 45 43 54 54 4f 4d 49 4e 2c 0d 0a  SIZERECTTOMIN,..
c2b0: 20 20 20 20 20 20 20 20 4d 43 4d 5f 53 45 54 43          MCM_SETC
c2c0: 41 4c 45 4e 44 41 52 42 4f 52 44 45 52 2c 0d 0a  ALENDARBORDER,..
c2d0: 20 20 20 20 20 20 20 20 4d 43 4d 5f 47 45 54 43          MCM_GETC
c2e0: 41 4c 45 4e 44 41 52 42 4f 52 44 45 52 2c 0d 0a  ALENDARBORDER,..
c2f0: 20 20 20 20 20 20 20 20 4d 43 4d 5f 53 45 54 43          MCM_SETC
c300: 55 52 52 45 4e 54 56 49 45 57 2c 0d 0a 20 20 20  URRENTVIEW,..   
c310: 20 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d   }..}....enum {.
c320: 0a 09 4d 43 4e 5f 53 45 4c 43 48 41 4e 47 45 20  ..MCN_SELCHANGE 
c330: 20 20 3d 20 2d 37 34 39 55 2c 0d 0a 09 4d 43 4e    = -749U,...MCN
c340: 5f 47 45 54 44 41 59 53 54 41 54 45 20 3d 20 2d  _GETDAYSTATE = -
c350: 37 34 37 55 2c 0d 0a 09 4d 43 4e 5f 53 45 4c 45  747U,...MCN_SELE
c360: 43 54 20 20 20 20 20 20 3d 20 2d 37 34 36 55 0d  CT      = -746U.
c370: 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4f  .}....enum {...O
c380: 44 54 5f 48 45 41 44 45 52 20 3d 20 31 30 30 2c  DT_HEADER = 100,
c390: 0d 0a 09 4f 44 54 5f 54 41 42 2c 0d 0a 09 4f 44  ...ODT_TAB,...OD
c3a0: 54 5f 4c 49 53 54 56 49 45 57 20 2f 2f 20 3d 20  T_LISTVIEW // = 
c3b0: 31 30 32 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b  102..}....enum {
c3c0: 0d 0a 09 53 42 5f 53 45 54 42 4b 43 4f 4c 4f 52  ...SB_SETBKCOLOR
c3d0: 20 3d 20 30 78 32 30 30 31 0d 0a 7d 0d 0a 0d 0a   = 0x2001..}....
c3e0: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
c3f0: 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29 20 7b  2_IE >= 0x300) {
c400: 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 53 42 5f  ...enum {....SB_
c410: 49 53 53 49 4d 50 4c 45 20 3d 20 31 30 33 38 0d  ISSIMPLE = 1038.
c420: 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  ..}.....enum {..
c430: 09 09 4d 43 53 43 5f 42 41 43 4b 47 52 4f 55 4e  ..MCSC_BACKGROUN
c440: 44 2c 0d 0a 09 09 4d 43 53 43 5f 54 45 58 54 2c  D,....MCSC_TEXT,
c450: 0d 0a 09 09 4d 43 53 43 5f 54 49 54 4c 45 42 4b  ....MCSC_TITLEBK
c460: 2c 0d 0a 09 09 4d 43 53 43 5f 54 49 54 4c 45 54  ,....MCSC_TITLET
c470: 45 58 54 2c 0d 0a 09 09 4d 43 53 43 5f 4d 4f 4e  EXT,....MCSC_MON
c480: 54 48 42 4b 2c 0d 0a 09 09 4d 43 53 43 5f 54 52  THBK,....MCSC_TR
c490: 41 49 4c 49 4e 47 54 45 58 54 20 2f 2f 20 3d 20  AILINGTEXT // = 
c4a0: 35 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74  5...}..}....stat
c4b0: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
c4c0: 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 65   >= 0x400) {...e
c4d0: 6e 75 6d 20 7b 0d 0a 09 09 4d 43 48 54 5f 54 49  num {....MCHT_TI
c4e0: 54 4c 45 20 20 20 20 20 20 20 20 20 20 20 20 3d  TLE            =
c4f0: 20 30 78 31 30 30 30 30 2c 0d 0a 09 09 4d 43 48   0x10000,....MCH
c500: 54 5f 43 41 4c 45 4e 44 41 52 20 20 20 20 20 20  T_CALENDAR      
c510: 20 20 20 3d 20 30 78 32 30 30 30 30 2c 0d 0a 09     = 0x20000,...
c520: 09 4d 43 48 54 5f 54 4f 44 41 59 4c 49 4e 4b 20  .MCHT_TODAYLINK 
c530: 20 20 20 20 20 20 20 3d 20 30 78 33 30 30 30 30         = 0x30000
c540: 2c 0d 0a 09 09 4d 43 48 54 5f 4e 45 58 54 20 20  ,....MCHT_NEXT  
c550: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 31             = 0x1
c560: 30 30 30 30 30 30 2c 0d 0a 09 09 4d 43 48 54 5f  000000,....MCHT_
c570: 50 52 45 56 20 20 20 20 20 20 20 20 20 20 20 20  PREV            
c580: 20 3d 20 30 78 32 30 30 30 30 30 30 2c 0d 0a 09   = 0x2000000,...
c590: 09 4d 43 48 54 5f 4e 4f 57 48 45 52 45 20 20 20  .MCHT_NOWHERE   
c5a0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 2c 0d 0a         = 0x00,..
c5b0: 09 09 4d 43 48 54 5f 54 49 54 4c 45 42 4b 20 20  ..MCHT_TITLEBK  
c5c0: 20 20 20 20 20 20 20 20 3d 20 4d 43 48 54 5f 54          = MCHT_T
c5d0: 49 54 4c 45 2c 0d 0a 09 09 4d 43 48 54 5f 54 49  ITLE,....MCHT_TI
c5e0: 54 4c 45 4d 4f 4e 54 48 20 20 20 20 20 20 20 3d  TLEMONTH       =
c5f0: 20 4d 43 48 54 5f 54 49 54 4c 45 20 7c 20 30 78   MCHT_TITLE | 0x
c600: 30 30 30 31 2c 0d 0a 09 09 4d 43 48 54 5f 54 49  0001,....MCHT_TI
c610: 54 4c 45 59 45 41 52 20 20 20 20 20 20 20 20 3d  TLEYEAR        =
c620: 20 4d 43 48 54 5f 54 49 54 4c 45 20 7c 20 30 78   MCHT_TITLE | 0x
c630: 30 30 30 32 2c 0d 0a 09 09 4d 43 48 54 5f 54 49  0002,....MCHT_TI
c640: 54 4c 45 42 54 4e 4e 45 58 54 20 20 20 20 20 3d  TLEBTNNEXT     =
c650: 20 4d 43 48 54 5f 54 49 54 4c 45 20 7c 20 4d 43   MCHT_TITLE | MC
c660: 48 54 5f 4e 45 58 54 20 7c 20 30 78 30 30 30 33  HT_NEXT | 0x0003
c670: 2c 0d 0a 09 09 4d 43 48 54 5f 54 49 54 4c 45 42  ,....MCHT_TITLEB
c680: 54 4e 50 52 45 56 20 20 20 20 20 3d 20 4d 43 48  TNPREV     = MCH
c690: 54 5f 54 49 54 4c 45 20 7c 20 4d 43 48 54 5f 50  T_TITLE | MCHT_P
c6a0: 52 45 56 20 7c 20 30 78 30 30 30 33 2c 0d 0a 09  REV | 0x0003,...
c6b0: 09 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 42 4b  .MCHT_CALENDARBK
c6c0: 20 20 20 20 20 20 20 3d 20 4d 43 48 54 5f 43 41         = MCHT_CA
c6d0: 4c 45 4e 44 41 52 2c 0d 0a 09 09 4d 43 48 54 5f  LENDAR,....MCHT_
c6e0: 43 41 4c 45 4e 44 41 52 44 41 54 45 20 20 20 20  CALENDARDATE    
c6f0: 20 3d 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52   = MCHT_CALENDAR
c700: 20 7c 20 30 78 30 30 30 31 2c 0d 0a 09 09 4d 43   | 0x0001,....MC
c710: 48 54 5f 43 41 4c 45 4e 44 41 52 44 41 54 45 4e  HT_CALENDARDATEN
c720: 45 58 54 20 3d 20 4d 43 48 54 5f 43 41 4c 45 4e  EXT = MCHT_CALEN
c730: 44 41 52 44 41 54 45 20 7c 20 4d 43 48 54 5f 4e  DARDATE | MCHT_N
c740: 45 58 54 2c 0d 0a 09 09 4d 43 48 54 5f 43 41 4c  EXT,....MCHT_CAL
c750: 45 4e 44 41 52 44 41 54 45 50 52 45 56 20 3d 20  ENDARDATEPREV = 
c760: 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 44 41 54  MCHT_CALENDARDAT
c770: 45 20 7c 20 4d 43 48 54 5f 50 52 45 56 2c 0d 0a  E | MCHT_PREV,..
c780: 09 09 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 44  ..MCHT_CALENDARD
c790: 41 59 20 20 20 20 20 20 3d 20 4d 43 48 54 5f 43  AY      = MCHT_C
c7a0: 41 4c 45 4e 44 41 52 20 7c 20 30 78 30 30 30 32  ALENDAR | 0x0002
c7b0: 2c 0d 0a 09 09 4d 43 48 54 5f 43 41 4c 45 4e 44  ,....MCHT_CALEND
c7c0: 41 52 57 45 45 4b 4e 55 4d 20 20 3d 20 4d 43 48  ARWEEKNUM  = MCH
c7d0: 54 5f 43 41 4c 45 4e 44 41 52 20 7c 20 30 78 30  T_CALENDAR | 0x0
c7e0: 30 30 33 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e  003...}..}....en
c7f0: 75 6d 20 7b 0d 0a 09 52 42 53 5f 54 4f 4f 4c 54  um {...RBS_TOOLT
c800: 49 50 53 20 20 20 20 3d 20 32 35 36 2c 0d 0a 09  IPS    = 256,...
c810: 52 42 53 5f 56 41 52 48 45 49 47 48 54 20 20 20  RBS_VARHEIGHT   
c820: 3d 20 35 31 32 2c 0d 0a 09 52 42 53 5f 42 41 4e  = 512,...RBS_BAN
c830: 44 42 4f 52 44 45 52 53 20 3d 20 31 30 32 34 2c  DBORDERS = 1024,
c840: 0d 0a 09 52 42 53 5f 46 49 58 45 44 4f 52 44 45  ...RBS_FIXEDORDE
c850: 52 20 20 3d 20 32 30 34 38 0d 0a 7d 0d 0a 0d 0a  R  = 2048..}....
c860: 65 6e 75 6d 20 7b 0d 0a 09 52 42 49 4d 5f 49 4d  enum {...RBIM_IM
c870: 41 47 45 4c 49 53 54 20 3d 20 31 0d 0a 7d 0d 0a  AGELIST = 1..}..
c880: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 52 42 5f 53 45  ..enum {...RB_SE
c890: 54 43 4f 4c 4f 52 53 43 48 45 4d 45 20 3d 20 43  TCOLORSCHEME = C
c8a0: 43 4d 5f 53 45 54 43 4f 4c 4f 52 53 43 48 45 4d  CM_SETCOLORSCHEM
c8b0: 45 2c 0d 0a 09 52 42 5f 47 45 54 43 4f 4c 4f 52  E,...RB_GETCOLOR
c8c0: 53 43 48 45 4d 45 20 3d 20 43 43 4d 5f 47 45 54  SCHEME = CCM_GET
c8d0: 43 4f 4c 4f 52 53 43 48 45 4d 45 0d 0a 7d 0d 0a  COLORSCHEME..}..
c8e0: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 52 42 42 53 5f  ..enum {...RBBS_
c8f0: 42 52 45 41 4b 20 20 20 20 20 20 20 20 20 20 3d  BREAK          =
c900: 20 30 78 30 30 30 31 2c 0d 0a 09 52 42 42 53 5f   0x0001,...RBBS_
c910: 46 49 58 45 44 53 49 5a 45 20 20 20 20 20 20 3d  FIXEDSIZE      =
c920: 20 30 78 30 30 30 32 2c 0d 0a 09 52 42 42 53 5f   0x0002,...RBBS_
c930: 43 48 49 4c 44 45 44 47 45 20 20 20 20 20 20 3d  CHILDEDGE      =
c940: 20 30 78 30 30 30 34 2c 0d 0a 09 52 42 42 53 5f   0x0004,...RBBS_
c950: 48 49 44 44 45 4e 20 20 20 20 20 20 20 20 20 3d  HIDDEN         =
c960: 20 30 78 30 30 30 38 2c 0d 0a 09 52 42 42 53 5f   0x0008,...RBBS_
c970: 4e 4f 56 45 52 54 20 20 20 20 20 20 20 20 20 3d  NOVERT         =
c980: 20 30 78 30 30 31 30 2c 0d 0a 09 52 42 42 53 5f   0x0010,...RBBS_
c990: 46 49 58 45 44 42 4d 50 20 20 20 20 20 20 20 3d  FIXEDBMP       =
c9a0: 20 30 78 30 30 32 30 2c 0d 0a 09 52 42 42 53 5f   0x0020,...RBBS_
c9b0: 56 41 52 49 41 42 4c 45 48 45 49 47 48 54 20 3d  VARIABLEHEIGHT =
c9c0: 20 30 78 30 30 34 30 2c 0d 0a 09 52 42 42 53 5f   0x0040,...RBBS_
c9d0: 47 52 49 50 50 45 52 41 4c 57 41 59 53 20 20 3d  GRIPPERALWAYS  =
c9e0: 20 30 78 30 30 38 30 2c 0d 0a 09 52 42 42 53 5f   0x0080,...RBBS_
c9f0: 4e 4f 47 52 49 50 50 45 52 20 20 20 20 20 20 3d  NOGRIPPER      =
ca00: 20 30 78 30 31 30 30 0d 0a 7d 0d 0a 0d 0a 73 74   0x0100..}....st
ca10: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
ca20: 49 45 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a  IE >= 0x500) {..
ca30: 09 65 6e 75 6d 20 7b 0d 0a 09 09 52 42 42 53 5f  .enum {....RBBS_
ca40: 55 53 45 43 48 45 56 52 4f 4e 20 3d 20 30 78 30  USECHEVRON = 0x0
ca50: 32 30 30 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74  200...}..}....st
ca60: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
ca70: 49 45 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a  IE >= 0x501) {..
ca80: 09 65 6e 75 6d 20 7b 0d 0a 09 09 52 42 42 53 5f  .enum {....RBBS_
ca90: 48 49 44 45 54 49 54 4c 45 20 3d 20 30 78 30 34  HIDETITLE = 0x04
caa0: 30 30 2c 0d 0a 09 09 52 42 42 53 5f 54 4f 50 41  00,....RBBS_TOPA
cab0: 4c 49 47 4e 20 20 3d 20 30 78 30 38 30 30 0d 0a  LIGN  = 0x0800..
cac0: 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d  .}..}....enum {.
cad0: 0a 09 52 42 42 49 4d 5f 53 54 59 4c 45 20 20 20  ..RBBIM_STYLE   
cae0: 20 20 20 3d 20 31 2c 0d 0a 09 52 42 42 49 4d 5f     = 1,...RBBIM_
caf0: 43 4f 4c 4f 52 53 20 20 20 20 20 3d 20 32 2c 0d  COLORS     = 2,.
cb00: 0a 09 52 42 42 49 4d 5f 54 45 58 54 20 20 20 20  ..RBBIM_TEXT    
cb10: 20 20 20 3d 20 34 2c 0d 0a 09 52 42 42 49 4d 5f     = 4,...RBBIM_
cb20: 49 4d 41 47 45 20 20 20 20 20 20 3d 20 38 2c 0d  IMAGE      = 8,.
cb30: 0a 09 52 42 42 49 4d 5f 43 48 49 4c 44 20 20 20  ..RBBIM_CHILD   
cb40: 20 20 20 3d 20 31 36 2c 0d 0a 09 52 42 42 49 4d     = 16,...RBBIM
cb50: 5f 43 48 49 4c 44 53 49 5a 45 20 20 3d 20 33 32  _CHILDSIZE  = 32
cb60: 2c 0d 0a 09 52 42 42 49 4d 5f 53 49 5a 45 20 20  ,...RBBIM_SIZE  
cb70: 20 20 20 20 20 3d 20 36 34 2c 0d 0a 09 52 42 42       = 64,...RBB
cb80: 49 4d 5f 42 41 43 4b 47 52 4f 55 4e 44 20 3d 20  IM_BACKGROUND = 
cb90: 31 32 38 2c 0d 0a 09 52 42 42 49 4d 5f 49 44 20  128,...RBBIM_ID 
cba0: 20 20 20 20 20 20 20 20 3d 20 32 35 36 0d 0a 7d          = 256..}
cbb0: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 52 42 5f  ....enum {...RB_
cbc0: 49 4e 53 45 52 54 42 41 4e 44 41 20 20 3d 20 57  INSERTBANDA  = W
cbd0: 4d 5f 55 53 45 52 20 2b 20 31 2c 0d 0a 09 52 42  M_USER + 1,...RB
cbe0: 5f 44 45 4c 45 54 45 42 41 4e 44 2c 0d 0a 09 52  _DELETEBAND,...R
cbf0: 42 5f 47 45 54 42 41 52 49 4e 46 4f 2c 0d 0a 09  B_GETBARINFO,...
cc00: 52 42 5f 53 45 54 42 41 52 49 4e 46 4f 2c 20 2f  RB_SETBARINFO, /
cc10: 2f 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 0d  / = WM_USER + 4.
cc20: 0a 09 52 42 5f 53 45 54 42 41 4e 44 49 4e 46 4f  ..RB_SETBANDINFO
cc30: 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 2c  A = WM_USER + 6,
cc40: 0d 0a 09 52 42 5f 53 45 54 50 41 52 45 4e 54 20  ...RB_SETPARENT 
cc50: 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37     = WM_USER + 7
cc60: 2c 0d 0a 09 52 42 5f 49 4e 53 45 52 54 42 41 4e  ,...RB_INSERTBAN
cc70: 44 57 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  DW  = WM_USER + 
cc80: 31 30 2c 0d 0a 09 52 42 5f 53 45 54 42 41 4e 44  10,...RB_SETBAND
cc90: 49 4e 46 4f 57 2c 0d 0a 09 52 42 5f 47 45 54 42  INFOW,...RB_GETB
cca0: 41 4e 44 43 4f 55 4e 54 2c 0d 0a 09 52 42 5f 47  ANDCOUNT,...RB_G
ccb0: 45 54 52 4f 57 43 4f 55 4e 54 2c 0d 0a 09 52 42  ETROWCOUNT,...RB
ccc0: 5f 47 45 54 52 4f 57 48 45 49 47 48 54 20 2f 2f  _GETROWHEIGHT //
ccd0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 34 2c   = WM_USER + 14,
cce0: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09  ..}....enum {...
ccf0: 52 42 4e 5f 48 45 49 47 48 54 43 48 41 4e 47 45  RBN_HEIGHTCHANGE
cd00: 20 3d 20 52 42 4e 5f 46 49 52 53 54 0d 0a 7d 0d   = RBN_FIRST..}.
cd10: 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
cd20: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30  IN32_IE >= 0x300
cd30: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  ) {...enum {....
cd40: 4c 56 4e 5f 4f 44 43 41 43 48 45 48 49 4e 54 20  LVN_ODCACHEHINT 
cd50: 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54 20 2d     = LVN_FIRST -
cd60: 20 31 33 2c 0d 0a 09 09 4c 56 4e 5f 4f 44 46 49   13,....LVN_ODFI
cd70: 4e 44 49 54 45 4d 41 20 20 20 20 3d 20 4c 56 4e  NDITEMA    = LVN
cd80: 5f 46 49 52 53 54 20 2d 20 35 32 2c 0d 0a 09 09  _FIRST - 52,....
cd90: 4c 56 4e 5f 4f 44 46 49 4e 44 49 54 45 4d 57 20  LVN_ODFINDITEMW 
cda0: 20 20 20 3d 20 4c 56 4e 5f 46 49 52 53 54 20 2d     = LVN_FIRST -
cdb0: 20 37 39 2c 0d 0a 09 09 4c 56 4e 5f 49 54 45 4d   79,....LVN_ITEM
cdc0: 41 43 54 49 56 41 54 45 20 20 20 3d 20 4c 56 4e  ACTIVATE   = LVN
cdd0: 5f 46 49 52 53 54 20 2d 20 31 34 2c 0d 0a 09 09  _FIRST - 14,....
cde0: 4c 56 4e 5f 4f 44 53 54 41 54 45 43 48 41 4e 47  LVN_ODSTATECHANG
cdf0: 45 44 20 3d 20 4c 56 4e 5f 46 49 52 53 54 20 2d  ED = LVN_FIRST -
ce00: 20 31 35 0d 0a 09 7d 0d 0a 0d 0a 09 76 65 72 73   15...}.....vers
ce10: 69 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0d  ion (Unicode) {.
ce20: 0a 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 4c 56  ...enum {.....LV
ce30: 4e 5f 4f 44 46 49 4e 44 49 54 45 4d 20 3d 20 4c  N_ODFINDITEM = L
ce40: 56 4e 5f 4f 44 46 49 4e 44 49 54 45 4d 57 0d 0a  VN_ODFINDITEMW..
ce50: 09 09 7d 0d 0a 09 7d 20 65 6c 73 65 20 7b 0d 0a  ..}...} else {..
ce60: 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 4c 56 4e  ..enum {.....LVN
ce70: 5f 4f 44 46 49 4e 44 49 54 45 4d 20 3d 20 4c 56  _ODFINDITEM = LV
ce80: 4e 5f 4f 44 46 49 4e 44 49 54 45 4d 41 0d 0a 09  N_ODFINDITEMA...
ce90: 09 7d 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61  .}...}..}....sta
cea0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
ceb0: 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09  E >= 0x400) {...
cec0: 65 6e 75 6d 20 7b 0d 0a 09 09 53 42 5f 53 45 54  enum {....SB_SET
ced0: 49 43 4f 4e 20 20 20 20 20 20 20 20 20 20 3d 20  ICON          = 
cee0: 31 30 33 39 2c 0d 0a 09 09 53 42 5f 53 45 54 54  1039,....SB_SETT
cef0: 49 50 54 45 58 54 41 2c 0d 0a 09 09 53 42 5f 53  IPTEXTA,....SB_S
cf00: 45 54 54 49 50 54 45 58 54 57 2c 0d 0a 09 09 53  ETTIPTEXTW,....S
cf10: 42 5f 47 45 54 54 49 50 54 45 58 54 41 2c 0d 0a  B_GETTIPTEXTA,..
cf20: 09 09 53 42 5f 47 45 54 54 49 50 54 45 58 54 57  ..SB_GETTIPTEXTW
cf30: 2c 0d 0a 09 09 53 42 5f 47 45 54 49 43 4f 4e 2c  ,....SB_GETICON,
cf40: 20 20 20 20 20 20 2f 2f 20 3d 20 31 30 34 34 0d        // = 1044.
cf50: 0a 09 09 53 42 5f 53 45 54 55 4e 49 43 4f 44 45  ...SB_SETUNICODE
cf60: 46 4f 52 4d 41 54 20 3d 20 30 78 32 30 30 35 2c  FORMAT = 0x2005,
cf70: 0d 0a 09 09 53 42 5f 47 45 54 55 4e 49 43 4f 44  ....SB_GETUNICOD
cf80: 45 46 4f 52 4d 41 54 20 3d 20 30 78 32 30 30 36  EFORMAT = 0x2006
cf90: 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d  ...}.....enum {.
cfa0: 0a 09 09 50 47 46 5f 49 4e 56 49 53 49 42 4c 45  ...PGF_INVISIBLE
cfb0: 20 3d 20 30 2c 0d 0a 09 09 50 47 46 5f 4e 4f 52   = 0,....PGF_NOR
cfc0: 4d 41 4c 20 20 20 20 3d 20 31 2c 0d 0a 09 09 50  MAL    = 1,....P
cfd0: 47 46 5f 47 52 41 59 45 44 20 20 20 20 3d 20 32  GF_GRAYED    = 2
cfe0: 2c 0d 0a 09 09 50 47 46 5f 44 45 50 52 45 53 53  ,....PGF_DEPRESS
cff0: 45 44 20 3d 20 34 2c 0d 0a 09 09 50 47 46 5f 48  ED = 4,....PGF_H
d000: 4f 54 20 20 20 20 20 20 20 3d 20 38 0d 0a 09 7d  OT       = 8...}
d010: 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 50  .....enum {....P
d020: 47 42 5f 54 4f 50 4f 52 4c 45 46 54 2c 0d 0a 09  GB_TOPORLEFT,...
d030: 09 50 47 42 5f 42 4f 54 54 4f 4d 4f 52 52 49 47  .PGB_BOTTOMORRIG
d040: 48 54 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20  HT...}.....enum 
d050: 7b 0d 0a 09 09 50 47 46 5f 53 43 52 4f 4c 4c 55  {....PGF_SCROLLU
d060: 50 20 20 20 20 3d 20 31 2c 0d 0a 09 09 50 47 46  P    = 1,....PGF
d070: 5f 53 43 52 4f 4c 4c 44 4f 57 4e 20 20 3d 20 32  _SCROLLDOWN  = 2
d080: 2c 0d 0a 09 09 50 47 46 5f 53 43 52 4f 4c 4c 4c  ,....PGF_SCROLLL
d090: 45 46 54 20 20 3d 20 34 2c 0d 0a 09 09 50 47 46  EFT  = 4,....PGF
d0a0: 5f 53 43 52 4f 4c 4c 52 49 47 48 54 20 3d 20 38  _SCROLLRIGHT = 8
d0b0: 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d  ...}.....enum {.
d0c0: 0a 09 09 50 47 4b 5f 53 48 49 46 54 20 20 20 3d  ...PGK_SHIFT   =
d0d0: 20 31 2c 0d 0a 09 09 50 47 4b 5f 43 4f 4e 54 52   1,....PGK_CONTR
d0e0: 4f 4c 20 3d 20 32 2c 0d 0a 09 09 50 47 4b 5f 4d  OL = 2,....PGK_M
d0f0: 45 4e 55 20 20 20 20 3d 20 34 0d 0a 09 7d 0d 0a  ENU    = 4...}..
d100: 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 50 47 46  ...enum {....PGF
d110: 5f 43 41 4c 43 57 49 44 54 48 20 20 3d 20 31 2c  _CALCWIDTH  = 1,
d120: 0d 0a 09 09 50 47 46 5f 43 41 4c 43 48 45 49 47  ....PGF_CALCHEIG
d130: 48 54 20 3d 20 32 0d 0a 09 7d 0d 0a 0d 0a 09 65  HT = 2...}.....e
d140: 6e 75 6d 20 7b 0d 0a 09 09 50 47 4d 5f 46 49 52  num {....PGM_FIR
d150: 53 54 20 20 20 20 3d 20 30 78 31 34 30 30 2c 0d  ST    = 0x1400,.
d160: 0a 09 09 50 47 4d 5f 53 45 54 43 48 49 4c 44 20  ...PGM_SETCHILD 
d170: 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b 20 31 2c  = PGM_FIRST + 1,
d180: 0d 0a 09 09 50 47 4d 5f 52 45 43 41 4c 43 53 49  ....PGM_RECALCSI
d190: 5a 45 2c 0d 0a 09 09 50 47 4d 5f 46 4f 52 57 41  ZE,....PGM_FORWA
d1a0: 52 44 4d 4f 55 53 45 2c 0d 0a 09 09 50 47 4d 5f  RDMOUSE,....PGM_
d1b0: 53 45 54 42 4b 43 4f 4c 4f 52 2c 0d 0a 09 09 50  SETBKCOLOR,....P
d1c0: 47 4d 5f 47 45 54 42 4b 43 4f 4c 4f 52 2c 0d 0a  GM_GETBKCOLOR,..
d1d0: 09 09 50 47 4d 5f 53 45 54 42 4f 52 44 45 52 2c  ..PGM_SETBORDER,
d1e0: 0d 0a 09 09 50 47 4d 5f 47 45 54 42 4f 52 44 45  ....PGM_GETBORDE
d1f0: 52 2c 0d 0a 09 09 50 47 4d 5f 53 45 54 50 4f 53  R,....PGM_SETPOS
d200: 2c 0d 0a 09 09 50 47 4d 5f 47 45 54 50 4f 53 2c  ,....PGM_GETPOS,
d210: 0d 0a 09 09 50 47 4d 5f 53 45 54 42 55 54 54 4f  ....PGM_SETBUTTO
d220: 4e 53 49 5a 45 2c 0d 0a 09 09 50 47 4d 5f 47 45  NSIZE,....PGM_GE
d230: 54 42 55 54 54 4f 4e 53 49 5a 45 2c 0d 0a 09 09  TBUTTONSIZE,....
d240: 50 47 4d 5f 47 45 54 42 55 54 54 4f 4e 53 54 41  PGM_GETBUTTONSTA
d250: 54 45 2c 20 2f 2f 20 3d 20 50 47 4d 5f 46 49 52  TE, // = PGM_FIR
d260: 53 54 20 2b 20 31 32 0d 0a 09 09 50 47 4d 5f 47  ST + 12....PGM_G
d270: 45 54 44 52 4f 50 54 41 52 47 45 54 20 3d 20 43  ETDROPTARGET = C
d280: 43 4d 5f 47 45 54 44 52 4f 50 54 41 52 47 45 54  CM_GETDROPTARGET
d290: 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d  ...}.....enum {.
d2a0: 0a 09 09 52 42 53 5f 52 45 47 49 53 54 45 52 44  ...RBS_REGISTERD
d2b0: 52 4f 50 20 20 20 20 3d 20 34 30 39 36 2c 0d 0a  ROP    = 4096,..
d2c0: 09 09 52 42 53 5f 41 55 54 4f 53 49 5a 45 20 20  ..RBS_AUTOSIZE  
d2d0: 20 20 20 20 20 20 3d 20 38 31 39 32 2c 0d 0a 09        = 8192,...
d2e0: 09 52 42 53 5f 56 45 52 54 49 43 41 4c 47 52 49  .RBS_VERTICALGRI
d2f0: 50 50 45 52 20 3d 20 31 36 33 38 34 2c 0d 0a 09  PPER = 16384,...
d300: 09 52 42 53 5f 44 42 4c 43 4c 4b 54 4f 47 47 4c  .RBS_DBLCLKTOGGL
d310: 45 20 20 20 20 3d 20 33 32 37 36 38 0d 0a 09 7d  E    = 32768...}
d320: 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 52  .....enum {....R
d330: 42 42 49 4d 5f 49 44 45 41 4c 53 49 5a 45 20 20  BBIM_IDEALSIZE  
d340: 3d 20 35 31 32 2c 0d 0a 09 09 52 42 42 49 4d 5f  = 512,....RBBIM_
d350: 4c 50 41 52 41 4d 20 20 20 20 20 3d 20 31 30 32  LPARAM     = 102
d360: 34 2c 0d 0a 09 09 52 42 42 49 4d 5f 48 45 41 44  4,....RBBIM_HEAD
d370: 45 52 53 49 5a 45 20 3d 20 32 30 34 38 0d 0a 09  ERSIZE = 2048...
d380: 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  }.....enum {....
d390: 52 42 5f 48 49 54 54 45 53 54 20 20 20 20 20 20  RB_HITTEST      
d3a0: 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20      = WM_USER + 
d3b0: 38 2c 0d 0a 09 09 52 42 5f 47 45 54 52 45 43 54  8,....RB_GETRECT
d3c0: 20 20 20 20 20 20 20 20 20 20 3d 20 57 4d 5f 55            = WM_U
d3d0: 53 45 52 20 2b 20 39 2c 0d 0a 09 09 52 42 5f 49  SER + 9,....RB_I
d3e0: 44 54 4f 49 4e 44 45 58 20 20 20 20 20 20 20 20  DTOINDEX        
d3f0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 36 2c 0d  = WM_USER + 16,.
d400: 0a 09 09 52 42 5f 47 45 54 54 4f 4f 4c 54 49 50  ...RB_GETTOOLTIP
d410: 53 2c 0d 0a 09 09 52 42 5f 53 45 54 54 4f 4f 4c  S,....RB_SETTOOL
d420: 54 49 50 53 2c 0d 0a 09 09 52 42 5f 53 45 54 42  TIPS,....RB_SETB
d430: 4b 43 4f 4c 4f 52 2c 0d 0a 09 09 52 42 5f 47 45  KCOLOR,....RB_GE
d440: 54 42 4b 43 4f 4c 4f 52 2c 0d 0a 09 09 52 42 5f  TBKCOLOR,....RB_
d450: 53 45 54 54 45 58 54 43 4f 4c 4f 52 2c 0d 0a 09  SETTEXTCOLOR,...
d460: 09 52 42 5f 47 45 54 54 45 58 54 43 4f 4c 4f 52  .RB_GETTEXTCOLOR
d470: 2c 0d 0a 09 09 52 42 5f 53 49 5a 45 54 4f 52 45  ,....RB_SIZETORE
d480: 43 54 2c 0d 0a 09 09 52 42 5f 42 45 47 49 4e 44  CT,....RB_BEGIND
d490: 52 41 47 2c 0d 0a 09 09 52 42 5f 45 4e 44 44 52  RAG,....RB_ENDDR
d4a0: 41 47 2c 0d 0a 09 09 52 42 5f 44 52 41 47 4d 4f  AG,....RB_DRAGMO
d4b0: 56 45 2c 0d 0a 09 09 52 42 5f 47 45 54 42 41 52  VE,....RB_GETBAR
d4c0: 48 45 49 47 48 54 2c 0d 0a 09 09 52 42 5f 47 45  HEIGHT,....RB_GE
d4d0: 54 42 41 4e 44 49 4e 46 4f 57 2c 0d 0a 09 09 52  TBANDINFOW,....R
d4e0: 42 5f 47 45 54 42 41 4e 44 49 4e 46 4f 41 2c 0d  B_GETBANDINFOA,.
d4f0: 0a 09 09 52 42 5f 4d 49 4e 49 4d 49 5a 45 42 41  ...RB_MINIMIZEBA
d500: 4e 44 2c 0d 0a 09 09 52 42 5f 4d 41 58 49 4d 49  ND,....RB_MAXIMI
d510: 5a 45 42 41 4e 44 2c 20 2f 2f 20 3d 20 57 4d 5f  ZEBAND, // = WM_
d520: 55 53 45 52 20 2b 20 33 31 0d 0a 09 09 52 42 5f  USER + 31....RB_
d530: 47 45 54 44 52 4f 50 54 41 52 47 45 54 20 20 20  GETDROPTARGET   
d540: 20 3d 20 43 43 4d 5f 47 45 54 44 52 4f 50 54 41   = CCM_GETDROPTA
d550: 52 47 45 54 2c 0d 0a 09 09 52 42 5f 47 45 54 42  RGET,....RB_GETB
d560: 41 4e 44 42 4f 52 44 45 52 53 20 20 20 3d 20 57  ANDBORDERS   = W
d570: 4d 5f 55 53 45 52 20 2b 20 33 34 2c 0d 0a 09 09  M_USER + 34,....
d580: 52 42 5f 53 48 4f 57 42 41 4e 44 20 20 20 20 20  RB_SHOWBAND     
d590: 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20      = WM_USER + 
d5a0: 33 35 2c 0d 0a 09 09 52 42 5f 53 45 54 50 41 4c  35,....RB_SETPAL
d5b0: 45 54 54 45 20 20 20 20 20 20 20 3d 20 57 4d 5f  ETTE       = WM_
d5c0: 55 53 45 52 20 2b 20 33 37 2c 0d 0a 09 09 52 42  USER + 37,....RB
d5d0: 5f 47 45 54 50 41 4c 45 54 54 45 20 20 20 20 20  _GETPALETTE     
d5e0: 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 38    = WM_USER + 38
d5f0: 2c 0d 0a 09 09 52 42 5f 4d 4f 56 45 42 41 4e 44  ,....RB_MOVEBAND
d600: 20 20 20 20 20 20 20 20 20 3d 20 57 4d 5f 55 53           = WM_US
d610: 45 52 20 2b 20 33 39 2c 0d 0a 09 09 52 42 5f 53  ER + 39,....RB_S
d620: 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20  ETUNICODEFORMAT 
d630: 3d 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45  = CCM_SETUNICODE
d640: 46 4f 52 4d 41 54 2c 0d 0a 09 09 52 42 5f 47 45  FORMAT,....RB_GE
d650: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d  TUNICODEFORMAT =
d660: 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46   CCM_GETUNICODEF
d670: 4f 52 4d 41 54 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e  ORMAT...}.....en
d680: 75 6d 20 7b 0d 0a 09 09 52 42 4e 5f 47 45 54 4f  um {....RBN_GETO
d690: 42 4a 45 43 54 20 20 20 20 20 3d 20 52 42 4e 5f  BJECT     = RBN_
d6a0: 46 49 52 53 54 20 2d 20 31 2c 0d 0a 09 09 52 42  FIRST - 1,....RB
d6b0: 4e 5f 4c 41 59 4f 55 54 43 48 41 4e 47 45 44 20  N_LAYOUTCHANGED 
d6c0: 3d 20 52 42 4e 5f 46 49 52 53 54 20 2d 20 32 2c  = RBN_FIRST - 2,
d6d0: 0d 0a 09 09 52 42 4e 5f 41 55 54 4f 53 49 5a 45  ....RBN_AUTOSIZE
d6e0: 20 20 20 20 20 20 3d 20 52 42 4e 5f 46 49 52 53        = RBN_FIRS
d6f0: 54 20 2d 20 33 2c 0d 0a 09 09 52 42 4e 5f 42 45  T - 3,....RBN_BE
d700: 47 49 4e 44 52 41 47 20 20 20 20 20 3d 20 52 42  GINDRAG     = RB
d710: 4e 5f 46 49 52 53 54 20 2d 20 34 2c 0d 0a 09 09  N_FIRST - 4,....
d720: 52 42 4e 5f 45 4e 44 44 52 41 47 20 20 20 20 20  RBN_ENDDRAG     
d730: 20 20 3d 20 52 42 4e 5f 46 49 52 53 54 20 2d 20    = RBN_FIRST - 
d740: 35 2c 0d 0a 09 09 52 42 4e 5f 44 45 4c 45 54 49  5,....RBN_DELETI
d750: 4e 47 42 41 4e 44 20 20 3d 20 52 42 4e 5f 46 49  NGBAND  = RBN_FI
d760: 52 53 54 20 2d 20 36 2c 0d 0a 09 09 52 42 4e 5f  RST - 6,....RBN_
d770: 44 45 4c 45 54 45 44 42 41 4e 44 20 20 20 3d 20  DELETEDBAND   = 
d780: 52 42 4e 5f 46 49 52 53 54 20 2d 20 37 2c 0d 0a  RBN_FIRST - 7,..
d790: 09 09 52 42 4e 5f 43 48 49 4c 44 53 49 5a 45 20  ..RBN_CHILDSIZE 
d7a0: 20 20 20 20 3d 20 52 42 4e 5f 46 49 52 53 54 20      = RBN_FIRST 
d7b0: 2d 20 38 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d  - 8...}.....enum
d7c0: 20 7b 0d 0a 09 09 52 42 4e 4d 5f 49 44 20 20 20   {....RBNM_ID   
d7d0: 20 20 3d 20 31 2c 0d 0a 09 09 52 42 4e 4d 5f 53    = 1,....RBNM_S
d7e0: 54 59 4c 45 20 20 3d 20 32 2c 0d 0a 09 09 52 42  TYLE  = 2,....RB
d7f0: 4e 4d 5f 4c 50 41 52 41 4d 20 3d 20 34 0d 0a 09  NM_LPARAM = 4...
d800: 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  }.....enum {....
d810: 52 42 48 54 5f 4e 4f 57 48 45 52 45 20 3d 20 31  RBHT_NOWHERE = 1
d820: 2c 0d 0a 09 09 52 42 48 54 5f 43 41 50 54 49 4f  ,....RBHT_CAPTIO
d830: 4e 2c 0d 0a 09 09 52 42 48 54 5f 43 4c 49 45 4e  N,....RBHT_CLIEN
d840: 54 2c 0d 0a 09 09 52 42 48 54 5f 47 52 41 42 42  T,....RBHT_GRABB
d850: 45 52 0d 0a 09 7d 0d 0a 0d 0a 09 76 65 72 73 69  ER...}.....versi
d860: 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a  on (Unicode) {..
d870: 09 09 61 6c 69 61 73 20 53 42 5f 53 45 54 54 49  ..alias SB_SETTI
d880: 50 54 45 58 54 57 20 53 42 5f 53 45 54 54 49 50  PTEXTW SB_SETTIP
d890: 54 45 58 54 3b 0d 0a 09 09 61 6c 69 61 73 20 53  TEXT;....alias S
d8a0: 42 5f 47 45 54 54 49 50 54 45 58 54 57 20 53 42  B_GETTIPTEXTW SB
d8b0: 5f 47 45 54 54 49 50 54 45 58 54 3b 0d 0a 09 09  _GETTIPTEXT;....
d8c0: 61 6c 69 61 73 20 52 42 5f 47 45 54 42 41 4e 44  alias RB_GETBAND
d8d0: 49 4e 46 4f 57 20 52 42 5f 47 45 54 42 41 4e 44  INFOW RB_GETBAND
d8e0: 49 4e 46 4f 3b 0d 0a 09 7d 20 65 6c 73 65 20 7b  INFO;...} else {
d8f0: 0d 0a 09 09 61 6c 69 61 73 20 53 42 5f 53 45 54  ....alias SB_SET
d900: 54 49 50 54 45 58 54 41 20 53 42 5f 53 45 54 54  TIPTEXTA SB_SETT
d910: 49 50 54 45 58 54 3b 0d 0a 09 09 61 6c 69 61 73  IPTEXT;....alias
d920: 20 53 42 5f 47 45 54 54 49 50 54 45 58 54 41 20   SB_GETTIPTEXTA 
d930: 53 42 5f 47 45 54 54 49 50 54 45 58 54 3b 0d 0a  SB_GETTIPTEXT;..
d940: 09 09 61 6c 69 61 73 20 52 42 5f 47 45 54 42 41  ..alias RB_GETBA
d950: 4e 44 49 4e 46 4f 41 20 52 42 5f 47 45 54 42 41  NDINFOA RB_GETBA
d960: 4e 44 49 4e 46 4f 3b 0d 0a 09 7d 0d 0a 7d 20 65  NDINFO;...}..} e
d970: 6c 73 65 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a  lse {...enum {..
d980: 09 09 52 42 5f 47 45 54 42 41 4e 44 49 4e 46 4f  ..RB_GETBANDINFO
d990: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 0d 0a   = WM_USER + 5..
d9a0: 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20  .}..}....static 
d9b0: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
d9c0: 20 30 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75 6d   0x500) {...enum
d9d0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 52 42 5f 50   {..        RB_P
d9e0: 55 53 48 43 48 45 56 52 4f 4e 20 3d 20 57 4d 5f  USHCHEVRON = WM_
d9f0: 55 53 45 52 20 2b 20 34 33 2c 0d 0a 20 20 20 20  USER + 43,..    
da00: 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69  }..}....static i
da10: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
da20: 30 78 36 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20  0x600) {...enum 
da30: 7b 0d 0a 20 20 20 20 20 20 20 20 52 42 5f 53 45  {..        RB_SE
da40: 54 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 3d  TEXTENDEDSTYLE =
da50: 20 57 4d 5f 55 53 45 52 20 2b 20 34 31 2c 0d 0a   WM_USER + 41,..
da60: 20 20 20 20 20 20 20 20 52 42 5f 47 45 54 45 58          RB_GETEX
da70: 54 45 4e 44 45 44 53 54 59 4c 45 20 3d 20 57 4d  TENDEDSTYLE = WM
da80: 5f 55 53 45 52 20 2b 20 34 32 2c 0d 0a 20 20 20  _USER + 42,..   
da90: 20 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20   }..}....static 
daa0: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
dab0: 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a 09 65   >= 0x500) {...e
dac0: 6e 75 6d 20 7b 0d 0a 20 20 20 20 20 20 20 20 52  num {..        R
dad0: 42 5f 53 45 54 42 41 4e 44 57 49 44 54 48 20 3d  B_SETBANDWIDTH =
dae0: 20 57 4d 5f 55 53 45 52 20 2b 20 34 34 2c 0d 0a   WM_USER + 44,..
daf0: 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74      }..}....stat
db00: 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  ic if (_WIN32_WI
db10: 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d  NNT >= 0x501) {.
db20: 0a 09 65 6e 75 6d 20 7b 0d 0a 20 20 20 20 20 20  ..enum {..      
db30: 20 20 45 43 4d 5f 46 49 52 53 54 20 3d 20 30 78    ECM_FIRST = 0x
db40: 31 35 30 30 2c 0d 0a 20 20 20 20 20 20 20 20 42  1500,..        B
db50: 43 4d 5f 46 49 52 53 54 20 3d 20 30 78 31 36 30  CM_FIRST = 0x160
db60: 30 2c 0d 0a 0d 0a 20 20 20 20 20 20 20 20 42 43  0,....        BC
db70: 4d 5f 47 45 54 49 44 45 41 4c 53 49 5a 45 20 3d  M_GETIDEALSIZE =
db80: 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78 30   BCM_FIRST + 0x0
db90: 30 30 31 2c 0d 0a 20 20 20 20 20 20 20 20 42 43  001,..        BC
dba0: 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 20 3d  M_SETIMAGELIST =
dbb0: 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78 30   BCM_FIRST + 0x0
dbc0: 30 30 32 2c 0d 0a 20 20 20 20 20 20 20 20 42 43  002,..        BC
dbd0: 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 20 3d  M_GETIMAGELIST =
dbe0: 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78 30   BCM_FIRST + 0x0
dbf0: 30 30 33 2c 0d 0a 20 20 20 20 20 20 20 20 42 43  003,..        BC
dc00: 4d 5f 53 45 54 54 45 58 54 4d 41 52 47 49 4e 20  M_SETTEXTMARGIN 
dc10: 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78  = BCM_FIRST + 0x
dc20: 30 30 30 34 2c 0d 0a 20 20 20 20 20 20 20 20 42  0004,..        B
dc30: 43 4d 5f 47 45 54 54 45 58 54 4d 41 52 47 49 4e  CM_GETTEXTMARGIN
dc40: 20 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30   = BCM_FIRST + 0
dc50: 78 30 30 30 35 2c 0d 0a 0d 0a 20 20 20 20 20 20  x0005,....      
dc60: 20 20 42 43 4e 5f 48 4f 54 49 54 45 4d 43 48 41    BCN_HOTITEMCHA
dc70: 4e 47 45 20 3d 20 42 43 4e 5f 46 49 52 53 54 20  NGE = BCN_FIRST 
dc80: 2b 20 30 78 30 30 30 31 2c 0d 0a 20 20 20 20 7d  + 0x0001,..    }
dc90: 0d 0a 0d 0a 20 20 20 20 73 74 72 75 63 74 20 4e  ....    struct N
dca0: 4d 42 43 48 4f 54 49 54 45 4d 20 7b 0d 0a 20 20  MBCHOTITEM {..  
dcb0: 20 20 20 20 20 20 4e 4d 48 44 52 20 68 64 72 3b        NMHDR hdr;
dcc0: 0d 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44 20  ..        DWORD 
dcd0: 64 77 46 6c 61 67 73 3b 0d 0a 20 20 20 20 7d 0d  dwFlags;..    }.
dce0: 0a 20 20 20 20 61 6c 69 61 73 20 4e 4d 42 43 48  .    alias NMBCH
dcf0: 4f 54 49 54 45 4d 2a 20 4c 50 4e 4d 42 43 48 4f  OTITEM* LPNMBCHO
dd00: 54 49 54 45 4d 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61  TITEM;..}....sta
dd10: 74 69 63 20 69 66 28 5f 57 49 4e 33 32 5f 57 49  tic if(_WIN32_WI
dd20: 4e 4e 54 20 3e 3d 20 30 78 36 30 30 29 20 7b 0d  NNT >= 0x600) {.
dd30: 0a 20 20 20 20 65 6e 75 6d 20 7b 0d 0a 20 20 20  .    enum {..   
dd40: 20 20 20 20 20 42 53 54 5f 44 52 4f 50 44 4f 57       BST_DROPDOW
dd50: 4e 50 55 53 48 45 44 20 20 20 20 20 20 3d 20 30  NPUSHED      = 0
dd60: 78 30 34 30 30 2c 0d 0a 0d 0a 20 20 20 20 20 20  x0400,....      
dd70: 20 20 42 53 5f 53 50 4c 49 54 42 55 54 54 4f 4e    BS_SPLITBUTTON
dd80: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
dd90: 30 30 5f 30 30 30 43 2c 0d 0a 20 20 20 20 20 20  00_000C,..      
dda0: 20 20 42 53 5f 44 45 46 53 50 4c 49 54 42 55 54    BS_DEFSPLITBUT
ddb0: 54 4f 4e 20 20 20 20 20 20 20 3d 20 30 78 30 30  TON       = 0x00
ddc0: 30 30 5f 30 30 30 44 2c 0d 0a 20 20 20 20 20 20  00_000D,..      
ddd0: 20 20 42 53 5f 43 4f 4d 4d 41 4e 44 4c 49 4e 4b    BS_COMMANDLINK
dde0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
ddf0: 30 30 5f 30 30 30 45 2c 0d 0a 20 20 20 20 20 20  00_000E,..      
de00: 20 20 42 53 5f 44 45 46 43 4f 4d 4d 41 4e 44 4c    BS_DEFCOMMANDL
de10: 49 4e 4b 20 20 20 20 20 20 20 3d 20 30 78 30 30  INK       = 0x00
de20: 30 30 5f 30 30 30 46 2c 0d 0a 0d 0a 20 20 20 20  00_000F,....    
de30: 20 20 20 20 42 43 53 49 46 5f 47 4c 59 50 48 20      BCSIF_GLYPH 
de40: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
de50: 30 30 30 31 2c 0d 0a 20 20 20 20 20 20 20 20 42  0001,..        B
de60: 43 53 49 46 5f 49 4d 41 47 45 20 20 20 20 20 20  CSIF_IMAGE      
de70: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 32 2c         = 0x0002,
de80: 0d 0a 20 20 20 20 20 20 20 20 42 43 53 49 46 5f  ..        BCSIF_
de90: 53 54 59 4c 45 20 20 20 20 20 20 20 20 20 20 20  STYLE           
dea0: 20 20 3d 20 30 78 30 30 30 34 2c 0d 0a 20 20 20    = 0x0004,..   
deb0: 20 20 20 20 20 42 43 53 49 46 5f 53 49 5a 45 20       BCSIF_SIZE 
dec0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30               = 0
ded0: 78 30 30 30 38 2c 0d 0a 0d 0a 20 20 20 20 20 20  x0008,....      
dee0: 20 20 42 43 53 53 5f 4e 4f 53 50 4c 49 54 20 20    BCSS_NOSPLIT  
def0: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30            = 0x00
df00: 30 31 2c 0d 0a 20 20 20 20 20 20 20 20 42 43 53  01,..        BCS
df10: 53 5f 53 54 52 45 54 43 48 20 20 20 20 20 20 20  S_STRETCH       
df20: 20 20 20 20 20 3d 20 30 78 30 30 30 32 2c 0d 0a       = 0x0002,..
df30: 20 20 20 20 20 20 20 20 42 43 53 53 5f 41 4c 49          BCSS_ALI
df40: 47 4e 4c 45 46 54 20 20 20 20 20 20 20 20 20 20  GNLEFT          
df50: 3d 20 30 78 30 30 30 34 2c 0d 0a 20 20 20 20 20  = 0x0004,..     
df60: 20 20 20 42 43 53 53 5f 49 4d 41 47 45 20 20 20     BCSS_IMAGE   
df70: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30             = 0x0
df80: 30 30 38 2c 0d 0a 0d 0a 20 20 20 20 20 20 20 20  008,....        
df90: 42 43 4d 5f 53 45 54 44 52 4f 50 44 4f 57 4e 53  BCM_SETDROPDOWNS
dfa0: 54 41 54 45 20 3d 20 42 43 4d 5f 46 49 52 53 54  TATE = BCM_FIRST
dfb0: 20 2b 20 30 78 30 30 30 36 2c 0d 0a 20 20 20 20   + 0x0006,..    
dfc0: 20 20 20 20 42 43 4d 5f 53 45 54 53 50 4c 49 54      BCM_SETSPLIT
dfd0: 49 4e 46 4f 20 3d 20 42 43 4d 5f 46 49 52 53 54  INFO = BCM_FIRST
dfe0: 20 2b 20 30 78 30 30 30 37 2c 0d 0a 20 20 20 20   + 0x0007,..    
dff0: 20 20 20 20 42 43 4d 5f 47 45 54 53 50 4c 49 54      BCM_GETSPLIT
e000: 49 4e 46 4f 20 3d 20 42 43 4d 5f 46 49 52 53 54  INFO = BCM_FIRST
e010: 20 2b 20 30 78 30 30 30 38 2c 0d 0a 20 20 20 20   + 0x0008,..    
e020: 20 20 20 20 42 43 4d 5f 53 45 54 4e 4f 54 45 20      BCM_SETNOTE 
e030: 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78  = BCM_FIRST + 0x
e040: 30 30 30 39 2c 0d 0a 20 20 20 20 20 20 20 20 42  0009,..        B
e050: 43 4d 5f 47 45 54 4e 4f 54 45 20 3d 20 42 43 4d  CM_GETNOTE = BCM
e060: 5f 46 49 52 53 54 20 2b 20 30 78 30 30 30 41 2c  _FIRST + 0x000A,
e070: 0d 0a 20 20 20 20 20 20 20 20 42 43 4d 5f 47 45  ..        BCM_GE
e080: 54 4e 4f 54 45 4c 45 4e 47 54 48 20 3d 20 42 43  TNOTELENGTH = BC
e090: 4d 5f 46 49 52 53 54 20 2b 20 30 78 30 30 30 42  M_FIRST + 0x000B
e0a0: 2c 0d 0a 20 20 20 20 20 20 20 20 42 43 4d 5f 53  ,..        BCM_S
e0b0: 45 54 53 48 49 45 4c 44 20 3d 20 42 43 4d 5f 46  ETSHIELD = BCM_F
e0c0: 49 52 53 54 20 2b 20 30 78 30 30 30 43 2c 0d 0a  IRST + 0x000C,..
e0d0: 0d 0a 20 20 20 20 20 20 20 20 42 43 4e 5f 44 52  ..        BCN_DR
e0e0: 4f 50 44 4f 57 4e 20 3d 20 42 43 4e 5f 46 49 52  OPDOWN = BCN_FIR
e0f0: 53 54 20 2b 20 30 78 30 30 30 32 2c 0d 0a 20 20  ST + 0x0002,..  
e100: 20 20 7d 0d 0a 0d 0a 20 20 20 20 63 6f 6e 73 74    }....    const
e110: 20 48 49 4d 41 47 45 4c 49 53 54 20 42 43 43 4c   HIMAGELIST BCCL
e120: 5f 4e 4f 47 4c 59 50 48 20 3d 20 63 61 73 74 28  _NOGLYPH = cast(
e130: 48 49 4d 41 47 45 4c 49 53 54 29 2d 31 3b 0d 0a  HIMAGELIST)-1;..
e140: 0d 0a 20 20 20 20 73 74 72 75 63 74 20 42 55 54  ..    struct BUT
e150: 54 4f 4e 5f 53 50 4c 49 54 49 4e 46 4f 0d 0a 20  TON_SPLITINFO.. 
e160: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 55 49     {..        UI
e170: 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 20 20 20 20  NT mask;..      
e180: 20 20 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d    HIMAGELIST him
e190: 6c 47 6c 79 70 68 3b 0d 0a 20 20 20 20 20 20 20  lGlyph;..       
e1a0: 20 55 49 4e 54 20 75 53 70 6c 69 74 53 74 79 6c   UINT uSplitStyl
e1b0: 65 3b 0d 0a 20 20 20 20 20 20 20 20 53 49 5a 45  e;..        SIZE
e1c0: 20 73 69 7a 65 3b 0d 0a 20 20 20 20 7d 0d 0a 20   size;..    }.. 
e1d0: 20 20 20 61 6c 69 61 73 20 42 55 54 54 4f 4e 5f     alias BUTTON_
e1e0: 53 50 4c 49 54 49 4e 46 4f 2a 20 50 42 55 54 54  SPLITINFO* PBUTT
e1f0: 4f 4e 5f 53 50 4c 49 54 49 4e 46 4f 3b 0d 0a 7d  ON_SPLITINFO;..}
e200: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 43 42 45  ....enum {...CBE
e210: 4d 5f 49 4e 53 45 52 54 49 54 45 4d 41 20 3d 20  M_INSERTITEMA = 
e220: 57 4d 5f 55 53 45 52 20 2b 20 31 2c 0d 0a 09 43  WM_USER + 1,...C
e230: 42 45 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54  BEM_SETIMAGELIST
e240: 2c 0d 0a 09 43 42 45 4d 5f 47 45 54 49 4d 41 47  ,...CBEM_GETIMAG
e250: 45 4c 49 53 54 2c 0d 0a 09 43 42 45 4d 5f 47 45  ELIST,...CBEM_GE
e260: 54 49 54 45 4d 41 2c 0d 0a 09 43 42 45 4d 5f 53  TITEMA,...CBEM_S
e270: 45 54 49 54 45 4d 41 2c 0d 0a 09 43 42 45 4d 5f  ETITEMA,...CBEM_
e280: 47 45 54 43 4f 4d 42 4f 43 4f 4e 54 52 4f 4c 2c  GETCOMBOCONTROL,
e290: 0d 0a 09 43 42 45 4d 5f 47 45 54 45 44 49 54 43  ...CBEM_GETEDITC
e2a0: 4f 4e 54 52 4f 4c 2c 0d 0a 09 43 42 45 4d 5f 53  ONTROL,...CBEM_S
e2b0: 45 54 45 58 53 54 59 4c 45 2c 0d 0a 09 43 42 45  ETEXSTYLE,...CBE
e2c0: 4d 5f 47 45 54 45 58 53 54 59 4c 45 2c 20 2f 2f  M_GETEXSTYLE, //
e2d0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39 29 0d   = WM_USER + 9).
e2e0: 0a 09 43 42 45 4d 5f 44 45 4c 45 54 45 49 54 45  ..CBEM_DELETEITE
e2f0: 4d 20 20 3d 20 43 42 5f 44 45 4c 45 54 45 53 54  M  = CB_DELETEST
e300: 52 49 4e 47 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69  RING..}....stati
e310: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20  c if (_WIN32_IE 
e320: 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 65 6e  >= 0x400) {...en
e330: 75 6d 20 7b 0d 0a 09 09 43 42 45 4d 5f 53 45 54  um {....CBEM_SET
e340: 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 3d 20  EXTENDEDSTYLE = 
e350: 57 4d 5f 55 53 45 52 20 2b 20 31 34 2c 0d 0a 09  WM_USER + 14,...
e360: 09 43 42 45 4d 5f 47 45 54 45 58 54 45 4e 44 45  .CBEM_GETEXTENDE
e370: 44 53 54 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52  DSTYLE = WM_USER
e380: 20 2b 20 39 2c 0d 0a 09 09 43 42 45 4d 5f 53 45   + 9,....CBEM_SE
e390: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d  TUNICODEFORMAT =
e3a0: 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46   CCM_SETUNICODEF
e3b0: 4f 52 4d 41 54 2c 0d 0a 09 09 43 42 45 4d 5f 47  ORMAT,....CBEM_G
e3c0: 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20  ETUNICODEFORMAT 
e3d0: 3d 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45  = CCM_GETUNICODE
e3e0: 46 4f 52 4d 41 54 0d 0a 09 7d 0d 0a 7d 0d 0a 0d  FORMAT...}..}...
e3f0: 0a 65 6e 75 6d 20 7b 0d 0a 09 43 42 45 4d 5f 48  .enum {...CBEM_H
e400: 41 53 45 44 49 54 43 48 41 4e 47 45 44 20 3d 20  ASEDITCHANGED = 
e410: 57 4d 5f 55 53 45 52 20 2b 20 31 30 2c 0d 0a 09  WM_USER + 10,...
e420: 43 42 45 4d 5f 49 4e 53 45 52 54 49 54 45 4d 57  CBEM_INSERTITEMW
e430: 20 20 20 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20      = WM_USER + 
e440: 31 31 2c 0d 0a 09 43 42 45 4d 5f 53 45 54 49 54  11,...CBEM_SETIT
e450: 45 4d 57 20 20 20 20 20 20 20 3d 20 57 4d 5f 55  EMW       = WM_U
e460: 53 45 52 20 2b 20 31 32 2c 0d 0a 09 43 42 45 4d  SER + 12,...CBEM
e470: 5f 47 45 54 49 54 45 4d 57 20 20 20 20 20 20 20  _GETITEMW       
e480: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 0d 0a  = WM_USER + 13..
e490: 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  }....static if (
e4a0: 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
e4b0: 30 78 35 30 31 29 0d 0a 7b 0d 0a 20 20 20 20 65  0x501)..{..    e
e4c0: 6e 75 6d 20 7b 0d 0a 20 20 20 20 20 20 20 20 43  num {..        C
e4d0: 42 45 4d 5f 53 45 54 57 49 4e 44 4f 57 54 48 45  BEM_SETWINDOWTHE
e4e0: 4d 45 20 3d 20 43 43 4d 5f 53 45 54 57 49 4e 44  ME = CCM_SETWIND
e4f0: 4f 57 54 48 45 4d 45 0d 0a 20 20 20 20 7d 0d 0a  OWTHEME..    }..
e500: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 44 41  }....enum {...DA
e510: 5f 4c 41 53 54 20 3d 20 30 78 37 66 66 66 66 66  _LAST = 0x7fffff
e520: 66 66 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d  ff..}....enum {.
e530: 0a 09 44 50 41 5f 41 50 50 45 4e 44 20 3d 20 30  ..DPA_APPEND = 0
e540: 78 37 66 66 66 66 66 66 66 2c 0d 0a 09 44 50 41  x7fffffff,...DPA
e550: 5f 45 52 52 20 20 20 20 3d 20 2d 31 0d 0a 7d 0d  _ERR    = -1..}.
e560: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 44 53 41 5f  ...enum {...DSA_
e570: 41 50 50 45 4e 44 20 3d 20 30 78 37 66 66 66 66  APPEND = 0x7ffff
e580: 66 66 66 2c 0d 0a 09 44 53 41 5f 45 52 52 20 20  fff,...DSA_ERR  
e590: 20 20 3d 20 2d 31 0d 0a 7d 0d 0a 0d 0a 65 6e 75    = -1..}....enu
e5a0: 6d 20 7b 0d 0a 09 44 50 41 53 5f 53 4f 52 54 45  m {...DPAS_SORTE
e5b0: 44 20 20 20 20 20 20 20 3d 20 31 2c 0d 0a 09 44  D       = 1,...D
e5c0: 50 41 53 5f 49 4e 53 45 52 54 42 45 46 4f 52 45  PAS_INSERTBEFORE
e5d0: 20 3d 20 32 2c 0d 0a 09 44 50 41 53 5f 49 4e 53   = 2,...DPAS_INS
e5e0: 45 52 54 41 46 54 45 52 20 20 3d 20 34 0d 0a 7d  ERTAFTER  = 4..}
e5f0: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
e600: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30  WIN32_IE >= 0x40
e610: 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09  0) {...enum {...
e620: 09 57 53 42 5f 50 52 4f 50 5f 43 59 56 53 43 52  .WSB_PROP_CYVSCR
e630: 4f 4c 4c 20 3d 20 31 2c 0d 0a 09 09 57 53 42 5f  OLL = 1,....WSB_
e640: 50 52 4f 50 5f 43 58 48 53 43 52 4f 4c 4c 20 3d  PROP_CXHSCROLL =
e650: 20 32 2c 0d 0a 09 09 57 53 42 5f 50 52 4f 50 5f   2,....WSB_PROP_
e660: 43 59 48 53 43 52 4f 4c 4c 20 3d 20 34 2c 0d 0a  CYHSCROLL = 4,..
e670: 09 09 57 53 42 5f 50 52 4f 50 5f 43 58 56 53 43  ..WSB_PROP_CXVSC
e680: 52 4f 4c 4c 20 3d 20 38 2c 0d 0a 09 09 57 53 42  ROLL = 8,....WSB
e690: 5f 50 52 4f 50 5f 43 58 48 54 48 55 4d 42 20 20  _PROP_CXHTHUMB  
e6a0: 3d 20 31 36 2c 0d 0a 09 09 57 53 42 5f 50 52 4f  = 16,....WSB_PRO
e6b0: 50 5f 43 59 56 54 48 55 4d 42 20 20 3d 20 33 32  P_CYVTHUMB  = 32
e6c0: 2c 0d 0a 09 09 57 53 42 5f 50 52 4f 50 5f 56 42  ,....WSB_PROP_VB
e6d0: 4b 47 43 4f 4c 4f 52 20 3d 20 36 34 2c 0d 0a 09  KGCOLOR = 64,...
e6e0: 09 57 53 42 5f 50 52 4f 50 5f 48 42 4b 47 43 4f  .WSB_PROP_HBKGCO
e6f0: 4c 4f 52 20 3d 20 31 32 38 2c 0d 0a 09 09 57 53  LOR = 128,....WS
e700: 42 5f 50 52 4f 50 5f 56 53 54 59 4c 45 20 20 20  B_PROP_VSTYLE   
e710: 20 3d 20 32 35 36 2c 0d 0a 09 09 57 53 42 5f 50   = 256,....WSB_P
e720: 52 4f 50 5f 48 53 54 59 4c 45 20 20 20 20 3d 20  ROP_HSTYLE    = 
e730: 35 31 32 2c 0d 0a 09 09 57 53 42 5f 50 52 4f 50  512,....WSB_PROP
e740: 5f 57 49 4e 53 54 59 4c 45 20 20 3d 20 31 30 32  _WINSTYLE  = 102
e750: 34 2c 0d 0a 09 09 57 53 42 5f 50 52 4f 50 5f 50  4,....WSB_PROP_P
e760: 41 4c 45 54 54 45 20 20 20 3d 20 32 30 34 38 2c  ALETTE   = 2048,
e770: 0d 0a 09 09 57 53 42 5f 50 52 4f 50 5f 4d 41 53  ....WSB_PROP_MAS
e780: 4b 20 20 20 20 20 20 3d 20 30 78 66 66 66 2c 0d  K      = 0xfff,.
e790: 0a 09 09 46 53 42 5f 46 4c 41 54 5f 4d 4f 44 45  ...FSB_FLAT_MODE
e7a0: 20 20 20 20 20 20 3d 20 32 2c 0d 0a 09 09 46 53        = 2,....FS
e7b0: 42 5f 45 4e 43 41 52 54 41 5f 4d 4f 44 45 20 20  B_ENCARTA_MODE  
e7c0: 20 3d 20 31 2c 0d 0a 09 09 46 53 42 5f 52 45 47   = 1,....FSB_REG
e7d0: 55 4c 41 52 5f 4d 4f 44 45 20 20 20 3d 20 30 0d  ULAR_MODE   = 0.
e7e0: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63  ..}..}....static
e7f0: 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
e800: 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a 09  T >= 0x501) {...
e810: 65 6e 75 6d 20 7b 0d 0a 09 09 4c 49 46 5f 49 54  enum {....LIF_IT
e820: 45 4d 49 4e 44 45 58 20 3d 20 31 2c 0d 0a 09 09  EMINDEX = 1,....
e830: 4c 49 46 5f 53 54 41 54 45 20 20 20 20 20 3d 20  LIF_STATE     = 
e840: 32 2c 0d 0a 09 09 4c 49 46 5f 49 54 45 4d 49 44  2,....LIF_ITEMID
e850: 20 20 20 20 3d 20 34 2c 0d 0a 09 09 4c 49 46 5f      = 4,....LIF_
e860: 55 52 4c 09 20 20 20 20 20 20 3d 20 38 0d 0a 09  URL.      = 8...
e870: 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09  }.....enum {....
e880: 4c 49 53 5f 46 4f 43 55 53 45 44 20 3d 20 31 2c  LIS_FOCUSED = 1,
e890: 0d 0a 09 09 4c 49 53 5f 45 4e 41 42 4c 45 44 20  ....LIS_ENABLED 
e8a0: 3d 20 32 2c 0d 0a 09 09 4c 49 53 5f 56 49 53 49  = 2,....LIS_VISI
e8b0: 54 45 44 20 3d 20 34 0d 0a 09 7d 0d 0a 0d 0a 09  TED = 4...}.....
e8c0: 65 6e 75 6d 20 7b 0d 0a 09 09 4c 4d 5f 48 49 54  enum {....LM_HIT
e8d0: 54 45 53 54 20 20 20 20 20 20 20 20 3d 20 57 4d  TEST        = WM
e8e0: 5f 55 53 45 52 20 2b 20 37 36 38 2c 0d 0a 09 09  _USER + 768,....
e8f0: 4c 4d 5f 47 45 54 49 44 45 41 4c 48 45 49 47 48  LM_GETIDEALHEIGH
e900: 54 2c 0d 0a 09 09 4c 4d 5f 53 45 54 49 54 45 4d  T,....LM_SETITEM
e910: 2c 0d 0a 09 09 4c 4d 5f 47 45 54 49 54 45 4d 2c  ,....LM_GETITEM,
e920: 20 20 20 20 20 2f 2f 20 3d 20 57 4d 5f 55 53 45       // = WM_USE
e930: 52 20 2b 20 37 37 31 0d 0a 20 20 20 20 20 20 20  R + 771..       
e940: 20 4c 4d 5f 47 45 54 49 44 45 41 4c 53 49 5a 45   LM_GETIDEALSIZE
e950: 20 3d 20 4c 4d 5f 47 45 54 49 44 45 41 4c 48 45   = LM_GETIDEALHE
e960: 49 47 48 54 2c 0d 0a 09 7d 0d 0a 0d 0a 09 63 6f  IGHT,...}.....co
e970: 6e 73 74 20 73 69 7a 65 5f 74 20 4d 41 58 5f 4c  nst size_t MAX_L
e980: 49 4e 4b 49 44 5f 54 45 58 54 20 20 3d 20 20 20  INKID_TEXT  =   
e990: 34 38 3b 0d 0a 09 63 6f 6e 73 74 20 73 69 7a 65  48;...const size
e9a0: 5f 74 20 4c 5f 4d 41 58 5f 55 52 4c 5f 4c 45 4e  _t L_MAX_URL_LEN
e9b0: 47 54 48 20 3d 20 32 30 38 34 3b 0d 0a 7d 0d 0a  GTH = 2084;..}..
e9c0: 0d 0a 0d 0a 73 74 72 75 63 74 20 54 42 4d 45 54  ....struct TBMET
e9d0: 52 49 43 53 20 7b 0d 0a 20 20 20 20 55 49 4e 54  RICS {..    UINT
e9e0: 20 20 63 62 53 69 7a 65 20 3d 20 54 42 4d 45 54    cbSize = TBMET
e9f0: 52 49 43 53 2e 73 69 7a 65 6f 66 3b 0d 0a 20 20  RICS.sizeof;..  
ea00: 20 20 44 57 4f 52 44 20 64 77 4d 61 73 6b 3b 0d    DWORD dwMask;.
ea10: 0a 20 20 20 20 69 6e 74 20 20 20 63 78 50 61 64  .    int   cxPad
ea20: 3b 0d 0a 20 20 20 20 69 6e 74 20 20 20 63 79 50  ;..    int   cyP
ea30: 61 64 3b 0d 0a 20 20 20 20 69 6e 74 20 20 20 63  ad;..    int   c
ea40: 78 42 61 72 50 61 64 3b 0d 0a 20 20 20 20 69 6e  xBarPad;..    in
ea50: 74 20 20 20 63 79 42 61 72 50 61 64 3b 0d 0a 20  t   cyBarPad;.. 
ea60: 20 20 20 69 6e 74 20 20 20 63 78 42 75 74 74 6f     int   cxButto
ea70: 6e 53 70 61 63 69 6e 67 3b 0d 0a 20 20 20 20 69  nSpacing;..    i
ea80: 6e 74 20 20 20 63 79 42 75 74 74 6f 6e 53 70 61  nt   cyButtonSpa
ea90: 63 69 6e 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  cing;..}..alias 
eaa0: 54 42 4d 45 54 52 49 43 53 2a 20 4c 50 54 42 4d  TBMETRICS* LPTBM
eab0: 45 54 52 49 43 53 3b 0d 0a 0d 0a 73 74 61 74 69  ETRICS;....stati
eac0: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e  c if (_WIN32_WIN
ead0: 4e 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a  NT >= 0x501) {..
eae0: 20 20 20 20 73 74 72 75 63 74 20 54 54 47 45 54      struct TTGET
eaf0: 54 49 54 4c 45 20 7b 0d 0a 20 20 20 20 20 20 20  TITLE {..       
eb00: 20 44 57 4f 52 44 20 64 77 53 69 7a 65 20 3d 20   DWORD dwSize = 
eb10: 54 54 47 45 54 54 49 54 4c 45 2e 73 69 7a 65 6f  TTGETTITLE.sizeo
eb20: 66 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54  f;..        UINT
eb30: 20 20 75 54 69 74 6c 65 42 69 74 6d 61 70 3b 0d    uTitleBitmap;.
eb40: 0a 20 20 20 20 20 20 20 20 55 49 4e 54 20 20 63  .        UINT  c
eb50: 63 68 3b 0d 0a 20 20 20 20 20 20 20 20 57 43 48  ch;..        WCH
eb60: 41 52 2a 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20  AR* pszTitle;.. 
eb70: 20 20 20 7d 0d 0a 20 20 20 20 61 6c 69 61 73 20     }..    alias 
eb80: 54 54 47 45 54 54 49 54 4c 45 2a 20 50 54 54 47  TTGETTITLE* PTTG
eb90: 45 54 54 49 54 4c 45 3b 0d 0a 7d 0d 0a 0d 0a 73  ETTITLE;..}....s
eba0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
ebb0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 36 30 30 29  _WINNT >= 0x600)
ebc0: 20 7b 0d 0a 20 20 20 20 73 74 72 75 63 74 20 4d   {..    struct M
ebd0: 43 47 52 49 44 49 4e 46 4f 20 7b 0d 0a 20 20 20  CGRIDINFO {..   
ebe0: 20 20 20 20 20 55 49 4e 54 20 63 62 53 69 7a 65       UINT cbSize
ebf0: 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f 52 44  ;..        DWORD
ec00: 20 64 77 50 61 72 74 3b 0d 0a 20 20 20 20 20 20   dwPart;..      
ec10: 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
ec20: 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20 69 43  ..        int iC
ec30: 61 6c 65 6e 64 61 72 3b 0d 0a 20 20 20 20 20 20  alendar;..      
ec40: 20 20 69 6e 74 20 69 52 6f 77 3b 0d 0a 20 20 20    int iRow;..   
ec50: 20 20 20 20 20 69 6e 74 20 69 43 6f 6c 3b 0d 0a       int iCol;..
ec60: 20 20 20 20 20 20 20 20 42 4f 4f 4c 20 62 53 65          BOOL bSe
ec70: 6c 65 63 74 65 64 3b 0d 0a 20 20 20 20 20 20 20  lected;..       
ec80: 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 53 74   SYSTEMTIME stSt
ec90: 61 72 74 3b 0d 0a 20 20 20 20 20 20 20 20 53 59  art;..        SY
eca0: 53 54 45 4d 54 49 4d 45 20 73 74 45 6e 64 3b 0d  STEMTIME stEnd;.
ecb0: 0a 20 20 20 20 20 20 20 20 52 45 43 54 20 72 63  .        RECT rc
ecc0: 3b 0d 0a 20 20 20 20 20 20 20 20 50 57 53 54 52  ;..        PWSTR
ecd0: 20 70 73 7a 4e 61 6d 65 3b 0d 0a 20 20 20 20 20   pszName;..     
ece0: 20 20 20 73 69 7a 65 5f 74 20 63 63 68 4e 61 6d     size_t cchNam
ecf0: 65 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 61  e;..    }..    a
ed00: 6c 69 61 73 20 4d 43 47 52 49 44 49 4e 46 4f 2a  lias MCGRIDINFO*
ed10: 20 50 4d 43 47 52 49 44 49 4e 46 4f 3b 0d 0a 0d   PMCGRIDINFO;...
ed20: 0a 20 20 20 20 73 74 72 75 63 74 20 44 41 54 45  .    struct DATE
ed30: 54 49 4d 45 50 49 43 4b 45 52 49 4e 46 4f 0d 0a  TIMEPICKERINFO..
ed40: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 44      {..        D
ed50: 57 4f 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20  WORD cbSize;..  
ed60: 20 20 20 20 20 20 52 45 43 54 20 72 63 43 68 65        RECT rcChe
ed70: 63 6b 3b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f  ck;..        DWO
ed80: 52 44 20 73 74 61 74 65 43 68 65 63 6b 3b 0d 0a  RD stateCheck;..
ed90: 20 20 20 20 20 20 20 20 52 45 43 54 20 72 63 42          RECT rcB
eda0: 75 74 74 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20  utton;..        
edb0: 44 57 4f 52 44 20 73 74 61 74 65 42 75 74 74 6f  DWORD stateButto
edc0: 6e 3b 0d 0a 20 20 20 20 20 20 20 20 48 57 4e 44  n;..        HWND
edd0: 20 68 77 6e 64 45 64 69 74 3b 0d 0a 20 20 20 20   hwndEdit;..    
ede0: 20 20 20 20 48 57 4e 44 20 68 77 6e 64 55 44 3b      HWND hwndUD;
edf0: 0d 0a 20 20 20 20 20 20 20 20 48 57 4e 44 20 68  ..        HWND h
ee00: 77 6e 64 44 72 6f 70 44 6f 77 6e 3b 0d 0a 20 20  wndDropDown;..  
ee10: 20 20 7d 0d 0a 20 20 20 20 61 6c 69 61 73 20 44    }..    alias D
ee20: 41 54 45 54 49 4d 45 50 49 43 4b 45 52 49 4e 46  ATETIMEPICKERINF
ee30: 4f 2a 20 4c 50 44 41 54 45 54 49 4d 45 50 49 43  O* LPDATETIMEPIC
ee40: 4b 45 52 49 4e 46 4f 3b 0d 0a 7d 0d 0a 0d 0a 73  KERINFO;..}....s
ee50: 74 72 75 63 74 20 43 4f 4d 42 4f 42 4f 58 45 58  truct COMBOBOXEX
ee60: 49 54 45 4d 41 20 7b 0d 0a 09 55 49 4e 54 20 20  ITEMA {...UINT  
ee70: 20 6d 61 73 6b 3b 0d 0a 09 49 4e 54 5f 50 54 52   mask;...INT_PTR
ee80: 20 69 49 74 65 6d 3b 0d 0a 09 4c 50 53 54 52 20   iItem;...LPSTR 
ee90: 20 70 73 7a 54 65 78 74 3b 0d 0a 09 69 6e 74 20   pszText;...int 
eea0: 20 20 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a     cchTextMax;..
eeb0: 09 69 6e 74 20 20 20 20 69 49 6d 61 67 65 3b 0d  .int    iImage;.
eec0: 0a 09 69 6e 74 20 20 20 20 69 53 65 6c 65 63 74  ..int    iSelect
eed0: 65 64 49 6d 61 67 65 3b 0d 0a 09 69 6e 74 20 20  edImage;...int  
eee0: 20 20 69 4f 76 65 72 6c 61 79 3b 0d 0a 09 69 6e    iOverlay;...in
eef0: 74 20 20 20 20 69 49 6e 64 65 6e 74 3b 0d 0a 09  t    iIndent;...
ef00: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
ef10: 7d 0d 0a 61 6c 69 61 73 20 43 4f 4d 42 4f 42 4f  }..alias COMBOBO
ef20: 58 45 58 49 54 45 4d 41 2a 20 20 20 20 20 20 20  XEXITEMA*       
ef30: 20 50 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d   PCOMBOBOXEXITEM
ef40: 41 3b 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28  A;..alias const(
ef50: 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 29  COMBOBOXEXITEMA)
ef60: 2a 20 50 43 43 4f 4d 42 4f 45 58 49 54 45 4d 41  * PCCOMBOEXITEMA
ef70: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 43 4f 4d 42  ;....struct COMB
ef80: 4f 42 4f 58 45 58 49 54 45 4d 57 20 7b 0d 0a 09  OBOXEXITEMW {...
ef90: 55 49 4e 54 20 20 20 6d 61 73 6b 3b 0d 0a 09 49  UINT   mask;...I
efa0: 4e 54 5f 50 54 52 20 69 49 74 65 6d 3b 0d 0a 09  NT_PTR iItem;...
efb0: 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d  LPWSTR pszText;.
efc0: 0a 09 69 6e 74 20 20 20 20 63 63 68 54 65 78 74  ..int    cchText
efd0: 4d 61 78 3b 0d 0a 09 69 6e 74 20 20 20 20 69 49  Max;...int    iI
efe0: 6d 61 67 65 3b 0d 0a 09 69 6e 74 20 20 20 20 69  mage;...int    i
eff0: 53 65 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a  SelectedImage;..
f000: 09 69 6e 74 20 20 20 20 69 4f 76 65 72 6c 61 79  .int    iOverlay
f010: 3b 0d 0a 09 69 6e 74 20 20 20 20 69 49 6e 64 65  ;...int    iInde
f020: 6e 74 3b 0d 0a 09 4c 50 41 52 41 4d 20 6c 50 61  nt;...LPARAM lPa
f030: 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 43  ram;..}..alias C
f040: 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 2a 20  OMBOBOXEXITEMW* 
f050: 20 20 20 20 20 20 20 50 43 4f 4d 42 4f 42 4f 58         PCOMBOBOX
f060: 45 58 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20  EXITEMW;..alias 
f070: 63 6f 6e 73 74 28 43 4f 4d 42 4f 42 4f 58 45 58  const(COMBOBOXEX
f080: 49 54 45 4d 57 29 2a 20 50 43 43 4f 4d 42 4f 45  ITEMW)* PCCOMBOE
f090: 58 49 54 45 4d 57 3b 0d 0a 0d 0a 73 74 61 74 69  XITEMW;....stati
f0a0: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20  c if (_WIN32_IE 
f0b0: 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 73 74  >= 0x400) {...st
f0c0: 72 75 63 74 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45  ruct NMCOMBOBOXE
f0d0: 58 41 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20  XA {....NMHDR   
f0e0: 20 20 20 20 20 20 20 20 68 64 72 3b 0d 0a 09 09          hdr;....
f0f0: 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 20  COMBOBOXEXITEMA 
f100: 63 65 49 74 65 6d 3b 0d 0a 09 7d 0d 0a 09 61 6c  ceItem;...}...al
f110: 69 61 73 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58  ias NMCOMBOBOXEX
f120: 41 2a 20 50 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58  A* PNMCOMBOBOXEX
f130: 41 3b 0d 0a 0d 0a 09 73 74 72 75 63 74 20 4e 4d  A;.....struct NM
f140: 43 4f 4d 42 4f 42 4f 58 45 58 57 20 7b 0d 0a 09  COMBOBOXEXW {...
f150: 09 4e 4d 48 44 52 20 20 20 20 20 20 20 20 20 20  .NMHDR          
f160: 20 68 64 72 3b 0d 0a 09 09 43 4f 4d 42 4f 42 4f   hdr;....COMBOBO
f170: 58 45 58 49 54 45 4d 57 20 63 65 49 74 65 6d 3b  XEXITEMW ceItem;
f180: 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 43  ...}...alias NMC
f190: 4f 4d 42 4f 42 4f 58 45 58 57 2a 20 50 4e 4d 43  OMBOBOXEXW* PNMC
f1a0: 4f 4d 42 4f 42 4f 58 45 58 57 3b 0d 0a 0d 0a 09  OMBOBOXEXW;.....
f1b0: 73 74 72 75 63 74 20 4e 4d 43 42 45 44 52 41 47  struct NMCBEDRAG
f1c0: 42 45 47 49 4e 57 20 7b 0d 0a 09 09 4e 4d 48 44  BEGINW {....NMHD
f1d0: 52 20 68 64 72 3b 0d 0a 09 09 69 6e 74 20 20 20  R hdr;....int   
f1e0: 69 49 74 65 6d 69 64 3b 0d 0a 09 09 57 43 48 41  iItemid;....WCHA
f1f0: 52 5b 43 42 45 4d 41 58 53 54 52 4c 45 4e 5d 20  R[CBEMAXSTRLEN] 
f200: 73 7a 54 65 78 74 3b 0d 0a 09 7d 0d 0a 09 61 6c  szText;...}...al
f210: 69 61 73 20 4e 4d 43 42 45 44 52 41 47 42 45 47  ias NMCBEDRAGBEG
f220: 49 4e 57 2a 20 4c 50 4e 4d 43 42 45 44 52 41 47  INW* LPNMCBEDRAG
f230: 42 45 47 49 4e 57 2c 20 50 4e 4d 43 42 45 44 52  BEGINW, PNMCBEDR
f240: 41 47 42 45 47 49 4e 57 3b 0d 0a 0d 0a 09 73 74  AGBEGINW;.....st
f250: 72 75 63 74 20 4e 4d 43 42 45 44 52 41 47 42 45  ruct NMCBEDRAGBE
f260: 47 49 4e 41 20 7b 0d 0a 09 09 4e 4d 48 44 52 20  GINA {....NMHDR 
f270: 68 64 72 3b 0d 0a 09 09 69 6e 74 20 20 20 69 49  hdr;....int   iI
f280: 74 65 6d 69 64 3b 0d 0a 09 09 63 68 61 72 5b 43  temid;....char[C
f290: 42 45 4d 41 58 53 54 52 4c 45 4e 5d 20 73 7a 54  BEMAXSTRLEN] szT
f2a0: 65 78 74 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73  ext;...}...alias
f2b0: 20 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e 41   NMCBEDRAGBEGINA
f2c0: 2a 20 4c 50 4e 4d 43 42 45 44 52 41 47 42 45 47  * LPNMCBEDRAGBEG
f2d0: 49 4e 41 2c 20 50 4e 4d 43 42 45 44 52 41 47 42  INA, PNMCBEDRAGB
f2e0: 45 47 49 4e 41 3b 0d 0a 0d 0a 09 73 74 72 75 63  EGINA;.....struc
f2f0: 74 20 4e 4d 49 50 41 44 44 52 45 53 53 20 7b 0d  t NMIPADDRESS {.
f300: 0a 09 09 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 09  ...NMHDR hdr;...
f310: 09 69 6e 74 20 20 20 69 46 69 65 6c 64 3b 0d 0a  .int   iField;..
f320: 09 09 69 6e 74 20 20 20 69 56 61 6c 75 65 3b 0d  ..int   iValue;.
f330: 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 49 50  ..}...alias NMIP
f340: 41 44 44 52 45 53 53 2a 20 4c 50 4e 4d 49 50 41  ADDRESS* LPNMIPA
f350: 44 44 52 45 53 53 3b 0d 0a 0d 0a 09 73 74 72 75  DDRESS;.....stru
f360: 63 74 20 4e 4d 4c 56 4b 45 59 44 4f 57 4e 20 7b  ct NMLVKEYDOWN {
f370: 0d 0a 09 09 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ....NMHDR hdr;..
f380: 09 09 57 4f 52 44 20 20 77 56 4b 65 79 3b 0d 0a  ..WORD  wVKey;..
f390: 09 09 55 49 4e 54 20 20 66 6c 61 67 73 3b 0d 0a  ..UINT  flags;..
f3a0: 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 4c 56 4b  .}...alias NMLVK
f3b0: 45 59 44 4f 57 4e 2a 20 4c 50 4e 4d 4c 56 4b 45  EYDOWN* LPNMLVKE
f3c0: 59 44 4f 57 4e 3b 0d 0a 0d 0a 09 73 74 72 75 63  YDOWN;.....struc
f3d0: 74 20 4e 4d 50 47 43 41 4c 43 53 49 5a 45 20 7b  t NMPGCALCSIZE {
f3e0: 0d 0a 09 09 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ....NMHDR hdr;..
f3f0: 09 09 44 57 4f 52 44 20 64 77 46 6c 61 67 3b 0d  ..DWORD dwFlag;.
f400: 0a 09 09 69 6e 74 20 20 20 69 57 69 64 74 68 3b  ...int   iWidth;
f410: 0d 0a 09 09 69 6e 74 20 20 20 69 48 65 69 67 68  ....int   iHeigh
f420: 74 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4e  t;...}...alias N
f430: 4d 50 47 43 41 4c 43 53 49 5a 45 2a 20 4c 50 4e  MPGCALCSIZE* LPN
f440: 4d 50 47 43 41 4c 43 53 49 5a 45 3b 0d 0a 0d 0a  MPGCALCSIZE;....
f450: 09 73 74 72 75 63 74 20 4e 4d 50 47 53 43 52 4f  .struct NMPGSCRO
f460: 4c 4c 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 68 64  LL {....NMHDR hd
f470: 72 3b 0d 0a 09 09 42 4f 4f 4c 20 20 66 77 4b 65  r;....BOOL  fwKe
f480: 79 73 3b 0d 0a 09 09 52 45 43 54 20 20 72 63 50  ys;....RECT  rcP
f490: 61 72 65 6e 74 3b 0d 0a 09 09 69 6e 74 20 20 20  arent;....int   
f4a0: 69 44 69 72 3b 0d 0a 09 09 69 6e 74 20 20 20 69  iDir;....int   i
f4b0: 58 70 6f 73 3b 0d 0a 09 09 69 6e 74 20 20 20 69  Xpos;....int   i
f4c0: 59 70 6f 73 3b 0d 0a 09 09 69 6e 74 20 20 20 69  Ypos;....int   i
f4d0: 53 63 72 6f 6c 6c 3b 0d 0a 09 7d 0d 0a 09 61 6c  Scroll;...}...al
f4e0: 69 61 73 20 4e 4d 50 47 53 43 52 4f 4c 4c 2a 20  ias NMPGSCROLL* 
f4f0: 4c 50 4e 4d 50 47 53 43 52 4f 4c 4c 3b 0d 0a 0d  LPNMPGSCROLL;...
f500: 0a 09 73 74 72 75 63 74 20 4e 4d 53 45 4c 43 48  ..struct NMSELCH
f510: 41 4e 47 45 20 7b 0d 0a 09 09 4e 4d 48 44 52 20  ANGE {....NMHDR 
f520: 20 20 20 20 20 6e 6d 68 64 72 3b 0d 0a 09 09 53       nmhdr;....S
f530: 59 53 54 45 4d 54 49 4d 45 20 73 74 53 65 6c 53  YSTEMTIME stSelS
f540: 74 61 72 74 3b 0d 0a 09 09 53 59 53 54 45 4d 54  tart;....SYSTEMT
f550: 49 4d 45 20 73 74 53 65 6c 45 6e 64 3b 0d 0a 09  IME stSelEnd;...
f560: 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 53 45 4c 43  }...alias NMSELC
f570: 48 41 4e 47 45 2a 20 4c 50 4e 4d 53 45 4c 43 48  HANGE* LPNMSELCH
f580: 41 4e 47 45 3b 0d 0a 0d 0a 09 73 74 72 75 63 74  ANGE;.....struct
f590: 20 4e 4d 54 42 48 4f 54 49 54 45 4d 20 7b 0d 0a   NMTBHOTITEM {..
f5a0: 09 09 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 09 09  ..NMHDR hdr;....
f5b0: 69 6e 74 20 20 20 69 64 4f 6c 64 3b 0d 0a 09 09  int   idOld;....
f5c0: 69 6e 74 20 20 20 69 64 4e 65 77 3b 0d 0a 09 09  int   idNew;....
f5d0: 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a  DWORD dwFlags;..
f5e0: 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 54 42 48  .}...alias NMTBH
f5f0: 4f 54 49 54 45 4d 2a 20 4c 50 4e 4d 54 42 48 4f  OTITEM* LPNMTBHO
f600: 54 49 54 45 4d 3b 0d 0a 0d 0a 09 73 74 72 75 63  TITEM;.....struc
f610: 74 20 4e 4d 54 42 44 49 53 50 49 4e 46 4f 41 20  t NMTBDISPINFOA 
f620: 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20 20 20 68  {....NMHDR     h
f630: 64 72 3b 0d 0a 09 09 44 57 4f 52 44 20 20 20 20  dr;....DWORD    
f640: 20 64 77 4d 61 73 6b 3b 0d 0a 09 09 69 6e 74 20   dwMask;....int 
f650: 20 20 20 20 20 20 69 64 43 6f 6d 6d 61 6e 64 3b        idCommand;
f660: 0d 0a 09 09 44 57 4f 52 44 5f 50 54 52 20 6c 50  ....DWORD_PTR lP
f670: 61 72 61 6d 3b 0d 0a 09 09 69 6e 74 20 20 20 20  aram;....int    
f680: 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09 09 4c 50     iImage;....LP
f690: 53 54 52 20 20 20 20 20 70 73 7a 54 65 78 74 3b  STR     pszText;
f6a0: 0d 0a 09 09 69 6e 74 20 20 20 20 20 20 20 63 63  ....int       cc
f6b0: 68 54 65 78 74 3b 0d 0a 09 7d 0d 0a 09 61 6c 69  hText;...}...ali
f6c0: 61 73 20 4e 4d 54 42 44 49 53 50 49 4e 46 4f 41  as NMTBDISPINFOA
f6d0: 2a 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e 46 4f  * LPNMTBDISPINFO
f6e0: 41 3b 0d 0a 0d 0a 09 73 74 72 75 63 74 20 4e 4d  A;.....struct NM
f6f0: 54 42 44 49 53 50 49 4e 46 4f 57 20 7b 0d 0a 09  TBDISPINFOW {...
f700: 09 4e 4d 48 44 52 20 20 20 20 20 68 64 72 3b 0d  .NMHDR     hdr;.
f710: 0a 09 09 44 57 4f 52 44 20 20 20 20 20 64 77 4d  ...DWORD     dwM
f720: 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20  ask;....int     
f730: 20 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 09 09    idCommand;....
f740: 44 57 4f 52 44 5f 50 54 52 20 6c 50 61 72 61 6d  DWORD_PTR lParam
f750: 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 20 20 69  ;....int       i
f760: 49 6d 61 67 65 3b 0d 0a 09 09 4c 50 57 53 54 52  Image;....LPWSTR
f770: 20 20 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09      pszText;....
f780: 69 6e 74 20 20 20 20 20 20 20 63 63 68 54 65 78  int       cchTex
f790: 74 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4e  t;...}...alias N
f7a0: 4d 54 42 44 49 53 50 49 4e 46 4f 57 2a 20 4c 50  MTBDISPINFOW* LP
f7b0: 4e 4d 54 42 44 49 53 50 49 4e 46 4f 57 3b 0d 0a  NMTBDISPINFOW;..
f7c0: 0d 0a 09 73 74 72 75 63 74 20 4e 4d 54 42 47 45  ...struct NMTBGE
f7d0: 54 49 4e 46 4f 54 49 50 41 20 7b 0d 0a 09 09 4e  TINFOTIPA {....N
f7e0: 4d 48 44 52 20 20 68 64 72 3b 0d 0a 09 09 4c 50  MHDR  hdr;....LP
f7f0: 53 54 52 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09  STR  pszText;...
f800: 09 69 6e 74 20 20 20 20 63 63 68 54 65 78 74 4d  .int    cchTextM
f810: 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49  ax;....int    iI
f820: 74 65 6d 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 6c  tem;....LPARAM l
f830: 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 09 61 6c 69  Param;...}...ali
f840: 61 73 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49  as NMTBGETINFOTI
f850: 50 41 2a 20 4c 50 4e 4d 54 42 47 45 54 49 4e 46  PA* LPNMTBGETINF
f860: 4f 54 49 50 41 3b 0d 0a 0d 0a 09 73 74 72 75 63  OTIPA;.....struc
f870: 74 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50  t NMTBGETINFOTIP
f880: 57 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 68 64  W {....NMHDR  hd
f890: 72 3b 0d 0a 09 09 4c 50 57 53 54 52 20 70 73 7a  r;....LPWSTR psz
f8a0: 54 65 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20  Text;....int    
f8b0: 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69  cchTextMax;....i
f8c0: 6e 74 20 20 20 20 69 49 74 65 6d 3b 0d 0a 09 09  nt    iItem;....
f8d0: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
f8e0: 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 54 42 47  .}...alias NMTBG
f8f0: 45 54 49 4e 46 4f 54 49 50 57 2a 20 4c 50 4e 4d  ETINFOTIPW* LPNM
f900: 54 42 47 45 54 49 4e 46 4f 54 49 50 57 3b 0d 0a  TBGETINFOTIPW;..
f910: 0d 0a 09 73 74 72 75 63 74 20 4e 4d 4d 4f 55 53  ...struct NMMOUS
f920: 45 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20 20  E {....NMHDR    
f930: 20 68 64 72 3b 0d 0a 09 09 44 57 4f 52 44 5f 50   hdr;....DWORD_P
f940: 54 52 20 64 77 49 74 65 6d 53 70 65 63 3b 0d 0a  TR dwItemSpec;..
f950: 09 09 44 57 4f 52 44 5f 50 54 52 20 64 77 49 74  ..DWORD_PTR dwIt
f960: 65 6d 44 61 74 61 3b 0d 0a 09 09 50 4f 49 4e 54  emData;....POINT
f970: 20 20 20 20 20 70 74 3b 0d 0a 09 09 4c 50 41 52       pt;....LPAR
f980: 41 4d 20 20 20 20 64 77 48 69 74 49 6e 66 6f 3b  AM    dwHitInfo;
f990: 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 4d  ...}...alias NMM
f9a0: 4f 55 53 45 2a 20 4c 50 4e 4d 4d 4f 55 53 45 3b  OUSE* LPNMMOUSE;
f9b0: 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66  ..}....static if
f9c0: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
f9d0: 78 34 30 31 29 20 7b 0d 0a 09 73 74 72 75 63 74  x401) {...struct
f9e0: 20 4e 4d 54 4f 4f 4c 54 49 50 53 43 52 45 41 54   NMTOOLTIPSCREAT
f9f0: 45 44 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 68 64  ED {....NMHDR hd
fa00: 72 3b 0d 0a 09 09 48 57 4e 44 20 20 68 77 6e 64  r;....HWND  hwnd
fa10: 54 6f 6f 6c 54 69 70 73 3b 0d 0a 09 7d 0d 0a 09  ToolTips;...}...
fa20: 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 54 49 50 53  alias NMTOOLTIPS
fa30: 43 52 45 41 54 45 44 2a 20 4c 50 4e 4d 54 4f 4f  CREATED* LPNMTOO
fa40: 4c 54 49 50 53 43 52 45 41 54 45 44 3b 0d 0a 7d  LTIPSCREATED;..}
fa50: 0d 0a 0d 0a 73 74 72 75 63 74 20 4e 4d 44 41 54  ....struct NMDAT
fa60: 45 54 49 4d 45 43 48 41 4e 47 45 20 7b 0d 0a 09  ETIMECHANGE {...
fa70: 4e 4d 48 44 52 20 20 20 20 20 20 6e 6d 68 64 72  NMHDR      nmhdr
fa80: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64  ;...DWORD      d
fa90: 77 46 6c 61 67 73 3b 0d 0a 09 53 59 53 54 45 4d  wFlags;...SYSTEM
faa0: 54 49 4d 45 20 73 74 3b 0d 0a 7d 0d 0a 61 6c 69  TIME st;..}..ali
fab0: 61 73 20 4e 4d 44 41 54 45 54 49 4d 45 43 48 41  as NMDATETIMECHA
fac0: 4e 47 45 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d  NGE* LPNMDATETIM
fad0: 45 43 48 41 4e 47 45 3b 0d 0a 0d 0a 73 74 72 75  ECHANGE;....stru
fae0: 63 74 20 4e 4d 43 42 45 45 4e 44 45 44 49 54 57  ct NMCBEENDEDITW
faf0: 20 7b 0d 0a 09 4e 4d 48 44 52 20 68 64 72 3b 0d   {...NMHDR hdr;.
fb00: 0a 09 42 4f 4f 4c 20 20 66 43 68 61 6e 67 65 64  ..BOOL  fChanged
fb10: 3b 0d 0a 09 69 6e 74 20 20 20 69 4e 65 77 53 65  ;...int   iNewSe
fb20: 6c 65 63 74 69 6f 6e 3b 0d 0a 09 57 43 48 41 52  lection;...WCHAR
fb30: 5b 43 42 45 4d 41 58 53 54 52 4c 45 4e 5d 20 73  [CBEMAXSTRLEN] s
fb40: 7a 54 65 78 74 3b 0d 0a 09 69 6e 74 20 20 20 69  zText;...int   i
fb50: 57 68 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e  Why;..}..alias N
fb60: 4d 43 42 45 45 4e 44 45 44 49 54 57 2a 20 4c 50  MCBEENDEDITW* LP
fb70: 4e 4d 43 42 45 45 4e 44 45 44 49 54 57 2c 20 50  NMCBEENDEDITW, P
fb80: 4e 4d 43 42 45 45 4e 44 45 44 49 54 57 3b 0d 0a  NMCBEENDEDITW;..
fb90: 0d 0a 73 74 72 75 63 74 20 4e 4d 43 42 45 45 4e  ..struct NMCBEEN
fba0: 44 45 44 49 54 41 20 7b 0d 0a 09 4e 4d 48 44 52  DEDITA {...NMHDR
fbb0: 20 68 64 72 3b 0d 0a 09 42 4f 4f 4c 20 20 66 43   hdr;...BOOL  fC
fbc0: 68 61 6e 67 65 64 3b 0d 0a 09 69 6e 74 20 20 20  hanged;...int   
fbd0: 69 4e 65 77 53 65 6c 65 63 74 69 6f 6e 3b 0d 0a  iNewSelection;..
fbe0: 09 63 68 61 72 5b 43 42 45 4d 41 58 53 54 52 4c  .char[CBEMAXSTRL
fbf0: 45 4e 5d 20 73 7a 54 65 78 74 3b 0d 0a 09 69 6e  EN] szText;...in
fc00: 74 20 20 20 69 57 68 79 3b 0d 0a 7d 0d 0a 61 6c  t   iWhy;..}..al
fc10: 69 61 73 20 4e 4d 43 42 45 45 4e 44 45 44 49 54  ias NMCBEENDEDIT
fc20: 41 2a 20 4c 50 4e 4d 43 42 45 45 4e 44 45 44 49  A* LPNMCBEENDEDI
fc30: 54 41 2c 20 50 4e 4d 43 42 45 45 4e 44 45 44 49  TA, PNMCBEENDEDI
fc40: 54 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 43 4f  TA;....struct CO
fc50: 4c 4f 52 4d 41 50 20 7b 0d 0a 09 43 4f 4c 4f 52  LORMAP {...COLOR
fc60: 52 45 46 20 66 72 6f 6d 3b 0d 0a 09 43 4f 4c 4f  REF from;...COLO
fc70: 52 52 45 46 20 74 6f 3b 0d 0a 7d 0d 0a 61 6c 69  RREF to;..}..ali
fc80: 61 73 20 43 4f 4c 4f 52 4d 41 50 2a 20 4c 50 43  as COLORMAP* LPC
fc90: 4f 4c 4f 52 4d 41 50 3b 0d 0a 0d 0a 73 74 72 75  OLORMAP;....stru
fca0: 63 74 20 44 52 41 47 4c 49 53 54 49 4e 46 4f 20  ct DRAGLISTINFO 
fcb0: 7b 0d 0a 09 55 49 4e 54 20 20 75 4e 6f 74 69 66  {...UINT  uNotif
fcc0: 69 63 61 74 69 6f 6e 3b 0d 0a 09 48 57 4e 44 20  ication;...HWND 
fcd0: 20 68 57 6e 64 3b 0d 0a 09 50 4f 49 4e 54 20 70   hWnd;...POINT p
fce0: 74 43 75 72 73 6f 72 3b 0d 0a 7d 0d 0a 61 6c 69  tCursor;..}..ali
fcf0: 61 73 20 44 52 41 47 4c 49 53 54 49 4e 46 4f 2a  as DRAGLISTINFO*
fd00: 20 4c 50 44 52 41 47 4c 49 53 54 49 4e 46 4f 3b   LPDRAGLISTINFO;
fd10: 0d 0a 0d 0a 73 74 72 75 63 74 20 54 42 42 55 54  ....struct TBBUT
fd20: 54 4f 4e 20 7b 0d 0a 09 69 6e 74 20 20 20 69 42  TON {...int   iB
fd30: 69 74 6d 61 70 3b 0d 0a 09 69 6e 74 20 20 20 69  itmap;...int   i
fd40: 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 09 42 59 54 45  dCommand;...BYTE
fd50: 20 20 66 73 53 74 61 74 65 3b 0d 0a 09 42 59 54    fsState;...BYT
fd60: 45 20 20 66 73 53 74 79 6c 65 3b 0d 0a 09 76 65  E  fsStyle;...ve
fd70: 72 73 69 6f 6e 28 57 69 6e 36 34 29 7b 0d 0a 09  rsion(Win64){...
fd80: 09 42 59 54 45 5b 36 5d 20 62 52 65 73 65 72 76  .BYTE[6] bReserv
fd90: 65 64 3b 0d 0a 09 7d 20 65 6c 73 65 20 7b 0d 0a  ed;...} else {..
fda0: 09 09 42 59 54 45 5b 32 5d 20 62 52 65 73 65 72  ..BYTE[2] bReser
fdb0: 76 65 64 3b 0d 0a 09 7d 0d 0a 09 44 57 4f 52 44  ved;...}...DWORD
fdc0: 5f 50 54 52 20 64 77 44 61 74 61 3b 0d 0a 09 49  _PTR dwData;...I
fdd0: 4e 54 5f 50 54 52 20 69 53 74 72 69 6e 67 3b 0d  NT_PTR iString;.
fde0: 0a 7d 0d 0a 61 6c 69 61 73 20 54 42 42 55 54 54  .}..alias TBBUTT
fdf0: 4f 4e 2a 20 20 20 20 20 20 20 20 50 54 42 42 55  ON*        PTBBU
fe00: 54 54 4f 4e 2c 20 4c 50 54 42 42 55 54 54 4f 4e  TTON, LPTBBUTTON
fe10: 3b 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28 54  ;..alias const(T
fe20: 42 42 55 54 54 4f 4e 29 2a 20 4c 50 43 54 42 42  BBUTTON)* LPCTBB
fe30: 55 54 54 4f 4e 3b 0d 0a 0d 0a 73 74 61 74 69 63  UTTON;....static
fe40: 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
fe50: 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 73 74 72  = 0x400) {...str
fe60: 75 63 74 20 54 42 42 55 54 54 4f 4e 49 4e 46 4f  uct TBBUTTONINFO
fe70: 41 20 7b 0d 0a 09 09 55 49 4e 54 20 20 63 62 53  A {....UINT  cbS
fe80: 69 7a 65 20 3d 20 54 42 42 55 54 54 4f 4e 49 4e  ize = TBBUTTONIN
fe90: 46 4f 41 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 44  FOA.sizeof;....D
fea0: 57 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 09 09  WORD dwMask;....
feb0: 69 6e 74 20 20 20 69 64 43 6f 6d 6d 61 6e 64 3b  int   idCommand;
fec0: 0d 0a 09 09 69 6e 74 20 20 20 69 49 6d 61 67 65  ....int   iImage
fed0: 3b 0d 0a 09 09 42 59 54 45 20 20 66 73 53 74 61  ;....BYTE  fsSta
fee0: 74 65 3b 0d 0a 09 09 42 59 54 45 20 20 66 73 53  te;....BYTE  fsS
fef0: 74 79 6c 65 3b 0d 0a 09 09 57 4f 52 44 20 20 63  tyle;....WORD  c
ff00: 78 3b 0d 0a 09 09 44 57 4f 52 44 5f 50 54 52 20  x;....DWORD_PTR 
ff10: 6c 50 61 72 61 6d 3b 0d 0a 09 09 4c 50 53 54 52  lParam;....LPSTR
ff20: 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09 69 6e 74   pszText;....int
ff30: 20 20 20 63 63 68 54 65 78 74 3b 0d 0a 09 7d 0d     cchText;...}.
ff40: 0a 09 61 6c 69 61 73 20 54 42 42 55 54 54 4f 4e  ..alias TBBUTTON
ff50: 49 4e 46 4f 41 2a 20 4c 50 54 42 42 55 54 54 4f  INFOA* LPTBBUTTO
ff60: 4e 49 4e 46 4f 41 3b 0d 0a 0d 0a 09 73 74 72 75  NINFOA;.....stru
ff70: 63 74 20 54 42 42 55 54 54 4f 4e 49 4e 46 4f 57  ct TBBUTTONINFOW
ff80: 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 63 62 53   {....UINT   cbS
ff90: 69 7a 65 20 3d 20 54 42 42 55 54 54 4f 4e 49 4e  ize = TBBUTTONIN
ffa0: 46 4f 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 44  FOW.sizeof;....D
ffb0: 57 4f 52 44 20 20 64 77 4d 61 73 6b 3b 0d 0a 09  WORD  dwMask;...
ffc0: 09 69 6e 74 20 20 20 20 69 64 43 6f 6d 6d 61 6e  .int    idComman
ffd0: 64 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49 6d  d;....int    iIm
ffe0: 61 67 65 3b 0d 0a 09 09 42 59 54 45 20 20 20 66  age;....BYTE   f
fff0: 73 53 74 61 74 65 3b 0d 0a 09 09 42 59 54 45 20  sState;....BYTE 
10000 20 20 66 73 53 74 79 6c 65 3b 0d 0a 09 09 57 4f    fsStyle;....WO
10010 52 44 20 20 20 63 78 3b 0d 0a 09 09 44 57 4f 52  RD   cx;....DWOR
10020 44 5f 50 54 52 20 6c 50 61 72 61 6d 3b 0d 0a 09  D_PTR lParam;...
10030 09 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b  .LPWSTR pszText;
10040 0d 0a 09 09 69 6e 74 20 20 20 20 63 63 68 54 65  ....int    cchTe
10050 78 74 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20  xt;...}...alias 
10060 54 42 42 55 54 54 4f 4e 49 4e 46 4f 57 2a 20 4c  TBBUTTONINFOW* L
10070 50 54 42 42 55 54 54 4f 4e 49 4e 46 4f 57 3b 0d  PTBBUTTONINFOW;.
10080 0a 0d 0a 09 73 74 72 75 63 74 20 54 42 49 4e 53  ....struct TBINS
10090 45 52 54 4d 41 52 4b 20 7b 0d 0a 09 09 69 6e 74  ERTMARK {....int
100a0 20 20 20 69 42 75 74 74 6f 6e 3b 0d 0a 09 09 44     iButton;....D
100b0 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 09  WORD dwFlags;...
100c0 7d 0d 0a 09 61 6c 69 61 73 20 54 42 49 4e 53 45  }...alias TBINSE
100d0 52 54 4d 41 52 4b 2a 20 4c 50 54 42 49 4e 53 45  RTMARK* LPTBINSE
100e0 52 54 4d 41 52 4b 3b 0d 0a 0d 0a 09 73 74 72 75  RTMARK;.....stru
100f0 63 74 20 4c 56 42 4b 49 4d 41 47 45 41 20 7b 0d  ct LVBKIMAGEA {.
10100 0a 09 09 55 4c 4f 4e 47 20 20 20 75 6c 46 6c 61  ...ULONG   ulFla
10110 67 73 3b 0d 0a 09 09 48 42 49 54 4d 41 50 20 68  gs;....HBITMAP h
10120 62 6d 3b 0d 0a 09 09 4c 50 53 54 52 20 20 20 70  bm;....LPSTR   p
10130 73 7a 49 6d 61 67 65 3b 0d 0a 09 09 55 49 4e 54  szImage;....UINT
10140 20 20 20 20 63 63 68 49 6d 61 67 65 4d 61 78 3b      cchImageMax;
10150 0d 0a 09 09 69 6e 74 20 20 20 20 20 78 4f 66 66  ....int     xOff
10160 73 65 74 50 65 72 63 65 6e 74 3b 0d 0a 09 09 69  setPercent;....i
10170 6e 74 20 20 20 20 20 79 4f 66 66 73 65 74 50 65  nt     yOffsetPe
10180 72 63 65 6e 74 3b 0d 0a 09 7d 0d 0a 09 61 6c 69  rcent;...}...ali
10190 61 73 20 4c 56 42 4b 49 4d 41 47 45 41 2a 20 4c  as LVBKIMAGEA* L
101a0 50 4c 56 42 4b 49 4d 41 47 45 41 3b 0d 0a 0d 0a  PLVBKIMAGEA;....
101b0 09 73 74 72 75 63 74 20 4c 56 42 4b 49 4d 41 47  .struct LVBKIMAG
101c0 45 57 20 7b 0d 0a 09 09 55 4c 4f 4e 47 20 20 20  EW {....ULONG   
101d0 75 6c 46 6c 61 67 73 3b 0d 0a 09 09 48 42 49 54  ulFlags;....HBIT
101e0 4d 41 50 20 68 62 6d 3b 0d 0a 09 09 4c 50 57 53  MAP hbm;....LPWS
101f0 54 52 20 20 70 73 7a 49 6d 61 67 65 3b 0d 0a 09  TR  pszImage;...
10200 09 55 49 4e 54 20 20 20 20 63 63 68 49 6d 61 67  .UINT    cchImag
10210 65 4d 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20  eMax;....int    
10220 20 78 4f 66 66 73 65 74 50 65 72 63 65 6e 74 3b   xOffsetPercent;
10230 0d 0a 09 09 69 6e 74 20 20 20 20 20 79 4f 66 66  ....int     yOff
10240 73 65 74 50 65 72 63 65 6e 74 3b 0d 0a 09 7d 0d  setPercent;...}.
10250 0a 09 61 6c 69 61 73 20 4c 56 42 4b 49 4d 41 47  ..alias LVBKIMAG
10260 45 57 2a 20 4c 50 4c 56 42 4b 49 4d 41 47 45 57  EW* LPLVBKIMAGEW
10270 3b 0d 0a 7d 0d 0a 0d 0a 2f 2a 73 74 72 75 63 74  ;..}..../*struct
10280 20 54 42 4e 4f 54 49 46 59 20 7b 0d 0a 09 4e 4d   TBNOTIFY {...NM
10290 48 44 52 20 20 20 20 68 64 72 3b 0d 0a 09 69 6e  HDR    hdr;...in
102a0 74 20 20 20 20 20 20 69 49 74 65 6d 3b 0d 0a 09  t      iItem;...
102b0 54 42 42 55 54 54 4f 4e 20 74 62 42 75 74 74 6f  TBBUTTON tbButto
102c0 6e 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 63 63  n;...int      cc
102d0 68 54 65 78 74 3b 0d 0a 09 4c 50 54 53 54 52 20  hText;...LPTSTR 
102e0 20 20 70 73 7a 54 65 78 74 3b 0d 0a 7d 0d 0a 61    pszText;..}..a
102f0 6c 69 61 73 20 54 42 4e 4f 54 49 46 59 2a 20 4c  lias TBNOTIFY* L
10300 50 54 42 4e 4f 54 49 46 59 3b 0d 0a 2a 2f 0d 0a  PTBNOTIFY;..*/..
10310 0d 0a 2f 2a 73 74 72 75 63 74 20 54 42 53 41 56  ../*struct TBSAV
10320 45 50 41 52 41 4d 53 20 7b 0d 0a 09 48 4b 45 59  EPARAMS {...HKEY
10330 20 20 20 20 68 6b 72 3b 0d 0a 09 4c 50 43 54 53      hkr;...LPCTS
10340 54 52 20 70 73 7a 53 75 62 4b 65 79 3b 0d 0a 09  TR pszSubKey;...
10350 4c 50 43 54 53 54 52 20 70 73 7a 56 61 6c 75 65  LPCTSTR pszValue
10360 4e 61 6d 65 3b 0d 0a 7d 2a 2f 0d 0a 0d 0a 73 74  Name;..}*/....st
10370 72 75 63 74 20 49 4d 41 47 45 49 4e 46 4f 20 7b  ruct IMAGEINFO {
10380 0d 0a 09 48 42 49 54 4d 41 50 20 68 62 6d 49 6d  ...HBITMAP hbmIm
10390 61 67 65 3b 0d 0a 09 48 42 49 54 4d 41 50 20 68  age;...HBITMAP h
103a0 62 6d 4d 61 73 6b 3b 0d 0a 09 69 6e 74 20 20 20  bmMask;...int   
103b0 20 20 55 6e 75 73 65 64 31 3b 0d 0a 09 69 6e 74    Unused1;...int
103c0 20 20 20 20 20 55 6e 75 73 65 64 32 3b 0d 0a 09       Unused2;...
103d0 52 45 43 54 20 20 20 20 72 63 49 6d 61 67 65 3b  RECT    rcImage;
103e0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 4d 41 47 45  ..}..alias IMAGE
103f0 49 4e 46 4f 2a 20 4c 50 49 4d 41 47 45 49 4e 46  INFO* LPIMAGEINF
10400 4f 3b 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  O;....static if 
10410 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
10420 35 30 30 29 20 7b 0d 0a 09 73 74 72 75 63 74 20  500) {...struct 
10430 48 44 49 54 45 4d 41 20 7b 0d 0a 09 09 55 49 4e  HDITEMA {....UIN
10440 54 20 20 20 20 6d 61 73 6b 3b 0d 0a 09 09 69 6e  T    mask;....in
10450 74 20 20 20 20 20 63 78 79 3b 0d 0a 09 09 4c 50  t     cxy;....LP
10460 53 54 52 20 20 20 70 73 7a 54 65 78 74 3b 0d 0a  STR   pszText;..
10470 09 09 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d 0a  ..HBITMAP hbm;..
10480 09 09 69 6e 74 20 20 20 20 20 63 63 68 54 65 78  ..int     cchTex
10490 74 4d 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20  tMax;....int    
104a0 20 66 6d 74 3b 0d 0a 09 09 4c 50 41 52 41 4d 20   fmt;....LPARAM 
104b0 20 6c 50 61 72 61 6d 3b 0d 0a 09 09 69 6e 74 20   lParam;....int 
104c0 20 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09 09 69      iImage;....i
104d0 6e 74 20 20 20 20 20 69 4f 72 64 65 72 3b 0d 0a  nt     iOrder;..
104e0 09 09 55 49 4e 54 20 20 20 20 74 79 70 65 3b 0d  ..UINT    type;.
104f0 0a 09 09 4c 50 56 4f 49 44 20 20 70 76 46 69 6c  ...LPVOID  pvFil
10500 74 65 72 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 72  ter;...}.....str
10510 75 63 74 20 48 44 49 54 45 4d 57 20 7b 0d 0a 09  uct HDITEMW {...
10520 09 55 49 4e 54 20 20 20 20 6d 61 73 6b 3b 0d 0a  .UINT    mask;..
10530 09 09 69 6e 74 20 20 20 20 20 63 78 79 3b 0d 0a  ..int     cxy;..
10540 09 09 4c 50 57 53 54 52 20 20 70 73 7a 54 65 78  ..LPWSTR  pszTex
10550 74 3b 0d 0a 09 09 48 42 49 54 4d 41 50 20 68 62  t;....HBITMAP hb
10560 6d 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 63 63  m;....int     cc
10570 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69 6e 74  hTextMax;....int
10580 20 20 20 20 20 66 6d 74 3b 0d 0a 09 09 4c 50 41       fmt;....LPA
10590 52 41 4d 20 20 6c 50 61 72 61 6d 3b 0d 0a 09 09  RAM  lParam;....
105a0 69 6e 74 20 20 20 20 20 69 49 6d 61 67 65 3b 0d  int     iImage;.
105b0 0a 09 09 69 6e 74 20 20 20 20 20 69 4f 72 64 65  ...int     iOrde
105c0 72 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 74 79  r;....UINT    ty
105d0 70 65 3b 0d 0a 09 09 4c 50 56 4f 49 44 20 20 70  pe;....LPVOID  p
105e0 76 46 69 6c 74 65 72 3b 0d 0a 09 7d 0d 0a 7d 20  vFilter;...}..} 
105f0 65 6c 73 65 20 73 74 61 74 69 63 20 69 66 20 28  else static if (
10600 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33  _WIN32_IE >= 0x3
10610 30 30 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 48  00) {...struct H
10620 44 49 54 45 4d 41 20 7b 0d 0a 09 09 55 49 4e 54  DITEMA {....UINT
10630 20 20 20 20 6d 61 73 6b 3b 0d 0a 09 09 69 6e 74      mask;....int
10640 20 20 20 20 20 63 78 79 3b 0d 0a 09 09 4c 50 53       cxy;....LPS
10650 54 52 20 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09  TR   pszText;...
10660 09 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d 0a 09  .HBITMAP hbm;...
10670 09 69 6e 74 20 20 20 20 20 63 63 68 54 65 78 74  .int     cchText
10680 4d 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20  Max;....int     
10690 66 6d 74 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 20  fmt;....LPARAM  
106a0 6c 50 61 72 61 6d 3b 0d 0a 09 09 69 6e 74 20 20  lParam;....int  
106b0 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09 09 69 6e     iImage;....in
106c0 74 20 20 20 20 20 69 4f 72 64 65 72 3b 0d 0a 09  t     iOrder;...
106d0 7d 0d 0a 0d 0a 09 73 74 72 75 63 74 20 48 44 49  }.....struct HDI
106e0 54 45 4d 57 20 7b 0d 0a 09 09 55 49 4e 54 20 20  TEMW {....UINT  
106f0 20 20 6d 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20    mask;....int  
10700 20 20 20 63 78 79 3b 0d 0a 09 09 4c 50 57 53 54     cxy;....LPWST
10710 52 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09 48  R  pszText;....H
10720 42 49 54 4d 41 50 20 68 62 6d 3b 0d 0a 09 09 69  BITMAP hbm;....i
10730 6e 74 20 20 20 20 20 63 63 68 54 65 78 74 4d 61  nt     cchTextMa
10740 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 66 6d  x;....int     fm
10750 74 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 20 6c 50  t;....LPARAM  lP
10760 61 72 61 6d 3b 0d 0a 09 09 69 6e 74 20 20 20 20  aram;....int    
10770 20 69 49 6d 61 67 65 3b 0d 0a 09 09 69 6e 74 20   iImage;....int 
10780 20 20 20 20 69 4f 72 64 65 72 3b 0d 0a 09 7d 0d      iOrder;...}.
10790 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 73 74 72 75  .} else {...stru
107a0 63 74 20 48 44 49 54 45 4d 41 20 7b 0d 0a 09 09  ct HDITEMA {....
107b0 55 49 4e 54 20 20 20 20 6d 61 73 6b 3b 0d 0a 09  UINT    mask;...
107c0 09 69 6e 74 20 20 20 20 20 63 78 79 3b 0d 0a 09  .int     cxy;...
107d0 09 4c 50 53 54 52 20 20 20 70 73 7a 54 65 78 74  .LPSTR   pszText
107e0 3b 0d 0a 09 09 48 42 49 54 4d 41 50 20 68 62 6d  ;....HBITMAP hbm
107f0 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 63 63 68  ;....int     cch
10800 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69 6e 74 20  TextMax;....int 
10810 20 20 20 20 66 6d 74 3b 0d 0a 09 09 4c 50 41 52      fmt;....LPAR
10820 41 4d 20 20 6c 50 61 72 61 6d 3b 0d 0a 09 7d 0d  AM  lParam;...}.
10830 0a 0d 0a 09 73 74 72 75 63 74 20 48 44 49 54 45  ....struct HDITE
10840 4d 57 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20  MW {....UINT    
10850 6d 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20 20 20  mask;....int    
10860 20 63 78 79 3b 0d 0a 09 09 4c 50 57 53 54 52 20   cxy;....LPWSTR 
10870 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09 48 42 49   pszText;....HBI
10880 54 4d 41 50 20 68 62 6d 3b 0d 0a 09 09 69 6e 74  TMAP hbm;....int
10890 20 20 20 20 20 63 63 68 54 65 78 74 4d 61 78 3b       cchTextMax;
108a0 0d 0a 09 09 69 6e 74 20 20 20 20 20 66 6d 74 3b  ....int     fmt;
108b0 0d 0a 09 09 4c 50 41 52 41 4d 20 20 6c 50 61 72  ....LPARAM  lPar
108c0 61 6d 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c 69 61  am;...}..}..alia
108d0 73 20 48 44 49 54 45 4d 41 2a 20 4c 50 48 44 49  s HDITEMA* LPHDI
108e0 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 48 44 49  TEMA;..alias HDI
108f0 54 45 4d 57 2a 20 4c 50 48 44 49 54 45 4d 57 3b  TEMW* LPHDITEMW;
10900 0d 0a 0d 0a 64 65 70 72 65 63 61 74 65 64 20 7b  ....deprecated {
10910 0d 0a 09 61 6c 69 61 73 20 48 44 49 54 45 4d 41  ...alias HDITEMA
10920 20 48 44 5f 49 54 45 4d 41 3b 0d 0a 09 61 6c 69   HD_ITEMA;...ali
10930 61 73 20 48 44 49 54 45 4d 57 20 48 44 5f 49 54  as HDITEMW HD_IT
10940 45 4d 57 3b 0d 0a 09 2f 2f 61 6c 69 61 73 20 48  EMW;...//alias H
10950 44 49 54 45 4d 20 48 44 5f 49 54 45 4d 3b 20 66  DITEM HD_ITEM; f
10960 69 78 6d 65 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63  ixme..}....struc
10970 74 20 48 44 5f 4c 41 59 4f 55 54 20 7b 0d 0a 09  t HD_LAYOUT {...
10980 52 45 43 54 2a 20 20 20 20 20 20 70 72 63 3b 0d  RECT*      prc;.
10990 0a 09 57 49 4e 44 4f 57 50 4f 53 2a 20 70 77 70  ..WINDOWPOS* pwp
109a0 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 48 44  os;..}..alias HD
109b0 5f 4c 41 59 4f 55 54 2a 20 4c 50 48 44 4c 41 59  _LAYOUT* LPHDLAY
109c0 4f 55 54 3b 0d 0a 64 65 70 72 65 63 61 74 65 64  OUT;..deprecated
109d0 20 61 6c 69 61 73 20 48 44 5f 4c 41 59 4f 55 54   alias HD_LAYOUT
109e0 20 48 44 4c 41 59 4f 55 54 3b 0d 0a 0d 0a 73 74   HDLAYOUT;....st
109f0 72 75 63 74 20 48 44 5f 48 49 54 54 45 53 54 49  ruct HD_HITTESTI
10a00 4e 46 4f 20 7b 0d 0a 09 50 4f 49 4e 54 20 70 74  NFO {...POINT pt
10a10 3b 0d 0a 09 55 49 4e 54 20 20 66 6c 61 67 73 3b  ;...UINT  flags;
10a20 0d 0a 09 69 6e 74 20 20 20 69 49 74 65 6d 3b 0d  ...int   iItem;.
10a30 0a 7d 0d 0a 61 6c 69 61 73 20 48 44 5f 48 49 54  .}..alias HD_HIT
10a40 54 45 53 54 49 4e 46 4f 2a 20 4c 50 48 44 48 49  TESTINFO* LPHDHI
10a50 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 73 74  TTESTINFO;....st
10a60 72 75 63 74 20 48 44 5f 4e 4f 54 49 46 59 41 20  ruct HD_NOTIFYA 
10a70 7b 0d 0a 09 4e 4d 48 44 52 20 20 20 20 68 64 72  {...NMHDR    hdr
10a80 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 69 49 74  ;...int      iIt
10a90 65 6d 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 69  em;...int      i
10aa0 42 75 74 74 6f 6e 3b 0d 0a 09 48 44 49 54 45 4d  Button;...HDITEM
10ab0 41 2a 20 70 69 74 65 6d 3b 0d 0a 7d 0d 0a 0d 0a  A* pitem;..}....
10ac0 73 74 72 75 63 74 20 48 44 5f 4e 4f 54 49 46 59  struct HD_NOTIFY
10ad0 57 20 7b 0d 0a 09 4e 4d 48 44 52 20 20 20 20 68  W {...NMHDR    h
10ae0 64 72 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 69  dr;...int      i
10af0 49 74 65 6d 3b 0d 0a 09 69 6e 74 20 20 20 20 20  Item;...int     
10b00 20 69 42 75 74 74 6f 6e 3b 0d 0a 09 48 44 49 54   iButton;...HDIT
10b10 45 4d 57 2a 20 70 69 74 65 6d 3b 0d 0a 7d 0d 0a  EMW* pitem;..}..
10b20 0d 0a 2f 2a 20 46 49 58 4d 45 3a 20 4e 4d 48 45  ../* FIXME: NMHE
10b30 41 44 45 52 20 73 74 72 75 63 74 75 72 65 20 28  ADER structure (
10b40 62 61 73 65 20 66 6f 72 20 61 6c 6c 20 65 76 65  base for all eve
10b50 6e 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 63 74  nts of the comct
10b60 6c 20 63 6f 6e 74 72 6f 6c 73 29 0d 0a 20 20 20  l controls)..   
10b70 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 48  is the same as H
10b80 44 5f 4e 4f 54 49 46 59 20 64 65 70 65 6e 64 69  D_NOTIFY dependi
10b90 6e 67 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20  ng on the value 
10ba0 6f 66 20 5f 57 49 4e 33 32 5f 49 45 20 6d 61 63  of _WIN32_IE mac
10bb0 72 6f 2e 0d 0a 20 20 20 49 27 6d 20 64 65 66 69  ro...   I'm defi
10bc0 6e 69 6e 67 20 62 6f 74 68 20 66 6f 72 20 6e 6f  ning both for no
10bd0 77 2e 20 2a 2f 0d 0a 73 74 72 75 63 74 20 4e 4d  w. */..struct NM
10be0 48 45 41 44 45 52 41 20 7b 0d 0a 09 4e 4d 48 44  HEADERA {...NMHD
10bf0 52 20 20 20 20 68 64 72 3b 0d 0a 09 69 6e 74 20  R    hdr;...int 
10c00 20 20 20 20 20 69 49 74 65 6d 3b 0d 0a 09 69 6e       iItem;...in
10c10 74 20 20 20 20 20 20 69 42 75 74 74 6f 6e 3b 0d  t      iButton;.
10c20 0a 09 48 44 49 54 45 4d 41 2a 20 70 69 74 65 6d  ..HDITEMA* pitem
10c30 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e 4d 48 45  ;..}..alias NMHE
10c40 41 44 45 52 41 2a 20 4c 50 4e 4d 48 45 41 44 45  ADERA* LPNMHEADE
10c50 52 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4e 4d  RA;....struct NM
10c60 48 45 41 44 45 52 57 20 7b 0d 0a 09 4e 4d 48 44  HEADERW {...NMHD
10c70 52 20 20 20 20 68 64 72 3b 0d 0a 09 69 6e 74 20  R    hdr;...int 
10c80 20 20 20 20 20 69 49 74 65 6d 3b 0d 0a 09 69 6e       iItem;...in
10c90 74 20 20 20 20 20 20 69 42 75 74 74 6f 6e 3b 0d  t      iButton;.
10ca0 0a 09 48 44 49 54 45 4d 57 2a 20 70 69 74 65 6d  ..HDITEMW* pitem
10cb0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e 4d 48 45  ;..}..alias NMHE
10cc0 41 44 45 52 57 2a 20 4c 50 4e 4d 48 45 41 44 45  ADERW* LPNMHEADE
10cd0 52 57 3b 0d 0a 0d 0a 76 65 72 73 69 6f 6e 20 28  RW;....version (
10ce0 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c 69  Unicode) {...ali
10cf0 61 73 20 4e 4d 48 45 41 44 45 52 57 20 4e 4d 48  as NMHEADERW NMH
10d00 45 41 44 45 52 3b 0d 0a 09 61 6c 69 61 73 20 4c  EADER;...alias L
10d10 50 4e 4d 48 45 41 44 45 52 57 20 4c 50 4e 4d 48  PNMHEADERW LPNMH
10d20 45 41 44 45 52 3b 0d 0a 7d 20 65 6c 73 65 20 7b  EADER;..} else {
10d30 0d 0a 09 61 6c 69 61 73 20 4e 4d 48 45 41 44 45  ...alias NMHEADE
10d40 52 41 20 4e 4d 48 45 41 44 45 52 3b 0d 0a 09 61  RA NMHEADER;...a
10d50 6c 69 61 73 20 4c 50 4e 4d 48 45 41 44 45 52 41  lias LPNMHEADERA
10d60 20 4c 50 4e 4d 48 45 41 44 45 52 3b 0d 0a 7d 0d   LPNMHEADER;..}.
10d70 0a 2f 2f 20 45 6e 64 20 46 49 58 4d 45 0d 0a 0d  .// End FIXME...
10d80 0a 73 74 72 75 63 74 20 4e 4d 48 44 44 49 53 50  .struct NMHDDISP
10d90 49 4e 46 4f 41 20 7b 0d 0a 09 4e 4d 48 44 52 20  INFOA {...NMHDR 
10da0 20 68 64 72 3b 0d 0a 09 69 6e 74 20 20 20 20 69   hdr;...int    i
10db0 49 74 65 6d 3b 0d 0a 09 55 49 4e 54 20 20 20 6d  Item;...UINT   m
10dc0 61 73 6b 3b 0d 0a 09 4c 50 53 54 52 20 20 70 73  ask;...LPSTR  ps
10dd0 7a 54 65 78 74 3b 0d 0a 09 69 6e 74 20 20 20 20  zText;...int    
10de0 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 69 6e  cchTextMax;...in
10df0 74 20 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09 4c  t    iImage;...L
10e00 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d  PARAM lParam;..}
10e10 0d 0a 61 6c 69 61 73 20 4e 4d 48 44 44 49 53 50  ..alias NMHDDISP
10e20 49 4e 46 4f 41 2a 20 4c 50 4e 4d 48 44 44 49 53  INFOA* LPNMHDDIS
10e30 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63  PINFOA;....struc
10e40 74 20 4e 4d 48 44 44 49 53 50 49 4e 46 4f 57 20  t NMHDDISPINFOW 
10e50 7b 0d 0a 09 4e 4d 48 44 52 20 20 68 64 72 3b 0d  {...NMHDR  hdr;.
10e60 0a 09 69 6e 74 20 20 20 20 69 49 74 65 6d 3b 0d  ..int    iItem;.
10e70 0a 09 55 49 4e 54 20 20 20 6d 61 73 6b 3b 0d 0a  ..UINT   mask;..
10e80 09 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b  .LPWSTR pszText;
10e90 0d 0a 09 69 6e 74 20 20 20 20 63 63 68 54 65 78  ...int    cchTex
10ea0 74 4d 61 78 3b 0d 0a 09 69 6e 74 20 20 20 20 69  tMax;...int    i
10eb0 49 6d 61 67 65 3b 0d 0a 09 4c 50 41 52 41 4d 20  Image;...LPARAM 
10ec0 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61  lParam;..}..alia
10ed0 73 20 4e 4d 48 44 44 49 53 50 49 4e 46 4f 57 2a  s NMHDDISPINFOW*
10ee0 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46 4f 57   LPNMHDDISPINFOW
10ef0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4e 4d 43 55  ;....struct NMCU
10f00 53 54 4f 4d 44 52 41 57 20 7b 0d 0a 09 4e 4d 48  STOMDRAW {...NMH
10f10 44 52 20 20 68 64 72 3b 0d 0a 09 44 57 4f 52 44  DR  hdr;...DWORD
10f20 20 20 64 77 44 72 61 77 53 74 61 67 65 3b 0d 0a    dwDrawStage;..
10f30 09 48 44 43 20 20 20 20 68 64 63 3b 0d 0a 09 52  .HDC    hdc;...R
10f40 45 43 54 20 20 20 72 63 3b 0d 0a 09 44 57 4f 52  ECT   rc;...DWOR
10f50 44 20 20 64 77 49 74 65 6d 53 70 65 63 3b 0d 0a  D  dwItemSpec;..
10f60 09 55 49 4e 54 20 20 20 75 49 74 65 6d 53 74 61  .UINT   uItemSta
10f70 74 65 3b 0d 0a 09 4c 50 41 52 41 4d 20 6c 49 74  te;...LPARAM lIt
10f80 65 6d 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c  emlParam;..}..al
10f90 69 61 73 20 4e 4d 43 55 53 54 4f 4d 44 52 41 57  ias NMCUSTOMDRAW
10fa0 2a 20 4c 50 4e 4d 43 55 53 54 4f 4d 44 52 41 57  * LPNMCUSTOMDRAW
10fb0 3b 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28  ;....static if (
10fc0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34  _WIN32_IE >= 0x4
10fd0 30 30 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 4e  00) {...struct N
10fe0 4d 4c 56 43 55 53 54 4f 4d 44 52 41 57 20 7b 0d  MLVCUSTOMDRAW {.
10ff0 0a 09 09 4e 4d 43 55 53 54 4f 4d 44 52 41 57 20  ...NMCUSTOMDRAW 
11000 6e 6d 63 64 3b 0d 0a 09 09 43 4f 4c 4f 52 52 45  nmcd;....COLORRE
11010 46 20 20 20 20 20 63 6c 72 54 65 78 74 3b 0d 0a  F     clrText;..
11020 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 20 20 63  ..COLORREF     c
11030 6c 72 54 65 78 74 42 6b 3b 0d 0a 09 09 69 6e 74  lrTextBk;....int
11040 20 20 20 20 20 20 20 20 20 20 69 53 75 62 49 74            iSubIt
11050 65 6d 3b 0d 0a 09 7d 0d 0a 7d 20 65 6c 73 65 20  em;...}..} else 
11060 7b 0d 0a 09 73 74 72 75 63 74 20 4e 4d 4c 56 43  {...struct NMLVC
11070 55 53 54 4f 4d 44 52 41 57 20 7b 0d 0a 09 09 4e  USTOMDRAW {....N
11080 4d 43 55 53 54 4f 4d 44 52 41 57 20 6e 6d 63 64  MCUSTOMDRAW nmcd
11090 3b 0d 0a 09 09 43 4f 4c 4f 52 52 45 46 20 20 20  ;....COLORREF   
110a0 20 20 63 6c 72 54 65 78 74 3b 0d 0a 09 09 43 4f    clrText;....CO
110b0 4c 4f 52 52 45 46 20 20 20 20 20 63 6c 72 54 65  LORREF     clrTe
110c0 78 74 42 6b 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c  xtBk;...}..}..al
110d0 69 61 73 20 4e 4d 4c 56 43 55 53 54 4f 4d 44 52  ias NMLVCUSTOMDR
110e0 41 57 2a 20 4c 50 4e 4d 4c 56 43 55 53 54 4f 4d  AW* LPNMLVCUSTOM
110f0 44 52 41 57 3b 0d 0a 0d 0a 73 74 61 74 69 63 20  DRAW;....static 
11100 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
11110 20 30 78 34 30 30 29 20 7b 0d 0a 09 73 74 72 75   0x400) {...stru
11120 63 74 20 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49  ct NMLVGETINFOTI
11130 50 41 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 68  PA {....NMHDR  h
11140 64 72 3b 0d 0a 09 09 44 57 4f 52 44 20 20 64 77  dr;....DWORD  dw
11150 46 6c 61 67 73 3b 0d 0a 09 09 4c 50 53 54 52 20  Flags;....LPSTR 
11160 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09 69 6e 74   pszText;....int
11170 20 20 20 20 63 63 68 54 65 78 74 4d 61 78 3b 0d      cchTextMax;.
11180 0a 09 09 69 6e 74 20 20 20 20 69 49 74 65 6d 3b  ...int    iItem;
11190 0d 0a 09 09 69 6e 74 20 20 20 20 69 53 75 62 49  ....int    iSubI
111a0 74 65 6d 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 6c  tem;....LPARAM l
111b0 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 09 61 6c 69  Param;...}...ali
111c0 61 73 20 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49  as NMLVGETINFOTI
111d0 50 41 2a 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46  PA* LPNMLVGETINF
111e0 4f 54 49 50 41 3b 0d 0a 0d 0a 09 73 74 72 75 63  OTIPA;.....struc
111f0 74 20 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49 50  t NMLVGETINFOTIP
11200 57 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 68 64  W {....NMHDR  hd
11210 72 3b 0d 0a 09 09 44 57 4f 52 44 20 20 64 77 46  r;....DWORD  dwF
11220 6c 61 67 73 3b 0d 0a 09 09 4c 50 57 53 54 52 20  lags;....LPWSTR 
11230 70 73 7a 54 65 78 74 3b 0d 0a 09 09 69 6e 74 20  pszText;....int 
11240 20 20 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a     cchTextMax;..
11250 09 09 69 6e 74 20 20 20 20 69 49 74 65 6d 3b 0d  ..int    iItem;.
11260 0a 09 09 69 6e 74 20 20 20 20 69 53 75 62 49 74  ...int    iSubIt
11270 65 6d 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 6c 50  em;....LPARAM lP
11280 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61  aram;...}...alia
11290 73 20 4e 4d 4c 56 47 45 54 49 4e 46 4f 54 49 50  s NMLVGETINFOTIP
112a0 57 2a 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 4f  W* LPNMLVGETINFO
112b0 54 49 50 57 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74  TIPW;..}....stat
112c0 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
112d0 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 73   >= 0x400) {...s
112e0 74 72 75 63 74 20 4e 4d 54 56 43 55 53 54 4f 4d  truct NMTVCUSTOM
112f0 44 52 41 57 20 7b 0d 0a 09 09 4e 4d 43 55 53 54  DRAW {....NMCUST
11300 4f 4d 44 52 41 57 20 6e 6d 63 64 3b 0d 0a 09 09  OMDRAW nmcd;....
11310 43 4f 4c 4f 52 52 45 46 20 20 20 20 20 63 6c 72  COLORREF     clr
11320 54 65 78 74 3b 0d 0a 09 09 43 4f 4c 4f 52 52 45  Text;....COLORRE
11330 46 20 20 20 20 20 63 6c 72 54 65 78 74 42 6b 3b  F     clrTextBk;
11340 0d 0a 09 09 69 6e 74 20 20 20 20 20 20 20 20 20  ....int         
11350 20 69 4c 65 76 65 6c 3b 0d 0a 09 7d 0d 0a 7d 20   iLevel;...}..} 
11360 65 6c 73 65 20 7b 0d 0a 09 73 74 72 75 63 74 20  else {...struct 
11370 4e 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 20 7b  NMTVCUSTOMDRAW {
11380 0d 0a 09 09 4e 4d 43 55 53 54 4f 4d 44 52 41 57  ....NMCUSTOMDRAW
11390 20 6e 6d 63 64 3b 0d 0a 09 09 43 4f 4c 4f 52 52   nmcd;....COLORR
113a0 45 46 20 20 20 20 20 63 6c 72 54 65 78 74 3b 0d  EF     clrText;.
113b0 0a 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 20 20  ...COLORREF     
113c0 63 6c 72 54 65 78 74 42 6b 3b 0d 0a 09 7d 0d 0a  clrTextBk;...}..
113d0 7d 0d 0a 61 6c 69 61 73 20 4e 4d 54 56 43 55 53  }..alias NMTVCUS
113e0 54 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 54 56 43  TOMDRAW* LPNMTVC
113f0 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 73 74  USTOMDRAW;....st
11400 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
11410 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a  IE >= 0x400) {..
11420 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e  .static if (_WIN
11430 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
11440 31 29 20 7b 0d 0a 09 09 73 74 72 75 63 74 20 4e  1) {....struct N
11450 4d 54 42 43 55 53 54 4f 4d 44 52 41 57 20 7b 0d  MTBCUSTOMDRAW {.
11460 0a 09 09 09 4e 4d 43 55 53 54 4f 4d 44 52 41 57  ....NMCUSTOMDRAW
11470 20 6e 6d 63 64 3b 0d 0a 09 09 09 48 42 52 55 53   nmcd;.....HBRUS
11480 48 20 20 20 20 20 20 20 68 62 72 4d 6f 6e 6f 44  H       hbrMonoD
11490 69 74 68 65 72 3b 0d 0a 09 09 09 48 42 52 55 53  ither;.....HBRUS
114a0 48 20 20 20 20 20 20 20 68 62 72 4c 69 6e 65 73  H       hbrLines
114b0 3b 0d 0a 09 09 09 48 50 45 4e 20 20 20 20 20 20  ;.....HPEN      
114c0 20 20 20 68 70 65 6e 4c 69 6e 65 73 3b 0d 0a 09     hpenLines;...
114d0 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 20 20 63  ..COLORREF     c
114e0 6c 72 54 65 78 74 3b 0d 0a 09 09 09 43 4f 4c 4f  lrText;.....COLO
114f0 52 52 45 46 20 20 20 20 20 63 6c 72 4d 61 72 6b  RREF     clrMark
11500 3b 0d 0a 09 09 09 43 4f 4c 4f 52 52 45 46 20 20  ;.....COLORREF  
11510 20 20 20 63 6c 72 54 65 78 74 48 69 67 68 6c 69     clrTextHighli
11520 67 68 74 3b 0d 0a 09 09 09 43 4f 4c 4f 52 52 45  ght;.....COLORRE
11530 46 20 20 20 20 20 63 6c 72 42 74 6e 46 61 63 65  F     clrBtnFace
11540 3b 0d 0a 09 09 09 43 4f 4c 4f 52 52 45 46 20 20  ;.....COLORREF  
11550 20 20 20 63 6c 72 42 74 6e 48 69 67 68 6c 69 67     clrBtnHighlig
11560 68 74 3b 0d 0a 09 09 09 43 4f 4c 4f 52 52 45 46  ht;.....COLORREF
11570 20 20 20 20 20 63 6c 72 48 69 67 68 6c 69 67 68       clrHighligh
11580 74 48 6f 74 54 72 61 63 6b 3b 0d 0a 09 09 09 52  tHotTrack;.....R
11590 45 43 54 20 20 20 20 20 20 20 20 20 72 63 54 65  ECT         rcTe
115a0 78 74 3b 0d 0a 09 09 09 69 6e 74 20 20 20 20 20  xt;.....int     
115b0 20 20 20 20 20 6e 53 74 72 69 6e 67 42 6b 4d 6f       nStringBkMo
115c0 64 65 3b 0d 0a 09 09 09 69 6e 74 20 20 20 20 20  de;.....int     
115d0 20 20 20 20 20 6e 48 4c 53 74 72 69 6e 67 42 6b       nHLStringBk
115e0 4d 6f 64 65 3b 0d 0a 09 09 09 69 6e 74 20 20 20  Mode;.....int   
115f0 20 20 20 20 20 20 20 69 4c 69 73 74 47 61 70 3b         iListGap;
11600 0d 0a 09 09 7d 0d 0a 09 7d 20 65 6c 73 65 20 7b  ....}...} else {
11610 0d 0a 09 09 73 74 72 75 63 74 20 4e 4d 54 42 43  ....struct NMTBC
11620 55 53 54 4f 4d 44 52 41 57 20 7b 0d 0a 09 09 09  USTOMDRAW {.....
11630 4e 4d 43 55 53 54 4f 4d 44 52 41 57 20 6e 6d 63  NMCUSTOMDRAW nmc
11640 64 3b 0d 0a 09 09 09 48 42 52 55 53 48 20 20 20  d;.....HBRUSH   
11650 20 20 20 20 68 62 72 4d 6f 6e 6f 44 69 74 68 65      hbrMonoDithe
11660 72 3b 0d 0a 09 09 09 48 42 52 55 53 48 20 20 20  r;.....HBRUSH   
11670 20 20 20 20 68 62 72 4c 69 6e 65 73 3b 0d 0a 09      hbrLines;...
11680 09 09 48 50 45 4e 20 20 20 20 20 20 20 20 20 68  ..HPEN         h
11690 70 65 6e 4c 69 6e 65 73 3b 0d 0a 09 09 09 43 4f  penLines;.....CO
116a0 4c 4f 52 52 45 46 20 20 20 20 20 63 6c 72 54 65  LORREF     clrTe
116b0 78 74 3b 0d 0a 09 09 09 43 4f 4c 4f 52 52 45 46  xt;.....COLORREF
116c0 20 20 20 20 20 63 6c 72 4d 61 72 6b 3b 0d 0a 09       clrMark;...
116d0 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 20 20 63  ..COLORREF     c
116e0 6c 72 54 65 78 74 48 69 67 68 6c 69 67 68 74 3b  lrTextHighlight;
116f0 0d 0a 09 09 09 43 4f 4c 4f 52 52 45 46 20 20 20  .....COLORREF   
11700 20 20 63 6c 72 42 74 6e 46 61 63 65 3b 0d 0a 09    clrBtnFace;...
11710 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 20 20 63  ..COLORREF     c
11720 6c 72 42 74 6e 48 69 67 68 6c 69 67 68 74 3b 0d  lrBtnHighlight;.
11730 0a 09 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 20  ....COLORREF    
11740 20 63 6c 72 48 69 67 68 6c 69 67 68 74 48 6f 74   clrHighlightHot
11750 54 72 61 63 6b 3b 0d 0a 09 09 09 52 45 43 54 20  Track;.....RECT 
11760 20 20 20 20 20 20 20 20 72 63 54 65 78 74 3b 0d          rcText;.
11770 0a 09 09 09 69 6e 74 20 20 20 20 20 20 20 20 20  ....int         
11780 20 6e 53 74 72 69 6e 67 42 6b 4d 6f 64 65 3b 0d   nStringBkMode;.
11790 0a 09 09 09 69 6e 74 20 20 20 20 20 20 20 20 20  ....int         
117a0 20 6e 48 4c 53 74 72 69 6e 67 42 6b 4d 6f 64 65   nHLStringBkMode
117b0 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 09 61 6c 69  ;....}...}...ali
117c0 61 73 20 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41  as NMTBCUSTOMDRA
117d0 57 2a 20 4c 50 4e 4d 54 42 43 55 53 54 4f 4d 44  W* LPNMTBCUSTOMD
117e0 52 41 57 3b 0d 0a 0d 0a 09 73 74 72 75 63 74 20  RAW;.....struct 
117f0 4e 4d 49 54 45 4d 41 43 54 49 56 41 54 45 20 7b  NMITEMACTIVATE {
11800 0d 0a 09 09 4e 4d 48 44 52 20 20 68 64 72 3b 0d  ....NMHDR  hdr;.
11810 0a 09 09 69 6e 74 20 20 20 20 69 49 74 65 6d 3b  ...int    iItem;
11820 0d 0a 09 09 69 6e 74 20 20 20 20 69 53 75 62 49  ....int    iSubI
11830 74 65 6d 3b 0d 0a 09 09 55 49 4e 54 20 20 20 75  tem;....UINT   u
11840 4e 65 77 53 74 61 74 65 3b 0d 0a 09 09 55 49 4e  NewState;....UIN
11850 54 20 20 20 75 4f 6c 64 53 74 61 74 65 3b 0d 0a  T   uOldState;..
11860 09 09 55 49 4e 54 20 20 20 75 43 68 61 6e 67 65  ..UINT   uChange
11870 64 3b 0d 0a 09 09 50 4f 49 4e 54 20 20 70 74 41  d;....POINT  ptA
11880 63 74 69 6f 6e 3b 0d 0a 09 09 4c 50 41 52 41 4d  ction;....LPARAM
11890 20 6c 50 61 72 61 6d 3b 0d 0a 09 09 55 49 4e 54   lParam;....UINT
118a0 20 20 20 75 4b 65 79 46 6c 61 67 73 3b 0d 0a 09     uKeyFlags;...
118b0 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 49 54 45 4d  }...alias NMITEM
118c0 41 43 54 49 56 41 54 45 2a 20 4c 50 4e 4d 49 54  ACTIVATE* LPNMIT
118d0 45 4d 41 43 54 49 56 41 54 45 3b 0d 0a 7d 0d 0a  EMACTIVATE;..}..
118e0 0d 0a 73 74 72 75 63 74 20 54 42 41 44 44 42 49  ..struct TBADDBI
118f0 54 4d 41 50 20 7b 0d 0a 09 48 49 4e 53 54 41 4e  TMAP {...HINSTAN
11900 43 45 20 68 49 6e 73 74 3b 0d 0a 09 55 49 4e 54  CE hInst;...UINT
11910 5f 50 54 52 20 20 6e 49 44 3b 0d 0a 7d 0d 0a 61  _PTR  nID;..}..a
11920 6c 69 61 73 20 54 42 41 44 44 42 49 54 4d 41 50  lias TBADDBITMAP
11930 2a 20 4c 50 54 42 41 44 44 42 49 54 4d 41 50 3b  * LPTBADDBITMAP;
11940 0d 0a 0d 0a 73 74 72 75 63 74 20 54 42 53 41 56  ....struct TBSAV
11950 45 50 41 52 41 4d 53 41 20 7b 0d 0a 09 48 4b 45  EPARAMSA {...HKE
11960 59 20 20 20 68 6b 72 3b 0d 0a 09 4c 50 43 53 54  Y   hkr;...LPCST
11970 52 20 70 73 7a 53 75 62 4b 65 79 3b 0d 0a 09 4c  R pszSubKey;...L
11980 50 43 53 54 52 20 70 73 7a 56 61 6c 75 65 4e 61  PCSTR pszValueNa
11990 6d 65 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74  me;..}....struct
119a0 20 54 42 53 41 56 45 50 41 52 41 4d 53 57 20 7b   TBSAVEPARAMSW {
119b0 0d 0a 09 48 4b 45 59 20 20 20 20 68 6b 72 3b 0d  ...HKEY    hkr;.
119c0 0a 09 4c 50 43 57 53 54 52 20 70 73 7a 53 75 62  ..LPCWSTR pszSub
119d0 4b 65 79 3b 0d 0a 09 4c 50 43 57 53 54 52 20 70  Key;...LPCWSTR p
119e0 73 7a 56 61 6c 75 65 4e 61 6d 65 3b 0d 0a 7d 0d  szValueName;..}.
119f0 0a 0d 0a 73 74 72 75 63 74 20 54 42 52 45 50 4c  ...struct TBREPL
11a00 41 43 45 42 49 54 4d 41 50 20 7b 0d 0a 09 48 49  ACEBITMAP {...HI
11a10 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 4f 6c 64  NSTANCE hInstOld
11a20 3b 0d 0a 09 55 49 4e 54 5f 50 54 52 20 20 6e 49  ;...UINT_PTR  nI
11a30 44 4f 6c 64 3b 0d 0a 09 48 49 4e 53 54 41 4e 43  DOld;...HINSTANC
11a40 45 20 68 49 6e 73 74 4e 65 77 3b 0d 0a 09 55 49  E hInstNew;...UI
11a50 4e 54 5f 50 54 52 20 20 6e 49 44 4e 65 77 3b 0d  NT_PTR  nIDNew;.
11a60 0a 09 69 6e 74 20 20 20 20 20 20 20 6e 42 75 74  ..int       nBut
11a70 74 6f 6e 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tons;..}..alias 
11a80 54 42 52 45 50 4c 41 43 45 42 49 54 4d 41 50 2a  TBREPLACEBITMAP*
11a90 20 4c 50 54 42 52 45 50 4c 41 43 45 42 49 54 4d   LPTBREPLACEBITM
11aa0 41 50 3b 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66  AP;....static if
11ab0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
11ac0 78 35 30 30 29 20 7b 0d 0a 09 73 74 72 75 63 74  x500) {...struct
11ad0 20 4e 4d 54 4f 4f 4c 42 41 52 41 20 7b 0d 0a 09   NMTOOLBARA {...
11ae0 09 4e 4d 48 44 52 20 20 20 20 68 64 72 3b 0d 0a  .NMHDR    hdr;..
11af0 09 09 69 6e 74 20 20 20 20 20 20 69 49 74 65 6d  ..int      iItem
11b00 3b 0d 0a 09 09 54 42 42 55 54 54 4f 4e 20 74 62  ;....TBBUTTON tb
11b10 42 75 74 74 6f 6e 3b 0d 0a 09 09 69 6e 74 20 20  Button;....int  
11b20 20 20 20 20 63 63 68 54 65 78 74 3b 0d 0a 09 09      cchText;....
11b30 4c 50 53 54 52 20 20 20 20 70 73 7a 54 65 78 74  LPSTR    pszText
11b40 3b 0d 0a 09 09 52 45 43 54 20 20 20 20 20 72 63  ;....RECT     rc
11b50 42 75 74 74 6f 6e 3b 0d 0a 09 7d 0d 0a 0d 0a 09  Button;...}.....
11b60 73 74 72 75 63 74 20 4e 4d 54 4f 4f 4c 42 41 52  struct NMTOOLBAR
11b70 57 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20 20  W {....NMHDR    
11b80 68 64 72 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20  hdr;....int     
11b90 20 69 49 74 65 6d 3b 0d 0a 09 09 54 42 42 55 54   iItem;....TBBUT
11ba0 54 4f 4e 20 74 62 42 75 74 74 6f 6e 3b 0d 0a 09  TON tbButton;...
11bb0 09 69 6e 74 20 20 20 20 20 20 63 63 68 54 65 78  .int      cchTex
11bc0 74 3b 0d 0a 09 09 4c 50 57 53 54 52 20 20 20 70  t;....LPWSTR   p
11bd0 73 7a 54 65 78 74 3b 0d 0a 09 09 52 45 43 54 20  szText;....RECT 
11be0 20 20 20 20 72 63 42 75 74 74 6f 6e 3b 0d 0a 09      rcButton;...
11bf0 7d 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 73 74  }..} else {...st
11c00 72 75 63 74 20 4e 4d 54 4f 4f 4c 42 41 52 41 20  ruct NMTOOLBARA 
11c10 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20 20 68 64  {....NMHDR    hd
11c20 72 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 20 69  r;....int      i
11c30 49 74 65 6d 3b 0d 0a 09 09 54 42 42 55 54 54 4f  Item;....TBBUTTO
11c40 4e 20 74 62 42 75 74 74 6f 6e 3b 0d 0a 09 09 69  N tbButton;....i
11c50 6e 74 20 20 20 20 20 20 63 63 68 54 65 78 74 3b  nt      cchText;
11c60 0d 0a 09 09 4c 50 53 54 52 20 20 20 20 70 73 7a  ....LPSTR    psz
11c70 54 65 78 74 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73 74  Text;...}.....st
11c80 72 75 63 74 20 4e 4d 54 4f 4f 4c 42 41 52 57 20  ruct NMTOOLBARW 
11c90 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20 20 68 64  {....NMHDR    hd
11ca0 72 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 20 69  r;....int      i
11cb0 49 74 65 6d 3b 0d 0a 09 09 54 42 42 55 54 54 4f  Item;....TBBUTTO
11cc0 4e 20 74 62 42 75 74 74 6f 6e 3b 0d 0a 09 09 69  N tbButton;....i
11cd0 6e 74 20 20 20 20 20 20 63 63 68 54 65 78 74 3b  nt      cchText;
11ce0 0d 0a 09 09 4c 50 57 53 54 52 20 20 20 70 73 7a  ....LPWSTR   psz
11cf0 54 65 78 74 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c  Text;...}..}..al
11d00 69 61 73 20 4e 4d 54 4f 4f 4c 42 41 52 41 2a 20  ias NMTOOLBARA* 
11d10 4c 50 4e 4d 54 4f 4f 4c 42 41 52 41 3b 0d 0a 61  LPNMTOOLBARA;..a
11d20 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42 41 52 57 2a  lias NMTOOLBARW*
11d30 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 57 3b 0d 0a   LPNMTOOLBARW;..
11d40 0d 0a 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42 41  ..alias NMTOOLBA
11d50 52 41 20 54 42 4e 4f 54 49 46 59 41 3b 0d 0a 61  RA TBNOTIFYA;..a
11d60 6c 69 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52  lias LPNMTOOLBAR
11d70 41 20 4c 50 54 42 4e 4f 54 49 46 59 41 3b 0d 0a  A LPTBNOTIFYA;..
11d80 0d 0a 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42 41  ..alias NMTOOLBA
11d90 52 57 20 54 42 4e 4f 54 49 46 59 57 3b 0d 0a 61  RW TBNOTIFYW;..a
11da0 6c 69 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52  lias LPNMTOOLBAR
11db0 57 20 4c 50 54 42 4e 4f 54 49 46 59 57 3b 0d 0a  W LPTBNOTIFYW;..
11dc0 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
11dd0 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
11de0 30 31 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 54  01) {...struct T
11df0 4f 4f 4c 49 4e 46 4f 41 20 7b 0d 0a 09 09 55 49  OOLINFOA {....UI
11e00 4e 54 20 20 20 20 20 20 63 62 53 69 7a 65 20 3d  NT      cbSize =
11e10 20 54 4f 4f 4c 49 4e 46 4f 41 2e 73 69 7a 65 6f   TOOLINFOA.sizeo
11e20 66 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 20  f;....UINT      
11e30 75 46 6c 61 67 73 3b 0d 0a 09 09 48 57 4e 44 20  uFlags;....HWND 
11e40 20 20 20 20 20 68 77 6e 64 3b 0d 0a 09 09 55 49       hwnd;....UI
11e50 4e 54 5f 50 54 52 20 20 75 49 64 3b 0d 0a 09 09  NT_PTR  uId;....
11e60 52 45 43 54 20 20 20 20 20 20 72 65 63 74 3b 0d  RECT      rect;.
11e70 0a 09 09 48 49 4e 53 54 41 4e 43 45 20 68 69 6e  ...HINSTANCE hin
11e80 73 74 3b 0d 0a 09 09 4c 50 53 54 52 20 20 20 20  st;....LPSTR    
11e90 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 09 09 4c 50   lpszText;....LP
11ea0 41 52 41 4d 20 20 20 20 6c 50 61 72 61 6d 3b 0d  ARAM    lParam;.
11eb0 0a 09 09 76 6f 69 64 2a 20 20 20 20 20 6c 70 52  ...void*     lpR
11ec0 65 73 65 72 76 65 64 3b 0d 0a 09 7d 0d 0a 0d 0a  eserved;...}....
11ed0 09 73 74 72 75 63 74 20 54 4f 4f 4c 49 4e 46 4f  .struct TOOLINFO
11ee0 57 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20  W {....UINT     
11ef0 20 63 62 53 69 7a 65 20 3d 20 54 4f 4f 4c 49 4e   cbSize = TOOLIN
11f00 46 4f 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 55  FOW.sizeof;....U
11f10 49 4e 54 20 20 20 20 20 20 75 46 6c 61 67 73 3b  INT      uFlags;
11f20 0d 0a 09 09 48 57 4e 44 20 20 20 20 20 20 68 77  ....HWND      hw
11f30 6e 64 3b 0d 0a 09 09 55 49 4e 54 5f 50 54 52 20  nd;....UINT_PTR 
11f40 20 75 49 64 3b 0d 0a 09 09 52 45 43 54 20 20 20   uId;....RECT   
11f50 20 20 20 72 65 63 74 3b 0d 0a 09 09 48 49 4e 53     rect;....HINS
11f60 54 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 09 09  TANCE hinst;....
11f70 4c 50 57 53 54 52 20 20 20 20 6c 70 73 7a 54 65  LPWSTR    lpszTe
11f80 78 74 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 20 20  xt;....LPARAM   
11f90 20 6c 50 61 72 61 6d 3b 0d 0a 09 09 76 6f 69 64   lParam;....void
11fa0 2a 20 20 20 20 20 6c 70 52 65 73 65 72 76 65 64  *     lpReserved
11fb0 3b 0d 0a 09 7d 0d 0a 0d 0a 09 63 6f 6e 73 74 20  ;...}.....const 
11fc0 73 69 7a 65 5f 74 0d 0a 09 09 54 54 54 4f 4f 4c  size_t....TTTOOL
11fd0 49 4e 46 4f 41 5f 56 31 5f 53 49 5a 45 20 3d 20  INFOA_V1_SIZE = 
11fe0 54 4f 4f 4c 49 4e 46 4f 41 2e 6c 50 61 72 61 6d  TOOLINFOA.lParam
11ff0 2e 6f 66 66 73 65 74 6f 66 2c 0d 0a 09 09 54 54  .offsetof,....TT
12000 54 4f 4f 4c 49 4e 46 4f 57 5f 56 31 5f 53 49 5a  TOOLINFOW_V1_SIZ
12010 45 20 3d 20 54 4f 4f 4c 49 4e 46 4f 57 2e 6c 50  E = TOOLINFOW.lP
12020 61 72 61 6d 2e 6f 66 66 73 65 74 6f 66 2c 0d 0a  aram.offsetof,..
12030 09 09 54 54 54 4f 4f 4c 49 4e 46 4f 41 5f 56 32  ..TTTOOLINFOA_V2
12040 5f 53 49 5a 45 20 3d 20 54 4f 4f 4c 49 4e 46 4f  _SIZE = TOOLINFO
12050 41 2e 6c 70 52 65 73 65 72 76 65 64 2e 6f 66 66  A.lpReserved.off
12060 73 65 74 6f 66 2c 0d 0a 09 09 54 54 54 4f 4f 4c  setof,....TTTOOL
12070 49 4e 46 4f 57 5f 56 32 5f 53 49 5a 45 20 3d 20  INFOW_V2_SIZE = 
12080 54 4f 4f 4c 49 4e 46 4f 57 2e 6c 70 52 65 73 65  TOOLINFOW.lpRese
12090 72 76 65 64 2e 6f 66 66 73 65 74 6f 66 2c 0d 0a  rved.offsetof,..
120a0 09 09 54 54 54 4f 4f 4c 49 4e 46 4f 41 5f 56 33  ..TTTOOLINFOA_V3
120b0 5f 53 49 5a 45 20 3d 20 54 4f 4f 4c 49 4e 46 4f  _SIZE = TOOLINFO
120c0 41 2e 73 69 7a 65 6f 66 2c 0d 0a 09 09 54 54 54  A.sizeof,....TTT
120d0 4f 4f 4c 49 4e 46 4f 57 5f 56 33 5f 53 49 5a 45  OOLINFOW_V3_SIZE
120e0 20 3d 20 54 4f 4f 4c 49 4e 46 4f 57 2e 73 69 7a   = TOOLINFOW.siz
120f0 65 6f 66 3b 0d 0a 7d 20 65 6c 73 65 20 73 74 61  eof;..} else sta
12100 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
12110 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09  E >= 0x300) {...
12120 73 74 72 75 63 74 20 54 4f 4f 4c 49 4e 46 4f 41  struct TOOLINFOA
12130 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 20   {....UINT      
12140 63 62 53 69 7a 65 20 3d 20 54 4f 4f 4c 49 4e 46  cbSize = TOOLINF
12150 4f 41 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 55 49  OA.sizeof;....UI
12160 4e 54 20 20 20 20 20 20 75 46 6c 61 67 73 3b 0d  NT      uFlags;.
12170 0a 09 09 48 57 4e 44 20 20 20 20 20 20 68 77 6e  ...HWND      hwn
12180 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 20  d;....UINT      
12190 75 49 64 3b 0d 0a 09 09 52 45 43 54 20 20 20 20  uId;....RECT    
121a0 20 20 72 65 63 74 3b 0d 0a 09 09 48 49 4e 53 54    rect;....HINST
121b0 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 09 09 4c  ANCE hinst;....L
121c0 50 53 54 52 20 20 20 20 20 6c 70 73 7a 54 65 78  PSTR     lpszTex
121d0 74 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 20 20 20  t;....LPARAM    
121e0 6c 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 0d 0a 09  lParam;...}.....
121f0 73 74 72 75 63 74 20 54 4f 4f 4c 49 4e 46 4f 57  struct TOOLINFOW
12200 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 20   {....UINT      
12210 63 62 53 69 7a 65 20 3d 20 54 4f 4f 4c 49 4e 46  cbSize = TOOLINF
12220 4f 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 55 49  OW.sizeof;....UI
12230 4e 54 20 20 20 20 20 20 75 46 6c 61 67 73 3b 0d  NT      uFlags;.
12240 0a 09 09 48 57 4e 44 20 20 20 20 20 20 68 77 6e  ...HWND      hwn
12250 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 20  d;....UINT      
12260 75 49 64 3b 0d 0a 09 09 52 45 43 54 20 20 20 20  uId;....RECT    
12270 20 20 72 65 63 74 3b 0d 0a 09 09 48 49 4e 53 54    rect;....HINST
12280 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 09 09 4c  ANCE hinst;....L
12290 50 57 53 54 52 20 20 20 20 6c 70 73 7a 54 65 78  PWSTR    lpszTex
122a0 74 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 20 20 20  t;....LPARAM    
122b0 6c 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 0d 0a 09  lParam;...}.....
122c0 63 6f 6e 73 74 20 73 69 7a 65 5f 74 0d 0a 09 09  const size_t....
122d0 54 54 54 4f 4f 4c 49 4e 46 4f 41 5f 56 31 5f 53  TTTOOLINFOA_V1_S
122e0 49 5a 45 20 3d 20 54 4f 4f 4c 49 4e 46 4f 41 2e  IZE = TOOLINFOA.
122f0 6c 50 61 72 61 6d 2e 6f 66 66 73 65 74 6f 66 2c  lParam.offsetof,
12300 0d 0a 09 09 54 54 54 4f 4f 4c 49 4e 46 4f 57 5f  ....TTTOOLINFOW_
12310 56 31 5f 53 49 5a 45 20 3d 20 54 4f 4f 4c 49 4e  V1_SIZE = TOOLIN
12320 46 4f 57 2e 6c 50 61 72 61 6d 2e 6f 66 66 73 65  FOW.lParam.offse
12330 74 6f 66 2c 0d 0a 09 09 54 54 54 4f 4f 4c 49 4e  tof,....TTTOOLIN
12340 46 4f 41 5f 56 32 5f 53 49 5a 45 20 3d 20 54 4f  FOA_V2_SIZE = TO
12350 4f 4c 49 4e 46 4f 41 2e 73 69 7a 65 6f 66 2c 0d  OLINFOA.sizeof,.
12360 0a 09 09 54 54 54 4f 4f 4c 49 4e 46 4f 57 5f 56  ...TTTOOLINFOW_V
12370 32 5f 53 49 5a 45 20 3d 20 54 4f 4f 4c 49 4e 46  2_SIZE = TOOLINF
12380 4f 57 2e 73 69 7a 65 6f 66 3b 0d 0a 7d 20 65 6c  OW.sizeof;..} el
12390 73 65 20 7b 0d 0a 09 73 74 72 75 63 74 20 54 4f  se {...struct TO
123a0 4f 4c 49 4e 46 4f 41 20 7b 0d 0a 09 09 55 49 4e  OLINFOA {....UIN
123b0 54 20 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20  T      cbSize = 
123c0 54 4f 4f 4c 49 4e 46 4f 41 2e 73 69 7a 65 6f 66  TOOLINFOA.sizeof
123d0 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 20 75  ;....UINT      u
123e0 46 6c 61 67 73 3b 0d 0a 09 09 48 57 4e 44 20 20  Flags;....HWND  
123f0 20 20 20 20 68 77 6e 64 3b 0d 0a 09 09 55 49 4e      hwnd;....UIN
12400 54 20 20 20 20 20 20 75 49 64 3b 0d 0a 09 09 52  T      uId;....R
12410 45 43 54 20 20 20 20 20 20 72 65 63 74 3b 0d 0a  ECT      rect;..
12420 09 09 48 49 4e 53 54 41 4e 43 45 20 68 69 6e 73  ..HINSTANCE hins
12430 74 3b 0d 0a 09 09 4c 50 53 54 52 20 20 20 20 20  t;....LPSTR     
12440 6c 70 73 7a 54 65 78 74 3b 0d 0a 09 7d 0d 0a 0d  lpszText;...}...
12450 0a 09 73 74 72 75 63 74 20 54 4f 4f 4c 49 4e 46  ..struct TOOLINF
12460 4f 57 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20  OW {....UINT    
12470 20 20 63 62 53 69 7a 65 20 3d 20 54 4f 4f 4c 49    cbSize = TOOLI
12480 4e 46 4f 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09  NFOW.sizeof;....
12490 55 49 4e 54 20 20 20 20 20 20 75 46 6c 61 67 73  UINT      uFlags
124a0 3b 0d 0a 09 09 48 57 4e 44 20 20 20 20 20 20 68  ;....HWND      h
124b0 77 6e 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20  wnd;....UINT    
124c0 20 20 75 49 64 3b 0d 0a 09 09 52 45 43 54 20 20    uId;....RECT  
124d0 20 20 20 20 72 65 63 74 3b 0d 0a 09 09 48 49 4e      rect;....HIN
124e0 53 54 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 09  STANCE hinst;...
124f0 09 4c 50 57 53 54 52 20 20 20 20 6c 70 73 7a 54  .LPWSTR    lpszT
12500 65 78 74 3b 0d 0a 09 7d 0d 0a 0d 0a 09 63 6f 6e  ext;...}.....con
12510 73 74 20 73 69 7a 65 5f 74 0d 0a 09 09 54 54 54  st size_t....TTT
12520 4f 4f 4c 49 4e 46 4f 41 5f 56 31 5f 53 49 5a 45  OOLINFOA_V1_SIZE
12530 20 3d 20 54 4f 4f 4c 49 4e 46 4f 41 2e 73 69 7a   = TOOLINFOA.siz
12540 65 6f 66 2c 0d 0a 09 09 54 54 54 4f 4f 4c 49 4e  eof,....TTTOOLIN
12550 46 4f 57 5f 56 31 5f 53 49 5a 45 20 3d 20 54 4f  FOW_V1_SIZE = TO
12560 4f 4c 49 4e 46 4f 57 2e 73 69 7a 65 6f 66 3b 0d  OLINFOW.sizeof;.
12570 0a 7d 0d 0a 61 6c 69 61 73 20 54 4f 4f 4c 49 4e  .}..alias TOOLIN
12580 46 4f 41 20 54 54 54 4f 4f 4c 49 4e 46 4f 41 3b  FOA TTTOOLINFOA;
12590 0d 0a 61 6c 69 61 73 20 54 4f 4f 4c 49 4e 46 4f  ..alias TOOLINFO
125a0 57 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a  W TTTOOLINFOW;..
125b0 61 6c 69 61 73 20 54 54 54 4f 4f 4c 49 4e 46 4f  alias TTTOOLINFO
125c0 41 2a 20 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 41  A* LPTTTOOLINFOA
125d0 2c 20 50 54 4f 4f 4c 49 4e 46 4f 41 2c 20 4c 50  , PTOOLINFOA, LP
125e0 54 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  TOOLINFOA;..alia
125f0 73 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 2a 20 4c  s TTTOOLINFOW* L
12600 50 54 54 54 4f 4f 4c 49 4e 46 4f 57 2c 20 50 54  PTTTOOLINFOW, PT
12610 4f 4f 4c 49 4e 46 4f 57 2c 20 4c 50 54 4f 4f 4c  OOLINFOW, LPTOOL
12620 49 4e 46 4f 57 3b 0d 0a 0d 0a 73 74 72 75 63 74  INFOW;....struct
12630 20 54 54 48 49 54 54 45 53 54 49 4e 46 4f 41 20   TTHITTESTINFOA 
12640 7b 0d 0a 09 48 57 4e 44 20 20 20 20 20 20 68 77  {...HWND      hw
12650 6e 64 3b 0d 0a 09 50 4f 49 4e 54 20 20 20 20 20  nd;...POINT     
12660 70 74 3b 0d 0a 09 54 4f 4f 4c 49 4e 46 4f 41 20  pt;...TOOLINFOA 
12670 74 69 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 54 54  ti;..}..alias TT
12680 48 49 54 54 45 53 54 49 4e 46 4f 41 2a 20 4c 50  HITTESTINFOA* LP
12690 54 54 48 49 54 54 45 53 54 49 4e 46 4f 41 2c 20  TTHITTESTINFOA, 
126a0 4c 50 48 49 54 54 45 53 54 49 4e 46 4f 41 3b 0d  LPHITTESTINFOA;.
126b0 0a 0d 0a 73 74 72 75 63 74 20 54 54 48 49 54 54  ...struct TTHITT
126c0 45 53 54 49 4e 46 4f 57 20 7b 0d 0a 09 48 57 4e  ESTINFOW {...HWN
126d0 44 20 20 20 20 20 20 68 77 6e 64 3b 0d 0a 09 50  D      hwnd;...P
126e0 4f 49 4e 54 20 20 20 20 20 70 74 3b 0d 0a 09 54  OINT     pt;...T
126f0 4f 4f 4c 49 4e 46 4f 57 20 74 69 3b 0d 0a 7d 0d  OOLINFOW ti;..}.
12700 0a 61 6c 69 61 73 20 54 54 48 49 54 54 45 53 54  .alias TTHITTEST
12710 49 4e 46 4f 57 2a 20 4c 50 54 54 48 49 54 54 45  INFOW* LPTTHITTE
12720 53 54 49 4e 46 4f 57 2c 20 4c 50 48 49 54 54 45  STINFOW, LPHITTE
12730 53 54 49 4e 46 4f 57 3b 0d 0a 0d 0a 73 74 61 74  STINFOW;....stat
12740 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
12750 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09 73   >= 0x300) {...s
12760 74 72 75 63 74 20 4e 4d 54 54 44 49 53 50 49 4e  truct NMTTDISPIN
12770 46 4f 41 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20  FOA {....NMHDR  
12780 20 20 20 68 64 72 3b 0d 0a 09 09 4c 50 53 54 52     hdr;....LPSTR
12790 20 20 20 20 20 6c 70 73 7a 54 65 78 74 3b 0d 0a       lpszText;..
127a0 09 09 63 68 61 72 5b 38 30 5d 20 20 73 7a 54 65  ..char[80]  szTe
127b0 78 74 3b 0d 0a 09 09 48 49 4e 53 54 41 4e 43 45  xt;....HINSTANCE
127c0 20 68 69 6e 73 74 3b 0d 0a 09 09 55 49 4e 54 20   hinst;....UINT 
127d0 20 20 20 20 20 75 46 6c 61 67 73 3b 0d 0a 09 09       uFlags;....
127e0 4c 50 41 52 41 4d 20 20 20 20 6c 50 61 72 61 6d  LPARAM    lParam
127f0 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 72 75 63 74  ;...}.....struct
12800 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 20 7b   NMTTDISPINFOW {
12810 0d 0a 09 09 4e 4d 48 44 52 20 20 20 20 20 68 64  ....NMHDR     hd
12820 72 3b 0d 0a 09 09 4c 50 57 53 54 52 20 20 20 20  r;....LPWSTR    
12830 6c 70 73 7a 54 65 78 74 3b 0d 0a 09 09 57 43 48  lpszText;....WCH
12840 41 52 5b 38 30 5d 20 73 7a 54 65 78 74 3b 0d 0a  AR[80] szText;..
12850 09 09 48 49 4e 53 54 41 4e 43 45 20 68 69 6e 73  ..HINSTANCE hins
12860 74 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 20  t;....UINT      
12870 75 46 6c 61 67 73 3b 0d 0a 09 09 4c 50 41 52 41  uFlags;....LPARA
12880 4d 20 20 20 20 6c 50 61 72 61 6d 3b 0d 0a 09 7d  M    lParam;...}
12890 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 73 74 72  ..} else {...str
128a0 75 63 74 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f  uct NMTTDISPINFO
128b0 41 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20 20  A {....NMHDR    
128c0 20 68 64 72 3b 0d 0a 09 09 4c 50 53 54 52 20 20   hdr;....LPSTR  
128d0 20 20 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 09 09     lpszText;....
128e0 63 68 61 72 5b 38 30 5d 20 20 73 7a 54 65 78 74  char[80]  szText
128f0 3b 0d 0a 09 09 48 49 4e 53 54 41 4e 43 45 20 68  ;....HINSTANCE h
12900 69 6e 73 74 3b 0d 0a 09 09 55 49 4e 54 20 20 20  inst;....UINT   
12910 20 20 20 75 46 6c 61 67 73 3b 0d 0a 09 7d 0d 0a     uFlags;...}..
12920 0d 0a 09 73 74 72 75 63 74 20 4e 4d 54 54 44 49  ...struct NMTTDI
12930 53 50 49 4e 46 4f 57 20 7b 0d 0a 09 09 4e 4d 48  SPINFOW {....NMH
12940 44 52 20 20 20 20 20 68 64 72 3b 0d 0a 09 09 4c  DR     hdr;....L
12950 50 57 53 54 52 20 20 20 20 6c 70 73 7a 54 65 78  PWSTR    lpszTex
12960 74 3b 0d 0a 09 09 57 43 48 41 52 5b 38 30 5d 20  t;....WCHAR[80] 
12970 73 7a 54 65 78 74 3b 0d 0a 09 09 48 49 4e 53 54  szText;....HINST
12980 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 09 09 55  ANCE hinst;....U
12990 49 4e 54 20 20 20 20 20 20 75 46 6c 61 67 73 3b  INT      uFlags;
129a0 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e  ...}..}..alias N
129b0 4d 54 54 44 49 53 50 49 4e 46 4f 41 2a 20 4c 50  MTTDISPINFOA* LP
129c0 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 3b 0d 0a  NMTTDISPINFOA;..
129d0 61 6c 69 61 73 20 4e 4d 54 54 44 49 53 50 49 4e  alias NMTTDISPIN
129e0 46 4f 57 2a 20 4c 50 4e 4d 54 54 44 49 53 50 49  FOW* LPNMTTDISPI
129f0 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54  NFOW;..alias NMT
12a00 54 44 49 53 50 49 4e 46 4f 41 20 54 4f 4f 4c 54  TDISPINFOA TOOLT
12a10 49 50 54 45 58 54 41 3b 0d 0a 61 6c 69 61 73 20  IPTEXTA;..alias 
12a20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 20  LPNMTTDISPINFOA 
12a30 4c 50 54 4f 4f 4c 54 49 50 54 45 58 54 41 3b 0d  LPTOOLTIPTEXTA;.
12a40 0a 61 6c 69 61 73 20 4e 4d 54 54 44 49 53 50 49  .alias NMTTDISPI
12a50 4e 46 4f 57 20 54 4f 4f 4c 54 49 50 54 45 58 54  NFOW TOOLTIPTEXT
12a60 57 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 54  W;..alias LPNMTT
12a70 44 49 53 50 49 4e 46 4f 57 20 4c 50 54 4f 4f 4c  DISPINFOW LPTOOL
12a80 54 49 50 54 45 58 54 57 3b 0d 0a 0d 0a 73 74 72  TIPTEXTW;....str
12a90 75 63 74 20 55 44 41 43 43 45 4c 20 7b 0d 0a 09  uct UDACCEL {...
12aa0 55 49 4e 54 20 6e 53 65 63 3b 0d 0a 09 55 49 4e  UINT nSec;...UIN
12ab0 54 20 6e 49 6e 63 3b 0d 0a 7d 0d 0a 61 6c 69 61  T nInc;..}..alia
12ac0 73 20 55 44 41 43 43 45 4c 2a 20 4c 50 55 44 41  s UDACCEL* LPUDA
12ad0 43 43 45 4c 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  CCEL;....struct 
12ae0 4e 4d 55 50 44 4f 57 4e 20 7b 0d 0a 09 4e 4d 48  NMUPDOWN {...NMH
12af0 44 52 20 68 64 72 3b 0d 0a 09 69 6e 74 20 20 20  DR hdr;...int   
12b00 69 50 6f 73 3b 0d 0a 09 69 6e 74 20 20 20 69 44  iPos;...int   iD
12b10 65 6c 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  elta;..}..alias 
12b20 4e 4d 55 50 44 4f 57 4e 2a 20 4c 50 4e 4d 55 50  NMUPDOWN* LPNMUP
12b30 44 4f 57 4e 3b 0d 0a 0d 0a 64 65 70 72 65 63 61  DOWN;....depreca
12b40 74 65 64 20 7b 0d 0a 09 61 6c 69 61 73 20 4e 4d  ted {...alias NM
12b50 55 50 44 4f 57 4e 20 4e 4d 5f 55 50 44 4f 57 4e  UPDOWN NM_UPDOWN
12b60 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 4e 4d 55 50  ;...alias LPNMUP
12b70 44 4f 57 4e 20 4c 50 4e 4d 5f 55 50 44 4f 57 4e  DOWN LPNM_UPDOWN
12b80 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69  ;..}....static i
12b90 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
12ba0 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a 09 73 74  >= 0x501) {...st
12bb0 72 75 63 74 20 4c 56 49 54 45 4d 41 20 7b 0d 0a  ruct LVITEMA {..
12bc0 09 09 55 49 4e 54 20 20 20 6d 61 73 6b 3b 0d 0a  ..UINT   mask;..
12bd0 09 09 69 6e 74 20 20 20 20 69 49 74 65 6d 3b 0d  ..int    iItem;.
12be0 0a 09 09 69 6e 74 20 20 20 20 69 53 75 62 49 74  ...int    iSubIt
12bf0 65 6d 3b 0d 0a 09 09 55 49 4e 54 20 20 20 73 74  em;....UINT   st
12c00 61 74 65 3b 0d 0a 09 09 55 49 4e 54 20 20 20 73  ate;....UINT   s
12c10 74 61 74 65 4d 61 73 6b 3b 0d 0a 09 09 4c 50 53  tateMask;....LPS
12c20 54 52 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09  TR  pszText;....
12c30 69 6e 74 20 20 20 20 63 63 68 54 65 78 74 4d 61  int    cchTextMa
12c40 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49 6d  x;....int    iIm
12c50 61 67 65 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 6c  age;....LPARAM l
12c60 50 61 72 61 6d 3b 0d 0a 09 09 69 6e 74 20 20 20  Param;....int   
12c70 20 69 49 6e 64 65 6e 74 3b 0d 0a 09 09 69 6e 74   iIndent;....int
12c80 20 20 20 20 69 47 72 6f 75 70 49 64 3b 0d 0a 09      iGroupId;...
12c90 09 55 49 4e 54 20 20 20 63 43 6f 6c 75 6d 6e 73  .UINT   cColumns
12ca0 3b 0d 0a 09 09 50 55 49 4e 54 20 20 70 75 43 6f  ;....PUINT  puCo
12cb0 6c 75 6d 6e 73 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73  lumns;...}.....s
12cc0 74 72 75 63 74 20 4c 56 49 54 45 4d 57 20 7b 0d  truct LVITEMW {.
12cd0 0a 09 09 55 49 4e 54 20 20 20 6d 61 73 6b 3b 0d  ...UINT   mask;.
12ce0 0a 09 09 69 6e 74 20 20 20 20 69 49 74 65 6d 3b  ...int    iItem;
12cf0 0d 0a 09 09 69 6e 74 20 20 20 20 69 53 75 62 49  ....int    iSubI
12d00 74 65 6d 3b 0d 0a 09 09 55 49 4e 54 20 20 20 73  tem;....UINT   s
12d10 74 61 74 65 3b 0d 0a 09 09 55 49 4e 54 20 20 20  tate;....UINT   
12d20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 09 09 4c 50  stateMask;....LP
12d30 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 09  WSTR pszText;...
12d40 09 69 6e 74 20 20 20 20 63 63 68 54 65 78 74 4d  .int    cchTextM
12d50 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49  ax;....int    iI
12d60 6d 61 67 65 3b 0d 0a 09 09 4c 50 41 52 41 4d 20  mage;....LPARAM 
12d70 6c 50 61 72 61 6d 3b 0d 0a 09 09 69 6e 74 20 20  lParam;....int  
12d80 20 20 69 49 6e 64 65 6e 74 3b 0d 0a 09 09 69 6e    iIndent;....in
12d90 74 20 20 20 20 69 47 72 6f 75 70 49 64 3b 0d 0a  t    iGroupId;..
12da0 09 09 55 49 4e 54 20 20 20 63 43 6f 6c 75 6d 6e  ..UINT   cColumn
12db0 73 3b 0d 0a 09 09 50 55 49 4e 54 20 20 70 75 43  s;....PUINT  puC
12dc0 6f 6c 75 6d 6e 73 3b 0d 0a 09 7d 0d 0a 7d 20 65  olumns;...}..} e
12dd0 6c 73 65 20 73 74 61 74 69 63 20 69 66 20 28 5f  lse static if (_
12de0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30  WIN32_IE >= 0x30
12df0 30 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 4c 56  0) {...struct LV
12e00 49 54 45 4d 41 20 7b 0d 0a 09 09 55 49 4e 54 20  ITEMA {....UINT 
12e10 20 20 6d 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20    mask;....int  
12e20 20 20 69 49 74 65 6d 3b 0d 0a 09 09 69 6e 74 20    iItem;....int 
12e30 20 20 20 69 53 75 62 49 74 65 6d 3b 0d 0a 09 09     iSubItem;....
12e40 55 49 4e 54 20 20 20 73 74 61 74 65 3b 0d 0a 09  UINT   state;...
12e50 09 55 49 4e 54 20 20 20 73 74 61 74 65 4d 61 73  .UINT   stateMas
12e60 6b 3b 0d 0a 09 09 4c 50 53 54 52 20 20 70 73 7a  k;....LPSTR  psz
12e70 54 65 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20  Text;....int    
12e80 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69  cchTextMax;....i
12e90 6e 74 20 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09  nt    iImage;...
12ea0 09 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d  .LPARAM lParam;.
12eb0 0a 09 09 69 6e 74 20 20 20 20 69 49 6e 64 65 6e  ...int    iInden
12ec0 74 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 72 75 63  t;...}.....struc
12ed0 74 20 4c 56 49 54 45 4d 57 20 7b 0d 0a 09 09 55  t LVITEMW {....U
12ee0 49 4e 54 20 20 20 6d 61 73 6b 3b 0d 0a 09 09 69  INT   mask;....i
12ef0 6e 74 20 20 20 20 69 49 74 65 6d 3b 0d 0a 09 09  nt    iItem;....
12f00 69 6e 74 20 20 20 20 69 53 75 62 49 74 65 6d 3b  int    iSubItem;
12f10 0d 0a 09 09 55 49 4e 54 20 20 20 73 74 61 74 65  ....UINT   state
12f20 3b 0d 0a 09 09 55 49 4e 54 20 20 20 73 74 61 74  ;....UINT   stat
12f30 65 4d 61 73 6b 3b 0d 0a 09 09 4c 50 57 53 54 52  eMask;....LPWSTR
12f40 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09 69 6e 74   pszText;....int
12f50 20 20 20 20 63 63 68 54 65 78 74 4d 61 78 3b 0d      cchTextMax;.
12f60 0a 09 09 69 6e 74 20 20 20 20 69 49 6d 61 67 65  ...int    iImage
12f70 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 6c 50 61 72  ;....LPARAM lPar
12f80 61 6d 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49  am;....int    iI
12f90 6e 64 65 6e 74 3b 0d 0a 09 7d 0d 0a 7d 20 65 6c  ndent;...}..} el
12fa0 73 65 20 7b 0d 0a 09 73 74 72 75 63 74 20 4c 56  se {...struct LV
12fb0 49 54 45 4d 41 20 7b 0d 0a 09 09 55 49 4e 54 20  ITEMA {....UINT 
12fc0 20 20 6d 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20    mask;....int  
12fd0 20 20 69 49 74 65 6d 3b 0d 0a 09 09 69 6e 74 20    iItem;....int 
12fe0 20 20 20 69 53 75 62 49 74 65 6d 3b 0d 0a 09 09     iSubItem;....
12ff0 55 49 4e 54 20 20 20 73 74 61 74 65 3b 0d 0a 09  UINT   state;...
13000 09 55 49 4e 54 20 20 20 73 74 61 74 65 4d 61 73  .UINT   stateMas
13010 6b 3b 0d 0a 09 09 4c 50 53 54 52 20 20 70 73 7a  k;....LPSTR  psz
13020 54 65 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20  Text;....int    
13030 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69  cchTextMax;....i
13040 6e 74 20 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09  nt    iImage;...
13050 09 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d  .LPARAM lParam;.
13060 0a 09 7d 0d 0a 0d 0a 09 73 74 72 75 63 74 20 4c  ..}.....struct L
13070 56 49 54 45 4d 57 20 7b 0d 0a 09 09 55 49 4e 54  VITEMW {....UINT
13080 20 20 20 6d 61 73 6b 3b 0d 0a 09 09 69 6e 74 20     mask;....int 
13090 20 20 20 69 49 74 65 6d 3b 0d 0a 09 09 69 6e 74     iItem;....int
130a0 20 20 20 20 69 53 75 62 49 74 65 6d 3b 0d 0a 09      iSubItem;...
130b0 09 55 49 4e 54 20 20 20 73 74 61 74 65 3b 0d 0a  .UINT   state;..
130c0 09 09 55 49 4e 54 20 20 20 73 74 61 74 65 4d 61  ..UINT   stateMa
130d0 73 6b 3b 0d 0a 09 09 4c 50 57 53 54 52 20 70 73  sk;....LPWSTR ps
130e0 7a 54 65 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20  zText;....int   
130f0 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09   cchTextMax;....
13100 69 6e 74 20 20 20 20 69 49 6d 61 67 65 3b 0d 0a  int    iImage;..
13110 09 09 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b  ..LPARAM lParam;
13120 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4c  ...}..}..alias L
13130 56 49 54 45 4d 41 2a 20 4c 50 4c 56 49 54 45 4d  VITEMA* LPLVITEM
13140 41 3b 0d 0a 61 6c 69 61 73 20 4c 56 49 54 45 4d  A;..alias LVITEM
13150 57 2a 20 4c 50 4c 56 49 54 45 4d 57 3b 0d 0a 61  W* LPLVITEMW;..a
13160 6c 69 61 73 20 4c 56 49 54 45 4d 41 20 4c 56 5f  lias LVITEMA LV_
13170 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 4c 56  ITEMA;..alias LV
13180 49 54 45 4d 57 20 4c 56 5f 49 54 45 4d 57 3b 0d  ITEMW LV_ITEMW;.
13190 0a 0d 0a 73 74 72 75 63 74 20 4c 56 46 49 4e 44  ...struct LVFIND
131a0 49 4e 46 4f 41 20 7b 0d 0a 09 55 49 4e 54 20 20  INFOA {...UINT  
131b0 20 66 6c 61 67 73 3b 0d 0a 09 4c 50 43 53 54 52   flags;...LPCSTR
131c0 20 70 73 7a 3b 0d 0a 09 4c 50 41 52 41 4d 20 6c   psz;...LPARAM l
131d0 50 61 72 61 6d 3b 0d 0a 09 50 4f 49 4e 54 20 20  Param;...POINT  
131e0 70 74 3b 0d 0a 09 55 49 4e 54 20 20 20 76 6b 44  pt;...UINT   vkD
131f0 69 72 65 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a  irection;..}....
13200 73 74 72 75 63 74 20 4c 56 46 49 4e 44 49 4e 46  struct LVFINDINF
13210 4f 57 20 7b 0d 0a 09 55 49 4e 54 20 20 20 20 66  OW {...UINT    f
13220 6c 61 67 73 3b 0d 0a 09 4c 50 43 57 53 54 52 20  lags;...LPCWSTR 
13230 70 73 7a 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 6c  psz;...LPARAM  l
13240 50 61 72 61 6d 3b 0d 0a 09 50 4f 49 4e 54 20 20  Param;...POINT  
13250 20 70 74 3b 0d 0a 09 55 49 4e 54 20 20 20 20 76   pt;...UINT    v
13260 6b 44 69 72 65 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a  kDirection;..}..
13270 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44 49 4e  ..alias LVFINDIN
13280 46 4f 41 2a 20 4c 50 46 49 4e 44 49 4e 46 4f 41  FOA* LPFINDINFOA
13290 3b 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44 49  ;..alias LVFINDI
132a0 4e 46 4f 41 20 4c 56 5f 46 49 4e 44 49 4e 46 4f  NFOA LV_FINDINFO
132b0 41 3b 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44  A;..alias LVFIND
132c0 49 4e 46 4f 57 2a 20 4c 50 46 49 4e 44 49 4e 46  INFOW* LPFINDINF
132d0 4f 57 3b 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e  OW;..alias LVFIN
132e0 44 49 4e 46 4f 57 20 4c 56 5f 46 49 4e 44 49 4e  DINFOW LV_FINDIN
132f0 46 4f 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4e  FOW;....struct N
13300 4d 4c 56 46 49 4e 44 49 54 45 4d 41 20 7b 0d 0a  MLVFINDITEMA {..
13310 09 4e 4d 48 44 52 20 20 20 20 20 20 20 68 64 72  .NMHDR       hdr
13320 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 20 20 20  ;...int         
13330 69 53 74 61 72 74 3b 0d 0a 09 4c 56 46 49 4e 44  iStart;...LVFIND
13340 49 4e 46 4f 41 20 6c 76 66 69 3b 0d 0a 7d 0d 0a  INFOA lvfi;..}..
13350 0d 0a 73 74 72 75 63 74 20 4e 4d 4c 56 46 49 4e  ..struct NMLVFIN
13360 44 49 54 45 4d 57 20 7b 0d 0a 09 4e 4d 48 44 52  DITEMW {...NMHDR
13370 20 20 20 20 20 20 20 68 64 72 3b 0d 0a 09 69 6e         hdr;...in
13380 74 20 20 20 20 20 20 20 20 20 69 53 74 61 72 74  t         iStart
13390 3b 0d 0a 09 4c 56 46 49 4e 44 49 4e 46 4f 57 20  ;...LVFINDINFOW 
133a0 6c 76 66 69 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61  lvfi;..}....alia
133b0 73 20 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 2a  s NMLVFINDITEMA*
133c0 20 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 2c   PNMLVFINDITEMA,
133d0 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41   LPNMLVFINDITEMA
133e0 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 46 49 4e  ;..alias NMLVFIN
133f0 44 49 54 45 4d 57 2a 20 50 4e 4d 4c 56 46 49 4e  DITEMW* PNMLVFIN
13400 44 49 54 45 4d 57 2c 20 4c 50 4e 4d 4c 56 46 49  DITEMW, LPNMLVFI
13410 4e 44 49 54 45 4d 57 3b 0d 0a 0d 0a 73 74 61 74  NDITEMW;....stat
13420 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
13430 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09 73   >= 0x300) {...s
13440 74 72 75 63 74 20 4c 56 48 49 54 54 45 53 54 49  truct LVHITTESTI
13450 4e 46 4f 20 7b 0d 0a 09 09 50 4f 49 4e 54 20 70  NFO {....POINT p
13460 74 3b 0d 0a 09 09 55 49 4e 54 20 20 66 6c 61 67  t;....UINT  flag
13470 73 3b 0d 0a 09 09 69 6e 74 20 20 20 69 49 74 65  s;....int   iIte
13480 6d 3b 0d 0a 09 09 69 6e 74 20 20 20 69 53 75 62  m;....int   iSub
13490 49 74 65 6d 3b 0d 0a 09 7d 0d 0a 7d 20 65 6c 73  Item;...}..} els
134a0 65 20 7b 0d 0a 09 73 74 72 75 63 74 20 4c 56 48  e {...struct LVH
134b0 49 54 54 45 53 54 49 4e 46 4f 20 7b 0d 0a 09 09  ITTESTINFO {....
134c0 50 4f 49 4e 54 20 70 74 3b 0d 0a 09 09 55 49 4e  POINT pt;....UIN
134d0 54 20 20 66 6c 61 67 73 3b 0d 0a 09 09 69 6e 74  T  flags;....int
134e0 20 20 20 69 49 74 65 6d 3b 0d 0a 09 7d 0d 0a 7d     iItem;...}..}
134f0 0d 0a 61 6c 69 61 73 20 4c 56 48 49 54 54 45 53  ..alias LVHITTES
13500 54 49 4e 46 4f 2a 20 4c 50 4c 56 48 49 54 54 45  TINFO* LPLVHITTE
13510 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4c  STINFO;..alias L
13520 56 48 49 54 54 45 53 54 49 4e 46 4f 20 4c 56 5f  VHITTESTINFO LV_
13530 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a  HITTESTINFO;....
13540 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
13550 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29 20 7b  2_IE >= 0x300) {
13560 0d 0a 09 73 74 72 75 63 74 20 4c 56 43 4f 4c 55  ...struct LVCOLU
13570 4d 4e 41 20 7b 0d 0a 09 09 55 49 4e 54 20 20 6d  MNA {....UINT  m
13580 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20 20 66 6d  ask;....int   fm
13590 74 3b 0d 0a 09 09 69 6e 74 20 20 20 63 78 3b 0d  t;....int   cx;.
135a0 0a 09 09 4c 50 53 54 52 20 70 73 7a 54 65 78 74  ...LPSTR pszText
135b0 3b 0d 0a 09 09 69 6e 74 20 20 20 63 63 68 54 65  ;....int   cchTe
135c0 78 74 4d 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20  xtMax;....int   
135d0 69 53 75 62 49 74 65 6d 3b 0d 0a 09 09 69 6e 74  iSubItem;....int
135e0 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09 09 69 6e     iImage;....in
135f0 74 20 20 20 69 4f 72 64 65 72 3b 0d 0a 09 7d 0d  t   iOrder;...}.
13600 0a 09 73 74 72 75 63 74 20 4c 56 43 4f 4c 55 4d  ..struct LVCOLUM
13610 4e 57 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 6d  NW {....UINT   m
13620 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20 20 20 66  ask;....int    f
13630 6d 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20 63 78  mt;....int    cx
13640 3b 0d 0a 09 09 4c 50 57 53 54 52 20 70 73 7a 54  ;....LPWSTR pszT
13650 65 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20 63  ext;....int    c
13660 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69 6e  chTextMax;....in
13670 74 20 20 20 20 69 53 75 62 49 74 65 6d 3b 0d 0a  t    iSubItem;..
13680 09 09 69 6e 74 20 20 20 20 69 49 6d 61 67 65 3b  ..int    iImage;
13690 0d 0a 09 09 69 6e 74 20 20 20 20 69 4f 72 64 65  ....int    iOrde
136a0 72 3b 0d 0a 09 7d 0d 0a 7d 20 65 6c 73 65 20 7b  r;...}..} else {
136b0 0d 0a 09 73 74 72 75 63 74 20 4c 56 43 4f 4c 55  ...struct LVCOLU
136c0 4d 4e 41 20 7b 0d 0a 09 09 55 49 4e 54 20 20 6d  MNA {....UINT  m
136d0 61 73 6b 3b 0d 0a 09 09 69 6e 74 20 20 20 66 6d  ask;....int   fm
136e0 74 3b 0d 0a 09 09 69 6e 74 20 20 20 63 78 3b 0d  t;....int   cx;.
136f0 0a 09 09 4c 50 53 54 52 20 70 73 7a 54 65 78 74  ...LPSTR pszText
13700 3b 0d 0a 09 09 69 6e 74 20 20 20 63 63 68 54 65  ;....int   cchTe
13710 78 74 4d 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20  xtMax;....int   
13720 69 53 75 62 49 74 65 6d 3b 0d 0a 09 7d 0d 0a 09  iSubItem;...}...
13730 73 74 72 75 63 74 20 4c 56 43 4f 4c 55 4d 4e 57  struct LVCOLUMNW
13740 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 6d 61 73   {....UINT   mas
13750 6b 3b 0d 0a 09 09 69 6e 74 20 20 20 20 66 6d 74  k;....int    fmt
13760 3b 0d 0a 09 09 69 6e 74 20 20 20 20 63 78 3b 0d  ;....int    cx;.
13770 0a 09 09 4c 50 57 53 54 52 20 70 73 7a 54 65 78  ...LPWSTR pszTex
13780 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20 63 63 68  t;....int    cch
13790 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69 6e 74 20  TextMax;....int 
137a0 20 20 20 69 53 75 62 49 74 65 6d 3b 0d 0a 09 7d     iSubItem;...}
137b0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c  ..}..alias LVCOL
137c0 55 4d 4e 41 2a 20 4c 50 4c 56 43 4f 4c 55 4d 4e  UMNA* LPLVCOLUMN
137d0 41 3b 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c 55  A;..alias LVCOLU
137e0 4d 4e 57 2a 20 4c 50 4c 56 43 4f 4c 55 4d 4e 57  MNW* LPLVCOLUMNW
137f0 3b 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d  ;..alias LVCOLUM
13800 4e 41 20 4c 56 5f 43 4f 4c 55 4d 4e 41 3b 0d 0a  NA LV_COLUMNA;..
13810 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d 4e 57 20  alias LVCOLUMNW 
13820 4c 56 5f 43 4f 4c 55 4d 4e 57 3b 0d 0a 0d 0a 73  LV_COLUMNW;....s
13830 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
13840 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29  _WINNT >= 0x501)
13850 20 7b 0d 0a 09 2f 2a 09 53 47 3a 20 54 68 65 20   {.../*.SG: The 
13860 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 20 74  definitions in t
13870 68 69 73 20 73 74 61 74 69 63 20 69 66 20 62 6c  his static if bl
13880 6f 63 6b 20 61 72 65 20 66 72 6f 6d 20 74 68 65  ock are from the
13890 20 4d 53 44 4e 20 64 6f 63 73 2e 0d 0a 09 20 2a   MSDN docs.... *
138a0 09 54 68 65 79 20 61 72 65 20 6e 6f 74 20 69 6e  .They are not in
138b0 20 4d 69 6e 47 57 2c 20 62 75 74 20 6e 6f 6e 65   MinGW, but none
138c0 74 68 65 6c 65 73 73 20 72 65 71 75 69 72 65 64  theless required
138d0 20 66 6f 72 20 6d 61 63 72 6f 73 20 74 68 61 74   for macros that
138e0 20 61 72 65 2e 0d 0a 09 20 2a 2f 0d 0a 09 73 74   are.... */...st
138f0 72 75 63 74 20 4c 56 47 52 4f 55 50 20 7b 0d 0a  ruct LVGROUP {..
13900 09 09 55 49 4e 54 20 20 20 20 63 62 53 69 7a 65  ..UINT    cbSize
13910 20 3d 20 4c 56 47 52 4f 55 50 2e 73 69 7a 65 6f   = LVGROUP.sizeo
13920 66 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 6d 61  f;....UINT    ma
13930 73 6b 3b 0d 0a 09 09 4c 50 57 53 54 52 20 20 70  sk;....LPWSTR  p
13940 73 7a 48 65 61 64 65 72 3b 0d 0a 09 09 69 6e 74  szHeader;....int
13950 20 20 20 20 20 63 63 68 48 65 61 64 65 72 3b 0d       cchHeader;.
13960 0a 09 09 4c 50 57 53 54 52 20 20 70 73 7a 46 6f  ...LPWSTR  pszFo
13970 6f 74 65 72 3b 0d 0a 09 09 69 6e 74 20 20 20 20  oter;....int    
13980 20 63 63 68 46 6f 6f 74 65 72 3b 0d 0a 09 09 69   cchFooter;....i
13990 6e 74 20 20 20 20 20 69 47 72 6f 75 70 49 64 3b  nt     iGroupId;
139a0 0d 0a 09 09 55 49 4e 54 20 20 20 20 73 74 61 74  ....UINT    stat
139b0 65 4d 61 73 6b 3b 0d 0a 09 09 55 49 4e 54 20 20  eMask;....UINT  
139c0 20 20 73 74 61 74 65 3b 0d 0a 09 09 55 49 4e 54    state;....UINT
139d0 20 20 20 20 75 41 6c 69 67 6e 3b 0d 0a 09 09 73      uAlign;....s
139e0 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
139f0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 36 30 30 29  _WINNT >= 0x600)
13a00 20 7b 0d 0a 09 09 09 4c 50 57 53 54 52 20 20 70   {.....LPWSTR  p
13a10 73 7a 53 75 62 74 69 74 6c 65 3b 0d 0a 09 09 09  szSubtitle;.....
13a20 55 49 4e 54 20 20 20 20 63 63 68 53 75 62 74 69  UINT    cchSubti
13a30 74 6c 65 3b 0d 0a 09 09 09 4c 50 57 53 54 52 20  tle;.....LPWSTR 
13a40 20 70 73 7a 54 61 73 6b 3b 0d 0a 09 09 09 55 49   pszTask;.....UI
13a50 4e 54 20 20 20 20 63 63 68 54 61 73 6b 3b 0d 0a  NT    cchTask;..
13a60 09 09 09 4c 50 57 53 54 52 20 20 70 73 7a 44 65  ...LPWSTR  pszDe
13a70 73 63 72 69 70 74 69 6f 6e 54 6f 70 3b 0d 0a 09  scriptionTop;...
13a80 09 09 55 49 4e 54 20 20 20 20 63 63 68 44 65 73  ..UINT    cchDes
13a90 63 72 69 70 74 69 6f 6e 54 6f 70 3b 0d 0a 09 09  criptionTop;....
13aa0 09 4c 50 57 53 54 52 20 20 70 73 7a 44 65 73 63  .LPWSTR  pszDesc
13ab0 72 69 70 74 69 6f 6e 42 6f 74 74 6f 6d 3b 0d 0a  riptionBottom;..
13ac0 09 09 09 55 49 4e 54 20 20 20 20 63 63 68 44 65  ...UINT    cchDe
13ad0 73 63 72 69 70 74 69 6f 6e 42 6f 74 74 6f 6d 3b  scriptionBottom;
13ae0 0d 0a 09 09 09 69 6e 74 20 20 20 20 20 69 54 69  .....int     iTi
13af0 74 6c 65 49 6d 61 67 65 3b 0d 0a 09 09 09 69 6e  tleImage;.....in
13b00 74 20 20 20 20 20 69 45 78 74 65 6e 64 65 64 49  t     iExtendedI
13b10 6d 61 67 65 3b 0d 0a 09 09 09 69 6e 74 20 20 20  mage;.....int   
13b20 20 20 69 46 69 72 73 74 49 74 65 6d 3b 20 20 20    iFirstItem;   
13b30 20 20 20 20 20 20 2f 2f 20 52 65 61 64 20 6f 6e        // Read on
13b40 6c 79 0d 0a 09 09 09 55 49 4e 54 20 20 20 20 63  ly.....UINT    c
13b50 49 74 65 6d 73 3b 20 20 20 20 20 20 20 20 20 20  Items;          
13b60 20 20 20 2f 2f 20 52 65 61 64 20 6f 6e 6c 79 0d     // Read only.
13b70 0a 09 09 09 4c 50 57 53 54 52 20 20 70 73 7a 53  ....LPWSTR  pszS
13b80 75 62 73 65 74 54 69 74 6c 65 3b 20 20 20 20 20  ubsetTitle;     
13b90 2f 2f 20 4e 55 4c 4c 20 69 66 20 67 72 6f 75 70  // NULL if group
13ba0 20 69 73 20 6e 6f 74 20 73 75 62 73 65 74 0d 0a   is not subset..
13bb0 09 09 09 55 49 4e 54 20 20 20 20 63 63 68 53 75  ...UINT    cchSu
13bc0 62 73 65 74 54 69 74 6c 65 3b 0d 0a 09 09 7d 0d  bsetTitle;....}.
13bd0 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4c 56 47 52  ..}...alias LVGR
13be0 4f 55 50 2a 20 50 4c 56 47 52 4f 55 50 3b 0d 0a  OUP* PLVGROUP;..
13bf0 0d 0a 09 73 74 72 75 63 74 20 4c 56 47 52 4f 55  ...struct LVGROU
13c00 50 4d 45 54 52 49 43 53 20 7b 0d 0a 09 09 55 49  PMETRICS {....UI
13c10 4e 54 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20  NT     cbSize = 
13c20 4c 56 47 52 4f 55 50 4d 45 54 52 49 43 53 2e 73  LVGROUPMETRICS.s
13c30 69 7a 65 6f 66 3b 0d 0a 09 09 55 49 4e 54 20 20  izeof;....UINT  
13c40 20 20 20 6d 61 73 6b 3b 0d 0a 09 09 55 49 4e 54     mask;....UINT
13c50 20 20 20 20 20 4c 65 66 74 3b 0d 0a 09 09 55 49       Left;....UI
13c60 4e 54 20 20 20 20 20 54 6f 70 3b 0d 0a 09 09 55  NT     Top;....U
13c70 49 4e 54 20 20 20 20 20 52 69 67 68 74 3b 0d 0a  INT     Right;..
13c80 09 09 55 49 4e 54 20 20 20 20 20 42 6f 74 74 6f  ..UINT     Botto
13c90 6d 3b 0d 0a 09 09 43 4f 4c 4f 52 52 45 46 20 63  m;....COLORREF c
13ca0 72 4c 65 66 74 3b 0d 0a 09 09 43 4f 4c 4f 52 52  rLeft;....COLORR
13cb0 45 46 20 63 72 54 6f 70 3b 0d 0a 09 09 43 4f 4c  EF crTop;....COL
13cc0 4f 52 52 45 46 20 63 72 52 69 67 68 74 3b 0d 0a  ORREF crRight;..
13cd0 09 09 43 4f 4c 4f 52 52 45 46 20 63 72 42 6f 74  ..COLORREF crBot
13ce0 74 6f 6d 3b 0d 0a 09 09 43 4f 4c 4f 52 52 45 46  tom;....COLORREF
13cf0 20 63 72 48 65 61 64 65 72 3b 0d 0a 09 09 43 4f   crHeader;....CO
13d00 4c 4f 52 52 45 46 20 63 72 46 6f 6f 74 65 72 3b  LORREF crFooter;
13d10 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4c 56 47  ...}...alias LVG
13d20 52 4f 55 50 4d 45 54 52 49 43 53 2a 20 50 4c 56  ROUPMETRICS* PLV
13d30 47 52 4f 55 50 4d 45 54 52 49 43 53 3b 0d 0a 0d  GROUPMETRICS;...
13d40 0a 09 73 74 72 75 63 74 20 4c 56 49 4e 53 45 52  ..struct LVINSER
13d50 54 4d 41 52 4b 20 7b 0d 0a 09 09 55 49 4e 54 20  TMARK {....UINT 
13d60 20 63 62 53 69 7a 65 20 3d 20 4c 56 49 4e 53 45   cbSize = LVINSE
13d70 52 54 4d 41 52 4b 2e 73 69 7a 65 6f 66 3b 0d 0a  RTMARK.sizeof;..
13d80 09 09 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b  ..DWORD dwFlags;
13d90 0d 0a 09 09 69 6e 74 20 20 20 69 49 74 65 6d 3b  ....int   iItem;
13da0 0d 0a 09 09 44 57 4f 52 44 20 64 77 52 65 73 65  ....DWORD dwRese
13db0 72 76 65 64 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61  rved;...}...alia
13dc0 73 20 4c 56 49 4e 53 45 52 54 4d 41 52 4b 2a 20  s LVINSERTMARK* 
13dd0 50 4c 56 49 4e 53 45 52 54 4d 41 52 4b 3b 0d 0a  PLVINSERTMARK;..
13de0 09 61 6c 69 61 73 20 4c 56 49 4e 53 45 52 54 4d  .alias LVINSERTM
13df0 41 52 4b 2a 20 4c 50 4c 56 49 4e 53 45 52 54 4d  ARK* LPLVINSERTM
13e00 41 52 4b 3b 0d 0a 0d 0a 09 73 74 72 75 63 74 20  ARK;.....struct 
13e10 4c 56 54 49 4c 45 49 4e 46 4f 20 7b 0d 0a 09 09  LVTILEINFO {....
13e20 55 49 4e 54 20 20 20 20 20 63 62 53 69 7a 65 20  UINT     cbSize 
13e30 3d 20 4c 56 54 49 4c 45 49 4e 46 4f 2e 73 69 7a  = LVTILEINFO.siz
13e40 65 6f 66 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20  eof;....int     
13e50 20 69 49 74 65 6d 3b 0d 0a 09 09 55 49 4e 54 20   iItem;....UINT 
13e60 20 20 20 20 63 43 6f 6c 75 6d 6e 73 3b 0d 0a 09      cColumns;...
13e70 09 50 55 49 4e 54 20 20 20 20 70 75 43 6f 6c 75  .PUINT    puColu
13e80 6d 6e 73 3b 0d 0a 09 09 73 74 61 74 69 63 20 69  mns;....static i
13e90 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
13ea0 3e 3d 20 30 78 36 30 30 29 20 7b 0d 0a 09 09 09  >= 0x600) {.....
13eb0 69 6e 74 2a 20 70 69 43 6f 6c 46 6d 74 3b 0d 0a  int* piColFmt;..
13ec0 09 09 7d 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20  ..}...}...alias 
13ed0 4c 56 54 49 4c 45 49 4e 46 4f 2a 20 50 4c 56 54  LVTILEINFO* PLVT
13ee0 49 4c 45 49 4e 46 4f 3b 0d 0a 0d 0a 09 73 74 72  ILEINFO;.....str
13ef0 75 63 74 20 4c 56 54 49 4c 45 56 49 45 57 49 4e  uct LVTILEVIEWIN
13f00 46 4f 20 7b 0d 0a 09 09 55 49 4e 54 20 20 63 62  FO {....UINT  cb
13f10 53 69 7a 65 20 3d 20 4c 56 54 49 4c 45 56 49 45  Size = LVTILEVIE
13f20 57 49 4e 46 4f 2e 73 69 7a 65 6f 66 3b 0d 0a 09  WINFO.sizeof;...
13f30 09 44 57 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a  .DWORD dwMask;..
13f40 09 09 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b  ..DWORD dwFlags;
13f50 0d 0a 09 09 53 49 5a 45 20 20 73 69 7a 65 54 69  ....SIZE  sizeTi
13f60 6c 65 3b 0d 0a 09 09 69 6e 74 20 20 20 63 4c 69  le;....int   cLi
13f70 6e 65 73 3b 0d 0a 09 09 52 45 43 54 20 20 72 63  nes;....RECT  rc
13f80 4c 61 62 65 6c 4d 61 72 67 69 6e 3b 0d 0a 09 7d  LabelMargin;...}
13f90 0d 0a 09 61 6c 69 61 73 20 4c 56 54 49 4c 45 56  ...alias LVTILEV
13fa0 49 45 57 49 4e 46 4f 2a 20 50 4c 56 54 49 4c 45  IEWINFO* PLVTILE
13fb0 56 49 45 57 49 4e 46 4f 3b 0d 0a 0d 0a 09 73 74  VIEWINFO;.....st
13fc0 72 75 63 74 20 4c 56 49 4e 53 45 52 54 47 52 4f  ruct LVINSERTGRO
13fd0 55 50 53 4f 52 54 45 44 20 7b 0d 0a 09 09 50 46  UPSORTED {....PF
13fe0 4e 4c 56 47 52 4f 55 50 43 4f 4d 50 41 52 45 20  NLVGROUPCOMPARE 
13ff0 70 66 6e 47 72 6f 75 70 43 6f 6d 70 61 72 65 3b  pfnGroupCompare;
14000 0d 0a 09 09 4c 50 56 4f 49 44 2a 20 70 76 44 61  ....LPVOID* pvDa
14010 74 61 3b 0d 0a 09 09 4c 56 47 52 4f 55 50 20 6c  ta;....LVGROUP l
14020 76 47 72 6f 75 70 3b 0d 0a 09 7d 0d 0a 09 61 6c  vGroup;...}...al
14030 69 61 73 20 4c 56 49 4e 53 45 52 54 47 52 4f 55  ias LVINSERTGROU
14040 50 53 4f 52 54 45 44 2a 20 50 4c 56 49 4e 53 45  PSORTED* PLVINSE
14050 52 54 47 52 4f 55 50 53 4f 52 54 45 44 3b 0d 0a  RTGROUPSORTED;..
14060 0d 0a 09 61 6c 69 61 73 20 69 6e 74 20 66 75 6e  ...alias int fun
14070 63 74 69 6f 6e 28 49 4e 54 2c 20 49 4e 54 2c 20  ction(INT, INT, 
14080 56 4f 49 44 2a 29 20 50 46 4e 4c 56 47 52 4f 55  VOID*) PFNLVGROU
14090 50 43 4f 4d 50 41 52 45 3b 0d 0a 0d 0a 09 73 74  PCOMPARE;.....st
140a0 72 75 63 74 20 4c 56 53 45 54 49 4e 46 4f 54 49  ruct LVSETINFOTI
140b0 50 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20 63  P {....UINT    c
140c0 62 53 69 7a 65 20 3d 20 4c 56 53 45 54 49 4e 46  bSize = LVSETINF
140d0 4f 54 49 50 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09  OTIP.sizeof;....
140e0 44 57 4f 52 44 20 20 20 64 77 46 6c 61 67 73 3b  DWORD   dwFlags;
140f0 0d 0a 09 09 4c 50 57 53 54 52 20 20 70 73 7a 54  ....LPWSTR  pszT
14100 65 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20  ext;....int     
14110 69 49 74 65 6d 3b 0d 0a 09 09 69 6e 74 20 20 20  iItem;....int   
14120 20 20 69 53 75 62 49 74 65 6d 3b 0d 0a 09 09 48    iSubItem;....H
14130 42 49 54 4d 41 50 20 68 62 6d 70 3b 0d 0a 09 7d  BITMAP hbmp;...}
14140 0d 0a 09 61 6c 69 61 73 20 4c 56 53 45 54 49 4e  ...alias LVSETIN
14150 46 4f 54 49 50 2a 20 50 4c 56 53 45 54 49 4e 46  FOTIP* PLVSETINF
14160 4f 54 49 50 3b 0d 0a 0d 0a 20 20 20 20 73 74 72  OTIP;....    str
14170 75 63 74 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45  uct BUTTON_IMAGE
14180 4c 49 53 54 20 7b 0d 0a 20 20 20 20 20 20 20 20  LIST {..        
14190 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b  HIMAGELIST himl;
141a0 0d 0a 20 20 20 20 20 20 20 20 52 45 43 54 20 6d  ..        RECT m
141b0 61 72 67 69 6e 3b 0d 0a 20 20 20 20 20 20 20 20  argin;..        
141c0 55 49 4e 54 20 75 41 6c 69 67 6e 3b 0d 0a 20 20  UINT uAlign;..  
141d0 20 20 7d 0d 0a 20 20 20 20 61 6c 69 61 73 20 42    }..    alias B
141e0 55 54 54 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 2a  UTTON_IMAGELIST*
141f0 20 50 42 55 54 54 4f 4e 5f 49 4d 41 47 45 4c 49   PBUTTON_IMAGELI
14200 53 54 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63  ST;..}....static
14210 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
14220 54 20 3e 3d 20 30 78 36 30 30 29 20 7b 0d 0a 20  T >= 0x600) {.. 
14230 20 20 20 73 74 72 75 63 74 20 4c 56 49 54 45 4d     struct LVITEM
14240 49 4e 44 45 58 0d 0a 20 20 20 20 7b 0d 0a 20 20  INDEX..    {..  
14250 20 20 20 20 20 20 69 6e 74 20 69 49 74 65 6d 3b        int iItem;
14260 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20 69 47  ..        int iG
14270 72 6f 75 70 3b 0d 0a 20 20 20 20 7d 3b 0d 0a 20  roup;..    };.. 
14280 20 20 20 61 6c 69 61 73 20 4c 56 49 54 45 4d 49     alias LVITEMI
14290 4e 44 45 58 2a 20 50 4c 56 49 54 45 4d 49 4e 44  NDEX* PLVITEMIND
142a0 45 58 3b 0d 0a 0d 0a 20 20 20 20 73 74 72 75 63  EX;....    struc
142b0 74 20 4c 56 46 4f 4f 54 45 52 49 4e 46 4f 0d 0a  t LVFOOTERINFO..
142c0 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 55      {..        U
142d0 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 20 20 20  INT mask;..     
142e0 20 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78     LPWSTR pszTex
142f0 74 3b 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 20  t;..        int 
14300 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 20  cchTextMax;..   
14310 20 20 20 20 20 55 49 4e 54 20 63 49 74 65 6d 73       UINT cItems
14320 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 61 6c  ;..    }..    al
14330 69 61 73 20 4c 56 46 4f 4f 54 45 52 49 4e 46 4f  ias LVFOOTERINFO
14340 2a 20 4c 50 4c 56 46 4f 4f 54 45 52 49 4e 46 4f  * LPLVFOOTERINFO
14350 3b 0d 0a 0d 0a 20 20 20 20 73 74 72 75 63 74 20  ;....    struct 
14360 4c 56 46 4f 4f 54 45 52 49 54 45 4d 0d 0a 20 20  LVFOOTERITEM..  
14370 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e    {..        UIN
14380 54 20 6d 61 73 6b 3b 0d 0a 20 20 20 20 20 20 20  T mask;..       
14390 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 20   int iItem;..   
143a0 20 20 20 20 20 4c 50 57 53 54 52 20 70 73 7a 54       LPWSTR pszT
143b0 65 78 74 3b 0d 0a 20 20 20 20 20 20 20 20 69 6e  ext;..        in
143c0 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20  t cchTextMax;.. 
143d0 20 20 20 20 20 20 20 55 49 4e 54 20 73 74 61 74         UINT stat
143e0 65 3b 0d 0a 20 20 20 20 20 20 20 20 55 49 4e 54  e;..        UINT
143f0 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 20 20 20   stateMask;..   
14400 20 7d 0d 0a 20 20 20 20 61 6c 69 61 73 20 4c 56   }..    alias LV
14410 46 4f 4f 54 45 52 49 54 45 4d 20 2a 4c 50 4c 56  FOOTERITEM *LPLV
14420 46 4f 4f 54 45 52 49 54 45 4d 3b 0d 0a 0d 0a 20  FOOTERITEM;.... 
14430 20 20 20 61 6c 69 61 73 20 55 49 4e 54 20 54 56     alias UINT TV
14440 49 54 45 4d 50 41 52 54 3b 0d 0a 20 20 20 20 65  ITEMPART;..    e
14450 6e 75 6d 20 7b 0d 0a 20 20 20 20 20 20 20 20 54  num {..        T
14460 56 47 49 50 52 5f 42 55 54 54 4f 4e 20 20 3d 20  VGIPR_BUTTON  = 
14470 30 78 30 30 30 31 2c 0d 0a 20 20 20 20 7d 0d 0a  0x0001,..    }..
14480 7d 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 66  }....alias int f
14490 75 6e 63 74 69 6f 6e 28 4c 50 41 52 41 4d 2c 20  unction(LPARAM, 
144a0 4c 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 20  LPARAM, LPARAM) 
144b0 50 46 4e 4c 56 43 4f 4d 50 41 52 45 3b 0d 0a 0d  PFNLVCOMPARE;...
144c0 0a 73 74 72 75 63 74 20 4e 4d 4c 49 53 54 56 49  .struct NMLISTVI
144d0 45 57 20 7b 0d 0a 09 4e 4d 48 44 52 20 20 68 64  EW {...NMHDR  hd
144e0 72 3b 0d 0a 09 69 6e 74 20 20 20 20 69 49 74 65  r;...int    iIte
144f0 6d 3b 0d 0a 09 69 6e 74 20 20 20 20 69 53 75 62  m;...int    iSub
14500 49 74 65 6d 3b 0d 0a 09 55 49 4e 54 20 20 20 75  Item;...UINT   u
14510 4e 65 77 53 74 61 74 65 3b 0d 0a 09 55 49 4e 54  NewState;...UINT
14520 20 20 20 75 4f 6c 64 53 74 61 74 65 3b 0d 0a 09     uOldState;...
14530 55 49 4e 54 20 20 20 75 43 68 61 6e 67 65 64 3b  UINT   uChanged;
14540 0d 0a 09 50 4f 49 4e 54 20 20 70 74 41 63 74 69  ...POINT  ptActi
14550 6f 6e 3b 0d 0a 09 4c 50 41 52 41 4d 20 6c 50 61  on;...LPARAM lPa
14560 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e  ram;..}..alias N
14570 4d 4c 49 53 54 56 49 45 57 2a 20 4c 50 4e 4d 4c  MLISTVIEW* LPNML
14580 49 53 54 56 49 45 57 3b 0d 0a 0d 0a 64 65 70 72  ISTVIEW;....depr
14590 65 63 61 74 65 64 20 7b 0d 0a 09 61 6c 69 61 73  ecated {...alias
145a0 20 4e 4d 4c 49 53 54 56 49 45 57 20 4e 4d 5f 4c   NMLISTVIEW NM_L
145b0 49 53 54 56 49 45 57 3b 0d 0a 09 61 6c 69 61 73  ISTVIEW;...alias
145c0 20 4c 50 4e 4d 4c 49 53 54 56 49 45 57 20 4c 50   LPNMLISTVIEW LP
145d0 4e 4d 5f 4c 49 53 54 56 49 45 57 3b 0d 0a 7d 0d  NM_LISTVIEW;..}.
145e0 0a 0d 0a 73 74 72 75 63 74 20 4e 4d 4c 56 44 49  ...struct NMLVDI
145f0 53 50 49 4e 46 4f 41 20 7b 0d 0a 09 4e 4d 48 44  SPINFOA {...NMHD
14600 52 20 20 20 20 68 64 72 3b 0d 0a 09 4c 56 5f 49  R    hdr;...LV_I
14610 54 45 4d 41 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 61  TEMA item;..}..a
14620 6c 69 61 73 20 4e 4d 4c 56 44 49 53 50 49 4e 46  lias NMLVDISPINF
14630 4f 41 2a 20 4c 50 4e 4d 4c 56 44 49 53 50 49 4e  OA* LPNMLVDISPIN
14640 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56  FOA;..alias NMLV
14650 44 49 53 50 49 4e 46 4f 41 20 4c 56 5f 44 49 53  DISPINFOA LV_DIS
14660 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63  PINFOA;....struc
14670 74 20 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 57 20  t NMLVDISPINFOW 
14680 7b 0d 0a 09 4e 4d 48 44 52 20 20 20 20 68 64 72  {...NMHDR    hdr
14690 3b 0d 0a 09 4c 56 5f 49 54 45 4d 57 20 69 74 65  ;...LV_ITEMW ite
146a0 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e 4d 4c  m;..}..alias NML
146b0 56 44 49 53 50 49 4e 46 4f 57 2a 20 4c 50 4e 4d  VDISPINFOW* LPNM
146c0 4c 56 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c  LVDISPINFOW;..al
146d0 69 61 73 20 4e 4d 4c 56 44 49 53 50 49 4e 46 4f  ias NMLVDISPINFO
146e0 57 20 4c 56 5f 44 49 53 50 49 4e 46 4f 57 3b 0d  W LV_DISPINFOW;.
146f0 0a 0d 0a 73 74 72 75 63 74 20 4c 56 5f 4b 45 59  ...struct LV_KEY
14700 44 4f 57 4e 20 7b 0d 0a 09 4e 4d 48 44 52 20 68  DOWN {...NMHDR h
14710 64 72 3b 0d 0a 09 57 4f 52 44 20 20 77 56 4b 65  dr;...WORD  wVKe
14720 79 3b 0d 0a 09 55 49 4e 54 20 20 66 6c 61 67 73  y;...UINT  flags
14730 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 4e  ;..}....struct N
14740 4d 4c 56 43 41 43 48 45 48 49 4e 54 20 7b 0d 0a  MLVCACHEHINT {..
14750 09 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 09 69 6e  .NMHDR hdr;...in
14760 74 20 20 20 69 46 72 6f 6d 3b 0d 0a 09 69 6e 74  t   iFrom;...int
14770 20 20 20 69 54 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61     iTo;..}..alia
14780 73 20 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54 2a  s NMLVCACHEHINT*
14790 20 4c 50 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54   LPNMLVCACHEHINT
147a0 2c 20 50 4e 4d 5f 43 41 43 48 45 48 49 4e 54 2c  , PNM_CACHEHINT,
147b0 20 4c 50 4e 4d 5f 43 41 43 48 45 48 49 4e 54 3b   LPNM_CACHEHINT;
147c0 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 43 41 43 48  ..alias NMLVCACH
147d0 45 48 49 4e 54 20 4e 4d 5f 43 41 43 48 45 48 49  EHINT NM_CACHEHI
147e0 4e 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 54 56  NT;....struct TV
147f0 49 54 45 4d 41 20 7b 0d 0a 09 55 49 4e 54 20 20  ITEMA {...UINT  
14800 20 20 20 20 6d 61 73 6b 3b 0d 0a 09 48 54 52 45      mask;...HTRE
14810 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d 0a 09 55  EITEM hItem;...U
14820 49 4e 54 20 20 20 20 20 20 73 74 61 74 65 3b 0d  INT      state;.
14830 0a 09 55 49 4e 54 20 20 20 20 20 20 73 74 61 74  ..UINT      stat
14840 65 4d 61 73 6b 3b 0d 0a 09 4c 50 53 54 52 20 20  eMask;...LPSTR  
14850 20 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09 69 6e     pszText;...in
14860 74 20 20 20 20 20 20 20 63 63 68 54 65 78 74 4d  t       cchTextM
14870 61 78 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 20  ax;...int       
14880 69 49 6d 61 67 65 3b 0d 0a 09 69 6e 74 20 20 20  iImage;...int   
14890 20 20 20 20 69 53 65 6c 65 63 74 65 64 49 6d 61      iSelectedIma
148a0 67 65 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 20  ge;...int       
148b0 63 43 68 69 6c 64 72 65 6e 3b 0d 0a 09 4c 50 41  cChildren;...LPA
148c0 52 41 4d 20 20 20 20 6c 50 61 72 61 6d 3b 0d 0a  RAM    lParam;..
148d0 7d 0d 0a 61 6c 69 61 73 20 54 56 49 54 45 4d 41  }..alias TVITEMA
148e0 2a 20 4c 50 54 56 49 54 45 4d 41 2c 20 4c 50 54  * LPTVITEMA, LPT
148f0 56 5f 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20  V_ITEMA;..alias 
14900 54 56 49 54 45 4d 41 20 54 56 5f 49 54 45 4d 41  TVITEMA TV_ITEMA
14910 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 54 56 49 54  ;....struct TVIT
14920 45 4d 57 20 7b 0d 0a 09 55 49 4e 54 20 20 20 20  EMW {...UINT    
14930 20 20 6d 61 73 6b 3b 0d 0a 09 48 54 52 45 45 49    mask;...HTREEI
14940 54 45 4d 20 68 49 74 65 6d 3b 0d 0a 09 55 49 4e  TEM hItem;...UIN
14950 54 20 20 20 20 20 20 73 74 61 74 65 3b 0d 0a 09  T      state;...
14960 55 49 4e 54 20 20 20 20 20 20 73 74 61 74 65 4d  UINT      stateM
14970 61 73 6b 3b 0d 0a 09 4c 50 57 53 54 52 20 20 20  ask;...LPWSTR   
14980 20 70 73 7a 54 65 78 74 3b 0d 0a 09 69 6e 74 20   pszText;...int 
14990 20 20 20 20 20 20 63 63 68 54 65 78 74 4d 61 78        cchTextMax
149a0 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 20 69 49  ;...int       iI
149b0 6d 61 67 65 3b 0d 0a 09 69 6e 74 20 20 20 20 20  mage;...int     
149c0 20 20 69 53 65 6c 65 63 74 65 64 49 6d 61 67 65    iSelectedImage
149d0 3b 0d 0a 09 69 6e 74 20 20 20 20 20 20 20 63 43  ;...int       cC
149e0 68 69 6c 64 72 65 6e 3b 0d 0a 09 4c 50 41 52 41  hildren;...LPARA
149f0 4d 20 20 20 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d  M    lParam;..}.
14a00 0a 61 6c 69 61 73 20 54 56 49 54 45 4d 57 2a 20  .alias TVITEMW* 
14a10 4c 50 54 56 49 54 45 4d 57 2c 20 4c 50 54 56 5f  LPTVITEMW, LPTV_
14a20 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 54 56  ITEMW;..alias TV
14a30 49 54 45 4d 57 20 54 56 5f 49 54 45 4d 57 3b 0d  ITEMW TV_ITEMW;.
14a40 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
14a50 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30  IN32_IE >= 0x400
14a60 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 54 56 49  ) {...struct TVI
14a70 54 45 4d 45 58 41 20 7b 0d 0a 09 09 55 49 4e 54  TEMEXA {....UINT
14a80 20 20 20 20 20 20 6d 61 73 6b 3b 0d 0a 09 09 48        mask;....H
14a90 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d  TREEITEM hItem;.
14aa0 0a 09 09 55 49 4e 54 20 20 20 20 20 20 73 74 61  ...UINT      sta
14ab0 74 65 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20  te;....UINT     
14ac0 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 09 09 4c   stateMask;....L
14ad0 50 53 54 52 20 20 20 20 20 70 73 7a 54 65 78 74  PSTR     pszText
14ae0 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 20 20 63  ;....int       c
14af0 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09 69 6e  chTextMax;....in
14b00 74 20 20 20 20 20 20 20 69 49 6d 61 67 65 3b 0d  t       iImage;.
14b10 0a 09 09 69 6e 74 20 20 20 20 20 20 20 69 53 65  ...int       iSe
14b20 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 09 09  lectedImage;....
14b30 69 6e 74 20 20 20 20 20 20 20 63 43 68 69 6c 64  int       cChild
14b40 72 65 6e 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 20  ren;....LPARAM  
14b50 20 20 6c 50 61 72 61 6d 3b 0d 0a 09 09 69 6e 74    lParam;....int
14b60 20 20 20 20 20 20 20 69 49 6e 74 65 67 72 61 6c         iIntegral
14b70 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 54 56  ;...}...alias TV
14b80 49 54 45 4d 45 58 41 2a 20 4c 50 54 56 49 54 45  ITEMEXA* LPTVITE
14b90 4d 45 58 41 3b 0d 0a 0d 0a 09 73 74 72 75 63 74  MEXA;.....struct
14ba0 20 54 56 49 54 45 4d 45 58 57 20 7b 0d 0a 09 09   TVITEMEXW {....
14bb0 55 49 4e 54 20 20 20 20 20 20 6d 61 73 6b 3b 0d  UINT      mask;.
14bc0 0a 09 09 48 54 52 45 45 49 54 45 4d 20 68 49 74  ...HTREEITEM hIt
14bd0 65 6d 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20  em;....UINT     
14be0 20 73 74 61 74 65 3b 0d 0a 09 09 55 49 4e 54 20   state;....UINT 
14bf0 20 20 20 20 20 73 74 61 74 65 4d 61 73 6b 3b 0d       stateMask;.
14c00 0a 09 09 4c 50 57 53 54 52 20 20 20 20 70 73 7a  ...LPWSTR    psz
14c10 54 65 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20  Text;....int    
14c20 20 20 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a     cchTextMax;..
14c30 09 09 69 6e 74 20 20 20 20 20 20 20 69 49 6d 61  ..int       iIma
14c40 67 65 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 20  ge;....int      
14c50 20 69 53 65 6c 65 63 74 65 64 49 6d 61 67 65 3b   iSelectedImage;
14c60 0d 0a 09 09 69 6e 74 20 20 20 20 20 20 20 63 43  ....int       cC
14c70 68 69 6c 64 72 65 6e 3b 0d 0a 09 09 4c 50 41 52  hildren;....LPAR
14c80 41 4d 20 20 20 20 6c 50 61 72 61 6d 3b 0d 0a 09  AM    lParam;...
14c90 09 69 6e 74 20 20 20 20 20 20 20 69 49 6e 74 65  .int       iInte
14ca0 67 72 61 6c 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61  gral;...}...alia
14cb0 73 20 54 56 49 54 45 4d 45 58 57 2a 20 4c 50 54  s TVITEMEXW* LPT
14cc0 56 49 54 45 4d 45 58 57 3b 0d 0a 7d 0d 0a 0d 0a  VITEMEXW;..}....
14cd0 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
14ce0 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b  2_IE >= 0x400) {
14cf0 0d 0a 09 73 74 72 75 63 74 20 54 56 49 4e 53 45  ...struct TVINSE
14d00 52 54 53 54 52 55 43 54 41 20 7b 0d 0a 09 09 48  RTSTRUCTA {....H
14d10 54 52 45 45 49 54 45 4d 20 68 50 61 72 65 6e 74  TREEITEM hParent
14d20 3b 0d 0a 09 09 48 54 52 45 45 49 54 45 4d 20 68  ;....HTREEITEM h
14d30 49 6e 73 65 72 74 41 66 74 65 72 3b 0d 0a 09 09  InsertAfter;....
14d40 75 6e 69 6f 6e 20 7b 0d 0a 09 09 09 54 56 49 54  union {.....TVIT
14d50 45 4d 45 58 41 20 69 74 65 6d 65 78 3b 0d 0a 09  EMEXA itemex;...
14d60 09 09 54 56 5f 49 54 45 4d 41 20 20 69 74 65 6d  ..TV_ITEMA  item
14d70 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 0d 0a 09 73  ;....}...}.....s
14d80 74 72 75 63 74 20 54 56 49 4e 53 45 52 54 53 54  truct TVINSERTST
14d90 52 55 43 54 57 20 7b 0d 0a 09 09 48 54 52 45 45  RUCTW {....HTREE
14da0 49 54 45 4d 20 68 50 61 72 65 6e 74 3b 0d 0a 09  ITEM hParent;...
14db0 09 48 54 52 45 45 49 54 45 4d 20 68 49 6e 73 65  .HTREEITEM hInse
14dc0 72 74 41 66 74 65 72 3b 0d 0a 09 09 75 6e 69 6f  rtAfter;....unio
14dd0 6e 20 7b 0d 0a 09 09 09 54 56 49 54 45 4d 45 58  n {.....TVITEMEX
14de0 57 20 69 74 65 6d 65 78 3b 0d 0a 09 09 09 54 56  W itemex;.....TV
14df0 5f 49 54 45 4d 57 20 20 69 74 65 6d 3b 0d 0a 09  _ITEMW  item;...
14e00 09 7d 0d 0a 09 7d 0d 0a 7d 20 65 6c 73 65 20 7b  .}...}..} else {
14e10 0d 0a 09 73 74 72 75 63 74 20 54 56 49 4e 53 45  ...struct TVINSE
14e20 52 54 53 54 52 55 43 54 41 20 7b 0d 0a 09 09 48  RTSTRUCTA {....H
14e30 54 52 45 45 49 54 45 4d 20 68 50 61 72 65 6e 74  TREEITEM hParent
14e40 3b 0d 0a 09 09 48 54 52 45 45 49 54 45 4d 20 68  ;....HTREEITEM h
14e50 49 6e 73 65 72 74 41 66 74 65 72 3b 0d 0a 09 09  InsertAfter;....
14e60 54 56 5f 49 54 45 4d 41 20 20 69 74 65 6d 3b 0d  TV_ITEMA  item;.
14e70 0a 09 7d 0d 0a 0d 0a 09 73 74 72 75 63 74 20 54  ..}.....struct T
14e80 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 20 7b  VINSERTSTRUCTW {
14e90 0d 0a 09 09 48 54 52 45 45 49 54 45 4d 20 68 50  ....HTREEITEM hP
14ea0 61 72 65 6e 74 3b 0d 0a 09 09 48 54 52 45 45 49  arent;....HTREEI
14eb0 54 45 4d 20 68 49 6e 73 65 72 74 41 66 74 65 72  TEM hInsertAfter
14ec0 3b 0d 0a 09 09 54 56 5f 49 54 45 4d 57 20 20 69  ;....TV_ITEMW  i
14ed0 74 65 6d 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c 69  tem;...}..}..ali
14ee0 61 73 20 54 56 49 4e 53 45 52 54 53 54 52 55 43  as TVINSERTSTRUC
14ef0 54 41 2a 20 4c 50 54 56 49 4e 53 45 52 54 53 54  TA* LPTVINSERTST
14f00 52 55 43 54 41 2c 20 4c 50 54 56 5f 49 4e 53 45  RUCTA, LPTV_INSE
14f10 52 54 53 54 52 55 43 54 41 3b 0d 0a 61 6c 69 61  RTSTRUCTA;..alia
14f20 73 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 54  s TVINSERTSTRUCT
14f30 41 20 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43  A TV_INSERTSTRUC
14f40 54 41 3b 0d 0a 61 6c 69 61 73 20 54 56 49 4e 53  TA;..alias TVINS
14f50 45 52 54 53 54 52 55 43 54 57 2a 20 4c 50 54 56  ERTSTRUCTW* LPTV
14f60 49 4e 53 45 52 54 53 54 52 55 43 54 57 2c 20 4c  INSERTSTRUCTW, L
14f70 50 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43 54  PTV_INSERTSTRUCT
14f80 57 3b 0d 0a 61 6c 69 61 73 20 54 56 49 4e 53 45  W;..alias TVINSE
14f90 52 54 53 54 52 55 43 54 57 20 54 56 5f 49 4e 53  RTSTRUCTW TV_INS
14fa0 45 52 54 53 54 52 55 43 54 57 3b 0d 0a 0d 0a 73  ERTSTRUCTW;....s
14fb0 74 72 75 63 74 20 54 56 48 49 54 54 45 53 54 49  truct TVHITTESTI
14fc0 4e 46 4f 20 7b 0d 0a 09 50 4f 49 4e 54 20 20 20  NFO {...POINT   
14fd0 20 20 70 74 3b 0d 0a 09 55 49 4e 54 20 20 20 20    pt;...UINT    
14fe0 20 20 66 6c 61 67 73 3b 0d 0a 09 48 54 52 45 45    flags;...HTREE
14ff0 49 54 45 4d 20 68 49 74 65 6d 3b 0d 0a 7d 0d 0a  ITEM hItem;..}..
15000 61 6c 69 61 73 20 54 56 48 49 54 54 45 53 54 49  alias TVHITTESTI
15010 4e 46 4f 2a 20 4c 50 54 56 48 49 54 54 45 53 54  NFO* LPTVHITTEST
15020 49 4e 46 4f 2c 20 4c 50 54 56 5f 48 49 54 54 45  INFO, LPTV_HITTE
15030 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54  STINFO;..alias T
15040 56 48 49 54 54 45 53 54 49 4e 46 4f 20 54 56 5f  VHITTESTINFO TV_
15050 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a  HITTESTINFO;....
15060 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
15070 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 36 30 30  2_WINNT >= 0x600
15080 29 20 7b 0d 0a 20 20 20 20 73 74 72 75 63 74 20  ) {..    struct 
15090 54 56 47 45 54 49 54 45 4d 50 41 52 54 52 45 43  TVGETITEMPARTREC
150a0 54 49 4e 46 4f 20 7b 0d 0a 20 20 20 20 20 20 20  TINFO {..       
150b0 20 48 54 52 45 45 49 54 45 4d 20 68 74 69 3b 0d   HTREEITEM hti;.
150c0 0a 20 20 20 20 20 20 20 20 52 45 43 54 2a 20 20  .        RECT*  
150d0 20 20 20 70 72 63 3b 0d 0a 20 20 20 20 20 20 20     prc;..       
150e0 20 54 56 49 54 45 4d 50 41 52 54 20 70 61 72 74   TVITEMPART part
150f0 49 44 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d  ID;..    }..}...
15100 0a 61 6c 69 61 73 20 69 6e 74 20 66 75 6e 63 74  .alias int funct
15110 69 6f 6e 28 4c 50 41 52 41 4d 2c 20 4c 50 41 52  ion(LPARAM, LPAR
15120 41 4d 2c 20 4c 50 41 52 41 4d 29 20 50 46 4e 54  AM, LPARAM) PFNT
15130 56 43 4f 4d 50 41 52 45 3b 0d 0a 73 74 72 75 63  VCOMPARE;..struc
15140 74 20 54 56 53 4f 52 54 43 42 20 7b 0d 0a 09 48  t TVSORTCB {...H
15150 54 52 45 45 49 54 45 4d 20 20 20 20 68 50 61 72  TREEITEM    hPar
15160 65 6e 74 3b 0d 0a 09 50 46 4e 54 56 43 4f 4d 50  ent;...PFNTVCOMP
15170 41 52 45 20 6c 70 66 6e 43 6f 6d 70 61 72 65 3b  ARE lpfnCompare;
15180 0d 0a 09 4c 50 41 52 41 4d 20 20 20 20 20 20 20  ...LPARAM       
15190 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61  lParam;..}..alia
151a0 73 20 54 56 53 4f 52 54 43 42 2a 20 4c 50 54 56  s TVSORTCB* LPTV
151b0 53 4f 52 54 43 42 2c 20 4c 50 54 56 5f 53 4f 52  SORTCB, LPTV_SOR
151c0 54 43 42 3b 0d 0a 61 6c 69 61 73 20 54 56 53 4f  TCB;..alias TVSO
151d0 52 54 43 42 20 54 56 5f 53 4f 52 54 43 42 3b 0d  RTCB TV_SORTCB;.
151e0 0a 0d 0a 73 74 72 75 63 74 20 4e 4d 54 52 45 45  ...struct NMTREE
151f0 56 49 45 57 41 20 7b 0d 0a 09 4e 4d 48 44 52 20  VIEWA {...NMHDR 
15200 20 20 20 68 64 72 3b 0d 0a 09 55 49 4e 54 20 20     hdr;...UINT  
15210 20 20 20 61 63 74 69 6f 6e 3b 0d 0a 09 54 56 5f     action;...TV_
15220 49 54 45 4d 41 20 69 74 65 6d 4f 6c 64 3b 0d 0a  ITEMA itemOld;..
15230 09 54 56 5f 49 54 45 4d 41 20 69 74 65 6d 4e 65  .TV_ITEMA itemNe
15240 77 3b 0d 0a 09 50 4f 49 4e 54 20 20 20 20 70 74  w;...POINT    pt
15250 44 72 61 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Drag;..}..alias 
15260 4e 4d 54 52 45 45 56 49 45 57 41 2a 20 4c 50 4e  NMTREEVIEWA* LPN
15270 4d 54 52 45 45 56 49 45 57 41 2c 20 4c 50 4e 4d  MTREEVIEWA, LPNM
15280 5f 54 52 45 45 56 49 45 57 41 3b 0d 0a 61 6c 69  _TREEVIEWA;..ali
15290 61 73 20 4e 4d 54 52 45 45 56 49 45 57 41 20 4e  as NMTREEVIEWA N
152a0 4d 5f 54 52 45 45 56 49 45 57 41 3b 0d 0a 0d 0a  M_TREEVIEWA;....
152b0 73 74 72 75 63 74 20 4e 4d 54 52 45 45 56 49 45  struct NMTREEVIE
152c0 57 57 20 7b 0d 0a 09 4e 4d 48 44 52 20 20 20 20  WW {...NMHDR    
152d0 68 64 72 3b 0d 0a 09 55 49 4e 54 20 20 20 20 20  hdr;...UINT     
152e0 61 63 74 69 6f 6e 3b 0d 0a 09 54 56 5f 49 54 45  action;...TV_ITE
152f0 4d 57 20 69 74 65 6d 4f 6c 64 3b 0d 0a 09 54 56  MW itemOld;...TV
15300 5f 49 54 45 4d 57 20 69 74 65 6d 4e 65 77 3b 0d  _ITEMW itemNew;.
15310 0a 09 50 4f 49 4e 54 20 20 20 20 70 74 44 72 61  ..POINT    ptDra
15320 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e 4d 54  g;..}..alias NMT
15330 52 45 45 56 49 45 57 57 2a 20 4c 50 4e 4d 54 52  REEVIEWW* LPNMTR
15340 45 45 56 49 45 57 57 2c 20 4c 50 4e 4d 5f 54 52  EEVIEWW, LPNM_TR
15350 45 45 56 49 45 57 57 3b 0d 0a 61 6c 69 61 73 20  EEVIEWW;..alias 
15360 4e 4d 54 52 45 45 56 49 45 57 57 20 4e 4d 5f 54  NMTREEVIEWW NM_T
15370 52 45 45 56 49 45 57 57 3b 0d 0a 0d 0a 73 74 72  REEVIEWW;....str
15380 75 63 74 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f  uct NMTVDISPINFO
15390 41 20 7b 0d 0a 09 4e 4d 48 44 52 20 20 20 68 64  A {...NMHDR   hd
153a0 72 3b 0d 0a 09 54 56 49 54 45 4d 41 20 69 74 65  r;...TVITEMA ite
153b0 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e 4d 54  m;..}..alias NMT
153c0 56 44 49 53 50 49 4e 46 4f 41 2a 20 4c 50 4e 4d  VDISPINFOA* LPNM
153d0 54 56 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 61 6c  TVDISPINFOA;..al
153e0 69 61 73 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f  ias NMTVDISPINFO
153f0 41 20 54 56 5f 44 49 53 50 49 4e 46 4f 41 3b 0d  A TV_DISPINFOA;.
15400 0a 0d 0a 73 74 72 75 63 74 20 4e 4d 54 56 44 49  ...struct NMTVDI
15410 53 50 49 4e 46 4f 57 20 7b 0d 0a 09 4e 4d 48 44  SPINFOW {...NMHD
15420 52 20 20 20 68 64 72 3b 0d 0a 09 54 56 49 54 45  R   hdr;...TVITE
15430 4d 57 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69  MW item;..}..ali
15440 61 73 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f 57  as NMTVDISPINFOW
15450 2a 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f  * LPNMTVDISPINFO
15460 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 56 44 49  W;..alias NMTVDI
15470 53 50 49 4e 46 4f 57 20 54 56 5f 44 49 53 50 49  SPINFOW TV_DISPI
15480 4e 46 4f 57 3b 0d 0a 0d 0a 73 74 61 74 69 63 20  NFOW;....static 
15490 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
154a0 20 30 78 34 30 30 29 20 7b 0d 0a 09 73 74 72 75   0x400) {...stru
154b0 63 74 20 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49  ct NMTVGETINFOTI
154c0 50 41 20 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 20  PA {....NMHDR   
154d0 20 20 68 64 72 3b 0d 0a 09 09 4c 50 53 54 52 20    hdr;....LPSTR 
154e0 20 20 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09      pszText;....
154f0 69 6e 74 20 20 20 20 20 20 20 63 63 68 54 65 78  int       cchTex
15500 74 4d 61 78 3b 0d 0a 09 09 48 54 52 45 45 49 54  tMax;....HTREEIT
15510 45 4d 20 68 49 74 65 6d 3b 0d 0a 09 09 4c 50 41  EM hItem;....LPA
15520 52 41 4d 20 20 20 20 6c 50 61 72 61 6d 3b 0d 0a  RAM    lParam;..
15530 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 54 56 47  .}...alias NMTVG
15540 45 54 49 4e 46 4f 54 49 50 41 2a 20 4c 50 4e 4d  ETINFOTIPA* LPNM
15550 54 56 47 45 54 49 4e 46 4f 54 49 50 41 3b 0d 0a  TVGETINFOTIPA;..
15560 0d 0a 09 73 74 72 75 63 74 20 4e 4d 54 56 47 45  ...struct NMTVGE
15570 54 49 4e 46 4f 54 49 50 57 20 7b 0d 0a 09 09 4e  TINFOTIPW {....N
15580 4d 48 44 52 20 20 20 20 20 68 64 72 3b 0d 0a 09  MHDR     hdr;...
15590 09 4c 50 57 53 54 52 20 20 20 20 70 73 7a 54 65  .LPWSTR    pszTe
155a0 78 74 3b 0d 0a 09 09 69 6e 74 20 20 20 20 20 20  xt;....int      
155b0 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 09 09   cchTextMax;....
155c0 48 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b  HTREEITEM hItem;
155d0 0d 0a 09 09 4c 50 41 52 41 4d 20 20 20 20 6c 50  ....LPARAM    lP
155e0 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61  aram;...}...alia
155f0 73 20 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50  s NMTVGETINFOTIP
15600 57 2a 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46 4f  W* LPNMTVGETINFO
15610 54 49 50 57 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75  TIPW;..}....stru
15620 63 74 20 54 56 5f 4b 45 59 44 4f 57 4e 20 7b 0d  ct TV_KEYDOWN {.
15630 0a 09 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 09 57  ..NMHDR hdr;...W
15640 4f 52 44 20 20 77 56 4b 65 79 3b 0d 0a 09 55 49  ORD  wVKey;...UI
15650 4e 54 20 20 66 6c 61 67 73 3b 0d 0a 7d 0d 0a 0d  NT  flags;..}...
15660 0a 73 74 72 75 63 74 20 54 43 5f 49 54 45 4d 48  .struct TC_ITEMH
15670 45 41 44 45 52 41 20 7b 0d 0a 09 55 49 4e 54 20  EADERA {...UINT 
15680 20 6d 61 73 6b 3b 0d 0a 09 55 49 4e 54 20 20 6c   mask;...UINT  l
15690 70 52 65 73 65 72 76 65 64 31 3b 0d 0a 09 55 49  pReserved1;...UI
156a0 4e 54 20 20 6c 70 52 65 73 65 72 76 65 64 32 3b  NT  lpReserved2;
156b0 0d 0a 09 4c 50 53 54 52 20 70 73 7a 54 65 78 74  ...LPSTR pszText
156c0 3b 0d 0a 09 69 6e 74 20 20 20 63 63 68 54 65 78  ;...int   cchTex
156d0 74 4d 61 78 3b 0d 0a 09 69 6e 74 20 20 20 69 49  tMax;...int   iI
156e0 6d 61 67 65 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75  mage;..}....stru
156f0 63 74 20 54 43 5f 49 54 45 4d 48 45 41 44 45 52  ct TC_ITEMHEADER
15700 57 20 7b 0d 0a 09 55 49 4e 54 20 20 20 6d 61 73  W {...UINT   mas
15710 6b 3b 0d 0a 09 55 49 4e 54 20 20 20 6c 70 52 65  k;...UINT   lpRe
15720 73 65 72 76 65 64 31 3b 0d 0a 09 55 49 4e 54 20  served1;...UINT 
15730 20 20 6c 70 52 65 73 65 72 76 65 64 32 3b 0d 0a    lpReserved2;..
15740 09 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b  .LPWSTR pszText;
15750 0d 0a 09 69 6e 74 20 20 20 20 63 63 68 54 65 78  ...int    cchTex
15760 74 4d 61 78 3b 0d 0a 09 69 6e 74 20 20 20 20 69  tMax;...int    i
15770 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61  Image;..}....sta
15780 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49  tic if (_WIN32_I
15790 45 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09  E >= 0x300) {...
157a0 73 74 72 75 63 74 20 54 43 49 54 45 4d 41 20 7b  struct TCITEMA {
157b0 0d 0a 09 09 55 49 4e 54 20 20 20 6d 61 73 6b 3b  ....UINT   mask;
157c0 0d 0a 09 09 44 57 4f 52 44 20 20 64 77 53 74 61  ....DWORD  dwSta
157d0 74 65 3b 0d 0a 09 09 44 57 4f 52 44 20 20 64 77  te;....DWORD  dw
157e0 53 74 61 74 65 4d 61 73 6b 3b 0d 0a 09 09 4c 50  StateMask;....LP
157f0 53 54 52 20 20 70 73 7a 54 65 78 74 3b 0d 0a 09  STR  pszText;...
15800 09 69 6e 74 20 20 20 20 63 63 68 54 65 78 74 4d  .int    cchTextM
15810 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49  ax;....int    iI
15820 6d 61 67 65 3b 0d 0a 09 09 4c 50 41 52 41 4d 20  mage;....LPARAM 
15830 6c 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 0d 0a 09  lParam;...}.....
15840 73 74 72 75 63 74 20 54 43 49 54 45 4d 57 20 7b  struct TCITEMW {
15850 0d 0a 09 09 55 49 4e 54 20 20 20 6d 61 73 6b 3b  ....UINT   mask;
15860 0d 0a 09 09 44 57 4f 52 44 20 20 64 77 53 74 61  ....DWORD  dwSta
15870 74 65 3b 0d 0a 09 09 44 57 4f 52 44 20 20 64 77  te;....DWORD  dw
15880 53 74 61 74 65 4d 61 73 6b 3b 0d 0a 09 09 4c 50  StateMask;....LP
15890 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 09  WSTR pszText;...
158a0 09 69 6e 74 20 20 20 20 63 63 68 54 65 78 74 4d  .int    cchTextM
158b0 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49  ax;....int    iI
158c0 6d 61 67 65 3b 0d 0a 09 09 4c 50 41 52 41 4d 20  mage;....LPARAM 
158d0 6c 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 7d 20 65  lParam;...}..} e
158e0 6c 73 65 20 7b 0d 0a 09 73 74 72 75 63 74 20 54  lse {...struct T
158f0 43 49 54 45 4d 41 20 7b 0d 0a 09 09 55 49 4e 54  CITEMA {....UINT
15900 20 20 20 6d 61 73 6b 3b 0d 0a 09 09 55 49 4e 54     mask;....UINT
15910 20 20 20 6c 70 52 65 73 65 72 76 65 64 31 3b 0d     lpReserved1;.
15920 0a 09 09 55 49 4e 54 20 20 20 6c 70 52 65 73 65  ...UINT   lpRese
15930 72 76 65 64 32 3b 0d 0a 09 09 4c 50 53 54 52 20  rved2;....LPSTR 
15940 20 70 73 7a 54 65 78 74 3b 0d 0a 09 09 69 6e 74   pszText;....int
15950 20 20 20 20 63 63 68 54 65 78 74 4d 61 78 3b 0d      cchTextMax;.
15960 0a 09 09 69 6e 74 20 20 20 20 69 49 6d 61 67 65  ...int    iImage
15970 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 6c 50 61 72  ;....LPARAM lPar
15980 61 6d 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 72 75  am;...}.....stru
15990 63 74 20 54 43 49 54 45 4d 57 20 7b 0d 0a 09 09  ct TCITEMW {....
159a0 55 49 4e 54 20 20 20 6d 61 73 6b 3b 0d 0a 09 09  UINT   mask;....
159b0 55 49 4e 54 20 20 20 6c 70 52 65 73 65 72 76 65  UINT   lpReserve
159c0 64 31 3b 0d 0a 09 09 55 49 4e 54 20 20 20 6c 70  d1;....UINT   lp
159d0 52 65 73 65 72 76 65 64 32 3b 0d 0a 09 09 4c 50  Reserved2;....LP
159e0 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 09  WSTR pszText;...
159f0 09 69 6e 74 20 20 20 20 63 63 68 54 65 78 74 4d  .int    cchTextM
15a00 61 78 3b 0d 0a 09 09 69 6e 74 20 20 20 20 69 49  ax;....int    iI
15a10 6d 61 67 65 3b 0d 0a 09 09 4c 50 41 52 41 4d 20  mage;....LPARAM 
15a20 6c 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 7d 0d 0a  lParam;...}..}..
15a30 61 6c 69 61 73 20 54 43 49 54 45 4d 41 2a 20 4c  alias TCITEMA* L
15a40 50 54 43 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73  PTCITEMA;..alias
15a50 20 54 43 49 54 45 4d 41 20 54 43 5f 49 54 45 4d   TCITEMA TC_ITEM
15a60 41 3b 0d 0a 61 6c 69 61 73 20 54 43 49 54 45 4d  A;..alias TCITEM
15a70 57 2a 20 4c 50 54 43 49 54 45 4d 57 3b 0d 0a 61  W* LPTCITEMW;..a
15a80 6c 69 61 73 20 54 43 49 54 45 4d 57 20 54 43 5f  lias TCITEMW TC_
15a90 49 54 45 4d 57 3b 0d 0a 0d 0a 73 74 72 75 63 74  ITEMW;....struct
15aa0 20 54 43 48 49 54 54 45 53 54 49 4e 46 4f 20 7b   TCHITTESTINFO {
15ab0 0d 0a 09 50 4f 49 4e 54 20 70 74 3b 0d 0a 09 55  ...POINT pt;...U
15ac0 49 4e 54 20 20 66 6c 61 67 73 3b 0d 0a 7d 0d 0a  INT  flags;..}..
15ad0 61 6c 69 61 73 20 54 43 48 49 54 54 45 53 54 49  alias TCHITTESTI
15ae0 4e 46 4f 2a 20 4c 50 54 43 48 49 54 54 45 53 54  NFO* LPTCHITTEST
15af0 49 4e 46 4f 2c 20 4c 50 54 43 5f 48 49 54 54 45  INFO, LPTC_HITTE
15b00 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54  STINFO;..alias T
15b10 43 48 49 54 54 45 53 54 49 4e 46 4f 20 54 43 5f  CHITTESTINFO TC_
15b20 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a  HITTESTINFO;....
15b30 73 74 72 75 63 74 20 54 43 5f 4b 45 59 44 4f 57  struct TC_KEYDOW
15b40 4e 20 7b 0d 0a 09 4e 4d 48 44 52 20 68 64 72 3b  N {...NMHDR hdr;
15b50 0d 0a 09 57 4f 52 44 20 77 56 4b 65 79 3b 0d 0a  ...WORD wVKey;..
15b60 09 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a 7d 0d  .UINT flags;..}.
15b70 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
15b80 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30  IN32_IE >= 0x300
15b90 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 49 4e 49  ) {...struct INI
15ba0 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f 4c 53 45  TCOMMONCONTROLSE
15bb0 58 20 7b 0d 0a 09 09 44 57 4f 52 44 20 64 77 53  X {....DWORD dwS
15bc0 69 7a 65 20 3d 20 49 4e 49 54 43 4f 4d 4d 4f 4e  ize = INITCOMMON
15bd0 43 4f 4e 54 52 4f 4c 53 45 58 2e 73 69 7a 65 6f  CONTROLSEX.sizeo
15be0 66 3b 0d 0a 09 09 44 57 4f 52 44 20 64 77 49 43  f;....DWORD dwIC
15bf0 43 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 49  C;...}...alias I
15c00 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f 4c  NITCOMMONCONTROL
15c10 53 45 58 2a 20 4c 50 49 4e 49 54 43 4f 4d 4d 4f  SEX* LPINITCOMMO
15c20 4e 43 4f 4e 54 52 4f 4c 53 45 58 3b 0d 0a 7d 0d  NCONTROLSEX;..}.
15c30 0a 0d 0a 73 74 72 75 63 74 20 50 42 52 41 4e 47  ...struct PBRANG
15c40 45 20 7b 0d 0a 09 69 6e 74 20 69 4c 6f 77 3b 0d  E {...int iLow;.
15c50 0a 09 69 6e 74 20 69 48 69 67 68 3b 0d 0a 7d 0d  ..int iHigh;..}.
15c60 0a 61 6c 69 61 73 20 50 42 52 41 4e 47 45 2a 20  .alias PBRANGE* 
15c70 50 50 42 52 41 4e 47 45 3b 0d 0a 0d 0a 73 74 72  PPBRANGE;....str
15c80 75 63 74 20 43 4f 4c 4f 52 53 43 48 45 4d 45 20  uct COLORSCHEME 
15c90 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 64 77 53  {...DWORD    dwS
15ca0 69 7a 65 20 3d 20 43 4f 4c 4f 52 53 43 48 45 4d  ize = COLORSCHEM
15cb0 45 2e 73 69 7a 65 6f 66 3b 0d 0a 09 43 4f 4c 4f  E.sizeof;...COLO
15cc0 52 52 45 46 20 63 6c 72 42 74 6e 48 69 67 68 6c  RREF clrBtnHighl
15cd0 69 67 68 74 3b 0d 0a 09 43 4f 4c 4f 52 52 45 46  ight;...COLORREF
15ce0 20 63 6c 72 42 74 6e 53 68 61 64 6f 77 3b 0d 0a   clrBtnShadow;..
15cf0 7d 0d 0a 61 6c 69 61 73 20 43 4f 4c 4f 52 53 43  }..alias COLORSC
15d00 48 45 4d 45 2a 20 4c 50 43 4f 4c 4f 52 53 43 48  HEME* LPCOLORSCH
15d10 45 4d 45 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d  EME;....struct M
15d20 43 48 49 54 54 45 53 54 49 4e 46 4f 20 7b 0d 0a  CHITTESTINFO {..
15d30 09 55 49 4e 54 20 20 20 20 20 20 20 63 62 53 69  .UINT       cbSi
15d40 7a 65 20 3d 20 4d 43 48 49 54 54 45 53 54 49 4e  ze = MCHITTESTIN
15d50 46 4f 2e 73 69 7a 65 6f 66 3b 0d 0a 09 50 4f 49  FO.sizeof;...POI
15d60 4e 54 20 20 20 20 20 20 70 74 3b 0d 0a 09 55 49  NT      pt;...UI
15d70 4e 54 20 20 20 20 20 20 20 75 48 69 74 3b 0d 0a  NT       uHit;..
15d80 09 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d  .SYSTEMTIME st;.
15d90 0a 7d 0d 0a 61 6c 69 61 73 20 4d 43 48 49 54 54  .}..alias MCHITT
15da0 45 53 54 49 4e 46 4f 2a 20 50 4d 43 48 49 54 54  ESTINFO* PMCHITT
15db0 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 61 6c 69 61  ESTINFO;....alia
15dc0 73 20 44 57 4f 52 44 20 4d 4f 4e 54 48 44 41 59  s DWORD MONTHDAY
15dd0 53 54 41 54 45 3b 0d 0a 61 6c 69 61 73 20 4d 4f  STATE;..alias MO
15de0 4e 54 48 44 41 59 53 54 41 54 45 2a 20 4c 50 4d  NTHDAYSTATE* LPM
15df0 4f 4e 54 48 44 41 59 53 54 41 54 45 3b 0d 0a 0d  ONTHDAYSTATE;...
15e00 0a 73 74 72 75 63 74 20 4e 4d 44 41 59 53 54 41  .struct NMDAYSTA
15e10 54 45 20 7b 0d 0a 09 4e 4d 48 44 52 20 20 20 20  TE {...NMHDR    
15e20 20 20 20 20 20 20 20 6e 6d 68 64 72 3b 0d 0a 09         nmhdr;...
15e30 53 59 53 54 45 4d 54 49 4d 45 20 20 20 20 20 20  SYSTEMTIME      
15e40 73 74 53 74 61 72 74 3b 0d 0a 09 69 6e 74 20 20  stStart;...int  
15e50 20 20 20 20 20 20 20 20 20 20 20 63 44 61 79 53             cDayS
15e60 74 61 74 65 3b 0d 0a 09 4c 50 4d 4f 4e 54 48 44  tate;...LPMONTHD
15e70 41 59 53 54 41 54 45 20 70 72 67 44 61 79 53 74  AYSTATE prgDaySt
15e80 61 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4e  ate;..}..alias N
15e90 4d 44 41 59 53 54 41 54 45 2a 20 4c 50 4e 4d 44  MDAYSTATE* LPNMD
15ea0 41 59 53 54 41 54 45 3b 0d 0a 0d 0a 73 74 72 75  AYSTATE;....stru
15eb0 63 74 20 52 45 42 41 52 49 4e 46 4f 20 7b 0d 0a  ct REBARINFO {..
15ec0 09 55 49 4e 54 20 20 20 20 20 20 20 63 62 53 69  .UINT       cbSi
15ed0 7a 65 20 3d 20 52 45 42 41 52 49 4e 46 4f 2e 73  ze = REBARINFO.s
15ee0 69 7a 65 6f 66 3b 0d 0a 09 55 49 4e 54 20 20 20  izeof;...UINT   
15ef0 20 20 20 20 66 4d 61 73 6b 3b 0d 0a 09 48 49 4d      fMask;...HIM
15f00 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b 0d 0a 7d  AGELIST himl;..}
15f10 0d 0a 61 6c 69 61 73 20 52 45 42 41 52 49 4e 46  ..alias REBARINF
15f20 4f 2a 20 4c 50 52 45 42 41 52 49 4e 46 4f 3b 0d  O* LPREBARINFO;.
15f30 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57  ...static if (_W
15f40 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30  IN32_IE >= 0x400
15f50 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 52 45 42  ) {...struct REB
15f60 41 52 42 41 4e 44 49 4e 46 4f 41 20 7b 0d 0a 09  ARBANDINFOA {...
15f70 09 55 49 4e 54 20 20 20 20 20 63 62 53 69 7a 65  .UINT     cbSize
15f80 20 3d 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f   = REBARBANDINFO
15f90 41 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 55 49 4e  A.sizeof;....UIN
15fa0 54 20 20 20 20 20 66 4d 61 73 6b 3b 0d 0a 09 09  T     fMask;....
15fb0 55 49 4e 54 20 20 20 20 20 66 53 74 79 6c 65 3b  UINT     fStyle;
15fc0 0d 0a 09 09 43 4f 4c 4f 52 52 45 46 20 63 6c 72  ....COLORREF clr
15fd0 46 6f 72 65 3b 0d 0a 09 09 43 4f 4c 4f 52 52 45  Fore;....COLORRE
15fe0 46 20 63 6c 72 42 61 63 6b 3b 0d 0a 09 09 4c 50  F clrBack;....LP
15ff0 53 54 52 20 20 20 20 6c 70 54 65 78 74 3b 0d 0a  STR    lpText;..
16000 09 09 55 49 4e 54 20 20 20 20 20 63 63 68 3b 0d  ..UINT     cch;.
16010 0a 09 09 69 6e 74 20 20 20 20 20 20 69 49 6d 61  ...int      iIma
16020 67 65 3b 0d 0a 09 09 48 57 4e 44 20 20 20 20 20  ge;....HWND     
16030 68 77 6e 64 43 68 69 6c 64 3b 0d 0a 09 09 55 49  hwndChild;....UI
16040 4e 54 20 20 20 20 20 63 78 4d 69 6e 43 68 69 6c  NT     cxMinChil
16050 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 63  d;....UINT     c
16060 79 4d 69 6e 43 68 69 6c 64 3b 0d 0a 09 09 55 49  yMinChild;....UI
16070 4e 54 20 20 20 20 20 63 78 3b 0d 0a 09 09 48 42  NT     cx;....HB
16080 49 54 4d 41 50 20 20 68 62 6d 42 61 63 6b 3b 0d  ITMAP  hbmBack;.
16090 0a 09 09 55 49 4e 54 20 20 20 20 20 77 49 44 3b  ...UINT     wID;
160a0 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 63 79 43  ....UINT     cyC
160b0 68 69 6c 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20  hild;....UINT   
160c0 20 20 63 79 4d 61 78 43 68 69 6c 64 3b 0d 0a 09    cyMaxChild;...
160d0 09 55 49 4e 54 20 20 20 20 20 63 79 49 6e 74 65  .UINT     cyInte
160e0 67 72 61 6c 3b 0d 0a 09 09 55 49 4e 54 20 20 20  gral;....UINT   
160f0 20 20 63 78 49 64 65 61 6c 3b 0d 0a 09 09 4c 50    cxIdeal;....LP
16100 41 52 41 4d 20 20 20 6c 50 61 72 61 6d 3b 0d 0a  ARAM   lParam;..
16110 09 09 55 49 4e 54 20 20 20 20 20 63 78 48 65 61  ..UINT     cxHea
16120 64 65 72 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 72  der;...}.....str
16130 75 63 74 20 52 45 42 41 52 42 41 4e 44 49 4e 46  uct REBARBANDINF
16140 4f 57 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20  OW {....UINT    
16150 20 63 62 53 69 7a 65 20 3d 20 52 45 42 41 52 42   cbSize = REBARB
16160 41 4e 44 49 4e 46 4f 57 2e 73 69 7a 65 6f 66 3b  ANDINFOW.sizeof;
16170 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 66 4d 61  ....UINT     fMa
16180 73 6b 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20  sk;....UINT     
16190 66 53 74 79 6c 65 3b 0d 0a 09 09 43 4f 4c 4f 52  fStyle;....COLOR
161a0 52 45 46 20 63 6c 72 46 6f 72 65 3b 0d 0a 09 09  REF clrFore;....
161b0 43 4f 4c 4f 52 52 45 46 20 63 6c 72 42 61 63 6b  COLORREF clrBack
161c0 3b 0d 0a 09 09 4c 50 57 53 54 52 20 20 20 6c 70  ;....LPWSTR   lp
161d0 54 65 78 74 3b 0d 0a 09 09 55 49 4e 54 20 20 20  Text;....UINT   
161e0 20 20 63 63 68 3b 0d 0a 09 09 69 6e 74 20 20 20    cch;....int   
161f0 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09 09 48 57     iImage;....HW
16200 4e 44 20 20 20 20 20 68 77 6e 64 43 68 69 6c 64  ND     hwndChild
16210 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 63 78  ;....UINT     cx
16220 4d 69 6e 43 68 69 6c 64 3b 0d 0a 09 09 55 49 4e  MinChild;....UIN
16230 54 20 20 20 20 20 63 79 4d 69 6e 43 68 69 6c 64  T     cyMinChild
16240 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 63 78  ;....UINT     cx
16250 3b 0d 0a 09 09 48 42 49 54 4d 41 50 20 20 68 62  ;....HBITMAP  hb
16260 6d 42 61 63 6b 3b 0d 0a 09 09 55 49 4e 54 20 20  mBack;....UINT  
16270 20 20 20 77 49 44 3b 0d 0a 09 09 55 49 4e 54 20     wID;....UINT 
16280 20 20 20 20 63 79 43 68 69 6c 64 3b 0d 0a 09 09      cyChild;....
16290 55 49 4e 54 20 20 20 20 20 63 79 4d 61 78 43 68  UINT     cyMaxCh
162a0 69 6c 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20  ild;....UINT    
162b0 20 63 79 49 6e 74 65 67 72 61 6c 3b 0d 0a 09 09   cyIntegral;....
162c0 55 49 4e 54 20 20 20 20 20 63 78 49 64 65 61 6c  UINT     cxIdeal
162d0 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 20 20 6c 50  ;....LPARAM   lP
162e0 61 72 61 6d 3b 0d 0a 09 09 55 49 4e 54 20 20 20  aram;....UINT   
162f0 20 20 63 78 48 65 61 64 65 72 3b 0d 0a 09 7d 0d    cxHeader;...}.
16300 0a 0d 0a 09 65 6e 75 6d 20 3a 20 73 69 7a 65 5f  ....enum : size_
16310 74 20 7b 0d 0a 09 09 52 45 42 41 52 42 41 4e 44  t {....REBARBAND
16320 49 4e 46 4f 41 5f 56 33 5f 53 49 5a 45 20 3d 20  INFOA_V3_SIZE = 
16330 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 2e 63  REBARBANDINFOA.c
16340 79 43 68 69 6c 64 2e 6f 66 66 73 65 74 6f 66 2c  yChild.offsetof,
16350 0d 0a 09 09 52 45 42 41 52 42 41 4e 44 49 4e 46  ....REBARBANDINF
16360 4f 57 5f 56 33 5f 53 49 5a 45 20 3d 20 52 45 42  OW_V3_SIZE = REB
16370 41 52 42 41 4e 44 49 4e 46 4f 57 2e 63 79 43 68  ARBANDINFOW.cyCh
16380 69 6c 64 2e 6f 66 66 73 65 74 6f 66 0d 0a 09 7d  ild.offsetof...}
16390 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 73 74 72  ..} else {...str
163a0 75 63 74 20 52 45 42 41 52 42 41 4e 44 49 4e 46  uct REBARBANDINF
163b0 4f 41 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 20  OA {....UINT    
163c0 20 63 62 53 69 7a 65 20 3d 20 52 45 42 41 52 42   cbSize = REBARB
163d0 41 4e 44 49 4e 46 4f 41 2e 73 69 7a 65 6f 66 3b  ANDINFOA.sizeof;
163e0 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 66 4d 61  ....UINT     fMa
163f0 73 6b 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20  sk;....UINT     
16400 66 53 74 79 6c 65 3b 0d 0a 09 09 43 4f 4c 4f 52  fStyle;....COLOR
16410 52 45 46 20 63 6c 72 46 6f 72 65 3b 0d 0a 09 09  REF clrFore;....
16420 43 4f 4c 4f 52 52 45 46 20 63 6c 72 42 61 63 6b  COLORREF clrBack
16430 3b 0d 0a 09 09 4c 50 53 54 52 20 20 20 20 6c 70  ;....LPSTR    lp
16440 54 65 78 74 3b 0d 0a 09 09 55 49 4e 54 20 20 20  Text;....UINT   
16450 20 20 63 63 68 3b 0d 0a 09 09 69 6e 74 20 20 20    cch;....int   
16460 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09 09 48 57     iImage;....HW
16470 4e 44 20 20 20 20 20 68 77 6e 64 43 68 69 6c 64  ND     hwndChild
16480 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 63 78  ;....UINT     cx
16490 4d 69 6e 43 68 69 6c 64 3b 0d 0a 09 09 55 49 4e  MinChild;....UIN
164a0 54 20 20 20 20 20 63 79 4d 69 6e 43 68 69 6c 64  T     cyMinChild
164b0 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20 63 78  ;....UINT     cx
164c0 3b 0d 0a 09 09 48 42 49 54 4d 41 50 20 20 68 62  ;....HBITMAP  hb
164d0 6d 42 61 63 6b 3b 0d 0a 09 09 55 49 4e 54 20 20  mBack;....UINT  
164e0 20 20 20 77 49 44 3b 0d 0a 09 7d 0d 0a 0d 0a 09     wID;...}.....
164f0 73 74 72 75 63 74 20 52 45 42 41 52 42 41 4e 44  struct REBARBAND
16500 49 4e 46 4f 57 20 7b 0d 0a 09 09 55 49 4e 54 20  INFOW {....UINT 
16510 20 20 20 20 63 62 53 69 7a 65 20 3d 20 52 45 42      cbSize = REB
16520 41 52 42 41 4e 44 49 4e 46 4f 57 2e 73 69 7a 65  ARBANDINFOW.size
16530 6f 66 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20 20  of;....UINT     
16540 66 4d 61 73 6b 3b 0d 0a 09 09 55 49 4e 54 20 20  fMask;....UINT  
16550 20 20 20 66 53 74 79 6c 65 3b 0d 0a 09 09 43 4f     fStyle;....CO
16560 4c 4f 52 52 45 46 20 63 6c 72 46 6f 72 65 3b 0d  LORREF clrFore;.
16570 0a 09 09 43 4f 4c 4f 52 52 45 46 20 63 6c 72 42  ...COLORREF clrB
16580 61 63 6b 3b 0d 0a 09 09 4c 50 57 53 54 52 20 20  ack;....LPWSTR  
16590 20 6c 70 54 65 78 74 3b 0d 0a 09 09 55 49 4e 54   lpText;....UINT
165a0 20 20 20 20 20 63 63 68 3b 0d 0a 09 09 69 6e 74       cch;....int
165b0 20 20 20 20 20 20 69 49 6d 61 67 65 3b 0d 0a 09        iImage;...
165c0 09 48 57 4e 44 20 20 20 20 20 68 77 6e 64 43 68  .HWND     hwndCh
165d0 69 6c 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20  ild;....UINT    
165e0 20 63 78 4d 69 6e 43 68 69 6c 64 3b 0d 0a 09 09   cxMinChild;....
165f0 55 49 4e 54 20 20 20 20 20 63 79 4d 69 6e 43 68  UINT     cyMinCh
16600 69 6c 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 20  ild;....UINT    
16610 20 63 78 3b 0d 0a 09 09 48 42 49 54 4d 41 50 20   cx;....HBITMAP 
16620 20 68 62 6d 42 61 63 6b 3b 0d 0a 09 09 55 49 4e   hbmBack;....UIN
16630 54 20 20 20 20 20 77 49 44 3b 0d 0a 09 7d 0d 0a  T     wID;...}..
16640 0d 0a 09 65 6e 75 6d 20 3a 20 73 69 7a 65 5f 74  ...enum : size_t
16650 20 7b 0d 0a 09 09 52 45 42 41 52 42 41 4e 44 49   {....REBARBANDI
16660 4e 46 4f 41 5f 56 33 5f 53 49 5a 45 20 3d 20 52  NFOA_V3_SIZE = R
16670 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 2e 73 69  EBARBANDINFOA.si
16680 7a 65 6f 66 2c 0d 0a 09 09 52 45 42 41 52 42 41  zeof,....REBARBA
16690 4e 44 49 4e 46 4f 57 5f 56 33 5f 53 49 5a 45 20  NDINFOW_V3_SIZE 
166a0 3d 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57  = REBARBANDINFOW
166b0 2e 73 69 7a 65 6f 66 0d 0a 09 7d 0d 0a 7d 0d 0a  .sizeof...}..}..
166c0 61 6c 69 61 73 20 52 45 42 41 52 42 41 4e 44 49  alias REBARBANDI
166d0 4e 46 4f 41 2a 20 20 20 20 20 20 20 20 4c 50 52  NFOA*        LPR
166e0 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 3b 0d 0a  EBARBANDINFOA;..
166f0 61 6c 69 61 73 20 63 6f 6e 73 74 28 52 45 42 41  alias const(REBA
16700 52 42 41 4e 44 49 4e 46 4f 41 29 2a 20 4c 50 43  RBANDINFOA)* LPC
16710 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 3b 0d  REBARBANDINFOA;.
16720 0a 61 6c 69 61 73 20 52 45 42 41 52 42 41 4e 44  .alias REBARBAND
16730 49 4e 46 4f 57 2a 20 20 20 20 20 20 20 20 4c 50  INFOW*        LP
16740 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 3b 0d  REBARBANDINFOW;.
16750 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28 52 45 42  .alias const(REB
16760 41 52 42 41 4e 44 49 4e 46 4f 57 29 2a 20 4c 50  ARBANDINFOW)* LP
16770 43 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 3b  CREBARBANDINFOW;
16780 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
16790 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30  WIN32_IE >= 0x30
167a0 30 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 4e 4d  0) {...struct NM
167b0 4c 56 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20  LVODSTATECHANGE 
167c0 7b 0d 0a 09 09 4e 4d 48 44 52 20 68 64 72 3b 0d  {....NMHDR hdr;.
167d0 0a 09 09 69 6e 74 20 69 46 72 6f 6d 3b 0d 0a 09  ...int iFrom;...
167e0 09 69 6e 74 20 69 54 6f 3b 0d 0a 09 09 55 49 4e  .int iTo;....UIN
167f0 54 20 75 4e 65 77 53 74 61 74 65 3b 0d 0a 09 09  T uNewState;....
16800 55 49 4e 54 20 75 4f 6c 64 53 74 61 74 65 3b 0d  UINT uOldState;.
16810 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 4e 4d 4c 56  ..}...alias NMLV
16820 4f 44 53 54 41 54 45 43 48 41 4e 47 45 2a 20 4c  ODSTATECHANGE* L
16830 50 4e 4d 4c 56 4f 44 53 54 41 54 45 43 48 41 4e  PNMLVODSTATECHAN
16840 47 45 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69  GE;.....static i
16850 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
16860 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a 09 09 73  >= 0x501) {....s
16870 74 72 75 63 74 20 49 4d 41 47 45 4c 49 53 54 44  truct IMAGELISTD
16880 52 41 57 50 41 52 41 4d 53 20 7b 0d 0a 09 09 09  RAWPARAMS {.....
16890 44 57 4f 52 44 20 20 20 20 20 20 63 62 53 69 7a  DWORD      cbSiz
168a0 65 20 3d 20 49 4d 41 47 45 4c 49 53 54 44 52 41  e = IMAGELISTDRA
168b0 57 50 41 52 41 4d 53 2e 73 69 7a 65 6f 66 3b 0d  WPARAMS.sizeof;.
168c0 0a 09 09 09 48 49 4d 41 47 45 4c 49 53 54 20 68  ....HIMAGELIST h
168d0 69 6d 6c 3b 0d 0a 09 09 09 69 6e 74 20 20 20 20  iml;.....int    
168e0 20 20 20 20 69 3b 0d 0a 09 09 09 48 44 43 20 20      i;.....HDC  
168f0 20 20 20 20 20 20 68 64 63 44 73 74 3b 0d 0a 09        hdcDst;...
16900 09 09 69 6e 74 20 20 20 20 20 20 20 20 78 3b 0d  ..int        x;.
16910 0a 09 09 09 69 6e 74 20 20 20 20 20 20 20 20 79  ....int        y
16920 3b 0d 0a 09 09 09 69 6e 74 20 20 20 20 20 20 20  ;.....int       
16930 20 63 78 3b 0d 0a 09 09 09 69 6e 74 20 20 20 20   cx;.....int    
16940 20 20 20 20 63 79 3b 0d 0a 09 09 09 69 6e 74 20      cy;.....int 
16950 20 20 20 20 20 20 20 78 42 69 74 6d 61 70 3b 0d         xBitmap;.
16960 0a 09 09 09 69 6e 74 20 20 20 20 20 20 20 20 79  ....int        y
16970 42 69 74 6d 61 70 3b 0d 0a 09 09 09 43 4f 4c 4f  Bitmap;.....COLO
16980 52 52 45 46 20 20 20 72 67 62 42 6b 3b 0d 0a 09  RREF   rgbBk;...
16990 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 72 67 62  ..COLORREF   rgb
169a0 46 67 3b 0d 0a 09 09 09 55 49 4e 54 20 20 20 20  Fg;.....UINT    
169b0 20 20 20 66 53 74 79 6c 65 3b 0d 0a 09 09 09 44     fStyle;.....D
169c0 57 4f 52 44 20 20 20 20 20 20 64 77 52 6f 70 3b  WORD      dwRop;
169d0 0d 0a 09 09 09 44 57 4f 52 44 20 20 20 20 20 20  .....DWORD      
169e0 66 53 74 61 74 65 3b 0d 0a 09 09 09 44 57 4f 52  fState;.....DWOR
169f0 44 20 20 20 20 20 20 46 72 61 6d 65 3b 0d 0a 09  D      Frame;...
16a00 09 09 43 4f 4c 4f 52 52 45 46 20 20 20 63 72 45  ..COLORREF   crE
16a10 66 66 65 63 74 3b 0d 0a 09 09 7d 0d 0a 09 7d 20  ffect;....}...} 
16a20 65 6c 73 65 20 7b 0d 0a 09 09 73 74 72 75 63 74  else {....struct
16a30 20 49 4d 41 47 45 4c 49 53 54 44 52 41 57 50 41   IMAGELISTDRAWPA
16a40 52 41 4d 53 20 7b 0d 0a 09 09 09 44 57 4f 52 44  RAMS {.....DWORD
16a50 20 20 20 20 20 20 63 62 53 69 7a 65 20 3d 20 49        cbSize = I
16a60 4d 41 47 45 4c 49 53 54 44 52 41 57 50 41 52 41  MAGELISTDRAWPARA
16a70 4d 53 2e 73 69 7a 65 6f 66 3b 0d 0a 09 09 09 48  MS.sizeof;.....H
16a80 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b 0d  IMAGELIST himl;.
16a90 0a 09 09 09 69 6e 74 20 20 20 20 20 20 20 20 69  ....int        i
16aa0 3b 0d 0a 09 09 09 48 44 43 20 20 20 20 20 20 20  ;.....HDC       
16ab0 20 68 64 63 44 73 74 3b 0d 0a 09 09 09 69 6e 74   hdcDst;.....int
16ac0 20 20 20 20 20 20 20 20 78 3b 0d 0a 09 09 09 69          x;.....i
16ad0 6e 74 20 20 20 20 20 20 20 20 79 3b 0d 0a 09 09  nt        y;....
16ae0 09 69 6e 74 20 20 20 20 20 20 20 20 63 78 3b 0d  .int        cx;.
16af0 0a 09 09 09 69 6e 74 20 20 20 20 20 20 20 20 63  ....int        c
16b00 79 3b 0d 0a 09 09 09 69 6e 74 20 20 20 20 20 20  y;.....int      
16b10 20 20 78 42 69 74 6d 61 70 3b 0d 0a 09 09 09 69    xBitmap;.....i
16b20 6e 74 20 20 20 20 20 20 20 20 79 42 69 74 6d 61  nt        yBitma
16b30 70 3b 0d 0a 09 09 09 43 4f 4c 4f 52 52 45 46 20  p;.....COLORREF 
16b40 20 20 72 67 62 42 6b 3b 0d 0a 09 09 09 43 4f 4c    rgbBk;.....COL
16b50 4f 52 52 45 46 20 20 20 72 67 62 46 67 3b 0d 0a  ORREF   rgbFg;..
16b60 09 09 09 55 49 4e 54 20 20 20 20 20 20 20 66 53  ...UINT       fS
16b70 74 79 6c 65 3b 0d 0a 09 09 09 44 57 4f 52 44 20  tyle;.....DWORD 
16b80 20 20 20 20 20 64 77 52 6f 70 3b 0d 0a 09 09 7d       dwRop;....}
16b90 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 49 4d 41  ...}...alias IMA
16ba0 47 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d 53  GELISTDRAWPARAMS
16bb0 2a 20 4c 50 49 4d 41 47 45 4c 49 53 54 44 52 41  * LPIMAGELISTDRA
16bc0 57 50 41 52 41 4d 53 3b 0d 0a 7d 0d 0a 0d 0a 73  WPARAMS;..}....s
16bd0 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
16be0 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d  _IE >= 0x400) {.
16bf0 0a 09 73 74 72 75 63 74 20 4e 4d 52 45 42 41 52  ..struct NMREBAR
16c00 43 48 49 4c 44 53 49 5a 45 20 7b 0d 0a 09 09 4e  CHILDSIZE {....N
16c10 4d 48 44 52 20 68 64 72 3b 0d 0a 09 09 55 49 4e  MHDR hdr;....UIN
16c20 54 20 20 75 42 61 6e 64 3b 0d 0a 09 09 55 49 4e  T  uBand;....UIN
16c30 54 20 20 77 49 44 3b 0d 0a 09 09 52 45 43 54 20  T  wID;....RECT 
16c40 20 72 63 43 68 69 6c 64 3b 0d 0a 09 09 52 45 43   rcChild;....REC
16c50 54 20 20 72 63 42 61 6e 64 3b 0d 0a 09 7d 0d 0a  T  rcBand;...}..
16c60 09 61 6c 69 61 73 20 4e 4d 52 45 42 41 52 43 48  .alias NMREBARCH
16c70 49 4c 44 53 49 5a 45 2a 20 4c 50 4e 4d 52 45 42  ILDSIZE* LPNMREB
16c80 41 52 43 48 49 4c 44 53 49 5a 45 3b 0d 0a 0d 0a  ARCHILDSIZE;....
16c90 09 73 74 72 75 63 74 20 4e 4d 52 45 42 41 52 20  .struct NMREBAR 
16ca0 7b 0d 0a 09 09 4e 4d 48 44 52 20 20 68 64 72 3b  {....NMHDR  hdr;
16cb0 0d 0a 09 09 44 57 4f 52 44 20 20 64 77 4d 61 73  ....DWORD  dwMas
16cc0 6b 3b 0d 0a 09 09 55 49 4e 54 20 20 20 75 42 61  k;....UINT   uBa
16cd0 6e 64 3b 0d 0a 09 09 55 49 4e 54 20 20 20 66 53  nd;....UINT   fS
16ce0 74 79 6c 65 3b 0d 0a 09 09 55 49 4e 54 20 20 20  tyle;....UINT   
16cf0 77 49 44 3b 0d 0a 09 09 4c 50 41 52 41 4d 20 6c  wID;....LPARAM l
16d00 50 61 72 61 6d 3b 0d 0a 09 7d 0d 0a 09 61 6c 69  Param;...}...ali
16d10 61 73 20 4e 4d 52 45 42 41 52 2a 20 4c 50 4e 4d  as NMREBAR* LPNM
16d20 52 45 42 41 52 3b 0d 0a 0d 0a 09 73 74 72 75 63  REBAR;.....struc
16d30 74 20 4e 4d 52 42 41 55 54 4f 53 49 5a 45 20 7b  t NMRBAUTOSIZE {
16d40 0d 0a 09 09 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ....NMHDR hdr;..
16d50 09 09 42 4f 4f 4c 20 20 66 43 68 61 6e 67 65 64  ..BOOL  fChanged
16d60 3b 0d 0a 09 09 52 45 43 54 20 20 72 63 54 61 72  ;....RECT  rcTar
16d70 67 65 74 3b 0d 0a 09 09 52 45 43 54 20 20 72 63  get;....RECT  rc
16d80 41 63 74 75 61 6c 3b 0d 0a 09 7d 0d 0a 09 61 6c  Actual;...}...al
16d90 69 61 73 20 4e 4d 52 42 41 55 54 4f 53 49 5a 45  ias NMRBAUTOSIZE
16da0 2a 20 4c 50 4e 4d 52 42 41 55 54 4f 53 49 5a 45  * LPNMRBAUTOSIZE
16db0 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69 66 20  ;.....static if 
16dc0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
16dd0 35 30 30 29 20 7b 0d 0a 09 09 73 74 72 75 63 74  500) {....struct
16de0 20 4e 4d 52 45 42 41 52 43 48 45 56 52 4f 4e 20   NMREBARCHEVRON 
16df0 7b 0d 0a 09 09 09 4e 4d 48 44 52 20 20 68 64 72  {.....NMHDR  hdr
16e00 3b 0d 0a 09 09 09 55 49 4e 54 20 20 20 75 42 61  ;.....UINT   uBa
16e10 6e 64 3b 0d 0a 09 09 09 55 49 4e 54 20 20 20 77  nd;.....UINT   w
16e20 49 44 3b 0d 0a 09 09 09 4c 50 41 52 41 4d 20 6c  ID;.....LPARAM l
16e30 50 61 72 61 6d 3b 0d 0a 09 09 09 52 45 43 54 20  Param;.....RECT 
16e40 20 20 72 63 3b 0d 0a 09 09 09 4c 50 41 52 41 4d    rc;.....LPARAM
16e50 20 6c 50 61 72 61 6d 4e 4d 3b 0d 0a 09 09 7d 0d   lParamNM;....}.
16e60 0a 09 09 61 6c 69 61 73 20 4e 4d 52 45 42 41 52  ...alias NMREBAR
16e70 43 48 45 56 52 4f 4e 2a 20 4c 50 4e 4d 52 45 42  CHEVRON* LPNMREB
16e80 41 52 43 48 45 56 52 4f 4e 3b 0d 0a 09 7d 0d 0a  ARCHEVRON;...}..
16e90 0d 0a 09 73 74 72 75 63 74 20 52 42 48 49 54 54  ...struct RBHITT
16ea0 45 53 54 49 4e 46 4f 20 7b 0d 0a 09 09 50 4f 49  ESTINFO {....POI
16eb0 4e 54 20 70 74 3b 0d 0a 09 09 55 49 4e 54 20 20  NT pt;....UINT  
16ec0 66 6c 61 67 73 3b 0d 0a 09 09 69 6e 74 20 20 20  flags;....int   
16ed0 69 42 61 6e 64 3b 0d 0a 09 7d 0d 0a 09 61 6c 69  iBand;...}...ali
16ee0 61 73 20 52 42 48 49 54 54 45 53 54 49 4e 46 4f  as RBHITTESTINFO
16ef0 2a 20 4c 50 52 42 48 49 54 54 45 53 54 49 4e 46  * LPRBHITTESTINF
16f00 4f 3b 0d 0a 7d 0d 0a 0d 0a 6d 69 78 69 6e 20 44  O;..}....mixin D
16f10 45 43 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22  ECLARE_HANDLE!("
16f20 48 44 53 41 22 29 3b 0d 0a 6d 69 78 69 6e 20 44  HDSA");..mixin D
16f30 45 43 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22  ECLARE_HANDLE!("
16f40 48 44 50 41 22 29 3b 0d 0a 0d 0a 76 65 72 73 69  HDPA");....versi
16f50 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a  on (Unicode) {..
16f60 09 61 6c 69 61 73 20 48 44 49 54 45 4d 57 20 48  .alias HDITEMW H
16f70 44 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c  DITEM;...alias L
16f80 50 48 44 49 54 45 4d 57 20 4c 50 48 44 49 54 45  PHDITEMW LPHDITE
16f90 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 4f 4f 4c 49  M;...alias TOOLI
16fa0 4e 46 4f 57 20 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a  NFOW TOOLINFO;..
16fb0 09 61 6c 69 61 73 20 54 4f 4f 4c 49 4e 46 4f 57  .alias TOOLINFOW
16fc0 2a 20 50 54 4f 4f 4c 49 4e 46 4f 2c 20 4c 50 54  * PTOOLINFO, LPT
16fd0 4f 4f 4c 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73  OOLINFO;...alias
16fe0 20 54 54 48 49 54 54 45 53 54 49 4e 46 4f 57 20   TTHITTESTINFOW 
16ff0 54 54 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a  TTHITTESTINFO;..
17000 09 61 6c 69 61 73 20 54 54 48 49 54 54 45 53 54  .alias TTHITTEST
17010 49 4e 46 4f 57 2a 20 4c 50 48 49 54 54 45 53 54  INFOW* LPHITTEST
17020 49 4e 46 4f 2c 20 4c 50 54 54 48 49 54 54 45 53  INFO, LPTTHITTES
17030 54 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 54  TINFO;...alias T
17040 4f 4f 4c 54 49 50 54 45 58 54 57 20 54 4f 4f 4c  OOLTIPTEXTW TOOL
17050 54 49 50 54 45 58 54 3b 0d 0a 09 61 6c 69 61 73  TIPTEXT;...alias
17060 20 54 4f 4f 4c 54 49 50 54 45 58 54 57 2a 20 4c   TOOLTIPTEXTW* L
17070 50 54 4f 4f 4c 54 49 50 54 45 58 54 3b 0d 0a 09  PTOOLTIPTEXT;...
17080 61 6c 69 61 73 20 4e 4d 54 54 44 49 53 50 49 4e  alias NMTTDISPIN
17090 46 4f 57 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f  FOW NMTTDISPINFO
170a0 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 54 54 44 49  ;...alias NMTTDI
170b0 53 50 49 4e 46 4f 57 2a 20 4c 50 4e 4d 54 54 44  SPINFOW* LPNMTTD
170c0 49 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73  ISPINFO;...alias
170d0 20 54 56 5f 49 54 45 4d 57 20 54 56 5f 49 54 45   TV_ITEMW TV_ITE
170e0 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 56 5f 49 54  M;...alias TV_IT
170f0 45 4d 57 2a 20 4c 50 54 56 5f 49 54 45 4d 3b 0d  EMW* LPTV_ITEM;.
17100 0a 09 61 6c 69 61 73 20 54 56 49 54 45 4d 57 20  ..alias TVITEMW 
17110 54 56 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  TVITEM;...alias 
17120 54 56 49 54 45 4d 57 2a 20 4c 50 54 56 49 54 45  TVITEMW* LPTVITE
17130 4d 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69 66  M;.....static if
17140 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
17150 78 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73  x400) {....alias
17160 20 54 56 49 54 45 4d 45 58 57 20 54 56 49 54 45   TVITEMEXW TVITE
17170 4d 45 58 3b 0d 0a 09 09 61 6c 69 61 73 20 54 56  MEX;....alias TV
17180 49 54 45 4d 45 58 57 2a 20 4c 50 54 56 49 54 45  ITEMEXW* LPTVITE
17190 4d 45 58 3b 0d 0a 09 7d 0d 0a 0d 0a 09 61 6c 69  MEX;...}.....ali
171a0 61 73 20 54 56 5f 49 4e 53 45 52 54 53 54 52 55  as TV_INSERTSTRU
171b0 43 54 57 20 54 56 5f 49 4e 53 45 52 54 53 54 52  CTW TV_INSERTSTR
171c0 55 43 54 3b 0d 0a 09 61 6c 69 61 73 20 54 56 5f  UCT;...alias TV_
171d0 49 4e 53 45 52 54 53 54 52 55 43 54 57 2a 20 4c  INSERTSTRUCTW* L
171e0 50 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43 54  PTV_INSERTSTRUCT
171f0 3b 0d 0a 09 61 6c 69 61 73 20 54 56 49 4e 53 45  ;...alias TVINSE
17200 52 54 53 54 52 55 43 54 57 20 54 56 49 4e 53 45  RTSTRUCTW TVINSE
17210 52 54 53 54 52 55 43 54 3b 0d 0a 09 61 6c 69 61  RTSTRUCT;...alia
17220 73 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 54  s TVINSERTSTRUCT
17230 57 2a 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52  W* LPTVINSERTSTR
17240 55 43 54 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 5f  UCT;...alias NM_
17250 54 52 45 45 56 49 45 57 57 20 4e 4d 5f 54 52 45  TREEVIEWW NM_TRE
17260 45 56 49 45 57 3b 0d 0a 09 61 6c 69 61 73 20 4e  EVIEW;...alias N
17270 4d 5f 54 52 45 45 56 49 45 57 57 2a 20 4c 50 4e  M_TREEVIEWW* LPN
17280 4d 5f 54 52 45 45 56 49 45 57 3b 0d 0a 09 61 6c  M_TREEVIEW;...al
17290 69 61 73 20 4e 4d 54 52 45 45 56 49 45 57 57 20  ias NMTREEVIEWW 
172a0 4e 4d 54 52 45 45 56 49 45 57 3b 0d 0a 09 61 6c  NMTREEVIEW;...al
172b0 69 61 73 20 4e 4d 54 52 45 45 56 49 45 57 57 2a  ias NMTREEVIEWW*
172c0 20 4c 50 4e 4d 54 52 45 45 56 49 45 57 3b 0d 0a   LPNMTREEVIEW;..
172d0 09 61 6c 69 61 73 20 4e 4d 48 44 44 49 53 50 49  .alias NMHDDISPI
172e0 4e 46 4f 57 20 4e 4d 48 44 44 49 53 50 49 4e 46  NFOW NMHDDISPINF
172f0 4f 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 48 44 44  O;...alias NMHDD
17300 49 53 50 49 4e 46 4f 57 2a 20 4c 50 4e 4d 48 44  ISPINFOW* LPNMHD
17310 44 49 53 50 49 4e 46 4f 3b 0d 0a 0d 0a 09 61 6c  DISPINFO;.....al
17320 69 61 73 20 41 43 4d 5f 4f 50 45 4e 57 20 41 43  ias ACM_OPENW AC
17330 4d 5f 4f 50 45 4e 3b 0d 0a 09 61 6c 69 61 73 20  M_OPEN;...alias 
17340 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 20  COMBOBOXEXITEMW 
17350 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 3b 0d  COMBOBOXEXITEM;.
17360 0a 09 61 6c 69 61 73 20 50 43 4f 4d 42 4f 42 4f  ..alias PCOMBOBO
17370 58 45 58 49 54 45 4d 57 20 50 43 4f 4d 42 4f 42  XEXITEMW PCOMBOB
17380 4f 58 45 58 49 54 45 4d 3b 0d 0a 09 2f 2f 61 6c  OXEXITEM;...//al
17390 69 61 73 20 50 43 43 4f 4d 42 4f 42 4f 58 45 58  ias PCCOMBOBOXEX
173a0 49 54 45 4d 57 20 50 43 43 4f 4d 42 4f 42 4f 58  ITEMW PCCOMBOBOX
173b0 45 58 49 54 45 4d 3b 20 66 69 78 6d 65 0d 0a 09  EXITEM; fixme...
173c0 61 6c 69 61 73 20 43 42 45 4d 5f 49 4e 53 45 52  alias CBEM_INSER
173d0 54 49 54 45 4d 57 20 43 42 45 4d 5f 49 4e 53 45  TITEMW CBEM_INSE
173e0 52 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  RTITEM;...alias 
173f0 43 42 45 4d 5f 53 45 54 49 54 45 4d 57 20 43 42  CBEM_SETITEMW CB
17400 45 4d 5f 53 45 54 49 54 45 4d 3b 0d 0a 09 61 6c  EM_SETITEM;...al
17410 69 61 73 20 43 42 45 4d 5f 47 45 54 49 54 45 4d  ias CBEM_GETITEM
17420 57 20 43 42 45 4d 5f 47 45 54 49 54 45 4d 3b 0d  W CBEM_GETITEM;.
17430 0a 09 61 6c 69 61 73 20 43 42 45 4e 5f 45 4e 44  ..alias CBEN_END
17440 45 44 49 54 57 20 43 42 45 4e 5f 45 4e 44 45 44  EDITW CBEN_ENDED
17450 49 54 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 43 42  IT;...alias NMCB
17460 45 45 4e 44 45 44 49 54 57 20 4e 4d 43 42 45 45  EENDEDITW NMCBEE
17470 4e 44 45 44 49 54 3b 0d 0a 09 61 6c 69 61 73 20  NDEDIT;...alias 
17480 4c 50 4e 4d 43 42 45 45 4e 44 45 44 49 54 57 20  LPNMCBEENDEDITW 
17490 4c 50 4e 4d 43 42 45 45 4e 44 45 44 49 54 3b 0d  LPNMCBEENDEDIT;.
174a0 0a 09 61 6c 69 61 73 20 50 4e 4d 43 42 45 45 4e  ..alias PNMCBEEN
174b0 44 45 44 49 54 57 20 50 4e 4d 43 42 45 45 4e 44  DEDITW PNMCBEEND
174c0 45 44 49 54 3b 0d 0a 0d 0a 09 73 74 61 74 69 63  EDIT;.....static
174d0 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
174e0 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 61 6c  = 0x400) {....al
174f0 69 61 73 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58  ias NMCOMBOBOXEX
17500 57 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 3b 0d  W NMCOMBOBOXEX;.
17510 0a 09 09 61 6c 69 61 73 20 50 4e 4d 43 4f 4d 42  ...alias PNMCOMB
17520 4f 42 4f 58 45 58 57 20 50 4e 4d 43 4f 4d 42 4f  OBOXEXW PNMCOMBO
17530 42 4f 58 45 58 3b 0d 0a 09 09 61 6c 69 61 73 20  BOXEX;....alias 
17540 43 42 45 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f  CBEN_GETDISPINFO
17550 57 20 43 42 45 4e 5f 47 45 54 44 49 53 50 49 4e  W CBEN_GETDISPIN
17560 46 4f 3b 0d 0a 09 09 61 6c 69 61 73 20 43 42 45  FO;....alias CBE
17570 4e 5f 44 52 41 47 42 45 47 49 4e 57 20 43 42 45  N_DRAGBEGINW CBE
17580 4e 5f 44 52 41 47 42 45 47 49 4e 3b 0d 0a 09 09  N_DRAGBEGIN;....
17590 61 6c 69 61 73 20 4e 4d 43 42 45 44 52 41 47 42  alias NMCBEDRAGB
175a0 45 47 49 4e 57 20 4e 4d 43 42 45 44 52 41 47 42  EGINW NMCBEDRAGB
175b0 45 47 49 4e 3b 0d 0a 09 09 61 6c 69 61 73 20 4c  EGIN;....alias L
175c0 50 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e 57  PNMCBEDRAGBEGINW
175d0 20 4c 50 4e 4d 43 42 45 44 52 41 47 42 45 47 49   LPNMCBEDRAGBEGI
175e0 4e 3b 0d 0a 09 09 61 6c 69 61 73 20 50 4e 4d 43  N;....alias PNMC
175f0 42 45 44 52 41 47 42 45 47 49 4e 57 20 50 4e 4d  BEDRAGBEGINW PNM
17600 43 42 45 44 52 41 47 42 45 47 49 4e 3b 0d 0a 09  CBEDRAGBEGIN;...
17610 7d 0d 0a 0d 0a 09 61 6c 69 61 73 20 53 42 5f 47  }.....alias SB_G
17620 45 54 54 45 58 54 57 20 53 42 5f 47 45 54 54 45  ETTEXTW SB_GETTE
17630 58 54 3b 0d 0a 09 61 6c 69 61 73 20 53 42 5f 53  XT;...alias SB_S
17640 45 54 54 45 58 54 57 20 53 42 5f 53 45 54 54 45  ETTEXTW SB_SETTE
17650 58 54 3b 0d 0a 09 61 6c 69 61 73 20 53 42 5f 47  XT;...alias SB_G
17660 45 54 54 45 58 54 4c 45 4e 47 54 48 57 20 53 42  ETTEXTLENGTHW SB
17670 5f 47 45 54 54 45 58 54 4c 45 4e 47 54 48 3b 0d  _GETTEXTLENGTH;.
17680 0a 09 61 6c 69 61 73 20 48 44 4d 5f 49 4e 53 45  ..alias HDM_INSE
17690 52 54 49 54 45 4d 57 20 48 44 4d 5f 49 4e 53 45  RTITEMW HDM_INSE
176a0 52 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  RTITEM;...alias 
176b0 48 44 4d 5f 47 45 54 49 54 45 4d 57 20 48 44 4d  HDM_GETITEMW HDM
176c0 5f 47 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61  _GETITEM;...alia
176d0 73 20 48 44 4d 5f 53 45 54 49 54 45 4d 57 20 48  s HDM_SETITEMW H
176e0 44 4d 5f 53 45 54 49 54 45 4d 3b 0d 0a 09 61 6c  DM_SETITEM;...al
176f0 69 61 73 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e  ias HDN_ITEMCHAN
17700 47 49 4e 47 57 20 48 44 4e 5f 49 54 45 4d 43 48  GINGW HDN_ITEMCH
17710 41 4e 47 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20  ANGING;...alias 
17720 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 45 44 57  HDN_ITEMCHANGEDW
17730 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 45 44   HDN_ITEMCHANGED
17740 3b 0d 0a 09 61 6c 69 61 73 20 48 44 4e 5f 49 54  ;...alias HDN_IT
17750 45 4d 43 4c 49 43 4b 57 20 48 44 4e 5f 49 54 45  EMCLICKW HDN_ITE
17760 4d 43 4c 49 43 4b 3b 0d 0a 09 61 6c 69 61 73 20  MCLICK;...alias 
17770 48 44 4e 5f 49 54 45 4d 44 42 4c 43 4c 49 43 4b  HDN_ITEMDBLCLICK
17780 57 20 48 44 4e 5f 49 54 45 4d 44 42 4c 43 4c 49  W HDN_ITEMDBLCLI
17790 43 4b 3b 0d 0a 09 61 6c 69 61 73 20 48 44 4e 5f  CK;...alias HDN_
177a0 44 49 56 49 44 45 52 44 42 4c 43 4c 49 43 4b 57  DIVIDERDBLCLICKW
177b0 20 48 44 4e 5f 44 49 56 49 44 45 52 44 42 4c 43   HDN_DIVIDERDBLC
177c0 4c 49 43 4b 3b 0d 0a 09 61 6c 69 61 73 20 48 44  LICK;...alias HD
177d0 4e 5f 42 45 47 49 4e 54 52 41 43 4b 57 20 48 44  N_BEGINTRACKW HD
177e0 4e 5f 42 45 47 49 4e 54 52 41 43 4b 3b 0d 0a 09  N_BEGINTRACK;...
177f0 61 6c 69 61 73 20 48 44 4e 5f 45 4e 44 54 52 41  alias HDN_ENDTRA
17800 43 4b 57 20 48 44 4e 5f 45 4e 44 54 52 41 43 4b  CKW HDN_ENDTRACK
17810 3b 0d 0a 09 61 6c 69 61 73 20 48 44 4e 5f 54 52  ;...alias HDN_TR
17820 41 43 4b 57 20 48 44 4e 5f 54 52 41 43 4b 3b 0d  ACKW HDN_TRACK;.
17830 0a 0d 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
17840 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30  WIN32_IE >= 0x30
17850 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73 20 48 44  0) {....alias HD
17860 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57 20 48  N_GETDISPINFOW H
17870 44 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 3b 0d  DN_GETDISPINFO;.
17880 0a 09 7d 0d 0a 0d 0a 09 61 6c 69 61 73 20 48 44  ..}.....alias HD
17890 5f 4e 4f 54 49 46 59 57 20 48 44 5f 4e 4f 54 49  _NOTIFYW HD_NOTI
178a0 46 59 3b 0d 0a 09 61 6c 69 61 73 20 54 42 53 41  FY;...alias TBSA
178b0 56 45 50 41 52 41 4d 53 57 20 54 42 53 41 56 45  VEPARAMSW TBSAVE
178c0 50 41 52 41 4d 53 3b 0d 0a 09 61 6c 69 61 73 20  PARAMS;...alias 
178d0 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58 54  TB_GETBUTTONTEXT
178e0 57 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45  W TB_GETBUTTONTE
178f0 58 54 3b 0d 0a 09 61 6c 69 61 73 20 54 42 5f 53  XT;...alias TB_S
17900 41 56 45 52 45 53 54 4f 52 45 57 20 54 42 5f 53  AVERESTOREW TB_S
17910 41 56 45 52 45 53 54 4f 52 45 3b 0d 0a 09 61 6c  AVERESTORE;...al
17920 69 61 73 20 54 42 5f 41 44 44 53 54 52 49 4e 47  ias TB_ADDSTRING
17930 57 20 54 42 5f 41 44 44 53 54 52 49 4e 47 3b 0d  W TB_ADDSTRING;.
17940 0a 0d 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
17950 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30  WIN32_IE >= 0x40
17960 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73 20 54 42  0) {....alias TB
17970 4e 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f 57  N_GETBUTTONINFOW
17980 20 54 42 4e 5f 47 45 54 42 55 54 54 4f 4e 49 4e   TBN_GETBUTTONIN
17990 46 4f 3b 20 20 2f 2f 20 66 69 78 6d 65 0d 0a 09  FO;  // fixme...
179a0 09 61 6c 69 61 73 20 54 42 5f 47 45 54 42 55 54  .alias TB_GETBUT
179b0 54 4f 4e 49 4e 46 4f 57 20 54 42 5f 47 45 54 42  TONINFOW TB_GETB
179c0 55 54 54 4f 4e 49 4e 46 4f 3b 0d 0a 09 09 61 6c  UTTONINFO;....al
179d0 69 61 73 20 54 42 5f 53 45 54 42 55 54 54 4f 4e  ias TB_SETBUTTON
179e0 49 4e 46 4f 57 20 54 42 5f 53 45 54 42 55 54 54  INFOW TB_SETBUTT
179f0 4f 4e 49 4e 46 4f 3b 0d 0a 09 09 61 6c 69 61 73  ONINFO;....alias
17a00 20 54 42 5f 49 4e 53 45 52 54 42 55 54 54 4f 4e   TB_INSERTBUTTON
17a10 57 20 54 42 5f 49 4e 53 45 52 54 42 55 54 54 4f  W TB_INSERTBUTTO
17a20 4e 3b 0d 0a 09 09 61 6c 69 61 73 20 54 42 5f 41  N;....alias TB_A
17a30 44 44 42 55 54 54 4f 4e 53 57 20 54 42 5f 41 44  DDBUTTONSW TB_AD
17a40 44 42 55 54 54 4f 4e 53 3b 0d 0a 09 09 61 6c 69  DBUTTONS;....ali
17a50 61 73 20 54 42 5f 4d 41 50 41 43 43 45 4c 45 52  as TB_MAPACCELER
17a60 41 54 4f 52 57 20 54 42 5f 4d 41 50 41 43 43 45  ATORW TB_MAPACCE
17a70 4c 45 52 41 54 4f 52 3b 0d 0a 09 09 61 6c 69 61  LERATOR;....alia
17a80 73 20 54 42 5f 47 45 54 53 54 52 49 4e 47 57 20  s TB_GETSTRINGW 
17a90 54 42 5f 47 45 54 53 54 52 49 4e 47 3b 0d 0a 09  TB_GETSTRING;...
17aa0 09 61 6c 69 61 73 20 54 42 42 55 54 54 4f 4e 49  .alias TBBUTTONI
17ab0 4e 46 4f 57 20 54 42 42 55 54 54 4f 4e 49 4e 46  NFOW TBBUTTONINF
17ac0 4f 3b 0d 0a 09 09 61 6c 69 61 73 20 4c 50 54 42  O;....alias LPTB
17ad0 42 55 54 54 4f 4e 49 4e 46 4f 57 20 4c 50 54 42  BUTTONINFOW LPTB
17ae0 42 55 54 54 4f 4e 49 4e 46 4f 3b 0d 0a 09 09 61  BUTTONINFO;....a
17af0 6c 69 61 73 20 54 42 4e 5f 47 45 54 44 49 53 50  lias TBN_GETDISP
17b00 49 4e 46 4f 57 20 54 42 4e 5f 47 45 54 44 49 53  INFOW TBN_GETDIS
17b10 50 49 4e 46 4f 3b 0d 0a 09 09 61 6c 69 61 73 20  PINFO;....alias 
17b20 4e 4d 54 42 44 49 53 50 49 4e 46 4f 57 20 4e 4d  NMTBDISPINFOW NM
17b30 54 42 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 09 61  TBDISPINFO;....a
17b40 6c 69 61 73 20 4c 50 4e 4d 54 42 44 49 53 50 49  lias LPNMTBDISPI
17b50 4e 46 4f 57 20 4c 50 4e 4d 54 42 44 49 53 50 49  NFOW LPNMTBDISPI
17b60 4e 46 4f 3b 0d 0a 09 09 61 6c 69 61 73 20 4e 4d  NFO;....alias NM
17b70 54 42 47 45 54 49 4e 46 4f 54 49 50 57 20 4e 4d  TBGETINFOTIPW NM
17b80 54 42 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 09  TBGETINFOTIP;...
17b90 09 61 6c 69 61 73 20 4c 50 4e 4d 54 42 47 45 54  .alias LPNMTBGET
17ba0 49 4e 46 4f 54 49 50 57 20 4c 50 4e 4d 54 42 47  INFOTIPW LPNMTBG
17bb0 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 09 7d 0d 0a  ETINFOTIP;...}..
17bc0 0d 0a 09 61 6c 69 61 73 20 54 42 4e 4f 54 49 46  ...alias TBNOTIF
17bd0 59 57 20 54 42 4e 4f 54 49 46 59 3b 0d 0a 09 61  YW TBNOTIFY;...a
17be0 6c 69 61 73 20 4c 50 54 42 4e 4f 54 49 46 59 57  lias LPTBNOTIFYW
17bf0 20 4c 50 54 42 4e 4f 54 49 46 59 3b 0d 0a 09 61   LPTBNOTIFY;...a
17c00 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42 41 52 57 20  lias NMTOOLBARW 
17c10 4e 4d 54 4f 4f 4c 42 41 52 3b 0d 0a 09 61 6c 69  NMTOOLBAR;...ali
17c20 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 57 20  as LPNMTOOLBARW 
17c30 4c 50 4e 4d 54 4f 4f 4c 42 41 52 3b 0d 0a 09 61  LPNMTOOLBAR;...a
17c40 6c 69 61 73 20 54 54 4d 5f 41 44 44 54 4f 4f 4c  lias TTM_ADDTOOL
17c50 57 20 54 54 4d 5f 41 44 44 54 4f 4f 4c 3b 0d 0a  W TTM_ADDTOOL;..
17c60 09 61 6c 69 61 73 20 54 54 4d 5f 44 45 4c 54 4f  .alias TTM_DELTO
17c70 4f 4c 57 20 54 54 4d 5f 44 45 4c 54 4f 4f 4c 3b  OLW TTM_DELTOOL;
17c80 0d 0a 09 61 6c 69 61 73 20 54 54 4d 5f 4e 45 57  ...alias TTM_NEW
17c90 54 4f 4f 4c 52 45 43 54 57 20 54 54 4d 5f 4e 45  TOOLRECTW TTM_NE
17ca0 57 54 4f 4f 4c 52 45 43 54 3b 0d 0a 09 61 6c 69  WTOOLRECT;...ali
17cb0 61 73 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49 4e  as TTM_GETTOOLIN
17cc0 46 4f 57 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49  FOW TTM_GETTOOLI
17cd0 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 54 54 4d  NFO;...alias TTM
17ce0 5f 53 45 54 54 4f 4f 4c 49 4e 46 4f 57 20 54 54  _SETTOOLINFOW TT
17cf0 4d 5f 53 45 54 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a  M_SETTOOLINFO;..
17d00 09 61 6c 69 61 73 20 54 54 4d 5f 48 49 54 54 45  .alias TTM_HITTE
17d10 53 54 57 20 54 54 4d 5f 48 49 54 54 45 53 54 3b  STW TTM_HITTEST;
17d20 0d 0a 09 61 6c 69 61 73 20 54 54 4d 5f 47 45 54  ...alias TTM_GET
17d30 54 45 58 54 57 20 54 54 4d 5f 47 45 54 54 45 58  TEXTW TTM_GETTEX
17d40 54 3b 0d 0a 09 61 6c 69 61 73 20 54 54 4d 5f 55  T;...alias TTM_U
17d50 50 44 41 54 45 54 49 50 54 45 58 54 57 20 54 54  PDATETIPTEXTW TT
17d60 4d 5f 55 50 44 41 54 45 54 49 50 54 45 58 54 3b  M_UPDATETIPTEXT;
17d70 0d 0a 09 61 6c 69 61 73 20 54 54 4d 5f 45 4e 55  ...alias TTM_ENU
17d80 4d 54 4f 4f 4c 53 57 20 54 54 4d 5f 45 4e 55 4d  MTOOLSW TTM_ENUM
17d90 54 4f 4f 4c 53 3b 0d 0a 09 61 6c 69 61 73 20 54  TOOLS;...alias T
17da0 54 4d 5f 47 45 54 43 55 52 52 45 4e 54 54 4f 4f  TM_GETCURRENTTOO
17db0 4c 57 20 54 54 4d 5f 47 45 54 43 55 52 52 45 4e  LW TTM_GETCURREN
17dc0 54 54 4f 4f 4c 3b 0d 0a 09 61 6c 69 61 73 20 54  TTOOL;...alias T
17dd0 54 4e 5f 4e 45 45 44 54 45 58 54 57 20 54 54 4e  TN_NEEDTEXTW TTN
17de0 5f 4e 45 45 44 54 45 58 54 3b 0d 0a 09 61 6c 69  _NEEDTEXT;...ali
17df0 61 73 20 54 54 4e 5f 47 45 54 44 49 53 50 49 4e  as TTN_GETDISPIN
17e00 46 4f 57 20 54 54 4e 5f 47 45 54 44 49 53 50 49  FOW TTN_GETDISPI
17e10 4e 46 4f 3b 0d 0a 09 2f 2f 61 6c 69 61 73 20 53  NFO;...//alias S
17e20 42 5f 47 45 54 54 45 58 54 57 20 53 42 5f 47 45  B_GETTEXTW SB_GE
17e30 54 54 45 58 54 3b 0d 0a 09 2f 2f 61 6c 69 61 73  TTEXT;...//alias
17e40 20 53 42 5f 53 45 54 54 45 58 54 57 20 53 42 5f   SB_SETTEXTW SB_
17e50 53 45 54 54 45 58 54 3b 0d 0a 09 2f 2f 61 6c 69  SETTEXT;...//ali
17e60 61 73 20 53 42 5f 47 45 54 54 45 58 54 4c 45 4e  as SB_GETTEXTLEN
17e70 47 54 48 57 20 53 42 5f 47 45 54 54 45 58 54 4c  GTHW SB_GETTEXTL
17e80 45 4e 47 54 48 3b 0d 0a 09 61 6c 69 61 73 20 4c  ENGTH;...alias L
17e90 56 5f 49 54 45 4d 57 20 4c 56 5f 49 54 45 4d 3b  V_ITEMW LV_ITEM;
17ea0 0d 0a 09 61 6c 69 61 73 20 4c 56 49 54 45 4d 57  ...alias LVITEMW
17eb0 20 4c 56 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73   LVITEM;...alias
17ec0 20 4c 56 49 54 45 4d 2a 20 4c 50 4c 56 49 54 45   LVITEM* LPLVITE
17ed0 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 53 54 52  M;...alias LPSTR
17ee0 5f 54 45 58 54 43 41 4c 4c 42 41 43 4b 57 20 4c  _TEXTCALLBACKW L
17ef0 50 53 54 52 5f 54 45 58 54 43 41 4c 4c 42 41 43  PSTR_TEXTCALLBAC
17f00 4b 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69 66  K;.....static if
17f10 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
17f20 78 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73  x400) {....alias
17f30 20 4c 56 42 4b 49 4d 41 47 45 57 20 4c 56 42 4b   LVBKIMAGEW LVBK
17f40 49 4d 41 47 45 3b 0d 0a 09 09 61 6c 69 61 73 20  IMAGE;....alias 
17f50 4c 50 4c 56 42 4b 49 4d 41 47 45 57 20 4c 50 4c  LPLVBKIMAGEW LPL
17f60 56 42 4b 49 4d 41 47 45 3b 0d 0a 09 09 61 6c 69  VBKIMAGE;....ali
17f70 61 73 20 4c 56 4d 5f 53 45 54 42 4b 49 4d 41 47  as LVM_SETBKIMAG
17f80 45 57 20 4c 56 4d 5f 53 45 54 42 4b 49 4d 41 47  EW LVM_SETBKIMAG
17f90 45 3b 0d 0a 09 09 61 6c 69 61 73 20 4c 56 4d 5f  E;....alias LVM_
17fa0 47 45 54 42 4b 49 4d 41 47 45 57 20 4c 56 4d 5f  GETBKIMAGEW LVM_
17fb0 47 45 54 42 4b 49 4d 41 47 45 3b 0d 0a 09 7d 0d  GETBKIMAGE;...}.
17fc0 0a 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f 47 45  ....alias LVM_GE
17fd0 54 49 54 45 4d 57 20 4c 56 4d 5f 47 45 54 49 54  TITEMW LVM_GETIT
17fe0 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f  EM;...alias LVM_
17ff0 53 45 54 49 54 45 4d 57 20 4c 56 4d 5f 53 45 54  SETITEMW LVM_SET
18000 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 56  ITEM;...alias LV
18010 4d 5f 49 4e 53 45 52 54 49 54 45 4d 57 20 4c 56  M_INSERTITEMW LV
18020 4d 5f 49 4e 53 45 52 54 49 54 45 4d 3b 0d 0a 09  M_INSERTITEM;...
18030 61 6c 69 61 73 20 4c 56 5f 46 49 4e 44 49 4e 46  alias LV_FINDINF
18040 4f 57 20 4c 56 5f 46 49 4e 44 49 4e 46 4f 3b 0d  OW LV_FINDINFO;.
18050 0a 09 61 6c 69 61 73 20 4c 56 46 49 4e 44 49 4e  ..alias LVFINDIN
18060 46 4f 57 20 4c 56 46 49 4e 44 49 4e 46 4f 3b 0d  FOW LVFINDINFO;.
18070 0a 09 61 6c 69 61 73 20 4c 50 46 49 4e 44 49 4e  ..alias LPFINDIN
18080 46 4f 57 20 4c 50 46 49 4e 44 49 4e 46 4f 3b 0d  FOW LPFINDINFO;.
18090 0a 09 61 6c 69 61 73 20 4e 4d 4c 56 46 49 4e 44  ..alias NMLVFIND
180a0 49 54 45 4d 57 20 4e 4d 4c 56 46 49 4e 44 49 54  ITEMW NMLVFINDIT
180b0 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 50 4e 4d 4c  EM;...alias PNML
180c0 56 46 49 4e 44 49 54 45 4d 57 20 50 4e 4d 4c 56  VFINDITEMW PNMLV
180d0 46 49 4e 44 49 54 45 4d 3b 0d 0a 09 61 6c 69 61  FINDITEM;...alia
180e0 73 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d  s LPNMLVFINDITEM
180f0 57 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d  W LPNMLVFINDITEM
18100 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f 46 49  ;...alias LVM_FI
18110 4e 44 49 54 45 4d 57 20 4c 56 4d 5f 46 49 4e 44  NDITEMW LVM_FIND
18120 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 56  ITEM;...alias LV
18130 4d 5f 47 45 54 53 54 52 49 4e 47 57 49 44 54 48  M_GETSTRINGWIDTH
18140 57 20 4c 56 4d 5f 47 45 54 53 54 52 49 4e 47 57  W LVM_GETSTRINGW
18150 49 44 54 48 3b 0d 0a 09 61 6c 69 61 73 20 4c 56  IDTH;...alias LV
18160 4d 5f 45 44 49 54 4c 41 42 45 4c 57 20 4c 56 4d  M_EDITLABELW LVM
18170 5f 45 44 49 54 4c 41 42 45 4c 3b 0d 0a 09 61 6c  _EDITLABEL;...al
18180 69 61 73 20 4c 56 5f 43 4f 4c 55 4d 4e 57 20 4c  ias LV_COLUMNW L
18190 56 5f 43 4f 4c 55 4d 4e 3b 0d 0a 09 61 6c 69 61  V_COLUMN;...alia
181a0 73 20 4c 56 43 4f 4c 55 4d 4e 57 20 4c 56 43 4f  s LVCOLUMNW LVCO
181b0 4c 55 4d 4e 3b 0d 0a 09 61 6c 69 61 73 20 4c 56  LUMN;...alias LV
181c0 43 4f 4c 55 4d 4e 57 2a 20 4c 50 4c 56 43 4f 4c  COLUMNW* LPLVCOL
181d0 55 4d 4e 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4d  UMN;...alias LVM
181e0 5f 47 45 54 43 4f 4c 55 4d 4e 57 20 4c 56 4d 5f  _GETCOLUMNW LVM_
181f0 47 45 54 43 4f 4c 55 4d 4e 3b 0d 0a 09 61 6c 69  GETCOLUMN;...ali
18200 61 73 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e  as LVM_SETCOLUMN
18210 57 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e 3b  W LVM_SETCOLUMN;
18220 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f 49 4e 53  ...alias LVM_INS
18230 45 52 54 43 4f 4c 55 4d 4e 57 20 4c 56 4d 5f 49  ERTCOLUMNW LVM_I
18240 4e 53 45 52 54 43 4f 4c 55 4d 4e 3b 0d 0a 09 61  NSERTCOLUMN;...a
18250 6c 69 61 73 20 4c 56 4d 5f 47 45 54 49 54 45 4d  lias LVM_GETITEM
18260 54 45 58 54 57 20 4c 56 4d 5f 47 45 54 49 54 45  TEXTW LVM_GETITE
18270 4d 54 45 58 54 3b 0d 0a 09 61 6c 69 61 73 20 4c  MTEXT;...alias L
18280 56 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 57 20  VM_SETITEMTEXTW 
18290 4c 56 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 3b  LVM_SETITEMTEXT;
182a0 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54  ...alias LVM_GET
182b0 49 53 45 41 52 43 48 53 54 52 49 4e 47 57 20 4c  ISEARCHSTRINGW L
182c0 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54 52  VM_GETISEARCHSTR
182d0 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4e  ING;...alias LVN
182e0 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 57  _BEGINLABELEDITW
182f0 20 4c 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45   LVN_BEGINLABELE
18300 44 49 54 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4e  DIT;...alias LVN
18310 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54 57 20 4c  _ENDLABELEDITW L
18320 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54 3b  VN_ENDLABELEDIT;
18330 0d 0a 09 61 6c 69 61 73 20 4c 56 4e 5f 47 45 54  ...alias LVN_GET
18340 44 49 53 50 49 4e 46 4f 57 20 4c 56 4e 5f 47 45  DISPINFOW LVN_GE
18350 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69  TDISPINFO;...ali
18360 61 73 20 4c 56 4e 5f 53 45 54 44 49 53 50 49 4e  as LVN_SETDISPIN
18370 46 4f 57 20 4c 56 4e 5f 53 45 54 44 49 53 50 49  FOW LVN_SETDISPI
18380 4e 46 4f 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20  NFO;.....static 
18390 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
183a0 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69   0x400) {....ali
183b0 61 73 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 49  as LVN_GETINFOTI
183c0 50 57 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54 49  PW LVN_GETINFOTI
183d0 50 3b 0d 0a 09 09 61 6c 69 61 73 20 4e 4d 4c 56  P;....alias NMLV
183e0 47 45 54 49 4e 46 4f 54 49 50 57 20 4e 4d 4c 56  GETINFOTIPW NMLV
183f0 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 09 09 61  GETINFOTIP;....a
18400 6c 69 61 73 20 4c 50 4e 4d 4c 56 47 45 54 49 4e  lias LPNMLVGETIN
18410 46 4f 54 49 50 57 20 4c 50 4e 4d 4c 56 47 45 54  FOTIPW LPNMLVGET
18420 49 4e 46 4f 54 49 50 3b 0d 0a 09 7d 0d 0a 0d 0a  INFOTIP;...}....
18430 09 61 6c 69 61 73 20 4c 56 5f 44 49 53 50 49 4e  .alias LV_DISPIN
18440 46 4f 57 20 4c 56 5f 44 49 53 50 49 4e 46 4f 3b  FOW LV_DISPINFO;
18450 0d 0a 09 61 6c 69 61 73 20 4e 4d 4c 56 44 49 53  ...alias NMLVDIS
18460 50 49 4e 46 4f 57 20 4e 4d 4c 56 44 49 53 50 49  PINFOW NMLVDISPI
18470 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 4e  NFO;...alias LPN
18480 4d 4c 56 44 49 53 50 49 4e 46 4f 57 20 4c 50 4e  MLVDISPINFOW LPN
18490 4d 4c 56 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 61  MLVDISPINFO;...a
184a0 6c 69 61 73 20 54 56 4d 5f 49 4e 53 45 52 54 49  lias TVM_INSERTI
184b0 54 45 4d 57 20 54 56 4d 5f 49 4e 53 45 52 54 49  TEMW TVM_INSERTI
184c0 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4d  TEM;...alias TVM
184d0 5f 47 45 54 49 54 45 4d 57 20 54 56 4d 5f 47 45  _GETITEMW TVM_GE
184e0 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54  TITEM;...alias T
184f0 56 4d 5f 53 45 54 49 54 45 4d 57 20 54 56 4d 5f  VM_SETITEMW TVM_
18500 53 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73  SETITEM;...alias
18510 20 54 56 4d 5f 45 44 49 54 4c 41 42 45 4c 57 20   TVM_EDITLABELW 
18520 54 56 4d 5f 45 44 49 54 4c 41 42 45 4c 3b 0d 0a  TVM_EDITLABEL;..
18530 09 61 6c 69 61 73 20 54 56 4d 5f 47 45 54 49 53  .alias TVM_GETIS
18540 45 41 52 43 48 53 54 52 49 4e 47 57 20 54 56 4d  EARCHSTRINGW TVM
18550 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e  _GETISEARCHSTRIN
18560 47 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 54 56 44  G;...alias NMTVD
18570 49 53 50 49 4e 46 4f 57 20 54 56 5f 44 49 53 50  ISPINFOW TV_DISP
18580 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d  INFO;...alias NM
18590 54 56 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54 56  TVDISPINFOW NMTV
185a0 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61  DISPINFO;...alia
185b0 73 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f  s LPNMTVDISPINFO
185c0 57 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f  W LPNMTVDISPINFO
185d0 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69 66 20  ;.....static if 
185e0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
185f0 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73 20  400) {....alias 
18600 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 57 20  NMTVGETINFOTIPW 
18610 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 3b 0d  NMTVGETINFOTIP;.
18620 0a 09 09 61 6c 69 61 73 20 4c 50 4e 4d 54 56 47  ...alias LPNMTVG
18630 45 54 49 4e 46 4f 54 49 50 57 20 4c 50 4e 4d 54  ETINFOTIPW LPNMT
18640 56 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 09 09  VGETINFOTIP;....
18650 61 6c 69 61 73 20 54 56 4e 5f 47 45 54 49 4e 46  alias TVN_GETINF
18660 4f 54 49 50 57 20 54 56 4e 5f 47 45 54 49 4e 46  OTIPW TVN_GETINF
18670 4f 54 49 50 3b 0d 0a 09 7d 0d 0a 0d 0a 09 61 6c  OTIP;...}.....al
18680 69 61 73 20 54 56 4e 5f 53 45 4c 43 48 41 4e 47  ias TVN_SELCHANG
18690 49 4e 47 57 20 54 56 4e 5f 53 45 4c 43 48 41 4e  INGW TVN_SELCHAN
186a0 47 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20 54 56  GING;...alias TV
186b0 4e 5f 53 45 4c 43 48 41 4e 47 45 44 57 20 54 56  N_SELCHANGEDW TV
186c0 4e 5f 53 45 4c 43 48 41 4e 47 45 44 3b 0d 0a 09  N_SELCHANGED;...
186d0 61 6c 69 61 73 20 54 56 4e 5f 47 45 54 44 49 53  alias TVN_GETDIS
186e0 50 49 4e 46 4f 57 20 54 56 4e 5f 47 45 54 44 49  PINFOW TVN_GETDI
186f0 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20  SPINFO;...alias 
18700 54 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f 57  TVN_SETDISPINFOW
18710 20 54 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f   TVN_SETDISPINFO
18720 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f 49 54  ;...alias TVN_IT
18730 45 4d 45 58 50 41 4e 44 49 4e 47 57 20 54 56 4e  EMEXPANDINGW TVN
18740 5f 49 54 45 4d 45 58 50 41 4e 44 49 4e 47 3b 0d  _ITEMEXPANDING;.
18750 0a 09 61 6c 69 61 73 20 54 56 4e 5f 49 54 45 4d  ..alias TVN_ITEM
18760 45 58 50 41 4e 44 45 44 57 20 54 56 4e 5f 49 54  EXPANDEDW TVN_IT
18770 45 4d 45 58 50 41 4e 44 45 44 3b 0d 0a 09 61 6c  EMEXPANDED;...al
18780 69 61 73 20 54 56 4e 5f 42 45 47 49 4e 44 52 41  ias TVN_BEGINDRA
18790 47 57 20 54 56 4e 5f 42 45 47 49 4e 44 52 41 47  GW TVN_BEGINDRAG
187a0 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f 42 45  ;...alias TVN_BE
187b0 47 49 4e 52 44 52 41 47 57 20 54 56 4e 5f 42 45  GINRDRAGW TVN_BE
187c0 47 49 4e 52 44 52 41 47 3b 0d 0a 09 61 6c 69 61  GINRDRAG;...alia
187d0 73 20 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d  s TVN_DELETEITEM
187e0 57 20 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d  W TVN_DELETEITEM
187f0 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f 42 45  ;...alias TVN_BE
18800 47 49 4e 4c 41 42 45 4c 45 44 49 54 57 20 54 56  GINLABELEDITW TV
18810 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54  N_BEGINLABELEDIT
18820 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f 45 4e  ;...alias TVN_EN
18830 44 4c 41 42 45 4c 45 44 49 54 57 20 54 56 4e 5f  DLABELEDITW TVN_
18840 45 4e 44 4c 41 42 45 4c 45 44 49 54 3b 0d 0a 09  ENDLABELEDIT;...
18850 61 6c 69 61 73 20 54 43 5f 49 54 45 4d 48 45 41  alias TC_ITEMHEA
18860 44 45 52 57 20 54 43 5f 49 54 45 4d 48 45 41 44  DERW TC_ITEMHEAD
18870 45 52 3b 0d 0a 09 61 6c 69 61 73 20 54 43 5f 49  ER;...alias TC_I
18880 54 45 4d 57 20 54 43 5f 49 54 45 4d 3b 0d 0a 09  TEMW TC_ITEM;...
18890 61 6c 69 61 73 20 54 43 49 54 45 4d 57 20 54 43  alias TCITEMW TC
188a0 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 50  ITEM;...alias LP
188b0 54 43 49 54 45 4d 57 20 4c 50 54 43 49 54 45 4d  TCITEMW LPTCITEM
188c0 3b 0d 0a 09 61 6c 69 61 73 20 54 43 4d 5f 47 45  ;...alias TCM_GE
188d0 54 49 54 45 4d 57 20 54 43 4d 5f 47 45 54 49 54  TITEMW TCM_GETIT
188e0 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 43 4d 5f  EM;...alias TCM_
188f0 53 45 54 49 54 45 4d 57 20 54 43 4d 5f 53 45 54  SETITEMW TCM_SET
18900 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 43  ITEM;...alias TC
18910 4d 5f 49 4e 53 45 52 54 49 54 45 4d 57 20 54 43  M_INSERTITEMW TC
18920 4d 5f 49 4e 53 45 52 54 49 54 45 4d 3b 0d 0a 09  M_INSERTITEM;...
18930 61 6c 69 61 73 20 43 72 65 61 74 65 53 74 61 74  alias CreateStat
18940 75 73 57 69 6e 64 6f 77 57 20 43 72 65 61 74 65  usWindowW Create
18950 53 74 61 74 75 73 57 69 6e 64 6f 77 3b 0d 0a 09  StatusWindow;...
18960 61 6c 69 61 73 20 44 72 61 77 53 74 61 74 75 73  alias DrawStatus
18970 54 65 78 74 57 20 44 72 61 77 53 74 61 74 75 73  TextW DrawStatus
18980 54 65 78 74 3b 0d 0a 09 61 6c 69 61 73 20 49 6d  Text;...alias Im
18990 61 67 65 4c 69 73 74 5f 4c 6f 61 64 49 6d 61 67  ageList_LoadImag
189a0 65 57 20 49 6d 61 67 65 4c 69 73 74 5f 4c 6f 61  eW ImageList_Loa
189b0 64 49 6d 61 67 65 3b 0d 0a 09 61 6c 69 61 73 20  dImage;...alias 
189c0 44 54 4d 5f 53 45 54 46 4f 52 4d 41 54 57 20 44  DTM_SETFORMATW D
189d0 54 4d 5f 53 45 54 46 4f 52 4d 41 54 3b 0d 0a 09  TM_SETFORMAT;...
189e0 61 6c 69 61 73 20 44 54 4e 5f 55 53 45 52 53 54  alias DTN_USERST
189f0 52 49 4e 47 57 20 44 54 4e 5f 55 53 45 52 53 54  RINGW DTN_USERST
18a00 52 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20 44 54  RING;...alias DT
18a10 4e 5f 57 4d 4b 45 59 44 4f 57 4e 57 20 44 54 4e  N_WMKEYDOWNW DTN
18a20 5f 57 4d 4b 45 59 44 4f 57 4e 3b 0d 0a 09 61 6c  _WMKEYDOWN;...al
18a30 69 61 73 20 44 54 4e 5f 46 4f 52 4d 41 54 57 20  ias DTN_FORMATW 
18a40 44 54 4e 5f 46 4f 52 4d 41 54 3b 0d 0a 09 61 6c  DTN_FORMAT;...al
18a50 69 61 73 20 44 54 4e 5f 46 4f 52 4d 41 54 51 55  ias DTN_FORMATQU
18a60 45 52 59 57 20 44 54 4e 5f 46 4f 52 4d 41 54 51  ERYW DTN_FORMATQ
18a70 55 45 52 59 3b 0d 0a 09 61 6c 69 61 73 20 52 45  UERY;...alias RE
18a80 42 41 52 42 41 4e 44 49 4e 46 4f 57 20 52 45 42  BARBANDINFOW REB
18a90 41 52 42 41 4e 44 49 4e 46 4f 3b 0d 0a 09 61 6c  ARBANDINFO;...al
18aa0 69 61 73 20 52 45 42 41 52 42 41 4e 44 49 4e 46  ias REBARBANDINF
18ab0 4f 2a 20 4c 50 52 45 42 41 52 42 41 4e 44 49 4e  O* LPREBARBANDIN
18ac0 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 43 52  FO;...alias LPCR
18ad0 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 20 4c 50  EBARBANDINFOW LP
18ae0 43 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 3b 0d  CREBARBANDINFO;.
18af0 0a 09 61 6c 69 61 73 20 52 45 42 41 52 42 41 4e  ..alias REBARBAN
18b00 44 49 4e 46 4f 57 5f 56 33 5f 53 49 5a 45 20 52  DINFOW_V3_SIZE R
18b10 45 42 41 52 42 41 4e 44 49 4e 46 4f 5f 56 33 5f  EBARBANDINFO_V3_
18b20 53 49 5a 45 3b 0d 0a 09 61 6c 69 61 73 20 52 42  SIZE;...alias RB
18b30 5f 49 4e 53 45 52 54 42 41 4e 44 57 20 52 42 5f  _INSERTBANDW RB_
18b40 49 4e 53 45 52 54 42 41 4e 44 3b 0d 0a 09 61 6c  INSERTBAND;...al
18b50 69 61 73 20 52 42 5f 53 45 54 42 41 4e 44 49 4e  ias RB_SETBANDIN
18b60 46 4f 57 20 52 42 5f 53 45 54 42 41 4e 44 49 4e  FOW RB_SETBANDIN
18b70 46 4f 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09  FO;..} else {...
18b80 61 6c 69 61 73 20 48 44 49 54 45 4d 41 20 48 44  alias HDITEMA HD
18b90 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 50  ITEM;...alias LP
18ba0 48 44 49 54 45 4d 41 20 4c 50 48 44 49 54 45 4d  HDITEMA LPHDITEM
18bb0 3b 0d 0a 09 61 6c 69 61 73 20 54 4f 4f 4c 49 4e  ;...alias TOOLIN
18bc0 46 4f 41 20 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 09  FOA TOOLINFO;...
18bd0 61 6c 69 61 73 20 54 4f 4f 4c 49 4e 46 4f 41 2a  alias TOOLINFOA*
18be0 20 50 54 4f 4f 4c 49 4e 46 4f 2c 20 4c 50 54 4f   PTOOLINFO, LPTO
18bf0 4f 4c 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20  OLINFO;...alias 
18c00 54 54 48 49 54 54 45 53 54 49 4e 46 4f 41 20 54  TTHITTESTINFOA T
18c10 54 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 09  THITTESTINFO;...
18c20 61 6c 69 61 73 20 54 54 48 49 54 54 45 53 54 49  alias TTHITTESTI
18c30 4e 46 4f 41 2a 20 4c 50 48 49 54 54 45 53 54 49  NFOA* LPHITTESTI
18c40 4e 46 4f 2c 20 4c 50 54 54 48 49 54 54 45 53 54  NFO, LPTTHITTEST
18c50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 54 4f  INFO;...alias TO
18c60 4f 4c 54 49 50 54 45 58 54 41 20 54 4f 4f 4c 54  OLTIPTEXTA TOOLT
18c70 49 50 54 45 58 54 3b 0d 0a 09 61 6c 69 61 73 20  IPTEXT;...alias 
18c80 54 4f 4f 4c 54 49 50 54 45 58 54 41 2a 20 4c 50  TOOLTIPTEXTA* LP
18c90 54 4f 4f 4c 54 49 50 54 45 58 54 3b 0d 0a 09 61  TOOLTIPTEXT;...a
18ca0 6c 69 61 73 20 4e 4d 54 54 44 49 53 50 49 4e 46  lias NMTTDISPINF
18cb0 4f 41 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 3b  OA NMTTDISPINFO;
18cc0 0d 0a 09 61 6c 69 61 73 20 4e 4d 54 54 44 49 53  ...alias NMTTDIS
18cd0 50 49 4e 46 4f 41 2a 20 4c 50 4e 4d 54 54 44 49  PINFOA* LPNMTTDI
18ce0 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20  SPINFO;...alias 
18cf0 54 56 5f 49 54 45 4d 41 20 54 56 5f 49 54 45 4d  TV_ITEMA TV_ITEM
18d00 3b 0d 0a 09 61 6c 69 61 73 20 54 56 5f 49 54 45  ;...alias TV_ITE
18d10 4d 41 2a 20 4c 50 54 56 5f 49 54 45 4d 3b 0d 0a  MA* LPTV_ITEM;..
18d20 09 61 6c 69 61 73 20 54 56 49 54 45 4d 41 20 54  .alias TVITEMA T
18d30 56 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54  VITEM;...alias T
18d40 56 49 54 45 4d 41 2a 20 4c 50 54 56 49 54 45 4d  VITEMA* LPTVITEM
18d50 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69 66 20  ;.....static if 
18d60 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
18d70 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73 20  400) {....alias 
18d80 54 56 49 54 45 4d 45 58 41 20 54 56 49 54 45 4d  TVITEMEXA TVITEM
18d90 45 58 3b 0d 0a 09 09 61 6c 69 61 73 20 54 56 49  EX;....alias TVI
18da0 54 45 4d 45 58 41 2a 20 4c 50 54 56 49 54 45 4d  TEMEXA* LPTVITEM
18db0 45 58 3b 0d 0a 09 7d 0d 0a 0d 0a 09 61 6c 69 61  EX;...}.....alia
18dc0 73 20 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43  s TV_INSERTSTRUC
18dd0 54 41 20 54 56 5f 49 4e 53 45 52 54 53 54 52 55  TA TV_INSERTSTRU
18de0 43 54 3b 0d 0a 09 61 6c 69 61 73 20 54 56 5f 49  CT;...alias TV_I
18df0 4e 53 45 52 54 53 54 52 55 43 54 41 2a 20 4c 50  NSERTSTRUCTA* LP
18e00 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43 54 3b  TV_INSERTSTRUCT;
18e10 0d 0a 09 61 6c 69 61 73 20 54 56 49 4e 53 45 52  ...alias TVINSER
18e20 54 53 54 52 55 43 54 41 20 54 56 49 4e 53 45 52  TSTRUCTA TVINSER
18e30 54 53 54 52 55 43 54 3b 0d 0a 09 61 6c 69 61 73  TSTRUCT;...alias
18e40 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 41   TVINSERTSTRUCTA
18e50 2a 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55  * LPTVINSERTSTRU
18e60 43 54 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 5f 54  CT;...alias NM_T
18e70 52 45 45 56 49 45 57 41 20 4e 4d 5f 54 52 45 45  REEVIEWA NM_TREE
18e80 56 49 45 57 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d  VIEW;...alias NM
18e90 5f 54 52 45 45 56 49 45 57 41 2a 20 4c 50 4e 4d  _TREEVIEWA* LPNM
18ea0 5f 54 52 45 45 56 49 45 57 3b 0d 0a 09 61 6c 69  _TREEVIEW;...ali
18eb0 61 73 20 4e 4d 54 52 45 45 56 49 45 57 41 20 4e  as NMTREEVIEWA N
18ec0 4d 54 52 45 45 56 49 45 57 3b 0d 0a 09 61 6c 69  MTREEVIEW;...ali
18ed0 61 73 20 4e 4d 54 52 45 45 56 49 45 57 41 2a 20  as NMTREEVIEWA* 
18ee0 4c 50 4e 4d 54 52 45 45 56 49 45 57 3b 0d 0a 09  LPNMTREEVIEW;...
18ef0 61 6c 69 61 73 20 4e 4d 48 44 44 49 53 50 49 4e  alias NMHDDISPIN
18f00 46 4f 57 20 4e 4d 48 44 44 49 53 50 49 4e 46 4f  FOW NMHDDISPINFO
18f10 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 48 44 44 49  ;...alias NMHDDI
18f20 53 50 49 4e 46 4f 57 2a 20 4c 50 4e 4d 48 44 44  SPINFOW* LPNMHDD
18f30 49 53 50 49 4e 46 4f 3b 0d 0a 0d 0a 09 61 6c 69  ISPINFO;.....ali
18f40 61 73 20 41 43 4d 5f 4f 50 45 4e 41 20 41 43 4d  as ACM_OPENA ACM
18f50 5f 4f 50 45 4e 3b 0d 0a 09 61 6c 69 61 73 20 43  _OPEN;...alias C
18f60 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 20 43  OMBOBOXEXITEMA C
18f70 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 3b 0d 0a  OMBOBOXEXITEM;..
18f80 09 61 6c 69 61 73 20 50 43 4f 4d 42 4f 42 4f 58  .alias PCOMBOBOX
18f90 45 58 49 54 45 4d 41 20 50 43 4f 4d 42 4f 42 4f  EXITEMA PCOMBOBO
18fa0 58 45 58 49 54 45 4d 3b 0d 0a 09 2f 2f 61 6c 69  XEXITEM;...//ali
18fb0 61 73 20 50 43 43 4f 4d 42 4f 42 4f 58 45 58 49  as PCCOMBOBOXEXI
18fc0 54 45 4d 41 20 50 43 43 4f 4d 42 4f 42 4f 58 45  TEMA PCCOMBOBOXE
18fd0 58 49 54 45 4d 3b 20 66 69 78 6d 65 0d 0a 09 61  XITEM; fixme...a
18fe0 6c 69 61 73 20 43 42 45 4d 5f 49 4e 53 45 52 54  lias CBEM_INSERT
18ff0 49 54 45 4d 41 20 43 42 45 4d 5f 49 4e 53 45 52  ITEMA CBEM_INSER
19000 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 43  TITEM;...alias C
19010 42 45 4d 5f 53 45 54 49 54 45 4d 41 20 43 42 45  BEM_SETITEMA CBE
19020 4d 5f 53 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69  M_SETITEM;...ali
19030 61 73 20 43 42 45 4d 5f 47 45 54 49 54 45 4d 41  as CBEM_GETITEMA
19040 20 43 42 45 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a   CBEM_GETITEM;..
19050 09 61 6c 69 61 73 20 43 42 45 4e 5f 45 4e 44 45  .alias CBEN_ENDE
19060 44 49 54 41 20 43 42 45 4e 5f 45 4e 44 45 44 49  DITA CBEN_ENDEDI
19070 54 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 43 42 45  T;...alias NMCBE
19080 45 4e 44 45 44 49 54 41 20 4e 4d 43 42 45 45 4e  ENDEDITA NMCBEEN
19090 44 45 44 49 54 3b 0d 0a 09 61 6c 69 61 73 20 4c  DEDIT;...alias L
190a0 50 4e 4d 43 42 45 45 4e 44 45 44 49 54 41 20 4c  PNMCBEENDEDITA L
190b0 50 4e 4d 43 42 45 45 4e 44 45 44 49 54 3b 0d 0a  PNMCBEENDEDIT;..
190c0 09 61 6c 69 61 73 20 50 4e 4d 43 42 45 45 4e 44  .alias PNMCBEEND
190d0 45 44 49 54 41 20 50 4e 4d 43 42 45 45 4e 44 45  EDITA PNMCBEENDE
190e0 44 49 54 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20  DIT;.....static 
190f0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
19100 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69   0x400) {....ali
19110 61 73 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 49  as TB_GETBUTTONI
19120 4e 46 4f 41 20 54 42 5f 47 45 54 42 55 54 54 4f  NFOA TB_GETBUTTO
19130 4e 49 4e 46 4f 3b 0d 0a 09 09 61 6c 69 61 73 20  NINFO;....alias 
19140 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e 46 4f  TB_SETBUTTONINFO
19150 41 20 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e  A TB_SETBUTTONIN
19160 46 4f 3b 0d 0a 09 09 61 6c 69 61 73 20 54 42 5f  FO;....alias TB_
19170 49 4e 53 45 52 54 42 55 54 54 4f 4e 41 20 54 42  INSERTBUTTONA TB
19180 5f 49 4e 53 45 52 54 42 55 54 54 4f 4e 3b 0d 0a  _INSERTBUTTON;..
19190 09 09 61 6c 69 61 73 20 54 42 5f 41 44 44 42 55  ..alias TB_ADDBU
191a0 54 54 4f 4e 53 41 20 54 42 5f 41 44 44 42 55 54  TTONSA TB_ADDBUT
191b0 54 4f 4e 53 3b 0d 0a 09 09 61 6c 69 61 73 20 54  TONS;....alias T
191c0 42 5f 4d 41 50 41 43 43 45 4c 45 52 41 54 4f 52  B_MAPACCELERATOR
191d0 41 20 54 42 5f 4d 41 50 41 43 43 45 4c 45 52 41  A TB_MAPACCELERA
191e0 54 4f 52 3b 0d 0a 09 09 61 6c 69 61 73 20 54 42  TOR;....alias TB
191f0 5f 47 45 54 53 54 52 49 4e 47 41 20 54 42 5f 47  _GETSTRINGA TB_G
19200 45 54 53 54 52 49 4e 47 3b 0d 0a 09 09 61 6c 69  ETSTRING;....ali
19210 61 73 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 41  as NMCOMBOBOXEXA
19220 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 3b 0d 0a   NMCOMBOBOXEX;..
19230 09 09 61 6c 69 61 73 20 50 4e 4d 43 4f 4d 42 4f  ..alias PNMCOMBO
19240 42 4f 58 45 58 41 20 50 4e 4d 43 4f 4d 42 4f 42  BOXEXA PNMCOMBOB
19250 4f 58 45 58 3b 0d 0a 09 09 61 6c 69 61 73 20 43  OXEX;....alias C
19260 42 45 4e 5f 44 52 41 47 42 45 47 49 4e 41 20 43  BEN_DRAGBEGINA C
19270 42 45 4e 5f 44 52 41 47 42 45 47 49 4e 3b 0d 0a  BEN_DRAGBEGIN;..
19280 09 09 61 6c 69 61 73 20 43 42 45 4e 5f 47 45 54  ..alias CBEN_GET
19290 44 49 53 50 49 4e 46 4f 41 20 43 42 45 4e 5f 47  DISPINFOA CBEN_G
192a0 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 09 61  ETDISPINFO;....a
192b0 6c 69 61 73 20 4e 4d 43 42 45 44 52 41 47 42 45  lias NMCBEDRAGBE
192c0 47 49 4e 41 20 4e 4d 43 42 45 44 52 41 47 42 45  GINA NMCBEDRAGBE
192d0 47 49 4e 3b 0d 0a 09 09 61 6c 69 61 73 20 4c 50  GIN;....alias LP
192e0 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e 41 20  NMCBEDRAGBEGINA 
192f0 4c 50 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e  LPNMCBEDRAGBEGIN
19300 3b 0d 0a 09 09 61 6c 69 61 73 20 50 4e 4d 43 42  ;....alias PNMCB
19310 45 44 52 41 47 42 45 47 49 4e 41 20 50 4e 4d 43  EDRAGBEGINA PNMC
19320 42 45 44 52 41 47 42 45 47 49 4e 3b 0d 0a 09 09  BEDRAGBEGIN;....
19330 61 6c 69 61 73 20 54 42 4e 5f 47 45 54 44 49 53  alias TBN_GETDIS
19340 50 49 4e 46 4f 41 20 54 42 4e 5f 47 45 54 44 49  PINFOA TBN_GETDI
19350 53 50 49 4e 46 4f 3b 0d 0a 09 09 61 6c 69 61 73  SPINFO;....alias
19360 20 4e 4d 54 42 44 49 53 50 49 4e 46 4f 41 20 4e   NMTBDISPINFOA N
19370 4d 54 42 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 09  MTBDISPINFO;....
19380 61 6c 69 61 73 20 4c 50 4e 4d 54 42 44 49 53 50  alias LPNMTBDISP
19390 49 4e 46 4f 41 20 4c 50 4e 4d 54 42 44 49 53 50  INFOA LPNMTBDISP
193a0 49 4e 46 4f 3b 0d 0a 09 09 61 6c 69 61 73 20 4e  INFO;....alias N
193b0 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41 20 4e  MTBGETINFOTIPA N
193c0 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a  MTBGETINFOTIP;..
193d0 09 09 61 6c 69 61 73 20 4c 50 4e 4d 54 42 47 45  ..alias LPNMTBGE
193e0 54 49 4e 46 4f 54 49 50 41 20 4c 50 4e 4d 54 42  TINFOTIPA LPNMTB
193f0 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 09 7d 0d  GETINFOTIP;...}.
19400 0a 0d 0a 09 61 6c 69 61 73 20 53 42 5f 47 45 54  ....alias SB_GET
19410 54 45 58 54 41 20 53 42 5f 47 45 54 54 45 58 54  TEXTA SB_GETTEXT
19420 3b 0d 0a 09 61 6c 69 61 73 20 53 42 5f 53 45 54  ;...alias SB_SET
19430 54 45 58 54 41 20 53 42 5f 53 45 54 54 45 58 54  TEXTA SB_SETTEXT
19440 3b 0d 0a 09 61 6c 69 61 73 20 53 42 5f 47 45 54  ;...alias SB_GET
19450 54 45 58 54 4c 45 4e 47 54 48 41 20 53 42 5f 47  TEXTLENGTHA SB_G
19460 45 54 54 45 58 54 4c 45 4e 47 54 48 3b 0d 0a 09  ETTEXTLENGTH;...
19470 61 6c 69 61 73 20 48 44 4d 5f 49 4e 53 45 52 54  alias HDM_INSERT
19480 49 54 45 4d 41 20 48 44 4d 5f 49 4e 53 45 52 54  ITEMA HDM_INSERT
19490 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 48 44  ITEM;...alias HD
194a0 4d 5f 47 45 54 49 54 45 4d 41 20 48 44 4d 5f 47  M_GETITEMA HDM_G
194b0 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  ETITEM;...alias 
194c0 48 44 4d 5f 53 45 54 49 54 45 4d 41 20 48 44 4d  HDM_SETITEMA HDM
194d0 5f 53 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61  _SETITEM;...alia
194e0 73 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49  s HDN_ITEMCHANGI
194f0 4e 47 41 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e  NGA HDN_ITEMCHAN
19500 47 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20 48 44  GING;...alias HD
19510 4e 5f 49 54 45 4d 43 48 41 4e 47 45 44 41 20 48  N_ITEMCHANGEDA H
19520 44 4e 5f 49 54 45 4d 43 48 41 4e 47 45 44 3b 0d  DN_ITEMCHANGED;.
19530 0a 09 61 6c 69 61 73 20 48 44 4e 5f 49 54 45 4d  ..alias HDN_ITEM
19540 43 4c 49 43 4b 41 20 48 44 4e 5f 49 54 45 4d 43  CLICKA HDN_ITEMC
19550 4c 49 43 4b 3b 0d 0a 09 61 6c 69 61 73 20 48 44  LICK;...alias HD
19560 4e 5f 49 54 45 4d 44 42 4c 43 4c 49 43 4b 41 20  N_ITEMDBLCLICKA 
19570 48 44 4e 5f 49 54 45 4d 44 42 4c 43 4c 49 43 4b  HDN_ITEMDBLCLICK
19580 3b 0d 0a 09 61 6c 69 61 73 20 48 44 4e 5f 44 49  ;...alias HDN_DI
19590 56 49 44 45 52 44 42 4c 43 4c 49 43 4b 41 20 48  VIDERDBLCLICKA H
195a0 44 4e 5f 44 49 56 49 44 45 52 44 42 4c 43 4c 49  DN_DIVIDERDBLCLI
195b0 43 4b 3b 0d 0a 09 61 6c 69 61 73 20 48 44 4e 5f  CK;...alias HDN_
195c0 42 45 47 49 4e 54 52 41 43 4b 41 20 48 44 4e 5f  BEGINTRACKA HDN_
195d0 42 45 47 49 4e 54 52 41 43 4b 3b 0d 0a 09 61 6c  BEGINTRACK;...al
195e0 69 61 73 20 48 44 4e 5f 45 4e 44 54 52 41 43 4b  ias HDN_ENDTRACK
195f0 41 20 48 44 4e 5f 45 4e 44 54 52 41 43 4b 3b 0d  A HDN_ENDTRACK;.
19600 0a 09 61 6c 69 61 73 20 48 44 4e 5f 54 52 41 43  ..alias HDN_TRAC
19610 4b 41 20 48 44 4e 5f 54 52 41 43 4b 3b 0d 0a 0d  KA HDN_TRACK;...
19620 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
19630 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29  N32_IE >= 0x300)
19640 20 7b 0d 0a 09 09 61 6c 69 61 73 20 48 44 4e 5f   {....alias HDN_
19650 47 45 54 44 49 53 50 49 4e 46 4f 41 20 48 44 4e  GETDISPINFOA HDN
19660 5f 47 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 09  _GETDISPINFO;...
19670 7d 0d 0a 0d 0a 09 61 6c 69 61 73 20 48 44 5f 4e  }.....alias HD_N
19680 4f 54 49 46 59 41 20 48 44 5f 4e 4f 54 49 46 59  OTIFYA HD_NOTIFY
19690 3b 0d 0a 09 61 6c 69 61 73 20 54 42 53 41 56 45  ;...alias TBSAVE
196a0 50 41 52 41 4d 53 41 20 54 42 53 41 56 45 50 41  PARAMSA TBSAVEPA
196b0 52 41 4d 53 3b 0d 0a 09 61 6c 69 61 73 20 54 42  RAMS;...alias TB
196c0 5f 47 45 54 42 55 54 54 4f 4e 54 45 58 54 41 20  _GETBUTTONTEXTA 
196d0 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58 54  TB_GETBUTTONTEXT
196e0 3b 0d 0a 09 61 6c 69 61 73 20 54 42 5f 53 41 56  ;...alias TB_SAV
196f0 45 52 45 53 54 4f 52 45 41 20 54 42 5f 53 41 56  ERESTOREA TB_SAV
19700 45 52 45 53 54 4f 52 45 3b 0d 0a 09 61 6c 69 61  ERESTORE;...alia
19710 73 20 54 42 5f 41 44 44 53 54 52 49 4e 47 41 20  s TB_ADDSTRINGA 
19720 54 42 5f 41 44 44 53 54 52 49 4e 47 3b 0d 0a 09  TB_ADDSTRING;...
19730 61 6c 69 61 73 20 54 42 4e 5f 47 45 54 42 55 54  alias TBN_GETBUT
19740 54 4f 4e 49 4e 46 4f 41 20 54 42 4e 5f 47 45 54  TONINFOA TBN_GET
19750 42 55 54 54 4f 4e 49 4e 46 4f 3b 0d 0a 0d 0a 09  BUTTONINFO;.....
19760 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
19770 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b  2_IE >= 0x400) {
19780 0d 0a 09 09 61 6c 69 61 73 20 54 42 42 55 54 54  ....alias TBBUTT
19790 4f 4e 49 4e 46 4f 41 20 54 42 42 55 54 54 4f 4e  ONINFOA TBBUTTON
197a0 49 4e 46 4f 3b 0d 0a 09 09 61 6c 69 61 73 20 4c  INFO;....alias L
197b0 50 54 42 42 55 54 54 4f 4e 49 4e 46 4f 41 20 4c  PTBBUTTONINFOA L
197c0 50 54 42 42 55 54 54 4f 4e 49 4e 46 4f 3b 0d 0a  PTBBUTTONINFO;..
197d0 09 7d 0d 0a 0d 0a 09 61 6c 69 61 73 20 54 42 4e  .}.....alias TBN
197e0 4f 54 49 46 59 41 20 54 42 4e 4f 54 49 46 59 3b  OTIFYA TBNOTIFY;
197f0 0d 0a 09 61 6c 69 61 73 20 4c 50 54 42 4e 4f 54  ...alias LPTBNOT
19800 49 46 59 41 20 4c 50 54 42 4e 4f 54 49 46 59 3b  IFYA LPTBNOTIFY;
19810 0d 0a 09 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42  ...alias NMTOOLB
19820 41 52 41 20 4e 4d 54 4f 4f 4c 42 41 52 3b 0d 0a  ARA NMTOOLBAR;..
19830 09 61 6c 69 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42  .alias LPNMTOOLB
19840 41 52 41 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 3b  ARA LPNMTOOLBAR;
19850 0d 0a 09 61 6c 69 61 73 20 54 54 4d 5f 41 44 44  ...alias TTM_ADD
19860 54 4f 4f 4c 41 20 54 54 4d 5f 41 44 44 54 4f 4f  TOOLA TTM_ADDTOO
19870 4c 3b 0d 0a 09 61 6c 69 61 73 20 54 54 4d 5f 44  L;...alias TTM_D
19880 45 4c 54 4f 4f 4c 41 20 54 54 4d 5f 44 45 4c 54  ELTOOLA TTM_DELT
19890 4f 4f 4c 3b 0d 0a 09 61 6c 69 61 73 20 54 54 4d  OOL;...alias TTM
198a0 5f 4e 45 57 54 4f 4f 4c 52 45 43 54 41 20 54 54  _NEWTOOLRECTA TT
198b0 4d 5f 4e 45 57 54 4f 4f 4c 52 45 43 54 3b 0d 0a  M_NEWTOOLRECT;..
198c0 09 61 6c 69 61 73 20 54 54 4d 5f 47 45 54 54 4f  .alias TTM_GETTO
198d0 4f 4c 49 4e 46 4f 41 20 54 54 4d 5f 47 45 54 54  OLINFOA TTM_GETT
198e0 4f 4f 4c 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73  OOLINFO;...alias
198f0 20 54 54 4d 5f 53 45 54 54 4f 4f 4c 49 4e 46 4f   TTM_SETTOOLINFO
19900 41 20 54 54 4d 5f 53 45 54 54 4f 4f 4c 49 4e 46  A TTM_SETTOOLINF
19910 4f 3b 0d 0a 09 61 6c 69 61 73 20 54 54 4d 5f 48  O;...alias TTM_H
19920 49 54 54 45 53 54 41 20 54 54 4d 5f 48 49 54 54  ITTESTA TTM_HITT
19930 45 53 54 3b 0d 0a 09 61 6c 69 61 73 20 54 54 4d  EST;...alias TTM
19940 5f 47 45 54 54 45 58 54 41 20 54 54 4d 5f 47 45  _GETTEXTA TTM_GE
19950 54 54 45 58 54 3b 0d 0a 09 61 6c 69 61 73 20 54  TTEXT;...alias T
19960 54 4d 5f 55 50 44 41 54 45 54 49 50 54 45 58 54  TM_UPDATETIPTEXT
19970 41 20 54 54 4d 5f 55 50 44 41 54 45 54 49 50 54  A TTM_UPDATETIPT
19980 45 58 54 3b 0d 0a 09 61 6c 69 61 73 20 54 54 4d  EXT;...alias TTM
19990 5f 45 4e 55 4d 54 4f 4f 4c 53 41 20 54 54 4d 5f  _ENUMTOOLSA TTM_
199a0 45 4e 55 4d 54 4f 4f 4c 53 3b 0d 0a 09 61 6c 69  ENUMTOOLS;...ali
199b0 61 73 20 54 54 4d 5f 47 45 54 43 55 52 52 45 4e  as TTM_GETCURREN
199c0 54 54 4f 4f 4c 41 20 54 54 4d 5f 47 45 54 43 55  TTOOLA TTM_GETCU
199d0 52 52 45 4e 54 54 4f 4f 4c 3b 0d 0a 09 61 6c 69  RRENTTOOL;...ali
199e0 61 73 20 54 54 4e 5f 4e 45 45 44 54 45 58 54 41  as TTN_NEEDTEXTA
199f0 20 54 54 4e 5f 4e 45 45 44 54 45 58 54 3b 0d 0a   TTN_NEEDTEXT;..
19a00 09 61 6c 69 61 73 20 54 54 4e 5f 47 45 54 44 49  .alias TTN_GETDI
19a10 53 50 49 4e 46 4f 41 20 54 54 4e 5f 47 45 54 44  SPINFOA TTN_GETD
19a20 49 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73  ISPINFO;...alias
19a30 20 4c 56 5f 49 54 45 4d 41 20 4c 56 5f 49 54 45   LV_ITEMA LV_ITE
19a40 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 49 54 45  M;...alias LVITE
19a50 4d 41 20 4c 56 49 54 45 4d 3b 0d 0a 09 61 6c 69  MA LVITEM;...ali
19a60 61 73 20 4c 56 49 54 45 4d 2a 20 4c 50 4c 56 49  as LVITEM* LPLVI
19a70 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 53  TEM;...alias LPS
19a80 54 52 5f 54 45 58 54 43 41 4c 4c 42 41 43 4b 41  TR_TEXTCALLBACKA
19a90 20 4c 50 53 54 52 5f 54 45 58 54 43 41 4c 4c 42   LPSTR_TEXTCALLB
19aa0 41 43 4b 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20  ACK;.....static 
19ab0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
19ac0 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69   0x400) {....ali
19ad0 61 73 20 4c 56 42 4b 49 4d 41 47 45 41 20 4c 56  as LVBKIMAGEA LV
19ae0 42 4b 49 4d 41 47 45 3b 0d 0a 09 09 61 6c 69 61  BKIMAGE;....alia
19af0 73 20 4c 50 4c 56 42 4b 49 4d 41 47 45 41 20 4c  s LPLVBKIMAGEA L
19b00 50 4c 56 42 4b 49 4d 41 47 45 3b 0d 0a 09 09 61  PLVBKIMAGE;....a
19b10 6c 69 61 73 20 4c 56 4d 5f 53 45 54 42 4b 49 4d  lias LVM_SETBKIM
19b20 41 47 45 41 20 4c 56 4d 5f 53 45 54 42 4b 49 4d  AGEA LVM_SETBKIM
19b30 41 47 45 3b 0d 0a 09 09 61 6c 69 61 73 20 4c 56  AGE;....alias LV
19b40 4d 5f 47 45 54 42 4b 49 4d 41 47 45 41 20 4c 56  M_GETBKIMAGEA LV
19b50 4d 5f 47 45 54 42 4b 49 4d 41 47 45 3b 0d 0a 09  M_GETBKIMAGE;...
19b60 7d 0d 0a 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f  }.....alias LVM_
19b70 47 45 54 49 54 45 4d 41 20 4c 56 4d 5f 47 45 54  GETITEMA LVM_GET
19b80 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 56  ITEM;...alias LV
19b90 4d 5f 53 45 54 49 54 45 4d 41 20 4c 56 4d 5f 53  M_SETITEMA LVM_S
19ba0 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  ETITEM;...alias 
19bb0 4c 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d 41 20  LVM_INSERTITEMA 
19bc0 4c 56 4d 5f 49 4e 53 45 52 54 49 54 45 4d 3b 0d  LVM_INSERTITEM;.
19bd0 0a 09 61 6c 69 61 73 20 4c 56 5f 46 49 4e 44 49  ..alias LV_FINDI
19be0 4e 46 4f 41 20 4c 56 5f 46 49 4e 44 49 4e 46 4f  NFOA LV_FINDINFO
19bf0 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 46 49 4e 44  ;...alias LVFIND
19c00 49 4e 46 4f 41 20 4c 56 46 49 4e 44 49 4e 46 4f  INFOA LVFINDINFO
19c10 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 46 49 4e 44  ;...alias LPFIND
19c20 49 4e 46 4f 41 20 4c 50 46 49 4e 44 49 4e 46 4f  INFOA LPFINDINFO
19c30 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 4c 56 46 49  ;...alias NMLVFI
19c40 4e 44 49 54 45 4d 41 20 4e 4d 4c 56 46 49 4e 44  NDITEMA NMLVFIND
19c50 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 50 4e  ITEM;...alias PN
19c60 4d 4c 56 46 49 4e 44 49 54 45 4d 41 20 50 4e 4d  MLVFINDITEMA PNM
19c70 4c 56 46 49 4e 44 49 54 45 4d 3b 0d 0a 09 61 6c  LVFINDITEM;...al
19c80 69 61 73 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54  ias LPNMLVFINDIT
19c90 45 4d 41 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54  EMA LPNMLVFINDIT
19ca0 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f  EM;...alias LVM_
19cb0 46 49 4e 44 49 54 45 4d 41 20 4c 56 4d 5f 46 49  FINDITEMA LVM_FI
19cc0 4e 44 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  NDITEM;...alias 
19cd0 4c 56 4d 5f 47 45 54 53 54 52 49 4e 47 57 49 44  LVM_GETSTRINGWID
19ce0 54 48 41 20 4c 56 4d 5f 47 45 54 53 54 52 49 4e  THA LVM_GETSTRIN
19cf0 47 57 49 44 54 48 3b 0d 0a 09 61 6c 69 61 73 20  GWIDTH;...alias 
19d00 4c 56 4d 5f 45 44 49 54 4c 41 42 45 4c 41 20 4c  LVM_EDITLABELA L
19d10 56 4d 5f 45 44 49 54 4c 41 42 45 4c 3b 0d 0a 09  VM_EDITLABEL;...
19d20 61 6c 69 61 73 20 4c 56 5f 43 4f 4c 55 4d 4e 41  alias LV_COLUMNA
19d30 20 4c 56 5f 43 4f 4c 55 4d 4e 3b 0d 0a 09 61 6c   LV_COLUMN;...al
19d40 69 61 73 20 4c 56 43 4f 4c 55 4d 4e 41 20 4c 56  ias LVCOLUMNA LV
19d50 43 4f 4c 55 4d 4e 3b 0d 0a 09 61 6c 69 61 73 20  COLUMN;...alias 
19d60 4c 56 43 4f 4c 55 4d 4e 41 2a 20 4c 50 4c 56 43  LVCOLUMNA* LPLVC
19d70 4f 4c 55 4d 4e 3b 0d 0a 09 61 6c 69 61 73 20 4c  OLUMN;...alias L
19d80 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 41 20 4c 56  VM_GETCOLUMNA LV
19d90 4d 5f 47 45 54 43 4f 4c 55 4d 4e 3b 0d 0a 09 61  M_GETCOLUMN;...a
19da0 6c 69 61 73 20 4c 56 4d 5f 53 45 54 43 4f 4c 55  lias LVM_SETCOLU
19db0 4d 4e 41 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d  MNA LVM_SETCOLUM
19dc0 4e 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f 49  N;...alias LVM_I
19dd0 4e 53 45 52 54 43 4f 4c 55 4d 4e 41 20 4c 56 4d  NSERTCOLUMNA LVM
19de0 5f 49 4e 53 45 52 54 43 4f 4c 55 4d 4e 3b 0d 0a  _INSERTCOLUMN;..
19df0 09 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54 49 54  .alias LVM_GETIT
19e00 45 4d 54 45 58 54 41 20 4c 56 4d 5f 47 45 54 49  EMTEXTA LVM_GETI
19e10 54 45 4d 54 45 58 54 3b 0d 0a 09 61 6c 69 61 73  TEMTEXT;...alias
19e20 20 4c 56 4d 5f 53 45 54 49 54 45 4d 54 45 58 54   LVM_SETITEMTEXT
19e30 41 20 4c 56 4d 5f 53 45 54 49 54 45 4d 54 45 58  A LVM_SETITEMTEX
19e40 54 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4d 5f 47  T;...alias LVM_G
19e50 45 54 49 53 45 41 52 43 48 53 54 52 49 4e 47 41  ETISEARCHSTRINGA
19e60 20 4c 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53   LVM_GETISEARCHS
19e70 54 52 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20 4c  TRING;...alias L
19e80 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49  VN_BEGINLABELEDI
19e90 54 41 20 4c 56 4e 5f 42 45 47 49 4e 4c 41 42 45  TA LVN_BEGINLABE
19ea0 4c 45 44 49 54 3b 0d 0a 09 61 6c 69 61 73 20 4c  LEDIT;...alias L
19eb0 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54 41  VN_ENDLABELEDITA
19ec0 20 4c 56 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49   LVN_ENDLABELEDI
19ed0 54 3b 0d 0a 09 61 6c 69 61 73 20 4c 56 4e 5f 47  T;...alias LVN_G
19ee0 45 54 44 49 53 50 49 4e 46 4f 41 20 4c 56 4e 5f  ETDISPINFOA LVN_
19ef0 47 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 61  GETDISPINFO;...a
19f00 6c 69 61 73 20 4c 56 4e 5f 53 45 54 44 49 53 50  lias LVN_SETDISP
19f10 49 4e 46 4f 41 20 4c 56 4e 5f 53 45 54 44 49 53  INFOA LVN_SETDIS
19f20 50 49 4e 46 4f 3b 0d 0a 0d 0a 09 73 74 61 74 69  PINFO;.....stati
19f30 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20  c if (_WIN32_IE 
19f40 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 61  >= 0x400) {....a
19f50 6c 69 61 73 20 4c 56 4e 5f 47 45 54 49 4e 46 4f  lias LVN_GETINFO
19f60 54 49 50 41 20 4c 56 4e 5f 47 45 54 49 4e 46 4f  TIPA LVN_GETINFO
19f70 54 49 50 3b 0d 0a 09 09 61 6c 69 61 73 20 4e 4d  TIP;....alias NM
19f80 4c 56 47 45 54 49 4e 46 4f 54 49 50 41 20 4e 4d  LVGETINFOTIPA NM
19f90 4c 56 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 09  LVGETINFOTIP;...
19fa0 09 61 6c 69 61 73 20 4c 50 4e 4d 4c 56 47 45 54  .alias LPNMLVGET
19fb0 49 4e 46 4f 54 49 50 41 20 4c 50 4e 4d 4c 56 47  INFOTIPA LPNMLVG
19fc0 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 09 7d 0d 0a  ETINFOTIP;...}..
19fd0 0d 0a 09 61 6c 69 61 73 20 4c 56 5f 44 49 53 50  ...alias LV_DISP
19fe0 49 4e 46 4f 41 20 4c 56 5f 44 49 53 50 49 4e 46  INFOA LV_DISPINF
19ff0 4f 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 4c 56 44  O;...alias NMLVD
1a000 49 53 50 49 4e 46 4f 41 20 4e 4d 4c 56 44 49 53  ISPINFOA NMLVDIS
1a010 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 4c  PINFO;...alias L
1a020 50 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 41 20 4c  PNMLVDISPINFOA L
1a030 50 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 3b 0d 0a  PNMLVDISPINFO;..
1a040 09 61 6c 69 61 73 20 54 56 4d 5f 49 4e 53 45 52  .alias TVM_INSER
1a050 54 49 54 45 4d 41 20 54 56 4d 5f 49 4e 53 45 52  TITEMA TVM_INSER
1a060 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54  TITEM;...alias T
1a070 56 4d 5f 47 45 54 49 54 45 4d 41 20 54 56 4d 5f  VM_GETITEMA TVM_
1a080 47 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73  GETITEM;...alias
1a090 20 54 56 4d 5f 53 45 54 49 54 45 4d 41 20 54 56   TVM_SETITEMA TV
1a0a0 4d 5f 53 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69  M_SETITEM;...ali
1a0b0 61 73 20 54 56 4d 5f 45 44 49 54 4c 41 42 45 4c  as TVM_EDITLABEL
1a0c0 41 20 54 56 4d 5f 45 44 49 54 4c 41 42 45 4c 3b  A TVM_EDITLABEL;
1a0d0 0d 0a 09 61 6c 69 61 73 20 54 56 4d 5f 47 45 54  ...alias TVM_GET
1a0e0 49 53 45 41 52 43 48 53 54 52 49 4e 47 41 20 54  ISEARCHSTRINGA T
1a0f0 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54 52  VM_GETISEARCHSTR
1a100 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20 4e 4d 54  ING;...alias NMT
1a110 56 44 49 53 50 49 4e 46 4f 41 20 54 56 5f 44 49  VDISPINFOA TV_DI
1a120 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20  SPINFO;...alias 
1a130 4e 4d 54 56 44 49 53 50 49 4e 46 4f 41 20 4e 4d  NMTVDISPINFOA NM
1a140 54 56 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c  TVDISPINFO;...al
1a150 69 61 73 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e  ias LPNMTVDISPIN
1a160 46 4f 41 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e  FOA LPNMTVDISPIN
1a170 46 4f 3b 0d 0a 0d 0a 09 73 74 61 74 69 63 20 69  FO;.....static i
1a180 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
1a190 30 78 34 30 30 29 20 7b 0d 0a 09 09 61 6c 69 61  0x400) {....alia
1a1a0 73 20 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50  s NMTVGETINFOTIP
1a1b0 41 20 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50  A NMTVGETINFOTIP
1a1c0 3b 0d 0a 09 09 61 6c 69 61 73 20 4c 50 4e 4d 54  ;....alias LPNMT
1a1d0 56 47 45 54 49 4e 46 4f 54 49 50 41 20 4c 50 4e  VGETINFOTIPA LPN
1a1e0 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a  MTVGETINFOTIP;..
1a1f0 09 09 61 6c 69 61 73 20 54 56 4e 5f 47 45 54 49  ..alias TVN_GETI
1a200 4e 46 4f 54 49 50 41 20 54 56 4e 5f 47 45 54 49  NFOTIPA TVN_GETI
1a210 4e 46 4f 54 49 50 3b 0d 0a 09 7d 0d 0a 0d 0a 09  NFOTIP;...}.....
1a220 61 6c 69 61 73 20 54 56 4e 5f 53 45 4c 43 48 41  alias TVN_SELCHA
1a230 4e 47 49 4e 47 41 20 54 56 4e 5f 53 45 4c 43 48  NGINGA TVN_SELCH
1a240 41 4e 47 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20  ANGING;...alias 
1a250 54 56 4e 5f 53 45 4c 43 48 41 4e 47 45 44 41 20  TVN_SELCHANGEDA 
1a260 54 56 4e 5f 53 45 4c 43 48 41 4e 47 45 44 3b 0d  TVN_SELCHANGED;.
1a270 0a 09 61 6c 69 61 73 20 54 56 4e 5f 47 45 54 44  ..alias TVN_GETD
1a280 49 53 50 49 4e 46 4f 41 20 54 56 4e 5f 47 45 54  ISPINFOA TVN_GET
1a290 44 49 53 50 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61  DISPINFO;...alia
1a2a0 73 20 54 56 4e 5f 53 45 54 44 49 53 50 49 4e 46  s TVN_SETDISPINF
1a2b0 4f 41 20 54 56 4e 5f 53 45 54 44 49 53 50 49 4e  OA TVN_SETDISPIN
1a2c0 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f  FO;...alias TVN_
1a2d0 49 54 45 4d 45 58 50 41 4e 44 49 4e 47 41 20 54  ITEMEXPANDINGA T
1a2e0 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 49 4e 47  VN_ITEMEXPANDING
1a2f0 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f 49 54  ;...alias TVN_IT
1a300 45 4d 45 58 50 41 4e 44 45 44 41 20 54 56 4e 5f  EMEXPANDEDA TVN_
1a310 49 54 45 4d 45 58 50 41 4e 44 45 44 3b 0d 0a 09  ITEMEXPANDED;...
1a320 61 6c 69 61 73 20 54 56 4e 5f 42 45 47 49 4e 44  alias TVN_BEGIND
1a330 52 41 47 41 20 54 56 4e 5f 42 45 47 49 4e 44 52  RAGA TVN_BEGINDR
1a340 41 47 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f  AG;...alias TVN_
1a350 42 45 47 49 4e 52 44 52 41 47 41 20 54 56 4e 5f  BEGINRDRAGA TVN_
1a360 42 45 47 49 4e 52 44 52 41 47 3b 0d 0a 09 61 6c  BEGINRDRAG;...al
1a370 69 61 73 20 54 56 4e 5f 44 45 4c 45 54 45 49 54  ias TVN_DELETEIT
1a380 45 4d 41 20 54 56 4e 5f 44 45 4c 45 54 45 49 54  EMA TVN_DELETEIT
1a390 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f  EM;...alias TVN_
1a3a0 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 41 20  BEGINLABELEDITA 
1a3b0 54 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44  TVN_BEGINLABELED
1a3c0 49 54 3b 0d 0a 09 61 6c 69 61 73 20 54 56 4e 5f  IT;...alias TVN_
1a3d0 45 4e 44 4c 41 42 45 4c 45 44 49 54 41 20 54 56  ENDLABELEDITA TV
1a3e0 4e 5f 45 4e 44 4c 41 42 45 4c 45 44 49 54 3b 0d  N_ENDLABELEDIT;.
1a3f0 0a 09 61 6c 69 61 73 20 54 43 5f 49 54 45 4d 48  ..alias TC_ITEMH
1a400 45 41 44 45 52 41 20 54 43 5f 49 54 45 4d 48 45  EADERA TC_ITEMHE
1a410 41 44 45 52 3b 0d 0a 09 61 6c 69 61 73 20 54 43  ADER;...alias TC
1a420 5f 49 54 45 4d 41 20 54 43 5f 49 54 45 4d 3b 0d  _ITEMA TC_ITEM;.
1a430 0a 09 61 6c 69 61 73 20 54 43 49 54 45 4d 41 20  ..alias TCITEMA 
1a440 54 43 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  TCITEM;...alias 
1a450 4c 50 54 43 49 54 45 4d 41 20 4c 50 54 43 49 54  LPTCITEMA LPTCIT
1a460 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 43 4d 5f  EM;...alias TCM_
1a470 47 45 54 49 54 45 4d 41 20 54 43 4d 5f 47 45 54  GETITEMA TCM_GET
1a480 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20 54 43  ITEM;...alias TC
1a490 4d 5f 53 45 54 49 54 45 4d 41 20 54 43 4d 5f 53  M_SETITEMA TCM_S
1a4a0 45 54 49 54 45 4d 3b 0d 0a 09 61 6c 69 61 73 20  ETITEM;...alias 
1a4b0 54 43 4d 5f 49 4e 53 45 52 54 49 54 45 4d 41 20  TCM_INSERTITEMA 
1a4c0 54 43 4d 5f 49 4e 53 45 52 54 49 54 45 4d 3b 0d  TCM_INSERTITEM;.
1a4d0 0a 09 61 6c 69 61 73 20 43 72 65 61 74 65 53 74  ..alias CreateSt
1a4e0 61 74 75 73 57 69 6e 64 6f 77 41 20 43 72 65 61  atusWindowA Crea
1a4f0 74 65 53 74 61 74 75 73 57 69 6e 64 6f 77 3b 0d  teStatusWindow;.
1a500 0a 09 61 6c 69 61 73 20 44 72 61 77 53 74 61 74  ..alias DrawStat
1a510 75 73 54 65 78 74 41 20 44 72 61 77 53 74 61 74  usTextA DrawStat
1a520 75 73 54 65 78 74 3b 0d 0a 09 61 6c 69 61 73 20  usText;...alias 
1a530 49 6d 61 67 65 4c 69 73 74 5f 4c 6f 61 64 49 6d  ImageList_LoadIm
1a540 61 67 65 41 20 49 6d 61 67 65 4c 69 73 74 5f 4c  ageA ImageList_L
1a550 6f 61 64 49 6d 61 67 65 3b 0d 0a 09 61 6c 69 61  oadImage;...alia
1a560 73 20 44 54 4d 5f 53 45 54 46 4f 52 4d 41 54 41  s DTM_SETFORMATA
1a570 20 44 54 4d 5f 53 45 54 46 4f 52 4d 41 54 3b 0d   DTM_SETFORMAT;.
1a580 0a 09 61 6c 69 61 73 20 44 54 4e 5f 55 53 45 52  ..alias DTN_USER
1a590 53 54 52 49 4e 47 41 20 44 54 4e 5f 55 53 45 52  STRINGA DTN_USER
1a5a0 53 54 52 49 4e 47 3b 0d 0a 09 61 6c 69 61 73 20  STRING;...alias 
1a5b0 44 54 4e 5f 57 4d 4b 45 59 44 4f 57 4e 41 20 44  DTN_WMKEYDOWNA D
1a5c0 54 4e 5f 57 4d 4b 45 59 44 4f 57 4e 3b 0d 0a 09  TN_WMKEYDOWN;...
1a5d0 61 6c 69 61 73 20 44 54 4e 5f 46 4f 52 4d 41 54  alias DTN_FORMAT
1a5e0 41 20 44 54 4e 5f 46 4f 52 4d 41 54 3b 0d 0a 09  A DTN_FORMAT;...
1a5f0 61 6c 69 61 73 20 44 54 4e 5f 46 4f 52 4d 41 54  alias DTN_FORMAT
1a600 51 55 45 52 59 41 20 44 54 4e 5f 46 4f 52 4d 41  QUERYA DTN_FORMA
1a610 54 51 55 45 52 59 3b 0d 0a 09 61 6c 69 61 73 20  TQUERY;...alias 
1a620 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 41 20 52  REBARBANDINFOA R
1a630 45 42 41 52 42 41 4e 44 49 4e 46 4f 3b 0d 0a 09  EBARBANDINFO;...
1a640 61 6c 69 61 73 20 52 45 42 41 52 42 41 4e 44 49  alias REBARBANDI
1a650 4e 46 4f 41 2a 20 4c 50 52 45 42 41 52 42 41 4e  NFOA* LPREBARBAN
1a660 44 49 4e 46 4f 3b 0d 0a 09 61 6c 69 61 73 20 4c  DINFO;...alias L
1a670 50 43 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 41  PCREBARBANDINFOA
1a680 20 4c 50 43 52 45 42 41 52 42 41 4e 44 49 4e 46   LPCREBARBANDINF
1a690 4f 3b 0d 0a 09 61 6c 69 61 73 20 52 45 42 41 52  O;...alias REBAR
1a6a0 42 41 4e 44 49 4e 46 4f 41 5f 56 33 5f 53 49 5a  BANDINFOA_V3_SIZ
1a6b0 45 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 5f  E REBARBANDINFO_
1a6c0 56 33 5f 53 49 5a 45 3b 0d 0a 09 61 6c 69 61 73  V3_SIZE;...alias
1a6d0 20 52 42 5f 49 4e 53 45 52 54 42 41 4e 44 41 20   RB_INSERTBANDA 
1a6e0 52 42 5f 49 4e 53 45 52 54 42 41 4e 44 3b 0d 0a  RB_INSERTBAND;..
1a6f0 09 61 6c 69 61 73 20 52 42 5f 53 45 54 42 41 4e  .alias RB_SETBAN
1a700 44 49 4e 46 4f 41 20 52 42 5f 53 45 54 42 41 4e  DINFOA RB_SETBAN
1a710 44 49 4e 46 4f 3b 0d 0a 7d 0d 0a 0d 0a 0d 0a 61  DINFO;..}......a
1a720 6c 69 61 73 20 49 4e 54 20 66 75 6e 63 74 69 6f  lias INT functio
1a730 6e 28 50 56 4f 49 44 2c 20 50 56 4f 49 44 29 20  n(PVOID, PVOID) 
1a740 50 46 4e 44 50 41 45 4e 55 4d 43 41 4c 4c 42 41  PFNDPAENUMCALLBA
1a750 43 4b 3b 0d 0a 61 6c 69 61 73 20 49 4e 54 20 66  CK;..alias INT f
1a760 75 6e 63 74 69 6f 6e 28 50 56 4f 49 44 2c 20 50  unction(PVOID, P
1a770 56 4f 49 44 29 20 50 46 4e 44 53 41 45 4e 55 4d  VOID) PFNDSAENUM
1a780 43 41 4c 4c 42 41 43 4b 3b 0d 0a 61 6c 69 61 73  CALLBACK;..alias
1a790 20 49 4e 54 20 66 75 6e 63 74 69 6f 6e 28 50 56   INT function(PV
1a7a0 4f 49 44 2c 20 50 56 4f 49 44 2c 20 4c 50 41 52  OID, PVOID, LPAR
1a7b0 41 4d 29 20 50 46 4e 44 50 41 43 4f 4d 50 41 52  AM) PFNDPACOMPAR
1a7c0 45 3b 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  E;....static if 
1a7d0 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
1a7e0 20 30 78 35 30 31 29 20 7b 0d 0a 09 65 78 74 65   0x501) {...exte
1a7f0 72 6e 20 28 57 69 6e 64 6f 77 73 29 0d 0a 09 61  rn (Windows)...a
1a800 6c 69 61 73 20 4c 52 45 53 55 4c 54 20 66 75 6e  lias LRESULT fun
1a810 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54  ction(HWND, UINT
1a820 2c 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d  , WPARAM, LPARAM
1a830 2c 20 55 49 4e 54 5f 50 54 52 2c 20 44 57 4f 52  , UINT_PTR, DWOR
1a840 44 5f 50 54 52 29 0d 0a 09 20 20 53 55 42 43 4c  D_PTR)...  SUBCL
1a850 41 53 53 50 52 4f 43 3b 0d 0a 0d 0a 09 73 74 72  ASSPROC;.....str
1a860 75 63 74 20 4c 49 54 45 4d 20 7b 0d 0a 09 09 55  uct LITEM {....U
1a870 49 4e 54 20 6d 61 73 6b 3b 0d 0a 09 09 69 6e 74  INT mask;....int
1a880 20 20 69 4c 69 6e 6b 3b 0d 0a 09 09 55 49 4e 54    iLink;....UINT
1a890 20 73 74 61 74 65 3b 0d 0a 09 09 55 49 4e 54 20   state;....UINT 
1a8a0 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 09 09 57 43  stateMask;....WC
1a8b0 48 41 52 5b 4d 41 58 5f 4c 49 4e 4b 49 44 5f 54  HAR[MAX_LINKID_T
1a8c0 45 58 54 5d 20 20 73 7a 49 44 3b 0d 0a 09 09 57  EXT]  szID;....W
1a8d0 43 48 41 52 5b 4c 5f 4d 41 58 5f 55 52 4c 5f 4c  CHAR[L_MAX_URL_L
1a8e0 45 4e 47 54 48 5d 20 73 7a 55 72 6c 3b 0d 0a 09  ENGTH] szUrl;...
1a8f0 7d 0d 0a 09 61 6c 69 61 73 20 4c 49 54 45 4d 2a  }...alias LITEM*
1a900 20 50 4c 49 54 45 4d 3b 0d 0a 0d 0a 09 73 74 72   PLITEM;.....str
1a910 75 63 74 20 4c 48 49 54 54 45 53 54 49 4e 46 4f  uct LHITTESTINFO
1a920 20 7b 0d 0a 09 09 50 4f 49 4e 54 20 70 74 3b 0d   {....POINT pt;.
1a930 0a 09 09 4c 49 54 45 4d 20 69 74 65 6d 3b 0d 0a  ...LITEM item;..
1a940 09 7d 0d 0a 09 61 6c 69 61 73 20 4c 48 49 54 54  .}...alias LHITT
1a950 45 53 54 49 4e 46 4f 2a 20 50 4c 48 49 54 54 45  ESTINFO* PLHITTE
1a960 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 09 73 74 72 75  STINFO;.....stru
1a970 63 74 20 4e 4d 4c 49 4e 4b 20 7b 0d 0a 09 09 4e  ct NMLINK {....N
1a980 4d 48 44 52 20 68 64 72 3b 0d 0a 09 09 4c 49 54  MHDR hdr;....LIT
1a990 45 4d 20 69 74 65 6d 3b 0d 0a 09 7d 0d 0a 09 61  EM item;...}...a
1a9a0 6c 69 61 73 20 4e 4d 4c 49 4e 4b 2a 20 50 4e 4d  lias NMLINK* PNM
1a9b0 4c 49 4e 4b 3b 0d 0a 7d 0d 0a 0d 0a 75 69 6e 74  LINK;..}....uint
1a9c0 20 49 4e 44 45 58 54 4f 4f 56 45 52 4c 41 59 4d   INDEXTOOVERLAYM
1a9d0 41 53 4b 28 75 69 6e 74 20 69 29 20 7b 20 72 65  ASK(uint i) { re
1a9e0 74 75 72 6e 20 69 20 3c 3c 20 38 3b 20 7d 0d 0a  turn i << 8; }..
1a9f0 75 69 6e 74 20 49 4e 44 45 58 54 4f 53 54 41 54  uint INDEXTOSTAT
1aa00 45 49 4d 41 47 45 4d 41 53 4b 28 75 69 6e 74 20  EIMAGEMASK(uint 
1aa10 69 29 20 7b 20 72 65 74 75 72 6e 20 69 20 3c 3c  i) { return i <<
1aa20 20 31 32 3b 20 7d 0d 0a 0d 0a 74 65 6d 70 6c 61   12; }....templa
1aa30 74 65 20 48 41 4e 44 4c 45 5f 57 4d 5f 4e 4f 54  te HANDLE_WM_NOT
1aa40 49 46 59 28 52 29 20 7b 0d 0a 09 52 20 48 41 4e  IFY(R) {...R HAN
1aa50 44 4c 45 5f 57 4d 5f 4e 4f 54 49 46 59 28 48 57  DLE_WM_NOTIFY(HW
1aa60 4e 44 20 68 77 6e 64 2c 20 57 50 41 52 41 4d 20  ND hwnd, WPARAM 
1aa70 77 50 61 72 61 6d 2c 20 4c 50 41 52 41 4d 20 6c  wParam, LPARAM l
1aa80 50 61 72 61 6d 2c 0d 0a 09 09 20 20 52 20 66 75  Param,....  R fu
1aa90 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 69 6e 74  nction(HWND, int
1aaa0 2c 20 4e 4d 48 44 52 2a 29 20 66 6e 29 20 7b 0d  , NMHDR*) fn) {.
1aab0 0a 09 09 72 65 74 75 72 6e 20 66 6e 28 68 77 6e  ...return fn(hwn
1aac0 64 2c 20 77 50 61 72 61 6d 2c 20 63 61 73 74 28  d, wParam, cast(
1aad0 4e 4d 48 44 52 2a 29 20 6c 50 61 72 61 6d 29 3b  NMHDR*) lParam);
1aae0 0d 0a 09 7d 0d 0a 7d 0d 0a 69 6e 74 20 46 4f 52  ...}..}..int FOR
1aaf0 57 41 52 44 5f 57 4d 5f 4e 4f 54 49 46 59 28 48  WARD_WM_NOTIFY(H
1ab00 57 4e 44 20 68 77 6e 64 2c 20 69 6e 74 20 69 64  WND hwnd, int id
1ab10 46 72 6f 6d 2c 20 4e 4d 48 44 52 2a 20 70 6e 6d  From, NMHDR* pnm
1ab20 68 64 72 2c 0d 0a 09 20 20 69 6e 74 20 66 75 6e  hdr,...  int fun
1ab30 63 74 69 6f 6e 28 48 57 4e 44 20 68 57 6e 64 2c  ction(HWND hWnd,
1ab40 20 55 49 4e 54 20 4d 73 67 2c 20 57 50 41 52 41   UINT Msg, WPARA
1ab50 4d 20 77 50 61 72 61 6d 2c 20 4c 50 41 52 41 4d  M wParam, LPARAM
1ab60 20 6c 50 61 72 61 6d 29 20 66 6e 29 20 7b 0d 0a   lParam) fn) {..
1ab70 09 72 65 74 75 72 6e 20 66 6e 28 68 77 6e 64 2c  .return fn(hwnd,
1ab80 20 57 4d 5f 4e 4f 54 49 46 59 2c 20 69 64 46 72   WM_NOTIFY, idFr
1ab90 6f 6d 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29  om, cast(LPARAM)
1aba0 20 70 6e 6d 68 64 72 29 3b 0d 0a 7d 0d 0a 0d 0a   pnmhdr);..}....
1abb0 2f 2f 23 64 65 66 69 6e 65 20 43 43 53 49 5a 45  //#define CCSIZE
1abc0 4f 46 5f 53 54 52 55 43 54 28 73 2c 20 6d 29 20  OF_STRUCT(s, m) 
1abd0 28 28 28 69 6e 74 29 28 28 50 42 59 54 45 29 28  (((int)((PBYTE)(
1abe0 26 28 28 73 2a 29 30 29 2d 3e 6d 29 2d 28 28 50  &((s*)0)->m)-((P
1abf0 42 59 54 45 29 28 28 73 2a 29 30 29 29 29 29 2b  BYTE)((s*)0))))+
1ac00 73 69 7a 65 6f 66 28 28 28 73 2a 29 30 29 2d 3e  sizeof(((s*)0)->
1ac10 6d 29 29 0d 0a 0d 0a 4c 50 41 52 41 4d 20 4d 41  m))....LPARAM MA
1ac20 4b 45 49 50 41 44 44 52 45 53 53 28 75 62 79 74  KEIPADDRESS(ubyt
1ac30 65 20 62 31 2c 20 75 62 79 74 65 20 62 32 2c 20  e b1, ubyte b2, 
1ac40 75 62 79 74 65 20 62 33 2c 20 75 62 79 74 65 20  ubyte b3, ubyte 
1ac50 62 34 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 28  b4) {...return (
1ac60 63 61 73 74 28 44 57 4f 52 44 29 20 62 31 20 3c  cast(DWORD) b1 <
1ac70 3c 20 32 34 29 0d 0a 09 20 20 20 20 20 7c 20 28  < 24)...     | (
1ac80 63 61 73 74 28 44 57 4f 52 44 29 20 62 32 20 3c  cast(DWORD) b2 <
1ac90 3c 20 31 36 29 0d 0a 09 20 20 20 20 20 7c 20 28  < 16)...     | (
1aca0 63 61 73 74 28 44 57 4f 52 44 29 20 62 33 20 3c  cast(DWORD) b3 <
1acb0 3c 20 38 29 0d 0a 09 20 20 20 20 20 7c 20 28 63  < 8)...     | (c
1acc0 61 73 74 28 44 57 4f 52 44 29 20 62 34 29 3b 0d  ast(DWORD) b4);.
1acd0 0a 7d 0d 0a 0d 0a 4c 50 41 52 41 4d 20 4d 41 4b  .}....LPARAM MAK
1ace0 45 49 50 52 41 4e 47 45 28 75 62 79 74 65 20 6c  EIPRANGE(ubyte l
1acf0 6f 77 2c 20 75 62 79 74 65 20 68 69 67 68 29 20  ow, ubyte high) 
1ad00 7b 0d 0a 09 72 65 74 75 72 6e 20 28 63 61 73 74  {...return (cast
1ad10 28 69 6e 74 29 20 68 69 67 68 20 3c 3c 20 38 29  (int) high << 8)
1ad20 20 7c 20 6c 6f 77 3b 0d 0a 7d 0d 0a 0d 0a 75 62   | low;..}....ub
1ad30 79 74 65 20 46 49 52 53 54 5f 49 50 41 44 44 52  yte FIRST_IPADDR
1ad40 45 53 53 28 4c 50 41 52 41 4d 20 78 29 20 7b 0d  ESS(LPARAM x) {.
1ad50 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 75 62  ..return cast(ub
1ad60 79 74 65 29 20 28 78 20 3e 3e 20 32 34 29 3b 0d  yte) (x >> 24);.
1ad70 0a 7d 0d 0a 0d 0a 75 62 79 74 65 20 53 45 43 4f  .}....ubyte SECO
1ad80 4e 44 5f 49 50 41 44 44 52 45 53 53 28 4c 50 41  ND_IPADDRESS(LPA
1ad90 52 41 4d 20 78 29 20 7b 0d 0a 09 72 65 74 75 72  RAM x) {...retur
1ada0 6e 20 63 61 73 74 28 75 62 79 74 65 29 20 28 78  n cast(ubyte) (x
1adb0 20 3e 3e 20 31 36 29 3b 0d 0a 7d 0d 0a 0d 0a 75   >> 16);..}....u
1adc0 62 79 74 65 20 54 48 49 52 44 5f 49 50 41 44 44  byte THIRD_IPADD
1add0 52 45 53 53 28 4c 50 41 52 41 4d 20 78 29 20 7b  RESS(LPARAM x) {
1ade0 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 75  ...return cast(u
1adf0 62 79 74 65 29 20 28 78 20 3e 3e 20 38 29 3b 0d  byte) (x >> 8);.
1ae00 0a 7d 0d 0a 0d 0a 75 62 79 74 65 20 46 4f 55 52  .}....ubyte FOUR
1ae10 54 48 5f 49 50 41 44 44 52 45 53 53 28 4c 50 41  TH_IPADDRESS(LPA
1ae20 52 41 4d 20 78 29 20 7b 0d 0a 09 72 65 74 75 72  RAM x) {...retur
1ae30 6e 20 63 61 73 74 28 75 62 79 74 65 29 20 78 3b  n cast(ubyte) x;
1ae40 0d 0a 7d 0d 0a 0d 0a 48 57 4e 44 20 41 6e 69 6d  ..}....HWND Anim
1ae50 61 74 65 5f 43 72 65 61 74 65 28 48 57 4e 44 20  ate_Create(HWND 
1ae60 68 77 6e 64 50 2c 20 55 49 4e 54 20 69 64 2c 20  hwndP, UINT id, 
1ae70 44 57 4f 52 44 20 64 77 53 74 79 6c 65 2c 0d 0a  DWORD dwStyle,..
1ae80 09 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e  .  HINSTANCE hIn
1ae90 73 74 61 6e 63 65 29 20 7b 0d 0a 09 72 65 74 75  stance) {...retu
1aea0 72 6e 20 43 72 65 61 74 65 57 69 6e 64 6f 77 28  rn CreateWindow(
1aeb0 63 61 73 74 28 54 43 48 41 52 2a 29 41 4e 49 4d  cast(TCHAR*)ANIM
1aec0 41 54 45 5f 43 4c 41 53 53 2e 70 74 72 2c 20 6e  ATE_CLASS.ptr, n
1aed0 75 6c 6c 2c 20 64 77 53 74 79 6c 65 2c 20 30 2c  ull, dwStyle, 0,
1aee0 20 30 2c 20 30 2c 20 30 2c 20 68 77 6e 64 50 2c   0, 0, 0, hwndP,
1aef0 0d 0a 09 20 20 63 61 73 74 28 48 4d 45 4e 55 29  ...  cast(HMENU)
1af00 20 69 64 2c 20 68 49 6e 73 74 61 6e 63 65 2c 20   id, hInstance, 
1af10 6e 75 6c 6c 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f  null);..}....BOO
1af20 4c 20 41 6e 69 6d 61 74 65 5f 4f 70 65 6e 28 48  L Animate_Open(H
1af30 57 4e 44 20 68 77 6e 64 2c 20 4c 50 54 53 54 52  WND hwnd, LPTSTR
1af40 20 73 7a 4e 61 6d 65 29 20 7b 0d 0a 09 72 65 74   szName) {...ret
1af50 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
1af60 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
1af70 20 41 43 4d 5f 4f 50 45 4e 2c 20 30 2c 20 63 61   ACM_OPEN, 0, ca
1af80 73 74 28 4c 50 41 52 41 4d 29 20 73 7a 4e 61 6d  st(LPARAM) szNam
1af90 65 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 41  e);..}....BOOL A
1afa0 6e 69 6d 61 74 65 5f 4f 70 65 6e 45 78 28 48 57  nimate_OpenEx(HW
1afb0 4e 44 20 68 77 6e 64 2c 20 48 49 4e 53 54 41 4e  ND hwnd, HINSTAN
1afc0 43 45 20 68 49 6e 73 74 2c 20 4c 50 54 53 54 52  CE hInst, LPTSTR
1afd0 20 73 7a 4e 61 6d 65 29 20 7b 0d 0a 09 72 65 74   szName) {...ret
1afe0 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
1aff0 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
1b000 20 41 43 4d 5f 4f 50 45 4e 2c 20 63 61 73 74 28   ACM_OPEN, cast(
1b010 57 50 41 52 41 4d 29 20 68 49 6e 73 74 2c 0d 0a  WPARAM) hInst,..
1b020 09 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  .  cast(LPARAM) 
1b030 73 7a 4e 61 6d 65 29 3b 0d 0a 7d 0d 0a 0d 0a 42  szName);..}....B
1b040 4f 4f 4c 20 41 6e 69 6d 61 74 65 5f 50 6c 61 79  OOL Animate_Play
1b050 28 48 57 4e 44 20 68 77 6e 64 2c 20 69 6e 74 20  (HWND hwnd, int 
1b060 66 72 6f 6d 2c 20 69 6e 74 20 74 6f 2c 20 69 6e  from, int to, in
1b070 74 20 72 65 70 29 20 7b 0d 0a 09 72 65 74 75 72  t rep) {...retur
1b080 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
1b090 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20 41  dMessage(hwnd, A
1b0a0 43 4d 5f 50 4c 41 59 2c 20 72 65 70 2c 0d 0a 09  CM_PLAY, rep,...
1b0b0 20 20 4d 41 4b 45 4c 4f 4e 47 28 63 61 73 74 28    MAKELONG(cast(
1b0c0 75 73 68 6f 72 74 29 20 66 72 6f 6d 2c 20 63 61  ushort) from, ca
1b0d0 73 74 28 75 73 68 6f 72 74 29 20 74 6f 29 29 3b  st(ushort) to));
1b0e0 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 41 6e 69 6d  ..}....BOOL Anim
1b0f0 61 74 65 5f 53 74 6f 70 28 48 57 4e 44 20 68 77  ate_Stop(HWND hw
1b100 6e 64 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63  nd) {...return c
1b110 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
1b120 73 73 61 67 65 28 68 77 6e 64 2c 20 41 43 4d 5f  ssage(hwnd, ACM_
1b130 53 54 4f 50 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  STOP, 0, 0);..}.
1b140 0a 0d 0a 42 4f 4f 4c 20 41 6e 69 6d 61 74 65 5f  ...BOOL Animate_
1b150 43 6c 6f 73 65 28 48 57 4e 44 20 68 77 6e 64 29  Close(HWND hwnd)
1b160 20 7b 0d 0a 09 72 65 74 75 72 6e 20 41 6e 69 6d   {...return Anim
1b170 61 74 65 5f 4f 70 65 6e 28 68 77 6e 64 2c 20 6e  ate_Open(hwnd, n
1b180 75 6c 6c 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c  ull);..}....BOOL
1b190 20 41 6e 69 6d 61 74 65 5f 53 65 65 6b 28 48 57   Animate_Seek(HW
1b1a0 4e 44 20 68 77 6e 64 2c 20 69 6e 74 20 66 72 61  ND hwnd, int fra
1b1b0 6d 65 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 41  me) {...return A
1b1c0 6e 69 6d 61 74 65 5f 50 6c 61 79 28 68 77 6e 64  nimate_Play(hwnd
1b1d0 2c 20 66 72 61 6d 65 2c 20 66 72 61 6d 65 2c 20  , frame, frame, 
1b1e0 31 29 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e  1);..}....extern
1b1f0 20 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 48   (Windows) {...H
1b200 42 49 54 4d 41 50 20 43 72 65 61 74 65 4d 61 70  BITMAP CreateMap
1b210 70 65 64 42 69 74 6d 61 70 28 48 49 4e 53 54 41  pedBitmap(HINSTA
1b220 4e 43 45 2c 20 49 4e 54 5f 50 54 52 2c 20 55 49  NCE, INT_PTR, UI
1b230 4e 54 2c 20 4c 50 43 4f 4c 4f 52 4d 41 50 2c 20  NT, LPCOLORMAP, 
1b240 69 6e 74 29 3b 0d 0a 09 48 57 4e 44 20 43 72 65  int);...HWND Cre
1b250 61 74 65 53 74 61 74 75 73 57 69 6e 64 6f 77 41  ateStatusWindowA
1b260 28 4c 4f 4e 47 2c 20 4c 50 43 53 54 52 2c 20 48  (LONG, LPCSTR, H
1b270 57 4e 44 2c 20 55 49 4e 54 29 3b 0d 0a 09 48 57  WND, UINT);...HW
1b280 4e 44 20 43 72 65 61 74 65 53 74 61 74 75 73 57  ND CreateStatusW
1b290 69 6e 64 6f 77 57 28 4c 4f 4e 47 2c 20 4c 50 43  indowW(LONG, LPC
1b2a0 57 53 54 52 2c 20 48 57 4e 44 2c 20 55 49 4e 54  WSTR, HWND, UINT
1b2b0 29 3b 0d 0a 09 48 57 4e 44 20 43 72 65 61 74 65  );...HWND Create
1b2c0 54 6f 6f 6c 62 61 72 45 78 28 48 57 4e 44 2c 20  ToolbarEx(HWND, 
1b2d0 44 57 4f 52 44 2c 20 55 49 4e 54 2c 20 69 6e 74  DWORD, UINT, int
1b2e0 2c 20 48 49 4e 53 54 41 4e 43 45 2c 20 55 49 4e  , HINSTANCE, UIN
1b2f0 54 5f 50 54 52 2c 0d 0a 09 20 20 4c 50 43 54 42  T_PTR,...  LPCTB
1b300 42 55 54 54 4f 4e 2c 20 69 6e 74 2c 20 69 6e 74  BUTTON, int, int
1b310 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c  , int, int, int,
1b320 20 55 49 4e 54 29 3b 0d 0a 09 48 57 4e 44 20 43   UINT);...HWND C
1b330 72 65 61 74 65 55 70 44 6f 77 6e 43 6f 6e 74 72  reateUpDownContr
1b340 6f 6c 28 44 57 4f 52 44 2c 20 69 6e 74 2c 20 69  ol(DWORD, int, i
1b350 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 48 57  nt, int, int, HW
1b360 4e 44 2c 20 69 6e 74 2c 20 48 49 4e 53 54 41 4e  ND, int, HINSTAN
1b370 43 45 2c 0d 0a 09 20 20 48 57 4e 44 2c 20 69 6e  CE,...  HWND, in
1b380 74 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0d 0a 7d  t, int, int);..}
1b390 0d 0a 0d 0a 48 57 4e 44 20 44 61 74 65 54 69 6d  ....HWND DateTim
1b3a0 65 5f 47 65 74 4d 6f 6e 74 68 43 61 6c 28 48 57  e_GetMonthCal(HW
1b3b0 4e 44 20 68 77 6e 64 29 20 7b 0d 0a 09 72 65 74  ND hwnd) {...ret
1b3c0 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29 20 53  urn cast(HWND) S
1b3d0 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
1b3e0 20 44 54 4d 5f 47 45 54 4d 4f 4e 54 48 43 41 4c   DTM_GETMONTHCAL
1b3f0 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 43  , 0, 0);..}....C
1b400 4f 4c 4f 52 52 45 46 20 44 61 74 65 54 69 6d 65  OLORREF DateTime
1b410 5f 47 65 74 4d 6f 6e 74 68 43 61 6c 43 6f 6c 6f  _GetMonthCalColo
1b420 72 28 48 57 4e 44 20 68 77 6e 64 2c 20 69 6e 74  r(HWND hwnd, int
1b430 20 69 43 6f 6c 6f 72 29 20 7b 0d 0a 09 72 65 74   iColor) {...ret
1b440 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52 52 45  urn cast(COLORRE
1b450 46 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68  F) SendMessage(h
1b460 77 6e 64 2c 20 44 54 4d 5f 47 45 54 4d 43 43 4f  wnd, DTM_GETMCCO
1b470 4c 4f 52 2c 20 69 43 6f 6c 6f 72 2c 20 30 29 3b  LOR, iColor, 0);
1b480 0d 0a 7d 0d 0a 0d 0a 48 46 4f 4e 54 20 44 61 74  ..}....HFONT Dat
1b490 65 54 69 6d 65 5f 47 65 74 4d 6f 6e 74 68 43 61  eTime_GetMonthCa
1b4a0 6c 46 6f 6e 74 28 48 57 4e 44 20 68 77 6e 64 29  lFont(HWND hwnd)
1b4b0 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
1b4c0 28 48 46 4f 4e 54 29 20 53 65 6e 64 4d 65 73 73  (HFONT) SendMess
1b4d0 61 67 65 28 68 77 6e 64 2c 20 44 54 4d 5f 47 45  age(hwnd, DTM_GE
1b4e0 54 4d 43 46 4f 4e 54 2c 20 30 2c 20 30 29 3b 0d  TMCFONT, 0, 0);.
1b4f0 0a 7d 0d 0a 0d 0a 44 57 4f 52 44 20 44 61 74 65  .}....DWORD Date
1b500 54 69 6d 65 5f 47 65 74 52 61 6e 67 65 28 48 57  Time_GetRange(HW
1b510 4e 44 20 68 77 6e 64 2c 20 4c 50 53 59 53 54 45  ND hwnd, LPSYSTE
1b520 4d 54 49 4d 45 20 6c 70 53 79 73 54 69 6d 65 41  MTIME lpSysTimeA
1b530 72 72 61 79 29 20 7b 0d 0a 09 72 65 74 75 72 6e  rray) {...return
1b540 20 63 61 73 74 28 44 57 4f 52 44 29 20 53 65 6e   cast(DWORD) Sen
1b550 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20 44  dMessage(hwnd, D
1b560 54 4d 5f 47 45 54 52 41 4e 47 45 2c 20 30 2c 20  TM_GETRANGE, 0, 
1b570 63 61 73 74 28 4c 50 41 52 41 4d 29 20 6c 70 53  cast(LPARAM) lpS
1b580 79 73 54 69 6d 65 41 72 72 61 79 29 3b 0d 0a 7d  ysTimeArray);..}
1b590 0d 0a 0d 0a 44 57 4f 52 44 20 44 61 74 65 54 69  ....DWORD DateTi
1b5a0 6d 65 5f 47 65 74 53 79 73 74 65 6d 74 69 6d 65  me_GetSystemtime
1b5b0 28 48 57 4e 44 20 68 77 6e 64 2c 20 4c 50 53 59  (HWND hwnd, LPSY
1b5c0 53 54 45 4d 54 49 4d 45 20 6c 70 53 79 73 54 69  STEMTIME lpSysTi
1b5d0 6d 65 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63  me) {...return c
1b5e0 61 73 74 28 44 57 4f 52 44 29 20 53 65 6e 64 4d  ast(DWORD) SendM
1b5f0 65 73 73 61 67 65 28 68 77 6e 64 2c 20 44 54 4d  essage(hwnd, DTM
1b600 5f 47 45 54 53 59 53 54 45 4d 54 49 4d 45 2c 20  _GETSYSTEMTIME, 
1b610 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  0, cast(LPARAM) 
1b620 6c 70 53 79 73 54 69 6d 65 29 3b 0d 0a 7d 0d 0a  lpSysTime);..}..
1b630 0d 0a 42 4f 4f 4c 20 44 61 74 65 54 69 6d 65 5f  ..BOOL DateTime_
1b640 53 65 74 46 6f 72 6d 61 74 28 48 57 4e 44 20 68  SetFormat(HWND h
1b650 77 6e 64 2c 20 4c 50 43 54 53 54 52 20 6c 70 73  wnd, LPCTSTR lps
1b660 7a 46 6f 72 6d 61 74 29 20 7b 0d 0a 09 72 65 74  zFormat) {...ret
1b670 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
1b680 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
1b690 20 44 54 4d 5f 53 45 54 46 4f 52 4d 41 54 2c 20   DTM_SETFORMAT, 
1b6a0 30 2c 0d 0a 09 20 20 63 61 73 74 28 4c 50 41 52  0,...  cast(LPAR
1b6b0 41 4d 29 20 6c 70 73 7a 46 6f 72 6d 61 74 29 3b  AM) lpszFormat);
1b6c0 0d 0a 7d 0d 0a 0d 0a 4c 52 45 53 55 4c 54 20 44  ..}....LRESULT D
1b6d0 61 74 65 54 69 6d 65 5f 53 65 74 4d 6f 6e 74 68  ateTime_SetMonth
1b6e0 43 61 6c 43 6f 6c 6f 72 28 48 57 4e 44 20 68 77  CalColor(HWND hw
1b6f0 6e 64 2c 20 69 6e 74 20 69 43 6f 6c 6f 72 2c 20  nd, int iColor, 
1b700 43 4f 4c 4f 52 52 45 46 20 63 6c 72 29 20 7b 0d  COLORREF clr) {.
1b710 0a 09 72 65 74 75 72 6e 20 53 65 6e 64 4d 65 73  ..return SendMes
1b720 73 61 67 65 28 68 77 6e 64 2c 20 44 54 4d 5f 53  sage(hwnd, DTM_S
1b730 45 54 4d 43 43 4f 4c 4f 52 2c 20 63 61 73 74 28  ETMCCOLOR, cast(
1b740 57 50 41 52 41 4d 29 20 69 43 6f 6c 6f 72 2c 0d  WPARAM) iColor,.
1b750 0a 09 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29  ..  cast(LPARAM)
1b760 20 63 6c 72 29 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69   clr);..}....voi
1b770 64 20 44 61 74 65 54 69 6d 65 5f 53 65 74 4d 6f  d DateTime_SetMo
1b780 6e 74 68 43 61 6c 46 6f 6e 74 28 48 57 4e 44 20  nthCalFont(HWND 
1b790 68 77 6e 64 2c 20 48 46 4f 4e 54 20 68 66 6f 6e  hwnd, HFONT hfon
1b7a0 74 2c 20 42 4f 4f 4c 20 66 52 65 64 72 61 77 29  t, BOOL fRedraw)
1b7b0 20 7b 0d 0a 09 53 65 6e 64 4d 65 73 73 61 67 65   {...SendMessage
1b7c0 28 68 77 6e 64 2c 20 44 54 4d 5f 53 45 54 4d 43  (hwnd, DTM_SETMC
1b7d0 46 4f 4e 54 2c 20 63 61 73 74 28 57 50 41 52 41  FONT, cast(WPARA
1b7e0 4d 29 20 68 66 6f 6e 74 2c 20 66 52 65 64 72 61  M) hfont, fRedra
1b7f0 77 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 44  w);..}....BOOL D
1b800 61 74 65 54 69 6d 65 5f 53 65 74 52 61 6e 67 65  ateTime_SetRange
1b810 28 48 57 4e 44 20 68 77 6e 64 2c 20 57 50 41 52  (HWND hwnd, WPAR
1b820 41 4d 20 66 6c 61 67 73 2c 20 4c 50 53 59 53 54  AM flags, LPSYST
1b830 45 4d 54 49 4d 45 20 6c 70 53 79 73 54 69 6d 65  EMTIME lpSysTime
1b840 41 72 72 61 79 29 20 7b 0d 0a 09 72 65 74 75 72  Array) {...retur
1b850 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
1b860 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20 44  dMessage(hwnd, D
1b870 54 4d 5f 53 45 54 52 41 4e 47 45 2c 20 66 6c 61  TM_SETRANGE, fla
1b880 67 73 2c 0d 0a 09 20 20 63 61 73 74 28 4c 50 41  gs,...  cast(LPA
1b890 52 41 4d 29 20 6c 70 53 79 73 54 69 6d 65 41 72  RAM) lpSysTimeAr
1b8a0 72 61 79 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c  ray);..}....BOOL
1b8b0 20 44 61 74 65 54 69 6d 65 5f 53 65 74 53 79 73   DateTime_SetSys
1b8c0 74 65 6d 74 69 6d 65 28 48 57 4e 44 20 68 77 6e  temtime(HWND hwn
1b8d0 64 2c 20 57 50 41 52 41 4d 20 66 6c 61 67 2c 20  d, WPARAM flag, 
1b8e0 4c 50 53 59 53 54 45 4d 54 49 4d 45 20 6c 70 53  LPSYSTEMTIME lpS
1b8f0 79 73 54 69 6d 65 29 20 7b 0d 0a 09 72 65 74 75  ysTime) {...retu
1b900 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65  rn cast(BOOL) Se
1b910 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20  ndMessage(hwnd, 
1b920 44 54 4d 5f 53 45 54 53 59 53 54 45 4d 54 49 4d  DTM_SETSYSTEMTIM
1b930 45 2c 20 66 6c 61 67 2c 0d 0a 09 20 20 63 61 73  E, flag,...  cas
1b940 74 28 4c 50 41 52 41 4d 29 20 6c 70 53 79 73 54  t(LPARAM) lpSysT
1b950 69 6d 65 29 3b 0d 0a 7d 0d 0a 0d 0a 65 78 74 65  ime);..}....exte
1b960 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a  rn (Windows) {..
1b970 09 76 6f 69 64 20 44 72 61 77 49 6e 73 65 72 74  .void DrawInsert
1b980 28 48 57 4e 44 2c 20 48 57 4e 44 2c 20 69 6e 74  (HWND, HWND, int
1b990 29 3b 0d 0a 09 76 6f 69 64 20 44 72 61 77 53 74  );...void DrawSt
1b9a0 61 74 75 73 54 65 78 74 41 28 48 44 43 2c 20 4c  atusTextA(HDC, L
1b9b0 50 52 45 43 54 2c 20 4c 50 43 53 54 52 2c 20 55  PRECT, LPCSTR, U
1b9c0 49 4e 54 29 3b 0d 0a 09 76 6f 69 64 20 44 72 61  INT);...void Dra
1b9d0 77 53 74 61 74 75 73 54 65 78 74 57 28 48 44 43  wStatusTextW(HDC
1b9e0 2c 20 4c 50 52 45 43 54 2c 20 4c 50 43 57 53 54  , LPRECT, LPCWST
1b9f0 52 2c 20 55 49 4e 54 29 3b 0d 0a 09 76 6f 69 64  R, UINT);...void
1ba00 20 47 65 74 45 66 66 65 63 74 69 76 65 43 6c 69   GetEffectiveCli
1ba10 65 6e 74 52 65 63 74 28 48 57 4e 44 2c 20 4c 50  entRect(HWND, LP
1ba20 52 45 43 54 2c 20 4c 50 49 4e 54 29 3b 0d 0a 7d  RECT, LPINT);..}
1ba30 0d 0a 0d 0a 69 6e 74 20 48 65 61 64 65 72 5f 47  ....int Header_G
1ba40 65 74 49 74 65 6d 43 6f 75 6e 74 28 48 57 4e 44  etItemCount(HWND
1ba50 20 77 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63   w) {...return c
1ba60 61 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73  ast(int) SendMes
1ba70 73 61 67 65 28 77 2c 20 48 44 4d 5f 47 45 54 49  sage(w, HDM_GETI
1ba80 54 45 4d 43 4f 55 4e 54 2c 20 30 2c 20 30 29 3b  TEMCOUNT, 0, 0);
1ba90 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 48 65 61 64 65  ..}....int Heade
1baa0 72 5f 49 6e 73 65 72 74 49 74 65 6d 28 48 57 4e  r_InsertItem(HWN
1bab0 44 20 77 2c 20 69 6e 74 20 69 2c 20 63 6f 6e 73  D w, int i, cons
1bac0 74 28 48 44 49 54 45 4d 29 2a 20 70 68 64 69 29  t(HDITEM)* phdi)
1bad0 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
1bae0 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 73 61 67  (int) SendMessag
1baf0 65 28 77 2c 20 48 44 4d 5f 49 4e 53 45 52 54 49  e(w, HDM_INSERTI
1bb00 54 45 4d 2c 20 69 2c 20 63 61 73 74 28 4c 50 41  TEM, i, cast(LPA
1bb10 52 41 4d 29 20 70 68 64 69 29 3b 0d 0a 7d 0d 0a  RAM) phdi);..}..
1bb20 0d 0a 42 4f 4f 4c 20 48 65 61 64 65 72 5f 44 65  ..BOOL Header_De
1bb30 6c 65 74 65 49 74 65 6d 28 48 57 4e 44 20 77 2c  leteItem(HWND w,
1bb40 20 69 6e 74 20 69 29 20 7b 0d 0a 09 72 65 74 75   int i) {...retu
1bb50 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65  rn cast(BOOL) Se
1bb60 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 48 44 4d  ndMessage(w, HDM
1bb70 5f 44 45 4c 45 54 45 49 54 45 4d 2c 20 69 2c 20  _DELETEITEM, i, 
1bb80 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 48  0);..}....BOOL H
1bb90 65 61 64 65 72 5f 47 65 74 49 74 65 6d 28 48 57  eader_GetItem(HW
1bba0 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 4c 50 48  ND w, int i, LPH
1bbb0 44 49 54 45 4d 20 70 68 64 69 29 20 7b 0d 0a 09  DITEM phdi) {...
1bbc0 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c  return cast(BOOL
1bbd0 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1bbe0 20 48 44 4d 5f 47 45 54 49 54 45 4d 2c 20 69 2c   HDM_GETITEM, i,
1bbf0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 68   cast(LPARAM) ph
1bc00 64 69 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20  di);..}....BOOL 
1bc10 48 65 61 64 65 72 5f 53 65 74 49 74 65 6d 28 48  Header_SetItem(H
1bc20 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 63 6f  WND w, int i, co
1bc30 6e 73 74 28 48 44 49 54 45 4d 29 2a 20 70 68 64  nst(HDITEM)* phd
1bc40 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  i) {...return ca
1bc50 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
1bc60 73 61 67 65 28 77 2c 20 48 44 4d 5f 53 45 54 49  sage(w, HDM_SETI
1bc70 54 45 4d 2c 20 69 2c 20 63 61 73 74 28 4c 50 41  TEM, i, cast(LPA
1bc80 52 41 4d 29 20 70 68 64 69 29 3b 0d 0a 7d 0d 0a  RAM) phdi);..}..
1bc90 0d 0a 42 4f 4f 4c 20 48 65 61 64 65 72 5f 4c 61  ..BOOL Header_La
1bca0 79 6f 75 74 28 48 57 4e 44 20 77 2c 20 4c 50 48  yout(HWND w, LPH
1bcb0 44 4c 41 59 4f 55 54 20 70 6c 61 79 6f 75 74 29  DLAYOUT playout)
1bcc0 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
1bcd0 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
1bce0 67 65 28 77 2c 20 48 44 4d 5f 4c 41 59 4f 55 54  ge(w, HDM_LAYOUT
1bcf0 2c 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d  , 0, cast(LPARAM
1bd00 29 20 70 6c 61 79 6f 75 74 29 3b 0d 0a 7d 0d 0a  ) playout);..}..
1bd10 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49  ..static if (_WI
1bd20 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30 30 29  N32_IE >= 0x300)
1bd30 20 7b 0d 0a 09 69 6e 74 20 48 65 61 64 65 72 5f   {...int Header_
1bd40 4f 72 64 65 72 54 6f 49 6e 64 65 78 28 48 57 4e  OrderToIndex(HWN
1bd50 44 20 77 2c 20 69 6e 74 20 69 29 20 7b 0d 0a 09  D w, int i) {...
1bd60 09 72 65 74 75 72 6e 20 63 61 73 74 28 69 6e 74  .return cast(int
1bd70 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1bd80 20 48 44 4d 5f 4f 52 44 45 52 54 4f 49 4e 44 45   HDM_ORDERTOINDE
1bd90 58 2c 20 69 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d  X, i, 0);...}...
1bda0 0a 09 42 4f 4f 4c 20 48 65 61 64 65 72 5f 47 65  ..BOOL Header_Ge
1bdb0 74 49 74 65 6d 52 65 63 74 28 48 57 4e 44 20 77  tItemRect(HWND w
1bdc0 2c 20 69 6e 74 20 69 2c 20 52 45 43 54 2a 20 72  , int i, RECT* r
1bdd0 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
1bde0 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
1bdf0 73 61 67 65 28 77 2c 20 48 44 4d 5f 47 45 54 49  sage(w, HDM_GETI
1be00 54 45 4d 52 45 43 54 2c 20 69 2c 20 63 61 73 74  TEMRECT, i, cast
1be10 28 4c 50 41 52 41 4d 29 20 72 29 3b 0d 0a 09 7d  (LPARAM) r);...}
1be20 0d 0a 0d 0a 09 42 4f 4f 4c 20 48 65 61 64 65 72  .....BOOL Header
1be30 5f 47 65 74 4f 72 64 65 72 41 72 72 61 79 28 48  _GetOrderArray(H
1be40 57 4e 44 20 77 2c 20 69 6e 74 20 69 53 69 7a 65  WND w, int iSize
1be50 2c 20 4c 50 49 4e 54 20 6c 70 69 41 72 72 61 79  , LPINT lpiArray
1be60 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
1be70 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
1be80 73 61 67 65 28 77 2c 20 48 44 4d 5f 47 45 54 4f  sage(w, HDM_GETO
1be90 52 44 45 52 41 52 52 41 59 2c 20 69 53 69 7a 65  RDERARRAY, iSize
1bea0 2c 0d 0a 09 09 20 20 63 61 73 74 28 4c 50 41 52  ,....  cast(LPAR
1beb0 41 4d 29 20 6c 70 69 41 72 72 61 79 29 3b 0d 0a  AM) lpiArray);..
1bec0 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 48 65 61 64  .}.....BOOL Head
1bed0 65 72 5f 53 65 74 4f 72 64 65 72 41 72 72 61 79  er_SetOrderArray
1bee0 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 53 69  (HWND w, int iSi
1bef0 7a 65 2c 20 4c 50 49 4e 54 20 6c 70 69 41 72 72  ze, LPINT lpiArr
1bf00 61 79 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20  ay) {....return 
1bf10 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
1bf20 65 73 73 61 67 65 28 77 2c 20 48 44 4d 5f 53 45  essage(w, HDM_SE
1bf30 54 4f 52 44 45 52 41 52 52 41 59 2c 20 69 53 69  TORDERARRAY, iSi
1bf40 7a 65 2c 0d 0a 09 09 20 20 63 61 73 74 28 4c 50  ze,....  cast(LP
1bf50 41 52 41 4d 29 20 6c 70 69 41 72 72 61 79 29 3b  ARAM) lpiArray);
1bf60 0d 0a 09 7d 0d 0a 0d 0a 09 48 49 4d 41 47 45 4c  ...}.....HIMAGEL
1bf70 49 53 54 20 48 65 61 64 65 72 5f 43 72 65 61 74  IST Header_Creat
1bf80 65 44 72 61 67 49 6d 61 67 65 28 48 57 4e 44 20  eDragImage(HWND 
1bf90 77 2c 20 69 6e 74 20 69 29 20 7b 0d 0a 09 09 72  w, int i) {....r
1bfa0 65 74 75 72 6e 20 63 61 73 74 28 48 49 4d 41 47  eturn cast(HIMAG
1bfb0 45 4c 49 53 54 29 20 53 65 6e 64 4d 65 73 73 61  ELIST) SendMessa
1bfc0 67 65 28 77 2c 20 48 44 4d 5f 43 52 45 41 54 45  ge(w, HDM_CREATE
1bfd0 44 52 41 47 49 4d 41 47 45 2c 20 69 2c 20 30 29  DRAGIMAGE, i, 0)
1bfe0 3b 0d 0a 09 7d 0d 0a 0d 0a 09 48 49 4d 41 47 45  ;...}.....HIMAGE
1bff0 4c 49 53 54 20 48 65 61 64 65 72 5f 53 65 74 49  LIST Header_SetI
1c000 6d 61 67 65 4c 69 73 74 28 48 57 4e 44 20 77 2c  mageList(HWND w,
1c010 20 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c   HIMAGELIST himl
1c020 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
1c030 73 74 28 48 49 4d 41 47 45 4c 49 53 54 29 20 53  st(HIMAGELIST) S
1c040 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 48 44  endMessage(w, HD
1c050 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 20  M_SETIMAGELIST, 
1c060 30 2c 0d 0a 09 09 20 20 63 61 73 74 28 4c 50 41  0,....  cast(LPA
1c070 52 41 4d 29 20 68 69 6d 6c 29 3b 0d 0a 09 7d 0d  RAM) himl);...}.
1c080 0a 0d 0a 09 48 49 4d 41 47 45 4c 49 53 54 20 48  ....HIMAGELIST H
1c090 65 61 64 65 72 5f 47 65 74 49 6d 61 67 65 4c 69  eader_GetImageLi
1c0a0 73 74 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 09  st(HWND w) {....
1c0b0 72 65 74 75 72 6e 20 63 61 73 74 28 48 49 4d 41  return cast(HIMA
1c0c0 47 45 4c 49 53 54 29 20 53 65 6e 64 4d 65 73 73  GELIST) SendMess
1c0d0 61 67 65 28 77 2c 20 48 44 4d 5f 47 45 54 49 4d  age(w, HDM_GETIM
1c0e0 41 47 45 4c 49 53 54 2c 20 30 2c 20 30 29 3b 0d  AGELIST, 0, 0);.
1c0f0 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63  ..}..}....static
1c100 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
1c110 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 42 4f 4f  = 0x400) {...BOO
1c120 4c 20 48 65 61 64 65 72 5f 47 65 74 55 6e 69 63  L Header_GetUnic
1c130 6f 64 65 46 6f 72 6d 61 74 28 48 57 4e 44 20 77  odeFormat(HWND w
1c140 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
1c150 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
1c160 73 61 67 65 28 77 2c 20 48 44 4d 5f 47 45 54 55  sage(w, HDM_GETU
1c170 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c  NICODEFORMAT, 0,
1c180 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f   0);...}.....BOO
1c190 4c 20 48 65 61 64 65 72 5f 53 65 74 55 6e 69 63  L Header_SetUnic
1c1a0 6f 64 65 46 6f 72 6d 61 74 28 48 57 4e 44 20 77  odeFormat(HWND w
1c1b0 2c 20 42 4f 4f 4c 20 66 55 6e 69 63 6f 64 65 29  , BOOL fUnicode)
1c1c0 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73   {....return cas
1c1d0 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73  t(BOOL) SendMess
1c1e0 61 67 65 28 77 2c 20 48 44 4d 5f 53 45 54 55 4e  age(w, HDM_SETUN
1c1f0 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 66 55 6e  ICODEFORMAT, fUn
1c200 69 63 6f 64 65 2c 20 30 29 3b 0d 0a 09 7d 0d 0a  icode, 0);...}..
1c210 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e  }....extern (Win
1c220 64 6f 77 73 29 20 7b 0d 0a 09 48 44 53 41 20 44  dows) {...HDSA D
1c230 53 41 5f 43 72 65 61 74 65 28 49 4e 54 2c 20 49  SA_Create(INT, I
1c240 4e 54 29 3b 0d 0a 09 42 4f 4f 4c 20 44 53 41 5f  NT);...BOOL DSA_
1c250 44 65 73 74 72 6f 79 28 48 44 53 41 29 3b 0d 0a  Destroy(HDSA);..
1c260 09 56 4f 49 44 20 44 53 41 5f 44 65 73 74 72 6f  .VOID DSA_Destro
1c270 79 43 61 6c 6c 62 61 63 6b 28 48 44 53 41 2c 20  yCallback(HDSA, 
1c280 50 46 4e 44 53 41 45 4e 55 4d 43 41 4c 4c 42 41  PFNDSAENUMCALLBA
1c290 43 4b 2c 20 50 56 4f 49 44 29 3b 0d 0a 09 50 56  CK, PVOID);...PV
1c2a0 4f 49 44 20 44 53 41 5f 47 65 74 49 74 65 6d 50  OID DSA_GetItemP
1c2b0 74 72 28 48 44 53 41 2c 20 49 4e 54 29 3b 0d 0a  tr(HDSA, INT);..
1c2c0 09 49 4e 54 20 44 53 41 5f 49 6e 73 65 72 74 49  .INT DSA_InsertI
1c2d0 74 65 6d 28 48 44 53 41 2c 20 49 4e 54 2c 20 50  tem(HDSA, INT, P
1c2e0 56 4f 49 44 29 3b 0d 0a 09 48 44 50 41 20 44 50  VOID);...HDPA DP
1c2f0 41 5f 43 72 65 61 74 65 28 49 4e 54 29 3b 0d 0a  A_Create(INT);..
1c300 09 42 4f 4f 4c 20 44 50 41 5f 44 65 73 74 72 6f  .BOOL DPA_Destro
1c310 79 28 48 44 50 41 29 3b 0d 0a 09 50 56 4f 49 44  y(HDPA);...PVOID
1c320 20 44 50 41 5f 44 65 6c 65 74 65 50 74 72 28 48   DPA_DeletePtr(H
1c330 44 50 41 2c 20 49 4e 54 29 3b 0d 0a 09 42 4f 4f  DPA, INT);...BOO
1c340 4c 20 44 50 41 5f 44 65 6c 65 74 65 41 6c 6c 50  L DPA_DeleteAllP
1c350 74 72 73 28 48 44 50 41 29 3b 0d 0a 09 56 4f 49  trs(HDPA);...VOI
1c360 44 20 44 50 41 5f 45 6e 75 6d 43 61 6c 6c 62 61  D DPA_EnumCallba
1c370 63 6b 28 48 44 50 41 2c 20 50 46 4e 44 50 41 45  ck(HDPA, PFNDPAE
1c380 4e 55 4d 43 41 4c 4c 42 41 43 4b 2c 20 50 56 4f  NUMCALLBACK, PVO
1c390 49 44 29 3b 0d 0a 09 56 4f 49 44 20 44 50 41 5f  ID);...VOID DPA_
1c3a0 44 65 73 74 72 6f 79 43 61 6c 6c 62 61 63 6b 28  DestroyCallback(
1c3b0 48 44 50 41 2c 20 50 46 4e 44 50 41 45 4e 55 4d  HDPA, PFNDPAENUM
1c3c0 43 41 4c 4c 42 41 43 4b 2c 20 50 56 4f 49 44 29  CALLBACK, PVOID)
1c3d0 3b 0d 0a 09 42 4f 4f 4c 20 44 50 41 5f 53 65 74  ;...BOOL DPA_Set
1c3e0 50 74 72 28 48 44 50 41 2c 20 49 4e 54 2c 20 50  Ptr(HDPA, INT, P
1c3f0 56 4f 49 44 29 3b 0d 0a 09 49 4e 54 20 44 50 41  VOID);...INT DPA
1c400 5f 49 6e 73 65 72 74 50 74 72 28 48 44 50 41 2c  _InsertPtr(HDPA,
1c410 20 49 4e 54 2c 20 50 56 4f 49 44 29 3b 0d 0a 09   INT, PVOID);...
1c420 50 56 4f 49 44 20 44 50 41 5f 47 65 74 50 74 72  PVOID DPA_GetPtr
1c430 28 48 44 50 41 2c 20 49 4e 54 5f 50 54 52 29 3b  (HDPA, INT_PTR);
1c440 0d 0a 09 42 4f 4f 4c 20 44 50 41 5f 53 6f 72 74  ...BOOL DPA_Sort
1c450 28 48 44 50 41 2c 20 50 46 4e 44 50 41 43 4f 4d  (HDPA, PFNDPACOM
1c460 50 41 52 45 2c 20 4c 50 41 52 41 4d 29 3b 0d 0a  PARE, LPARAM);..
1c470 09 49 4e 54 20 44 50 41 5f 53 65 61 72 63 68 28  .INT DPA_Search(
1c480 48 44 50 41 2c 20 50 56 4f 49 44 2c 20 49 4e 54  HDPA, PVOID, INT
1c490 2c 20 50 46 4e 44 50 41 43 4f 4d 50 41 52 45 2c  , PFNDPACOMPARE,
1c4a0 20 4c 50 41 52 41 4d 2c 20 55 49 4e 54 29 3b 0d   LPARAM, UINT);.
1c4b0 0a 09 42 4f 4f 4c 20 53 74 72 5f 53 65 74 50 74  ..BOOL Str_SetPt
1c4c0 72 57 28 4c 50 57 53 54 52 2a 2c 20 4c 50 43 57  rW(LPWSTR*, LPCW
1c4d0 53 54 52 29 3b 0d 0a 0d 0a 09 73 74 61 74 69 63  STR);.....static
1c4e0 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
1c4f0 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 42 4f  = 0x400) {....BO
1c500 4f 4c 20 46 6c 61 74 53 42 5f 45 6e 61 62 6c 65  OL FlatSB_Enable
1c510 53 63 72 6f 6c 6c 42 61 72 28 48 57 4e 44 2c 20  ScrollBar(HWND, 
1c520 49 4e 54 2c 20 55 49 4e 54 29 3b 0d 0a 09 09 42  INT, UINT);....B
1c530 4f 4f 4c 20 46 6c 61 74 53 42 5f 53 68 6f 77 53  OOL FlatSB_ShowS
1c540 63 72 6f 6c 6c 42 61 72 28 48 57 4e 44 2c 20 49  crollBar(HWND, I
1c550 4e 54 2c 20 42 4f 4f 4c 29 3b 0d 0a 09 09 42 4f  NT, BOOL);....BO
1c560 4f 4c 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72  OL FlatSB_GetScr
1c570 6f 6c 6c 52 61 6e 67 65 28 48 57 4e 44 2c 20 49  ollRange(HWND, I
1c580 4e 54 2c 20 4c 50 49 4e 54 2c 20 4c 50 49 4e 54  NT, LPINT, LPINT
1c590 29 3b 0d 0a 09 09 42 4f 4f 4c 20 46 6c 61 74 53  );....BOOL FlatS
1c5a0 42 5f 47 65 74 53 63 72 6f 6c 6c 49 6e 66 6f 28  B_GetScrollInfo(
1c5b0 48 57 4e 44 2c 20 49 4e 54 2c 20 4c 50 53 43 52  HWND, INT, LPSCR
1c5c0 4f 4c 4c 49 4e 46 4f 29 3b 0d 0a 09 09 49 4e 54  OLLINFO);....INT
1c5d0 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c   FlatSB_GetScrol
1c5e0 6c 50 6f 73 28 48 57 4e 44 2c 20 49 4e 54 29 3b  lPos(HWND, INT);
1c5f0 0d 0a 09 09 42 4f 4f 4c 20 46 6c 61 74 53 42 5f  ....BOOL FlatSB_
1c600 47 65 74 53 63 72 6f 6c 6c 50 72 6f 70 28 48 57  GetScrollProp(HW
1c610 4e 44 2c 20 49 4e 54 2c 20 4c 50 49 4e 54 29 3b  ND, INT, LPINT);
1c620 0d 0a 09 09 76 65 72 73 69 6f 6e 20 28 57 69 6e  ....version (Win
1c630 36 34 29 20 7b 0d 0a 09 09 09 42 4f 4f 4c 20 46  64) {.....BOOL F
1c640 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c 6c 50  latSB_GetScrollP
1c650 72 6f 70 50 74 72 28 48 57 4e 44 2c 20 49 4e 54  ropPtr(HWND, INT
1c660 2c 20 50 49 4e 54 5f 50 54 52 29 3b 0d 0a 09 09  , PINT_PTR);....
1c670 7d 20 65 6c 73 65 20 7b 0d 0a 09 09 09 61 6c 69  } else {.....ali
1c680 61 73 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72  as FlatSB_GetScr
1c690 6f 6c 6c 50 72 6f 70 20 46 6c 61 74 53 42 5f 47  ollProp FlatSB_G
1c6a0 65 74 53 63 72 6f 6c 6c 50 72 6f 70 50 74 72 3b  etScrollPropPtr;
1c6b0 0d 0a 09 09 7d 0d 0a 09 09 49 4e 54 20 46 6c 61  ....}....INT Fla
1c6c0 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 50 6f 73  tSB_SetScrollPos
1c6d0 28 48 57 4e 44 2c 20 49 4e 54 2c 20 49 4e 54 2c  (HWND, INT, INT,
1c6e0 20 42 4f 4f 4c 29 3b 0d 0a 09 09 49 4e 54 20 46   BOOL);....INT F
1c6f0 6c 61 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 49  latSB_SetScrollI
1c700 6e 66 6f 28 48 57 4e 44 2c 20 49 4e 54 2c 20 4c  nfo(HWND, INT, L
1c710 50 53 43 52 4f 4c 4c 49 4e 46 4f 2c 20 42 4f 4f  PSCROLLINFO, BOO
1c720 4c 29 3b 0d 0a 09 09 49 4e 54 20 46 6c 61 74 53  L);....INT FlatS
1c730 42 5f 53 65 74 53 63 72 6f 6c 6c 52 61 6e 67 65  B_SetScrollRange
1c740 28 48 57 4e 44 2c 20 49 4e 54 2c 20 49 4e 54 2c  (HWND, INT, INT,
1c750 20 49 4e 54 2c 20 42 4f 4f 4c 29 3b 0d 0a 09 09   INT, BOOL);....
1c760 42 4f 4f 4c 20 46 6c 61 74 53 42 5f 53 65 74 53  BOOL FlatSB_SetS
1c770 63 72 6f 6c 6c 50 72 6f 70 28 48 57 4e 44 2c 20  crollProp(HWND, 
1c780 55 49 4e 54 2c 20 49 4e 54 5f 50 54 52 2c 20 42  UINT, INT_PTR, B
1c790 4f 4f 4c 29 3b 0d 0a 09 09 61 6c 69 61 73 20 46  OOL);....alias F
1c7a0 6c 61 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 50  latSB_SetScrollP
1c7b0 72 6f 70 20 46 6c 61 74 53 42 5f 53 65 74 53 63  rop FlatSB_SetSc
1c7c0 72 6f 6c 6c 50 72 6f 70 50 74 72 3b 0d 0a 09 09  rollPropPtr;....
1c7d0 42 4f 4f 4c 20 49 6e 69 74 69 61 6c 69 7a 65 46  BOOL InitializeF
1c7e0 6c 61 74 53 42 28 48 57 4e 44 29 3b 0d 0a 09 09  latSB(HWND);....
1c7f0 48 52 45 53 55 4c 54 20 55 6e 69 6e 69 74 69 61  HRESULT Uninitia
1c800 6c 69 7a 65 46 6c 61 74 53 42 28 48 57 4e 44 29  lizeFlatSB(HWND)
1c810 3b 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 61 74 69 63  ;...}.....static
1c820 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e   if (_WIN32_WINN
1c830 54 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a 09  T >= 0x501) {...
1c840 09 42 4f 4f 4c 20 53 65 74 57 69 6e 64 6f 77 53  .BOOL SetWindowS
1c850 75 62 63 6c 61 73 73 28 48 57 4e 44 2c 20 53 55  ubclass(HWND, SU
1c860 42 43 4c 41 53 53 50 52 4f 43 2c 20 55 49 4e 54  BCLASSPROC, UINT
1c870 5f 50 54 52 2c 20 44 57 4f 52 44 5f 50 54 52 29  _PTR, DWORD_PTR)
1c880 3b 0d 0a 09 09 42 4f 4f 4c 20 47 65 74 57 69 6e  ;....BOOL GetWin
1c890 64 6f 77 53 75 62 63 6c 61 73 73 28 48 57 4e 44  dowSubclass(HWND
1c8a0 2c 20 53 55 42 43 4c 41 53 53 50 52 4f 43 2c 20  , SUBCLASSPROC, 
1c8b0 55 49 4e 54 5f 50 54 52 2c 20 44 57 4f 52 44 5f  UINT_PTR, DWORD_
1c8c0 50 54 52 2a 29 3b 0d 0a 09 09 42 4f 4f 4c 20 52  PTR*);....BOOL R
1c8d0 65 6d 6f 76 65 57 69 6e 64 6f 77 53 75 62 63 6c  emoveWindowSubcl
1c8e0 61 73 73 28 48 57 4e 44 2c 20 53 55 42 43 4c 41  ass(HWND, SUBCLA
1c8f0 53 53 50 52 4f 43 2c 20 55 49 4e 54 5f 50 54 52  SSPROC, UINT_PTR
1c900 29 3b 0d 0a 09 09 4c 52 45 53 55 4c 54 20 44 65  );....LRESULT De
1c910 66 53 75 62 63 6c 61 73 73 50 72 6f 63 28 48 57  fSubclassProc(HW
1c920 4e 44 2c 20 55 49 4e 54 2c 20 57 50 41 52 41 4d  ND, UINT, WPARAM
1c930 2c 20 4c 50 41 52 41 4d 29 3b 0d 0a 09 09 49 4e  , LPARAM);....IN
1c940 54 20 44 72 61 77 53 68 61 64 6f 77 54 65 78 74  T DrawShadowText
1c950 28 48 44 43 2c 20 4c 50 43 57 53 54 52 2c 20 55  (HDC, LPCWSTR, U
1c960 49 4e 54 2c 20 52 45 43 54 2a 2c 20 44 57 4f 52  INT, RECT*, DWOR
1c970 44 2c 20 43 4f 4c 4f 52 52 45 46 2c 0d 0a 09 09  D, COLORREF,....
1c980 20 20 43 4f 4c 4f 52 52 45 46 2c 20 49 4e 54 2c    COLORREF, INT,
1c990 20 49 4e 54 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 69   INT);...}.....i
1c9a0 6e 74 20 49 6d 61 67 65 4c 69 73 74 5f 41 64 64  nt ImageList_Add
1c9b0 28 48 49 4d 41 47 45 4c 49 53 54 2c 20 48 42 49  (HIMAGELIST, HBI
1c9c0 54 4d 41 50 2c 20 48 42 49 54 4d 41 50 29 3b 0d  TMAP, HBITMAP);.
1c9d0 0a 09 69 6e 74 20 49 6d 61 67 65 4c 69 73 74 5f  ..int ImageList_
1c9e0 41 64 64 4d 61 73 6b 65 64 28 48 49 4d 41 47 45  AddMasked(HIMAGE
1c9f0 4c 49 53 54 2c 20 48 42 49 54 4d 41 50 2c 20 43  LIST, HBITMAP, C
1ca00 4f 4c 4f 52 52 45 46 29 3b 0d 0a 09 42 4f 4f 4c  OLORREF);...BOOL
1ca10 20 49 6d 61 67 65 4c 69 73 74 5f 42 65 67 69 6e   ImageList_Begin
1ca20 44 72 61 67 28 48 49 4d 41 47 45 4c 49 53 54 2c  Drag(HIMAGELIST,
1ca30 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74 29 3b   int, int, int);
1ca40 0d 0a 09 48 49 4d 41 47 45 4c 49 53 54 20 49 6d  ...HIMAGELIST Im
1ca50 61 67 65 4c 69 73 74 5f 43 72 65 61 74 65 28 69  ageList_Create(i
1ca60 6e 74 2c 20 69 6e 74 2c 20 55 49 4e 54 2c 20 69  nt, int, UINT, i
1ca70 6e 74 2c 20 69 6e 74 29 3b 0d 0a 09 42 4f 4f 4c  nt, int);...BOOL
1ca80 20 49 6d 61 67 65 4c 69 73 74 5f 44 65 73 74 72   ImageList_Destr
1ca90 6f 79 28 48 49 4d 41 47 45 4c 49 53 54 29 3b 0d  oy(HIMAGELIST);.
1caa0 0a 09 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74  ..BOOL ImageList
1cab0 5f 44 72 61 67 45 6e 74 65 72 28 48 57 4e 44 2c  _DragEnter(HWND,
1cac0 20 69 6e 74 2c 20 69 6e 74 29 3b 0d 0a 09 42 4f   int, int);...BO
1cad0 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 44 72 61  OL ImageList_Dra
1cae0 67 4c 65 61 76 65 28 48 57 4e 44 29 3b 0d 0a 09  gLeave(HWND);...
1caf0 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 44  BOOL ImageList_D
1cb00 72 61 67 4d 6f 76 65 28 69 6e 74 2c 20 69 6e 74  ragMove(int, int
1cb10 29 3b 0d 0a 09 42 4f 4f 4c 20 49 6d 61 67 65 4c  );...BOOL ImageL
1cb20 69 73 74 5f 44 72 61 67 53 68 6f 77 4e 6f 6c 6f  ist_DragShowNolo
1cb30 63 6b 28 42 4f 4f 4c 29 3b 0d 0a 09 42 4f 4f 4c  ck(BOOL);...BOOL
1cb40 20 49 6d 61 67 65 4c 69 73 74 5f 44 72 61 77 28   ImageList_Draw(
1cb50 48 49 4d 41 47 45 4c 49 53 54 2c 20 69 6e 74 2c  HIMAGELIST, int,
1cb60 20 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20   HDC, int, int, 
1cb70 55 49 4e 54 29 3b 0d 0a 09 42 4f 4f 4c 20 49 6d  UINT);...BOOL Im
1cb80 61 67 65 4c 69 73 74 5f 44 72 61 77 45 78 28 48  ageList_DrawEx(H
1cb90 49 4d 41 47 45 4c 49 53 54 2c 20 69 6e 74 2c 20  IMAGELIST, int, 
1cba0 48 44 43 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69  HDC, int, int, i
1cbb0 6e 74 2c 20 69 6e 74 2c 20 43 4f 4c 4f 52 52 45  nt, int, COLORRE
1cbc0 46 2c 0d 0a 09 20 20 43 4f 4c 4f 52 52 45 46 2c  F,...  COLORREF,
1cbd0 20 55 49 4e 54 29 3b 0d 0a 09 76 6f 69 64 20 49   UINT);...void I
1cbe0 6d 61 67 65 4c 69 73 74 5f 45 6e 64 44 72 61 67  mageList_EndDrag
1cbf0 28 29 3b 0d 0a 09 43 4f 4c 4f 52 52 45 46 20 49  ();...COLORREF I
1cc00 6d 61 67 65 4c 69 73 74 5f 47 65 74 42 6b 43 6f  mageList_GetBkCo
1cc10 6c 6f 72 28 48 49 4d 41 47 45 4c 49 53 54 29 3b  lor(HIMAGELIST);
1cc20 0d 0a 09 48 49 4d 41 47 45 4c 49 53 54 20 49 6d  ...HIMAGELIST Im
1cc30 61 67 65 4c 69 73 74 5f 47 65 74 44 72 61 67 49  ageList_GetDragI
1cc40 6d 61 67 65 28 4c 50 50 4f 49 4e 54 2c 20 4c 50  mage(LPPOINT, LP
1cc50 50 4f 49 4e 54 29 3b 0d 0a 09 48 49 43 4f 4e 20  POINT);...HICON 
1cc60 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 49 63 6f  ImageList_GetIco
1cc70 6e 28 48 49 4d 41 47 45 4c 49 53 54 2c 20 69 6e  n(HIMAGELIST, in
1cc80 74 2c 20 55 49 4e 54 29 3b 0d 0a 09 42 4f 4f 4c  t, UINT);...BOOL
1cc90 20 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 49 63   ImageList_GetIc
1cca0 6f 6e 53 69 7a 65 28 48 49 4d 41 47 45 4c 49 53  onSize(HIMAGELIS
1ccb0 54 2c 20 69 6e 74 2a 2c 20 69 6e 74 2a 29 3b 0d  T, int*, int*);.
1ccc0 0a 09 69 6e 74 20 49 6d 61 67 65 4c 69 73 74 5f  ..int ImageList_
1ccd0 47 65 74 49 6d 61 67 65 43 6f 75 6e 74 28 48 49  GetImageCount(HI
1cce0 4d 41 47 45 4c 49 53 54 29 3b 0d 0a 09 42 4f 4f  MAGELIST);...BOO
1ccf0 4c 20 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 49  L ImageList_GetI
1cd00 6d 61 67 65 49 6e 66 6f 28 48 49 4d 41 47 45 4c  mageInfo(HIMAGEL
1cd10 49 53 54 2c 20 69 6e 74 2c 20 49 4d 41 47 45 49  IST, int, IMAGEI
1cd20 4e 46 4f 2a 29 3b 0d 0a 09 48 49 4d 41 47 45 4c  NFO*);...HIMAGEL
1cd30 49 53 54 20 49 6d 61 67 65 4c 69 73 74 5f 4c 6f  IST ImageList_Lo
1cd40 61 64 49 6d 61 67 65 41 28 48 49 4e 53 54 41 4e  adImageA(HINSTAN
1cd50 43 45 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74 2c  CE, LPCSTR, int,
1cd60 20 69 6e 74 2c 20 43 4f 4c 4f 52 52 45 46 2c 0d   int, COLORREF,.
1cd70 0a 09 20 20 55 49 4e 54 2c 20 55 49 4e 54 29 3b  ..  UINT, UINT);
1cd80 0d 0a 09 48 49 4d 41 47 45 4c 49 53 54 20 49 6d  ...HIMAGELIST Im
1cd90 61 67 65 4c 69 73 74 5f 4c 6f 61 64 49 6d 61 67  ageList_LoadImag
1cda0 65 57 28 48 49 4e 53 54 41 4e 43 45 2c 20 4c 50  eW(HINSTANCE, LP
1cdb0 43 57 53 54 52 2c 20 69 6e 74 2c 20 69 6e 74 2c  CWSTR, int, int,
1cdc0 20 43 4f 4c 4f 52 52 45 46 2c 0d 0a 09 20 20 55   COLORREF,...  U
1cdd0 49 4e 54 2c 20 55 49 4e 54 29 3b 0d 0a 09 48 49  INT, UINT);...HI
1cde0 4d 41 47 45 4c 49 53 54 20 49 6d 61 67 65 4c 69  MAGELIST ImageLi
1cdf0 73 74 5f 4d 65 72 67 65 28 48 49 4d 41 47 45 4c  st_Merge(HIMAGEL
1ce00 49 53 54 2c 20 69 6e 74 2c 20 48 49 4d 41 47 45  IST, int, HIMAGE
1ce10 4c 49 53 54 2c 20 69 6e 74 2c 20 69 6e 74 2c 20  LIST, int, int, 
1ce20 69 6e 74 29 3b 0d 0a 09 42 4f 4f 4c 20 49 6d 61  int);...BOOL Ima
1ce30 67 65 4c 69 73 74 5f 52 65 6d 6f 76 65 28 48 49  geList_Remove(HI
1ce40 4d 41 47 45 4c 49 53 54 2c 20 69 6e 74 29 3b 0d  MAGELIST, int);.
1ce50 0a 09 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74  ..BOOL ImageList
1ce60 5f 52 65 70 6c 61 63 65 28 48 49 4d 41 47 45 4c  _Replace(HIMAGEL
1ce70 49 53 54 2c 20 69 6e 74 2c 20 48 42 49 54 4d 41  IST, int, HBITMA
1ce80 50 2c 20 48 42 49 54 4d 41 50 29 3b 0d 0a 09 69  P, HBITMAP);...i
1ce90 6e 74 20 49 6d 61 67 65 4c 69 73 74 5f 52 65 70  nt ImageList_Rep
1cea0 6c 61 63 65 49 63 6f 6e 28 48 49 4d 41 47 45 4c  laceIcon(HIMAGEL
1ceb0 49 53 54 2c 20 69 6e 74 2c 20 48 49 43 4f 4e 29  IST, int, HICON)
1cec0 3b 0d 0a 09 43 4f 4c 4f 52 52 45 46 20 49 6d 61  ;...COLORREF Ima
1ced0 67 65 4c 69 73 74 5f 53 65 74 42 6b 43 6f 6c 6f  geList_SetBkColo
1cee0 72 28 48 49 4d 41 47 45 4c 49 53 54 2c 20 43 4f  r(HIMAGELIST, CO
1cef0 4c 4f 52 52 45 46 29 3b 0d 0a 09 42 4f 4f 4c 20  LORREF);...BOOL 
1cf00 49 6d 61 67 65 4c 69 73 74 5f 53 65 74 44 72 61  ImageList_SetDra
1cf10 67 43 75 72 73 6f 72 49 6d 61 67 65 28 48 49 4d  gCursorImage(HIM
1cf20 41 47 45 4c 49 53 54 2c 20 69 6e 74 2c 20 69 6e  AGELIST, int, in
1cf30 74 2c 20 69 6e 74 29 3b 0d 0a 09 42 4f 4f 4c 20  t, int);...BOOL 
1cf40 49 6d 61 67 65 4c 69 73 74 5f 53 65 74 49 63 6f  ImageList_SetIco
1cf50 6e 53 69 7a 65 28 48 49 4d 41 47 45 4c 49 53 54  nSize(HIMAGELIST
1cf60 2c 20 69 6e 74 2c 20 69 6e 74 29 3b 0d 0a 09 42  , int, int);...B
1cf70 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 53 65  OOL ImageList_Se
1cf80 74 4f 76 65 72 6c 61 79 49 6d 61 67 65 28 48 49  tOverlayImage(HI
1cf90 4d 41 47 45 4c 49 53 54 2c 20 69 6e 74 2c 20 69  MAGELIST, int, i
1cfa0 6e 74 29 3b 0d 0a 0d 0a 09 2f 2f 23 69 66 64 65  nt);.....//#ifde
1cfb0 66 20 5f 4f 42 4a 49 44 4c 5f 48 0d 0a 09 48 49  f _OBJIDL_H...HI
1cfc0 4d 41 47 45 4c 49 53 54 20 49 6d 61 67 65 4c 69  MAGELIST ImageLi
1cfd0 73 74 5f 52 65 61 64 28 4c 50 53 54 52 45 41 4d  st_Read(LPSTREAM
1cfe0 29 3b 0d 0a 09 42 4f 4f 4c 20 49 6d 61 67 65 4c  );...BOOL ImageL
1cff0 69 73 74 5f 57 72 69 74 65 28 48 49 4d 41 47 45  ist_Write(HIMAGE
1d000 4c 49 53 54 2c 20 4c 50 53 54 52 45 41 4d 29 3b  LIST, LPSTREAM);
1d010 0d 0a 09 2f 2f 23 65 6e 64 69 66 0d 0a 0d 0a 09  ...//#endif.....
1d020 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33  static if (_WIN3
1d030 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b  2_IE >= 0x400) {
1d040 0d 0a 09 09 48 49 4d 41 47 45 4c 49 53 54 20 49  ....HIMAGELIST I
1d050 6d 61 67 65 4c 69 73 74 5f 44 75 70 6c 69 63 61  mageList_Duplica
1d060 74 65 28 48 49 4d 41 47 45 4c 49 53 54 20 68 69  te(HIMAGELIST hi
1d070 6d 6c 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 76 6f 69  ml);...}.....voi
1d080 64 20 49 6e 69 74 43 6f 6d 6d 6f 6e 43 6f 6e 74  d InitCommonCont
1d090 72 6f 6c 73 28 29 3b 0d 0a 0d 0a 09 73 74 61 74  rols();.....stat
1d0a0 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  ic if (_WIN32_IE
1d0b0 20 3e 3d 20 30 78 33 30 30 29 20 7b 0d 0a 09 09   >= 0x300) {....
1d0c0 42 4f 4f 4c 20 49 6e 69 74 43 6f 6d 6d 6f 6e 43  BOOL InitCommonC
1d0d0 6f 6e 74 72 6f 6c 73 45 78 28 4c 50 49 4e 49 54  ontrolsEx(LPINIT
1d0e0 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f 4c 53 45 58  COMMONCONTROLSEX
1d0f0 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 69 6e 74 20 4c  );...}.....int L
1d100 42 49 74 65 6d 46 72 6f 6d 50 74 28 48 57 4e 44  BItemFromPt(HWND
1d110 2c 20 50 4f 49 4e 54 2c 20 42 4f 4f 4c 29 3b 0d  , POINT, BOOL);.
1d120 0a 7d 0d 0a 0d 0a 69 6e 74 20 49 6d 61 67 65 4c  .}....int ImageL
1d130 69 73 74 5f 41 64 64 49 63 6f 6e 28 48 49 4d 41  ist_AddIcon(HIMA
1d140 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 48 49 43  GELIST himl, HIC
1d150 4f 4e 20 68 69 63 6f 6e 29 20 7b 0d 0a 09 72 65  ON hicon) {...re
1d160 74 75 72 6e 20 49 6d 61 67 65 4c 69 73 74 5f 52  turn ImageList_R
1d170 65 70 6c 61 63 65 49 63 6f 6e 28 68 69 6d 6c 2c  eplaceIcon(himl,
1d180 20 2d 31 2c 20 68 69 63 6f 6e 29 3b 0d 0a 7d 0d   -1, hicon);..}.
1d190 0a 0d 0a 48 49 43 4f 4e 20 49 6d 61 67 65 4c 69  ...HICON ImageLi
1d1a0 73 74 5f 45 78 74 72 61 63 74 49 63 6f 6e 28 48  st_ExtractIcon(H
1d1b0 49 4e 53 54 41 4e 43 45 20 68 69 2c 20 48 49 4d  INSTANCE hi, HIM
1d1c0 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e  AGELIST himl, in
1d1d0 74 20 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  t i) {...return 
1d1e0 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 49 63 6f  ImageList_GetIco
1d1f0 6e 28 68 69 6d 6c 2c 20 69 2c 20 30 29 3b 0d 0a  n(himl, i, 0);..
1d200 7d 0d 0a 0d 0a 48 49 4d 41 47 45 4c 49 53 54 20  }....HIMAGELIST 
1d210 49 6d 61 67 65 4c 69 73 74 5f 4c 6f 61 64 42 69  ImageList_LoadBi
1d220 74 6d 61 70 28 48 49 4e 53 54 41 4e 43 45 20 68  tmap(HINSTANCE h
1d230 69 2c 20 4c 50 43 54 53 54 52 20 6c 70 62 6d 70  i, LPCTSTR lpbmp
1d240 2c 20 69 6e 74 20 63 78 2c 0d 0a 09 20 20 69 6e  , int cx,...  in
1d250 74 20 63 47 72 6f 77 2c 20 43 4f 4c 4f 52 52 45  t cGrow, COLORRE
1d260 46 20 63 72 4d 61 73 6b 29 20 7b 0d 0a 09 72 65  F crMask) {...re
1d270 74 75 72 6e 20 49 6d 61 67 65 4c 69 73 74 5f 4c  turn ImageList_L
1d280 6f 61 64 49 6d 61 67 65 28 68 69 2c 20 6c 70 62  oadImage(hi, lpb
1d290 6d 70 2c 20 63 78 2c 20 63 47 72 6f 77 2c 20 63  mp, cx, cGrow, c
1d2a0 72 4d 61 73 6b 2c 20 49 4d 41 47 45 5f 42 49 54  rMask, IMAGE_BIT
1d2b0 4d 41 50 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42  MAP, 0);..}....B
1d2c0 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 52 65  OOL ImageList_Re
1d2d0 6d 6f 76 65 41 6c 6c 28 48 49 4d 41 47 45 4c 49  moveAll(HIMAGELI
1d2e0 53 54 20 68 69 6d 6c 29 20 7b 0d 0a 09 72 65 74  ST himl) {...ret
1d2f0 75 72 6e 20 49 6d 61 67 65 4c 69 73 74 5f 52 65  urn ImageList_Re
1d300 6d 6f 76 65 28 68 69 6d 6c 2c 20 2d 31 29 3b 0d  move(himl, -1);.
1d310 0a 7d 0d 0a 0d 0a 43 4f 4c 4f 52 52 45 46 20 4c  .}....COLORREF L
1d320 69 73 74 56 69 65 77 5f 47 65 74 42 6b 43 6f 6c  istView_GetBkCol
1d330 6f 72 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 72  or(HWND w) {...r
1d340 65 74 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52  eturn cast(COLOR
1d350 52 45 46 29 20 53 65 6e 64 4d 65 73 73 61 67 65  REF) SendMessage
1d360 28 77 2c 20 4c 56 4d 5f 47 45 54 42 4b 43 4f 4c  (w, LVM_GETBKCOL
1d370 4f 52 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d  OR, 0, 0);..}...
1d380 0a 48 49 4d 41 47 45 4c 49 53 54 20 4c 69 73 74  .HIMAGELIST List
1d390 56 69 65 77 5f 47 65 74 49 6d 61 67 65 4c 69 73  View_GetImageLis
1d3a0 74 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 29  t(HWND w, int i)
1d3b0 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
1d3c0 28 48 49 4d 41 47 45 4c 49 53 54 29 20 53 65 6e  (HIMAGELIST) Sen
1d3d0 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
1d3e0 47 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 69 2c  GETIMAGELIST, i,
1d3f0 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 4c   0);..}....int L
1d400 69 73 74 56 69 65 77 5f 47 65 74 49 74 65 6d 43  istView_GetItemC
1d410 6f 75 6e 74 28 48 57 4e 44 20 77 29 20 7b 0d 0a  ount(HWND w) {..
1d420 09 72 65 74 75 72 6e 20 63 61 73 74 28 69 6e 74  .return cast(int
1d430 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1d440 20 4c 56 4d 5f 47 45 54 49 54 45 4d 43 4f 55 4e   LVM_GETITEMCOUN
1d450 54 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a  T, 0, 0);..}....
1d460 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 47 65  BOOL ListView_Ge
1d470 74 49 74 65 6d 28 48 57 4e 44 20 77 2c 20 4c 50  tItem(HWND w, LP
1d480 4c 56 49 54 45 4d 20 70 69 74 65 6d 29 20 7b 0d  LVITEM pitem) {.
1d490 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f  ..return cast(BO
1d4a0 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  OL) SendMessage(
1d4b0 77 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d 2c 20  w, LVM_GETITEM, 
1d4c0 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  0, cast(LPARAM) 
1d4d0 70 69 74 65 6d 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f  pitem);..}....BO
1d4e0 4f 4c 20 4c 69 73 74 56 69 65 77 5f 53 65 74 42  OL ListView_SetB
1d4f0 6b 43 6f 6c 6f 72 28 48 57 4e 44 20 77 2c 20 43  kColor(HWND w, C
1d500 4f 4c 4f 52 52 45 46 20 63 29 20 7b 0d 0a 09 72  OLORREF c) {...r
1d510 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29  eturn cast(BOOL)
1d520 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20   SendMessage(w, 
1d530 4c 56 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 2c 20  LVM_SETBKCOLOR, 
1d540 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  0, cast(LPARAM) 
1d550 63 29 3b 0d 0a 7d 0d 0a 0d 0a 48 49 4d 41 47 45  c);..}....HIMAGE
1d560 4c 49 53 54 20 4c 69 73 74 56 69 65 77 5f 53 65  LIST ListView_Se
1d570 74 49 6d 61 67 65 4c 69 73 74 28 48 57 4e 44 20  tImageList(HWND 
1d580 77 2c 20 48 49 4d 41 47 45 4c 49 53 54 20 68 2c  w, HIMAGELIST h,
1d590 20 69 6e 74 20 69 29 20 7b 0d 0a 09 72 65 74 75   int i) {...retu
1d5a0 72 6e 20 63 61 73 74 28 48 49 4d 41 47 45 4c 49  rn cast(HIMAGELI
1d5b0 53 54 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  ST) SendMessage(
1d5c0 77 2c 20 4c 56 4d 5f 53 45 54 49 4d 41 47 45 4c  w, LVM_SETIMAGEL
1d5d0 49 53 54 2c 20 69 2c 0d 0a 09 20 20 63 61 73 74  IST, i,...  cast
1d5e0 28 4c 50 41 52 41 4d 29 20 68 29 3b 0d 0a 7d 0d  (LPARAM) h);..}.
1d5f0 0a 0d 0a 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77  ...BOOL ListView
1d600 5f 53 65 74 49 74 65 6d 28 48 57 4e 44 20 77 2c  _SetItem(HWND w,
1d610 20 63 6f 6e 73 74 28 4c 56 5f 49 54 45 4d 29 2a   const(LV_ITEM)*
1d620 20 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63   i) {...return c
1d630 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
1d640 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54  ssage(w, LVM_SET
1d650 49 54 45 4d 2c 20 30 2c 20 63 61 73 74 28 4c 50  ITEM, 0, cast(LP
1d660 41 52 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a 0d 0a  ARAM) i);..}....
1d670 69 6e 74 20 4c 69 73 74 56 69 65 77 5f 49 6e 73  int ListView_Ins
1d680 65 72 74 49 74 65 6d 28 48 57 4e 44 20 77 2c 20  ertItem(HWND w, 
1d690 63 6f 6e 73 74 28 4c 56 5f 49 54 45 4d 29 2a 20  const(LV_ITEM)* 
1d6a0 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  i) {...return ca
1d6b0 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 73  st(int) SendMess
1d6c0 61 67 65 28 77 2c 20 4c 56 4d 5f 49 4e 53 45 52  age(w, LVM_INSER
1d6d0 54 49 54 45 4d 2c 20 30 2c 20 63 61 73 74 28 4c  TITEM, 0, cast(L
1d6e0 50 41 52 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a 0d  PARAM) i);..}...
1d6f0 0a 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 44  .BOOL ListView_D
1d700 65 6c 65 74 65 49 74 65 6d 28 48 57 4e 44 20 77  eleteItem(HWND w
1d710 2c 20 69 6e 74 20 69 29 20 7b 0d 0a 09 72 65 74  , int i) {...ret
1d720 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
1d730 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56  endMessage(w, LV
1d740 4d 5f 44 45 4c 45 54 45 49 54 45 4d 2c 20 69 2c  M_DELETEITEM, i,
1d750 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20   0);..}....BOOL 
1d760 4c 69 73 74 56 69 65 77 5f 44 65 6c 65 74 65 41  ListView_DeleteA
1d770 6c 6c 49 74 65 6d 73 28 48 57 4e 44 20 77 29 20  llItems(HWND w) 
1d780 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28  {...return cast(
1d790 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67  BOOL) SendMessag
1d7a0 65 28 77 2c 20 4c 56 4d 5f 44 45 4c 45 54 45 41  e(w, LVM_DELETEA
1d7b0 4c 4c 49 54 45 4d 53 2c 20 30 2c 20 30 29 3b 0d  LLITEMS, 0, 0);.
1d7c0 0a 7d 0d 0a 0d 0a 55 49 4e 54 20 4c 69 73 74 56  .}....UINT ListV
1d7d0 69 65 77 5f 47 65 74 43 61 6c 6c 62 61 63 6b 4d  iew_GetCallbackM
1d7e0 61 73 6b 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09  ask(HWND w) {...
1d7f0 72 65 74 75 72 6e 20 63 61 73 74 28 55 49 4e 54  return cast(UINT
1d800 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1d810 20 4c 56 4d 5f 47 45 54 43 41 4c 4c 42 41 43 4b   LVM_GETCALLBACK
1d820 4d 41 53 4b 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  MASK, 0, 0);..}.
1d830 0a 0d 0a 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77  ...BOOL ListView
1d840 5f 53 65 74 43 61 6c 6c 62 61 63 6b 4d 61 73 6b  _SetCallbackMask
1d850 28 48 57 4e 44 20 77 2c 20 55 49 4e 54 20 6d 29  (HWND w, UINT m)
1d860 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
1d870 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
1d880 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 43 41 4c  ge(w, LVM_SETCAL
1d890 4c 42 41 43 4b 4d 41 53 4b 2c 20 6d 2c 20 30 29  LBACKMASK, m, 0)
1d8a0 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 4c 69 73 74  ;..}....int List
1d8b0 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 6d  View_GetNextItem
1d8c0 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20  (HWND w, int i, 
1d8d0 55 49 4e 54 20 66 29 20 7b 0d 0a 09 72 65 74 75  UINT f) {...retu
1d8e0 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53 65 6e  rn cast(int) Sen
1d8f0 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
1d900 47 45 54 4e 45 58 54 49 54 45 4d 2c 20 69 2c 20  GETNEXTITEM, i, 
1d910 4d 41 4b 45 4c 50 41 52 41 4d 28 63 61 73 74 28  MAKELPARAM(cast(
1d920 75 73 68 6f 72 74 29 66 2c 20 30 29 29 3b 0d 0a  ushort)f, 0));..
1d930 7d 0d 0a 0d 0a 69 6e 74 20 4c 69 73 74 56 69 65  }....int ListVie
1d940 77 5f 46 69 6e 64 49 74 65 6d 28 48 57 4e 44 20  w_FindItem(HWND 
1d950 77 2c 20 69 6e 74 20 69 2c 20 63 6f 6e 73 74 28  w, int i, const(
1d960 4c 56 5f 46 49 4e 44 49 4e 46 4f 29 2a 20 70 29  LV_FINDINFO)* p)
1d970 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
1d980 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 73 61 67  (int) SendMessag
1d990 65 28 77 2c 20 4c 56 4d 5f 46 49 4e 44 49 54 45  e(w, LVM_FINDITE
1d9a0 4d 2c 20 69 2c 20 63 61 73 74 28 4c 50 41 52 41  M, i, cast(LPARA
1d9b0 4d 29 20 70 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f  M) p);..}....BOO
1d9c0 4c 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74  L ListView_GetIt
1d9d0 65 6d 52 65 63 74 28 48 57 4e 44 20 77 2c 20 69  emRect(HWND w, i
1d9e0 6e 74 20 69 2c 20 4c 50 52 45 43 54 20 70 2c 20  nt i, LPRECT p, 
1d9f0 69 6e 74 20 63 29 20 7b 0d 0a 09 72 65 74 75 72  int c) {...retur
1da00 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
1da10 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
1da20 47 45 54 49 54 45 4d 52 45 43 54 2c 20 69 2c 20  GETITEMRECT, i, 
1da30 70 20 3f 0d 0a 09 20 20 28 70 2e 6c 65 66 74 20  p ?...  (p.left 
1da40 3d 20 63 2c 20 63 61 73 74 28 4c 50 41 52 41 4d  = c, cast(LPARAM
1da50 29 20 70 29 20 3a 20 30 29 3b 0d 0a 7d 0d 0a 0d  ) p) : 0);..}...
1da60 0a 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 53  .BOOL ListView_S
1da70 65 74 49 74 65 6d 50 6f 73 69 74 69 6f 6e 28 48  etItemPosition(H
1da80 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 69 6e  WND w, int i, in
1da90 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 0d 0a 09  t x, int y) {...
1daa0 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c  return cast(BOOL
1dab0 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1dac0 20 4c 56 4d 5f 53 45 54 49 54 45 4d 50 4f 53 49   LVM_SETITEMPOSI
1dad0 54 49 4f 4e 2c 20 69 2c 20 4d 41 4b 45 4c 50 41  TION, i, MAKELPA
1dae0 52 41 4d 28 63 61 73 74 28 75 73 68 6f 72 74 29  RAM(cast(ushort)
1daf0 78 2c 20 63 61 73 74 28 75 73 68 6f 72 74 29 79  x, cast(ushort)y
1db00 29 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c  ));..}....BOOL L
1db10 69 73 74 56 69 65 77 5f 47 65 74 49 74 65 6d 50  istView_GetItemP
1db20 6f 73 69 74 69 6f 6e 28 48 57 4e 44 20 77 2c 20  osition(HWND w, 
1db30 69 6e 74 20 69 2c 20 50 4f 49 4e 54 2a 20 70 29  int i, POINT* p)
1db40 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
1db50 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
1db60 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 49 54 45  ge(w, LVM_GETITE
1db70 4d 50 4f 53 49 54 49 4f 4e 2c 20 69 2c 20 63 61  MPOSITION, i, ca
1db80 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a  st(LPARAM) p);..
1db90 7d 0d 0a 0d 0a 44 57 4f 52 44 20 4c 69 73 74 56  }....DWORD ListV
1dba0 69 65 77 5f 47 65 74 49 74 65 6d 53 70 61 63 69  iew_GetItemSpaci
1dbb0 6e 67 28 48 57 4e 44 20 77 2c 20 42 4f 4f 4c 20  ng(HWND w, BOOL 
1dbc0 66 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  f) {...return ca
1dbd0 73 74 28 44 57 4f 52 44 29 20 53 65 6e 64 4d 65  st(DWORD) SendMe
1dbe0 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54  ssage(w, LVM_GET
1dbf0 49 54 45 4d 53 50 41 43 49 4e 47 2c 20 66 2c 20  ITEMSPACING, f, 
1dc00 30 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 4c 69  0);..}....int Li
1dc10 73 74 56 69 65 77 5f 47 65 74 53 74 72 69 6e 67  stView_GetString
1dc20 57 69 64 74 68 28 48 57 4e 44 20 77 2c 20 4c 50  Width(HWND w, LP
1dc30 43 53 54 52 20 73 29 20 7b 0d 0a 09 72 65 74 75  CSTR s) {...retu
1dc40 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53 65 6e  rn cast(int) Sen
1dc50 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
1dc60 47 45 54 53 54 52 49 4e 47 57 49 44 54 48 2c 20  GETSTRINGWIDTH, 
1dc70 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  0, cast(LPARAM) 
1dc80 73 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 4c 69  s);..}....int Li
1dc90 73 74 56 69 65 77 5f 48 69 74 54 65 73 74 28 48  stView_HitTest(H
1dca0 57 4e 44 20 77 2c 20 4c 50 4c 56 48 49 54 54 45  WND w, LPLVHITTE
1dcb0 53 54 49 4e 46 4f 20 70 29 20 7b 0d 0a 09 72 65  STINFO p) {...re
1dcc0 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53  turn cast(int) S
1dcd0 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56  endMessage(w, LV
1dce0 4d 5f 48 49 54 54 45 53 54 2c 20 30 2c 20 63 61  M_HITTEST, 0, ca
1dcf0 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a  st(LPARAM) p);..
1dd00 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69 73 74 56 69  }....BOOL ListVi
1dd10 65 77 5f 45 6e 73 75 72 65 56 69 73 69 62 6c 65  ew_EnsureVisible
1dd20 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20  (HWND w, int i, 
1dd30 42 4f 4f 4c 20 66 29 20 7b 0d 0a 09 72 65 74 75  BOOL f) {...retu
1dd40 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65  rn cast(BOOL) Se
1dd50 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d  ndMessage(w, LVM
1dd60 5f 45 4e 53 55 52 45 56 49 53 49 42 4c 45 2c 20  _ENSUREVISIBLE, 
1dd70 69 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28 63 61  i, MAKELPARAM(ca
1dd80 73 74 28 75 73 68 6f 72 74 29 66 2c 20 30 29 29  st(ushort)f, 0))
1dd90 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69 73  ;..}....BOOL Lis
1dda0 74 56 69 65 77 5f 53 63 72 6f 6c 6c 28 48 57 4e  tView_Scroll(HWN
1ddb0 44 20 77 2c 20 69 6e 74 20 64 78 2c 20 69 6e 74  D w, int dx, int
1ddc0 20 64 79 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20   dy) {...return 
1ddd0 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
1dde0 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 43  essage(w, LVM_SC
1ddf0 52 4f 4c 4c 2c 20 64 78 2c 20 64 79 29 3b 0d 0a  ROLL, dx, dy);..
1de00 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69 73 74 56 69  }....BOOL ListVi
1de10 65 77 5f 52 65 64 72 61 77 49 74 65 6d 73 28 48  ew_RedrawItems(H
1de20 57 4e 44 20 77 2c 20 69 6e 74 20 66 2c 20 69 6e  WND w, int f, in
1de30 74 20 6c 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  t l) {...return 
1de40 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
1de50 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 52 45  essage(w, LVM_RE
1de60 44 52 41 57 49 54 45 4d 53 2c 20 66 2c 20 6c 29  DRAWITEMS, f, l)
1de70 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69 73  ;..}....BOOL Lis
1de80 74 56 69 65 77 5f 41 72 72 61 6e 67 65 28 48 57  tView_Arrange(HW
1de90 4e 44 20 77 2c 20 55 49 4e 54 20 63 29 20 7b 0d  ND w, UINT c) {.
1dea0 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f  ..return cast(BO
1deb0 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  OL) SendMessage(
1dec0 77 2c 20 4c 56 4d 5f 41 52 52 41 4e 47 45 2c 20  w, LVM_ARRANGE, 
1ded0 63 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 48 57 4e  c, 0);..}....HWN
1dee0 44 20 4c 69 73 74 56 69 65 77 5f 45 64 69 74 4c  D ListView_EditL
1def0 61 62 65 6c 28 48 57 4e 44 20 77 2c 20 69 6e 74  abel(HWND w, int
1df00 20 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63   i) {...return c
1df10 61 73 74 28 48 57 4e 44 29 20 53 65 6e 64 4d 65  ast(HWND) SendMe
1df20 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 45 44 49  ssage(w, LVM_EDI
1df30 54 4c 41 42 45 4c 2c 20 69 2c 20 30 29 3b 0d 0a  TLABEL, i, 0);..
1df40 7d 0d 0a 0d 0a 48 57 4e 44 20 4c 69 73 74 56 69  }....HWND ListVi
1df50 65 77 5f 47 65 74 45 64 69 74 43 6f 6e 74 72 6f  ew_GetEditContro
1df60 6c 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 72 65  l(HWND w) {...re
1df70 74 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29 20  turn cast(HWND) 
1df80 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c  SendMessage(w, L
1df90 56 4d 5f 47 45 54 45 44 49 54 43 4f 4e 54 52 4f  VM_GETEDITCONTRO
1dfa0 4c 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a  L, 0, 0);..}....
1dfb0 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 47 65  BOOL ListView_Ge
1dfc0 74 43 6f 6c 75 6d 6e 28 48 57 4e 44 20 77 2c 20  tColumn(HWND w, 
1dfd0 69 6e 74 20 69 2c 20 4c 50 4c 56 43 4f 4c 55 4d  int i, LPLVCOLUM
1dfe0 4e 20 70 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  N p) {...return 
1dff0 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
1e000 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45  essage(w, LVM_GE
1e010 54 43 4f 4c 55 4d 4e 2c 20 69 2c 20 63 61 73 74  TCOLUMN, i, cast
1e020 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a 7d 0d  (LPARAM) p);..}.
1e030 0a 0d 0a 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77  ...BOOL ListView
1e040 5f 53 65 74 43 6f 6c 75 6d 6e 28 48 57 4e 44 20  _SetColumn(HWND 
1e050 77 2c 20 69 6e 74 20 69 2c 20 63 6f 6e 73 74 28  w, int i, const(
1e060 4c 56 5f 43 4f 4c 55 4d 4e 29 2a 20 70 29 20 7b  LV_COLUMN)* p) {
1e070 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 42  ...return cast(B
1e080 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65  OOL) SendMessage
1e090 28 77 2c 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d  (w, LVM_SETCOLUM
1e0a0 4e 2c 20 69 2c 20 63 61 73 74 28 4c 50 41 52 41  N, i, cast(LPARA
1e0b0 4d 29 20 70 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74  M) p);..}....int
1e0c0 20 4c 69 73 74 56 69 65 77 5f 49 6e 73 65 72 74   ListView_Insert
1e0d0 43 6f 6c 75 6d 6e 28 48 57 4e 44 20 77 2c 20 69  Column(HWND w, i
1e0e0 6e 74 20 69 2c 20 63 6f 6e 73 74 28 4c 56 5f 43  nt i, const(LV_C
1e0f0 4f 4c 55 4d 4e 29 2a 20 70 29 20 7b 0d 0a 09 72  OLUMN)* p) {...r
1e100 65 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29 20  eturn cast(int) 
1e110 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c  SendMessage(w, L
1e120 56 4d 5f 49 4e 53 45 52 54 43 4f 4c 55 4d 4e 2c  VM_INSERTCOLUMN,
1e130 20 69 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29   i, cast(LPARAM)
1e140 20 70 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20   p);..}....BOOL 
1e150 4c 69 73 74 56 69 65 77 5f 44 65 6c 65 74 65 43  ListView_DeleteC
1e160 6f 6c 75 6d 6e 28 48 57 4e 44 20 77 2c 20 69 6e  olumn(HWND w, in
1e170 74 20 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  t i) {...return 
1e180 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
1e190 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 44 45  essage(w, LVM_DE
1e1a0 4c 45 54 45 43 4f 4c 55 4d 4e 2c 20 69 2c 20 30  LETECOLUMN, i, 0
1e1b0 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 4c 69 73  );..}....int Lis
1e1c0 74 56 69 65 77 5f 47 65 74 43 6f 6c 75 6d 6e 57  tView_GetColumnW
1e1d0 69 64 74 68 28 48 57 4e 44 20 77 2c 20 69 6e 74  idth(HWND w, int
1e1e0 20 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63   i) {...return c
1e1f0 61 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73  ast(int) SendMes
1e200 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 43  sage(w, LVM_GETC
1e210 4f 4c 55 4d 4e 57 49 44 54 48 2c 20 69 2c 20 30  OLUMNWIDTH, i, 0
1e220 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69  );..}....BOOL Li
1e230 73 74 56 69 65 77 5f 53 65 74 43 6f 6c 75 6d 6e  stView_SetColumn
1e240 57 69 64 74 68 28 48 57 4e 44 20 77 2c 20 69 6e  Width(HWND w, in
1e250 74 20 69 2c 20 69 6e 74 20 78 29 20 7b 0d 0a 09  t i, int x) {...
1e260 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c  return cast(BOOL
1e270 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1e280 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 49   LVM_SETCOLUMNWI
1e290 44 54 48 2c 20 69 2c 20 4d 41 4b 45 4c 50 41 52  DTH, i, MAKELPAR
1e2a0 41 4d 28 63 61 73 74 28 75 73 68 6f 72 74 29 78  AM(cast(ushort)x
1e2b0 2c 20 30 29 29 3b 0d 0a 7d 0d 0a 0d 0a 48 49 4d  , 0));..}....HIM
1e2c0 41 47 45 4c 49 53 54 20 4c 69 73 74 56 69 65 77  AGELIST ListView
1e2d0 5f 43 72 65 61 74 65 44 72 61 67 49 6d 61 67 65  _CreateDragImage
1e2e0 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20  (HWND w, int i, 
1e2f0 4c 50 50 4f 49 4e 54 20 70 29 20 7b 0d 0a 09 72  LPPOINT p) {...r
1e300 65 74 75 72 6e 20 63 61 73 74 28 48 49 4d 41 47  eturn cast(HIMAG
1e310 45 4c 49 53 54 29 20 53 65 6e 64 4d 65 73 73 61  ELIST) SendMessa
1e320 67 65 28 77 2c 20 4c 56 4d 5f 43 52 45 41 54 45  ge(w, LVM_CREATE
1e330 44 52 41 47 49 4d 41 47 45 2c 20 69 2c 0d 0a 09  DRAGIMAGE, i,...
1e340 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70    cast(LPARAM) p
1e350 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69  );..}....BOOL Li
1e360 73 74 56 69 65 77 5f 47 65 74 56 69 65 77 52 65  stView_GetViewRe
1e370 63 74 28 48 57 4e 44 20 77 2c 20 52 45 43 54 2a  ct(HWND w, RECT*
1e380 20 70 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63   p) {...return c
1e390 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
1e3a0 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54  ssage(w, LVM_GET
1e3b0 56 49 45 57 52 45 43 54 2c 20 30 2c 20 63 61 73  VIEWRECT, 0, cas
1e3c0 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a 7d  t(LPARAM) p);..}
1e3d0 0d 0a 0d 0a 43 4f 4c 4f 52 52 45 46 20 4c 69 73  ....COLORREF Lis
1e3e0 74 56 69 65 77 5f 47 65 74 54 65 78 74 43 6f 6c  tView_GetTextCol
1e3f0 6f 72 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 72  or(HWND w) {...r
1e400 65 74 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52  eturn cast(COLOR
1e410 52 45 46 29 20 53 65 6e 64 4d 65 73 73 61 67 65  REF) SendMessage
1e420 28 77 2c 20 4c 56 4d 5f 47 45 54 54 45 58 54 43  (w, LVM_GETTEXTC
1e430 4f 4c 4f 52 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  OLOR, 0, 0);..}.
1e440 0a 0d 0a 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77  ...BOOL ListView
1e450 5f 53 65 74 54 65 78 74 43 6f 6c 6f 72 28 48 57  _SetTextColor(HW
1e460 4e 44 20 77 2c 20 43 4f 4c 4f 52 52 45 46 20 63  ND w, COLORREF c
1e470 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73  ) {...return cas
1e480 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73  t(BOOL) SendMess
1e490 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 54 45  age(w, LVM_SETTE
1e4a0 58 54 43 4f 4c 4f 52 2c 20 30 2c 20 63 61 73 74  XTCOLOR, 0, cast
1e4b0 28 4c 50 41 52 41 4d 29 20 63 29 3b 0d 0a 7d 0d  (LPARAM) c);..}.
1e4c0 0a 0d 0a 43 4f 4c 4f 52 52 45 46 20 4c 69 73 74  ...COLORREF List
1e4d0 56 69 65 77 5f 47 65 74 54 65 78 74 42 6b 43 6f  View_GetTextBkCo
1e4e0 6c 6f 72 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09  lor(HWND w) {...
1e4f0 72 65 74 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f  return cast(COLO
1e500 52 52 45 46 29 20 53 65 6e 64 4d 65 73 73 61 67  RREF) SendMessag
1e510 65 28 77 2c 20 4c 56 4d 5f 47 45 54 54 45 58 54  e(w, LVM_GETTEXT
1e520 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20 30 29 3b 0d  BKCOLOR, 0, 0);.
1e530 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69 73 74 56  .}....BOOL ListV
1e540 69 65 77 5f 53 65 74 54 65 78 74 42 6b 43 6f 6c  iew_SetTextBkCol
1e550 6f 72 28 48 57 4e 44 20 77 2c 20 43 4f 4c 4f 52  or(HWND w, COLOR
1e560 52 45 46 20 63 29 20 7b 0d 0a 09 72 65 74 75 72  REF c) {...retur
1e570 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
1e580 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
1e590 53 45 54 54 45 58 54 42 4b 43 4f 4c 4f 52 2c 20  SETTEXTBKCOLOR, 
1e5a0 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  0, cast(LPARAM) 
1e5b0 63 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 4c 69  c);..}....int Li
1e5c0 73 74 56 69 65 77 5f 47 65 74 54 6f 70 49 6e 64  stView_GetTopInd
1e5d0 65 78 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 72  ex(HWND w) {...r
1e5e0 65 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29 20  eturn cast(int) 
1e5f0 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c  SendMessage(w, L
1e600 56 4d 5f 47 45 54 54 4f 50 49 4e 44 45 58 2c 20  VM_GETTOPINDEX, 
1e610 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74  0, 0);..}....int
1e620 20 4c 69 73 74 56 69 65 77 5f 47 65 74 43 6f 75   ListView_GetCou
1e630 6e 74 50 65 72 50 61 67 65 28 48 57 4e 44 20 77  ntPerPage(HWND w
1e640 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73  ) {...return cas
1e650 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 73 61  t(int) SendMessa
1e660 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 43 4f 55  ge(w, LVM_GETCOU
1e670 4e 54 50 45 52 50 41 47 45 2c 20 30 2c 20 30 29  NTPERPAGE, 0, 0)
1e680 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69 73  ;..}....BOOL Lis
1e690 74 56 69 65 77 5f 47 65 74 4f 72 69 67 69 6e 28  tView_GetOrigin(
1e6a0 48 57 4e 44 20 77 2c 20 4c 50 50 4f 49 4e 54 20  HWND w, LPPOINT 
1e6b0 70 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  p) {...return ca
1e6c0 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
1e6d0 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 4f  sage(w, LVM_GETO
1e6e0 52 49 47 49 4e 2c 20 30 2c 20 63 61 73 74 28 4c  RIGIN, 0, cast(L
1e6f0 50 41 52 41 4d 29 20 70 29 3b 0d 0a 7d 0d 0a 0d  PARAM) p);..}...
1e700 0a 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 55  .BOOL ListView_U
1e710 70 64 61 74 65 28 48 57 4e 44 20 77 2c 20 57 50  pdate(HWND w, WP
1e720 41 52 41 4d 20 69 29 20 7b 0d 0a 09 72 65 74 75  ARAM i) {...retu
1e730 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65  rn cast(BOOL) Se
1e740 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d  ndMessage(w, LVM
1e750 5f 55 50 44 41 54 45 2c 20 69 2c 20 30 29 3b 0d  _UPDATE, i, 0);.
1e760 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 4c 69 73 74 56  .}....void ListV
1e770 69 65 77 5f 53 65 74 49 74 65 6d 53 74 61 74 65  iew_SetItemState
1e780 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20  (HWND w, int i, 
1e790 55 49 4e 54 20 64 2c 20 55 49 4e 54 20 6d 29 20  UINT d, UINT m) 
1e7a0 7b 0d 0a 09 4c 56 5f 49 54 45 4d 20 5f 6c 76 69  {...LV_ITEM _lvi
1e7b0 3b 0d 0a 09 5f 6c 76 69 2e 73 74 61 74 65 4d 61  ;..._lvi.stateMa
1e7c0 73 6b 20 3d 20 6d 3b 0d 0a 09 5f 6c 76 69 2e 73  sk = m;..._lvi.s
1e7d0 74 61 74 65 20 3d 20 64 3b 0d 0a 09 53 65 6e 64  tate = d;...Send
1e7e0 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53  Message(w, LVM_S
1e7f0 45 54 49 54 45 4d 53 54 41 54 45 2c 20 69 2c 20  ETITEMSTATE, i, 
1e800 63 61 73 74 28 4c 50 41 52 41 4d 29 20 26 5f 6c  cast(LPARAM) &_l
1e810 76 69 29 3b 0d 0a 7d 0d 0a 0d 0a 55 49 4e 54 20  vi);..}....UINT 
1e820 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74 65 6d  ListView_GetItem
1e830 53 74 61 74 65 28 48 57 4e 44 20 77 2c 20 69 6e  State(HWND w, in
1e840 74 20 69 2c 20 55 49 4e 54 20 6d 29 20 7b 0d 0a  t i, UINT m) {..
1e850 09 72 65 74 75 72 6e 20 63 61 73 74 28 55 49 4e  .return cast(UIN
1e860 54 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  T) SendMessage(w
1e870 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d 53 54 41  , LVM_GETITEMSTA
1e880 54 45 2c 20 69 2c 20 6d 29 3b 0d 0a 7d 0d 0a 0d  TE, i, m);..}...
1e890 0a 76 6f 69 64 20 4c 69 73 74 56 69 65 77 5f 47  .void ListView_G
1e8a0 65 74 49 74 65 6d 54 65 78 74 28 48 57 4e 44 20  etItemText(HWND 
1e8b0 77 2c 20 69 6e 74 20 69 2c 20 69 6e 74 20 69 53  w, int i, int iS
1e8c0 2c 20 4c 50 54 53 54 52 20 73 2c 20 69 6e 74 20  , LPTSTR s, int 
1e8d0 6e 29 20 7b 0d 0a 09 4c 56 5f 49 54 45 4d 20 5f  n) {...LV_ITEM _
1e8e0 6c 76 69 3b 0d 0a 09 5f 6c 76 69 2e 69 53 75 62  lvi;..._lvi.iSub
1e8f0 49 74 65 6d 20 3d 20 69 53 3b 0d 0a 09 5f 6c 76  Item = iS;..._lv
1e900 69 2e 63 63 68 54 65 78 74 4d 61 78 20 3d 20 6e  i.cchTextMax = n
1e910 3b 0d 0a 09 5f 6c 76 69 2e 70 73 7a 54 65 78 74  ;..._lvi.pszText
1e920 20 3d 20 73 3b 0d 0a 09 53 65 6e 64 4d 65 73 73   = s;...SendMess
1e930 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 49 54  age(w, LVM_GETIT
1e940 45 4d 54 45 58 54 2c 20 69 2c 20 63 61 73 74 28  EMTEXT, i, cast(
1e950 4c 50 41 52 41 4d 29 20 26 5f 6c 76 69 29 3b 0d  LPARAM) &_lvi);.
1e960 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 4c 69 73 74 56  .}....void ListV
1e970 69 65 77 5f 53 65 74 49 74 65 6d 54 65 78 74 28  iew_SetItemText(
1e980 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 69  HWND w, int i, i
1e990 6e 74 20 69 53 2c 20 4c 50 54 53 54 52 20 73 29  nt iS, LPTSTR s)
1e9a0 20 7b 0d 0a 09 4c 56 5f 49 54 45 4d 20 5f 6c 76   {...LV_ITEM _lv
1e9b0 69 3b 0d 0a 09 5f 6c 76 69 2e 69 53 75 62 49 74  i;..._lvi.iSubIt
1e9c0 65 6d 20 3d 20 69 53 3b 0d 0a 09 5f 6c 76 69 2e  em = iS;..._lvi.
1e9d0 70 73 7a 54 65 78 74 20 3d 20 73 3b 0d 0a 09 53  pszText = s;...S
1e9e0 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56  endMessage(w, LV
1e9f0 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 2c 20 69  M_SETITEMTEXT, i
1ea00 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 26  , cast(LPARAM) &
1ea10 5f 6c 76 69 29 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69  _lvi);..}....voi
1ea20 64 20 4c 69 73 74 56 69 65 77 5f 53 65 74 49 74  d ListView_SetIt
1ea30 65 6d 43 6f 75 6e 74 28 48 57 4e 44 20 77 2c 20  emCount(HWND w, 
1ea40 69 6e 74 20 6e 29 20 7b 0d 0a 09 53 65 6e 64 4d  int n) {...SendM
1ea50 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45  essage(w, LVM_SE
1ea60 54 49 54 45 4d 43 4f 55 4e 54 2c 20 6e 2c 20 30  TITEMCOUNT, n, 0
1ea70 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69  );..}....BOOL Li
1ea80 73 74 56 69 65 77 5f 53 6f 72 74 49 74 65 6d 73  stView_SortItems
1ea90 28 48 57 4e 44 20 77 2c 20 50 46 4e 4c 56 43 4f  (HWND w, PFNLVCO
1eaa0 4d 50 41 52 45 20 66 2c 20 4c 50 41 52 41 4d 20  MPARE f, LPARAM 
1eab0 6c 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  l) {...return ca
1eac0 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
1ead0 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 4f 52 54  sage(w, LVM_SORT
1eae0 49 54 45 4d 53 2c 20 6c 2c 20 63 61 73 74 28 4c  ITEMS, l, cast(L
1eaf0 50 41 52 41 4d 29 20 66 29 3b 0d 0a 7d 0d 0a 0d  PARAM) f);..}...
1eb00 0a 76 6f 69 64 20 4c 69 73 74 56 69 65 77 5f 53  .void ListView_S
1eb10 65 74 49 74 65 6d 50 6f 73 69 74 69 6f 6e 33 32  etItemPosition32
1eb20 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20  (HWND w, int i, 
1eb30 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 0d  int x, int y) {.
1eb40 0a 09 50 4f 49 4e 54 20 70 3b 0d 0a 09 70 2e 78  ..POINT p;...p.x
1eb50 20 3d 20 78 3b 0d 0a 09 70 2e 79 20 3d 20 79 3b   = x;...p.y = y;
1eb60 0d 0a 09 53 65 6e 64 4d 65 73 73 61 67 65 28 77  ...SendMessage(w
1eb70 2c 20 4c 56 4d 5f 53 45 54 49 54 45 4d 50 4f 53  , LVM_SETITEMPOS
1eb80 49 54 49 4f 4e 33 32 2c 20 69 2c 20 63 61 73 74  ITION32, i, cast
1eb90 28 4c 50 41 52 41 4d 29 20 26 70 29 3b 0d 0a 7d  (LPARAM) &p);..}
1eba0 0d 0a 0d 0a 55 49 4e 54 20 4c 69 73 74 56 69 65  ....UINT ListVie
1ebb0 77 5f 47 65 74 53 65 6c 65 63 74 65 64 43 6f 75  w_GetSelectedCou
1ebc0 6e 74 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 72  nt(HWND w) {...r
1ebd0 65 74 75 72 6e 20 63 61 73 74 28 55 49 4e 54 29  eturn cast(UINT)
1ebe0 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20   SendMessage(w, 
1ebf0 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 45 44 43  LVM_GETSELECTEDC
1ec00 4f 55 4e 54 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  OUNT, 0, 0);..}.
1ec10 0a 0d 0a 55 49 4e 54 20 4c 69 73 74 56 69 65 77  ...UINT ListView
1ec20 5f 47 65 74 43 68 65 63 6b 53 74 61 74 65 28 48  _GetCheckState(H
1ec30 57 4e 44 20 77 2c 20 55 49 4e 54 20 69 29 20 7b  WND w, UINT i) {
1ec40 0d 0a 09 72 65 74 75 72 6e 20 28 28 63 61 73 74  ...return ((cast
1ec50 28 55 49 4e 54 29 20 53 65 6e 64 4d 65 73 73 61  (UINT) SendMessa
1ec60 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 49 54 45  ge(w, LVM_GETITE
1ec70 4d 53 54 41 54 45 2c 20 69 2c 20 4c 56 49 53 5f  MSTATE, i, LVIS_
1ec80 53 54 41 54 45 49 4d 41 47 45 4d 41 53 4b 29 29  STATEIMAGEMASK))
1ec90 20 3e 3e 20 31 32 29 20 2d 20 31 3b 0d 0a 7d 0d   >> 12) - 1;..}.
1eca0 0a 0d 0a 76 6f 69 64 20 4c 69 73 74 56 69 65 77  ...void ListView
1ecb0 5f 53 65 74 43 68 65 63 6b 53 74 61 74 65 28 48  _SetCheckState(H
1ecc0 57 4e 44 20 77 2c 20 55 49 4e 54 20 69 2c 20 42  WND w, UINT i, B
1ecd0 4f 4f 4c 20 66 29 20 7b 0d 0a 09 4c 69 73 74 56  OOL f) {...ListV
1ece0 69 65 77 5f 53 65 74 49 74 65 6d 53 74 61 74 65  iew_SetItemState
1ecf0 28 77 2c 20 69 2c 20 49 4e 44 45 58 54 4f 53 54  (w, i, INDEXTOST
1ed00 41 54 45 49 4d 41 47 45 4d 41 53 4b 28 66 20 3f  ATEIMAGEMASK(f ?
1ed10 20 32 20 3a 20 31 29 2c 0d 0a 09 20 20 4c 56 49   2 : 1),...  LVI
1ed20 53 5f 53 54 41 54 45 49 4d 41 47 45 4d 41 53 4b  S_STATEIMAGEMASK
1ed30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4c 69  );..}....BOOL Li
1ed40 73 74 56 69 65 77 5f 47 65 74 49 53 65 61 72 63  stView_GetISearc
1ed50 68 53 74 72 69 6e 67 28 48 57 4e 44 20 77 2c 20  hString(HWND w, 
1ed60 4c 50 53 54 52 20 6c 70 73 7a 29 20 7b 0d 0a 09  LPSTR lpsz) {...
1ed70 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c  return cast(BOOL
1ed80 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1ed90 20 4c 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53   LVM_GETISEARCHS
1eda0 54 52 49 4e 47 2c 20 30 2c 0d 0a 09 20 20 63 61  TRING, 0,...  ca
1edb0 73 74 28 4c 50 41 52 41 4d 29 20 6c 70 73 7a 29  st(LPARAM) lpsz)
1edc0 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 4c 69 73  ;..}....void Lis
1edd0 74 56 69 65 77 5f 43 61 6e 63 65 6c 45 64 69 74  tView_CancelEdit
1ede0 4c 61 62 65 6c 28 48 57 4e 44 20 77 29 20 7b 0d  Label(HWND w) {.
1edf0 0a 09 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ..SendMessage(w,
1ee00 20 4c 56 4d 5f 43 41 4e 43 45 4c 45 44 49 54 4c   LVM_CANCELEDITL
1ee10 41 42 45 4c 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  ABEL, 0, 0);..}.
1ee20 0a 0d 0a 69 6e 74 20 4c 69 73 74 56 69 65 77 5f  ...int ListView_
1ee30 45 6e 61 62 6c 65 47 72 6f 75 70 56 69 65 77 28  EnableGroupView(
1ee40 48 57 4e 44 20 77 2c 20 42 4f 4f 4c 20 69 29 20  HWND w, BOOL i) 
1ee50 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28  {...return cast(
1ee60 69 6e 74 29 20 53 65 6e 64 4d 65 73 73 61 67 65  int) SendMessage
1ee70 28 77 2c 20 4c 56 4d 5f 45 4e 41 42 4c 45 47 52  (w, LVM_ENABLEGR
1ee80 4f 55 50 56 49 45 57 2c 20 69 2c 20 30 29 3b 0d  OUPVIEW, i, 0);.
1ee90 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20  .}....static if 
1eea0 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
1eeb0 20 30 78 35 30 30 20 7c 7c 20 5f 57 49 4e 33 32   0x500 || _WIN32
1eec0 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d  _IE >= 0x500) {.
1eed0 0a 09 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f  ..BOOL ListView_
1eee0 53 6f 72 74 49 74 65 6d 73 45 78 28 48 57 4e 44  SortItemsEx(HWND
1eef0 20 77 2c 20 50 46 4e 4c 56 43 4f 4d 50 41 52 45   w, PFNLVCOMPARE
1ef00 20 63 2c 20 4c 50 41 52 41 4d 20 70 29 20 7b 0d   c, LPARAM p) {.
1ef10 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 42  ...return cast(B
1ef20 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65  OOL) SendMessage
1ef30 28 77 2c 20 4c 56 4d 5f 53 4f 52 54 49 54 45 4d  (w, LVM_SORTITEM
1ef40 53 45 58 2c 20 63 61 73 74 28 57 50 41 52 41 4d  SEX, cast(WPARAM
1ef50 29 20 70 2c 20 63 61 73 74 28 4c 50 41 52 41 4d  ) p, cast(LPARAM
1ef60 29 63 29 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73  )c);...}..}....s
1ef70 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32  tatic if (_WIN32
1ef80 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29  _WINNT >= 0x501)
1ef90 20 7b 0d 0a 09 69 6e 74 20 4c 69 73 74 56 69 65   {...int ListVie
1efa0 77 5f 47 65 74 47 72 6f 75 70 49 6e 66 6f 28 48  w_GetGroupInfo(H
1efb0 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 50 4c  WND w, int i, PL
1efc0 56 47 52 4f 55 50 20 70 29 20 7b 0d 0a 09 09 72  VGROUP p) {....r
1efd0 65 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29 20  eturn cast(int) 
1efe0 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c  SendMessage(w, L
1eff0 56 4d 5f 47 45 54 47 52 4f 55 50 49 4e 46 4f 2c  VM_GETGROUPINFO,
1f000 20 69 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29   i, cast(LPARAM)
1f010 20 70 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 76 6f 69   p);...}.....voi
1f020 64 20 4c 69 73 74 56 69 65 77 5f 47 65 74 47 72  d ListView_GetGr
1f030 6f 75 70 4d 65 74 72 69 63 73 28 48 57 4e 44 20  oupMetrics(HWND 
1f040 77 2c 20 50 4c 56 47 52 4f 55 50 4d 45 54 52 49  w, PLVGROUPMETRI
1f050 43 53 20 70 29 20 7b 0d 0a 09 09 53 65 6e 64 4d  CS p) {....SendM
1f060 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45  essage(w, LVM_GE
1f070 54 47 52 4f 55 50 4d 45 54 52 49 43 53 2c 20 30  TGROUPMETRICS, 0
1f080 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70  , cast(LPARAM) p
1f090 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20  );...}.....BOOL 
1f0a0 4c 69 73 74 56 69 65 77 5f 47 65 74 49 6e 73 65  ListView_GetInse
1f0b0 72 74 4d 61 72 6b 28 48 57 4e 44 20 77 2c 20 50  rtMark(HWND w, P
1f0c0 4c 56 49 4e 53 45 52 54 4d 41 52 4b 20 70 29 20  LVINSERTMARK p) 
1f0d0 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
1f0e0 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
1f0f0 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 49 4e 53  ge(w, LVM_GETINS
1f100 45 52 54 4d 41 52 4b 2c 20 30 2c 20 63 61 73 74  ERTMARK, 0, cast
1f110 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a 09 7d  (LPARAM) p);...}
1f120 0d 0a 0d 0a 09 43 4f 4c 4f 52 52 45 46 20 4c 69  .....COLORREF Li
1f130 73 74 56 69 65 77 5f 47 65 74 49 6e 73 65 72 74  stView_GetInsert
1f140 4d 61 72 6b 43 6f 6c 6f 72 28 48 57 4e 44 20 77  MarkColor(HWND w
1f150 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
1f160 73 74 28 43 4f 4c 4f 52 52 45 46 29 20 53 65 6e  st(COLORREF) Sen
1f170 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
1f180 47 45 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c  GETINSERTMARKCOL
1f190 4f 52 2c 20 30 2c 20 30 29 3b 0d 0a 09 7d 0d 0a  OR, 0, 0);...}..
1f1a0 0d 0a 09 69 6e 74 20 4c 69 73 74 56 69 65 77 5f  ...int ListView_
1f1b0 47 65 74 49 6e 73 65 72 74 4d 61 72 6b 52 65 63  GetInsertMarkRec
1f1c0 74 28 48 57 4e 44 20 77 2c 20 4c 50 52 45 43 54  t(HWND w, LPRECT
1f1d0 20 70 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20   p) {....return 
1f1e0 63 61 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65  cast(int) SendMe
1f1f0 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54  ssage(w, LVM_GET
1f200 49 4e 53 45 52 54 4d 41 52 4b 52 45 43 54 2c 20  INSERTMARKRECT, 
1f210 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  0, cast(LPARAM) 
1f220 70 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 43 4f 4c 4f  p);...}.....COLO
1f230 52 52 45 46 20 4c 69 73 74 56 69 65 77 5f 47 65  RREF ListView_Ge
1f240 74 4f 75 74 6c 69 6e 65 43 6f 6c 6f 72 28 48 57  tOutlineColor(HW
1f250 4e 44 20 77 29 20 7b 0d 0a 09 09 72 65 74 75 72  ND w) {....retur
1f260 6e 20 63 61 73 74 28 43 4f 4c 4f 52 52 45 46 29  n cast(COLORREF)
1f270 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20   SendMessage(w, 
1f280 4c 56 4d 5f 47 45 54 4f 55 54 4c 49 4e 45 43 4f  LVM_GETOUTLINECO
1f290 4c 4f 52 2c 20 30 2c 20 30 29 3b 0d 0a 09 7d 0d  LOR, 0, 0);...}.
1f2a0 0a 0d 0a 09 55 49 4e 54 20 4c 69 73 74 56 69 65  ....UINT ListVie
1f2b0 77 5f 47 65 74 53 65 6c 65 63 74 65 64 43 6f 6c  w_GetSelectedCol
1f2c0 75 6d 6e 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09  umn(HWND w) {...
1f2d0 09 72 65 74 75 72 6e 20 63 61 73 74 28 55 49 4e  .return cast(UIN
1f2e0 54 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  T) SendMessage(w
1f2f0 2c 20 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 45  , LVM_GETSELECTE
1f300 44 43 4f 4c 55 4d 4e 2c 20 30 2c 20 30 29 3b 0d  DCOLUMN, 0, 0);.
1f310 0a 09 7d 0d 0a 0d 0a 09 76 6f 69 64 20 4c 69 73  ..}.....void Lis
1f320 74 56 69 65 77 5f 47 65 74 54 69 6c 65 49 6e 66  tView_GetTileInf
1f330 6f 28 48 57 4e 44 20 77 2c 20 50 4c 56 54 49 4c  o(HWND w, PLVTIL
1f340 45 49 4e 46 4f 20 70 29 20 7b 0d 0a 09 09 53 65  EINFO p) {....Se
1f350 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d  ndMessage(w, LVM
1f360 5f 47 45 54 54 49 4c 45 49 4e 46 4f 2c 20 30 2c  _GETTILEINFO, 0,
1f370 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29   cast(LPARAM) p)
1f380 3b 0d 0a 09 7d 0d 0a 0d 0a 09 76 6f 69 64 20 4c  ;...}.....void L
1f390 69 73 74 56 69 65 77 5f 47 65 74 54 69 6c 65 56  istView_GetTileV
1f3a0 69 65 77 49 6e 66 6f 28 48 57 4e 44 20 77 2c 20  iewInfo(HWND w, 
1f3b0 50 4c 56 54 49 4c 45 56 49 45 57 49 4e 46 4f 20  PLVTILEVIEWINFO 
1f3c0 70 29 20 7b 0d 0a 09 09 53 65 6e 64 4d 65 73 73  p) {....SendMess
1f3d0 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 54 49  age(w, LVM_GETTI
1f3e0 4c 45 56 49 45 57 49 4e 46 4f 2c 20 30 2c 20 63  LEVIEWINFO, 0, c
1f3f0 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d  ast(LPARAM) p);.
1f400 0a 09 7d 0d 0a 0d 0a 09 44 57 4f 52 44 20 4c 69  ..}.....DWORD Li
1f410 73 74 56 69 65 77 5f 47 65 74 56 69 65 77 28 48  stView_GetView(H
1f420 57 4e 44 20 77 29 20 7b 0d 0a 09 09 72 65 74 75  WND w) {....retu
1f430 72 6e 20 63 61 73 74 28 44 57 4f 52 44 29 20 53  rn cast(DWORD) S
1f440 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56  endMessage(w, LV
1f450 4d 5f 47 45 54 56 49 45 57 2c 20 30 2c 20 30 29  M_GETVIEW, 0, 0)
1f460 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 4c  ;...}.....BOOL L
1f470 69 73 74 56 69 65 77 5f 48 61 73 47 72 6f 75 70  istView_HasGroup
1f480 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 29 20  (HWND w, int i) 
1f490 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
1f4a0 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
1f4b0 67 65 28 77 2c 20 4c 56 4d 5f 48 41 53 47 52 4f  ge(w, LVM_HASGRO
1f4c0 55 50 2c 20 69 2c 20 30 29 3b 0d 0a 09 7d 0d 0a  UP, i, 0);...}..
1f4d0 0d 0a 09 69 6e 74 20 4c 69 73 74 56 69 65 77 5f  ...int ListView_
1f4e0 49 6e 73 65 72 74 47 72 6f 75 70 28 48 57 4e 44  InsertGroup(HWND
1f4f0 20 77 2c 20 69 6e 74 20 69 2c 20 50 4c 56 47 52   w, int i, PLVGR
1f500 4f 55 50 20 70 29 20 7b 0d 0a 09 09 72 65 74 75  OUP p) {....retu
1f510 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53 65 6e  rn cast(int) Sen
1f520 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
1f530 49 4e 53 45 52 54 47 52 4f 55 50 2c 20 69 2c 20  INSERTGROUP, i, 
1f540 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b  cast(LPARAM) p);
1f550 0d 0a 09 7d 0d 0a 0d 0a 09 76 6f 69 64 20 4c 69  ...}.....void Li
1f560 73 74 56 69 65 77 5f 49 6e 73 65 72 74 47 72 6f  stView_InsertGro
1f570 75 70 53 6f 72 74 65 64 28 48 57 4e 44 20 77 2c  upSorted(HWND w,
1f580 20 50 4c 56 49 4e 53 45 52 54 47 52 4f 55 50 53   PLVINSERTGROUPS
1f590 4f 52 54 45 44 20 70 29 20 7b 0d 0a 09 09 53 65  ORTED p) {....Se
1f5a0 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d  ndMessage(w, LVM
1f5b0 5f 49 4e 53 45 52 54 47 52 4f 55 50 53 4f 52 54  _INSERTGROUPSORT
1f5c0 45 44 2c 20 63 61 73 74 28 57 50 41 52 41 4d 29  ED, cast(WPARAM)
1f5d0 20 70 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09   p, 0);...}.....
1f5e0 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 49 6e  BOOL ListView_In
1f5f0 73 65 72 74 4d 61 72 6b 48 69 74 54 65 73 74 28  sertMarkHitTest(
1f600 48 57 4e 44 20 77 2c 20 4c 50 50 4f 49 4e 54 20  HWND w, LPPOINT 
1f610 70 2c 20 50 4c 56 49 4e 53 45 52 54 4d 41 52 4b  p, PLVINSERTMARK
1f620 20 74 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20   t) {....return 
1f630 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
1f640 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 49 4e  essage(w, LVM_IN
1f650 53 45 52 54 4d 41 52 4b 48 49 54 54 45 53 54 2c  SERTMARKHITTEST,
1f660 20 63 61 73 74 28 57 50 41 52 41 4d 29 20 70 2c   cast(WPARAM) p,
1f670 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 74 29   cast(LPARAM) t)
1f680 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 4c  ;...}.....BOOL L
1f690 69 73 74 56 69 65 77 5f 49 73 47 72 6f 75 70 56  istView_IsGroupV
1f6a0 69 65 77 45 6e 61 62 6c 65 64 28 48 57 4e 44 20  iewEnabled(HWND 
1f6b0 77 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  w) {....return c
1f6c0 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
1f6d0 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 49 53 47  ssage(w, LVM_ISG
1f6e0 52 4f 55 50 56 49 45 57 45 4e 41 42 4c 45 44 2c  ROUPVIEWENABLED,
1f6f0 20 30 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09   0, 0);...}.....
1f700 55 49 4e 54 20 4c 69 73 74 56 69 65 77 5f 4d 61  UINT ListView_Ma
1f710 70 49 44 54 6f 49 6e 64 65 78 28 48 57 4e 44 20  pIDToIndex(HWND 
1f720 77 2c 20 55 49 4e 54 20 69 29 20 7b 0d 0a 09 09  w, UINT i) {....
1f730 72 65 74 75 72 6e 20 63 61 73 74 28 55 49 4e 54  return cast(UINT
1f740 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
1f750 20 4c 56 4d 5f 4d 41 50 49 44 54 4f 49 4e 44 45   LVM_MAPIDTOINDE
1f760 58 2c 20 69 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d  X, i, 0);...}...
1f770 0a 09 2f 2a 09 3f 3f 3f 20 4d 53 44 4e 20 64 6f  ../*.??? MSDN do
1f780 63 75 6d 65 6e 74 73 20 74 68 69 73 20 61 73 20  cuments this as 
1f790 22 4e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64  "Not implemented
1f7a0 22 2c 20 65 78 63 65 70 74 20 69 6e 20 72 65 6c  ", except in rel
1f7b0 61 74 69 6f 6e 20 74 6f 0d 0a 09 20 2a 09 57 69  ation to... *.Wi
1f7c0 6e 64 6f 77 73 20 43 45 2f 4d 6f 62 69 6c 65 2e  ndows CE/Mobile.
1f7d0 0d 0a 09 20 2a 2f 0d 0a 09 76 6f 69 64 20 4c 69  ... */...void Li
1f7e0 73 74 56 69 65 77 5f 4d 6f 76 65 47 72 6f 75 70  stView_MoveGroup
1f7f0 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20  (HWND w, int i, 
1f800 69 6e 74 20 74 29 20 7b 0d 0a 09 09 53 65 6e 64  int t) {....Send
1f810 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 4d  Message(w, LVM_M
1f820 4f 56 45 47 52 4f 55 50 2c 20 69 2c 20 74 29 3b  OVEGROUP, i, t);
1f830 0d 0a 09 7d 0d 0a 0d 0a 09 76 6f 69 64 20 4c 69  ...}.....void Li
1f840 73 74 56 69 65 77 5f 52 65 6d 6f 76 65 41 6c 6c  stView_RemoveAll
1f850 47 72 6f 75 70 73 28 48 57 4e 44 20 77 29 20 7b  Groups(HWND w) {
1f860 0d 0a 09 09 53 65 6e 64 4d 65 73 73 61 67 65 28  ....SendMessage(
1f870 77 2c 20 4c 56 4d 5f 52 45 4d 4f 56 45 41 4c 4c  w, LVM_REMOVEALL
1f880 47 52 4f 55 50 53 2c 20 30 2c 20 30 29 3b 0d 0a  GROUPS, 0, 0);..
1f890 09 7d 0d 0a 0d 0a 09 69 6e 74 20 4c 69 73 74 56  .}.....int ListV
1f8a0 69 65 77 5f 52 65 6d 6f 76 65 47 72 6f 75 70 28  iew_RemoveGroup(
1f8b0 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 29 20 7b  HWND w, int i) {
1f8c0 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28  ....return cast(
1f8d0 69 6e 74 29 20 53 65 6e 64 4d 65 73 73 61 67 65  int) SendMessage
1f8e0 28 77 2c 20 4c 56 4d 5f 52 45 4d 4f 56 45 47 52  (w, LVM_REMOVEGR
1f8f0 4f 55 50 2c 20 69 2c 20 30 29 3b 0d 0a 09 7d 0d  OUP, i, 0);...}.
1f900 0a 0d 0a 09 69 6e 74 20 4c 69 73 74 56 69 65 77  ....int ListView
1f910 5f 53 65 74 47 72 6f 75 70 49 6e 66 6f 28 48 57  _SetGroupInfo(HW
1f920 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 50 4c 56  ND w, int i, PLV
1f930 47 52 4f 55 50 20 70 29 20 7b 0d 0a 09 09 72 65  GROUP p) {....re
1f940 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53  turn cast(int) S
1f950 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56  endMessage(w, LV
1f960 4d 5f 53 45 54 47 52 4f 55 50 49 4e 46 4f 2c 20  M_SETGROUPINFO, 
1f970 69 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  i, cast(LPARAM) 
1f980 70 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 76 6f 69 64  p);...}.....void
1f990 20 4c 69 73 74 56 69 65 77 5f 53 65 74 47 72 6f   ListView_SetGro
1f9a0 75 70 4d 65 74 72 69 63 73 28 48 57 4e 44 20 77  upMetrics(HWND w
1f9b0 2c 20 50 4c 56 47 52 4f 55 50 4d 45 54 52 49 43  , PLVGROUPMETRIC
1f9c0 53 20 70 29 20 7b 0d 0a 09 09 53 65 6e 64 4d 65  S p) {....SendMe
1f9d0 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54  ssage(w, LVM_SET
1f9e0 47 52 4f 55 50 4d 45 54 52 49 43 53 2c 20 30 2c  GROUPMETRICS, 0,
1f9f0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29   cast(LPARAM) p)
1fa00 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 4c  ;...}.....BOOL L
1fa10 69 73 74 56 69 65 77 5f 53 65 74 49 6e 66 6f 54  istView_SetInfoT
1fa20 69 70 28 48 57 4e 44 20 77 2c 20 50 4c 56 53 45  ip(HWND w, PLVSE
1fa30 54 49 4e 46 4f 54 49 50 20 70 29 20 7b 0d 0a 09  TINFOTIP p) {...
1fa40 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f  .return cast(BOO
1fa50 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  L) SendMessage(w
1fa60 2c 20 4c 56 4d 5f 53 45 54 49 4e 46 4f 54 49 50  , LVM_SETINFOTIP
1fa70 2c 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d  , 0, cast(LPARAM
1fa80 29 20 70 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f  ) p);...}.....BO
1fa90 4f 4c 20 4c 69 73 74 56 69 65 77 5f 53 65 74 49  OL ListView_SetI
1faa0 6e 73 65 72 74 4d 61 72 6b 28 48 57 4e 44 20 77  nsertMark(HWND w
1fab0 2c 20 50 4c 56 49 4e 53 45 52 54 4d 41 52 4b 20  , PLVINSERTMARK 
1fac0 70 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  p) {....return c
1fad0 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
1fae0 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54  ssage(w, LVM_SET
1faf0 49 4e 53 45 52 54 4d 41 52 4b 2c 20 30 2c 20 63  INSERTMARK, 0, c
1fb00 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d  ast(LPARAM) p);.
1fb10 0a 09 7d 0d 0a 0d 0a 09 43 4f 4c 4f 52 52 45 46  ..}.....COLORREF
1fb20 20 4c 69 73 74 56 69 65 77 5f 53 65 74 49 6e 73   ListView_SetIns
1fb30 65 72 74 4d 61 72 6b 43 6f 6c 6f 72 28 48 57 4e  ertMarkColor(HWN
1fb40 44 20 77 2c 20 43 4f 4c 4f 52 52 45 46 20 63 29  D w, COLORREF c)
1fb50 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73   {....return cas
1fb60 74 28 43 4f 4c 4f 52 52 45 46 29 20 53 65 6e 64  t(COLORREF) Send
1fb70 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53  Message(w, LVM_S
1fb80 45 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f  ETINSERTMARKCOLO
1fb90 52 2c 20 30 2c 20 63 29 3b 0d 0a 09 7d 0d 0a 0d  R, 0, c);...}...
1fba0 0a 09 43 4f 4c 4f 52 52 45 46 20 4c 69 73 74 56  ..COLORREF ListV
1fbb0 69 65 77 5f 53 65 74 4f 75 74 6c 69 6e 65 43 6f  iew_SetOutlineCo
1fbc0 6c 6f 72 28 48 57 4e 44 20 77 2c 20 43 4f 4c 4f  lor(HWND w, COLO
1fbd0 52 52 45 46 20 63 29 20 7b 0d 0a 09 09 72 65 74  RREF c) {....ret
1fbe0 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52 52 45  urn cast(COLORRE
1fbf0 46 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  F) SendMessage(w
1fc00 2c 20 4c 56 4d 5f 53 45 54 4f 55 54 4c 49 4e 45  , LVM_SETOUTLINE
1fc10 43 4f 4c 4f 52 2c 20 30 2c 20 63 29 3b 0d 0a 09  COLOR, 0, c);...
1fc20 7d 0d 0a 0d 0a 09 76 6f 69 64 20 4c 69 73 74 56  }.....void ListV
1fc30 69 65 77 5f 53 65 74 53 65 6c 65 63 74 65 64 43  iew_SetSelectedC
1fc40 6f 6c 75 6d 6e 28 48 57 4e 44 20 77 2c 20 69 6e  olumn(HWND w, in
1fc50 74 20 69 29 20 7b 0d 0a 09 09 53 65 6e 64 4d 65  t i) {....SendMe
1fc60 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54  ssage(w, LVM_SET
1fc70 53 45 4c 45 43 54 45 44 43 4f 4c 55 4d 4e 2c 20  SELECTEDCOLUMN, 
1fc80 69 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42  i, 0);...}.....B
1fc90 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 53 65 74  OOL ListView_Set
1fca0 54 69 6c 65 49 6e 66 6f 28 48 57 4e 44 20 77 2c  TileInfo(HWND w,
1fcb0 20 50 4c 56 54 49 4c 45 49 4e 46 4f 20 70 29 20   PLVTILEINFO p) 
1fcc0 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
1fcd0 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
1fce0 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 54 49 4c  ge(w, LVM_SETTIL
1fcf0 45 49 4e 46 4f 2c 20 30 2c 20 63 61 73 74 28 4c  EINFO, 0, cast(L
1fd00 50 41 52 41 4d 29 20 70 29 3b 0d 0a 09 7d 0d 0a  PARAM) p);...}..
1fd10 0d 0a 09 42 4f 4f 4c 20 4c 69 73 74 56 69 65 77  ...BOOL ListView
1fd20 5f 53 65 74 54 69 6c 65 56 69 65 77 49 6e 66 6f  _SetTileViewInfo
1fd30 28 48 57 4e 44 20 77 2c 20 50 4c 56 54 49 4c 45  (HWND w, PLVTILE
1fd40 56 49 45 57 49 4e 46 4f 20 70 29 20 7b 0d 0a 09  VIEWINFO p) {...
1fd50 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f  .return cast(BOO
1fd60 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  L) SendMessage(w
1fd70 2c 20 4c 56 4d 5f 53 45 54 54 49 4c 45 56 49 45  , LVM_SETTILEVIE
1fd80 57 49 4e 46 4f 2c 20 30 2c 20 63 61 73 74 28 4c  WINFO, 0, cast(L
1fd90 50 41 52 41 4d 29 20 70 29 3b 0d 0a 09 7d 0d 0a  PARAM) p);...}..
1fda0 0d 0a 09 69 6e 74 20 4c 69 73 74 56 69 65 77 5f  ...int ListView_
1fdb0 53 65 74 56 69 65 77 28 48 57 4e 44 20 77 2c 20  SetView(HWND w, 
1fdc0 44 57 4f 52 44 20 69 29 20 7b 0d 0a 09 09 72 65  DWORD i) {....re
1fdd0 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53  turn cast(int) S
1fde0 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56  endMessage(w, LV
1fdf0 4d 5f 53 45 54 56 49 45 57 2c 20 69 2c 20 30 29  M_SETVIEW, i, 0)
1fe00 3b 0d 0a 09 7d 0d 0a 0d 0a 09 69 6e 74 20 4c 69  ;...}.....int Li
1fe10 73 74 56 69 65 77 5f 53 6f 72 74 47 72 6f 75 70  stView_SortGroup
1fe20 73 28 48 57 4e 44 20 77 2c 20 50 46 4e 4c 56 47  s(HWND w, PFNLVG
1fe30 52 4f 55 50 43 4f 4d 50 41 52 45 20 63 2c 20 4c  ROUPCOMPARE c, L
1fe40 50 56 4f 49 44 20 70 29 20 7b 0d 0a 09 09 72 65  PVOID p) {....re
1fe50 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53  turn cast(int) S
1fe60 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56  endMessage(w, LV
1fe70 4d 5f 53 4f 52 54 47 52 4f 55 50 53 2c 20 63 61  M_SORTGROUPS, ca
1fe80 73 74 28 57 50 41 52 41 4d 29 20 63 2c 20 63 61  st(WPARAM) c, ca
1fe90 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a  st(LPARAM) p);..
1fea0 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20  .}..}....static 
1feb0 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
1fec0 20 3e 3d 20 30 78 35 30 31 29 20 7b 0d 0a 09 65   >= 0x501) {...e
1fed0 6e 75 6d 20 7b 0d 0a 09 09 43 42 4d 5f 46 49 52  num {....CBM_FIR
1fee0 53 54 20 20 20 20 20 20 20 20 3d 20 30 78 31 37  ST        = 0x17
1fef0 30 30 2c 0d 0a 09 09 43 42 5f 53 45 54 4d 49 4e  00,....CB_SETMIN
1ff00 56 49 53 49 42 4c 45 20 3d 20 43 42 4d 5f 46 49  VISIBLE = CBM_FI
1ff10 52 53 54 20 2b 20 31 2c 0d 0a 09 09 43 42 5f 47  RST + 1,....CB_G
1ff20 45 54 4d 49 4e 56 49 53 49 42 4c 45 20 3d 20 43  ETMINVISIBLE = C
1ff30 42 4d 5f 46 49 52 53 54 20 2b 20 32 2c 0d 0a 20  BM_FIRST + 2,.. 
1ff40 20 20 20 20 20 20 20 43 42 5f 53 45 54 43 55 45         CB_SETCUE
1ff50 42 41 4e 4e 45 52 20 3d 20 43 42 4d 5f 46 49 52  BANNER = CBM_FIR
1ff60 53 54 20 2b 20 33 2c 0d 0a 20 20 20 20 20 20 20  ST + 3,..       
1ff70 20 43 42 5f 47 45 54 43 55 45 42 41 4e 4e 45 52   CB_GETCUEBANNER
1ff80 20 3d 20 43 42 4d 5f 46 49 52 53 54 20 2b 20 34   = CBM_FIRST + 4
1ff90 2c 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 43  ,...}.....BOOL C
1ffa0 6f 6d 62 6f 42 6f 78 5f 53 65 74 4d 69 6e 56 69  omboBox_SetMinVi
1ffb0 73 69 62 6c 65 28 48 57 4e 44 20 77 2c 20 49 4e  sible(HWND w, IN
1ffc0 54 20 69 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e  T i) {....return
1ffd0 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64   cast(BOOL) Send
1ffe0 4d 65 73 73 61 67 65 28 77 2c 20 43 42 5f 53 45  Message(w, CB_SE
1fff0 54 4d 49 4e 56 49 53 49 42 4c 45 2c 20 63 61 73  TMINVISIBLE, cas
20000 74 28 57 50 41 52 41 4d 29 20 69 2c 20 30 29 3b  t(WPARAM) i, 0);
20010 0d 0a 09 7d 0d 0a 0d 0a 09 69 6e 74 20 43 6f 6d  ...}.....int Com
20020 62 6f 42 6f 78 5f 47 65 74 4d 69 6e 56 69 73 69  boBox_GetMinVisi
20030 62 6c 65 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09  ble(HWND w) {...
20040 09 72 65 74 75 72 6e 20 63 61 73 74 28 69 6e 74  .return cast(int
20050 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
20060 20 43 42 5f 47 45 54 4d 49 4e 56 49 53 49 42 4c   CB_GETMINVISIBL
20070 45 2c 20 30 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 7d  E, 0, 0);...}..}
20080 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e 64  ....extern (Wind
20090 6f 77 73 29 20 42 4f 4f 4c 20 4d 61 6b 65 44 72  ows) BOOL MakeDr
200a0 61 67 4c 69 73 74 28 48 57 4e 44 29 3b 0d 0a 65  agList(HWND);..e
200b0 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20  xtern (Windows) 
200c0 76 6f 69 64 20 4d 65 6e 75 48 65 6c 70 28 55 49  void MenuHelp(UI
200d0 4e 54 2c 20 57 50 41 52 41 4d 2c 20 4c 50 41 52  NT, WPARAM, LPAR
200e0 41 4d 2c 20 48 4d 45 4e 55 2c 20 48 49 4e 53 54  AM, HMENU, HINST
200f0 41 4e 43 45 2c 20 48 57 4e 44 2c 0d 0a 20 20 50  ANCE, HWND,..  P
20100 55 49 4e 54 29 3b 0d 0a 0d 0a 43 4f 4c 4f 52 52  UINT);....COLORR
20110 45 46 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 43  EF MonthCal_GetC
20120 6f 6c 6f 72 28 48 57 4e 44 20 68 77 6e 64 2c 20  olor(HWND hwnd, 
20130 49 4e 54 20 69 63 6f 6c 6f 72 29 20 7b 0d 0a 09  INT icolor) {...
20140 72 65 74 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f  return cast(COLO
20150 52 52 45 46 29 20 53 65 6e 64 4d 65 73 73 61 67  RREF) SendMessag
20160 65 28 68 77 6e 64 2c 20 4d 43 4d 5f 47 45 54 43  e(hwnd, MCM_GETC
20170 4f 4c 4f 52 2c 0d 0a 09 20 20 63 61 73 74 28 57  OLOR,...  cast(W
20180 50 41 52 41 4d 29 20 69 63 6f 6c 6f 72 2c 20 30  PARAM) icolor, 0
20190 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4d 6f  );..}....BOOL Mo
201a0 6e 74 68 43 61 6c 5f 47 65 74 43 75 72 53 65 6c  nthCal_GetCurSel
201b0 28 48 57 4e 44 20 68 77 6e 64 2c 20 4c 50 53 59  (HWND hwnd, LPSY
201c0 53 54 45 4d 54 49 4d 45 20 6c 70 73 79 73 74 69  STEMTIME lpsysti
201d0 6d 65 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63  me) {...return c
201e0 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
201f0 73 73 61 67 65 28 68 77 6e 64 2c 20 4d 43 4d 5f  ssage(hwnd, MCM_
20200 47 45 54 43 55 52 53 45 4c 2c 20 30 2c 0d 0a 09  GETCURSEL, 0,...
20210 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 6c    cast(LPARAM) l
20220 70 73 79 73 74 69 6d 65 29 3b 0d 0a 7d 0d 0a 0d  psystime);..}...
20230 0a 44 57 4f 52 44 20 4d 6f 6e 74 68 43 61 6c 5f  .DWORD MonthCal_
20240 47 65 74 46 69 72 73 74 44 61 79 4f 66 57 65 65  GetFirstDayOfWee
20250 6b 28 48 57 4e 44 20 68 77 6e 64 29 20 7b 0d 0a  k(HWND hwnd) {..
20260 09 72 65 74 75 72 6e 20 63 61 73 74 28 44 57 4f  .return cast(DWO
20270 52 44 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  RD) SendMessage(
20280 68 77 6e 64 2c 20 4d 43 4d 5f 47 45 54 46 49 52  hwnd, MCM_GETFIR
20290 53 54 44 41 59 4f 46 57 45 45 4b 2c 20 30 2c 20  STDAYOFWEEK, 0, 
202a0 30 29 3b 0d 0a 7d 0d 0a 0d 0a 44 57 4f 52 44 20  0);..}....DWORD 
202b0 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 4d 61 78 53  MonthCal_GetMaxS
202c0 65 6c 43 6f 75 6e 74 28 48 57 4e 44 20 68 77 6e  elCount(HWND hwn
202d0 64 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  d) {...return ca
202e0 73 74 28 44 57 4f 52 44 29 20 53 65 6e 64 4d 65  st(DWORD) SendMe
202f0 73 73 61 67 65 28 68 77 6e 64 2c 20 4d 43 4d 5f  ssage(hwnd, MCM_
20300 47 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 2c 20  GETMAXSELCOUNT, 
20310 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 44 57 4f  0, 0);..}....DWO
20320 52 44 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 4d  RD MonthCal_GetM
20330 61 78 54 6f 64 61 79 57 69 64 74 68 28 48 57 4e  axTodayWidth(HWN
20340 44 20 68 77 6e 64 29 20 7b 0d 0a 09 72 65 74 75  D hwnd) {...retu
20350 72 6e 20 63 61 73 74 28 44 57 4f 52 44 29 20 53  rn cast(DWORD) S
20360 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
20370 20 4d 43 4d 5f 47 45 54 4d 41 58 54 4f 44 41 59   MCM_GETMAXTODAY
20380 57 49 44 54 48 2c 20 30 2c 20 30 29 3b 0d 0a 7d  WIDTH, 0, 0);..}
20390 0d 0a 0d 0a 42 4f 4f 4c 20 4d 6f 6e 74 68 43 61  ....BOOL MonthCa
203a0 6c 5f 47 65 74 4d 69 6e 52 65 71 52 65 63 74 28  l_GetMinReqRect(
203b0 48 57 4e 44 20 68 77 6e 64 2c 20 4c 50 52 45 43  HWND hwnd, LPREC
203c0 54 20 6c 70 52 65 63 74 49 6e 66 6f 29 20 7b 0d  T lpRectInfo) {.
203d0 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f  ..return cast(BO
203e0 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  OL) SendMessage(
203f0 68 77 6e 64 2c 20 4d 43 4d 5f 47 45 54 4d 49 4e  hwnd, MCM_GETMIN
20400 52 45 51 52 45 43 54 2c 20 30 2c 0d 0a 09 20 20  REQRECT, 0,...  
20410 63 61 73 74 28 4c 50 41 52 41 4d 29 20 6c 70 52  cast(LPARAM) lpR
20420 65 63 74 49 6e 66 6f 29 3b 0d 0a 7d 0d 0a 0d 0a  ectInfo);..}....
20430 49 4e 54 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74  INT MonthCal_Get
20440 4d 6f 6e 74 68 44 65 6c 74 61 28 48 57 4e 44 20  MonthDelta(HWND 
20450 68 77 6e 64 29 20 7b 0d 0a 09 72 65 74 75 72 6e  hwnd) {...return
20460 20 63 61 73 74 28 49 4e 54 29 20 53 65 6e 64 4d   cast(INT) SendM
20470 65 73 73 61 67 65 28 68 77 6e 64 2c 20 4d 43 4d  essage(hwnd, MCM
20480 5f 47 45 54 4d 4f 4e 54 48 44 45 4c 54 41 2c 20  _GETMONTHDELTA, 
20490 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 49 4e 54  0, 0);..}....INT
204a0 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 4d 6f 6e   MonthCal_GetMon
204b0 74 68 52 61 6e 67 65 28 48 57 4e 44 20 68 77 6e  thRange(HWND hwn
204c0 64 2c 20 44 57 4f 52 44 20 66 6c 61 67 2c 20 4c  d, DWORD flag, L
204d0 50 53 59 53 54 45 4d 54 49 4d 45 20 73 79 73 74  PSYSTEMTIME syst
204e0 69 6d 65 61 72 72 61 79 29 20 7b 0d 0a 09 72 65  imearray) {...re
204f0 74 75 72 6e 20 63 61 73 74 28 49 4e 54 29 20 53  turn cast(INT) S
20500 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
20510 20 4d 43 4d 5f 47 45 54 4d 4f 4e 54 48 52 41 4e   MCM_GETMONTHRAN
20520 47 45 2c 20 63 61 73 74 28 57 50 41 52 41 4d 29  GE, cast(WPARAM)
20530 20 66 6c 61 67 2c 0d 0a 09 20 20 63 61 73 74 28   flag,...  cast(
20540 4c 50 41 52 41 4d 29 20 73 79 73 74 69 6d 65 61  LPARAM) systimea
20550 72 72 61 79 29 3b 0d 0a 7d 0d 0a 0d 0a 44 57 4f  rray);..}....DWO
20560 52 44 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 52  RD MonthCal_GetR
20570 61 6e 67 65 28 48 57 4e 44 20 68 77 6e 64 2c 20  ange(HWND hwnd, 
20580 4c 50 53 59 53 54 45 4d 54 49 4d 45 20 73 79 73  LPSYSTEMTIME sys
20590 74 69 6d 65 61 72 72 61 79 29 20 7b 0d 0a 09 72  timearray) {...r
205a0 65 74 75 72 6e 20 63 61 73 74 28 44 57 4f 52 44  eturn cast(DWORD
205b0 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 77  ) SendMessage(hw
205c0 6e 64 2c 20 4d 43 4d 5f 47 45 54 52 41 4e 47 45  nd, MCM_GETRANGE
205d0 2c 20 30 2c 0d 0a 09 20 20 63 61 73 74 28 4c 50  , 0,...  cast(LP
205e0 41 52 41 4d 29 20 73 79 73 74 69 6d 65 61 72 72  ARAM) systimearr
205f0 61 79 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20  ay);..}....BOOL 
20600 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 53 65 6c 52  MonthCal_GetSelR
20610 61 6e 67 65 28 48 57 4e 44 20 68 77 6e 64 2c 20  ange(HWND hwnd, 
20620 4c 50 53 59 53 54 45 4d 54 49 4d 45 20 73 79 73  LPSYSTEMTIME sys
20630 74 69 6d 65 61 72 72 61 79 29 20 7b 0d 0a 09 72  timearray) {...r
20640 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29  eturn cast(BOOL)
20650 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e   SendMessage(hwn
20660 64 2c 20 4d 43 4d 5f 47 45 54 53 45 4c 52 41 4e  d, MCM_GETSELRAN
20670 47 45 2c 20 30 2c 0d 0a 09 20 20 63 61 73 74 28  GE, 0,...  cast(
20680 4c 50 41 52 41 4d 29 20 73 79 73 74 69 6d 65 61  LPARAM) systimea
20690 72 72 61 79 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f  rray);..}....BOO
206a0 4c 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 54 6f  L MonthCal_GetTo
206b0 64 61 79 28 48 57 4e 44 20 68 77 6e 64 2c 20 4c  day(HWND hwnd, L
206c0 50 53 59 53 54 45 4d 54 49 4d 45 20 73 79 73 74  PSYSTEMTIME syst
206d0 69 6d 65 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  ime) {...return 
206e0 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
206f0 65 73 73 61 67 65 28 68 77 6e 64 2c 20 4d 43 4d  essage(hwnd, MCM
20700 5f 47 45 54 54 4f 44 41 59 2c 20 30 2c 0d 0a 09  _GETTODAY, 0,...
20710 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 73    cast(LPARAM) s
20720 79 73 74 69 6d 65 29 3b 0d 0a 7d 0d 0a 0d 0a 42  ystime);..}....B
20730 4f 4f 4c 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74  OOL MonthCal_Get
20740 55 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 48 57  UnicodeFormat(HW
20750 4e 44 20 68 77 6e 64 29 20 7b 0d 0a 09 72 65 74  ND hwnd) {...ret
20760 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
20770 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
20780 20 4d 43 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46   MCM_GETUNICODEF
20790 4f 52 4d 41 54 2c 20 30 2c 20 30 29 3b 0d 0a 7d  ORMAT, 0, 0);..}
207a0 0d 0a 0d 0a 44 57 4f 52 44 20 4d 6f 6e 74 68 43  ....DWORD MonthC
207b0 61 6c 5f 48 69 74 54 65 73 74 28 48 57 4e 44 20  al_HitTest(HWND 
207c0 68 77 6e 64 2c 20 50 4d 43 48 49 54 54 45 53 54  hwnd, PMCHITTEST
207d0 49 4e 46 4f 20 70 6d 63 68 69 74 74 65 73 74 29  INFO pmchittest)
207e0 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
207f0 28 44 57 4f 52 44 29 20 53 65 6e 64 4d 65 73 73  (DWORD) SendMess
20800 61 67 65 28 68 77 6e 64 2c 20 4d 43 4d 5f 48 49  age(hwnd, MCM_HI
20810 54 54 45 53 54 2c 20 30 2c 0d 0a 09 20 20 63 61  TTEST, 0,...  ca
20820 73 74 28 4c 50 41 52 41 4d 29 20 70 6d 63 68 69  st(LPARAM) pmchi
20830 74 74 65 73 74 29 3b 0d 0a 7d 0d 0a 0d 0a 43 4f  ttest);..}....CO
20840 4c 4f 52 52 45 46 20 4d 6f 6e 74 68 43 61 6c 5f  LORREF MonthCal_
20850 53 65 74 43 6f 6c 6f 72 28 48 57 4e 44 20 68 77  SetColor(HWND hw
20860 6e 64 2c 20 49 4e 54 20 69 63 6f 6c 6f 72 2c 20  nd, INT icolor, 
20870 43 4f 4c 4f 52 52 45 46 20 63 6c 72 29 20 7b 0d  COLORREF clr) {.
20880 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 43 4f  ..return cast(CO
20890 4c 4f 52 52 45 46 29 20 53 65 6e 64 4d 65 73 73  LORREF) SendMess
208a0 61 67 65 28 68 77 6e 64 2c 20 4d 43 4d 5f 53 45  age(hwnd, MCM_SE
208b0 54 43 4f 4c 4f 52 2c 20 63 61 73 74 28 57 50 41  TCOLOR, cast(WPA
208c0 52 41 4d 29 20 69 63 6f 6c 6f 72 2c 0d 0a 09 20  RAM) icolor,... 
208d0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 63 6c   cast(LPARAM) cl
208e0 72 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4d  r);..}....BOOL M
208f0 6f 6e 74 68 43 61 6c 5f 53 65 74 43 75 72 53 65  onthCal_SetCurSe
20900 6c 28 48 57 4e 44 20 68 77 6e 64 2c 20 4c 50 53  l(HWND hwnd, LPS
20910 59 53 54 45 4d 54 49 4d 45 20 6c 70 73 79 73 74  YSTEMTIME lpsyst
20920 69 6d 65 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  ime) {...return 
20930 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
20940 65 73 73 61 67 65 28 68 77 6e 64 2c 20 4d 43 4d  essage(hwnd, MCM
20950 5f 53 45 54 43 55 52 53 45 4c 2c 20 30 2c 0d 0a  _SETCURSEL, 0,..
20960 09 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  .  cast(LPARAM) 
20970 6c 70 73 79 73 74 69 6d 65 29 3b 0d 0a 7d 0d 0a  lpsystime);..}..
20980 0d 0a 42 4f 4f 4c 20 4d 6f 6e 74 68 43 61 6c 5f  ..BOOL MonthCal_
20990 53 65 74 44 61 79 53 74 61 74 65 28 48 57 4e 44  SetDayState(HWND
209a0 20 68 77 6e 64 2c 20 49 4e 54 20 69 6d 6f 6e 74   hwnd, INT imont
209b0 68 73 2c 20 4c 50 4d 4f 4e 54 48 44 41 59 53 54  hs, LPMONTHDAYST
209c0 41 54 45 20 6c 70 64 61 74 65 73 74 61 74 65 61  ATE lpdatestatea
209d0 72 72 61 79 29 20 7b 0d 0a 09 72 65 74 75 72 6e  rray) {...return
209e0 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64   cast(BOOL) Send
209f0 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20 4d 43  Message(hwnd, MC
20a00 4d 5f 53 45 54 44 41 59 53 54 41 54 45 2c 20 63  M_SETDAYSTATE, c
20a10 61 73 74 28 57 50 41 52 41 4d 29 20 69 6d 6f 6e  ast(WPARAM) imon
20a20 74 68 73 2c 0d 0a 09 20 20 63 61 73 74 28 4c 50  ths,...  cast(LP
20a30 41 52 41 4d 29 20 6c 70 64 61 74 65 73 74 61 74  ARAM) lpdatestat
20a40 65 61 72 72 61 79 29 3b 0d 0a 7d 0d 0a 0d 0a 44  earray);..}....D
20a50 57 4f 52 44 20 4d 6f 6e 74 68 43 61 6c 5f 53 65  WORD MonthCal_Se
20a60 74 46 69 72 73 74 44 61 79 4f 66 57 65 65 6b 28  tFirstDayOfWeek(
20a70 48 57 4e 44 20 68 77 6e 64 2c 20 49 4e 54 20 69  HWND hwnd, INT i
20a80 64 61 79 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  day) {...return 
20a90 63 61 73 74 28 44 57 4f 52 44 29 20 53 65 6e 64  cast(DWORD) Send
20aa0 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20 4d 43  Message(hwnd, MC
20ab0 4d 5f 53 45 54 46 49 52 53 54 44 41 59 4f 46 57  M_SETFIRSTDAYOFW
20ac0 45 45 4b 2c 20 30 2c 0d 0a 09 20 20 63 61 73 74  EEK, 0,...  cast
20ad0 28 4c 50 41 52 41 4d 29 20 69 64 61 79 29 3b 0d  (LPARAM) iday);.
20ae0 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4d 6f 6e 74 68  .}....BOOL Month
20af0 43 61 6c 5f 53 65 74 4d 61 78 53 65 6c 43 6f 75  Cal_SetMaxSelCou
20b00 6e 74 28 48 57 4e 44 20 68 77 6e 64 2c 20 55 49  nt(HWND hwnd, UI
20b10 4e 54 20 69 6d 61 78 29 20 7b 0d 0a 09 72 65 74  NT imax) {...ret
20b20 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
20b30 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
20b40 20 4d 43 4d 5f 53 45 54 4d 41 58 53 45 4c 43 4f   MCM_SETMAXSELCO
20b50 55 4e 54 2c 0d 0a 09 20 20 63 61 73 74 28 57 50  UNT,...  cast(WP
20b60 41 52 41 4d 29 20 69 6d 61 78 2c 20 30 29 3b 0d  ARAM) imax, 0);.
20b70 0a 7d 0d 0a 0d 0a 49 4e 54 20 4d 6f 6e 74 68 43  .}....INT MonthC
20b80 61 6c 5f 53 65 74 4d 6f 6e 74 68 44 65 6c 74 61  al_SetMonthDelta
20b90 28 48 57 4e 44 20 68 77 6e 64 2c 20 49 4e 54 20  (HWND hwnd, INT 
20ba0 69 64 65 6c 74 61 29 20 7b 0d 0a 09 72 65 74 75  idelta) {...retu
20bb0 72 6e 20 63 61 73 74 28 49 4e 54 29 20 53 65 6e  rn cast(INT) Sen
20bc0 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20 4d  dMessage(hwnd, M
20bd0 43 4d 5f 53 45 54 4d 4f 4e 54 48 44 45 4c 54 41  CM_SETMONTHDELTA
20be0 2c 20 63 61 73 74 28 57 50 41 52 41 4d 29 20 69  , cast(WPARAM) i
20bf0 64 65 6c 74 61 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d  delta, 0);..}...
20c00 0a 42 4f 4f 4c 20 4d 6f 6e 74 68 43 61 6c 5f 53  .BOOL MonthCal_S
20c10 65 74 53 65 6c 52 61 6e 67 65 28 48 57 4e 44 20  etSelRange(HWND 
20c20 68 77 6e 64 2c 20 4c 50 53 59 53 54 45 4d 54 49  hwnd, LPSYSTEMTI
20c30 4d 45 20 73 79 73 74 69 6d 65 61 72 72 61 79 29  ME systimearray)
20c40 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
20c50 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
20c60 67 65 28 68 77 6e 64 2c 20 4d 43 4d 5f 53 45 54  ge(hwnd, MCM_SET
20c70 53 45 4c 52 41 4e 47 45 2c 20 30 2c 0d 0a 09 20  SELRANGE, 0,... 
20c80 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 73 79   cast(LPARAM) sy
20c90 73 74 69 6d 65 61 72 72 61 79 29 3b 0d 0a 7d 0d  stimearray);..}.
20ca0 0a 0d 0a 76 6f 69 64 20 4d 6f 6e 74 68 43 61 6c  ...void MonthCal
20cb0 5f 53 65 74 54 6f 64 61 79 28 48 57 4e 44 20 68  _SetToday(HWND h
20cc0 77 6e 64 2c 20 4c 50 53 59 53 54 45 4d 54 49 4d  wnd, LPSYSTEMTIM
20cd0 45 20 73 79 73 74 69 6d 65 29 20 7b 0d 0a 09 53  E systime) {...S
20ce0 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c  endMessage(hwnd,
20cf0 20 4d 43 4d 5f 53 45 54 54 4f 44 41 59 2c 20 30   MCM_SETTODAY, 0
20d00 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 73  , cast(LPARAM) s
20d10 79 73 74 69 6d 65 29 3b 0d 0a 7d 0d 0a 0d 0a 42  ystime);..}....B
20d20 4f 4f 4c 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74  OOL MonthCal_Set
20d30 55 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 48 57  UnicodeFormat(HW
20d40 4e 44 20 68 77 6e 64 2c 20 42 4f 4f 4c 20 75 6e  ND hwnd, BOOL un
20d50 69 63 6f 64 65 29 20 7b 0d 0a 09 72 65 74 75 72  icode) {...retur
20d60 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
20d70 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20 4d  dMessage(hwnd, M
20d80 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52  CM_SETUNICODEFOR
20d90 4d 41 54 2c 0d 0a 09 20 20 63 61 73 74 28 57 50  MAT,...  cast(WP
20da0 41 52 41 4d 29 20 75 6e 69 63 6f 64 65 2c 20 30  ARAM) unicode, 0
20db0 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 4d 6f  );..}....BOOL Mo
20dc0 6e 74 68 43 61 6c 5f 53 65 74 52 61 6e 67 65 28  nthCal_SetRange(
20dd0 48 57 4e 44 20 77 2c 20 44 57 4f 52 44 20 66 2c  HWND w, DWORD f,
20de0 20 4c 50 53 59 53 54 45 4d 54 49 4d 45 20 73 74   LPSYSTEMTIME st
20df0 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73  ) {...return cas
20e00 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73  t(BOOL) SendMess
20e10 61 67 65 28 77 2c 20 4d 43 4d 5f 53 45 54 52 41  age(w, MCM_SETRA
20e20 4e 47 45 2c 20 63 61 73 74 28 57 50 41 52 41 4d  NGE, cast(WPARAM
20e30 29 20 66 2c 0d 0a 09 20 20 63 61 73 74 28 4c 50  ) f,...  cast(LP
20e40 41 52 41 4d 29 20 73 74 29 3b 0d 0a 7d 0d 0a 0d  ARAM) st);..}...
20e50 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73  .extern (Windows
20e60 29 20 42 4f 4f 4c 20 53 68 6f 77 48 69 64 65 4d  ) BOOL ShowHideM
20e70 65 6e 75 43 74 6c 28 48 57 4e 44 2c 20 55 49 4e  enuCtl(HWND, UIN
20e80 54 5f 50 54 52 2c 20 50 49 4e 54 29 3b 0d 0a 0d  T_PTR, PINT);...
20e90 0a 42 4f 4f 4c 20 54 61 62 43 74 72 6c 5f 47 65  .BOOL TabCtrl_Ge
20ea0 74 49 74 65 6d 28 48 57 4e 44 20 77 2c 20 69 6e  tItem(HWND w, in
20eb0 74 20 69 2c 20 4c 50 54 43 49 54 45 4d 20 70 29  t i, LPTCITEM p)
20ec0 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
20ed0 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
20ee0 67 65 28 77 2c 20 54 43 4d 5f 47 45 54 49 54 45  ge(w, TCM_GETITE
20ef0 4d 2c 20 69 2c 20 63 61 73 74 28 4c 50 41 52 41  M, i, cast(LPARA
20f00 4d 29 20 70 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f  M) p);..}....BOO
20f10 4c 20 54 61 62 43 74 72 6c 5f 53 65 74 49 74 65  L TabCtrl_SetIte
20f20 6d 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c  m(HWND w, int i,
20f30 20 4c 50 54 43 49 54 45 4d 20 70 29 20 7b 0d 0a   LPTCITEM p) {..
20f40 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f  .return cast(BOO
20f50 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  L) SendMessage(w
20f60 2c 20 54 43 4d 5f 53 45 54 49 54 45 4d 2c 20 69  , TCM_SETITEM, i
20f70 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70  , cast(LPARAM) p
20f80 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 54 61 62  );..}....int Tab
20f90 43 74 72 6c 5f 49 6e 73 65 72 74 49 74 65 6d 28  Ctrl_InsertItem(
20fa0 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 63  HWND w, int i, c
20fb0 6f 6e 73 74 28 54 43 5f 49 54 45 4d 29 2a 20 70  onst(TC_ITEM)* p
20fc0 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73  ) {...return cas
20fd0 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 73 61  t(int) SendMessa
20fe0 67 65 28 77 2c 20 54 43 4d 5f 49 4e 53 45 52 54  ge(w, TCM_INSERT
20ff0 49 54 45 4d 2c 20 69 2c 20 63 61 73 74 28 4c 50  ITEM, i, cast(LP
21000 41 52 41 4d 29 20 70 29 3b 0d 0a 7d 0d 0a 0d 0a  ARAM) p);..}....
21010 42 4f 4f 4c 20 54 61 62 43 74 72 6c 5f 44 65 6c  BOOL TabCtrl_Del
21020 65 74 65 49 74 65 6d 28 48 57 4e 44 20 77 2c 20  eteItem(HWND w, 
21030 69 6e 74 20 69 29 20 7b 0d 0a 09 72 65 74 75 72  int i) {...retur
21040 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
21050 64 4d 65 73 73 61 67 65 28 77 2c 20 54 43 4d 5f  dMessage(w, TCM_
21060 44 45 4c 45 54 45 49 54 45 4d 2c 20 69 2c 20 30  DELETEITEM, i, 0
21070 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54 61  );..}....BOOL Ta
21080 62 43 74 72 6c 5f 44 65 6c 65 74 65 41 6c 6c 49  bCtrl_DeleteAllI
21090 74 65 6d 73 28 48 57 4e 44 20 77 29 20 7b 0d 0a  tems(HWND w) {..
210a0 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f  .return cast(BOO
210b0 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  L) SendMessage(w
210c0 2c 20 54 43 4d 5f 44 45 4c 45 54 45 41 4c 4c 49  , TCM_DELETEALLI
210d0 54 45 4d 53 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  TEMS, 0, 0);..}.
210e0 0a 0d 0a 42 4f 4f 4c 20 54 61 62 43 74 72 6c 5f  ...BOOL TabCtrl_
210f0 47 65 74 49 74 65 6d 52 65 63 74 28 48 57 4e 44  GetItemRect(HWND
21100 20 77 2c 20 69 6e 74 20 69 2c 20 4c 50 52 45 43   w, int i, LPREC
21110 54 20 70 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20  T p) {...return 
21120 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
21130 65 73 73 61 67 65 28 77 2c 20 54 43 4d 5f 47 45  essage(w, TCM_GE
21140 54 49 54 45 4d 52 45 43 54 2c 20 69 2c 20 63 61  TITEMRECT, i, ca
21150 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a  st(LPARAM) p);..
21160 7d 0d 0a 0d 0a 69 6e 74 20 54 61 62 43 74 72 6c  }....int TabCtrl
21170 5f 47 65 74 43 75 72 53 65 6c 28 48 57 4e 44 20  _GetCurSel(HWND 
21180 77 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  w) {...return ca
21190 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 73  st(int) SendMess
211a0 61 67 65 28 77 2c 20 54 43 4d 5f 47 45 54 43 55  age(w, TCM_GETCU
211b0 52 53 45 4c 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  RSEL, 0, 0);..}.
211c0 0a 0d 0a 69 6e 74 20 54 61 62 43 74 72 6c 5f 53  ...int TabCtrl_S
211d0 65 74 43 75 72 53 65 6c 28 48 57 4e 44 20 77 2c  etCurSel(HWND w,
211e0 20 69 6e 74 20 69 29 20 7b 0d 0a 09 72 65 74 75   int i) {...retu
211f0 72 6e 20 63 61 73 74 28 69 6e 74 29 20 53 65 6e  rn cast(int) Sen
21200 64 4d 65 73 73 61 67 65 28 77 2c 20 54 43 4d 5f  dMessage(w, TCM_
21210 53 45 54 43 55 52 53 45 4c 2c 20 69 2c 20 30 29  SETCURSEL, i, 0)
21220 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 54 61 62 43  ;..}....int TabC
21230 74 72 6c 5f 48 69 74 54 65 73 74 28 48 57 4e 44  trl_HitTest(HWND
21240 20 77 2c 20 4c 50 54 43 48 49 54 54 45 53 54 49   w, LPTCHITTESTI
21250 4e 46 4f 20 70 29 20 7b 0d 0a 09 72 65 74 75 72  NFO p) {...retur
21260 6e 20 63 61 73 74 28 69 6e 74 29 20 53 65 6e 64  n cast(int) Send
21270 4d 65 73 73 61 67 65 28 77 2c 20 54 43 4d 5f 48  Message(w, TCM_H
21280 49 54 54 45 53 54 2c 20 30 2c 20 63 61 73 74 28  ITTEST, 0, cast(
21290 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a 7d 0d 0a  LPARAM) p);..}..
212a0 0d 0a 42 4f 4f 4c 20 54 61 62 43 74 72 6c 5f 53  ..BOOL TabCtrl_S
212b0 65 74 49 74 65 6d 45 78 74 72 61 28 48 57 4e 44  etItemExtra(HWND
212c0 20 77 2c 20 69 6e 74 20 63 29 20 7b 0d 0a 09 72   w, int c) {...r
212d0 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29  eturn cast(BOOL)
212e0 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20   SendMessage(w, 
212f0 54 43 4d 5f 53 45 54 49 54 45 4d 45 58 54 52 41  TCM_SETITEMEXTRA
21300 2c 20 63 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 69  , c, 0);..}....i
21310 6e 74 20 54 61 62 43 74 72 6c 5f 41 64 6a 75 73  nt TabCtrl_Adjus
21320 74 52 65 63 74 28 48 57 4e 44 20 77 2c 20 42 4f  tRect(HWND w, BO
21330 4f 4c 20 62 2c 20 4c 50 52 45 43 54 20 70 29 20  OL b, LPRECT p) 
21340 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28  {...return cast(
21350 69 6e 74 29 20 53 65 6e 64 4d 65 73 73 61 67 65  int) SendMessage
21360 28 77 2c 20 54 43 4d 5f 41 44 4a 55 53 54 52 45  (w, TCM_ADJUSTRE
21370 43 54 2c 20 62 2c 20 63 61 73 74 28 4c 50 41 52  CT, b, cast(LPAR
21380 41 4d 29 20 70 29 3b 0d 0a 7d 0d 0a 0d 0a 44 57  AM) p);..}....DW
21390 4f 52 44 20 54 61 62 43 74 72 6c 5f 53 65 74 49  ORD TabCtrl_SetI
213a0 74 65 6d 53 69 7a 65 28 48 57 4e 44 20 77 2c 20  temSize(HWND w, 
213b0 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20 7b 0d  int x, int y) {.
213c0 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 44 57  ..return cast(DW
213d0 4f 52 44 29 20 53 65 6e 64 4d 65 73 73 61 67 65  ORD) SendMessage
213e0 28 77 2c 20 54 43 4d 5f 53 45 54 49 54 45 4d 53  (w, TCM_SETITEMS
213f0 49 5a 45 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 52  IZE, 0, MAKELPAR
21400 41 4d 28 63 61 73 74 28 75 73 68 6f 72 74 29 78  AM(cast(ushort)x
21410 2c 20 63 61 73 74 28 75 73 68 6f 72 74 29 79 29  , cast(ushort)y)
21420 29 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 54 61  );..}....void Ta
21430 62 43 74 72 6c 5f 52 65 6d 6f 76 65 49 6d 61 67  bCtrl_RemoveImag
21440 65 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 69 29  e(HWND w, int i)
21450 20 7b 0d 0a 09 53 65 6e 64 4d 65 73 73 61 67 65   {...SendMessage
21460 28 77 2c 20 54 43 4d 5f 52 45 4d 4f 56 45 49 4d  (w, TCM_REMOVEIM
21470 41 47 45 2c 20 69 2c 20 30 29 3b 0d 0a 7d 0d 0a  AGE, i, 0);..}..
21480 0d 0a 76 6f 69 64 20 54 61 62 43 74 72 6c 5f 53  ..void TabCtrl_S
21490 65 74 50 61 64 64 69 6e 67 28 48 57 4e 44 20 77  etPadding(HWND w
214a0 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29 20  , int x, int y) 
214b0 7b 0d 0a 09 53 65 6e 64 4d 65 73 73 61 67 65 28  {...SendMessage(
214c0 77 2c 20 54 43 4d 5f 53 45 54 50 41 44 44 49 4e  w, TCM_SETPADDIN
214d0 47 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 52 41 4d  G, 0, MAKELPARAM
214e0 28 63 61 73 74 28 75 73 68 6f 72 74 29 78 2c 20  (cast(ushort)x, 
214f0 63 61 73 74 28 75 73 68 6f 72 74 29 79 29 29 3b  cast(ushort)y));
21500 0d 0a 7d 0d 0a 0d 0a 69 6e 74 20 54 61 62 43 74  ..}....int TabCt
21510 72 6c 5f 47 65 74 52 6f 77 43 6f 75 6e 74 28 48  rl_GetRowCount(H
21520 57 4e 44 20 77 29 20 7b 0d 0a 09 72 65 74 75 72  WND w) {...retur
21530 6e 20 63 61 73 74 28 69 6e 74 29 20 53 65 6e 64  n cast(int) Send
21540 4d 65 73 73 61 67 65 28 77 2c 20 54 43 4d 5f 47  Message(w, TCM_G
21550 45 54 52 4f 57 43 4f 55 4e 54 2c 20 30 2c 20 30  ETROWCOUNT, 0, 0
21560 29 3b 0d 0a 7d 0d 0a 0d 0a 48 57 4e 44 20 54 61  );..}....HWND Ta
21570 62 43 74 72 6c 5f 47 65 74 54 6f 6f 6c 54 69 70  bCtrl_GetToolTip
21580 73 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 72 65  s(HWND w) {...re
21590 74 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29 20  turn cast(HWND) 
215a0 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54  SendMessage(w, T
215b0 43 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 2c 20  CM_GETTOOLTIPS, 
215c0 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 76 6f 69  0, 0);..}....voi
215d0 64 20 54 61 62 43 74 72 6c 5f 53 65 74 54 6f 6f  d TabCtrl_SetToo
215e0 6c 54 69 70 73 28 48 57 4e 44 20 77 2c 20 48 57  lTips(HWND w, HW
215f0 4e 44 20 74 29 20 7b 0d 0a 09 53 65 6e 64 4d 65  ND t) {...SendMe
21600 73 73 61 67 65 28 77 2c 20 54 43 4d 5f 53 45 54  ssage(w, TCM_SET
21610 54 4f 4f 4c 54 49 50 53 2c 20 63 61 73 74 28 57  TOOLTIPS, cast(W
21620 50 41 52 41 4d 29 20 74 2c 20 30 29 3b 0d 0a 7d  PARAM) t, 0);..}
21630 0d 0a 0d 0a 69 6e 74 20 54 61 62 43 74 72 6c 5f  ....int TabCtrl_
21640 47 65 74 43 75 72 46 6f 63 75 73 28 48 57 4e 44  GetCurFocus(HWND
21650 20 77 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63   w) {...return c
21660 61 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73  ast(int) SendMes
21670 73 61 67 65 28 77 2c 20 54 43 4d 5f 47 45 54 43  sage(w, TCM_GETC
21680 55 52 46 4f 43 55 53 2c 20 30 2c 20 30 29 3b 0d  URFOCUS, 0, 0);.
21690 0a 7d 0d 0a 0d 0a 76 6f 69 64 20 54 61 62 43 74  .}....void TabCt
216a0 72 6c 5f 53 65 74 43 75 72 46 6f 63 75 73 28 48  rl_SetCurFocus(H
216b0 57 4e 44 20 77 2c 20 69 6e 74 20 69 29 20 7b 0d  WND w, int i) {.
216c0 0a 09 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ..SendMessage(w,
216d0 20 54 43 4d 5f 53 45 54 43 55 52 46 4f 43 55 53   TCM_SETCURFOCUS
216e0 2c 20 69 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 48  , i, 0);..}....H
216f0 49 4d 41 47 45 4c 49 53 54 20 54 61 62 43 74 72  IMAGELIST TabCtr
21700 6c 5f 47 65 74 49 6d 61 67 65 4c 69 73 74 28 48  l_GetImageList(H
21710 57 4e 44 20 77 29 20 7b 0d 0a 09 72 65 74 75 72  WND w) {...retur
21720 6e 20 63 61 73 74 28 48 49 4d 41 47 45 4c 49 53  n cast(HIMAGELIS
21730 54 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  T) SendMessage(w
21740 2c 20 54 43 4d 5f 47 45 54 49 4d 41 47 45 4c 49  , TCM_GETIMAGELI
21750 53 54 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d  ST, 0, 0);..}...
21760 0a 48 49 4d 41 47 45 4c 49 53 54 20 54 61 62 43  .HIMAGELIST TabC
21770 74 72 6c 5f 53 65 74 49 6d 61 67 65 4c 69 73 74  trl_SetImageList
21780 28 48 57 4e 44 20 77 2c 20 48 49 4d 41 47 45 4c  (HWND w, HIMAGEL
21790 49 53 54 20 68 29 20 7b 0d 0a 09 72 65 74 75 72  IST h) {...retur
217a0 6e 20 63 61 73 74 28 48 49 4d 41 47 45 4c 49 53  n cast(HIMAGELIS
217b0 54 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  T) SendMessage(w
217c0 2c 20 54 43 4d 5f 53 45 54 49 4d 41 47 45 4c 49  , TCM_SETIMAGELI
217d0 53 54 2c 20 30 2c 0d 0a 09 20 20 63 61 73 74 28  ST, 0,...  cast(
217e0 4c 50 41 52 41 4d 29 20 68 29 3b 0d 0a 7d 0d 0a  LPARAM) h);..}..
217f0 0d 0a 69 6e 74 20 54 61 62 43 74 72 6c 5f 47 65  ..int TabCtrl_Ge
21800 74 49 74 65 6d 43 6f 75 6e 74 28 48 57 4e 44 20  tItemCount(HWND 
21810 77 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  w) {...return ca
21820 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 73  st(int) SendMess
21830 61 67 65 28 77 2c 20 54 43 4d 5f 47 45 54 49 54  age(w, TCM_GETIT
21840 45 4d 43 4f 55 4e 54 2c 20 30 2c 20 30 29 3b 0d  EMCOUNT, 0, 0);.
21850 0a 7d 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69  .}....extern (Wi
21860 6e 64 6f 77 73 29 20 42 4f 4f 4c 20 5f 54 72 61  ndows) BOOL _Tra
21870 63 6b 4d 6f 75 73 65 45 76 65 6e 74 28 4c 50 54  ckMouseEvent(LPT
21880 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 29 3b  RACKMOUSEEVENT);
21890 0d 0a 0d 0a 48 54 52 45 45 49 54 45 4d 20 54 72  ....HTREEITEM Tr
218a0 65 65 56 69 65 77 5f 49 6e 73 65 72 74 49 74 65  eeView_InsertIte
218b0 6d 28 48 57 4e 44 20 77 2c 20 4c 50 54 56 49 4e  m(HWND w, LPTVIN
218c0 53 45 52 54 53 54 52 55 43 54 20 69 29 20 7b 0d  SERTSTRUCT i) {.
218d0 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 48 54  ..return cast(HT
218e0 52 45 45 49 54 45 4d 29 20 53 65 6e 64 4d 65 73  REEITEM) SendMes
218f0 73 61 67 65 28 77 2c 20 54 56 4d 5f 49 4e 53 45  sage(w, TVM_INSE
21900 52 54 49 54 45 4d 2c 20 30 2c 20 63 61 73 74 28  RTITEM, 0, cast(
21910 4c 50 41 52 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a  LPARAM) i);..}..
21920 0d 0a 42 4f 4f 4c 20 54 72 65 65 56 69 65 77 5f  ..BOOL TreeView_
21930 44 65 6c 65 74 65 49 74 65 6d 28 48 57 4e 44 20  DeleteItem(HWND 
21940 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69 29 20  w, HTREEITEM i) 
21950 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28  {...return cast(
21960 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67  BOOL) SendMessag
21970 65 28 77 2c 20 54 56 4d 5f 44 45 4c 45 54 45 49  e(w, TVM_DELETEI
21980 54 45 4d 2c 20 30 2c 20 63 61 73 74 28 4c 50 41  TEM, 0, cast(LPA
21990 52 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a 0d 0a 42  RAM) i);..}....B
219a0 4f 4f 4c 20 54 72 65 65 56 69 65 77 5f 44 65 6c  OOL TreeView_Del
219b0 65 74 65 41 6c 6c 49 74 65 6d 73 28 48 57 4e 44  eteAllItems(HWND
219c0 20 77 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63   w) {...return c
219d0 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
219e0 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 44 45 4c  ssage(w, TVM_DEL
219f0 45 54 45 49 54 45 4d 2c 20 30 2c 20 63 61 73 74  ETEITEM, 0, cast
21a00 28 4c 50 41 52 41 4d 29 20 54 56 49 5f 52 4f 4f  (LPARAM) TVI_ROO
21a10 54 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54  T);..}....BOOL T
21a20 72 65 65 56 69 65 77 5f 45 78 70 61 6e 64 28 48  reeView_Expand(H
21a30 57 4e 44 20 77 2c 20 48 54 52 45 45 49 54 45 4d  WND w, HTREEITEM
21a40 20 69 2c 20 55 49 4e 54 20 63 29 20 7b 0d 0a 09   i, UINT c) {...
21a50 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c  return cast(BOOL
21a60 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
21a70 20 54 56 4d 5f 45 58 50 41 4e 44 2c 20 63 2c 20   TVM_EXPAND, c, 
21a80 63 61 73 74 28 4c 50 41 52 41 4d 29 20 69 29 3b  cast(LPARAM) i);
21a90 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54 72 65 65  ..}....BOOL Tree
21aa0 56 69 65 77 5f 47 65 74 49 74 65 6d 52 65 63 74  View_GetItemRect
21ab0 28 48 57 4e 44 20 77 2c 20 48 54 52 45 45 49 54  (HWND w, HTREEIT
21ac0 45 4d 20 69 2c 20 4c 50 52 45 43 54 20 70 2c 20  EM i, LPRECT p, 
21ad0 42 4f 4f 4c 20 63 29 20 7b 0d 0a 09 2a 63 61 73  BOOL c) {...*cas
21ae0 74 28 48 54 52 45 45 49 54 45 4d 2a 29 20 70 20  t(HTREEITEM*) p 
21af0 3d 20 69 3b 0d 0a 09 72 65 74 75 72 6e 20 63 61  = i;...return ca
21b00 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
21b10 73 61 67 65 28 77 2c 20 54 56 4d 5f 47 45 54 49  sage(w, TVM_GETI
21b20 54 45 4d 52 45 43 54 2c 20 63 2c 20 63 61 73 74  TEMRECT, c, cast
21b30 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d 0a 7d 0d  (LPARAM) p);..}.
21b40 0a 0d 0a 55 49 4e 54 20 54 72 65 65 56 69 65 77  ...UINT TreeView
21b50 5f 47 65 74 43 6f 75 6e 74 28 48 57 4e 44 20 77  _GetCount(HWND w
21b60 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73  ) {...return cas
21b70 74 28 55 49 4e 54 29 20 53 65 6e 64 4d 65 73 73  t(UINT) SendMess
21b80 61 67 65 28 77 2c 20 54 56 4d 5f 47 45 54 43 4f  age(w, TVM_GETCO
21b90 55 4e 54 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d 0a  UNT, 0, 0);..}..
21ba0 0d 0a 55 49 4e 54 20 54 72 65 65 56 69 65 77 5f  ..UINT TreeView_
21bb0 47 65 74 49 6e 64 65 6e 74 28 48 57 4e 44 20 77  GetIndent(HWND w
21bc0 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73  ) {...return cas
21bd0 74 28 55 49 4e 54 29 20 53 65 6e 64 4d 65 73 73  t(UINT) SendMess
21be0 61 67 65 28 77 2c 20 54 56 4d 5f 47 45 54 49 4e  age(w, TVM_GETIN
21bf0 44 45 4e 54 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d  DENT, 0, 0);..}.
21c00 0a 0d 0a 42 4f 4f 4c 20 54 72 65 65 56 69 65 77  ...BOOL TreeView
21c10 5f 53 65 74 49 6e 64 65 6e 74 28 48 57 4e 44 20  _SetIndent(HWND 
21c20 77 2c 20 49 4e 54 20 69 29 20 7b 0d 0a 09 72 65  w, INT i) {...re
21c30 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20  turn cast(BOOL) 
21c40 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54  SendMessage(w, T
21c50 56 4d 5f 53 45 54 49 4e 44 45 4e 54 2c 20 69 2c  VM_SETINDENT, i,
21c60 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 48 49 4d 41 47   0);..}....HIMAG
21c70 45 4c 49 53 54 20 54 72 65 65 56 69 65 77 5f 47  ELIST TreeView_G
21c80 65 74 49 6d 61 67 65 4c 69 73 74 28 48 57 4e 44  etImageList(HWND
21c90 20 77 2c 20 49 4e 54 20 69 29 20 7b 0d 0a 09 72   w, INT i) {...r
21ca0 65 74 75 72 6e 20 63 61 73 74 28 48 49 4d 41 47  eturn cast(HIMAG
21cb0 45 4c 49 53 54 29 20 53 65 6e 64 4d 65 73 73 61  ELIST) SendMessa
21cc0 67 65 28 77 2c 20 54 56 4d 5f 47 45 54 49 4d 41  ge(w, TVM_GETIMA
21cd0 47 45 4c 49 53 54 2c 20 69 2c 20 30 29 3b 0d 0a  GELIST, i, 0);..
21ce0 7d 0d 0a 0d 0a 48 49 4d 41 47 45 4c 49 53 54 20  }....HIMAGELIST 
21cf0 54 72 65 65 56 69 65 77 5f 53 65 74 49 6d 61 67  TreeView_SetImag
21d00 65 4c 69 73 74 28 48 57 4e 44 20 77 2c 20 48 49  eList(HWND w, HI
21d10 4d 41 47 45 4c 49 53 54 20 68 2c 20 49 4e 54 20  MAGELIST h, INT 
21d20 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61  i) {...return ca
21d30 73 74 28 48 49 4d 41 47 45 4c 49 53 54 29 20 53  st(HIMAGELIST) S
21d40 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56  endMessage(w, TV
21d50 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 20  M_SETIMAGELIST, 
21d60 69 2c 0d 0a 09 20 20 63 61 73 74 28 4c 50 41 52  i,...  cast(LPAR
21d70 41 4d 29 20 68 29 3b 0d 0a 7d 0d 0a 0d 0a 48 54  AM) h);..}....HT
21d80 52 45 45 49 54 45 4d 20 54 72 65 65 56 69 65 77  REEITEM TreeView
21d90 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 48 57 4e  _GetNextItem(HWN
21da0 44 20 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69  D w, HTREEITEM i
21db0 2c 20 55 49 4e 54 20 63 29 20 7b 0d 0a 09 72 65  , UINT c) {...re
21dc0 74 75 72 6e 20 63 61 73 74 28 48 54 52 45 45 49  turn cast(HTREEI
21dd0 54 45 4d 29 20 53 65 6e 64 4d 65 73 73 61 67 65  TEM) SendMessage
21de0 28 77 2c 20 54 56 4d 5f 47 45 54 4e 45 58 54 49  (w, TVM_GETNEXTI
21df0 54 45 4d 2c 20 63 2c 20 63 61 73 74 28 4c 50 41  TEM, c, cast(LPA
21e00 52 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a 0d 0a 48  RAM) i);..}....H
21e10 54 52 45 45 49 54 45 4d 20 54 72 65 65 56 69 65  TREEITEM TreeVie
21e20 77 5f 47 65 74 43 68 69 6c 64 28 48 57 4e 44 20  w_GetChild(HWND 
21e30 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69 29 20  w, HTREEITEM i) 
21e40 7b 0d 0a 09 72 65 74 75 72 6e 20 54 72 65 65 56  {...return TreeV
21e50 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28  iew_GetNextItem(
21e60 77 2c 20 69 2c 20 54 56 47 4e 5f 43 48 49 4c 44  w, i, TVGN_CHILD
21e70 29 3b 0d 0a 7d 0d 0a 0d 0a 48 54 52 45 45 49 54  );..}....HTREEIT
21e80 45 4d 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e  EM TreeView_GetN
21e90 65 78 74 53 69 62 6c 69 6e 67 28 48 57 4e 44 20  extSibling(HWND 
21ea0 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69 29 20  w, HTREEITEM i) 
21eb0 7b 0d 0a 09 72 65 74 75 72 6e 20 54 72 65 65 56  {...return TreeV
21ec0 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28  iew_GetNextItem(
21ed0 77 2c 20 69 2c 20 54 56 47 4e 5f 4e 45 58 54 29  w, i, TVGN_NEXT)
21ee0 3b 0d 0a 7d 0d 0a 0d 0a 48 54 52 45 45 49 54 45  ;..}....HTREEITE
21ef0 4d 20 54 72 65 65 56 69 65 77 5f 47 65 74 50 72  M TreeView_GetPr
21f00 65 76 53 69 62 6c 69 6e 67 28 48 57 4e 44 20 77  evSibling(HWND w
21f10 2c 20 48 54 52 45 45 49 54 45 4d 20 69 29 20 7b  , HTREEITEM i) {
21f20 0d 0a 09 72 65 74 75 72 6e 20 54 72 65 65 56 69  ...return TreeVi
21f30 65 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 77  ew_GetNextItem(w
21f40 2c 20 69 2c 20 54 56 47 4e 5f 50 52 45 56 49 4f  , i, TVGN_PREVIO
21f50 55 53 29 3b 0d 0a 7d 0d 0a 0d 0a 48 54 52 45 45  US);..}....HTREE
21f60 49 54 45 4d 20 54 72 65 65 56 69 65 77 5f 47 65  ITEM TreeView_Ge
21f70 74 50 61 72 65 6e 74 28 48 57 4e 44 20 77 2c 20  tParent(HWND w, 
21f80 48 54 52 45 45 49 54 45 4d 20 69 29 20 7b 0d 0a  HTREEITEM i) {..
21f90 09 72 65 74 75 72 6e 20 54 72 65 65 56 69 65 77  .return TreeView
21fa0 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 77 2c 20  _GetNextItem(w, 
21fb0 69 2c 20 54 56 47 4e 5f 50 41 52 45 4e 54 29 3b  i, TVGN_PARENT);
21fc0 0d 0a 7d 0d 0a 0d 0a 48 54 52 45 45 49 54 45 4d  ..}....HTREEITEM
21fd0 20 54 72 65 65 56 69 65 77 5f 47 65 74 46 69 72   TreeView_GetFir
21fe0 73 74 56 69 73 69 62 6c 65 28 48 57 4e 44 20 77  stVisible(HWND w
21ff0 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 54 72 65  ) {...return Tre
22000 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65  eView_GetNextIte
22010 6d 28 77 2c 20 6e 75 6c 6c 2c 20 54 56 47 4e 5f  m(w, null, TVGN_
22020 46 49 52 53 54 56 49 53 49 42 4c 45 29 3b 0d 0a  FIRSTVISIBLE);..
22030 7d 0d 0a 0d 0a 48 54 52 45 45 49 54 45 4d 20 54  }....HTREEITEM T
22040 72 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74 56  reeView_GetNextV
22050 69 73 69 62 6c 65 28 48 57 4e 44 20 77 2c 20 48  isible(HWND w, H
22060 54 52 45 45 49 54 45 4d 20 69 29 20 7b 0d 0a 09  TREEITEM i) {...
22070 72 65 74 75 72 6e 20 54 72 65 65 56 69 65 77 5f  return TreeView_
22080 47 65 74 4e 65 78 74 49 74 65 6d 28 77 2c 20 69  GetNextItem(w, i
22090 2c 20 54 56 47 4e 5f 4e 45 58 54 56 49 53 49 42  , TVGN_NEXTVISIB
220a0 4c 45 29 3b 0d 0a 7d 0d 0a 0d 0a 48 54 52 45 45  LE);..}....HTREE
220b0 49 54 45 4d 20 54 72 65 65 56 69 65 77 5f 47 65  ITEM TreeView_Ge
220c0 74 50 72 65 76 56 69 73 69 62 6c 65 28 48 57 4e  tPrevVisible(HWN
220d0 44 20 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69  D w, HTREEITEM i
220e0 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 54 72 65  ) {...return Tre
220f0 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65  eView_GetNextIte
22100 6d 28 77 2c 20 69 2c 20 54 56 47 4e 5f 50 52 45  m(w, i, TVGN_PRE
22110 56 49 4f 55 53 56 49 53 49 42 4c 45 29 3b 0d 0a  VIOUSVISIBLE);..
22120 7d 0d 0a 0d 0a 48 54 52 45 45 49 54 45 4d 20 54  }....HTREEITEM T
22130 72 65 65 56 69 65 77 5f 47 65 74 53 65 6c 65 63  reeView_GetSelec
22140 74 69 6f 6e 28 48 57 4e 44 20 77 29 20 7b 0d 0a  tion(HWND w) {..
22150 09 72 65 74 75 72 6e 20 54 72 65 65 56 69 65 77  .return TreeView
22160 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 77 2c 20  _GetNextItem(w, 
22170 6e 75 6c 6c 2c 20 54 56 47 4e 5f 43 41 52 45 54  null, TVGN_CARET
22180 29 3b 0d 0a 7d 0d 0a 0d 0a 48 54 52 45 45 49 54  );..}....HTREEIT
22190 45 4d 20 54 72 65 65 56 69 65 77 5f 47 65 74 44  EM TreeView_GetD
221a0 72 6f 70 48 69 6c 69 67 68 74 28 48 54 52 45 45  ropHilight(HTREE
221b0 49 54 45 4d 20 77 29 20 7b 0d 0a 09 72 65 74 75  ITEM w) {...retu
221c0 72 6e 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e  rn TreeView_GetN
221d0 65 78 74 49 74 65 6d 28 77 2c 20 6e 75 6c 6c 2c  extItem(w, null,
221e0 20 54 56 47 4e 5f 44 52 4f 50 48 49 4c 49 54 45   TVGN_DROPHILITE
221f0 29 3b 0d 0a 7d 0d 0a 0d 0a 48 54 52 45 45 49 54  );..}....HTREEIT
22200 45 4d 20 54 72 65 65 56 69 65 77 5f 47 65 74 52  EM TreeView_GetR
22210 6f 6f 74 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09  oot(HWND w) {...
22220 72 65 74 75 72 6e 20 54 72 65 65 56 69 65 77 5f  return TreeView_
22230 47 65 74 4e 65 78 74 49 74 65 6d 28 77 2c 20 6e  GetNextItem(w, n
22240 75 6c 6c 2c 20 54 56 47 4e 5f 52 4f 4f 54 29 3b  ull, TVGN_ROOT);
22250 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54 72 65 65  ..}....BOOL Tree
22260 56 69 65 77 5f 53 65 6c 65 63 74 28 48 57 4e 44  View_Select(HWND
22270 20 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69 2c   w, HTREEITEM i,
22280 20 55 49 4e 54 20 63 29 20 7b 0d 0a 09 72 65 74   UINT c) {...ret
22290 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
222a0 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56  endMessage(w, TV
222b0 4d 5f 53 45 4c 45 43 54 49 54 45 4d 2c 20 63 2c  M_SELECTITEM, c,
222c0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 69 29   cast(LPARAM) i)
222d0 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54 72 65  ;..}....BOOL Tre
222e0 65 56 69 65 77 5f 53 65 6c 65 63 74 49 74 65 6d  eView_SelectItem
222f0 28 48 57 4e 44 20 77 2c 20 48 54 52 45 45 49 54  (HWND w, HTREEIT
22300 45 4d 20 69 29 20 7b 0d 0a 09 72 65 74 75 72 6e  EM i) {...return
22310 20 54 72 65 65 56 69 65 77 5f 53 65 6c 65 63 74   TreeView_Select
22320 28 77 2c 20 69 2c 20 54 56 47 4e 5f 43 41 52 45  (w, i, TVGN_CARE
22330 54 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54  T);..}....BOOL T
22340 72 65 65 56 69 65 77 5f 53 65 6c 65 63 74 44 72  reeView_SelectDr
22350 6f 70 54 61 72 67 65 74 28 48 57 4e 44 20 77 2c  opTarget(HWND w,
22360 20 48 54 52 45 45 49 54 45 4d 20 69 29 20 7b 0d   HTREEITEM i) {.
22370 0a 09 72 65 74 75 72 6e 20 54 72 65 65 56 69 65  ..return TreeVie
22380 77 5f 53 65 6c 65 63 74 28 77 2c 20 69 2c 20 54  w_Select(w, i, T
22390 56 47 4e 5f 44 52 4f 50 48 49 4c 49 54 45 29 3b  VGN_DROPHILITE);
223a0 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54 72 65 65  ..}....BOOL Tree
223b0 56 69 65 77 5f 53 65 6c 65 63 74 53 65 74 46 69  View_SelectSetFi
223c0 72 73 74 56 69 73 69 62 6c 65 28 48 57 4e 44 20  rstVisible(HWND 
223d0 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69 29 20  w, HTREEITEM i) 
223e0 7b 0d 0a 09 72 65 74 75 72 6e 20 54 72 65 65 56  {...return TreeV
223f0 69 65 77 5f 53 65 6c 65 63 74 28 77 2c 20 69 2c  iew_Select(w, i,
22400 20 54 56 47 4e 5f 46 49 52 53 54 56 49 53 49 42   TVGN_FIRSTVISIB
22410 4c 45 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20  LE);..}....BOOL 
22420 54 72 65 65 56 69 65 77 5f 47 65 74 49 74 65 6d  TreeView_GetItem
22430 28 48 57 4e 44 20 77 2c 20 4c 50 54 56 49 54 45  (HWND w, LPTVITE
22440 4d 20 69 29 20 7b 0d 0a 20 72 65 74 75 72 6e 20  M i) {.. return 
22450 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
22460 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 47 45  essage(w, TVM_GE
22470 54 49 54 45 4d 2c 20 30 2c 20 63 61 73 74 28 4c  TITEM, 0, cast(L
22480 50 41 52 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a 0d  PARAM) i);..}...
22490 0a 42 4f 4f 4c 20 54 72 65 65 56 69 65 77 5f 53  .BOOL TreeView_S
224a0 65 74 49 74 65 6d 28 48 57 4e 44 20 77 2c 20 63  etItem(HWND w, c
224b0 6f 6e 73 74 28 54 56 5f 49 54 45 4d 29 2a 20 69  onst(TV_ITEM)* i
224c0 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73  ) {...return cas
224d0 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73  t(BOOL) SendMess
224e0 61 67 65 28 77 2c 20 54 56 4d 5f 53 45 54 49 54  age(w, TVM_SETIT
224f0 45 4d 2c 20 30 2c 20 63 61 73 74 28 4c 50 41 52  EM, 0, cast(LPAR
22500 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a 0d 0a 48 57  AM) i);..}....HW
22510 4e 44 20 54 72 65 65 56 69 65 77 5f 45 64 69 74  ND TreeView_Edit
22520 4c 61 62 65 6c 28 48 57 4e 44 20 77 2c 20 48 54  Label(HWND w, HT
22530 52 45 45 49 54 45 4d 20 69 29 20 7b 0d 0a 09 72  REEITEM i) {...r
22540 65 74 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29  eturn cast(HWND)
22550 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20   SendMessage(w, 
22560 54 56 4d 5f 45 44 49 54 4c 41 42 45 4c 2c 20 30  TVM_EDITLABEL, 0
22570 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 69  , cast(LPARAM) i
22580 29 3b 0d 0a 7d 0d 0a 0d 0a 48 57 4e 44 20 54 72  );..}....HWND Tr
22590 65 65 56 69 65 77 5f 47 65 74 45 64 69 74 43 6f  eeView_GetEditCo
225a0 6e 74 72 6f 6c 28 48 57 4e 44 20 77 29 20 7b 0d  ntrol(HWND w) {.
225b0 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 48 57  ..return cast(HW
225c0 4e 44 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  ND) SendMessage(
225d0 77 2c 20 54 56 4d 5f 47 45 54 45 44 49 54 43 4f  w, TVM_GETEDITCO
225e0 4e 54 52 4f 4c 2c 20 30 2c 20 30 29 3b 0d 0a 7d  NTROL, 0, 0);..}
225f0 0d 0a 0d 0a 55 49 4e 54 20 54 72 65 65 56 69 65  ....UINT TreeVie
22600 77 5f 47 65 74 56 69 73 69 62 6c 65 43 6f 75 6e  w_GetVisibleCoun
22610 74 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 72 65  t(HWND w) {...re
22620 74 75 72 6e 20 63 61 73 74 28 55 49 4e 54 29 20  turn cast(UINT) 
22630 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54  SendMessage(w, T
22640 56 4d 5f 47 45 54 56 49 53 49 42 4c 45 43 4f 55  VM_GETVISIBLECOU
22650 4e 54 2c 20 30 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d  NT, 0, 0);..}...
22660 0a 48 54 52 45 45 49 54 45 4d 20 54 72 65 65 56  .HTREEITEM TreeV
22670 69 65 77 5f 48 69 74 54 65 73 74 28 48 57 4e 44  iew_HitTest(HWND
22680 20 77 2c 20 4c 50 54 56 48 49 54 54 45 53 54 49   w, LPTVHITTESTI
22690 4e 46 4f 20 70 29 20 7b 0d 0a 09 72 65 74 75 72  NFO p) {...retur
226a0 6e 20 63 61 73 74 28 48 54 52 45 45 49 54 45 4d  n cast(HTREEITEM
226b0 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
226c0 20 54 56 4d 5f 48 49 54 54 45 53 54 2c 20 30 2c   TVM_HITTEST, 0,
226d0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29   cast(LPARAM) p)
226e0 3b 0d 0a 7d 0d 0a 0d 0a 48 49 4d 41 47 45 4c 49  ;..}....HIMAGELI
226f0 53 54 20 54 72 65 65 56 69 65 77 5f 43 72 65 61  ST TreeView_Crea
22700 74 65 44 72 61 67 49 6d 61 67 65 28 48 57 4e 44  teDragImage(HWND
22710 20 77 2c 20 48 54 52 45 45 49 54 45 4d 20 69 29   w, HTREEITEM i)
22720 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74   {...return cast
22730 28 48 49 4d 41 47 45 4c 49 53 54 29 20 53 65 6e  (HIMAGELIST) Sen
22740 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f  dMessage(w, TVM_
22750 43 52 45 41 54 45 44 52 41 47 49 4d 41 47 45 2c  CREATEDRAGIMAGE,
22760 20 30 2c 0d 0a 09 20 20 63 61 73 74 28 4c 50 41   0,...  cast(LPA
22770 52 41 4d 29 20 69 29 3b 0d 0a 7d 0d 0a 0d 0a 42  RAM) i);..}....B
22780 4f 4f 4c 20 54 72 65 65 56 69 65 77 5f 53 6f 72  OOL TreeView_Sor
22790 74 43 68 69 6c 64 72 65 6e 28 48 57 4e 44 20 77  tChildren(HWND w
227a0 2c 20 48 54 52 45 45 49 54 45 4d 20 69 2c 20 42  , HTREEITEM i, B
227b0 4f 4f 4c 20 72 29 20 7b 0d 0a 09 72 65 74 75 72  OOL r) {...retur
227c0 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
227d0 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f  dMessage(w, TVM_
227e0 53 4f 52 54 43 48 49 4c 44 52 45 4e 2c 20 72 2c  SORTCHILDREN, r,
227f0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 69 29   cast(LPARAM) i)
22800 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54 72 65  ;..}....BOOL Tre
22810 65 56 69 65 77 5f 45 6e 73 75 72 65 56 69 73 69  eView_EnsureVisi
22820 62 6c 65 28 48 57 4e 44 20 77 2c 20 48 54 52 45  ble(HWND w, HTRE
22830 45 49 54 45 4d 20 69 29 20 7b 0d 0a 09 72 65 74  EITEM i) {...ret
22840 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53  urn cast(BOOL) S
22850 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56  endMessage(w, TV
22860 4d 5f 45 4e 53 55 52 45 56 49 53 49 42 4c 45 2c  M_ENSUREVISIBLE,
22870 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29   0, cast(LPARAM)
22880 20 69 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20   i);..}....BOOL 
22890 54 72 65 65 56 69 65 77 5f 53 6f 72 74 43 68 69  TreeView_SortChi
228a0 6c 64 72 65 6e 43 42 28 48 57 4e 44 20 77 2c 20  ldrenCB(HWND w, 
228b0 4c 50 54 56 53 4f 52 54 43 42 20 73 2c 20 42 4f  LPTVSORTCB s, BO
228c0 4f 4c 20 72 29 20 7b 0d 0a 09 72 65 74 75 72 6e  OL r) {...return
228d0 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64   cast(BOOL) Send
228e0 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 53  Message(w, TVM_S
228f0 4f 52 54 43 48 49 4c 44 52 45 4e 43 42 2c 20 72  ORTCHILDRENCB, r
22900 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 73  , cast(LPARAM) s
22910 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 54 72  );..}....BOOL Tr
22920 65 65 56 69 65 77 5f 45 6e 64 45 64 69 74 4c 61  eeView_EndEditLa
22930 62 65 6c 4e 6f 77 28 48 57 4e 44 20 77 2c 20 42  belNow(HWND w, B
22940 4f 4f 4c 20 66 29 20 7b 0d 0a 09 72 65 74 75 72  OOL f) {...retur
22950 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
22960 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f  dMessage(w, TVM_
22970 45 4e 44 45 44 49 54 4c 41 42 45 4c 4e 4f 57 2c  ENDEDITLABELNOW,
22980 20 66 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f   f, 0);..}....BO
22990 4f 4c 20 54 72 65 65 56 69 65 77 5f 47 65 74 49  OL TreeView_GetI
229a0 53 65 61 72 63 68 53 74 72 69 6e 67 28 48 57 4e  SearchString(HWN
229b0 44 20 77 2c 20 4c 50 54 53 54 52 20 73 29 20 7b  D w, LPTSTR s) {
229c0 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 74 28 42  ...return cast(B
229d0 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65  OOL) SendMessage
229e0 28 77 2c 20 54 56 4d 5f 47 45 54 49 53 45 41 52  (w, TVM_GETISEAR
229f0 43 48 53 54 52 49 4e 47 2c 20 30 2c 20 63 61 73  CHSTRING, 0, cas
22a00 74 28 4c 50 41 52 41 4d 29 20 73 29 3b 0d 0a 7d  t(LPARAM) s);..}
22a10 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f  ....static if (_
22a20 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 33 30  WIN32_IE >= 0x30
22a30 30 29 20 7b 0d 0a 09 44 57 4f 52 44 20 4c 69 73  0) {...DWORD Lis
22a40 74 56 69 65 77 5f 41 70 70 72 6f 78 69 6d 61 74  tView_Approximat
22a50 65 56 69 65 77 52 65 63 74 28 48 57 4e 44 20 77  eViewRect(HWND w
22a60 2c 20 69 6e 74 20 69 77 2c 20 69 6e 74 20 69 68  , int iw, int ih
22a70 2c 20 69 6e 74 20 69 29 20 7b 0d 0a 09 09 72 65  , int i) {....re
22a80 74 75 72 6e 20 63 61 73 74 28 44 57 4f 52 44 29  turn cast(DWORD)
22a90 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20   SendMessage(w, 
22aa0 4c 56 4d 5f 41 50 50 52 4f 58 49 4d 41 54 45 56  LVM_APPROXIMATEV
22ab0 49 45 57 52 45 43 54 2c 20 69 2c 0d 0a 09 09 20  IEWRECT, i,.... 
22ac0 20 4d 41 4b 45 4c 50 41 52 41 4d 28 63 61 73 74   MAKELPARAM(cast
22ad0 28 75 73 68 6f 72 74 29 69 77 2c 20 63 61 73 74  (ushort)iw, cast
22ae0 28 75 73 68 6f 72 74 29 69 68 29 29 3b 0d 0a 09  (ushort)ih));...
22af0 7d 0d 0a 0d 0a 09 44 57 4f 52 44 20 4c 69 73 74  }.....DWORD List
22b00 56 69 65 77 5f 53 65 74 45 78 74 65 6e 64 65 64  View_SetExtended
22b10 4c 69 73 74 56 69 65 77 53 74 79 6c 65 28 48 57  ListViewStyle(HW
22b20 4e 44 20 77 2c 20 44 57 4f 52 44 20 73 29 20 7b  ND w, DWORD s) {
22b30 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28  ....return cast(
22b40 44 57 4f 52 44 29 20 53 65 6e 64 4d 65 73 73 61  DWORD) SendMessa
22b50 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 45 58 54  ge(w, LVM_SETEXT
22b60 45 4e 44 45 44 4c 49 53 54 56 49 45 57 53 54 59  ENDEDLISTVIEWSTY
22b70 4c 45 2c 20 30 2c 20 73 29 3b 0d 0a 09 7d 0d 0a  LE, 0, s);...}..
22b80 0d 0a 09 44 57 4f 52 44 20 4c 69 73 74 56 69 65  ...DWORD ListVie
22b90 77 5f 47 65 74 45 78 74 65 6e 64 65 64 4c 69 73  w_GetExtendedLis
22ba0 74 56 69 65 77 53 74 79 6c 65 28 48 57 4e 44 20  tViewStyle(HWND 
22bb0 77 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  w) {....return c
22bc0 61 73 74 28 44 57 4f 52 44 29 20 53 65 6e 64 4d  ast(DWORD) SendM
22bd0 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45  essage(w, LVM_GE
22be0 54 45 58 54 45 4e 44 45 44 4c 49 53 54 56 49 45  TEXTENDEDLISTVIE
22bf0 57 53 54 59 4c 45 2c 20 30 2c 20 30 29 3b 0d 0a  WSTYLE, 0, 0);..
22c00 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 4c 69 73 74  .}.....BOOL List
22c10 56 69 65 77 5f 53 65 74 43 6f 6c 75 6d 6e 4f 72  View_SetColumnOr
22c20 64 65 72 41 72 72 61 79 28 48 57 4e 44 20 77 2c  derArray(HWND w,
22c30 20 69 6e 74 20 69 2c 20 69 6e 74 2a 20 61 29 20   int i, int* a) 
22c40 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
22c50 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
22c60 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 43 4f 4c  ge(w, LVM_SETCOL
22c70 55 4d 4e 4f 52 44 45 52 41 52 52 41 59 2c 0d 0a  UMNORDERARRAY,..
22c80 09 09 20 20 63 61 73 74 28 57 50 41 52 41 4d 29  ..  cast(WPARAM)
22c90 20 69 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29   i, cast(LPARAM)
22ca0 20 61 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f   a);...}.....BOO
22cb0 4c 20 4c 69 73 74 56 69 65 77 5f 47 65 74 43 6f  L ListView_GetCo
22cc0 6c 75 6d 6e 4f 72 64 65 72 41 72 72 61 79 28 48  lumnOrderArray(H
22cd0 57 4e 44 20 77 2c 20 69 6e 74 20 69 2c 20 69 6e  WND w, int i, in
22ce0 74 2a 20 61 29 20 7b 0d 0a 09 09 72 65 74 75 72  t* a) {....retur
22cf0 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e  n cast(BOOL) Sen
22d00 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
22d10 47 45 54 43 4f 4c 55 4d 4e 4f 52 44 45 52 41 52  GETCOLUMNORDERAR
22d20 52 41 59 2c 0d 0a 09 09 20 20 63 61 73 74 28 57  RAY,....  cast(W
22d30 50 41 52 41 4d 29 20 69 2c 20 63 61 73 74 28 4c  PARAM) i, cast(L
22d40 50 41 52 41 4d 29 20 61 29 3b 0d 0a 09 7d 0d 0a  PARAM) a);...}..
22d50 0d 0a 09 48 57 4e 44 20 4c 69 73 74 56 69 65 77  ...HWND ListView
22d60 5f 47 65 74 48 65 61 64 65 72 28 48 57 4e 44 20  _GetHeader(HWND 
22d70 77 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  w) {....return c
22d80 61 73 74 28 48 57 4e 44 29 20 53 65 6e 64 4d 65  ast(HWND) SendMe
22d90 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54  ssage(w, LVM_GET
22da0 48 45 41 44 45 52 2c 20 30 2c 20 30 29 3b 0d 0a  HEADER, 0, 0);..
22db0 09 7d 0d 0a 0d 0a 09 48 43 55 52 53 4f 52 20 4c  .}.....HCURSOR L
22dc0 69 73 74 56 69 65 77 5f 47 65 74 48 6f 74 43 75  istView_GetHotCu
22dd0 72 73 6f 72 28 48 57 4e 44 20 77 29 20 7b 0d 0a  rsor(HWND w) {..
22de0 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 48 43  ..return cast(HC
22df0 55 52 53 4f 52 29 20 53 65 6e 64 4d 65 73 73 61  URSOR) SendMessa
22e00 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 48 4f 54  ge(w, LVM_GETHOT
22e10 43 55 52 53 4f 52 2c 20 30 2c 20 30 29 3b 0d 0a  CURSOR, 0, 0);..
22e20 09 7d 0d 0a 0d 0a 09 49 4e 54 20 4c 69 73 74 56  .}.....INT ListV
22e30 69 65 77 5f 47 65 74 48 6f 74 49 74 65 6d 28 48  iew_GetHotItem(H
22e40 57 4e 44 20 77 29 20 7b 0d 0a 09 09 72 65 74 75  WND w) {....retu
22e50 72 6e 20 63 61 73 74 28 49 4e 54 29 20 53 65 6e  rn cast(INT) Sen
22e60 64 4d 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f  dMessage(w, LVM_
22e70 47 45 54 48 4f 54 49 54 45 4d 2c 20 30 2c 20 30  GETHOTITEM, 0, 0
22e80 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20  );...}.....BOOL 
22e90 4c 69 73 74 56 69 65 77 5f 47 65 74 53 75 62 49  ListView_GetSubI
22ea0 74 65 6d 52 65 63 74 28 48 57 4e 44 20 77 2c 20  temRect(HWND w, 
22eb0 69 6e 74 20 69 2c 20 69 6e 74 20 69 73 69 2c 20  int i, int isi, 
22ec0 69 6e 74 20 63 2c 20 4c 50 52 45 43 54 20 70 29  int c, LPRECT p)
22ed0 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73   {....return cas
22ee0 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73  t(BOOL) SendMess
22ef0 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 53 55  age(w, LVM_GETSU
22f00 42 49 54 45 4d 52 45 43 54 2c 20 69 2c 0d 0a 09  BITEMRECT, i,...
22f10 09 20 20 70 20 3f 20 28 70 2e 6c 65 66 74 20 3d  .  p ? (p.left =
22f20 20 63 2c 20 70 2e 74 6f 70 20 3d 20 69 73 69 2c   c, p.top = isi,
22f30 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29   cast(LPARAM) p)
22f40 20 3a 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 48   : 0);...}.....H
22f50 43 55 52 53 4f 52 20 4c 69 73 74 56 69 65 77 5f  CURSOR ListView_
22f60 53 65 74 48 6f 74 43 75 72 73 6f 72 28 48 57 4e  SetHotCursor(HWN
22f70 44 20 77 2c 20 48 43 55 52 53 4f 52 20 63 29 20  D w, HCURSOR c) 
22f80 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
22f90 28 48 43 55 52 53 4f 52 29 20 53 65 6e 64 4d 65  (HCURSOR) SendMe
22fa0 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54  ssage(w, LVM_SET
22fb0 48 4f 54 43 55 52 53 4f 52 2c 20 30 2c 0d 0a 09  HOTCURSOR, 0,...
22fc0 09 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20  .  cast(LPARAM) 
22fd0 63 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 49 4e 54 20  c);...}.....INT 
22fe0 4c 69 73 74 56 69 65 77 5f 53 65 74 48 6f 74 49  ListView_SetHotI
22ff0 74 65 6d 28 48 57 4e 44 20 77 2c 20 49 4e 54 20  tem(HWND w, INT 
23000 69 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  i) {....return c
23010 61 73 74 28 49 4e 54 29 20 53 65 6e 64 4d 65 73  ast(INT) SendMes
23020 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 48  sage(w, LVM_SETH
23030 4f 54 49 54 45 4d 2c 20 63 61 73 74 28 57 50 41  OTITEM, cast(WPA
23040 52 41 4d 29 20 69 2c 20 30 29 3b 0d 0a 09 7d 0d  RAM) i, 0);...}.
23050 0a 0d 0a 09 44 57 4f 52 44 20 4c 69 73 74 56 69  ....DWORD ListVi
23060 65 77 5f 53 65 74 49 63 6f 6e 53 70 61 63 69 6e  ew_SetIconSpacin
23070 67 28 48 57 4e 44 20 77 2c 20 69 6e 74 20 78 2c  g(HWND w, int x,
23080 20 69 6e 74 20 79 29 20 7b 0d 0a 09 09 72 65 74   int y) {....ret
23090 75 72 6e 20 63 61 73 74 28 44 57 4f 52 44 29 20  urn cast(DWORD) 
230a0 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c  SendMessage(w, L
230b0 56 4d 5f 53 45 54 49 43 4f 4e 53 50 41 43 49 4e  VM_SETICONSPACIN
230c0 47 2c 20 30 2c 0d 0a 09 09 20 20 4d 41 4b 45 4c  G, 0,....  MAKEL
230d0 4f 4e 47 28 63 61 73 74 28 75 73 68 6f 72 74 29  ONG(cast(ushort)
230e0 78 2c 20 63 61 73 74 28 75 73 68 6f 72 74 29 79  x, cast(ushort)y
230f0 29 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 49 4e 54 20  ));...}.....INT 
23100 4c 69 73 74 56 69 65 77 5f 53 75 62 49 74 65 6d  ListView_SubItem
23110 48 69 74 54 65 73 74 28 48 57 4e 44 20 77 2c 20  HitTest(HWND w, 
23120 4c 50 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 20  LPLVHITTESTINFO 
23130 70 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  p) {....return c
23140 61 73 74 28 49 4e 54 29 20 53 65 6e 64 4d 65 73  ast(INT) SendMes
23150 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 55 42 49  sage(w, LVM_SUBI
23160 54 45 4d 48 49 54 54 45 53 54 2c 20 30 2c 20 63  TEMHITTEST, 0, c
23170 61 73 74 28 4c 50 41 52 41 4d 29 20 70 29 3b 0d  ast(LPARAM) p);.
23180 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 4c 69 73  ..}.....BOOL Lis
23190 74 56 69 65 77 5f 53 65 74 49 74 65 6d 43 6f 75  tView_SetItemCou
231a0 6e 74 45 78 28 48 57 4e 44 20 77 2c 20 69 6e 74  ntEx(HWND w, int
231b0 20 69 2c 20 44 57 4f 52 44 20 66 29 20 7b 0d 0a   i, DWORD f) {..
231c0 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f  ..return cast(BO
231d0 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  OL) SendMessage(
231e0 77 2c 20 4c 56 4d 5f 53 45 54 49 54 45 4d 43 4f  w, LVM_SETITEMCO
231f0 55 4e 54 2c 20 69 2c 20 63 61 73 74 28 4c 50 41  UNT, i, cast(LPA
23200 52 41 4d 29 20 66 29 3b 0d 0a 09 7d 0d 0a 0d 0a  RAM) f);...}....
23210 09 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73  .extern (Windows
23220 29 20 7b 0d 0a 09 09 57 49 4e 42 4f 4f 4c 20 49  ) {....WINBOOL I
23230 6d 61 67 65 4c 69 73 74 5f 53 65 74 49 6d 61 67  mageList_SetImag
23240 65 43 6f 75 6e 74 28 48 49 4d 41 47 45 4c 49 53  eCount(HIMAGELIS
23250 54 2c 20 55 49 4e 54 29 3b 0d 0a 09 09 57 49 4e  T, UINT);....WIN
23260 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 43  BOOL ImageList_C
23270 6f 70 79 28 48 49 4d 41 47 45 4c 49 53 54 2c 20  opy(HIMAGELIST, 
23280 69 6e 74 2c 20 48 49 4d 41 47 45 4c 49 53 54 2c  int, HIMAGELIST,
23290 20 69 6e 74 2c 20 55 49 4e 54 29 3b 0d 0a 09 09   int, UINT);....
232a0 57 49 4e 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73  WINBOOL ImageLis
232b0 74 5f 44 72 61 77 49 6e 64 69 72 65 63 74 28 49  t_DrawIndirect(I
232c0 4d 41 47 45 4c 49 53 54 44 52 41 57 50 41 52 41  MAGELISTDRAWPARA
232d0 4d 53 2a 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 69 6e  MS*);...}.....in
232e0 74 20 54 61 62 43 74 72 6c 5f 53 65 74 4d 69 6e  t TabCtrl_SetMin
232f0 54 61 62 57 69 64 74 68 28 48 57 4e 44 20 68 77  TabWidth(HWND hw
23300 6e 64 2c 20 69 6e 74 20 78 29 20 7b 0d 0a 09 09  nd, int x) {....
23310 72 65 74 75 72 6e 20 63 61 73 74 28 69 6e 74 29  return cast(int)
23320 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e   SendMessage(hwn
23330 64 2c 20 54 43 4d 5f 53 45 54 4d 49 4e 54 41 42  d, TCM_SETMINTAB
23340 57 49 44 54 48 2c 20 30 2c 20 78 29 3b 0d 0a 09  WIDTH, 0, x);...
23350 7d 0d 0a 0d 0a 09 56 4f 49 44 20 54 61 62 43 74  }.....VOID TabCt
23360 72 6c 5f 44 65 73 65 6c 65 63 74 41 6c 6c 28 48  rl_DeselectAll(H
23370 57 4e 44 20 68 77 6e 64 2c 20 55 49 4e 54 20 66  WND hwnd, UINT f
23380 45 78 63 6c 75 64 65 46 6f 63 75 73 29 20 7b 0d  ExcludeFocus) {.
23390 0a 09 09 53 65 6e 64 4d 65 73 73 61 67 65 28 68  ...SendMessage(h
233a0 77 6e 64 2c 20 54 43 4d 5f 44 45 53 45 4c 45 43  wnd, TCM_DESELEC
233b0 54 41 4c 4c 2c 20 66 45 78 63 6c 75 64 65 46 6f  TALL, fExcludeFo
233c0 63 75 73 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a  cus, 0);...}....
233d0 09 48 57 4e 44 20 54 72 65 65 56 69 65 77 5f 47  .HWND TreeView_G
233e0 65 74 54 6f 6f 6c 54 69 70 73 28 48 57 4e 44 20  etToolTips(HWND 
233f0 77 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  w) {....return c
23400 61 73 74 28 48 57 4e 44 29 20 53 65 6e 64 4d 65  ast(HWND) SendMe
23410 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 47 45 54  ssage(w, TVM_GET
23420 54 4f 4f 4c 54 49 50 53 2c 20 30 2c 20 30 29 3b  TOOLTIPS, 0, 0);
23430 0d 0a 09 7d 0d 0a 0d 0a 09 48 57 4e 44 20 54 72  ...}.....HWND Tr
23440 65 65 56 69 65 77 5f 53 65 74 54 6f 6f 6c 54 69  eeView_SetToolTi
23450 70 73 28 48 57 4e 44 20 77 2c 20 48 57 4e 44 20  ps(HWND w, HWND 
23460 77 74 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20  wt) {....return 
23470 63 61 73 74 28 48 57 4e 44 29 20 53 65 6e 64 4d  cast(HWND) SendM
23480 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 53 45  essage(w, TVM_SE
23490 54 54 4f 4f 4c 54 49 50 53 2c 20 63 61 73 74 28  TTOOLTIPS, cast(
234a0 57 50 41 52 41 4d 29 20 77 74 2c 20 30 29 3b 0d  WPARAM) wt, 0);.
234b0 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63  ..}..}....static
234c0 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
234d0 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 42 4f 4f  = 0x400) {...BOO
234e0 4c 20 4c 69 73 74 56 69 65 77 5f 47 65 74 42 6b  L ListView_GetBk
234f0 49 6d 61 67 65 28 48 57 4e 44 20 68 2c 20 4c 50  Image(HWND h, LP
23500 4c 56 42 4b 49 4d 41 47 45 20 70 6c 76 62 6b 69  LVBKIMAGE plvbki
23510 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
23520 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
23530 73 61 67 65 28 68 2c 20 4c 56 4d 5f 47 45 54 42  sage(h, LVM_GETB
23540 4b 49 4d 41 47 45 2c 20 30 2c 0d 0a 09 09 20 20  KIMAGE, 0,....  
23550 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 6c 76  cast(LPARAM) plv
23560 62 6b 69 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f  bki);...}.....BO
23570 4f 4c 20 4c 69 73 74 56 69 65 77 5f 53 65 74 42  OL ListView_SetB
23580 6b 49 6d 61 67 65 28 48 57 4e 44 20 68 2c 20 4c  kImage(HWND h, L
23590 50 4c 56 42 4b 49 4d 41 47 45 20 70 6c 76 62 6b  PLVBKIMAGE plvbk
235a0 69 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  i) {....return c
235b0 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
235c0 73 73 61 67 65 28 68 2c 20 4c 56 4d 5f 53 45 54  ssage(h, LVM_SET
235d0 42 4b 49 4d 41 47 45 2c 20 30 2c 0d 0a 09 09 20  BKIMAGE, 0,.... 
235e0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 70 6c   cast(LPARAM) pl
235f0 76 62 6b 69 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 44  vbki);...}.....D
23600 57 4f 52 44 20 4c 69 73 74 56 69 65 77 5f 53 65  WORD ListView_Se
23610 74 45 78 74 65 6e 64 65 64 4c 69 73 74 56 69 65  tExtendedListVie
23620 77 53 74 79 6c 65 45 78 28 48 57 4e 44 20 77 2c  wStyleEx(HWND w,
23630 20 44 57 4f 52 44 20 6d 2c 20 44 57 4f 52 44 20   DWORD m, DWORD 
23640 73 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  s) {....return c
23650 61 73 74 28 44 57 4f 52 44 29 20 53 65 6e 64 4d  ast(DWORD) SendM
23660 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45  essage(w, LVM_SE
23670 54 45 58 54 45 4e 44 45 44 4c 49 53 54 56 49 45  TEXTENDEDLISTVIE
23680 57 53 54 59 4c 45 2c 20 6d 2c 20 73 29 3b 0d 0a  WSTYLE, m, s);..
23690 09 7d 0d 0a 0d 0a 09 56 4f 49 44 20 4c 69 73 74  .}.....VOID List
236a0 56 69 65 77 5f 53 65 74 57 6f 72 6b 41 72 65 61  View_SetWorkArea
236b0 73 28 48 57 4e 44 20 77 2c 20 49 4e 54 20 6e 2c  s(HWND w, INT n,
236c0 20 4c 50 52 45 43 54 20 72 29 20 7b 0d 0a 09 09   LPRECT r) {....
236d0 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c  SendMessage(w, L
236e0 56 4d 5f 53 45 54 57 4f 52 4b 41 52 45 41 53 2c  VM_SETWORKAREAS,
236f0 20 63 61 73 74 28 57 50 41 52 41 4d 29 20 6e 2c   cast(WPARAM) n,
23700 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 72 29   cast(LPARAM) r)
23710 3b 0d 0a 09 7d 0d 0a 0d 0a 09 56 4f 49 44 20 4c  ;...}.....VOID L
23720 69 73 74 56 69 65 77 5f 47 65 74 57 6f 72 6b 41  istView_GetWorkA
23730 72 65 61 73 28 48 57 4e 44 20 77 2c 20 49 4e 54  reas(HWND w, INT
23740 20 6e 2c 20 4c 50 52 45 43 54 20 72 29 20 7b 0d   n, LPRECT r) {.
23750 0a 09 09 53 65 6e 64 4d 65 73 73 61 67 65 28 77  ...SendMessage(w
23760 2c 20 4c 56 4d 5f 47 45 54 57 4f 52 4b 41 52 45  , LVM_GETWORKARE
23770 41 53 2c 20 63 61 73 74 28 57 50 41 52 41 4d 29  AS, cast(WPARAM)
23780 20 6e 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29   n, cast(LPARAM)
23790 20 72 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f   r);...}.....BOO
237a0 4c 20 4c 69 73 74 56 69 65 77 5f 47 65 74 4e 75  L ListView_GetNu
237b0 6d 62 65 72 4f 66 57 6f 72 6b 41 72 65 61 73 28  mberOfWorkAreas(
237c0 48 57 4e 44 20 77 2c 20 4c 50 55 49 4e 54 20 6e  HWND w, LPUINT n
237d0 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
237e0 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
237f0 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 4e  sage(w, LVM_GETN
23800 55 4d 42 45 52 4f 46 57 4f 52 4b 41 52 45 41 53  UMBEROFWORKAREAS
23810 2c 20 30 2c 0d 0a 09 09 20 20 63 61 73 74 28 4c  , 0,....  cast(L
23820 50 41 52 41 4d 29 20 6e 29 3b 0d 0a 09 7d 0d 0a  PARAM) n);...}..
23830 0d 0a 09 44 57 4f 52 44 20 4c 69 73 74 56 69 65  ...DWORD ListVie
23840 77 5f 53 65 74 48 6f 76 65 72 54 69 6d 65 28 48  w_SetHoverTime(H
23850 57 4e 44 20 77 2c 20 44 57 4f 52 44 20 74 29 20  WND w, DWORD t) 
23860 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
23870 28 44 57 4f 52 44 29 20 53 65 6e 64 4d 65 73 73  (DWORD) SendMess
23880 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 48 4f  age(w, LVM_SETHO
23890 56 45 52 54 49 4d 45 2c 20 30 2c 0d 0a 09 09 20  VERTIME, 0,.... 
238a0 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 74 29   cast(LPARAM) t)
238b0 3b 0d 0a 09 7d 0d 0a 0d 0a 09 44 57 4f 52 44 20  ;...}.....DWORD 
238c0 4c 69 73 74 56 69 65 77 5f 47 65 74 48 6f 76 65  ListView_GetHove
238d0 72 54 69 6d 65 28 48 57 4e 44 20 77 29 20 7b 0d  rTime(HWND w) {.
238e0 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 44  ...return cast(D
238f0 57 4f 52 44 29 20 53 65 6e 64 4d 65 73 73 61 67  WORD) SendMessag
23900 65 28 77 2c 20 4c 56 4d 5f 47 45 54 48 4f 56 45  e(w, LVM_GETHOVE
23910 52 54 49 4d 45 2c 20 30 2c 20 30 29 3b 0d 0a 09  RTIME, 0, 0);...
23920 7d 0d 0a 0d 0a 09 49 4e 54 20 4c 69 73 74 56 69  }.....INT ListVi
23930 65 77 5f 47 65 74 53 65 6c 65 63 74 69 6f 6e 4d  ew_GetSelectionM
23940 61 72 6b 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09  ark(HWND w) {...
23950 09 72 65 74 75 72 6e 20 63 61 73 74 28 49 4e 54  .return cast(INT
23960 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
23970 20 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 49 4f   LVM_GETSELECTIO
23980 4e 4d 41 52 4b 2c 20 30 2c 20 30 29 3b 0d 0a 09  NMARK, 0, 0);...
23990 7d 0d 0a 0d 0a 09 49 4e 54 20 4c 69 73 74 56 69  }.....INT ListVi
239a0 65 77 5f 53 65 74 53 65 6c 65 63 74 69 6f 6e 4d  ew_SetSelectionM
239b0 61 72 6b 28 48 57 4e 44 20 77 2c 20 49 4e 54 20  ark(HWND w, INT 
239c0 69 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  i) {....return c
239d0 61 73 74 28 49 4e 54 29 20 53 65 6e 64 4d 65 73  ast(INT) SendMes
239e0 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45 54 53  sage(w, LVM_SETS
239f0 45 4c 45 43 54 49 4f 4e 4d 41 52 4b 2c 20 30 2c  ELECTIONMARK, 0,
23a00 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 69 29   cast(LPARAM) i)
23a10 3b 0d 0a 09 7d 0d 0a 0d 0a 09 48 57 4e 44 20 4c  ;...}.....HWND L
23a20 69 73 74 56 69 65 77 5f 53 65 74 54 6f 6f 6c 54  istView_SetToolT
23a30 69 70 73 28 48 57 4e 44 20 77 2c 20 48 57 4e 44  ips(HWND w, HWND
23a40 20 6e 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20   n) {....return 
23a50 63 61 73 74 28 48 57 4e 44 29 20 53 65 6e 64 4d  cast(HWND) SendM
23a60 65 73 73 61 67 65 28 77 2c 20 4c 56 4d 5f 53 45  essage(w, LVM_SE
23a70 54 54 4f 4f 4c 54 49 50 53 2c 20 63 61 73 74 28  TTOOLTIPS, cast(
23a80 57 50 41 52 41 4d 29 20 6e 2c 20 30 29 3b 0d 0a  WPARAM) n, 0);..
23a90 09 7d 0d 0a 0d 0a 09 48 57 4e 44 20 4c 69 73 74  .}.....HWND List
23aa0 56 69 65 77 5f 47 65 74 54 6f 6f 6c 54 69 70 73  View_GetToolTips
23ab0 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 09 72 65  (HWND w) {....re
23ac0 74 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29 20  turn cast(HWND) 
23ad0 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 4c  SendMessage(w, L
23ae0 56 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 2c 20  VM_GETTOOLTIPS, 
23af0 30 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42  0, 0);...}.....B
23b00 4f 4f 4c 20 4c 69 73 74 56 69 65 77 5f 53 65 74  OOL ListView_Set
23b10 55 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 48 57  UnicodeFormat(HW
23b20 4e 44 20 77 2c 20 42 4f 4f 4c 20 66 29 20 7b 0d  ND w, BOOL f) {.
23b30 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 42  ...return cast(B
23b40 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65  OOL) SendMessage
23b50 28 77 2c 20 4c 56 4d 5f 53 45 54 55 4e 49 43 4f  (w, LVM_SETUNICO
23b60 44 45 46 4f 52 4d 41 54 2c 0d 0a 09 09 20 20 63  DEFORMAT,....  c
23b70 61 73 74 28 57 50 41 52 41 4d 29 20 66 2c 20 30  ast(WPARAM) f, 0
23b80 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20  );...}.....BOOL 
23b90 4c 69 73 74 56 69 65 77 5f 47 65 74 55 6e 69 63  ListView_GetUnic
23ba0 6f 64 65 46 6f 72 6d 61 74 28 48 57 4e 44 20 77  odeFormat(HWND w
23bb0 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61  ) {....return ca
23bc0 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73  st(BOOL) SendMes
23bd0 73 61 67 65 28 77 2c 20 4c 56 4d 5f 47 45 54 55  sage(w, LVM_GETU
23be0 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c  NICODEFORMAT, 0,
23bf0 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f   0);...}.....BOO
23c00 4c 20 54 61 62 43 74 72 6c 5f 48 69 67 68 6c 69  L TabCtrl_Highli
23c10 67 68 74 49 74 65 6d 28 48 57 4e 44 20 68 77 6e  ghtItem(HWND hwn
23c20 64 2c 20 49 4e 54 20 69 2c 20 57 4f 52 44 20 66  d, INT i, WORD f
23c30 48 69 67 68 6c 69 67 68 74 29 20 7b 0d 0a 09 09  Highlight) {....
23c40 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c  return cast(BOOL
23c50 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 77  ) SendMessage(hw
23c60 6e 64 2c 20 54 43 4d 5f 48 49 47 48 4c 49 47 48  nd, TCM_HIGHLIGH
23c70 54 49 54 45 4d 2c 0d 0a 09 09 20 20 63 61 73 74  TITEM,....  cast
23c80 28 57 50 41 52 41 4d 29 20 69 2c 20 63 61 73 74  (WPARAM) i, cast
23c90 28 4c 50 41 52 41 4d 29 20 4d 41 4b 45 4c 4f 4e  (LPARAM) MAKELON
23ca0 47 28 66 48 69 67 68 6c 69 67 68 74 2c 20 30 29  G(fHighlight, 0)
23cb0 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 44 57 4f 52 44  );...}.....DWORD
23cc0 20 54 61 62 43 74 72 6c 5f 53 65 74 45 78 74 65   TabCtrl_SetExte
23cd0 6e 64 65 64 53 74 79 6c 65 28 48 57 4e 44 20 68  ndedStyle(HWND h
23ce0 77 6e 64 2c 20 44 57 4f 52 44 20 64 77 29 20 7b  wnd, DWORD dw) {
23cf0 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28  ....return cast(
23d00 44 57 4f 52 44 29 20 53 65 6e 64 4d 65 73 73 61  DWORD) SendMessa
23d10 67 65 28 68 77 6e 64 2c 20 54 43 4d 5f 53 45 54  ge(hwnd, TCM_SET
23d20 45 58 54 45 4e 44 45 44 53 54 59 4c 45 2c 20 30  EXTENDEDSTYLE, 0
23d30 2c 20 64 77 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 44  , dw);...}.....D
23d40 57 4f 52 44 20 54 61 62 43 74 72 6c 5f 47 65 74  WORD TabCtrl_Get
23d50 45 78 74 65 6e 64 65 64 53 74 79 6c 65 28 48 57  ExtendedStyle(HW
23d60 4e 44 20 68 77 6e 64 29 20 7b 0d 0a 09 09 72 65  ND hwnd) {....re
23d70 74 75 72 6e 20 63 61 73 74 28 44 57 4f 52 44 29  turn cast(DWORD)
23d80 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 77 6e   SendMessage(hwn
23d90 64 2c 20 54 43 4d 5f 47 45 54 45 58 54 45 4e 44  d, TCM_GETEXTEND
23da0 45 44 53 54 59 4c 45 2c 20 30 2c 20 30 29 3b 0d  EDSTYLE, 0, 0);.
23db0 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 54 61 62  ..}.....BOOL Tab
23dc0 43 74 72 6c 5f 53 65 74 55 6e 69 63 6f 64 65 46  Ctrl_SetUnicodeF
23dd0 6f 72 6d 61 74 28 48 57 4e 44 20 68 77 6e 64 2c  ormat(HWND hwnd,
23de0 20 48 57 4e 44 20 66 55 6e 69 63 6f 64 65 29 20   HWND fUnicode) 
23df0 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
23e00 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
23e10 67 65 28 68 77 6e 64 2c 20 54 43 4d 5f 53 45 54  ge(hwnd, TCM_SET
23e20 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 0d 0a  UNICODEFORMAT,..
23e30 09 09 20 20 63 61 73 74 28 57 50 41 52 41 4d 29  ..  cast(WPARAM)
23e40 20 66 55 6e 69 63 6f 64 65 2c 20 30 29 3b 0d 0a   fUnicode, 0);..
23e50 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 54 61 62 43  .}.....BOOL TabC
23e60 74 72 6c 5f 47 65 74 55 6e 69 63 6f 64 65 46 6f  trl_GetUnicodeFo
23e70 72 6d 61 74 28 48 57 4e 44 20 68 77 6e 64 29 20  rmat(HWND hwnd) 
23e80 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74  {....return cast
23e90 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61  (BOOL) SendMessa
23ea0 67 65 28 68 77 6e 64 2c 20 54 43 4d 5f 47 45 54  ge(hwnd, TCM_GET
23eb0 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 30  UNICODEFORMAT, 0
23ec0 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 43 4f  , 0);...}.....CO
23ed0 4c 4f 52 52 45 46 20 54 72 65 65 56 69 65 77 5f  LORREF TreeView_
23ee0 47 65 74 42 6b 43 6f 6c 6f 72 28 48 57 4e 44 20  GetBkColor(HWND 
23ef0 77 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  w) {....return c
23f00 61 73 74 28 43 4f 4c 4f 52 52 45 46 29 20 53 65  ast(COLORREF) Se
23f10 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d  ndMessage(w, TVM
23f20 5f 47 45 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20  _GETBKCOLOR, 0, 
23f30 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 43 4f 4c 4f  0);...}.....COLO
23f40 52 52 45 46 20 54 72 65 65 56 69 65 77 5f 47 65  RREF TreeView_Ge
23f50 74 49 6e 73 65 72 74 4d 61 72 6b 43 6f 6c 6f 72  tInsertMarkColor
23f60 28 48 57 4e 44 20 77 29 20 7b 0d 0a 09 09 72 65  (HWND w) {....re
23f70 74 75 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52 52  turn cast(COLORR
23f80 45 46 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28  EF) SendMessage(
23f90 77 2c 20 54 56 4d 5f 47 45 54 49 4e 53 45 52 54  w, TVM_GETINSERT
23fa0 4d 41 52 4b 43 4f 4c 4f 52 2c 20 30 2c 20 30 29  MARKCOLOR, 0, 0)
23fb0 3b 0d 0a 09 7d 0d 0a 0d 0a 09 69 6e 74 20 54 72  ;...}.....int Tr
23fc0 65 65 56 69 65 77 5f 47 65 74 49 74 65 6d 48 65  eeView_GetItemHe
23fd0 69 67 68 74 28 48 57 4e 44 20 77 29 20 7b 0d 0a  ight(HWND w) {..
23fe0 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 69 6e  ..return cast(in
23ff0 74 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77  t) SendMessage(w
24000 2c 20 54 56 4d 5f 47 45 54 49 54 45 4d 48 45 49  , TVM_GETITEMHEI
24010 47 48 54 2c 20 30 2c 20 30 29 3b 0d 0a 09 7d 0d  GHT, 0, 0);...}.
24020 0a 0d 0a 09 55 49 4e 54 20 54 72 65 65 56 69 65  ....UINT TreeVie
24030 77 5f 47 65 74 53 63 72 6f 6c 6c 54 69 6d 65 28  w_GetScrollTime(
24040 48 57 4e 44 20 77 29 20 7b 0d 0a 09 09 72 65 74  HWND w) {....ret
24050 75 72 6e 20 63 61 73 74 28 55 49 4e 54 29 20 53  urn cast(UINT) S
24060 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56  endMessage(w, TV
24070 4d 5f 47 45 54 53 43 52 4f 4c 4c 54 49 4d 45 2c  M_GETSCROLLTIME,
24080 20 30 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09   0, 0);...}.....
24090 43 4f 4c 4f 52 52 45 46 20 54 72 65 65 56 69 65  COLORREF TreeVie
240a0 77 5f 47 65 74 54 65 78 74 43 6f 6c 6f 72 28 48  w_GetTextColor(H
240b0 57 4e 44 20 77 29 20 7b 0d 0a 09 09 72 65 74 75  WND w) {....retu
240c0 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52 52 45 46  rn cast(COLORREF
240d0 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
240e0 20 54 56 4d 5f 47 45 54 54 45 58 54 43 4f 4c 4f   TVM_GETTEXTCOLO
240f0 52 2c 20 30 2c 20 30 29 3b 0d 0a 09 7d 0d 0a 0d  R, 0, 0);...}...
24100 0a 09 43 4f 4c 4f 52 52 45 46 20 54 72 65 65 56  ..COLORREF TreeV
24110 69 65 77 5f 53 65 74 42 6b 43 6f 6c 6f 72 28 48  iew_SetBkColor(H
24120 57 4e 44 20 77 2c 20 43 4f 4c 4f 52 52 45 46 20  WND w, COLORREF 
24130 63 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63  c) {....return c
24140 61 73 74 28 43 4f 4c 4f 52 52 45 46 29 20 53 65  ast(COLORREF) Se
24150 6e 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d  ndMessage(w, TVM
24160 5f 53 45 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 0d  _SETBKCOLOR, 0,.
24170 0a 09 09 20 20 63 61 73 74 28 4c 50 41 52 41 4d  ...  cast(LPARAM
24180 29 20 63 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 43 4f  ) c);...}.....CO
24190 4c 4f 52 52 45 46 20 54 72 65 65 56 69 65 77 5f  LORREF TreeView_
241a0 53 65 74 49 6e 73 65 72 74 4d 61 72 6b 43 6f 6c  SetInsertMarkCol
241b0 6f 72 28 48 57 4e 44 20 77 2c 20 43 4f 4c 4f 52  or(HWND w, COLOR
241c0 52 45 46 20 63 29 20 7b 0d 0a 09 09 72 65 74 75  REF c) {....retu
241d0 72 6e 20 63 61 73 74 28 43 4f 4c 4f 52 52 45 46  rn cast(COLORREF
241e0 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c  ) SendMessage(w,
241f0 20 54 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41   TVM_SETINSERTMA
24200 52 4b 43 4f 4c 4f 52 2c 20 30 2c 0d 0a 09 09 20  RKCOLOR, 0,.... 
24210 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 63 29   cast(LPARAM) c)
24220 3b 0d 0a 09 7d 0d 0a 0d 0a 09 69 6e 74 20 54 72  ;...}.....int Tr
24230 65 65 56 69 65 77 5f 53 65 74 49 74 65 6d 48 65  eeView_SetItemHe
24240 69 67 68 74 28 48 57 4e 44 20 77 2c 20 53 48 4f  ight(HWND w, SHO
24250 52 54 20 68 29 20 7b 0d 0a 09 09 72 65 74 75 72  RT h) {....retur
24260 6e 20 63 61 73 74 28 69 6e 74 29 20 53 65 6e 64  n cast(int) Send
24270 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 53  Message(w, TVM_S
24280 45 54 49 54 45 4d 48 45 49 47 48 54 2c 20 63 61  ETITEMHEIGHT, ca
24290 73 74 28 57 50 41 52 41 4d 29 20 68 2c 20 30 29  st(WPARAM) h, 0)
242a0 3b 0d 0a 09 7d 0d 0a 0d 0a 09 55 49 4e 54 20 54  ;...}.....UINT T
242b0 72 65 65 56 69 65 77 5f 53 65 74 53 63 72 6f 6c  reeView_SetScrol
242c0 6c 54 69 6d 65 28 48 57 4e 44 20 77 2c 20 55 49  lTime(HWND w, UI
242d0 4e 54 20 74 29 20 7b 0d 0a 09 09 72 65 74 75 72  NT t) {....retur
242e0 6e 20 63 61 73 74 28 55 49 4e 54 29 20 53 65 6e  n cast(UINT) Sen
242f0 64 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f  dMessage(w, TVM_
24300 53 45 54 53 43 52 4f 4c 4c 54 49 4d 45 2c 20 63  SETSCROLLTIME, c
24310 61 73 74 28 57 50 41 52 41 4d 29 20 74 2c 20 30  ast(WPARAM) t, 0
24320 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 43 4f 4c 4f 52  );...}.....COLOR
24330 52 45 46 20 54 72 65 65 56 69 65 77 5f 53 65 74  REF TreeView_Set
24340 54 65 78 74 43 6f 6c 6f 72 28 48 57 4e 44 20 77  TextColor(HWND w
24350 2c 20 43 4f 4c 4f 52 52 45 46 20 63 29 20 7b 0d  , COLORREF c) {.
24360 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 43  ...return cast(C
24370 4f 4c 4f 52 52 45 46 29 20 53 65 6e 64 4d 65 73  OLORREF) SendMes
24380 73 61 67 65 28 77 2c 20 54 56 4d 5f 53 45 54 54  sage(w, TVM_SETT
24390 45 58 54 43 4f 4c 4f 52 2c 20 30 2c 0d 0a 09 09  EXTCOLOR, 0,....
243a0 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 63    cast(LPARAM) c
243b0 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20  );...}.....BOOL 
243c0 54 72 65 65 56 69 65 77 5f 53 65 74 49 6e 73 65  TreeView_SetInse
243d0 72 74 4d 61 72 6b 28 48 57 4e 44 20 77 2c 20 48  rtMark(HWND w, H
243e0 54 52 45 45 49 54 45 4d 20 69 2c 20 42 4f 4f 4c  TREEITEM i, BOOL
243f0 20 61 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20   a) {....return 
24400 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d  cast(BOOL) SendM
24410 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 53 45  essage(w, TVM_SE
24420 54 49 4e 53 45 52 54 4d 41 52 4b 2c 20 63 61 73  TINSERTMARK, cas
24430 74 28 57 50 41 52 41 4d 29 20 61 2c 0d 0a 09 09  t(WPARAM) a,....
24440 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 69    cast(LPARAM) i
24450 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20  );...}.....BOOL 
24460 54 72 65 65 56 69 65 77 5f 53 65 74 55 6e 69 63  TreeView_SetUnic
24470 6f 64 65 46 6f 72 6d 61 74 28 48 57 4e 44 20 77  odeFormat(HWND w
24480 2c 20 42 4f 4f 4c 20 75 29 20 7b 0d 0a 09 09 72  , BOOL u) {....r
24490 65 74 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29  eturn cast(BOOL)
244a0 20 53 65 6e 64 4d 65 73 73 61 67 65 28 77 2c 20   SendMessage(w, 
244b0 54 56 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f  TVM_SETUNICODEFO
244c0 52 4d 41 54 2c 0d 0a 09 09 20 20 63 61 73 74 28  RMAT,....  cast(
244d0 57 50 41 52 41 4d 29 20 75 2c 20 30 29 3b 0d 0a  WPARAM) u, 0);..
244e0 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20 54 72 65 65  .}.....BOOL Tree
244f0 56 69 65 77 5f 47 65 74 55 6e 69 63 6f 64 65 46  View_GetUnicodeF
24500 6f 72 6d 61 74 28 48 57 4e 44 20 77 29 20 7b 0d  ormat(HWND w) {.
24510 0a 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 42  ...return cast(B
24520 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65  OOL) SendMessage
24530 28 77 2c 20 54 56 4d 5f 47 45 54 55 4e 49 43 4f  (w, TVM_GETUNICO
24540 44 45 46 4f 52 4d 41 54 2c 20 30 2c 20 30 29 3b  DEFORMAT, 0, 0);
24550 0d 0a 09 7d 0d 0a 0d 0a 09 48 54 52 45 45 49 54  ...}.....HTREEIT
24560 45 4d 20 54 72 65 65 56 69 65 77 5f 47 65 74 4c  EM TreeView_GetL
24570 61 73 74 56 69 73 69 62 6c 65 28 48 57 4e 44 20  astVisible(HWND 
24580 77 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e 20 54  w) {....return T
24590 72 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49  reeView_GetNextI
245a0 74 65 6d 28 77 2c 20 6e 75 6c 6c 2c 20 54 56 47  tem(w, null, TVG
245b0 4e 5f 4c 41 53 54 56 49 53 49 42 4c 45 29 3b 0d  N_LASTVISIBLE);.
245c0 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63  ..}..}....static
245d0 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   if (_WIN32_IE >
245e0 3d 20 30 78 35 30 30 29 20 7b 0d 0a 09 55 49 4e  = 0x500) {...UIN
245f0 54 20 54 72 65 65 56 69 65 77 5f 47 65 74 49 74  T TreeView_GetIt
24600 65 6d 53 74 61 74 65 28 48 57 4e 44 20 77 2c 20  emState(HWND w, 
24610 48 54 52 45 45 49 54 45 4d 20 69 2c 20 55 49 4e  HTREEITEM i, UIN
24620 54 20 6d 29 20 7b 0d 0a 09 09 72 65 74 75 72 6e  T m) {....return
24630 20 63 61 73 74 28 55 49 4e 54 29 20 53 65 6e 64   cast(UINT) Send
24640 4d 65 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 47  Message(w, TVM_G
24650 45 54 49 54 45 4d 53 54 41 54 45 2c 20 63 61 73  ETITEMSTATE, cas
24660 74 28 57 50 41 52 41 4d 29 20 69 2c 0d 0a 09 09  t(WPARAM) i,....
24670 20 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 6d    cast(LPARAM) m
24680 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 42 4f 4f 4c 20  );...}.....BOOL 
24690 54 72 65 65 56 69 65 77 5f 53 65 74 49 74 65 6d  TreeView_SetItem
246a0 53 74 61 74 65 28 48 57 4e 44 20 77 2c 20 48 54  State(HWND w, HT
246b0 52 45 45 49 54 45 4d 20 69 2c 20 55 49 4e 54 20  REEITEM i, UINT 
246c0 64 2c 20 55 49 4e 54 20 6d 29 20 7b 0d 0a 09 09  d, UINT m) {....
246d0 54 56 49 54 45 4d 20 5f 74 76 69 3b 0d 0a 09 09  TVITEM _tvi;....
246e0 5f 74 76 69 2e 6d 61 73 6b 20 3d 20 54 56 49 46  _tvi.mask = TVIF
246f0 5f 53 54 41 54 45 3b 0d 0a 09 09 5f 74 76 69 2e  _STATE;...._tvi.
24700 68 49 74 65 6d 20 3d 20 69 3b 0d 0a 09 09 5f 74  hItem = i;...._t
24710 76 69 2e 73 74 61 74 65 4d 61 73 6b 20 3d 20 6d  vi.stateMask = m
24720 3b 0d 0a 09 09 5f 74 76 69 2e 73 74 61 74 65 20  ;...._tvi.state 
24730 3d 20 64 3b 0d 0a 09 09 72 65 74 75 72 6e 20 63  = d;....return c
24740 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65  ast(BOOL) SendMe
24750 73 73 61 67 65 28 77 2c 20 54 56 4d 5f 53 45 54  ssage(w, TVM_SET
24760 49 54 45 4d 2c 20 30 2c 20 63 61 73 74 28 4c 50  ITEM, 0, cast(LP
24770 41 52 41 4d 29 20 26 5f 74 76 69 29 3b 0d 0a 09  ARAM) &_tvi);...
24780 7d 0d 0a 7d 0d 0a 0d 0a 0d 0a 2f 2f 23 69 66 64  }..}......//#ifd
24790 65 66 20 5f 57 49 4e 33 32 5f 57 43 45 20 20 20  ef _WIN32_WCE   
247a0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74              // t
247b0 68 65 73 65 20 61 72 65 20 50 50 43 20 6f 6e 6c  hese are PPC onl
247c0 79 0d 0a 2f 2b 0d 0a 65 78 74 65 72 6e 20 28 57  y../+..extern (W
247d0 69 6e 64 6f 77 73 29 20 7b 0d 0a 09 48 57 4e 44  indows) {...HWND
247e0 20 20 43 6f 6d 6d 61 6e 64 42 61 72 5f 43 72 65    CommandBar_Cre
247f0 61 74 65 28 48 49 4e 53 54 41 4e 43 45 2c 20 48  ate(HINSTANCE, H
24800 57 4e 44 2c 20 69 6e 74 29 3b 0d 0a 09 42 4f 4f  WND, int);...BOO
24810 4c 20 20 43 6f 6d 6d 61 6e 64 42 61 72 5f 53 68  L  CommandBar_Sh
24820 6f 77 28 48 57 4e 44 2c 20 42 4f 4f 4c 29 3b 0d  ow(HWND, BOOL);.
24830 0a 09 69 6e 74 20 20 20 43 6f 6d 6d 61 6e 64 42  ..int   CommandB
24840 61 72 5f 41 64 64 42 69 74 6d 61 70 28 48 57 4e  ar_AddBitmap(HWN
24850 44 2c 20 48 49 4e 53 54 41 4e 43 45 2c 20 69 6e  D, HINSTANCE, in
24860 74 2c 20 69 6e 74 2c 20 69 6e 74 2c 20 69 6e 74  t, int, int, int
24870 29 3b 0d 0a 09 48 57 4e 44 20 20 43 6f 6d 6d 61  );...HWND  Comma
24880 6e 64 42 61 72 5f 49 6e 73 65 72 74 43 6f 6d 62  ndBar_InsertComb
24890 6f 42 6f 78 28 48 57 4e 44 2c 20 48 49 4e 53 54  oBox(HWND, HINST
248a0 41 4e 43 45 2c 20 69 6e 74 2c 20 55 49 4e 54 2c  ANCE, int, UINT,
248b0 20 57 4f 52 44 2c 20 57 4f 52 44 29 3b 0d 0a 09   WORD, WORD);...
248c0 42 4f 4f 4c 20 20 43 6f 6d 6d 61 6e 64 42 61 72  BOOL  CommandBar
248d0 5f 49 6e 73 65 72 74 4d 65 6e 75 62 61 72 28 48  _InsertMenubar(H
248e0 57 4e 44 2c 20 48 49 4e 53 54 41 4e 43 45 2c 20  WND, HINSTANCE, 
248f0 57 4f 52 44 2c 20 57 4f 52 44 20 29 3b 0d 0a 09  WORD, WORD );...
24900 42 4f 4f 4c 20 20 43 6f 6d 6d 61 6e 64 42 61 72  BOOL  CommandBar
24910 5f 49 6e 73 65 72 74 4d 65 6e 75 62 61 72 45 78  _InsertMenubarEx
24920 28 48 57 4e 44 2c 20 48 49 4e 53 54 41 4e 43 45  (HWND, HINSTANCE
24930 2c 20 4c 50 54 53 54 52 2c 20 57 4f 52 44 29 3b  , LPTSTR, WORD);
24940 0d 0a 09 42 4f 4f 4c 20 20 43 6f 6d 6d 61 6e 64  ...BOOL  Command
24950 42 61 72 5f 44 72 61 77 4d 65 6e 75 42 61 72 28  Bar_DrawMenuBar(
24960 48 57 4e 44 2c 20 57 4f 52 44 29 3b 0d 0a 09 48  HWND, WORD);...H
24970 4d 45 4e 55 20 43 6f 6d 6d 61 6e 64 42 61 72 5f  MENU CommandBar_
24980 47 65 74 4d 65 6e 75 28 48 57 4e 44 2c 20 57 4f  GetMenu(HWND, WO
24990 52 44 29 3b 0d 0a 09 42 4f 4f 4c 20 20 43 6f 6d  RD);...BOOL  Com
249a0 6d 61 6e 64 42 61 72 5f 41 64 64 41 64 6f 72 6e  mandBar_AddAdorn
249b0 6d 65 6e 74 73 28 48 57 4e 44 2c 20 44 57 4f 52  ments(HWND, DWOR
249c0 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 69 6e 74  D, DWORD);...int
249d0 20 20 20 43 6f 6d 6d 61 6e 64 42 61 72 5f 48 65     CommandBar_He
249e0 69 67 68 74 28 48 57 4e 44 20 68 77 6e 64 43 42  ight(HWND hwndCB
249f0 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20 4d 69 6e 47  );..}....// MinG
24a00 57 3a 20 54 68 65 73 65 20 74 77 6f 20 61 72 65  W: These two are
24a10 20 6e 6f 74 20 69 6e 20 74 68 65 20 44 4c 4c 0d   not in the DLL.
24a20 0a 76 6f 69 64 20 43 6f 6d 6d 61 6e 64 42 61 72  .void CommandBar
24a30 5f 49 6e 73 65 72 74 42 75 74 74 6f 6e 28 48 57  _InsertButton(HW
24a40 4e 44 20 68 77 6e 64 2c 20 69 6e 74 20 69 2c 20  ND hwnd, int i, 
24a50 4c 50 54 42 42 55 54 54 4f 4e 20 6c 70 74 62 62  LPTBBUTTON lptbb
24a60 75 74 74 6f 6e 29 20 7b 0d 0a 20 20 20 20 53 65  utton) {..    Se
24a70 6e 64 4d 65 73 73 61 67 65 28 68 77 6e 64 2c 20  ndMessage(hwnd, 
24a80 54 42 5f 49 4e 53 45 52 54 42 55 54 54 4f 4e 2c  TB_INSERTBUTTON,
24a90 20 69 2c 20 6c 70 74 62 62 75 74 74 6f 6e 29 3b   i, lptbbutton);
24aa0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 44 65 73 74 72  ..}..alias Destr
24ab0 6f 79 57 69 6e 64 6f 77 20 43 6f 6d 6d 61 6e 64  oyWindow Command
24ac0 42 61 72 5f 44 65 73 74 72 6f 79 3b 0d 0a 2b 2f  Bar_Destroy;..+/
24ad0 0d 0a 2f 2f 23 65 6e 64 69 66 20 2f 2f 20 5f 57  ..//#endif // _W
24ae0 49 4e 33 32 5f 57 43 45 0d 0a 0d 0a 0d 0a 73 74  IN32_WCE......st
24af0 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
24b00 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 20  WINNT >= 0x501) 
24b10 7b 0d 0a 20 20 20 20 73 74 72 75 63 74 20 45 44  {..    struct ED
24b20 49 54 42 41 4c 4c 4f 4f 4e 54 49 50 0d 0a 20 20  ITBALLOONTIP..  
24b30 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 44 57 4f    {..        DWO
24b40 52 44 20 63 62 53 74 72 75 63 74 3b 0d 0a 20 20  RD cbStruct;..  
24b50 20 20 20 20 20 20 4c 50 43 57 53 54 52 20 70 73        LPCWSTR ps
24b60 7a 54 69 74 6c 65 3b 0d 0a 20 20 20 20 20 20 20  zTitle;..       
24b70 20 4c 50 43 57 53 54 52 20 70 73 7a 54 65 78 74   LPCWSTR pszText
24b80 3b 0d 0a 20 20 20 20 20 20 20 20 49 4e 54 20 74  ;..        INT t
24b90 74 69 49 63 6f 6e 3b 0d 0a 20 20 20 20 7d 0d 0a  tiIcon;..    }..
24ba0 20 20 20 20 61 6c 69 61 73 20 45 44 49 54 42 41      alias EDITBA
24bb0 4c 4c 4f 4f 4e 54 49 50 2a 20 50 45 44 49 54 42  LLOONTIP* PEDITB
24bc0 41 4c 4c 4f 4f 4e 54 49 50 3b 0d 0a 0d 0a 09 63  ALLOONTIP;.....c
24bd0 6f 6e 73 74 20 45 4d 5f 53 45 54 43 55 45 42 41  onst EM_SETCUEBA
24be0 4e 4e 45 52 20 3d 20 45 43 4d 5f 46 49 52 53 54  NNER = ECM_FIRST
24bf0 20 2b 20 31 3b 0d 0a 09 63 6f 6e 73 74 20 45 4d   + 1;...const EM
24c00 5f 47 45 54 43 55 45 42 41 4e 4e 45 52 20 3d 20  _GETCUEBANNER = 
24c10 45 43 4d 5f 46 49 52 53 54 20 2b 20 32 3b 0d 0a  ECM_FIRST + 2;..
24c20 09 63 6f 6e 73 74 20 45 4d 5f 53 48 4f 57 42 41  .const EM_SHOWBA
24c30 4c 4c 4f 4f 4e 54 49 50 20 3d 20 45 43 4d 5f 46  LLOONTIP = ECM_F
24c40 49 52 53 54 20 2b 20 33 3b 0d 0a 09 63 6f 6e 73  IRST + 3;...cons
24c50 74 20 45 4d 5f 48 49 44 45 42 41 4c 4c 4f 4f 4e  t EM_HIDEBALLOON
24c60 54 49 50 20 3d 20 45 43 4d 5f 46 49 52 53 54 20  TIP = ECM_FIRST 
24c70 2b 20 34 3b 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69  + 4;..}....stati
24c80 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e  c if (_WIN32_WIN
24c90 4e 54 20 3e 3d 20 30 78 36 30 30 29 20 7b 0d 0a  NT >= 0x600) {..
24ca0 09 63 6f 6e 73 74 20 45 4d 5f 53 45 54 48 49 4c  .const EM_SETHIL
24cb0 49 54 45 20 3d 20 45 43 4d 5f 46 49 52 53 54 20  ITE = ECM_FIRST 
24cc0 2b 20 35 3b 0d 0a 09 63 6f 6e 73 74 20 45 4d 5f  + 5;...const EM_
24cd0 47 45 54 48 49 4c 49 54 45 20 3d 20 45 43 4d 5f  GETHILITE = ECM_
24ce0 46 49 52 53 54 20 2b 20 36 3b 0d 0a 7d 0d 0a     FIRST + 6;..}..