Hex Artifact Content

Not logged in

Artifact 6ba0cccf1cb3b0a818afa34c2e900aef26829bf1:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 63 6f 6d  module win32.com
0010: 6d 63 74 72 6c 3b 0d 0a 0d 0a 2f 2f 20 54 72 61  mctrl;....// Tra
0020: 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63  nslated from Mic
0030: 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20  rosoft Platform 
0040: 53 44 4b 20 41 75 67 75 73 74 20 32 30 30 31 20  SDK August 2001 
0050: 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59  Edition..// by Y
0060: 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c  .Tomino (demoonl
0070: 69 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d  it@inter7.jp)...
0080: 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69  .import win32.wi
0090: 6e 75 73 65 72 3b 0d 0a 61 6c 69 61 73 20 76 6f  nuser;..alias vo
00a0: 69 64 20 5f 50 53 50 3b 0d 0a 61 6c 69 61 73 20  id _PSP;..alias 
00b0: 76 6f 69 64 20 5f 49 4d 41 47 45 4c 49 53 54 3b  void _IMAGELIST;
00c0: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 20 5f 54 52  ..alias void _TR
00d0: 45 45 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c  EEITEM;..alias L
00e0: 50 54 42 53 41 56 45 50 41 52 41 4d 57 20 4c 50  PTBSAVEPARAMW LP
00f0: 54 42 53 41 56 45 50 41 52 41 4d 53 57 3b 0d 0a  TBSAVEPARAMSW;..
0100: 61 6c 69 61 73 20 50 43 43 4f 4d 42 4f 45 58 49  alias PCCOMBOEXI
0110: 54 45 4d 41 20 50 43 43 4f 4d 42 4f 42 4f 58 45  TEMA PCCOMBOBOXE
0120: 58 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 50  XITEMA;..alias P
0130: 43 43 4f 4d 42 4f 45 58 49 54 45 4d 57 20 50 43  CCOMBOEXITEMW PC
0140: 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 3b  COMBOBOXEXITEMW;
0150: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0160: 0d 0a 20 20 4e 4d 5f 46 49 52 53 54 20 3d 20 30  ..  NM_FIRST = 0
0170: 2c 0d 0a 20 20 53 42 5f 53 45 54 54 49 50 54 45  ,..  SB_SETTIPTE
0180: 58 54 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  XTA = WM_USER + 
0190: 31 36 2c 0d 0a 20 20 53 42 5f 53 45 54 54 49 50  16,..  SB_SETTIP
01a0: 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 20  TEXTW = WM_USER 
01b0: 2b 20 31 37 2c 0d 0a 20 20 53 42 5f 47 45 54 54  + 17,..  SB_GETT
01c0: 49 50 54 45 58 54 41 20 3d 20 57 4d 5f 55 53 45  IPTEXTA = WM_USE
01d0: 52 20 2b 20 31 38 2c 0d 0a 20 20 53 42 5f 47 45  R + 18,..  SB_GE
01e0: 54 54 49 50 54 45 58 54 57 20 3d 20 57 4d 5f 55  TTIPTEXTW = WM_U
01f0: 53 45 52 20 2b 20 31 39 2c 0d 0a 20 20 54 56 48  SER + 19,..  TVH
0200: 54 5f 4f 4e 49 54 45 4d 53 54 41 54 45 49 43 4f  T_ONITEMSTATEICO
0210: 4e 20 3d 20 30 78 30 30 34 30 2c 0d 0a 20 20 43  N = 0x0040,..  C
0220: 42 45 4e 5f 46 49 52 53 54 20 3d 20 30 55 20 2d  BEN_FIRST = 0U -
0230: 20 38 30 30 55 2c 0d 0a 20 20 43 42 45 4e 5f 47   800U,..  CBEN_G
0240: 45 54 44 49 53 50 49 4e 46 4f 41 20 3d 20 43 42  ETDISPINFOA = CB
0250: 45 4e 5f 46 49 52 53 54 20 2d 20 30 2c 0d 0a 20  EN_FIRST - 0,.. 
0260: 20 43 42 45 4e 5f 47 45 54 44 49 53 50 49 4e 46   CBEN_GETDISPINF
0270: 4f 57 20 3d 20 43 42 45 4e 5f 46 49 52 53 54 20  OW = CBEN_FIRST 
0280: 2d 20 37 0d 0a 7d 0d 0a 2f 2f 20 69 6e 6c 69 6e  - 7..}..// inlin
0290: 65 20 23 69 6e 63 6c 75 64 65 20 3c 70 72 73 68  e #include <prsh
02a0: 74 2e 68 3e 0d 0a 2f 2f 20 2d 2d 2d 2d 0d 0a 0d  t.h>..// ----...
02b0: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 50 52 53  .// #ifndef _PRS
02c0: 48 54 5f 48 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e  HT_H_..// #defin
02d0: 65 20 5f 50 52 53 48 54 5f 48 5f 0d 0a 0d 0a 2f  e _PRSHT_H_..../
02e0: 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 52 45  / #ifndef _WINRE
02f0: 53 52 43 5f 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  SRC_..// #ifndef
0300: 20 5f 57 49 4e 33 32 5f 49 45 0d 0a 2f 2f 20 23   _WIN32_IE..// #
0310: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
0320: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
0330: 20 3c 20 30 78 30 34 30 30 29 20 26 26 20 64 65   < 0x0400) && de
0340: 66 69 6e 65 64 28 5f 57 49 4e 33 32 5f 57 49 4e  fined(_WIN32_WIN
0350: 4e 54 29 20 26 26 20 28 5f 57 49 4e 33 32 5f 57  NT) && (_WIN32_W
0360: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d  INNT >= 0x0500).
0370: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
0380: 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  dif..// #endif..
0390: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
03a0: 23 69 66 6e 64 65 66 20 57 49 4e 43 4f 4d 4d 43  #ifndef WINCOMMC
03b0: 54 52 4c 41 50 49 0d 0a 2f 2f 20 23 69 66 20 21  TRLAPI..// #if !
03c0: 64 65 66 69 6e 65 64 28 5f 43 4f 4d 43 54 4c 33  defined(_COMCTL3
03d0: 32 5f 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f  2_) && defined(_
03e0: 57 49 4e 33 32 29 0d 0a 2f 2f 20 23 64 65 66 69  WIN32)..// #defi
03f0: 6e 65 20 57 49 4e 43 4f 4d 4d 43 54 52 4c 41 50  ne WINCOMMCTRLAP
0400: 49 20 44 45 43 4c 53 50 45 43 5f 49 4d 50 4f 52  I DECLSPEC_IMPOR
0410: 54 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  T..// #else..// 
0420: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
0430: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 57 49  .// #endif // WI
0440: 4e 43 4f 4d 4d 43 54 52 4c 41 50 49 0d 0a 0d 0a  NCOMMCTRLAPI....
0450: 2f 2f 20 23 69 66 6e 64 65 66 20 43 43 53 49 5a  // #ifndef CCSIZ
0460: 45 4f 46 5f 53 54 52 55 43 54 0d 0a 2f 2f 20 23  EOF_STRUCT..// #
0470: 64 65 66 69 6e 65 20 43 43 53 49 5a 45 4f 46 5f  define CCSIZEOF_
0480: 53 54 52 55 43 54 28 73 74 72 75 63 74 6e 61 6d  STRUCT(structnam
0490: 65 2c 20 6d 65 6d 62 65 72 29 20 28 28 28 69 6e  e, member) (((in
04a0: 74 29 28 28 4c 50 42 59 54 45 29 28 26 28 28 73  t)((LPBYTE)(&((s
04b0: 74 72 75 63 74 6e 61 6d 65 2a 29 30 29 2d 3e 6d  tructname*)0)->m
04c0: 65 6d 62 65 72 29 20 2d 20 28 28 4c 50 42 59 54  ember) - ((LPBYT
04d0: 45 29 28 28 73 74 72 75 63 74 6e 61 6d 65 2a 29  E)((structname*)
04e0: 30 29 29 29 29 20 2b 20 73 69 7a 65 6f 66 28 28  0)))) + sizeof((
04f0: 28 73 74 72 75 63 74 6e 61 6d 65 2a 29 30 29 2d  (structname*)0)-
0500: 3e 6d 65 6d 62 65 72 29 29 0d 0a 2f 2f 20 23 65  >member))..// #e
0510: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ndif....// #ifnd
0520: 65 66 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d  ef DUMMYUNIONNAM
0530: 45 0d 0a 2f 2f 20 23 69 66 64 65 66 20 4e 4f 4e  E..// #ifdef NON
0540: 41 4d 45 4c 45 53 53 55 4e 49 4f 4e 0d 0a 2f 2f  AMELESSUNION..//
0550: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
0560: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
0570: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
0580: 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  lse..// #define 
0590: 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a  DUMMYUNIONNAME..
05a0: 2f 2f 20 23 64 65 66 69 6e 65 20 44 55 4d 4d 59  // #define DUMMY
05b0: 55 4e 49 4f 4e 4e 41 4d 45 32 0d 0a 2f 2f 20 23  UNIONNAME2..// #
05c0: 64 65 66 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f  define DUMMYUNIO
05d0: 4e 4e 41 4d 45 33 0d 0a 2f 2f 20 23 64 65 66 69  NNAME3..// #defi
05e0: 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d  ne DUMMYUNIONNAM
05f0: 45 34 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44  E4..// #define D
0600: 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 35 0d 0a  UMMYUNIONNAME5..
0610: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65  // #endif..// #e
0620: 6e 64 69 66 20 2f 2f 20 44 55 4d 4d 59 55 4e 49  ndif // DUMMYUNI
0630: 4f 4e 4e 41 4d 45 0d 0a 0d 0a 2f 2f 20 23 69 66  ONNAME....// #if
0640: 64 65 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 23  def _WIN64..// #
0650: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
0660: 6c 69 67 6e 28 34 29 3a 0d 0a 2f 2f 20 23 65 6e  lign(4):..// #en
0670: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  dif....// #ifdef
0680: 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f   __cplusplus..//
0690: 20 65 78 74 65 72 6e 20 22 43 22 20 7b 0d 0a 2f   extern "C" {../
06a0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
06b0: 69 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a 2f  ifndef SNDMSG../
06c0: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  / #ifdef __cplus
06d0: 70 6c 75 73 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  plus..// #ifndef
06e0: 20 5f 4d 41 43 0d 0a 2f 2f 20 23 64 65 66 69 6e   _MAC..// #defin
06f0: 65 20 53 4e 44 4d 53 47 20 3a 3a 53 65 6e 64 4d  e SNDMSG ::SendM
0700: 65 73 73 61 67 65 0d 0a 2f 2f 20 23 65 6c 73 65  essage..// #else
0710: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
0720: 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ndif..// #else..
0730: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d  // #ifndef _MAC.
0740: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
0750: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
0760: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69  #endif..// #endi
0770: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  f..// #endif // 
0780: 69 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a 0d  ifndef SNDMSG...
0790: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
07a0: 41 58 50 52 4f 50 50 41 47 45 53 20 3d 20 31 30  AXPROPPAGES = 10
07b0: 30 20 7d 0d 0a 0d 0a 2f 2f 20 73 74 72 75 63 74  0 }....// struct
07c0: 20 5f 50 53 50 3b 0d 0a 61 6c 69 61 73 20 5f 50   _PSP;..alias _P
07d0: 53 50 2a 20 48 50 52 4f 50 53 48 45 45 54 50 41  SP* HPROPSHEETPA
07e0: 47 45 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  GE;....// #ifnde
07f0: 66 20 4d 49 44 4c 5f 50 41 53 53 0d 0a 2f 2f 20  f MIDL_PASS..// 
0800: 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48 45 45  struct _PROPSHEE
0810: 54 50 41 47 45 41 3b 0d 0a 2f 2f 20 73 74 72 75  TPAGEA;..// stru
0820: 63 74 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47  ct _PROPSHEETPAG
0830: 45 57 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  EW;..// #endif..
0840: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
0850: 29 20 61 6c 69 61 73 20 55 49 4e 54 20 66 75 6e  ) alias UINT fun
0860: 63 74 69 6f 6e 28 48 57 4e 44 20 68 77 6e 64 2c  ction(HWND hwnd,
0870: 20 55 49 4e 54 20 75 4d 73 67 2c 20 20 5f 50 52   UINT uMsg,  _PR
0880: 4f 50 53 48 45 45 54 50 41 47 45 41 20 2a 70 70  OPSHEETPAGEA *pp
0890: 73 70 29 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42  sp) LPFNPSPCALLB
08a0: 41 43 4b 41 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ACKA;..extern(Wi
08b0: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 55 49 4e  ndows) alias UIN
08c0: 54 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 20  T function(HWND 
08d0: 68 77 6e 64 2c 20 55 49 4e 54 20 75 4d 73 67 2c  hwnd, UINT uMsg,
08e0: 20 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45    _PROPSHEETPAGE
08f0: 57 20 2a 70 70 73 70 29 20 4c 50 46 4e 50 53 50  W *ppsp) LPFNPSP
0900: 43 41 4c 4c 42 41 43 4b 57 3b 0d 0a 0d 0a 2f 2f  CALLBACKW;....//
0910: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
0920: 0a 61 6c 69 61 73 20 4c 50 46 4e 50 53 50 43 41  .alias LPFNPSPCA
0930: 4c 4c 42 41 43 4b 57 20 4c 50 46 4e 50 53 50 43  LLBACKW LPFNPSPC
0940: 41 4c 4c 42 41 43 4b 3b 0d 0a 2f 2f 20 23 65 6c  ALLBACK;..// #el
0950: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
0960: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
0970: 20 75 69 6e 74 20 7b 20 50 53 50 5f 44 45 46 41   uint { PSP_DEFA
0980: 55 4c 54 20 3d 20 30 78 30 30 30 30 30 30 30 30  ULT = 0x00000000
0990: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
09a0: 7b 20 50 53 50 5f 44 4c 47 49 4e 44 49 52 45 43  { PSP_DLGINDIREC
09b0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  T = 0x00000001 }
09c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
09d0: 50 53 50 5f 55 53 45 48 49 43 4f 4e 20 3d 20 30  PSP_USEHICON = 0
09e0: 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
09f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55  m : uint { PSP_U
0a00: 53 45 49 43 4f 4e 49 44 20 3d 20 30 78 30 30 30  SEICONID = 0x000
0a10: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
0a20: 75 69 6e 74 20 7b 20 50 53 50 5f 55 53 45 54 49  uint { PSP_USETI
0a30: 54 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30 38  TLE = 0x00000008
0a40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
0a50: 7b 20 50 53 50 5f 52 54 4c 52 45 41 44 49 4e 47  { PSP_RTLREADING
0a60: 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
0a70: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
0a80: 20 50 53 50 5f 48 41 53 48 45 4c 50 20 3d 20 30   PSP_HASHELP = 0
0a90: 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
0aa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55  m : uint { PSP_U
0ab0: 53 45 52 45 46 50 41 52 45 4e 54 20 3d 20 30 78  SEREFPARENT = 0x
0ac0: 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d  00000040 }..enum
0ad0: 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 5f 55 53   : uint { PSP_US
0ae0: 45 43 41 4c 4c 42 41 43 4b 20 3d 20 30 78 30 30  ECALLBACK = 0x00
0af0: 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000080 }..enum :
0b00: 20 75 69 6e 74 20 7b 20 50 53 50 5f 50 52 45 4d   uint { PSP_PREM
0b10: 41 54 55 52 45 20 3d 20 30 78 30 30 30 30 30 34  ATURE = 0x000004
0b20: 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  00 }....// #if (
0b30: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
0b40: 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  400)....enum : u
0b50: 69 6e 74 20 7b 20 50 53 50 5f 48 49 44 45 48 45  int { PSP_HIDEHE
0b60: 41 44 45 52 20 3d 20 30 78 30 30 30 30 30 38 30  ADER = 0x0000080
0b70: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
0b80: 20 7b 20 50 53 50 5f 55 53 45 48 45 41 44 45 52   { PSP_USEHEADER
0b90: 54 49 54 4c 45 20 3d 20 30 78 30 30 30 30 31 30  TITLE = 0x000010
0ba0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
0bb0: 74 20 7b 20 50 53 50 5f 55 53 45 48 45 41 44 45  t { PSP_USEHEADE
0bc0: 52 53 55 42 54 49 54 4c 45 20 3d 20 30 78 30 30  RSUBTITLE = 0x00
0bd0: 30 30 32 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  002000 }....// #
0be0: 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f  endif..// #if (_
0bf0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
0c00: 78 30 35 30 31 29 20 7c 7c 20 49 53 4f 4c 41 54  x0501) || ISOLAT
0c10: 49 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45  ION_AWARE_ENABLE
0c20: 44 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  D..enum : uint {
0c30: 20 50 53 50 5f 55 53 45 46 55 53 49 4f 4e 43 4f   PSP_USEFUSIONCO
0c40: 4e 54 45 58 54 20 3d 20 30 78 30 30 30 30 34 30  NTEXT = 0x000040
0c50: 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
0c60: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
0c70: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
0c80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
0c90: 53 50 43 42 5f 41 44 44 52 45 46 20 3d 20 30 20  SPCB_ADDREF = 0 
0ca0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e  }..// #endif..en
0cb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 50 43  um : uint { PSPC
0cc0: 42 5f 52 45 4c 45 41 53 45 20 3d 20 31 20 7d 0d  B_RELEASE = 1 }.
0cd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
0ce0: 53 50 43 42 5f 43 52 45 41 54 45 20 3d 20 32 20  SPCB_CREATE = 2 
0cf0: 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  }....// #define 
0d00: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56  PROPSHEETPAGEA_V
0d10: 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f  1_SIZE CCSIZEOF_
0d20: 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 45 54  STRUCT(PROPSHEET
0d30: 50 41 47 45 41 2c 20 70 63 52 65 66 50 61 72 65  PAGEA, pcRefPare
0d40: 6e 74 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  nt)..// #define 
0d50: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56  PROPSHEETPAGEW_V
0d60: 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f  1_SIZE CCSIZEOF_
0d70: 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 45 54  STRUCT(PROPSHEET
0d80: 50 41 47 45 57 2c 20 70 63 52 65 66 50 61 72 65  PAGEW, pcRefPare
0d90: 6e 74 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  nt)....// #defin
0da0: 65 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41  e PROPSHEETPAGEA
0db0: 5f 56 32 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f  _V2_SIZE CCSIZEO
0dc0: 46 5f 53 54 52 55 43 54 28 50 52 4f 50 53 48 45  F_STRUCT(PROPSHE
0dd0: 45 54 50 41 47 45 41 2c 20 70 73 7a 48 65 61 64  ETPAGEA, pszHead
0de0: 65 72 53 75 62 54 69 74 6c 65 29 0d 0a 2f 2f 20  erSubTitle)..// 
0df0: 23 64 65 66 69 6e 65 20 50 52 4f 50 53 48 45 45  #define PROPSHEE
0e00: 54 50 41 47 45 57 5f 56 32 5f 53 49 5a 45 20 43  TPAGEW_V2_SIZE C
0e10: 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 50  CSIZEOF_STRUCT(P
0e20: 52 4f 50 53 48 45 45 54 50 41 47 45 57 2c 20 70  ROPSHEETPAGEW, p
0e30: 73 7a 48 65 61 64 65 72 53 75 62 54 69 74 6c 65  szHeaderSubTitle
0e40: 29 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  )....// #ifdef _
0e50: 57 49 4e 33 32 0d 0a 61 6c 69 61 73 20 4c 50 43  WIN32..alias LPC
0e60: 44 4c 47 54 45 4d 50 4c 41 54 45 20 50 52 4f 50  DLGTEMPLATE PROP
0e70: 53 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55 52  SHEETPAGE_RESOUR
0e80: 43 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  CE;..// #else../
0e90: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
0ea0: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50  ....// #define P
0eb0: 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 31  ROPSHEETPAGEA_V1
0ec0: 5f 46 49 45 4c 44 53 20 44 57 4f 52 44 20 64 77  _FIELDS DWORD dw
0ed0: 53 69 7a 65 3b 20 44 57 4f 52 44 20 64 77 46 6c  Size; DWORD dwFl
0ee0: 61 67 73 3b 20 48 49 4e 53 54 41 4e 43 45 20 68  ags; HINSTANCE h
0ef0: 49 6e 73 74 61 6e 63 65 3b 20 75 6e 69 6f 6e 20  Instance; union 
0f00: 7b 20 4c 50 43 53 54 52 20 70 73 7a 54 65 6d 70  { LPCSTR pszTemp
0f10: 6c 61 74 65 3b 20 50 52 4f 50 53 48 45 45 54 50  late; PROPSHEETP
0f20: 41 47 45 5f 52 45 53 4f 55 52 43 45 20 70 52 65  AGE_RESOURCE pRe
0f30: 73 6f 75 72 63 65 3b 20 7d 20 44 55 4d 4d 59 55  source; } DUMMYU
0f40: 4e 49 4f 4e 4e 41 4d 45 3b 20 75 6e 69 6f 6e 20  NIONNAME; union 
0f50: 7b 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 20 4c  { HICON hIcon; L
0f60: 50 43 53 54 52 20 70 73 7a 49 63 6f 6e 3b 20 7d  PCSTR pszIcon; }
0f70: 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 32   DUMMYUNIONNAME2
0f80: 3b 20 4c 50 43 53 54 52 20 70 73 7a 54 69 74 6c  ; LPCSTR pszTitl
0f90: 65 3b 20 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c  e; DLGPROC pfnDl
0fa0: 67 50 72 6f 63 3b 20 4c 50 41 52 41 4d 20 6c 50  gProc; LPARAM lP
0fb0: 61 72 61 6d 3b 20 4c 50 46 4e 50 53 50 43 41 4c  aram; LPFNPSPCAL
0fc0: 4c 42 41 43 4b 41 20 70 66 6e 43 61 6c 6c 62 61  LBACKA pfnCallba
0fd0: 63 6b 3b 20 55 49 4e 54 20 2a 70 63 52 65 66 50  ck; UINT *pcRefP
0fe0: 61 72 65 6e 74 3b 0d 0a 2f 2f 20 23 64 65 66 69  arent;..// #defi
0ff0: 6e 65 20 50 52 4f 50 53 48 45 45 54 50 41 47 45  ne PROPSHEETPAGE
1000: 57 5f 56 31 5f 46 49 45 4c 44 53 20 44 57 4f 52  W_V1_FIELDS DWOR
1010: 44 20 64 77 53 69 7a 65 3b 20 44 57 4f 52 44 20  D dwSize; DWORD 
1020: 64 77 46 6c 61 67 73 3b 20 48 49 4e 53 54 41 4e  dwFlags; HINSTAN
1030: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 20 75 6e  CE hInstance; un
1040: 69 6f 6e 20 7b 20 4c 50 43 57 53 54 52 20 70 73  ion { LPCWSTR ps
1050: 7a 54 65 6d 70 6c 61 74 65 3b 20 50 52 4f 50 53  zTemplate; PROPS
1060: 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55 52 43  HEETPAGE_RESOURC
1070: 45 20 70 52 65 73 6f 75 72 63 65 3b 20 7d 20 44  E pResource; } D
1080: 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 3b 20 75  UMMYUNIONNAME; u
1090: 6e 69 6f 6e 20 7b 20 48 49 43 4f 4e 20 68 49 63  nion { HICON hIc
10a0: 6f 6e 3b 20 4c 50 43 57 53 54 52 20 70 73 7a 49  on; LPCWSTR pszI
10b0: 63 6f 6e 3b 20 7d 20 44 55 4d 4d 59 55 4e 49 4f  con; } DUMMYUNIO
10c0: 4e 4e 41 4d 45 32 3b 20 4c 50 43 57 53 54 52 20  NNAME2; LPCWSTR 
10d0: 70 73 7a 54 69 74 6c 65 3b 20 44 4c 47 50 52 4f  pszTitle; DLGPRO
10e0: 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b 20 4c 50  C pfnDlgProc; LP
10f0: 41 52 41 4d 20 6c 50 61 72 61 6d 3b 20 4c 50 46  ARAM lParam; LPF
1100: 4e 50 53 50 43 41 4c 4c 42 41 43 4b 57 20 70 66  NPSPCALLBACKW pf
1110: 6e 43 61 6c 6c 62 61 63 6b 3b 20 55 49 4e 54 20  nCallback; UINT 
1120: 2a 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 2f  *pcRefParent;../
1130: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
1140: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 20 7c  NNT >= 0x0501) |
1150: 7c 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52  | ISOLATION_AWAR
1160: 45 5f 45 4e 41 42 4c 45 44 0d 0a 61 6c 69 61 73  E_ENABLED..alias
1170: 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47 45 41   _PROPSHEETPAGEA
1180: 5f 56 33 20 5f 50 52 4f 50 53 48 45 45 54 50 41  _V3 _PROPSHEETPA
1190: 47 45 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f  GEA;..alias _PRO
11a0: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 5f  PSHEETPAGEW_V3 _
11b0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 3b 0d  PROPSHEETPAGEW;.
11c0: 0a 2f 2f 20 23 65 6c 69 66 20 28 5f 57 49 4e 33  .// #elif (_WIN3
11d0: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
11e0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
11f0: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
1200: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
1210: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75  / #endif....stru
1220: 63 74 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47  ct _PROPSHEETPAG
1230: 45 41 5f 56 31 20 7b 0d 0a 20 20 44 57 4f 52 44  EA_V1 {..  DWORD
1240: 20 64 77 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   dwSize;..  DWOR
1250: 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 48 49  D dwFlags;..  HI
1260: 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63  NSTANCE hInstanc
1270: 65 3b 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20  e;..  union {.. 
1280: 20 20 20 4c 50 43 53 54 52 20 70 73 7a 54 65 6d     LPCSTR pszTem
1290: 70 6c 61 74 65 3b 0d 0a 20 20 20 20 50 52 4f 50  plate;..    PROP
12a0: 53 48 45 45 54 50 41 47 45 5f 52 45 53 4f 55 52  SHEETPAGE_RESOUR
12b0: 43 45 20 70 52 65 73 6f 75 72 63 65 3b 0d 0a 20  CE pResource;.. 
12c0: 20 7d 0d 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20   }..  union {.. 
12d0: 20 20 20 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d     HICON hIcon;.
12e0: 0a 20 20 20 20 4c 50 43 53 54 52 20 70 73 7a 49  .    LPCSTR pszI
12f0: 63 6f 6e 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50 43  con;..  }..  LPC
1300: 53 54 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20  STR pszTitle;.. 
1310: 20 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50   DLGPROC pfnDlgP
1320: 72 6f 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c  roc;..  LPARAM l
1330: 50 61 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50 53  Param;..  LPFNPS
1340: 50 43 41 4c 4c 42 41 43 4b 41 20 70 66 6e 43 61  PCALLBACKA pfnCa
1350: 6c 6c 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 2a  llback;..  UINT*
1360: 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 7d   pcRefParent;..}
1370: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45  ..alias _PROPSHE
1380: 45 54 50 41 47 45 41 5f 56 31 20 50 52 4f 50 53  ETPAGEA_V1 PROPS
1390: 48 45 45 54 50 41 47 45 41 5f 56 31 3b 0d 0a 61  HEETPAGEA_V1;..a
13a0: 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50  lias _PROPSHEETP
13b0: 41 47 45 41 5f 56 31 2a 20 4c 50 50 52 4f 50 53  AGEA_V1* LPPROPS
13c0: 48 45 45 54 50 41 47 45 41 5f 56 31 3b 0d 0a 0d  HEETPAGEA_V1;...
13d0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54  .alias PROPSHEET
13e0: 50 41 47 45 41 5f 56 31 2a 20 4c 50 43 50 52 4f  PAGEA_V1* LPCPRO
13f0: 50 53 48 45 45 54 50 41 47 45 41 5f 56 31 3b 0d  PSHEETPAGEA_V1;.
1400: 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53  ...struct _PROPS
1410: 48 45 45 54 50 41 47 45 41 5f 56 32 20 7b 0d 0a  HEETPAGEA_V2 {..
1420: 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d    DWORD dwSize;.
1430: 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
1440: 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  ;..  HINSTANCE h
1450: 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69  Instance;..  uni
1460: 6f 6e 20 7b 0d 0a 20 20 20 20 4c 50 43 53 54 52  on {..    LPCSTR
1470: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20   pszTemplate;.. 
1480: 20 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45     PROPSHEETPAGE
1490: 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75  _RESOURCE pResou
14a0: 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69  rce;..  }..  uni
14b0: 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20  on {..    HICON 
14c0: 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 53  hIcon;..    LPCS
14d0: 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 7d  TR pszIcon;..  }
14e0: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 54 69  ..  LPCSTR pszTi
14f0: 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f 43 20  tle;..  DLGPROC 
1500: 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20 20 4c  pfnDlgProc;..  L
1510: 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20  PARAM lParam;.. 
1520: 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b   LPFNPSPCALLBACK
1530: 41 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a  A pfnCallback;..
1540: 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50 61 72    UINT* pcRefPar
1550: 65 6e 74 3b 0d 0a 0d 0a 20 20 4c 50 43 53 54 52  ent;....  LPCSTR
1560: 20 70 73 7a 48 65 61 64 65 72 54 69 74 6c 65 3b   pszHeaderTitle;
1570: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 48 65  ..  LPCSTR pszHe
1580: 61 64 65 72 53 75 62 54 69 74 6c 65 3b 0d 0a 7d  aderSubTitle;..}
1590: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45  ..alias _PROPSHE
15a0: 45 54 50 41 47 45 41 5f 56 32 20 50 52 4f 50 53  ETPAGEA_V2 PROPS
15b0: 48 45 45 54 50 41 47 45 41 5f 56 32 3b 0d 0a 61  HEETPAGEA_V2;..a
15c0: 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50  lias _PROPSHEETP
15d0: 41 47 45 41 5f 56 32 2a 20 4c 50 50 52 4f 50 53  AGEA_V2* LPPROPS
15e0: 48 45 45 54 50 41 47 45 41 5f 56 32 3b 0d 0a 0d  HEETPAGEA_V2;...
15f0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54  .alias PROPSHEET
1600: 50 41 47 45 41 5f 56 32 2a 20 4c 50 43 50 52 4f  PAGEA_V2* LPCPRO
1610: 50 53 48 45 45 54 50 41 47 45 41 5f 56 32 3b 0d  PSHEETPAGEA_V2;.
1620: 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53  ...struct _PROPS
1630: 48 45 45 54 50 41 47 45 41 5f 56 33 20 7b 0d 0a  HEETPAGEA_V3 {..
1640: 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d    DWORD dwSize;.
1650: 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
1660: 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  ;..  HINSTANCE h
1670: 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69  Instance;..  uni
1680: 6f 6e 20 7b 0d 0a 20 20 20 20 4c 50 43 53 54 52  on {..    LPCSTR
1690: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20   pszTemplate;.. 
16a0: 20 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45     PROPSHEETPAGE
16b0: 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75  _RESOURCE pResou
16c0: 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69  rce;..  }..  uni
16d0: 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20  on {..    HICON 
16e0: 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 53  hIcon;..    LPCS
16f0: 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20 7d  TR pszIcon;..  }
1700: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 54 69  ..  LPCSTR pszTi
1710: 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f 43 20  tle;..  DLGPROC 
1720: 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20 20 4c  pfnDlgProc;..  L
1730: 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20  PARAM lParam;.. 
1740: 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b   LPFNPSPCALLBACK
1750: 41 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a  A pfnCallback;..
1760: 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50 61 72    UINT* pcRefPar
1770: 65 6e 74 3b 0d 0a 0d 0a 20 20 4c 50 43 53 54 52  ent;....  LPCSTR
1780: 20 70 73 7a 48 65 61 64 65 72 54 69 74 6c 65 3b   pszHeaderTitle;
1790: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 48 65  ..  LPCSTR pszHe
17a0: 61 64 65 72 53 75 62 54 69 74 6c 65 3b 0d 0a 0d  aderSubTitle;...
17b0: 0a 20 20 48 41 4e 44 4c 45 20 68 41 63 74 43 74  .  HANDLE hActCt
17c0: 78 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52  x;..}..alias _PR
17d0: 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56 33 20  OPSHEETPAGEA_V3 
17e0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56  PROPSHEETPAGEA_V
17f0: 33 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53  3;..alias _PROPS
1800: 48 45 45 54 50 41 47 45 41 5f 56 33 2a 20 4c 50  HEETPAGEA_V3* LP
1810: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 5f 56  PROPSHEETPAGEA_V
1820: 33 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 52 4f 50  3;....alias PROP
1830: 53 48 45 45 54 50 41 47 45 41 5f 56 33 2a 20 4c  SHEETPAGEA_V3* L
1840: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41  PCPROPSHEETPAGEA
1850: 5f 56 33 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  _V3;....struct _
1860: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56  PROPSHEETPAGEW_V
1870: 31 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  1 {..  DWORD dwS
1880: 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ize;..  DWORD dw
1890: 46 6c 61 67 73 3b 0d 0a 20 20 48 49 4e 53 54 41  Flags;..  HINSTA
18a0: 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a  NCE hInstance;..
18b0: 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 4c    union {..    L
18c0: 50 43 57 53 54 52 20 70 73 7a 54 65 6d 70 6c 61  PCWSTR pszTempla
18d0: 74 65 3b 0d 0a 20 20 20 20 50 52 4f 50 53 48 45  te;..    PROPSHE
18e0: 45 54 50 41 47 45 5f 52 45 53 4f 55 52 43 45 20  ETPAGE_RESOURCE 
18f0: 70 52 65 73 6f 75 72 63 65 3b 0d 0a 20 20 7d 0d  pResource;..  }.
1900: 0a 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20  .  union {..    
1910: 48 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20  HICON hIcon;..  
1920: 20 20 4c 50 43 57 53 54 52 20 70 73 7a 49 63 6f    LPCWSTR pszIco
1930: 6e 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50 43 57 53  n;..  }..  LPCWS
1940: 54 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20 20  TR pszTitle;..  
1950: 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50 72  DLGPROC pfnDlgPr
1960: 6f 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  oc;..  LPARAM lP
1970: 61 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50 53 50  aram;..  LPFNPSP
1980: 43 41 4c 4c 42 41 43 4b 57 20 70 66 6e 43 61 6c  CALLBACKW pfnCal
1990: 6c 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 2a 20  lback;..  UINT* 
19a0: 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 7d 0d  pcRefParent;..}.
19b0: 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45  .alias _PROPSHEE
19c0: 54 50 41 47 45 57 5f 56 31 20 50 52 4f 50 53 48  TPAGEW_V1 PROPSH
19d0: 45 45 54 50 41 47 45 57 5f 56 31 3b 0d 0a 61 6c  EETPAGEW_V1;..al
19e0: 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41  ias _PROPSHEETPA
19f0: 47 45 57 5f 56 31 2a 20 4c 50 50 52 4f 50 53 48  GEW_V1* LPPROPSH
1a00: 45 45 54 50 41 47 45 57 5f 56 31 3b 0d 0a 0d 0a  EETPAGEW_V1;....
1a10: 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50  alias PROPSHEETP
1a20: 41 47 45 57 5f 56 31 2a 20 4c 50 43 50 52 4f 50  AGEW_V1* LPCPROP
1a30: 53 48 45 45 54 50 41 47 45 57 5f 56 31 3b 0d 0a  SHEETPAGEW_V1;..
1a40: 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 50 53 48  ..struct _PROPSH
1a50: 45 45 54 50 41 47 45 57 5f 56 32 20 7b 0d 0a 20  EETPAGEW_V2 {.. 
1a60: 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a   DWORD dwSize;..
1a70: 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b    DWORD dwFlags;
1a80: 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49  ..  HINSTANCE hI
1a90: 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 75 6e 69 6f  nstance;..  unio
1aa0: 6e 20 7b 0d 0a 20 20 20 20 4c 50 43 57 53 54 52  n {..    LPCWSTR
1ab0: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 20   pszTemplate;.. 
1ac0: 20 20 20 50 52 4f 50 53 48 45 45 54 50 41 47 45     PROPSHEETPAGE
1ad0: 5f 52 45 53 4f 55 52 43 45 20 70 52 65 73 6f 75  _RESOURCE pResou
1ae0: 72 63 65 3b 0d 0a 20 20 7d 0d 0a 20 20 75 6e 69  rce;..  }..  uni
1af0: 6f 6e 20 7b 0d 0a 20 20 20 20 48 49 43 4f 4e 20  on {..    HICON 
1b00: 68 49 63 6f 6e 3b 0d 0a 20 20 20 20 4c 50 43 57  hIcon;..    LPCW
1b10: 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 20 20  STR pszIcon;..  
1b20: 7d 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a  }..  LPCWSTR psz
1b30: 54 69 74 6c 65 3b 0d 0a 20 20 44 4c 47 50 52 4f  Title;..  DLGPRO
1b40: 43 20 70 66 6e 44 6c 67 50 72 6f 63 3b 0d 0a 20  C pfnDlgProc;.. 
1b50: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
1b60: 0a 20 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41  .  LPFNPSPCALLBA
1b70: 43 4b 57 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b  CKW pfnCallback;
1b80: 0d 0a 20 20 55 49 4e 54 2a 20 70 63 52 65 66 50  ..  UINT* pcRefP
1b90: 61 72 65 6e 74 3b 0d 0a 0d 0a 20 20 4c 50 43 57  arent;....  LPCW
1ba0: 53 54 52 20 70 73 7a 48 65 61 64 65 72 54 69 74  STR pszHeaderTit
1bb0: 6c 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70  le;..  LPCWSTR p
1bc0: 73 7a 48 65 61 64 65 72 53 75 62 54 69 74 6c 65  szHeaderSubTitle
1bd0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 4f  ;..}..alias _PRO
1be0: 50 53 48 45 45 54 50 41 47 45 57 5f 56 32 20 50  PSHEETPAGEW_V2 P
1bf0: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 32  ROPSHEETPAGEW_V2
1c00: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48  ;..alias _PROPSH
1c10: 45 45 54 50 41 47 45 57 5f 56 32 2a 20 4c 50 50  EETPAGEW_V2* LPP
1c20: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 32  ROPSHEETPAGEW_V2
1c30: 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53  ;....alias PROPS
1c40: 48 45 45 54 50 41 47 45 57 5f 56 32 2a 20 4c 50  HEETPAGEW_V2* LP
1c50: 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f  CPROPSHEETPAGEW_
1c60: 56 32 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50  V2;....struct _P
1c70: 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56 33  ROPSHEETPAGEW_V3
1c80: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69   {..  DWORD dwSi
1c90: 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  ze;..  DWORD dwF
1ca0: 6c 61 67 73 3b 0d 0a 20 20 48 49 4e 53 54 41 4e  lags;..  HINSTAN
1cb0: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20  CE hInstance;.. 
1cc0: 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 4c 50   union {..    LP
1cd0: 43 57 53 54 52 20 70 73 7a 54 65 6d 70 6c 61 74  CWSTR pszTemplat
1ce0: 65 3b 0d 0a 20 20 20 20 50 52 4f 50 53 48 45 45  e;..    PROPSHEE
1cf0: 54 50 41 47 45 5f 52 45 53 4f 55 52 43 45 20 70  TPAGE_RESOURCE p
1d00: 52 65 73 6f 75 72 63 65 3b 0d 0a 20 20 7d 0d 0a  Resource;..  }..
1d10: 20 20 75 6e 69 6f 6e 20 7b 0d 0a 20 20 20 20 48    union {..    H
1d20: 49 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 20  ICON hIcon;..   
1d30: 20 4c 50 43 57 53 54 52 20 70 73 7a 49 63 6f 6e   LPCWSTR pszIcon
1d40: 3b 0d 0a 20 20 7d 0d 0a 20 20 4c 50 43 57 53 54  ;..  }..  LPCWST
1d50: 52 20 70 73 7a 54 69 74 6c 65 3b 0d 0a 20 20 44  R pszTitle;..  D
1d60: 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50 72 6f  LGPROC pfnDlgPro
1d70: 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  c;..  LPARAM lPa
1d80: 72 61 6d 3b 0d 0a 20 20 4c 50 46 4e 50 53 50 43  ram;..  LPFNPSPC
1d90: 41 4c 4c 42 41 43 4b 57 20 70 66 6e 43 61 6c 6c  ALLBACKW pfnCall
1da0: 62 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 2a 20 70  back;..  UINT* p
1db0: 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 0d 0a 20  cRefParent;.... 
1dc0: 20 4c 50 43 57 53 54 52 20 70 73 7a 48 65 61 64   LPCWSTR pszHead
1dd0: 65 72 54 69 74 6c 65 3b 0d 0a 20 20 4c 50 43 57  erTitle;..  LPCW
1de0: 53 54 52 20 70 73 7a 48 65 61 64 65 72 53 75 62  STR pszHeaderSub
1df0: 54 69 74 6c 65 3b 0d 0a 0d 0a 20 20 48 41 4e 44  Title;....  HAND
1e00: 4c 45 20 68 41 63 74 43 74 78 3b 0d 0a 7d 0d 0a  LE hActCtx;..}..
1e10: 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45 45 54  alias _PROPSHEET
1e20: 50 41 47 45 57 5f 56 33 20 50 52 4f 50 53 48 45  PAGEW_V3 PROPSHE
1e30: 45 54 50 41 47 45 57 5f 56 33 3b 0d 0a 61 6c 69  ETPAGEW_V3;..ali
1e40: 61 73 20 5f 50 52 4f 50 53 48 45 45 54 50 41 47  as _PROPSHEETPAG
1e50: 45 57 5f 56 33 2a 20 4c 50 50 52 4f 50 53 48 45  EW_V3* LPPROPSHE
1e60: 45 54 50 41 47 45 57 5f 56 33 3b 0d 0a 0d 0a 61  ETPAGEW_V3;....a
1e70: 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50 41  lias PROPSHEETPA
1e80: 47 45 57 5f 56 33 2a 20 4c 50 43 50 52 4f 50 53  GEW_V3* LPCPROPS
1e90: 48 45 45 54 50 41 47 45 57 5f 56 33 3b 0d 0a 0d  HEETPAGEW_V3;...
1ea0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54  .alias PROPSHEET
1eb0: 50 41 47 45 41 5f 56 33 20 50 52 4f 50 53 48 45  PAGEA_V3 PROPSHE
1ec0: 45 54 50 41 47 45 41 5f 4c 41 54 45 53 54 3b 0d  ETPAGEA_LATEST;.
1ed0: 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54  .alias PROPSHEET
1ee0: 50 41 47 45 57 5f 56 33 20 50 52 4f 50 53 48 45  PAGEW_V3 PROPSHE
1ef0: 45 54 50 41 47 45 57 5f 4c 41 54 45 53 54 3b 0d  ETPAGEW_LATEST;.
1f00: 0a 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 45  .alias LPPROPSHE
1f10: 45 54 50 41 47 45 41 5f 56 33 20 4c 50 50 52 4f  ETPAGEA_V3 LPPRO
1f20: 50 53 48 45 45 54 50 41 47 45 41 5f 4c 41 54 45  PSHEETPAGEA_LATE
1f30: 53 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f  ST;..alias LPPRO
1f40: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 4c  PSHEETPAGEW_V3 L
1f50: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f  PPROPSHEETPAGEW_
1f60: 4c 41 54 45 53 54 3b 0d 0a 61 6c 69 61 73 20 4c  LATEST;..alias L
1f70: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41  PCPROPSHEETPAGEA
1f80: 5f 56 33 20 4c 50 43 50 52 4f 50 53 48 45 45 54  _V3 LPCPROPSHEET
1f90: 50 41 47 45 41 5f 4c 41 54 45 53 54 3b 0d 0a 61  PAGEA_LATEST;..a
1fa0: 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45  lias LPCPROPSHEE
1fb0: 54 50 41 47 45 57 5f 56 33 20 4c 50 43 50 52 4f  TPAGEW_V3 LPCPRO
1fc0: 50 53 48 45 45 54 50 41 47 45 57 5f 4c 41 54 45  PSHEETPAGEW_LATE
1fd0: 53 54 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  ST;....// #if (_
1fe0: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
1ff0: 78 30 35 30 31 29 20 7c 7c 20 49 53 4f 4c 41 54  x0501) || ISOLAT
2000: 49 4f 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45  ION_AWARE_ENABLE
2010: 44 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45  D..alias PROPSHE
2020: 45 54 50 41 47 45 41 5f 56 33 20 50 52 4f 50 53  ETPAGEA_V3 PROPS
2030: 48 45 45 54 50 41 47 45 41 3b 0d 0a 61 6c 69 61  HEETPAGEA;..alia
2040: 73 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 57  s PROPSHEETPAGEW
2050: 5f 56 33 20 50 52 4f 50 53 48 45 45 54 50 41 47  _V3 PROPSHEETPAG
2060: 45 57 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f  EW;..alias LPPRO
2070: 50 53 48 45 45 54 50 41 47 45 41 5f 56 33 20 4c  PSHEETPAGEA_V3 L
2080: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 3b  PPROPSHEETPAGEA;
2090: 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48  ..alias LPPROPSH
20a0: 45 45 54 50 41 47 45 57 5f 56 33 20 4c 50 50 52  EETPAGEW_V3 LPPR
20b0: 4f 50 53 48 45 45 54 50 41 47 45 57 3b 0d 0a 61  OPSHEETPAGEW;..a
20c0: 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45  lias LPCPROPSHEE
20d0: 54 50 41 47 45 41 5f 56 33 20 4c 50 43 50 52 4f  TPAGEA_V3 LPCPRO
20e0: 50 53 48 45 45 54 50 41 47 45 41 3b 0d 0a 61 6c  PSHEETPAGEA;..al
20f0: 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54  ias LPCPROPSHEET
2100: 50 41 47 45 57 5f 56 33 20 4c 50 43 50 52 4f 50  PAGEW_V3 LPCPROP
2110: 53 48 45 45 54 50 41 47 45 57 3b 0d 0a 2f 2f 20  SHEETPAGEW;..// 
2120: 23 65 6c 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  #elif (_WIN32_IE
2130: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20   >= 0x0400)..// 
2140: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  .....// #else../
2150: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
2160: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 30 20 2f 2f 20  ....// #if 0 // 
2170: 49 45 55 4e 49 58 20 72 65 73 65 72 76 65 64 2e  IEUNIX reserved.
2180: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 5f 5f 53 54 44  ....// #if __STD
2190: 43 5f 5f 20 7c 7c 20 64 65 66 69 6e 65 64 20 28  C__ || defined (
21a0: 4e 4f 4e 41 4d 45 4c 45 53 53 55 4e 49 4f 4e 29  NONAMELESSUNION)
21b0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
21c0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
21d0: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
21e0: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  if....// #ifdef 
21f0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50  UNICODE..alias P
2200: 52 4f 50 53 48 45 45 54 50 41 47 45 57 20 50 52  ROPSHEETPAGEW PR
2210: 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 61 6c  OPSHEETPAGE;..al
2220: 69 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54 50  ias LPPROPSHEETP
2230: 41 47 45 57 20 4c 50 50 52 4f 50 53 48 45 45 54  AGEW LPPROPSHEET
2240: 50 41 47 45 3b 0d 0a 61 6c 69 61 73 20 4c 50 43  PAGE;..alias LPC
2250: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 20 4c  PROPSHEETPAGEW L
2260: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 3b  PCPROPSHEETPAGE;
2270: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f  ..// #define PRO
2280: 50 53 48 45 45 54 50 41 47 45 5f 56 31 5f 53 49  PSHEETPAGE_V1_SI
2290: 5a 45 20 50 52 4f 50 53 48 45 45 54 50 41 47 45  ZE PROPSHEETPAGE
22a0: 57 5f 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 64  W_V1_SIZE..// #d
22b0: 65 66 69 6e 65 20 50 52 4f 50 53 48 45 45 54 50  efine PROPSHEETP
22c0: 41 47 45 5f 56 32 5f 53 49 5a 45 20 50 52 4f 50  AGE_V2_SIZE PROP
22d0: 53 48 45 45 54 50 41 47 45 57 5f 56 32 5f 53 49  SHEETPAGEW_V2_SI
22e0: 5a 45 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48  ZE..alias PROPSH
22f0: 45 45 54 50 41 47 45 57 5f 56 31 20 50 52 4f 50  EETPAGEW_V1 PROP
2300: 53 48 45 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61  SHEETPAGE_V1;..a
2310: 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 45 45 54  lias LPPROPSHEET
2320: 50 41 47 45 57 5f 56 31 20 4c 50 50 52 4f 50 53  PAGEW_V1 LPPROPS
2330: 48 45 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61 6c  HEETPAGE_V1;..al
2340: 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54  ias LPCPROPSHEET
2350: 50 41 47 45 57 5f 56 31 20 4c 50 43 50 52 4f 50  PAGEW_V1 LPCPROP
2360: 53 48 45 45 54 50 41 47 45 5f 56 31 3b 0d 0a 61  SHEETPAGE_V1;..a
2370: 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 50 41  lias PROPSHEETPA
2380: 47 45 57 5f 56 32 20 50 52 4f 50 53 48 45 45 54  GEW_V2 PROPSHEET
2390: 50 41 47 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20  PAGE_V2;..alias 
23a0: 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57  LPPROPSHEETPAGEW
23b0: 5f 56 32 20 4c 50 50 52 4f 50 53 48 45 45 54 50  _V2 LPPROPSHEETP
23c0: 41 47 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20 4c  AGE_V2;..alias L
23d0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57  PCPROPSHEETPAGEW
23e0: 5f 56 32 20 4c 50 43 50 52 4f 50 53 48 45 45 54  _V2 LPCPROPSHEET
23f0: 50 41 47 45 5f 56 32 3b 0d 0a 61 6c 69 61 73 20  PAGE_V2;..alias 
2400: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 56  PROPSHEETPAGEW_V
2410: 33 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f  3 PROPSHEETPAGE_
2420: 56 33 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 4f  V3;..alias LPPRO
2430: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 4c  PSHEETPAGEW_V3 L
2440: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 56  PPROPSHEETPAGE_V
2450: 33 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 50 52 4f  3;..alias LPCPRO
2460: 50 53 48 45 45 54 50 41 47 45 57 5f 56 33 20 4c  PSHEETPAGEW_V3 L
2470: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f  PCPROPSHEETPAGE_
2480: 56 33 3b 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53  V3;..alias PROPS
2490: 48 45 45 54 50 41 47 45 57 5f 4c 41 54 45 53 54  HEETPAGEW_LATEST
24a0: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 4c   PROPSHEETPAGE_L
24b0: 41 54 45 53 54 3b 0d 0a 61 6c 69 61 73 20 4c 50  ATEST;..alias LP
24c0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 5f 4c  PROPSHEETPAGEW_L
24d0: 41 54 45 53 54 20 4c 50 50 52 4f 50 53 48 45 45  ATEST LPPROPSHEE
24e0: 54 50 41 47 45 5f 4c 41 54 45 53 54 3b 0d 0a 61  TPAGE_LATEST;..a
24f0: 6c 69 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45  lias LPCPROPSHEE
2500: 54 50 41 47 45 57 5f 4c 41 54 45 53 54 20 4c 50  TPAGEW_LATEST LP
2510: 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 5f 4c  CPROPSHEETPAGE_L
2520: 41 54 45 53 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65  ATEST;..// #else
2530: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
2540: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
2550: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
2560: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
2570: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
2580: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
2590: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
25a0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
25b0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
25c0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
25d0: 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
25e0: 69 6e 74 20 7b 20 50 53 48 5f 44 45 46 41 55 4c  int { PSH_DEFAUL
25f0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d  T = 0x00000000 }
2600: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2610: 50 53 48 5f 50 52 4f 50 54 49 54 4c 45 20 3d 20  PSH_PROPTITLE = 
2620: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
2630: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f  um : uint { PSH_
2640: 55 53 45 48 49 43 4f 4e 20 3d 20 30 78 30 30 30  USEHICON = 0x000
2650: 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
2660: 75 69 6e 74 20 7b 20 50 53 48 5f 55 53 45 49 43  uint { PSH_USEIC
2670: 4f 4e 49 44 20 3d 20 30 78 30 30 30 30 30 30 30  ONID = 0x0000000
2680: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2690: 20 7b 20 50 53 48 5f 50 52 4f 50 53 48 45 45 54   { PSH_PROPSHEET
26a0: 50 41 47 45 20 3d 20 30 78 30 30 30 30 30 30 30  PAGE = 0x0000000
26b0: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
26c0: 20 7b 20 50 53 48 5f 57 49 5a 41 52 44 48 41 53   { PSH_WIZARDHAS
26d0: 46 49 4e 49 53 48 20 3d 20 30 78 30 30 30 30 30  FINISH = 0x00000
26e0: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
26f0: 6e 74 20 7b 20 50 53 48 5f 57 49 5a 41 52 44 20  nt { PSH_WIZARD 
2700: 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a  = 0x00000020 }..
2710: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
2720: 48 5f 55 53 45 50 53 54 41 52 54 50 41 47 45 20  H_USEPSTARTPAGE 
2730: 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a  = 0x00000040 }..
2740: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
2750: 48 5f 4e 4f 41 50 50 4c 59 4e 4f 57 20 3d 20 30  H_NOAPPLYNOW = 0
2760: 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
2770: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 55  m : uint { PSH_U
2780: 53 45 43 41 4c 4c 42 41 43 4b 20 3d 20 30 78 30  SECALLBACK = 0x0
2790: 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
27a0: 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 48 41 53  : uint { PSH_HAS
27b0: 48 45 4c 50 20 3d 20 30 78 30 30 30 30 30 32 30  HELP = 0x0000020
27c0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
27d0: 20 7b 20 50 53 48 5f 4d 4f 44 45 4c 45 53 53 20   { PSH_MODELESS 
27e0: 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a  = 0x00000400 }..
27f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
2800: 48 5f 52 54 4c 52 45 41 44 49 4e 47 20 3d 20 30  H_RTLREADING = 0
2810: 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75  x00000800 }..enu
2820: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 57  m : uint { PSH_W
2830: 49 5a 41 52 44 43 4f 4e 54 45 58 54 48 45 4c 50  IZARDCONTEXTHELP
2840: 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d   = 0x00001000 }.
2850: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
2860: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
2870: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
2880: 32 5f 49 45 20 3c 20 30 78 30 35 30 30 29 0d 0a  2_IE < 0x0500)..
2890: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
28a0: 65 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  e..enum : uint {
28b0: 20 50 53 48 5f 57 49 5a 41 52 44 39 37 20 3d 20   PSH_WIZARD97 = 
28c0: 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 2f 2f  0x01000000 }..//
28d0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
28e0: 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 57 41 54  : uint { PSH_WAT
28f0: 45 52 4d 41 52 4b 20 3d 20 30 78 30 30 30 30 38  ERMARK = 0x00008
2900: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
2910: 6e 74 20 7b 20 50 53 48 5f 55 53 45 48 42 4d 57  nt { PSH_USEHBMW
2920: 41 54 45 52 4d 41 52 4b 20 3d 20 30 78 30 30 30  ATERMARK = 0x000
2930: 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  10000 }..enum : 
2940: 75 69 6e 74 20 7b 20 50 53 48 5f 55 53 45 48 50  uint { PSH_USEHP
2950: 4c 57 41 54 45 52 4d 41 52 4b 20 3d 20 30 78 30  LWATERMARK = 0x0
2960: 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0020000 }..enum 
2970: 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f 53 54 52  : uint { PSH_STR
2980: 45 54 43 48 57 41 54 45 52 4d 41 52 4b 20 3d 20  ETCHWATERMARK = 
2990: 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e  0x00040000 }..en
29a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 48 5f  um : uint { PSH_
29b0: 48 45 41 44 45 52 20 3d 20 30 78 30 30 30 38 30  HEADER = 0x00080
29c0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
29d0: 6e 74 20 7b 20 50 53 48 5f 55 53 45 48 42 4d 48  nt { PSH_USEHBMH
29e0: 45 41 44 45 52 20 3d 20 30 78 30 30 31 30 30 30  EADER = 0x001000
29f0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
2a00: 74 20 7b 20 50 53 48 5f 55 53 45 50 41 47 45 4c  t { PSH_USEPAGEL
2a10: 41 4e 47 20 3d 20 30 78 30 30 32 30 30 30 30 30  ANG = 0x00200000
2a20: 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   }....// #endif.
2a30: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
2a40: 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
2a50: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2a60: 20 50 53 48 5f 57 49 5a 41 52 44 5f 4c 49 54 45   PSH_WIZARD_LITE
2a70: 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d 0d   = 0x00400000 }.
2a80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2a90: 53 48 5f 4e 4f 43 4f 4e 54 45 58 54 48 45 4c 50  SH_NOCONTEXTHELP
2aa0: 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d 0d   = 0x02000000 }.
2ab0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
2ac0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
2ad0: 61 6c 69 61 73 20 69 6e 74 20 66 75 6e 63 74 69  alias int functi
2ae0: 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 4c  on(HWND, UINT, L
2af0: 50 41 52 41 4d 29 20 50 46 4e 50 52 4f 50 53 48  PARAM) PFNPROPSH
2b00: 45 45 54 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a  EETCALLBACK;....
2b10: 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53  // #define PROPS
2b20: 48 45 45 54 48 45 41 44 45 52 41 5f 56 31 5f 53  HEETHEADERA_V1_S
2b30: 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52  IZE CCSIZEOF_STR
2b40: 55 43 54 28 50 52 4f 50 53 48 45 45 54 48 45 41  UCT(PROPSHEETHEA
2b50: 44 45 52 41 2c 20 70 66 6e 43 61 6c 6c 62 61 63  DERA, pfnCallbac
2b60: 6b 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50  k)..// #define P
2b70: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 57 5f  ROPSHEETHEADERW_
2b80: 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46  V1_SIZE CCSIZEOF
2b90: 5f 53 54 52 55 43 54 28 50 52 4f 50 53 48 45 45  _STRUCT(PROPSHEE
2ba0: 54 48 45 41 44 45 52 57 2c 20 70 66 6e 43 61 6c  THEADERW, pfnCal
2bb0: 6c 62 61 63 6b 29 0d 0a 0d 0a 2f 2f 20 23 64 65  lback)....// #de
2bc0: 66 69 6e 65 20 50 52 4f 50 53 48 45 45 54 48 45  fine PROPSHEETHE
2bd0: 41 44 45 52 41 5f 56 32 5f 53 49 5a 45 20 43 43  ADERA_V2_SIZE CC
2be0: 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 50 52  SIZEOF_STRUCT(PR
2bf0: 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2c 20  OPSHEETHEADERA, 
2c00: 44 55 4d 4d 59 55 4e 49 4f 4e 35 5f 4d 45 4d 42  DUMMYUNION5_MEMB
2c10: 45 52 28 68 62 6d 48 65 61 64 65 72 29 29 0d 0a  ER(hbmHeader))..
2c20: 2f 2f 20 23 64 65 66 69 6e 65 20 50 52 4f 50 53  // #define PROPS
2c30: 48 45 45 54 48 45 41 44 45 52 57 5f 56 32 5f 53  HEETHEADERW_V2_S
2c40: 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52  IZE CCSIZEOF_STR
2c50: 55 43 54 28 50 52 4f 50 53 48 45 45 54 48 45 41  UCT(PROPSHEETHEA
2c60: 44 45 52 57 2c 20 44 55 4d 4d 59 55 4e 49 4f 4e  DERW, DUMMYUNION
2c70: 35 5f 4d 45 4d 42 45 52 28 68 62 6d 48 65 61 64  5_MEMBER(hbmHead
2c80: 65 72 29 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  er))....struct _
2c90: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41  PROPSHEETHEADERA
2ca0: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69   {..  DWORD dwSi
2cb0: 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  ze;..  DWORD dwF
2cc0: 6c 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77  lags;..  HWND hw
2cd0: 6e 64 50 61 72 65 6e 74 3b 0d 0a 20 20 48 49 4e  ndParent;..  HIN
2ce0: 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
2cf0: 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48 49  ;..union {..  HI
2d00: 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 4c 50  CON hIcon;..  LP
2d10: 43 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a 7d  CSTR pszIcon;..}
2d20: 0d 0a 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a  ....  LPCSTR psz
2d30: 43 61 70 74 69 6f 6e 3b 0d 0a 20 20 55 49 4e 54  Caption;..  UINT
2d40: 20 6e 50 61 67 65 73 3b 0d 0a 75 6e 69 6f 6e 20   nPages;..union 
2d50: 7b 0d 0a 20 20 55 49 4e 54 20 6e 53 74 61 72 74  {..  UINT nStart
2d60: 50 61 67 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20  Page;..  LPCSTR 
2d70: 70 53 74 61 72 74 50 61 67 65 3b 0d 0a 7d 0d 0a  pStartPage;..}..
2d80: 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 4c 50 43  ..union {..  LPC
2d90: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 20 70  PROPSHEETPAGEA p
2da0: 70 73 70 3b 0d 0a 20 20 48 50 52 4f 50 53 48 45  psp;..  HPROPSHE
2db0: 45 54 50 41 47 45 20 2a 70 68 70 61 67 65 3b 0d  ETPAGE *phpage;.
2dc0: 0a 7d 0d 0a 0d 0a 20 20 50 46 4e 50 52 4f 50 53  .}....  PFNPROPS
2dd0: 48 45 45 54 43 41 4c 4c 42 41 43 4b 20 70 66 6e  HEETCALLBACK pfn
2de0: 43 61 6c 6c 62 61 63 6b 3b 0d 0a 2f 2f 20 23 69  Callback;..// #i
2df0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
2e00: 30 78 30 34 30 30 29 0d 0a 75 6e 69 6f 6e 20 7b  0x0400)..union {
2e10: 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 57  ..  HBITMAP hbmW
2e20: 61 74 65 72 6d 61 72 6b 3b 0d 0a 20 20 4c 50 43  atermark;..  LPC
2e30: 53 54 52 20 70 73 7a 62 6d 57 61 74 65 72 6d 61  STR pszbmWaterma
2e40: 72 6b 3b 0d 0a 7d 0d 0a 0d 0a 20 20 48 50 41 4c  rk;..}....  HPAL
2e50: 45 54 54 45 20 68 70 6c 57 61 74 65 72 6d 61 72  ETTE hplWatermar
2e60: 6b 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48  k;..union {..  H
2e70: 42 49 54 4d 41 50 20 68 62 6d 48 65 61 64 65 72  BITMAP hbmHeader
2e80: 3b 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 62  ;..  LPCSTR pszb
2e90: 6d 48 65 61 64 65 72 3b 0d 0a 7d 0d 0a 0d 0a 2f  mHeader;..}..../
2ea0: 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69  / #endif..}..ali
2eb0: 61 73 20 5f 50 52 4f 50 53 48 45 45 54 48 45 41  as _PROPSHEETHEA
2ec0: 44 45 52 41 20 50 52 4f 50 53 48 45 45 54 48 45  DERA PROPSHEETHE
2ed0: 41 44 45 52 41 3b 0d 0a 61 6c 69 61 73 20 5f 50  ADERA;..alias _P
2ee0: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2a  ROPSHEETHEADERA*
2ef0: 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44   LPPROPSHEETHEAD
2f00: 45 52 41 3b 0d 0a 0d 0a 61 6c 69 61 73 20 50 52  ERA;....alias PR
2f10: 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 2a 20  OPSHEETHEADERA* 
2f20: 4c 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44  LPCPROPSHEETHEAD
2f30: 45 52 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ERA;....struct _
2f40: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 57  PROPSHEETHEADERW
2f50: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69   {..  DWORD dwSi
2f60: 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  ze;..  DWORD dwF
2f70: 6c 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77  lags;..  HWND hw
2f80: 6e 64 50 61 72 65 6e 74 3b 0d 0a 20 20 48 49 4e  ndParent;..  HIN
2f90: 53 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65  STANCE hInstance
2fa0: 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 48 49  ;..union {..  HI
2fb0: 43 4f 4e 20 68 49 63 6f 6e 3b 0d 0a 20 20 4c 50  CON hIcon;..  LP
2fc0: 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a  CWSTR pszIcon;..
2fd0: 7d 0d 0a 0d 0a 20 20 4c 50 43 57 53 54 52 20 70  }....  LPCWSTR p
2fe0: 73 7a 43 61 70 74 69 6f 6e 3b 0d 0a 20 20 55 49  szCaption;..  UI
2ff0: 4e 54 20 6e 50 61 67 65 73 3b 0d 0a 75 6e 69 6f  NT nPages;..unio
3000: 6e 20 7b 0d 0a 20 20 55 49 4e 54 20 6e 53 74 61  n {..  UINT nSta
3010: 72 74 50 61 67 65 3b 0d 0a 20 20 4c 50 43 57 53  rtPage;..  LPCWS
3020: 54 52 20 70 53 74 61 72 74 50 61 67 65 3b 0d 0a  TR pStartPage;..
3030: 7d 0d 0a 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20  }....union {..  
3040: 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45  LPCPROPSHEETPAGE
3050: 57 20 70 70 73 70 3b 0d 0a 20 20 48 50 52 4f 50  W ppsp;..  HPROP
3060: 53 48 45 45 54 50 41 47 45 20 2a 70 68 70 61 67  SHEETPAGE *phpag
3070: 65 3b 0d 0a 7d 0d 0a 0d 0a 20 20 50 46 4e 50 52  e;..}....  PFNPR
3080: 4f 50 53 48 45 45 54 43 41 4c 4c 42 41 43 4b 20  OPSHEETCALLBACK 
3090: 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a 2f 2f  pfnCallback;..//
30a0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
30b0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 75 6e 69 6f  >= 0x0400)..unio
30c0: 6e 20 7b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68  n {..  HBITMAP h
30d0: 62 6d 57 61 74 65 72 6d 61 72 6b 3b 0d 0a 20 20  bmWatermark;..  
30e0: 4c 50 43 57 53 54 52 20 70 73 7a 62 6d 57 61 74  LPCWSTR pszbmWat
30f0: 65 72 6d 61 72 6b 3b 0d 0a 7d 0d 0a 0d 0a 20 20  ermark;..}....  
3100: 48 50 41 4c 45 54 54 45 20 68 70 6c 57 61 74 65  HPALETTE hplWate
3110: 72 6d 61 72 6b 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d  rmark;..union {.
3120: 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 48 65  .  HBITMAP hbmHe
3130: 61 64 65 72 3b 0d 0a 20 20 4c 50 43 57 53 54 52  ader;..  LPCWSTR
3140: 20 70 73 7a 62 6d 48 65 61 64 65 72 3b 0d 0a 7d   pszbmHeader;..}
3150: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d  ....// #endif..}
3160: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 50 53 48 45  ..alias _PROPSHE
3170: 45 54 48 45 41 44 45 52 57 20 50 52 4f 50 53 48  ETHEADERW PROPSH
3180: 45 45 54 48 45 41 44 45 52 57 3b 0d 0a 61 6c 69  EETHEADERW;..ali
3190: 61 73 20 5f 50 52 4f 50 53 48 45 45 54 48 45 41  as _PROPSHEETHEA
31a0: 44 45 52 57 2a 20 4c 50 50 52 4f 50 53 48 45 45  DERW* LPPROPSHEE
31b0: 54 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 61 6c 69  THEADERW;....ali
31c0: 61 73 20 50 52 4f 50 53 48 45 45 54 48 45 41 44  as PROPSHEETHEAD
31d0: 45 52 57 2a 20 4c 50 43 50 52 4f 50 53 48 45 45  ERW* LPCPROPSHEE
31e0: 54 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 2f 2f 20  THEADERW;....// 
31f0: 23 69 66 20 30 20 2f 2f 49 45 55 4e 49 58 20 72  #if 0 //IEUNIX r
3200: 65 73 65 72 76 65 64 2e 0d 0a 0d 0a 2f 2f 20 23  eserved.....// #
3210: 69 66 20 5f 5f 53 54 44 43 5f 5f 20 7c 7c 20 64  if __STDC__ || d
3220: 65 66 69 6e 65 64 20 28 4e 4f 4e 41 4d 45 4c 45  efined (NONAMELE
3230: 53 53 55 4e 49 4f 4e 29 0d 0a 2f 2f 20 23 2e 2e  SSUNION)..// #..
3240: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
3250: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
3260: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
3270: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  f..// #endif....
3280: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
3290: 45 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45  E..alias PROPSHE
32a0: 45 54 48 45 41 44 45 52 57 20 50 52 4f 50 53 48  ETHEADERW PROPSH
32b0: 45 45 54 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61  EETHEADER;..alia
32c0: 73 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41  s LPPROPSHEETHEA
32d0: 44 45 52 57 20 4c 50 50 52 4f 50 53 48 45 45 54  DERW LPPROPSHEET
32e0: 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61 73 20 4c  HEADER;..alias L
32f0: 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 45  PCPROPSHEETHEADE
3300: 52 57 20 4c 50 43 50 52 4f 50 53 48 45 45 54 48  RW LPCPROPSHEETH
3310: 45 41 44 45 52 3b 0d 0a 2f 2f 20 23 64 65 66 69  EADER;..// #defi
3320: 6e 65 20 50 52 4f 50 53 48 45 45 54 48 45 41 44  ne PROPSHEETHEAD
3330: 45 52 5f 56 31 5f 53 49 5a 45 20 50 52 4f 50 53  ER_V1_SIZE PROPS
3340: 48 45 45 54 48 45 41 44 45 52 57 5f 56 31 5f 53  HEETHEADERW_V1_S
3350: 49 5a 45 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  IZE..// #define 
3360: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 5f  PROPSHEETHEADER_
3370: 56 32 5f 53 49 5a 45 20 50 52 4f 50 53 48 45 45  V2_SIZE PROPSHEE
3380: 54 48 45 41 44 45 52 57 5f 56 32 5f 53 49 5a 45  THEADERW_V2_SIZE
3390: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
33a0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
33b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
33c0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
33d0: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
33e0: 74 20 7b 20 50 53 43 42 5f 49 4e 49 54 49 41 4c  t { PSCB_INITIAL
33f0: 49 5a 45 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  IZED = 1 }..enum
3400: 20 3a 20 75 69 6e 74 20 7b 20 50 53 43 42 5f 50   : uint { PSCB_P
3410: 52 45 43 52 45 41 54 45 20 3d 20 32 20 7d 0d 0a  RECREATE = 2 }..
3420: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
3430: 5f 49 45 20 3e 3d 20 30 78 35 36 30 29 0d 0a 0d  _IE >= 0x560)...
3440: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
3450: 53 43 42 5f 42 55 54 54 4f 4e 50 52 45 53 53 45  SCB_BUTTONPRESSE
3460: 44 20 3d 20 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64  D = 3 }..// #end
3470: 69 66 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45  if  // _WIN32_IE
3480: 20 3e 3d 20 30 78 35 36 30 0d 0a 0d 0a 65 78 74   >= 0x560....ext
3490: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
34a0: 6f 72 74 20 48 50 52 4f 50 53 48 45 45 54 50 41  ort HPROPSHEETPA
34b0: 47 45 20 43 72 65 61 74 65 50 72 6f 70 65 72 74  GE CreatePropert
34c0: 79 53 68 65 65 74 50 61 67 65 41 28 4c 50 43 50  ySheetPageA(LPCP
34d0: 52 4f 50 53 48 45 45 54 50 41 47 45 41 20 63 6f  ROPSHEETPAGEA co
34e0: 6e 73 74 50 72 6f 70 53 68 65 65 74 50 61 67 65  nstPropSheetPage
34f0: 50 6f 69 6e 74 65 72 29 3b 0d 0a 65 78 74 65 72  Pointer);..exter
3500: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
3510: 74 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 45  t HPROPSHEETPAGE
3520: 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 53   CreatePropertyS
3530: 68 65 65 74 50 61 67 65 57 28 4c 50 43 50 52 4f  heetPageW(LPCPRO
3540: 50 53 48 45 45 54 50 41 47 45 57 20 63 6f 6e 73  PSHEETPAGEW cons
3550: 74 50 72 6f 70 53 68 65 65 74 50 61 67 65 50 6f  tPropSheetPagePo
3560: 69 6e 74 65 72 29 3b 0d 0a 65 78 74 65 72 6e 28  inter);..extern(
3570: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
3580: 42 4f 4f 4c 20 44 65 73 74 72 6f 79 50 72 6f 70  BOOL DestroyProp
3590: 65 72 74 79 53 68 65 65 74 50 61 67 65 28 48 50  ertySheetPage(HP
35a0: 52 4f 50 53 48 45 45 54 50 41 47 45 29 3b 0d 0a  ROPSHEETPAGE);..
35b0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
35c0: 29 20 65 78 70 6f 72 74 20 49 4e 54 5f 50 54 52  ) export INT_PTR
35d0: 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 41 28   PropertySheetA(
35e0: 4c 50 43 50 52 4f 50 53 48 45 45 54 48 45 41 44  LPCPROPSHEETHEAD
35f0: 45 52 41 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  ERA);....extern(
3600: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
3610: 49 4e 54 5f 50 54 52 20 50 72 6f 70 65 72 74 79  INT_PTR Property
3620: 53 68 65 65 74 57 28 4c 50 43 50 52 4f 50 53 48  SheetW(LPCPROPSH
3630: 45 45 54 48 45 41 44 45 52 57 29 3b 0d 0a 0d 0a  EETHEADERW);....
3640: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
3650: 45 0d 0a 61 6c 69 61 73 20 43 72 65 61 74 65 50  E..alias CreateP
3660: 72 6f 70 65 72 74 79 53 68 65 65 74 50 61 67 65  ropertySheetPage
3670: 57 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 79  W CreateProperty
3680: 53 68 65 65 74 50 61 67 65 3b 0d 0a 61 6c 69 61  SheetPage;..alia
3690: 73 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 57  s PropertySheetW
36a0: 20 50 72 6f 70 65 72 74 79 53 68 65 65 74 3b 0d   PropertySheet;.
36b0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
36c0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
36d0: 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e  #endif....extern
36e0: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20  (Windows) alias 
36f0: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 48 50  BOOL function(HP
3700: 52 4f 50 53 48 45 45 54 50 41 47 45 2c 20 4c 50  ROPSHEETPAGE, LP
3710: 41 52 41 4d 29 20 4c 50 46 4e 41 44 44 50 52 4f  ARAM) LPFNADDPRO
3720: 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 65 78 74  PSHEETPAGE;..ext
3730: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
3740: 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e  as BOOL function
3750: 28 4c 50 56 4f 49 44 2c 20 4c 50 46 4e 41 44 44  (LPVOID, LPFNADD
3760: 50 52 4f 50 53 48 45 45 54 50 41 47 45 2c 20 4c  PROPSHEETPAGE, L
3770: 50 41 52 41 4d 29 20 4c 50 46 4e 41 44 44 50 52  PARAM) LPFNADDPR
3780: 4f 50 53 48 45 45 54 50 41 47 45 53 3b 0d 0a 0d  OPSHEETPAGES;...
3790: 0a 73 74 72 75 63 74 20 5f 50 53 48 4e 4f 54 49  .struct _PSHNOTI
37a0: 46 59 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64  FY {..  NMHDR hd
37b0: 72 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61  r;..  LPARAM lPa
37c0: 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ram;..}..alias _
37d0: 50 53 48 4e 4f 54 49 46 59 20 50 53 48 4e 4f 54  PSHNOTIFY PSHNOT
37e0: 49 46 59 3b 0d 0a 61 6c 69 61 73 20 5f 50 53 48  IFY;..alias _PSH
37f0: 4e 4f 54 49 46 59 2a 20 4c 50 50 53 48 4e 4f 54  NOTIFY* LPPSHNOT
3800: 49 46 59 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  IFY;....enum : u
3810: 69 6e 74 20 7b 20 50 53 4e 5f 46 49 52 53 54 20  int { PSN_FIRST 
3820: 3d 20 30 55 2d 32 30 30 55 20 7d 0d 0a 65 6e 75  = 0U-200U }..enu
3830: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 4c  m : uint { PSN_L
3840: 41 53 54 20 3d 20 30 55 2d 32 39 39 55 20 7d 0d  AST = 0U-299U }.
3850: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
3860: 20 50 53 4e 5f 53 45 54 41 43 54 49 56 45 20 3d   PSN_SETACTIVE =
3870: 20 50 53 4e 5f 46 49 52 53 54 2d 30 20 7d 0d 0a   PSN_FIRST-0 }..
3880: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
3890: 4e 5f 4b 49 4c 4c 41 43 54 49 56 45 20 3d 20 50  N_KILLACTIVE = P
38a0: 53 4e 5f 46 49 52 53 54 2d 31 20 7d 0d 0a 0d 0a  SN_FIRST-1 }....
38b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
38c0: 4e 5f 41 50 50 4c 59 20 3d 20 50 53 4e 5f 46 49  N_APPLY = PSN_FI
38d0: 52 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  RST-2 }..enum : 
38e0: 75 69 6e 74 20 7b 20 50 53 4e 5f 52 45 53 45 54  uint { PSN_RESET
38f0: 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d 33 20 7d   = PSN_FIRST-3 }
3900: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
3910: 7b 20 50 53 4e 5f 48 45 4c 50 20 3d 20 50 53 4e  { PSN_HELP = PSN
3920: 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 6e 75 6d  _FIRST-5 }..enum
3930: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 57 49   : uint { PSN_WI
3940: 5a 42 41 43 4b 20 3d 20 50 53 4e 5f 46 49 52 53  ZBACK = PSN_FIRS
3950: 54 2d 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-6 }..enum : ui
3960: 6e 74 20 7b 20 50 53 4e 5f 57 49 5a 4e 45 58 54  nt { PSN_WIZNEXT
3970: 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d 37 20 7d   = PSN_FIRST-7 }
3980: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3990: 50 53 4e 5f 57 49 5a 46 49 4e 49 53 48 20 3d 20  PSN_WIZFINISH = 
39a0: 50 53 4e 5f 46 49 52 53 54 2d 38 20 7d 0d 0a 65  PSN_FIRST-8 }..e
39b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e  num : uint { PSN
39c0: 5f 51 55 45 52 59 43 41 4e 43 45 4c 20 3d 20 50  _QUERYCANCEL = P
39d0: 53 4e 5f 46 49 52 53 54 2d 39 20 7d 0d 0a 2f 2f  SN_FIRST-9 }..//
39e0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
39f0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
3a00: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 47 45   : uint { PSN_GE
3a10: 54 4f 42 4a 45 43 54 20 3d 20 50 53 4e 5f 46 49  TOBJECT = PSN_FI
3a20: 52 53 54 2d 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e  RST-10 }..// #en
3a30: 64 69 66 20 2f 2f 20 30 78 30 34 30 30 0d 0a 2f  dif // 0x0400../
3a40: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
3a50: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
3a60: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 5f 54  m : uint { PSN_T
3a70: 52 41 4e 53 4c 41 54 45 41 43 43 45 4c 45 52 41  RANSLATEACCELERA
3a80: 54 4f 52 20 3d 20 50 53 4e 5f 46 49 52 53 54 2d  TOR = PSN_FIRST-
3a90: 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  12 }..enum : uin
3aa0: 74 20 7b 20 50 53 4e 5f 51 55 45 52 59 49 4e 49  t { PSN_QUERYINI
3ab0: 54 49 41 4c 46 4f 43 55 53 20 3d 20 50 53 4e 5f  TIALFOCUS = PSN_
3ac0: 46 49 52 53 54 2d 31 33 20 7d 0d 0a 2f 2f 20 23  FIRST-13 }..// #
3ad0: 65 6e 64 69 66 20 2f 2f 20 30 78 30 35 30 30 0d  endif // 0x0500.
3ae0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
3af0: 20 50 53 4e 52 45 54 5f 4e 4f 45 52 52 4f 52 20   PSNRET_NOERROR 
3b00: 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 0 }..enum : ui
3b10: 6e 74 20 7b 20 50 53 4e 52 45 54 5f 49 4e 56 41  nt { PSNRET_INVA
3b20: 4c 49 44 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  LID = 1 }..enum 
3b30: 3a 20 75 69 6e 74 20 7b 20 50 53 4e 52 45 54 5f  : uint { PSNRET_
3b40: 49 4e 56 41 4c 49 44 5f 4e 4f 43 48 41 4e 47 45  INVALID_NOCHANGE
3b50: 50 41 47 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  PAGE = 2 }..enum
3b60: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4e 52 45 54   : uint { PSNRET
3b70: 5f 4d 45 53 53 41 47 45 48 41 4e 44 4c 45 44 20  _MESSAGEHANDLED 
3b80: 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  = 3 }....enum : 
3b90: 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54 43 55  uint { PSM_SETCU
3ba0: 52 53 45 4c 20 3d 20 57 4d 5f 55 53 45 52 20 2b  RSEL = WM_USER +
3bb0: 20 31 30 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   101 }..// #defi
3bc0: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74  ne PropSheet_Set
3bd0: 43 75 72 53 65 6c 28 68 44 6c 67 2c 20 68 70 61  CurSel(hDlg, hpa
3be0: 67 65 2c 20 69 6e 64 65 78 29 20 53 4e 44 4d 53  ge, index) SNDMS
3bf0: 47 28 68 44 6c 67 2c 20 50 53 4d 5f 53 45 54 43  G(hDlg, PSM_SETC
3c00: 55 52 53 45 4c 2c 20 28 57 50 41 52 41 4d 29 69  URSEL, (WPARAM)i
3c10: 6e 64 65 78 2c 20 28 4c 50 41 52 41 4d 29 68 70  ndex, (LPARAM)hp
3c20: 61 67 65 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  age)....enum : u
3c30: 69 6e 74 20 7b 20 50 53 4d 5f 52 45 4d 4f 56 45  int { PSM_REMOVE
3c40: 50 41 47 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b  PAGE = WM_USER +
3c50: 20 31 30 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   102 }..// #defi
3c60: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 52 65 6d  ne PropSheet_Rem
3c70: 6f 76 65 50 61 67 65 28 68 44 6c 67 2c 20 69 6e  ovePage(hDlg, in
3c80: 64 65 78 2c 20 68 70 61 67 65 29 20 53 4e 44 4d  dex, hpage) SNDM
3c90: 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 52 45 4d  SG(hDlg, PSM_REM
3ca0: 4f 56 45 50 41 47 45 2c 20 69 6e 64 65 78 2c 20  OVEPAGE, index, 
3cb0: 28 4c 50 41 52 41 4d 29 68 70 61 67 65 29 0d 0a  (LPARAM)hpage)..
3cc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3cd0: 50 53 4d 5f 41 44 44 50 41 47 45 20 3d 20 57 4d  PSM_ADDPAGE = WM
3ce0: 5f 55 53 45 52 20 2b 20 31 30 33 20 7d 0d 0a 2f  _USER + 103 }../
3cf0: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68  / #define PropSh
3d00: 65 65 74 5f 41 64 64 50 61 67 65 28 68 44 6c 67  eet_AddPage(hDlg
3d10: 2c 20 68 70 61 67 65 29 20 53 4e 44 4d 53 47 28  , hpage) SNDMSG(
3d20: 68 44 6c 67 2c 20 50 53 4d 5f 41 44 44 50 41 47  hDlg, PSM_ADDPAG
3d30: 45 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 68 70  E, 0, (LPARAM)hp
3d40: 61 67 65 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  age)....enum : u
3d50: 69 6e 74 20 7b 20 50 53 4d 5f 43 48 41 4e 47 45  int { PSM_CHANGE
3d60: 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30  D = WM_USER + 10
3d70: 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  4 }..// #define 
3d80: 50 72 6f 70 53 68 65 65 74 5f 43 68 61 6e 67 65  PropSheet_Change
3d90: 64 28 68 44 6c 67 2c 20 68 77 6e 64 29 20 53 4e  d(hDlg, hwnd) SN
3da0: 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 43  DMSG(hDlg, PSM_C
3db0: 48 41 4e 47 45 44 2c 20 28 57 50 41 52 41 4d 29  HANGED, (WPARAM)
3dc0: 68 77 6e 64 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75  hwnd, 0L)....enu
3dd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 52  m : uint { PSM_R
3de0: 45 53 54 41 52 54 57 49 4e 44 4f 57 53 20 3d 20  ESTARTWINDOWS = 
3df0: 57 4d 5f 55 53 45 52 20 2b 20 31 30 35 20 7d 0d  WM_USER + 105 }.
3e00: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70  .// #define Prop
3e10: 53 68 65 65 74 5f 52 65 73 74 61 72 74 57 69 6e  Sheet_RestartWin
3e20: 64 6f 77 73 28 68 44 6c 67 29 20 53 4e 44 4d 53  dows(hDlg) SNDMS
3e30: 47 28 68 44 6c 67 2c 20 50 53 4d 5f 52 45 53 54  G(hDlg, PSM_REST
3e40: 41 52 54 57 49 4e 44 4f 57 53 2c 20 30 2c 20 30  ARTWINDOWS, 0, 0
3e50: 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  L)....enum : uin
3e60: 74 20 7b 20 50 53 4d 5f 52 45 42 4f 4f 54 53 59  t { PSM_REBOOTSY
3e70: 53 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52 20 2b  STEM = WM_USER +
3e80: 20 31 30 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   106 }..// #defi
3e90: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 52 65 62  ne PropSheet_Reb
3ea0: 6f 6f 74 53 79 73 74 65 6d 28 68 44 6c 67 29 20  ootSystem(hDlg) 
3eb0: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d  SNDMSG(hDlg, PSM
3ec0: 5f 52 45 42 4f 4f 54 53 59 53 54 45 4d 2c 20 30  _REBOOTSYSTEM, 0
3ed0: 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  , 0L)....enum : 
3ee0: 75 69 6e 74 20 7b 20 50 53 4d 5f 43 41 4e 43 45  uint { PSM_CANCE
3ef0: 4c 54 4f 43 4c 4f 53 45 20 3d 20 57 4d 5f 55 53  LTOCLOSE = WM_US
3f00: 45 52 20 2b 20 31 30 37 20 7d 0d 0a 2f 2f 20 23  ER + 107 }..// #
3f10: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74  define PropSheet
3f20: 5f 43 61 6e 63 65 6c 54 6f 43 6c 6f 73 65 28 68  _CancelToClose(h
3f30: 44 6c 67 29 20 50 6f 73 74 4d 65 73 73 61 67 65  Dlg) PostMessage
3f40: 28 68 44 6c 67 2c 20 50 53 4d 5f 43 41 4e 43 45  (hDlg, PSM_CANCE
3f50: 4c 54 4f 43 4c 4f 53 45 2c 20 30 2c 20 30 4c 29  LTOCLOSE, 0, 0L)
3f60: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
3f70: 7b 20 50 53 4d 5f 51 55 45 52 59 53 49 42 4c 49  { PSM_QUERYSIBLI
3f80: 4e 47 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  NGS = WM_USER + 
3f90: 31 30 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  108 }..// #defin
3fa0: 65 20 50 72 6f 70 53 68 65 65 74 5f 51 75 65 72  e PropSheet_Quer
3fb0: 79 53 69 62 6c 69 6e 67 73 28 68 44 6c 67 2c 20  ySiblings(hDlg, 
3fc0: 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 20  wParam, lParam) 
3fd0: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d  SNDMSG(hDlg, PSM
3fe0: 5f 51 55 45 52 59 53 49 42 4c 49 4e 47 53 2c 20  _QUERYSIBLINGS, 
3ff0: 77 50 61 72 61 6d 2c 20 6c 50 61 72 61 6d 29 0d  wParam, lParam).
4000: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
4010: 20 50 53 4d 5f 55 4e 43 48 41 4e 47 45 44 20 3d   PSM_UNCHANGED =
4020: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 39 20 7d   WM_USER + 109 }
4030: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f  ..// #define Pro
4040: 70 53 68 65 65 74 5f 55 6e 43 68 61 6e 67 65 64  pSheet_UnChanged
4050: 28 68 44 6c 67 2c 20 68 77 6e 64 29 20 53 4e 44  (hDlg, hwnd) SND
4060: 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 55 4e  MSG(hDlg, PSM_UN
4070: 43 48 41 4e 47 45 44 2c 20 28 57 50 41 52 41 4d  CHANGED, (WPARAM
4080: 29 68 77 6e 64 2c 20 30 4c 29 0d 0a 0d 0a 65 6e  )hwnd, 0L)....en
4090: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f  um : uint { PSM_
40a0: 41 50 50 4c 59 20 3d 20 57 4d 5f 55 53 45 52 20  APPLY = WM_USER 
40b0: 2b 20 31 31 30 20 7d 0d 0a 2f 2f 20 23 64 65 66  + 110 }..// #def
40c0: 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 41 70  ine PropSheet_Ap
40d0: 70 6c 79 28 68 44 6c 67 29 20 53 4e 44 4d 53 47  ply(hDlg) SNDMSG
40e0: 28 68 44 6c 67 2c 20 50 53 4d 5f 41 50 50 4c 59  (hDlg, PSM_APPLY
40f0: 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d  , 0, 0L)....enum
4100: 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45   : uint { PSM_SE
4110: 54 54 49 54 4c 45 41 20 3d 20 57 4d 5f 55 53 45  TTITLEA = WM_USE
4120: 52 20 2b 20 31 31 31 20 7d 0d 0a 65 6e 75 6d 20  R + 111 }..enum 
4130: 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54  : uint { PSM_SET
4140: 54 49 54 4c 45 57 20 3d 20 57 4d 5f 55 53 45 52  TITLEW = WM_USER
4150: 20 2b 20 31 32 30 20 7d 0d 0a 0d 0a 2f 2f 20 23   + 120 }....// #
4160: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
4170: 6c 69 61 73 20 50 53 4d 5f 53 45 54 54 49 54 4c  lias PSM_SETTITL
4180: 45 57 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 3b  EW PSM_SETTITLE;
4190: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
41a0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
41b0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f  ..// #define Pro
41c0: 70 53 68 65 65 74 5f 53 65 74 54 69 74 6c 65 28  pSheet_SetTitle(
41d0: 68 44 6c 67 2c 20 77 53 74 79 6c 65 2c 20 6c 70  hDlg, wStyle, lp
41e0: 73 7a 54 65 78 74 29 20 53 4e 44 4d 53 47 28 68  szText) SNDMSG(h
41f0: 44 6c 67 2c 20 50 53 4d 5f 53 45 54 54 49 54 4c  Dlg, PSM_SETTITL
4200: 45 2c 20 77 53 74 79 6c 65 2c 20 28 4c 50 41 52  E, wStyle, (LPAR
4210: 41 4d 29 28 4c 50 43 54 53 54 52 29 28 6c 70 73  AM)(LPCTSTR)(lps
4220: 7a 54 65 78 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20  zText))....enum 
4230: 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54  : uint { PSM_SET
4240: 57 49 5a 42 55 54 54 4f 4e 53 20 3d 20 57 4d 5f  WIZBUTTONS = WM_
4250: 55 53 45 52 20 2b 20 31 31 32 20 7d 0d 0a 2f 2f  USER + 112 }..//
4260: 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65   #define PropShe
4270: 65 74 5f 53 65 74 57 69 7a 42 75 74 74 6f 6e 73  et_SetWizButtons
4280: 28 68 44 6c 67 2c 20 64 77 46 6c 61 67 73 29 20  (hDlg, dwFlags) 
4290: 50 6f 73 74 4d 65 73 73 61 67 65 28 68 44 6c 67  PostMessage(hDlg
42a0: 2c 20 50 53 4d 5f 53 45 54 57 49 5a 42 55 54 54  , PSM_SETWIZBUTT
42b0: 4f 4e 53 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  ONS, 0, (LPARAM)
42c0: 64 77 46 6c 61 67 73 29 0d 0a 0d 0a 65 6e 75 6d  dwFlags)....enum
42d0: 20 3a 20 75 69 6e 74 20 7b 20 50 53 57 49 5a 42   : uint { PSWIZB
42e0: 5f 42 41 43 4b 20 3d 20 30 78 30 30 30 30 30 30  _BACK = 0x000000
42f0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
4300: 74 20 7b 20 50 53 57 49 5a 42 5f 4e 45 58 54 20  t { PSWIZB_NEXT 
4310: 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
4320: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
4330: 57 49 5a 42 5f 46 49 4e 49 53 48 20 3d 20 30 78  WIZB_FINISH = 0x
4340: 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
4350: 20 3a 20 75 69 6e 74 20 7b 20 50 53 57 49 5a 42   : uint { PSWIZB
4360: 5f 44 49 53 41 42 4c 45 44 46 49 4e 49 53 48 20  _DISABLEDFINISH 
4370: 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
4380: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4390: 50 53 4d 5f 50 52 45 53 53 42 55 54 54 4f 4e 20  PSM_PRESSBUTTON 
43a0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31 33 20  = WM_USER + 113 
43b0: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72  }..// #define Pr
43c0: 6f 70 53 68 65 65 74 5f 50 72 65 73 73 42 75 74  opSheet_PressBut
43d0: 74 6f 6e 28 68 44 6c 67 2c 20 69 42 75 74 74 6f  ton(hDlg, iButto
43e0: 6e 29 20 50 6f 73 74 4d 65 73 73 61 67 65 28 68  n) PostMessage(h
43f0: 44 6c 67 2c 20 50 53 4d 5f 50 52 45 53 53 42 55  Dlg, PSM_PRESSBU
4400: 54 54 4f 4e 2c 20 28 57 50 41 52 41 4d 29 69 42  TTON, (WPARAM)iB
4410: 75 74 74 6f 6e 2c 20 30 29 0d 0a 0d 0a 65 6e 75  utton, 0)....enu
4420: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e  m : uint { PSBTN
4430: 5f 42 41 43 4b 20 3d 20 30 20 7d 0d 0a 65 6e 75  _BACK = 0 }..enu
4440: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e  m : uint { PSBTN
4450: 5f 4e 45 58 54 20 3d 20 31 20 7d 0d 0a 65 6e 75  _NEXT = 1 }..enu
4460: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e  m : uint { PSBTN
4470: 5f 46 49 4e 49 53 48 20 3d 20 32 20 7d 0d 0a 65  _FINISH = 2 }..e
4480: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42  num : uint { PSB
4490: 54 4e 5f 4f 4b 20 3d 20 33 20 7d 0d 0a 65 6e 75  TN_OK = 3 }..enu
44a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 42 54 4e  m : uint { PSBTN
44b0: 5f 41 50 50 4c 59 4e 4f 57 20 3d 20 34 20 7d 0d  _APPLYNOW = 4 }.
44c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
44d0: 53 42 54 4e 5f 43 41 4e 43 45 4c 20 3d 20 35 20  SBTN_CANCEL = 5 
44e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
44f0: 20 50 53 42 54 4e 5f 48 45 4c 50 20 3d 20 36 20   PSBTN_HELP = 6 
4500: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4510: 20 50 53 42 54 4e 5f 4d 41 58 20 3d 20 36 20 7d   PSBTN_MAX = 6 }
4520: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
4530: 7b 20 50 53 4d 5f 53 45 54 43 55 52 53 45 4c 49  { PSM_SETCURSELI
4540: 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 31  D = WM_USER + 11
4550: 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  4 }..// #define 
4560: 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75 72  PropSheet_SetCur
4570: 53 65 6c 42 79 49 44 28 68 44 6c 67 2c 20 69 64  SelByID(hDlg, id
4580: 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50  ) SNDMSG(hDlg, P
4590: 53 4d 5f 53 45 54 43 55 52 53 45 4c 49 44 2c 20  SM_SETCURSELID, 
45a0: 30 2c 20 28 4c 50 41 52 41 4d 29 69 64 29 0d 0a  0, (LPARAM)id)..
45b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
45c0: 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58  PSM_SETFINISHTEX
45d0: 54 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  TA = WM_USER + 1
45e0: 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  15 }..enum : uin
45f0: 74 20 7b 20 50 53 4d 5f 53 45 54 46 49 4e 49 53  t { PSM_SETFINIS
4600: 48 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52  HTEXTW = WM_USER
4610: 20 2b 20 31 32 31 20 7d 0d 0a 0d 0a 2f 2f 20 23   + 121 }....// #
4620: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
4630: 6c 69 61 73 20 50 53 4d 5f 53 45 54 46 49 4e 49  lias PSM_SETFINI
4640: 53 48 54 45 58 54 57 20 50 53 4d 5f 53 45 54 46  SHTEXTW PSM_SETF
4650: 49 4e 49 53 48 54 45 58 54 3b 0d 0a 2f 2f 20 23  INISHTEXT;..// #
4660: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
4670: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
4680: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74  define PropSheet
4690: 5f 53 65 74 46 69 6e 69 73 68 54 65 78 74 28 68  _SetFinishText(h
46a0: 44 6c 67 2c 20 6c 70 73 7a 54 65 78 74 29 20 53  Dlg, lpszText) S
46b0: 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f  NDMSG(hDlg, PSM_
46c0: 53 45 54 46 49 4e 49 53 48 54 45 58 54 2c 20 30  SETFINISHTEXT, 0
46d0: 2c 20 28 4c 50 41 52 41 4d 29 6c 70 73 7a 54 65  , (LPARAM)lpszTe
46e0: 78 74 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  xt)....enum : ui
46f0: 6e 74 20 7b 20 50 53 4d 5f 47 45 54 54 41 42 43  nt { PSM_GETTABC
4700: 4f 4e 54 52 4f 4c 20 3d 20 57 4d 5f 55 53 45 52  ONTROL = WM_USER
4710: 20 2b 20 31 31 36 20 7d 0d 0a 2f 2f 20 23 64 65   + 116 }..// #de
4720: 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 47  fine PropSheet_G
4730: 65 74 54 61 62 43 6f 6e 74 72 6f 6c 28 68 44 6c  etTabControl(hDl
4740: 67 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28  g) (HWND)SNDMSG(
4750: 68 44 6c 67 2c 20 50 53 4d 5f 47 45 54 54 41 42  hDlg, PSM_GETTAB
4760: 43 4f 4e 54 52 4f 4c 2c 20 30 2c 20 30 29 0d 0a  CONTROL, 0, 0)..
4770: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4780: 50 53 4d 5f 49 53 44 49 41 4c 4f 47 4d 45 53 53  PSM_ISDIALOGMESS
4790: 41 47 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  AGE = WM_USER + 
47a0: 31 31 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  117 }..// #defin
47b0: 65 20 50 72 6f 70 53 68 65 65 74 5f 49 73 44 69  e PropSheet_IsDi
47c0: 61 6c 6f 67 4d 65 73 73 61 67 65 28 68 44 6c 67  alogMessage(hDlg
47d0: 2c 20 70 4d 73 67 29 20 28 42 4f 4f 4c 29 53 4e  , pMsg) (BOOL)SN
47e0: 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 49  DMSG(hDlg, PSM_I
47f0: 53 44 49 41 4c 4f 47 4d 45 53 53 41 47 45 2c 20  SDIALOGMESSAGE, 
4800: 30 2c 20 28 4c 50 41 52 41 4d 29 70 4d 73 67 29  0, (LPARAM)pMsg)
4810: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
4820: 7b 20 50 53 4d 5f 47 45 54 43 55 52 52 45 4e 54  { PSM_GETCURRENT
4830: 50 41 47 45 48 57 4e 44 20 3d 20 57 4d 5f 55 53  PAGEHWND = WM_US
4840: 45 52 20 2b 20 31 31 38 20 7d 0d 0a 2f 2f 20 23  ER + 118 }..// #
4850: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74  define PropSheet
4860: 5f 47 65 74 43 75 72 72 65 6e 74 50 61 67 65 48  _GetCurrentPageH
4870: 77 6e 64 28 68 44 6c 67 29 20 28 48 57 4e 44 29  wnd(hDlg) (HWND)
4880: 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d  SNDMSG(hDlg, PSM
4890: 5f 47 45 54 43 55 52 52 45 4e 54 50 41 47 45 48  _GETCURRENTPAGEH
48a0: 57 4e 44 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65  WND, 0, 0L)....e
48b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d  num : uint { PSM
48c0: 5f 49 4e 53 45 52 54 50 41 47 45 20 3d 20 57 4d  _INSERTPAGE = WM
48d0: 5f 55 53 45 52 20 2b 20 31 31 39 20 7d 0d 0a 2f  _USER + 119 }../
48e0: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68  / #define PropSh
48f0: 65 65 74 5f 49 6e 73 65 72 74 50 61 67 65 28 68  eet_InsertPage(h
4900: 44 6c 67 2c 20 69 6e 64 65 78 2c 20 68 70 61 67  Dlg, index, hpag
4910: 65 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20  e) SNDMSG(hDlg, 
4920: 50 53 4d 5f 49 4e 53 45 52 54 50 41 47 45 2c 20  PSM_INSERTPAGE, 
4930: 28 57 50 41 52 41 4d 29 28 69 6e 64 65 78 29 2c  (WPARAM)(index),
4940: 20 28 4c 50 41 52 41 4d 29 28 68 70 61 67 65 29   (LPARAM)(hpage)
4950: 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  )....// #if (_WI
4960: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
4970: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
4980: 20 50 53 4d 5f 53 45 54 48 45 41 44 45 52 54 49   PSM_SETHEADERTI
4990: 54 4c 45 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b  TLEA = WM_USER +
49a0: 20 31 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   125 }..enum : u
49b0: 69 6e 74 20 7b 20 50 53 4d 5f 53 45 54 48 45 41  int { PSM_SETHEA
49c0: 44 45 52 54 49 54 4c 45 57 20 3d 20 57 4d 5f 55  DERTITLEW = WM_U
49d0: 53 45 52 20 2b 20 31 32 36 20 7d 0d 0a 0d 0a 2f  SER + 126 }..../
49e0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
49f0: 0d 0a 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 48  ..alias PSM_SETH
4a00: 45 41 44 45 52 54 49 54 4c 45 57 20 50 53 4d 5f  EADERTITLEW PSM_
4a10: 53 45 54 48 45 41 44 45 52 54 49 54 4c 45 3b 0d  SETHEADERTITLE;.
4a20: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
4a30: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
4a40: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70  .// #define Prop
4a50: 53 68 65 65 74 5f 53 65 74 48 65 61 64 65 72 54  Sheet_SetHeaderT
4a60: 69 74 6c 65 28 68 44 6c 67 2c 20 69 6e 64 65 78  itle(hDlg, index
4a70: 2c 20 6c 70 73 7a 54 65 78 74 29 20 53 4e 44 4d  , lpszText) SNDM
4a80: 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 53 45 54  SG(hDlg, PSM_SET
4a90: 48 45 41 44 45 52 54 49 54 4c 45 2c 20 28 57 50  HEADERTITLE, (WP
4aa0: 41 52 41 4d 29 28 69 6e 64 65 78 29 2c 20 28 4c  ARAM)(index), (L
4ab0: 50 41 52 41 4d 29 28 6c 70 73 7a 54 65 78 74 29  PARAM)(lpszText)
4ac0: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
4ad0: 20 7b 20 50 53 4d 5f 53 45 54 48 45 41 44 45 52   { PSM_SETHEADER
4ae0: 53 55 42 54 49 54 4c 45 41 20 3d 20 57 4d 5f 55  SUBTITLEA = WM_U
4af0: 53 45 52 20 2b 20 31 32 37 20 7d 0d 0a 65 6e 75  SER + 127 }..enu
4b00: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 53  m : uint { PSM_S
4b10: 45 54 48 45 41 44 45 52 53 55 42 54 49 54 4c 45  ETHEADERSUBTITLE
4b20: 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 32  W = WM_USER + 12
4b30: 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  8 }....// #ifdef
4b40: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
4b50: 50 53 4d 5f 53 45 54 48 45 41 44 45 52 53 55 42  PSM_SETHEADERSUB
4b60: 54 49 54 4c 45 57 20 50 53 4d 5f 53 45 54 48 45  TITLEW PSM_SETHE
4b70: 41 44 45 52 53 55 42 54 49 54 4c 45 3b 0d 0a 2f  ADERSUBTITLE;../
4b80: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
4b90: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
4ba0: 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70 53 68  / #define PropSh
4bb0: 65 65 74 5f 53 65 74 48 65 61 64 65 72 53 75 62  eet_SetHeaderSub
4bc0: 54 69 74 6c 65 28 68 44 6c 67 2c 20 69 6e 64 65  Title(hDlg, inde
4bd0: 78 2c 20 6c 70 73 7a 54 65 78 74 29 20 53 4e 44  x, lpszText) SND
4be0: 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 53 45  MSG(hDlg, PSM_SE
4bf0: 54 48 45 41 44 45 52 53 55 42 54 49 54 4c 45 2c  THEADERSUBTITLE,
4c00: 20 28 57 50 41 52 41 4d 29 28 69 6e 64 65 78 29   (WPARAM)(index)
4c10: 2c 20 28 4c 50 41 52 41 4d 29 28 6c 70 73 7a 54  , (LPARAM)(lpszT
4c20: 65 78 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ext))....enum : 
4c30: 75 69 6e 74 20 7b 20 50 53 4d 5f 48 57 4e 44 54  uint { PSM_HWNDT
4c40: 4f 49 4e 44 45 58 20 3d 20 57 4d 5f 55 53 45 52  OINDEX = WM_USER
4c50: 20 2b 20 31 32 39 20 7d 0d 0a 2f 2f 20 23 64 65   + 129 }..// #de
4c60: 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 48  fine PropSheet_H
4c70: 77 6e 64 54 6f 49 6e 64 65 78 28 68 44 6c 67 2c  wndToIndex(hDlg,
4c80: 20 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d   hwnd) (int)SNDM
4c90: 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 48 57 4e  SG(hDlg, PSM_HWN
4ca0: 44 54 4f 49 4e 44 45 58 2c 20 28 57 50 41 52 41  DTOINDEX, (WPARA
4cb0: 4d 29 28 68 77 6e 64 29 2c 20 30 29 0d 0a 0d 0a  M)(hwnd), 0)....
4cc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53  enum : uint { PS
4cd0: 4d 5f 49 4e 44 45 58 54 4f 48 57 4e 44 20 3d 20  M_INDEXTOHWND = 
4ce0: 57 4d 5f 55 53 45 52 20 2b 20 31 33 30 20 7d 0d  WM_USER + 130 }.
4cf0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72 6f 70  .// #define Prop
4d00: 53 68 65 65 74 5f 49 6e 64 65 78 54 6f 48 77 6e  Sheet_IndexToHwn
4d10: 64 28 68 44 6c 67 2c 20 69 29 20 28 48 57 4e 44  d(hDlg, i) (HWND
4d20: 29 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20 50 53  )SNDMSG(hDlg, PS
4d30: 4d 5f 49 4e 44 45 58 54 4f 48 57 4e 44 2c 20 28  M_INDEXTOHWND, (
4d40: 57 50 41 52 41 4d 29 28 69 29 2c 20 30 29 0d 0a  WPARAM)(i), 0)..
4d50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4d60: 50 53 4d 5f 50 41 47 45 54 4f 49 4e 44 45 58 20  PSM_PAGETOINDEX 
4d70: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 31 20  = WM_USER + 131 
4d80: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72  }..// #define Pr
4d90: 6f 70 53 68 65 65 74 5f 50 61 67 65 54 6f 49 6e  opSheet_PageToIn
4da0: 64 65 78 28 68 44 6c 67 2c 20 68 70 61 67 65 29  dex(hDlg, hpage)
4db0: 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 68 44 6c   (int)SNDMSG(hDl
4dc0: 67 2c 20 50 53 4d 5f 50 41 47 45 54 4f 49 4e 44  g, PSM_PAGETOIND
4dd0: 45 58 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  EX, 0, (LPARAM)(
4de0: 68 70 61 67 65 29 29 0d 0a 0d 0a 65 6e 75 6d 20  hpage))....enum 
4df0: 3a 20 75 69 6e 74 20 7b 20 50 53 4d 5f 49 4e 44  : uint { PSM_IND
4e00: 45 58 54 4f 50 41 47 45 20 3d 20 57 4d 5f 55 53  EXTOPAGE = WM_US
4e10: 45 52 20 2b 20 31 33 32 20 7d 0d 0a 2f 2f 20 23  ER + 132 }..// #
4e20: 64 65 66 69 6e 65 20 50 72 6f 70 53 68 65 65 74  define PropSheet
4e30: 5f 49 6e 64 65 78 54 6f 50 61 67 65 28 68 44 6c  _IndexToPage(hDl
4e40: 67 2c 20 69 29 20 28 48 50 52 4f 50 53 48 45 45  g, i) (HPROPSHEE
4e50: 54 50 41 47 45 29 53 4e 44 4d 53 47 28 68 44 6c  TPAGE)SNDMSG(hDl
4e60: 67 2c 20 50 53 4d 5f 49 4e 44 45 58 54 4f 50 41  g, PSM_INDEXTOPA
4e70: 47 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c  GE, (WPARAM)(i),
4e80: 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   0)....enum : ui
4e90: 6e 74 20 7b 20 50 53 4d 5f 49 44 54 4f 49 4e 44  nt { PSM_IDTOIND
4ea0: 45 58 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  EX = WM_USER + 1
4eb0: 33 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  33 }..// #define
4ec0: 20 50 72 6f 70 53 68 65 65 74 5f 49 64 54 6f 49   PropSheet_IdToI
4ed0: 6e 64 65 78 28 68 44 6c 67 2c 20 69 64 29 20 28  ndex(hDlg, id) (
4ee0: 69 6e 74 29 53 4e 44 4d 53 47 28 68 44 6c 67 2c  int)SNDMSG(hDlg,
4ef0: 20 50 53 4d 5f 49 44 54 4f 49 4e 44 45 58 2c 20   PSM_IDTOINDEX, 
4f00: 30 2c 20 28 4c 50 41 52 41 4d 29 28 69 64 29 29  0, (LPARAM)(id))
4f10: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
4f20: 7b 20 50 53 4d 5f 49 4e 44 45 58 54 4f 49 44 20  { PSM_INDEXTOID 
4f30: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 33 34 20  = WM_USER + 134 
4f40: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 72  }..// #define Pr
4f50: 6f 70 53 68 65 65 74 5f 49 6e 64 65 78 54 6f 49  opSheet_IndexToI
4f60: 64 28 68 44 6c 67 2c 20 69 29 20 53 4e 44 4d 53  d(hDlg, i) SNDMS
4f70: 47 28 68 44 6c 67 2c 20 50 53 4d 5f 49 4e 44 45  G(hDlg, PSM_INDE
4f80: 58 54 4f 49 44 2c 20 28 57 50 41 52 41 4d 29 28  XTOID, (WPARAM)(
4f90: 69 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  i), 0)....enum :
4fa0: 20 75 69 6e 74 20 7b 20 50 53 4d 5f 47 45 54 52   uint { PSM_GETR
4fb0: 45 53 55 4c 54 20 3d 20 57 4d 5f 55 53 45 52 20  ESULT = WM_USER 
4fc0: 2b 20 31 33 35 20 7d 0d 0a 2f 2f 20 23 64 65 66  + 135 }..// #def
4fd0: 69 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 47 65  ine PropSheet_Ge
4fe0: 74 52 65 73 75 6c 74 28 68 44 6c 67 29 20 53 4e  tResult(hDlg) SN
4ff0: 44 4d 53 47 28 68 44 6c 67 2c 20 50 53 4d 5f 47  DMSG(hDlg, PSM_G
5000: 45 54 52 45 53 55 4c 54 2c 20 30 2c 20 30 29 0d  ETRESULT, 0, 0).
5010: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5020: 20 50 53 4d 5f 52 45 43 41 4c 43 50 41 47 45 53   PSM_RECALCPAGES
5030: 49 5a 45 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b  IZES = WM_USER +
5040: 20 31 33 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   136 }..// #defi
5050: 6e 65 20 50 72 6f 70 53 68 65 65 74 5f 52 65 63  ne PropSheet_Rec
5060: 61 6c 63 50 61 67 65 53 69 7a 65 73 28 68 44 6c  alcPageSizes(hDl
5070: 67 29 20 53 4e 44 4d 53 47 28 68 44 6c 67 2c 20  g) SNDMSG(hDlg, 
5080: 50 53 4d 5f 52 45 43 41 4c 43 50 41 47 45 53 49  PSM_RECALCPAGESI
5090: 5a 45 53 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23  ZES, 0, 0)..// #
50a0: 65 6e 64 69 66 20 2f 2f 20 30 78 30 35 30 30 0d  endif // 0x0500.
50b0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
50c0: 20 49 44 5f 50 53 52 45 53 54 41 52 54 57 49 4e   ID_PSRESTARTWIN
50d0: 44 4f 57 53 20 3d 20 30 78 32 20 7d 0d 0a 65 6e  DOWS = 0x2 }..en
50e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 5f 50  um : uint { ID_P
50f0: 53 52 45 42 4f 4f 54 53 59 53 54 45 4d 20 3d 20  SREBOOTSYSTEM = 
5100: 49 44 5f 50 53 52 45 53 54 41 52 54 57 49 4e 44  ID_PSRESTARTWIND
5110: 4f 57 53 20 7c 20 30 78 31 20 7d 0d 0a 0d 0a 65  OWS | 0x1 }....e
5120: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49 5a  num : uint { WIZ
5130: 5f 43 58 44 4c 47 20 3d 20 32 37 36 20 7d 0d 0a  _CXDLG = 276 }..
5140: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 49  enum : uint { WI
5150: 5a 5f 43 59 44 4c 47 20 3d 20 31 34 30 20 7d 0d  Z_CYDLG = 140 }.
5160: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5170: 20 57 49 5a 5f 43 58 42 4d 50 20 3d 20 38 30 20   WIZ_CXBMP = 80 
5180: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
5190: 20 7b 20 57 49 5a 5f 42 4f 44 59 58 20 3d 20 39   { WIZ_BODYX = 9
51a0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
51b0: 20 7b 20 57 49 5a 5f 42 4f 44 59 43 58 20 3d 20   { WIZ_BODYCX = 
51c0: 31 38 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  184 }....enum : 
51d0: 75 69 6e 74 20 7b 20 50 52 4f 50 5f 53 4d 5f 43  uint { PROP_SM_C
51e0: 58 44 4c 47 20 3d 20 32 31 32 20 7d 0d 0a 65 6e  XDLG = 212 }..en
51f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 4f 50  um : uint { PROP
5200: 5f 53 4d 5f 43 59 44 4c 47 20 3d 20 31 38 38 20  _SM_CYDLG = 188 
5210: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
5220: 20 7b 20 50 52 4f 50 5f 4d 45 44 5f 43 58 44 4c   { PROP_MED_CXDL
5230: 47 20 3d 20 32 32 37 20 7d 0d 0a 65 6e 75 6d 20  G = 227 }..enum 
5240: 3a 20 75 69 6e 74 20 7b 20 50 52 4f 50 5f 4d 45  : uint { PROP_ME
5250: 44 5f 43 59 44 4c 47 20 3d 20 32 31 35 20 7d 0d  D_CYDLG = 215 }.
5260: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5270: 20 50 52 4f 50 5f 4c 47 5f 43 58 44 4c 47 20 3d   PROP_LG_CXDLG =
5280: 20 32 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   252 }..enum : u
5290: 69 6e 74 20 7b 20 50 52 4f 50 5f 4c 47 5f 43 59  int { PROP_LG_CY
52a0: 44 4c 47 20 3d 20 32 31 38 20 7d 0d 0a 0d 0a 2f  DLG = 218 }..../
52b0: 2f 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 52  / #if !defined(R
52c0: 43 5f 49 4e 56 4f 4b 45 44 29 20 2f 2a 20 52 43  C_INVOKED) /* RC
52d0: 20 63 6f 6d 70 6c 61 69 6e 73 20 61 62 6f 75 74   complains about
52e0: 20 6c 6f 6e 67 20 73 79 6d 62 6f 6c 73 20 69 6e   long symbols in
52f0: 20 23 69 66 73 20 2a 2f 0d 0a 2f 2f 20 23 69 66   #ifs */..// #if
5300: 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45   ISOLATION_AWARE
5310: 5f 45 4e 41 42 4c 45 44 0d 0a 0d 0a 2f 2f 20 23  _ENABLED....// #
5320: 69 66 20 21 64 65 66 69 6e 65 64 28 49 53 4f 4c  if !defined(ISOL
5330: 41 54 49 4f 4e 5f 41 57 41 52 45 5f 49 4e 4c 49  ATION_AWARE_INLI
5340: 4e 45 29 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69  NE)..// #if defi
5350: 6e 65 64 28 5f 5f 63 70 6c 75 73 70 6c 75 73 29  ned(__cplusplus)
5360: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
5370: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
5380: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
5390: 69 66 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  if....// .......
53a0: 2f 2f 20 23 69 66 6e 64 65 66 20 43 43 53 49 5a  // #ifndef CCSIZ
53b0: 45 4f 46 5f 53 54 52 55 43 54 0d 0a 2f 2f 20 23  EOF_STRUCT..// #
53c0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
53d0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
53e0: 69 66 20 64 65 66 69 6e 65 64 28 55 4e 49 43 4f  if defined(UNICO
53f0: 44 45 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  DE)....// #.....
5400: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65  // #.......// #e
5410: 6c 73 65 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a  lse /* UNICODE *
5420: 2f 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  /....// #.....//
5430: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64   #.......// #end
5440: 69 66 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a 2f  if /* UNICODE */
5450: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
5460: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
5470: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
5480: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
5490: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
54a0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
54b0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d   .......// #....
54c0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
54d0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
54e0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  .......// #endif
54f0: 20 2f 2a 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57   /* ISOLATION_AW
5500: 41 52 45 5f 45 4e 41 42 4c 45 44 20 2a 2f 0d 0a  ARE_ENABLED */..
5510: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 52 43 20  // #endif /* RC 
5520: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  */....// #ifdef 
5530: 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20  __cplusplus..// 
5540: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
5550: 61 6c 69 67 6e 3a 0d 0a 0d 0a 2f 2f 20 23 65 6e  align:....// #en
5560: 64 69 66 20 20 2f 2f 20 5f 50 52 53 48 54 5f 48  dif  // _PRSHT_H
5570: 5f 0d 0a 0d 0a 2f 2f 20 2d 2d 2d 2d 0d 0a 0d 0a  _....// ----....
5580: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 49 4e 43 5f  // #ifndef _INC_
5590: 43 4f 4d 4d 43 54 52 4c 0d 0a 2f 2f 20 23 64 65  COMMCTRL..// #de
55a0: 66 69 6e 65 20 5f 49 4e 43 5f 43 4f 4d 4d 43 54  fine _INC_COMMCT
55b0: 52 4c 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  RL....// #ifndef
55c0: 20 5f 57 49 4e 52 45 53 52 43 5f 0d 0a 2f 2f 20   _WINRESRC_..// 
55d0: 23 69 66 6e 64 65 66 20 5f 57 49 4e 33 32 5f 49  #ifndef _WIN32_I
55e0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
55f0: 65 6c 73 65 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  else..// #if (_W
5600: 49 4e 33 32 5f 49 45 20 3c 20 30 78 30 34 30 30  IN32_IE < 0x0400
5610: 29 20 26 26 20 64 65 66 69 6e 65 64 28 5f 57 49  ) && defined(_WI
5620: 4e 33 32 5f 57 49 4e 4e 54 29 20 26 26 20 28 5f  N32_WINNT) && (_
5630: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
5640: 78 30 35 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d  x0500)..// #....
5650: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
5660: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
5670: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  ....// #ifndef _
5680: 48 52 45 53 55 4c 54 5f 44 45 46 49 4e 45 44 0d  HRESULT_DEFINED.
5690: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 48 52 45  .// #define _HRE
56a0: 53 55 4c 54 5f 44 45 46 49 4e 45 44 0d 0a 61 6c  SULT_DEFINED..al
56b0: 69 61 73 20 4c 4f 4e 47 20 48 52 45 53 55 4c 54  ias LONG HRESULT
56c0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
56d0: 5f 48 52 45 53 55 4c 54 5f 44 45 46 49 4e 45 44  _HRESULT_DEFINED
56e0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
56f0: 4f 55 53 45 52 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  OUSER....// #ifn
5700: 64 65 66 20 57 49 4e 43 4f 4d 4d 43 54 52 4c 41  def WINCOMMCTRLA
5710: 50 49 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69  PI..// #if !defi
5720: 6e 65 64 28 5f 43 4f 4d 43 54 4c 33 32 5f 29 20  ned(_COMCTL32_) 
5730: 26 26 20 64 65 66 69 6e 65 64 28 5f 57 49 4e 33  && defined(_WIN3
5740: 32 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57  2)..// #define W
5750: 49 4e 43 4f 4d 4d 43 54 52 4c 41 50 49 20 44 45  INCOMMCTRLAPI DE
5760: 43 4c 53 50 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f  CLSPEC_IMPORT../
5770: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
5780: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
5790: 23 65 6e 64 69 66 20 2f 2f 20 57 49 4e 43 4f 4d  #endif // WINCOM
57a0: 4d 43 54 52 4c 41 50 49 0d 0a 0d 0a 2f 2f 20 23  MCTRLAPI....// #
57b0: 69 66 6e 64 65 66 20 44 55 4d 4d 59 55 4e 49 4f  ifndef DUMMYUNIO
57c0: 4e 4e 41 4d 45 0d 0a 2f 2f 20 23 69 66 64 65 66  NNAME..// #ifdef
57d0: 20 4e 4f 4e 41 4d 45 4c 45 53 53 55 4e 49 4f 4e   NONAMELESSUNION
57e0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
57f0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
5800: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
5810: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66  / #else..// #def
5820: 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41  ine DUMMYUNIONNA
5830: 4d 45 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44  ME..// #define D
5840: 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 32 0d 0a  UMMYUNIONNAME2..
5850: 2f 2f 20 23 64 65 66 69 6e 65 20 44 55 4d 4d 59  // #define DUMMY
5860: 55 4e 49 4f 4e 4e 41 4d 45 33 0d 0a 2f 2f 20 23  UNIONNAME3..// #
5870: 64 65 66 69 6e 65 20 44 55 4d 4d 59 55 4e 49 4f  define DUMMYUNIO
5880: 4e 4e 41 4d 45 34 0d 0a 2f 2f 20 23 64 65 66 69  NNAME4..// #defi
5890: 6e 65 20 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d  ne DUMMYUNIONNAM
58a0: 45 35 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  E5..// #endif../
58b0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 44 55 4d 4d  / #endif // DUMM
58c0: 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a 0d 0a 2f 2f  YUNIONNAME....//
58d0: 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73 70   #ifdef __cplusp
58e0: 6c 75 73 0d 0a 2f 2f 20 65 78 74 65 72 6e 20 22  lus..// extern "
58f0: 43 22 20 7b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  C" {..// #endif.
5900: 0a 0d 0a 2f 2f 20 23 69 6e 63 6c 75 64 65 20 3c  ...// #include <
5910: 70 72 73 68 74 2e 68 3e 0d 0a 0d 0a 2f 2f 20 23  prsht.h>....// #
5920: 69 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a 2f  ifndef SNDMSG../
5930: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  / #ifdef __cplus
5940: 70 6c 75 73 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  plus..// #ifndef
5950: 20 5f 4d 41 43 0d 0a 2f 2f 20 23 64 65 66 69 6e   _MAC..// #defin
5960: 65 20 53 4e 44 4d 53 47 20 3a 3a 53 65 6e 64 4d  e SNDMSG ::SendM
5970: 65 73 73 61 67 65 0d 0a 2f 2f 20 23 65 6c 73 65  essage..// #else
5980: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
5990: 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ndif..// #else..
59a0: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d  // #ifndef _MAC.
59b0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
59c0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
59d0: 23 65 6e 64 69 66 20 2f 2f 5f 4d 41 43 0d 0a 2f  #endif //_MAC../
59e0: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
59f0: 64 69 66 20 2f 2f 20 69 66 6e 64 65 66 20 53 4e  dif // ifndef SN
5a00: 44 4d 53 47 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  DMSG....// #ifde
5a10: 66 20 5f 4d 41 43 0d 0a 2f 2f 20 23 69 66 6e 64  f _MAC..// #ifnd
5a20: 65 66 20 52 43 5f 49 4e 56 4f 4b 45 44 0d 0a 2f  ef RC_INVOKED../
5a30: 2f 20 23 69 66 6e 64 65 66 20 5f 57 4c 4d 5f 4e  / #ifndef _WLM_N
5a40: 4f 46 4f 52 43 45 5f 4c 49 42 53 0d 0a 0d 0a 2f  OFORCE_LIBS..../
5a50: 2f 20 23 69 66 6e 64 65 66 20 5f 57 4c 4d 44 4c  / #ifndef _WLMDL
5a60: 4c 0d 0a 2f 2f 20 20 20 20 20 23 69 66 64 65 66  L..//     #ifdef
5a70: 20 5f 44 45 42 55 47 0d 0a 2f 2f 20 23 2e 2e 2e   _DEBUG..// #...
5a80: 0d 0a 2f 2f 20 20 20 20 20 23 65 6c 73 65 0d 0a  ..//     #else..
5a90: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 20 20 20 20  // #.....//     
5aa0: 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 2e 2e 2e 0d  #endif..// #....
5ab0: 0a 2f 2f 20 20 20 20 20 23 65 6c 73 65 0d 0a 2f  .//     #else../
5ac0: 2f 20 20 20 20 20 23 69 66 64 65 66 20 5f 44 45  /     #ifdef _DE
5ad0: 42 55 47 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  BUG..// #.....//
5ae0: 20 20 20 20 20 23 65 6c 73 65 0d 0a 2f 2f 20 23       #else..// #
5af0: 2e 2e 2e 0d 0a 2f 2f 20 20 20 20 20 23 65 6e 64  .....//     #end
5b00: 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  if..// #endif //
5b10: 20 5f 57 4c 4d 44 4c 4c 0d 0a 0d 0a 2f 2f 20 23   _WLMDLL....// #
5b20: 65 6e 64 69 66 20 2f 2f 20 5f 57 4c 4d 5f 4e 4f  endif // _WLM_NO
5b30: 46 4f 52 43 45 5f 4c 49 42 53 0d 0a 2f 2f 20 23  FORCE_LIBS..// #
5b40: 65 6e 64 69 66 20 2f 2f 20 52 43 5f 49 4e 56 4f  endif // RC_INVO
5b50: 4b 45 44 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  KED..// #endif /
5b60: 2f 5f 4d 41 43 0d 0a 0d 0a 65 78 74 65 72 6e 28  /_MAC....extern(
5b70: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
5b80: 76 6f 69 64 20 49 6e 69 74 43 6f 6d 6d 6f 6e 43  void InitCommonC
5b90: 6f 6e 74 72 6f 6c 73 28 29 3b 0d 0a 0d 0a 2f 2f  ontrols();....//
5ba0: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
5bb0: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 73 74 72 75  >= 0x0300)..stru
5bc0: 63 74 20 74 61 67 49 4e 49 54 43 4f 4d 4d 4f 4e  ct tagINITCOMMON
5bd0: 43 4f 4e 54 52 4f 4c 53 45 58 20 7b 0d 0a 20 20  CONTROLSEX {..  
5be0: 44 57 4f 52 44 20 64 77 53 69 7a 65 3b 0d 0a 20  DWORD dwSize;.. 
5bf0: 20 44 57 4f 52 44 20 64 77 49 43 43 3b 0d 0a 7d   DWORD dwICC;..}
5c00: 0d 0a 61 6c 69 61 73 20 74 61 67 49 4e 49 54 43  ..alias tagINITC
5c10: 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f 4c 53 45 58 20  OMMONCONTROLSEX 
5c20: 49 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f  INITCOMMONCONTRO
5c30: 4c 53 45 58 3b 0d 0a 61 6c 69 61 73 20 74 61 67  LSEX;..alias tag
5c40: 49 4e 49 54 43 4f 4d 4d 4f 4e 43 4f 4e 54 52 4f  INITCOMMONCONTRO
5c50: 4c 53 45 58 2a 20 4c 50 49 4e 49 54 43 4f 4d 4d  LSEX* LPINITCOMM
5c60: 4f 4e 43 4f 4e 54 52 4f 4c 53 45 58 3b 0d 0a 0d  ONCONTROLSEX;...
5c70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5c80: 43 43 5f 4c 49 53 54 56 49 45 57 5f 43 4c 41 53  CC_LISTVIEW_CLAS
5c90: 53 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 31  SES = 0x00000001
5ca0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5cb0: 7b 20 49 43 43 5f 54 52 45 45 56 49 45 57 5f 43  { ICC_TREEVIEW_C
5cc0: 4c 41 53 53 45 53 20 3d 20 30 78 30 30 30 30 30  LASSES = 0x00000
5cd0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
5ce0: 6e 74 20 7b 20 49 43 43 5f 42 41 52 5f 43 4c 41  nt { ICC_BAR_CLA
5cf0: 53 53 45 53 20 3d 20 30 78 30 30 30 30 30 30 30  SSES = 0x0000000
5d00: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
5d10: 20 7b 20 49 43 43 5f 54 41 42 5f 43 4c 41 53 53   { ICC_TAB_CLASS
5d20: 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 38 20  ES = 0x00000008 
5d30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5d40: 20 49 43 43 5f 55 50 44 4f 57 4e 5f 43 4c 41 53   ICC_UPDOWN_CLAS
5d50: 53 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d  S = 0x00000010 }
5d60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5d70: 49 43 43 5f 50 52 4f 47 52 45 53 53 5f 43 4c 41  ICC_PROGRESS_CLA
5d80: 53 53 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  SS = 0x00000020 
5d90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5da0: 20 49 43 43 5f 48 4f 54 4b 45 59 5f 43 4c 41 53   ICC_HOTKEY_CLAS
5db0: 53 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  S = 0x00000040 }
5dc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5dd0: 49 43 43 5f 41 4e 49 4d 41 54 45 5f 43 4c 41 53  ICC_ANIMATE_CLAS
5de0: 53 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d  S = 0x00000080 }
5df0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5e00: 49 43 43 5f 57 49 4e 39 35 5f 43 4c 41 53 53 45  ICC_WIN95_CLASSE
5e10: 53 20 3d 20 30 78 30 30 30 30 30 30 46 46 20 7d  S = 0x000000FF }
5e20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5e30: 49 43 43 5f 44 41 54 45 5f 43 4c 41 53 53 45 53  ICC_DATE_CLASSES
5e40: 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
5e50: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
5e60: 43 43 5f 55 53 45 52 45 58 5f 43 4c 41 53 53 45  CC_USEREX_CLASSE
5e70: 53 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d  S = 0x00000200 }
5e80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5e90: 49 43 43 5f 43 4f 4f 4c 5f 43 4c 41 53 53 45 53  ICC_COOL_CLASSES
5ea0: 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d   = 0x00000400 }.
5eb0: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
5ec0: 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  IE >= 0x0400)..e
5ed0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 43 43  num : uint { ICC
5ee0: 5f 49 4e 54 45 52 4e 45 54 5f 43 4c 41 53 53 45  _INTERNET_CLASSE
5ef0: 53 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d  S = 0x00000800 }
5f00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5f10: 49 43 43 5f 50 41 47 45 53 43 52 4f 4c 4c 45 52  ICC_PAGESCROLLER
5f20: 5f 43 4c 41 53 53 20 3d 20 30 78 30 30 30 30 31  _CLASS = 0x00001
5f30: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
5f40: 6e 74 20 7b 20 49 43 43 5f 4e 41 54 49 56 45 46  nt { ICC_NATIVEF
5f50: 4e 54 43 54 4c 5f 43 4c 41 53 53 20 3d 20 30 78  NTCTL_CLASS = 0x
5f60: 30 30 30 30 32 30 30 30 20 7d 0d 0a 2f 2f 20 23  00002000 }..// #
5f70: 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f  endif..// #if (_
5f80: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
5f90: 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  x501)..enum : ui
5fa0: 6e 74 20 7b 20 49 43 43 5f 53 54 41 4e 44 41 52  nt { ICC_STANDAR
5fb0: 44 5f 43 4c 41 53 53 45 53 20 3d 20 30 78 30 30  D_CLASSES = 0x00
5fc0: 30 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  004000 }..enum :
5fd0: 20 75 69 6e 74 20 7b 20 49 43 43 5f 4c 49 4e 4b   uint { ICC_LINK
5fe0: 5f 43 4c 41 53 53 20 3d 20 30 78 30 30 30 30 38  _CLASS = 0x00008
5ff0: 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  000 }..// #endif
6000: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
6010: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
6020: 49 6e 69 74 43 6f 6d 6d 6f 6e 43 6f 6e 74 72 6f  InitCommonContro
6030: 6c 73 45 78 28 4c 50 49 4e 49 54 43 4f 4d 4d 4f  lsEx(LPINITCOMMO
6040: 4e 43 4f 4e 54 52 4f 4c 53 45 58 29 3b 0d 0a 2f  NCONTROLSEX);../
6050: 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f  / #endif      //
6060: 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78   _WIN32_IE >= 0x
6070: 30 33 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0300....enum : u
6080: 69 6e 74 20 7b 20 4f 44 54 5f 48 45 41 44 45 52  int { ODT_HEADER
6090: 20 3d 20 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a   = 100 }..enum :
60a0: 20 75 69 6e 74 20 7b 20 4f 44 54 5f 54 41 42 20   uint { ODT_TAB 
60b0: 3d 20 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 101 }..enum : 
60c0: 75 69 6e 74 20 7b 20 4f 44 54 5f 4c 49 53 54 56  uint { ODT_LISTV
60d0: 49 45 57 20 3d 20 31 30 32 20 7d 0d 0a 0d 0a 65  IEW = 102 }....e
60e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
60f0: 5f 46 49 52 53 54 20 3d 20 30 78 31 30 30 30 20  _FIRST = 0x1000 
6100: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
6110: 20 54 56 5f 46 49 52 53 54 20 3d 20 30 78 31 31   TV_FIRST = 0x11
6120: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
6130: 74 20 7b 20 48 44 4d 5f 46 49 52 53 54 20 3d 20  t { HDM_FIRST = 
6140: 30 78 31 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1200 }..enum :
6150: 20 75 69 6e 74 20 7b 20 54 43 4d 5f 46 49 52 53   uint { TCM_FIRS
6160: 54 20 3d 20 30 78 31 33 30 30 20 7d 0d 0a 0d 0a  T = 0x1300 }....
6170: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
6180: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  E >= 0x0400)..en
6190: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d 5f  um : uint { PGM_
61a0: 46 49 52 53 54 20 3d 20 30 78 31 34 30 30 20 7d  FIRST = 0x1400 }
61b0: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
61c0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29  _WINNT >= 0x501)
61d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
61e0: 45 43 4d 5f 46 49 52 53 54 20 3d 20 30 78 31 35  ECM_FIRST = 0x15
61f0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
6200: 74 20 7b 20 42 43 4d 5f 46 49 52 53 54 20 3d 20  t { BCM_FIRST = 
6210: 30 78 31 36 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x1600 }..enum :
6220: 20 75 69 6e 74 20 7b 20 43 42 4d 5f 46 49 52 53   uint { CBM_FIRS
6230: 54 20 3d 20 30 78 31 37 30 30 20 7d 0d 0a 2f 2f  T = 0x1700 }..//
6240: 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20   #endif..enum : 
6250: 75 69 6e 74 20 7b 20 43 43 4d 5f 46 49 52 53 54  uint { CCM_FIRST
6260: 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75   = 0x2000 }..enu
6270: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 4c  m : uint { CCM_L
6280: 41 53 54 20 3d 20 43 43 4d 5f 46 49 52 53 54 20  AST = CCM_FIRST 
6290: 2b 20 30 78 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75  + 0x200 }....enu
62a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 53  m : uint { CCM_S
62b0: 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 43 43 4d 5f  ETBKCOLOR = CCM_
62c0: 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 0d 0a 73  FIRST + 1 }....s
62d0: 74 72 75 63 74 20 74 61 67 43 4f 4c 4f 52 53 43  truct tagCOLORSC
62e0: 48 45 4d 45 20 7b 0d 0a 20 20 44 57 4f 52 44 20  HEME {..  DWORD 
62f0: 64 77 53 69 7a 65 3b 0d 0a 20 20 43 4f 4c 4f 52  dwSize;..  COLOR
6300: 52 45 46 20 63 6c 72 42 74 6e 48 69 67 68 6c 69  REF clrBtnHighli
6310: 67 68 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46  ght;..  COLORREF
6320: 20 63 6c 72 42 74 6e 53 68 61 64 6f 77 3b 0d 0a   clrBtnShadow;..
6330: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 4c 4f  }..alias tagCOLO
6340: 52 53 43 48 45 4d 45 20 43 4f 4c 4f 52 53 43 48  RSCHEME COLORSCH
6350: 45 4d 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67 43  EME;..alias tagC
6360: 4f 4c 4f 52 53 43 48 45 4d 45 2a 20 4c 50 43 4f  OLORSCHEME* LPCO
6370: 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a 0d 0a 65 6e  LORSCHEME;....en
6380: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f  um : uint { CCM_
6390: 53 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45 20 3d  SETCOLORSCHEME =
63a0: 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d   CCM_FIRST + 2 }
63b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
63c0: 43 43 4d 5f 47 45 54 43 4f 4c 4f 52 53 43 48 45  CCM_GETCOLORSCHE
63d0: 4d 45 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b  ME = CCM_FIRST +
63e0: 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
63f0: 74 20 7b 20 43 43 4d 5f 47 45 54 44 52 4f 50 54  t { CCM_GETDROPT
6400: 41 52 47 45 54 20 3d 20 43 43 4d 5f 46 49 52 53  ARGET = CCM_FIRS
6410: 54 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 4 }..enum : 
6420: 75 69 6e 74 20 7b 20 43 43 4d 5f 53 45 54 55 4e  uint { CCM_SETUN
6430: 49 43 4f 44 45 46 4f 52 4d 41 54 20 3d 20 43 43  ICODEFORMAT = CC
6440: 4d 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 65  M_FIRST + 5 }..e
6450: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d  num : uint { CCM
6460: 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _GETUNICODEFORMA
6470: 54 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20  T = CCM_FIRST + 
6480: 36 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  6 }....// #if (_
6490: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
64a0: 30 30 29 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  00)..// #if (_WI
64b0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
64c0: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  01)..enum : uint
64d0: 20 7b 20 43 4f 4d 43 54 4c 33 32 5f 56 45 52 53   { COMCTL32_VERS
64e0: 49 4f 4e 20 3d 20 36 20 7d 0d 0a 2f 2f 20 23 65  ION = 6 }..// #e
64f0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
6500: 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
6510: 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 53 45 54  : uint { CCM_SET
6520: 56 45 52 53 49 4f 4e 20 3d 20 43 43 4d 5f 46 49  VERSION = CCM_FI
6530: 52 53 54 20 2b 20 30 78 37 20 7d 0d 0a 65 6e 75  RST + 0x7 }..enu
6540: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 47  m : uint { CCM_G
6550: 45 54 56 45 52 53 49 4f 4e 20 3d 20 43 43 4d 5f  ETVERSION = CCM_
6560: 46 49 52 53 54 20 2b 20 30 78 38 20 7d 0d 0a 65  FIRST + 0x8 }..e
6570: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d  num : uint { CCM
6580: 5f 53 45 54 4e 4f 54 49 46 59 57 49 4e 44 4f 57  _SETNOTIFYWINDOW
6590: 20 3d 20 43 43 4d 5f 46 49 52 53 54 20 2b 20 30   = CCM_FIRST + 0
65a0: 78 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  x9 }..// #if (_W
65b0: 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
65c0: 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  501)..enum : uin
65d0: 74 20 7b 20 43 43 4d 5f 53 45 54 57 49 4e 44 4f  t { CCM_SETWINDO
65e0: 57 54 48 45 4d 45 20 3d 20 43 43 4d 5f 46 49 52  WTHEME = CCM_FIR
65f0: 53 54 20 2b 20 30 78 62 20 7d 0d 0a 65 6e 75 6d  ST + 0xb }..enum
6600: 20 3a 20 75 69 6e 74 20 7b 20 43 43 4d 5f 44 50   : uint { CCM_DP
6610: 49 53 43 41 4c 45 20 3d 20 43 43 4d 5f 46 49 52  ISCALE = CCM_FIR
6620: 53 54 20 2b 20 30 78 63 20 7d 0d 0a 2f 2f 20 23  ST + 0xc }..// #
6630: 65 6e 64 69 66 20 0d 0a 2f 2f 20 23 65 6e 64 69  endif ..// #endi
6640: 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 49 45 20  f // (_WIN32_IE 
6650: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 2f 2f  >= 0x0500)....//
6660: 20 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e   #endif // (_WIN
6670: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
6680: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
6690: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
66a0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
66b0: 7b 20 49 4e 46 4f 54 49 50 53 49 5a 45 20 3d 20  { INFOTIPSIZE = 
66c0: 31 30 32 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  1024 }..// #endi
66d0: 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  f....// #define 
66e0: 48 41 4e 44 4c 45 5f 57 4d 5f 4e 4f 54 49 46 59  HANDLE_WM_NOTIFY
66f0: 28 68 77 6e 64 2c 20 77 50 61 72 61 6d 2c 20 6c  (hwnd, wParam, l
6700: 50 61 72 61 6d 2c 20 66 6e 29 20 28 66 6e 29 28  Param, fn) (fn)(
6710: 28 68 77 6e 64 29 2c 20 28 69 6e 74 29 28 77 50  (hwnd), (int)(wP
6720: 61 72 61 6d 29 2c 20 28 4e 4d 48 44 52 20 2a 29  aram), (NMHDR *)
6730: 28 6c 50 61 72 61 6d 29 29 0d 0a 2f 2f 20 23 64  (lParam))..// #d
6740: 65 66 69 6e 65 20 46 4f 52 57 41 52 44 5f 57 4d  efine FORWARD_WM
6750: 5f 4e 4f 54 49 46 59 28 68 77 6e 64 2c 20 69 64  _NOTIFY(hwnd, id
6760: 46 72 6f 6d 2c 20 70 6e 6d 68 64 72 2c 20 66 6e  From, pnmhdr, fn
6770: 29 20 28 4c 52 45 53 55 4c 54 29 28 66 6e 29 28  ) (LRESULT)(fn)(
6780: 28 68 77 6e 64 29 2c 20 57 4d 5f 4e 4f 54 49 46  (hwnd), WM_NOTIF
6790: 59 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29  Y, (WPARAM)(int)
67a0: 28 69 64 46 72 6f 6d 29 2c 20 28 4c 50 41 52 41  (idFrom), (LPARA
67b0: 4d 29 28 4e 4d 48 44 52 20 2a 29 28 70 6e 6d 68  M)(NMHDR *)(pnmh
67c0: 64 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  dr))....enum : u
67d0: 69 6e 74 20 7b 20 4e 4d 5f 4f 55 54 4f 46 4d 45  int { NM_OUTOFME
67e0: 4d 4f 52 59 20 3d 20 4e 4d 5f 46 49 52 53 54 2d  MORY = NM_FIRST-
67f0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
6800: 20 7b 20 4e 4d 5f 43 4c 49 43 4b 20 3d 20 4e 4d   { NM_CLICK = NM
6810: 5f 46 49 52 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d  _FIRST-2 }..enum
6820: 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 44 42 4c   : uint { NM_DBL
6830: 43 4c 4b 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 33  CLK = NM_FIRST-3
6840: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6850: 7b 20 4e 4d 5f 52 45 54 55 52 4e 20 3d 20 4e 4d  { NM_RETURN = NM
6860: 5f 46 49 52 53 54 2d 34 20 7d 0d 0a 65 6e 75 6d  _FIRST-4 }..enum
6870: 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 52 43 4c   : uint { NM_RCL
6880: 49 43 4b 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 35  ICK = NM_FIRST-5
6890: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
68a0: 7b 20 4e 4d 5f 52 44 42 4c 43 4c 4b 20 3d 20 4e  { NM_RDBLCLK = N
68b0: 4d 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75  M_FIRST-6 }..enu
68c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 53 45  m : uint { NM_SE
68d0: 54 46 4f 43 55 53 20 3d 20 4e 4d 5f 46 49 52 53  TFOCUS = NM_FIRS
68e0: 54 2d 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-7 }..enum : ui
68f0: 6e 74 20 7b 20 4e 4d 5f 4b 49 4c 4c 46 4f 43 55  nt { NM_KILLFOCU
6900: 53 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 38 20 7d  S = NM_FIRST-8 }
6910: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
6920: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
6930: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d  enum : uint { NM
6940: 5f 43 55 53 54 4f 4d 44 52 41 57 20 3d 20 4e 4d  _CUSTOMDRAW = NM
6950: 5f 46 49 52 53 54 2d 31 32 20 7d 0d 0a 65 6e 75  _FIRST-12 }..enu
6960: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 48 4f  m : uint { NM_HO
6970: 56 45 52 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31  VER = NM_FIRST-1
6980: 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  3 }..// #endif..
6990: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
69a0: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  E >= 0x0400)..en
69b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 4e  um : uint { NM_N
69c0: 43 48 49 54 54 45 53 54 20 3d 20 4e 4d 5f 46 49  CHITTEST = NM_FI
69d0: 52 53 54 2d 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a  RST-14 }..enum :
69e0: 20 75 69 6e 74 20 7b 20 4e 4d 5f 4b 45 59 44 4f   uint { NM_KEYDO
69f0: 57 4e 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 35  WN = NM_FIRST-15
6a00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6a10: 7b 20 4e 4d 5f 52 45 4c 45 41 53 45 44 43 41 50  { NM_RELEASEDCAP
6a20: 54 55 52 45 20 3d 20 4e 4d 5f 46 49 52 53 54 2d  TURE = NM_FIRST-
6a30: 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  16 }..enum : uin
6a40: 74 20 7b 20 4e 4d 5f 53 45 54 43 55 52 53 4f 52  t { NM_SETCURSOR
6a50: 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 37 20 7d   = NM_FIRST-17 }
6a60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
6a70: 4e 4d 5f 43 48 41 52 20 3d 20 4e 4d 5f 46 49 52  NM_CHAR = NM_FIR
6a80: 53 54 2d 31 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64  ST-18 }..// #end
6a90: 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  if..// #if (_WIN
6aa0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 31 29  32_IE >= 0x0401)
6ab0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
6ac0: 4e 4d 5f 54 4f 4f 4c 54 49 50 53 43 52 45 41 54  NM_TOOLTIPSCREAT
6ad0: 45 44 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 31 39  ED = NM_FIRST-19
6ae0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f   }..// #endif../
6af0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
6b00: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
6b10: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 4c 44  m : uint { NM_LD
6b20: 4f 57 4e 20 3d 20 4e 4d 5f 46 49 52 53 54 2d 32  OWN = NM_FIRST-2
6b30: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
6b40: 20 7b 20 4e 4d 5f 52 44 4f 57 4e 20 3d 20 4e 4d   { NM_RDOWN = NM
6b50: 5f 46 49 52 53 54 2d 32 31 20 7d 0d 0a 65 6e 75  _FIRST-21 }..enu
6b60: 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4d 5f 54 48  m : uint { NM_TH
6b70: 45 4d 45 43 48 41 4e 47 45 44 20 3d 20 4e 4d 5f  EMECHANGED = NM_
6b80: 46 49 52 53 54 2d 32 32 20 7d 0d 0a 2f 2f 20 23  FIRST-22 }..// #
6b90: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  endif....// #ifn
6ba0: 64 65 66 20 43 43 53 49 5a 45 4f 46 5f 53 54 52  def CCSIZEOF_STR
6bb0: 55 43 54 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  UCT..// #define 
6bc0: 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28  CCSIZEOF_STRUCT(
6bd0: 73 74 72 75 63 74 6e 61 6d 65 2c 20 6d 65 6d 62  structname, memb
6be0: 65 72 29 20 28 28 28 69 6e 74 29 28 28 4c 50 42  er) (((int)((LPB
6bf0: 59 54 45 29 28 26 28 28 73 74 72 75 63 74 6e 61  YTE)(&((structna
6c00: 6d 65 2a 29 30 29 2d 3e 6d 65 6d 62 65 72 29 20  me*)0)->member) 
6c10: 2d 20 28 28 4c 50 42 59 54 45 29 28 28 73 74 72  - ((LPBYTE)((str
6c20: 75 63 74 6e 61 6d 65 2a 29 30 29 29 29 29 20 2b  uctname*)0)))) +
6c30: 20 73 69 7a 65 6f 66 28 28 28 73 74 72 75 63 74   sizeof(((struct
6c40: 6e 61 6d 65 2a 29 30 29 2d 3e 6d 65 6d 62 65 72  name*)0)->member
6c50: 29 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ))..// #endif...
6c60: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
6c70: 49 45 20 3e 3d 20 30 78 30 34 30 31 29 0d 0a 73  IE >= 0x0401)..s
6c80: 74 72 75 63 74 20 74 61 67 4e 4d 54 4f 4f 4c 54  truct tagNMTOOLT
6c90: 49 50 53 43 52 45 41 54 45 44 20 7b 0d 0a 20 20  IPSCREATED {..  
6ca0: 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 48 57  NMHDR hdr;..  HW
6cb0: 4e 44 20 68 77 6e 64 54 6f 6f 6c 54 69 70 73 3b  ND hwndToolTips;
6cc0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  ..}..alias tagNM
6cd0: 54 4f 4f 4c 54 49 50 53 43 52 45 41 54 45 44 20  TOOLTIPSCREATED 
6ce0: 4e 4d 54 4f 4f 4c 54 49 50 53 43 52 45 41 54 45  NMTOOLTIPSCREATE
6cf0: 44 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54  D;..alias tagNMT
6d00: 4f 4f 4c 54 49 50 53 43 52 45 41 54 45 44 2a 20  OOLTIPSCREATED* 
6d10: 4c 50 4e 4d 54 4f 4f 4c 54 49 50 53 43 52 45 41  LPNMTOOLTIPSCREA
6d20: 54 45 44 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  TED;....// #endi
6d30: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  f....// #if (_WI
6d40: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
6d50: 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4d  )..struct tagNMM
6d60: 4f 55 53 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  OUSE {..  NMHDR 
6d70: 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54  hdr;..  DWORD_PT
6d80: 52 20 64 77 49 74 65 6d 53 70 65 63 3b 0d 0a 20  R dwItemSpec;.. 
6d90: 20 44 57 4f 52 44 5f 50 54 52 20 64 77 49 74 65   DWORD_PTR dwIte
6da0: 6d 44 61 74 61 3b 0d 0a 20 20 50 4f 49 4e 54 20  mData;..  POINT 
6db0: 70 74 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 64 77  pt;..  LPARAM dw
6dc0: 48 69 74 49 6e 66 6f 3b 0d 0a 7d 0d 0a 61 6c 69  HitInfo;..}..ali
6dd0: 61 73 20 74 61 67 4e 4d 4d 4f 55 53 45 20 4e 4d  as tagNMMOUSE NM
6de0: 4d 4f 55 53 45 3b 0d 0a 61 6c 69 61 73 20 74 61  MOUSE;..alias ta
6df0: 67 4e 4d 4d 4f 55 53 45 2a 20 4c 50 4e 4d 4d 4f  gNMMOUSE* LPNMMO
6e00: 55 53 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4e 4d  USE;....alias NM
6e10: 4d 4f 55 53 45 20 4e 4d 43 4c 49 43 4b 3b 0d 0a  MOUSE NMCLICK;..
6e20: 61 6c 69 61 73 20 4c 50 4e 4d 4d 4f 55 53 45 20  alias LPNMMOUSE 
6e30: 4c 50 4e 4d 43 4c 49 43 4b 3b 0d 0a 0d 0a 73 74  LPNMCLICK;....st
6e40: 72 75 63 74 20 74 61 67 4e 4d 4f 42 4a 45 43 54  ruct tagNMOBJECT
6e50: 4e 4f 54 49 46 59 20 7b 0d 0a 20 20 4e 4d 48 44  NOTIFY {..  NMHD
6e60: 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49  R hdr;..  int iI
6e70: 74 65 6d 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  tem;..// #ifdef 
6e80: 5f 5f 49 49 44 5f 44 45 46 49 4e 45 44 5f 5f 0d  __IID_DEFINED__.
6e90: 0a 20 20 49 49 44 2a 20 70 69 69 64 3b 0d 0a 2f  .  IID* piid;../
6ea0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
6eb0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 76 6f  .// #endif..  vo
6ec0: 69 64 20 2a 70 4f 62 6a 65 63 74 3b 0d 0a 20 20  id *pObject;..  
6ed0: 48 52 45 53 55 4c 54 20 68 52 65 73 75 6c 74 3b  HRESULT hResult;
6ee0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
6ef0: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  s;..}..alias tag
6f00: 4e 4d 4f 42 4a 45 43 54 4e 4f 54 49 46 59 20 4e  NMOBJECTNOTIFY N
6f10: 4d 4f 42 4a 45 43 54 4e 4f 54 49 46 59 3b 0d 0a  MOBJECTNOTIFY;..
6f20: 61 6c 69 61 73 20 74 61 67 4e 4d 4f 42 4a 45 43  alias tagNMOBJEC
6f30: 54 4e 4f 54 49 46 59 2a 20 4c 50 4e 4d 4f 42 4a  TNOTIFY* LPNMOBJ
6f40: 45 43 54 4e 4f 54 49 46 59 3b 0d 0a 0d 0a 73 74  ECTNOTIFY;....st
6f50: 72 75 63 74 20 74 61 67 4e 4d 4b 45 59 20 7b 0d  ruct tagNMKEY {.
6f60: 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20  .  NMHDR hdr;.. 
6f70: 20 55 49 4e 54 20 6e 56 4b 65 79 3b 0d 0a 20 20   UINT nVKey;..  
6f80: 55 49 4e 54 20 75 46 6c 61 67 73 3b 0d 0a 7d 0d  UINT uFlags;..}.
6f90: 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4b 45 59 20  .alias tagNMKEY 
6fa0: 4e 4d 4b 45 59 3b 0d 0a 61 6c 69 61 73 20 74 61  NMKEY;..alias ta
6fb0: 67 4e 4d 4b 45 59 2a 20 4c 50 4e 4d 4b 45 59 3b  gNMKEY* LPNMKEY;
6fc0: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
6fd0: 43 48 41 52 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  CHAR {..  NMHDR 
6fe0: 68 64 72 3b 0d 0a 20 20 55 49 4e 54 20 63 68 3b  hdr;..  UINT ch;
6ff0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 49 74 65 6d  ..  DWORD dwItem
7000: 50 72 65 76 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Prev;..  DWORD d
7010: 77 49 74 65 6d 4e 65 78 74 3b 0d 0a 7d 0d 0a 61  wItemNext;..}..a
7020: 6c 69 61 73 20 74 61 67 4e 4d 43 48 41 52 20 4e  lias tagNMCHAR N
7030: 4d 43 48 41 52 3b 0d 0a 61 6c 69 61 73 20 74 61  MCHAR;..alias ta
7040: 67 4e 4d 43 48 41 52 2a 20 4c 50 4e 4d 43 48 41  gNMCHAR* LPNMCHA
7050: 52 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  R;....// #endif 
7060: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 5f 57 49            // _WI
7070: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
7080: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e  ....// #define N
7090: 4d 5f 46 49 52 53 54 20 28 30 55 2d 20 30 55 29  M_FIRST (0U- 0U)
70a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
70b0: 4e 4d 5f 4c 41 53 54 20 3d 20 30 55 2d 20 39 39  NM_LAST = 0U- 99
70c0: 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  U }....enum : ui
70d0: 6e 74 20 7b 20 4c 56 4e 5f 46 49 52 53 54 20 3d  nt { LVN_FIRST =
70e0: 20 30 55 2d 31 30 30 55 20 7d 0d 0a 65 6e 75 6d   0U-100U }..enum
70f0: 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 4c 41   : uint { LVN_LA
7100: 53 54 20 3d 20 30 55 2d 31 39 39 55 20 7d 0d 0a  ST = 0U-199U }..
7110: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7120: 48 44 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 33  HDN_FIRST = 0U-3
7130: 30 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  00U }..enum : ui
7140: 6e 74 20 7b 20 48 44 4e 5f 4c 41 53 54 20 3d 20  nt { HDN_LAST = 
7150: 30 55 2d 33 39 39 55 20 7d 0d 0a 0d 0a 65 6e 75  0U-399U }....enu
7160: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 46  m : uint { TVN_F
7170: 49 52 53 54 20 3d 20 30 55 2d 34 30 30 55 20 7d  IRST = 0U-400U }
7180: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7190: 54 56 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 34 39  TVN_LAST = 0U-49
71a0: 39 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  9U }....enum : u
71b0: 69 6e 74 20 7b 20 54 54 4e 5f 46 49 52 53 54 20  int { TTN_FIRST 
71c0: 3d 20 30 55 2d 35 32 30 55 20 7d 0d 0a 65 6e 75  = 0U-520U }..enu
71d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4e 5f 4c  m : uint { TTN_L
71e0: 41 53 54 20 3d 20 30 55 2d 35 34 39 55 20 7d 0d  AST = 0U-549U }.
71f0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
7200: 20 54 43 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d   TCN_FIRST = 0U-
7210: 35 35 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  550U }..enum : u
7220: 69 6e 74 20 7b 20 54 43 4e 5f 4c 41 53 54 20 3d  int { TCN_LAST =
7230: 20 30 55 2d 35 38 30 55 20 7d 0d 0a 0d 0a 65 6e   0U-580U }....en
7240: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 4e 5f  um : uint { CDN_
7250: 46 49 52 53 54 20 3d 20 30 55 2d 36 30 31 55 20  FIRST = 0U-601U 
7260: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
7270: 20 43 44 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 36   CDN_LAST = 0U-6
7280: 39 39 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  99U }....enum : 
7290: 75 69 6e 74 20 7b 20 54 42 4e 5f 46 49 52 53 54  uint { TBN_FIRST
72a0: 20 3d 20 30 55 2d 37 30 30 55 20 7d 0d 0a 65 6e   = 0U-700U }..en
72b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f  um : uint { TBN_
72c0: 4c 41 53 54 20 3d 20 30 55 2d 37 32 30 55 20 7d  LAST = 0U-720U }
72d0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
72e0: 7b 20 55 44 4e 5f 46 49 52 53 54 20 3d 20 30 55  { UDN_FIRST = 0U
72f0: 2d 37 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  -721 }..enum : u
7300: 69 6e 74 20 7b 20 55 44 4e 5f 4c 41 53 54 20 3d  int { UDN_LAST =
7310: 20 30 55 2d 37 34 30 20 7d 0d 0a 2f 2f 20 23 69   0U-740 }..// #i
7320: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
7330: 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0300)..enum : 
7340: 75 69 6e 74 20 7b 20 4d 43 4e 5f 46 49 52 53 54  uint { MCN_FIRST
7350: 20 3d 20 30 55 2d 37 35 30 55 20 7d 0d 0a 65 6e   = 0U-750U }..en
7360: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4e 5f  um : uint { MCN_
7370: 4c 41 53 54 20 3d 20 30 55 2d 37 35 39 55 20 7d  LAST = 0U-759U }
7380: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
7390: 7b 20 44 54 4e 5f 46 49 52 53 54 20 3d 20 30 55  { DTN_FIRST = 0U
73a0: 2d 37 36 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20  -760U }..enum : 
73b0: 75 69 6e 74 20 7b 20 44 54 4e 5f 4c 41 53 54 20  uint { DTN_LAST 
73c0: 3d 20 30 55 2d 37 39 39 55 20 7d 0d 0a 0d 0a 2f  = 0U-799U }..../
73d0: 2f 20 23 64 65 66 69 6e 65 20 43 42 45 4e 5f 46  / #define CBEN_F
73e0: 49 52 53 54 20 28 30 55 2d 38 30 30 55 29 0d 0a  IRST (0U-800U)..
73f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
7400: 45 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 38 33 30  EN_LAST = 0U-830
7410: 55 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  U }....enum : ui
7420: 6e 74 20 7b 20 52 42 4e 5f 46 49 52 53 54 20 3d  nt { RBN_FIRST =
7430: 20 30 55 2d 38 33 31 55 20 7d 0d 0a 65 6e 75 6d   0U-831U }..enum
7440: 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 4c 41   : uint { RBN_LA
7450: 53 54 20 3d 20 30 55 2d 38 35 39 55 20 7d 0d 0a  ST = 0U-859U }..
7460: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
7470: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
7480: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
7490: 3a 20 75 69 6e 74 20 7b 20 49 50 4e 5f 46 49 52  : uint { IPN_FIR
74a0: 53 54 20 3d 20 30 55 2d 38 36 30 55 20 7d 0d 0a  ST = 0U-860U }..
74b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50  enum : uint { IP
74c0: 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 38 37 39 55  N_LAST = 0U-879U
74d0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
74e0: 74 20 7b 20 53 42 4e 5f 46 49 52 53 54 20 3d 20  t { SBN_FIRST = 
74f0: 30 55 2d 38 38 30 55 20 7d 0d 0a 65 6e 75 6d 20  0U-880U }..enum 
7500: 3a 20 75 69 6e 74 20 7b 20 53 42 4e 5f 4c 41 53  : uint { SBN_LAS
7510: 54 20 3d 20 30 55 2d 38 39 39 55 20 7d 0d 0a 0d  T = 0U-899U }...
7520: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
7530: 47 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 39 30  GN_FIRST = 0U-90
7540: 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0U }..enum : uin
7550: 74 20 7b 20 50 47 4e 5f 4c 41 53 54 20 3d 20 30  t { PGN_LAST = 0
7560: 55 2d 39 35 30 55 20 7d 0d 0a 0d 0a 2f 2f 20 23  U-950U }....// #
7570: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
7580: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
7590: 30 35 30 30 29 0d 0a 2f 2f 20 23 69 66 6e 64 65  0500)..// #ifnde
75a0: 66 20 57 4d 4e 5f 46 49 52 53 54 0d 0a 65 6e 75  f WMN_FIRST..enu
75b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 4e 5f 46  m : uint { WMN_F
75c0: 49 52 53 54 20 3d 20 30 55 2d 31 30 30 30 55 20  IRST = 0U-1000U 
75d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
75e0: 20 57 4d 4e 5f 4c 41 53 54 20 3d 20 30 55 2d 31   WMN_LAST = 0U-1
75f0: 32 30 30 55 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  200U }..// #endi
7600: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  f..// #endif....
7610: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
7620: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29 0d  INNT >= 0x0501).
7630: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
7640: 43 4e 5f 46 49 52 53 54 20 3d 20 30 55 2d 31 32  CN_FIRST = 0U-12
7650: 35 30 55 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  50U }..enum : ui
7660: 6e 74 20 7b 20 42 43 4e 5f 4c 41 53 54 20 3d 20  nt { BCN_LAST = 
7670: 30 55 2d 31 33 35 30 55 20 7d 0d 0a 2f 2f 20 23  0U-1350U }..// #
7680: 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
7690: 75 69 6e 74 20 7b 20 4d 53 47 46 5f 43 4f 4d 4d  uint { MSGF_COMM
76a0: 43 54 52 4c 5f 42 45 47 49 4e 44 52 41 47 20 3d  CTRL_BEGINDRAG =
76b0: 20 30 78 34 32 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x4200 }..enum 
76c0: 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f 43 4f  : uint { MSGF_CO
76d0: 4d 4d 43 54 52 4c 5f 53 49 5a 45 48 45 41 44 45  MMCTRL_SIZEHEADE
76e0: 52 20 3d 20 30 78 34 32 30 31 20 7d 0d 0a 65 6e  R = 0x4201 }..en
76f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46  um : uint { MSGF
7700: 5f 43 4f 4d 4d 43 54 52 4c 5f 44 52 41 47 53 45  _COMMCTRL_DRAGSE
7710: 4c 45 43 54 20 3d 20 30 78 34 32 30 32 20 7d 0d  LECT = 0x4202 }.
7720: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
7730: 53 47 46 5f 43 4f 4d 4d 43 54 52 4c 5f 54 4f 4f  SGF_COMMCTRL_TOO
7740: 4c 42 41 52 43 55 53 54 20 3d 20 30 78 34 32 30  LBARCUST = 0x420
7750: 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  3 }....// #if (_
7760: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
7770: 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  00)....enum : ui
7780: 6e 74 20 7b 20 43 44 52 46 5f 44 4f 44 45 46 41  nt { CDRF_DODEFA
7790: 55 4c 54 20 3d 20 30 78 30 30 30 30 30 30 30 30  ULT = 0x00000000
77a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
77b0: 7b 20 43 44 52 46 5f 4e 45 57 46 4f 4e 54 20 3d  { CDRF_NEWFONT =
77c0: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
77d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 52  num : uint { CDR
77e0: 46 5f 53 4b 49 50 44 45 46 41 55 4c 54 20 3d 20  F_SKIPDEFAULT = 
77f0: 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a  0x00000004 }....
7800: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44  enum : uint { CD
7810: 52 46 5f 4e 4f 54 49 46 59 50 4f 53 54 50 41 49  RF_NOTIFYPOSTPAI
7820: 4e 54 20 3d 20 30 78 30 30 30 30 30 30 31 30 20  NT = 0x00000010 
7830: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
7840: 20 43 44 52 46 5f 4e 4f 54 49 46 59 49 54 45 4d   CDRF_NOTIFYITEM
7850: 44 52 41 57 20 3d 20 30 78 30 30 30 30 30 30 32  DRAW = 0x0000002
7860: 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  0 }..// #if (_WI
7870: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
7880: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
7890: 20 43 44 52 46 5f 4e 4f 54 49 46 59 53 55 42 49   CDRF_NOTIFYSUBI
78a0: 54 45 4d 44 52 41 57 20 3d 20 30 78 30 30 30 30  TEMDRAW = 0x0000
78b0: 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0020 }..// #endi
78c0: 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  f..enum : uint {
78d0: 20 43 44 52 46 5f 4e 4f 54 49 46 59 50 4f 53 54   CDRF_NOTIFYPOST
78e0: 45 52 41 53 45 20 3d 20 30 78 30 30 30 30 30 30  ERASE = 0x000000
78f0: 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  40 }....enum : u
7900: 69 6e 74 20 7b 20 43 44 44 53 5f 50 52 45 50 41  int { CDDS_PREPA
7910: 49 4e 54 20 3d 20 30 78 30 30 30 30 30 30 30 31  INT = 0x00000001
7920: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
7930: 7b 20 43 44 44 53 5f 50 4f 53 54 50 41 49 4e 54  { CDDS_POSTPAINT
7940: 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
7950: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
7960: 44 44 53 5f 50 52 45 45 52 41 53 45 20 3d 20 30  DDS_PREERASE = 0
7970: 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65 6e 75  x00000003 }..enu
7980: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f  m : uint { CDDS_
7990: 50 4f 53 54 45 52 41 53 45 20 3d 20 30 78 30 30  POSTERASE = 0x00
79a0: 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d  000004 }....enum
79b0: 20 3a 20 75 69 6e 74 20 7b 20 43 44 44 53 5f 49   : uint { CDDS_I
79c0: 54 45 4d 20 3d 20 30 78 30 30 30 31 30 30 30 30  TEM = 0x00010000
79d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
79e0: 7b 20 43 44 44 53 5f 49 54 45 4d 50 52 45 50 41  { CDDS_ITEMPREPA
79f0: 49 4e 54 20 3d 20 43 44 44 53 5f 49 54 45 4d 20  INT = CDDS_ITEM 
7a00: 7c 20 43 44 44 53 5f 50 52 45 50 41 49 4e 54 20  | CDDS_PREPAINT 
7a10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
7a20: 20 43 44 44 53 5f 49 54 45 4d 50 4f 53 54 50 41   CDDS_ITEMPOSTPA
7a30: 49 4e 54 20 3d 20 43 44 44 53 5f 49 54 45 4d 20  INT = CDDS_ITEM 
7a40: 7c 20 43 44 44 53 5f 50 4f 53 54 50 41 49 4e 54  | CDDS_POSTPAINT
7a50: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
7a60: 7b 20 43 44 44 53 5f 49 54 45 4d 50 52 45 45 52  { CDDS_ITEMPREER
7a70: 41 53 45 20 3d 20 43 44 44 53 5f 49 54 45 4d 20  ASE = CDDS_ITEM 
7a80: 7c 20 43 44 44 53 5f 50 52 45 45 52 41 53 45 20  | CDDS_PREERASE 
7a90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
7aa0: 20 43 44 44 53 5f 49 54 45 4d 50 4f 53 54 45 52   CDDS_ITEMPOSTER
7ab0: 41 53 45 20 3d 20 43 44 44 53 5f 49 54 45 4d 20  ASE = CDDS_ITEM 
7ac0: 7c 20 43 44 44 53 5f 50 4f 53 54 45 52 41 53 45  | CDDS_POSTERASE
7ad0: 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e   }..// #if (_WIN
7ae0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
7af0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7b00: 43 44 44 53 5f 53 55 42 49 54 45 4d 20 3d 20 30  CDDS_SUBITEM = 0
7b10: 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 2f 2f 20  x00020000 }..// 
7b20: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
7b30: 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 53 45 4c   uint { CDIS_SEL
7b40: 45 43 54 45 44 20 3d 20 30 78 30 30 30 31 20 7d  ECTED = 0x0001 }
7b50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7b60: 43 44 49 53 5f 47 52 41 59 45 44 20 3d 20 30 78  CDIS_GRAYED = 0x
7b70: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
7b80: 69 6e 74 20 7b 20 43 44 49 53 5f 44 49 53 41 42  int { CDIS_DISAB
7b90: 4c 45 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  LED = 0x0004 }..
7ba0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44  enum : uint { CD
7bb0: 49 53 5f 43 48 45 43 4b 45 44 20 3d 20 30 78 30  IS_CHECKED = 0x0
7bc0: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
7bd0: 6e 74 20 7b 20 43 44 49 53 5f 46 4f 43 55 53 20  nt { CDIS_FOCUS 
7be0: 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
7bf0: 20 3a 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 44   : uint { CDIS_D
7c00: 45 46 41 55 4c 54 20 3d 20 30 78 30 30 32 30 20  EFAULT = 0x0020 
7c10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
7c20: 20 43 44 49 53 5f 48 4f 54 20 3d 20 30 78 30 30   CDIS_HOT = 0x00
7c30: 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  40 }..enum : uin
7c40: 74 20 7b 20 43 44 49 53 5f 4d 41 52 4b 45 44 20  t { CDIS_MARKED 
7c50: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
7c60: 20 3a 20 75 69 6e 74 20 7b 20 43 44 49 53 5f 49   : uint { CDIS_I
7c70: 4e 44 45 54 45 52 4d 49 4e 41 54 45 20 3d 20 30  NDETERMINATE = 0
7c80: 78 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20  x0100 }..// #if 
7c90: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
7ca0: 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20   0x501)..enum : 
7cb0: 75 69 6e 74 20 7b 20 43 44 49 53 5f 53 48 4f 57  uint { CDIS_SHOW
7cc0: 4b 45 59 42 4f 41 52 44 43 55 45 53 20 3d 20 30  KEYBOARDCUES = 0
7cd0: 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x0200 }..// #end
7ce0: 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  if....struct tag
7cf0: 4e 4d 43 55 53 54 4f 4d 44 52 41 57 49 4e 46 4f  NMCUSTOMDRAWINFO
7d00: 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
7d10: 0d 0a 20 20 44 57 4f 52 44 20 64 77 44 72 61 77  ..  DWORD dwDraw
7d20: 53 74 61 67 65 3b 0d 0a 20 20 48 44 43 20 68 64  Stage;..  HDC hd
7d30: 63 3b 0d 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a  c;..  RECT rc;..
7d40: 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 49 74    DWORD_PTR dwIt
7d50: 65 6d 53 70 65 63 3b 0d 0a 20 20 55 49 4e 54 20  emSpec;..  UINT 
7d60: 75 49 74 65 6d 53 74 61 74 65 3b 0d 0a 20 20 4c  uItemState;..  L
7d70: 50 41 52 41 4d 20 6c 49 74 65 6d 6c 50 61 72 61  PARAM lItemlPara
7d80: 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  m;..}..alias tag
7d90: 4e 4d 43 55 53 54 4f 4d 44 52 41 57 49 4e 46 4f  NMCUSTOMDRAWINFO
7da0: 20 4e 4d 43 55 53 54 4f 4d 44 52 41 57 3b 0d 0a   NMCUSTOMDRAW;..
7db0: 61 6c 69 61 73 20 74 61 67 4e 4d 43 55 53 54 4f  alias tagNMCUSTO
7dc0: 4d 44 52 41 57 49 4e 46 4f 2a 20 4c 50 4e 4d 43  MDRAWINFO* LPNMC
7dd0: 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 73 74  USTOMDRAW;....st
7de0: 72 75 63 74 20 74 61 67 4e 4d 54 54 43 55 53 54  ruct tagNMTTCUST
7df0: 4f 4d 44 52 41 57 20 7b 0d 0a 20 20 4e 4d 43 55  OMDRAW {..  NMCU
7e00: 53 54 4f 4d 44 52 41 57 20 6e 6d 63 64 3b 0d 0a  STOMDRAW nmcd;..
7e10: 20 20 55 49 4e 54 20 75 44 72 61 77 46 6c 61 67    UINT uDrawFlag
7e20: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  s;..}..alias tag
7e30: 4e 4d 54 54 43 55 53 54 4f 4d 44 52 41 57 20 4e  NMTTCUSTOMDRAW N
7e40: 4d 54 54 43 55 53 54 4f 4d 44 52 41 57 3b 0d 0a  MTTCUSTOMDRAW;..
7e50: 61 6c 69 61 73 20 74 61 67 4e 4d 54 54 43 55 53  alias tagNMTTCUS
7e60: 54 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 54 54 43  TOMDRAW* LPNMTTC
7e70: 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 2f 2f  USTOMDRAW;....//
7e80: 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20   #endif      // 
7e90: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
7ea0: 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  300....// #ifnde
7eb0: 66 20 4e 4f 49 4d 41 47 45 41 50 49 53 0d 0a 0d  f NOIMAGEAPIS...
7ec0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
7ed0: 4c 52 5f 4e 4f 4e 45 20 3d 20 30 78 46 46 46 46  LR_NONE = 0xFFFF
7ee0: 46 46 46 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  FFFF }..enum : u
7ef0: 69 6e 74 20 7b 20 43 4c 52 5f 44 45 46 41 55 4c  int { CLR_DEFAUL
7f00: 54 20 3d 20 30 78 46 46 30 30 30 30 30 30 20 7d  T = 0xFF000000 }
7f10: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 48  ....// #ifndef H
7f20: 49 4d 41 47 45 4c 49 53 54 0d 0a 2f 2f 20 73 74  IMAGELIST..// st
7f30: 72 75 63 74 20 5f 49 4d 41 47 45 4c 49 53 54 3b  ruct _IMAGELIST;
7f40: 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 4c 49  ..alias _IMAGELI
7f50: 53 54 2a 20 48 49 4d 41 47 45 4c 49 53 54 3b 0d  ST* HIMAGELIST;.
7f60: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
7f70: 20 23 69 66 6e 64 65 66 20 49 4d 41 47 45 4c 49   #ifndef IMAGELI
7f80: 53 54 44 52 41 57 50 41 52 41 4d 53 0d 0a 2f 2f  STDRAWPARAMS..//
7f90: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
7fa0: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 73 74 72 75  >= 0x0300)..stru
7fb0: 63 74 20 5f 49 4d 41 47 45 4c 49 53 54 44 52 41  ct _IMAGELISTDRA
7fc0: 57 50 41 52 41 4d 53 20 7b 0d 0a 20 20 44 57 4f  WPARAMS {..  DWO
7fd0: 52 44 20 63 62 53 69 7a 65 3b 0d 0a 20 20 48 49  RD cbSize;..  HI
7fe0: 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b 0d 0a  MAGELIST himl;..
7ff0: 20 20 69 6e 74 20 69 3b 0d 0a 20 20 48 44 43 20    int i;..  HDC 
8000: 68 64 63 44 73 74 3b 0d 0a 20 20 69 6e 74 20 78  hdcDst;..  int x
8010: 3b 0d 0a 20 20 69 6e 74 20 79 3b 0d 0a 20 20 69  ;..  int y;..  i
8020: 6e 74 20 63 78 3b 0d 0a 20 20 69 6e 74 20 63 79  nt cx;..  int cy
8030: 3b 0d 0a 20 20 69 6e 74 20 78 42 69 74 6d 61 70  ;..  int xBitmap
8040: 3b 0d 0a 20 20 69 6e 74 20 79 42 69 74 6d 61 70  ;..  int yBitmap
8050: 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 72 67  ;..  COLORREF rg
8060: 62 42 6b 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46  bBk;..  COLORREF
8070: 20 72 67 62 46 67 3b 0d 0a 20 20 55 49 4e 54 20   rgbFg;..  UINT 
8080: 66 53 74 79 6c 65 3b 0d 0a 20 20 44 57 4f 52 44  fStyle;..  DWORD
8090: 20 64 77 52 6f 70 3b 0d 0a 2f 2f 20 23 69 66 20   dwRop;..// #if 
80a0: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
80b0: 20 30 78 35 30 31 29 0d 0a 20 20 44 57 4f 52 44   0x501)..  DWORD
80c0: 20 66 53 74 61 74 65 3b 0d 0a 20 20 44 57 4f 52   fState;..  DWOR
80d0: 44 20 46 72 61 6d 65 3b 0d 0a 20 20 43 4f 4c 4f  D Frame;..  COLO
80e0: 52 52 45 46 20 63 72 45 66 66 65 63 74 3b 0d 0a  RREF crEffect;..
80f0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c  // #endif..}..al
8100: 69 61 73 20 5f 49 4d 41 47 45 4c 49 53 54 44 52  ias _IMAGELISTDR
8110: 41 57 50 41 52 41 4d 53 20 49 4d 41 47 45 4c 49  AWPARAMS IMAGELI
8120: 53 54 44 52 41 57 50 41 52 41 4d 53 3b 0d 0a 61  STDRAWPARAMS;..a
8130: 6c 69 61 73 20 5f 49 4d 41 47 45 4c 49 53 54 44  lias _IMAGELISTD
8140: 52 41 57 50 41 52 41 4d 53 2a 20 4c 50 49 4d 41  RAWPARAMS* LPIMA
8150: 47 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d 53  GELISTDRAWPARAMS
8160: 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  ;....// #define 
8170: 49 4d 41 47 45 4c 49 53 54 44 52 41 57 50 41 52  IMAGELISTDRAWPAR
8180: 41 4d 53 5f 56 33 5f 53 49 5a 45 20 43 43 53 49  AMS_V3_SIZE CCSI
8190: 5a 45 4f 46 5f 53 54 52 55 43 54 28 49 4d 41 47  ZEOF_STRUCT(IMAG
81a0: 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d 53 2c  ELISTDRAWPARAMS,
81b0: 20 64 77 52 6f 70 29 0d 0a 0d 0a 2f 2f 20 23 65   dwRop)....// #e
81c0: 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
81d0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
81e0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
81f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43  num : uint { ILC
8200: 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30  _MASK = 0x000000
8210: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
8220: 74 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52 20 3d 20  t { ILC_COLOR = 
8230: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
8240: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f  um : uint { ILC_
8250: 43 4f 4c 4f 52 44 44 42 20 3d 20 30 78 30 30 30  COLORDDB = 0x000
8260: 30 30 30 46 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20  000FE }..enum : 
8270: 75 69 6e 74 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52  uint { ILC_COLOR
8280: 34 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  4 = 0x00000004 }
8290: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
82a0: 49 4c 43 5f 43 4f 4c 4f 52 38 20 3d 20 30 78 30  ILC_COLOR8 = 0x0
82b0: 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0000008 }..enum 
82c0: 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f 43 4f 4c  : uint { ILC_COL
82d0: 4f 52 31 36 20 3d 20 30 78 30 30 30 30 30 30 31  OR16 = 0x0000001
82e0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
82f0: 20 7b 20 49 4c 43 5f 43 4f 4c 4f 52 32 34 20 3d   { ILC_COLOR24 =
8300: 20 30 78 30 30 30 30 30 30 31 38 20 7d 0d 0a 65   0x00000018 }..e
8310: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43  num : uint { ILC
8320: 5f 43 4f 4c 4f 52 33 32 20 3d 20 30 78 30 30 30  _COLOR32 = 0x000
8330: 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
8340: 75 69 6e 74 20 7b 20 49 4c 43 5f 50 41 4c 45 54  uint { ILC_PALET
8350: 54 45 20 3d 20 30 78 30 30 30 30 30 38 30 30 20  TE = 0x00000800 
8360: 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
8370: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31  2_WINNT >= 0x501
8380: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
8390: 20 49 4c 43 5f 4d 49 52 52 4f 52 20 3d 20 30 78   ILC_MIRROR = 0x
83a0: 30 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d  00002000 }..enum
83b0: 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 5f 50 45   : uint { ILC_PE
83c0: 52 49 54 45 4d 4d 49 52 52 4f 52 20 3d 20 30 78  RITEMMIRROR = 0x
83d0: 30 30 30 30 38 30 30 30 20 7d 0d 0a 2f 2f 20 23  00008000 }..// #
83e0: 65 6e 64 69 66 09 0d 0a 65 78 74 65 72 6e 28 57  endif...extern(W
83f0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
8400: 49 4d 41 47 45 4c 49 53 54 20 49 6d 61 67 65 4c  IMAGELIST ImageL
8410: 69 73 74 5f 43 72 65 61 74 65 28 69 6e 74 20 63  ist_Create(int c
8420: 78 2c 20 69 6e 74 20 63 79 2c 20 55 49 4e 54 20  x, int cy, UINT 
8430: 66 6c 61 67 73 2c 20 69 6e 74 20 63 49 6e 69 74  flags, int cInit
8440: 69 61 6c 2c 20 69 6e 74 20 63 47 72 6f 77 29 3b  ial, int cGrow);
8450: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8460: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d  ) export BOOL Im
8470: 61 67 65 4c 69 73 74 5f 44 65 73 74 72 6f 79 28  ageList_Destroy(
8480: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 29  HIMAGELIST himl)
8490: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
84a0: 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20  ows) export int 
84b0: 49 6d 61 67 65 4c 69 73 74 5f 47 65 74 49 6d 61  ImageList_GetIma
84c0: 67 65 43 6f 75 6e 74 28 48 49 4d 41 47 45 4c 49  geCount(HIMAGELI
84d0: 53 54 20 68 69 6d 6c 29 3b 0d 0a 2f 2f 20 23 69  ST himl);..// #i
84e0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
84f0: 30 78 30 33 30 30 29 0d 0a 65 78 74 65 72 6e 28  0x0300)..extern(
8500: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
8510: 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 53  BOOL ImageList_S
8520: 65 74 49 6d 61 67 65 43 6f 75 6e 74 28 48 49 4d  etImageCount(HIM
8530: 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 55 49  AGELIST himl, UI
8540: 4e 54 20 75 4e 65 77 43 6f 75 6e 74 29 3b 0d 0a  NT uNewCount);..
8550: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74  // #endif....ext
8560: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
8570: 6f 72 74 20 69 6e 74 20 49 6d 61 67 65 4c 69 73  ort int ImageLis
8580: 74 5f 41 64 64 28 48 49 4d 41 47 45 4c 49 53 54  t_Add(HIMAGELIST
8590: 20 68 69 6d 6c 2c 20 48 42 49 54 4d 41 50 20 68   himl, HBITMAP h
85a0: 62 6d 49 6d 61 67 65 2c 20 48 42 49 54 4d 41 50  bmImage, HBITMAP
85b0: 20 68 62 6d 4d 61 73 6b 29 3b 0d 0a 0d 0a 65 78   hbmMask);....ex
85c0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
85d0: 70 6f 72 74 20 69 6e 74 20 49 6d 61 67 65 4c 69  port int ImageLi
85e0: 73 74 5f 52 65 70 6c 61 63 65 49 63 6f 6e 28 48  st_ReplaceIcon(H
85f0: 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20  IMAGELIST himl, 
8600: 69 6e 74 20 69 2c 20 48 49 43 4f 4e 20 68 69 63  int i, HICON hic
8610: 6f 6e 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  on);..extern(Win
8620: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 43 4f 4c  dows) export COL
8630: 4f 52 52 45 46 20 49 6d 61 67 65 4c 69 73 74 5f  ORREF ImageList_
8640: 53 65 74 42 6b 43 6f 6c 6f 72 28 48 49 4d 41 47  SetBkColor(HIMAG
8650: 45 4c 49 53 54 20 68 69 6d 6c 2c 20 43 4f 4c 4f  ELIST himl, COLO
8660: 52 52 45 46 20 63 6c 72 42 6b 29 3b 0d 0a 65 78  RREF clrBk);..ex
8670: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
8680: 70 6f 72 74 20 43 4f 4c 4f 52 52 45 46 20 49 6d  port COLORREF Im
8690: 61 67 65 4c 69 73 74 5f 47 65 74 42 6b 43 6f 6c  ageList_GetBkCol
86a0: 6f 72 28 48 49 4d 41 47 45 4c 49 53 54 20 68 69  or(HIMAGELIST hi
86b0: 6d 6c 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ml);..extern(Win
86c0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
86d0: 4c 20 49 6d 61 67 65 4c 69 73 74 5f 53 65 74 4f  L ImageList_SetO
86e0: 76 65 72 6c 61 79 49 6d 61 67 65 28 48 49 4d 41  verlayImage(HIMA
86f0: 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74  GELIST himl, int
8700: 20 69 49 6d 61 67 65 2c 20 69 6e 74 20 69 4f 76   iImage, int iOv
8710: 65 72 6c 61 79 29 3b 0d 0a 0d 0a 2f 2f 20 23 64  erlay);....// #d
8720: 65 66 69 6e 65 20 49 6d 61 67 65 4c 69 73 74 5f  efine ImageList_
8730: 41 64 64 49 63 6f 6e 28 68 69 6d 6c 2c 20 68 69  AddIcon(himl, hi
8740: 63 6f 6e 29 20 49 6d 61 67 65 4c 69 73 74 5f 52  con) ImageList_R
8750: 65 70 6c 61 63 65 49 63 6f 6e 28 68 69 6d 6c 2c  eplaceIcon(himl,
8760: 20 2d 31 2c 20 68 69 63 6f 6e 29 0d 0a 0d 0a 65   -1, hicon)....e
8770: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44  num : uint { ILD
8780: 5f 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30  _NORMAL = 0x0000
8790: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
87a0: 69 6e 74 20 7b 20 49 4c 44 5f 54 52 41 4e 53 50  int { ILD_TRANSP
87b0: 41 52 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30  ARENT = 0x000000
87c0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
87d0: 74 20 7b 20 49 4c 44 5f 4d 41 53 4b 20 3d 20 30  t { ILD_MASK = 0
87e0: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
87f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44 5f 49  m : uint { ILD_I
8800: 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30 30 32  MAGE = 0x0000002
8810: 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  0 }..// #if (_WI
8820: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
8830: 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
8840: 20 49 4c 44 5f 52 4f 50 20 3d 20 30 78 30 30 30   ILD_ROP = 0x000
8850: 30 30 30 34 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  00040 }..// #end
8860: 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  if..enum : uint 
8870: 7b 20 49 4c 44 5f 42 4c 45 4e 44 32 35 20 3d 20  { ILD_BLEND25 = 
8880: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
8890: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 44 5f  um : uint { ILD_
88a0: 42 4c 45 4e 44 35 30 20 3d 20 30 78 30 30 30 30  BLEND50 = 0x0000
88b0: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
88c0: 69 6e 74 20 7b 20 49 4c 44 5f 4f 56 45 52 4c 41  int { ILD_OVERLA
88d0: 59 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 46  YMASK = 0x00000F
88e0: 30 30 20 7d 0d 0a 75 69 6e 74 20 49 4e 44 45 58  00 }..uint INDEX
88f0: 54 4f 4f 56 45 52 4c 41 59 4d 41 53 4b 28 75 69  TOOVERLAYMASK(ui
8900: 6e 74 20 69 29 7b 20 72 65 74 75 72 6e 20 69 20  nt i){ return i 
8910: 3c 3c 20 38 3b 20 7d 0d 0a 65 6e 75 6d 20 3a 20  << 8; }..enum : 
8920: 75 69 6e 74 20 7b 20 49 4c 44 5f 50 52 45 53 45  uint { ILD_PRESE
8930: 52 56 45 41 4c 50 48 41 20 3d 20 30 78 30 30 30  RVEALPHA = 0x000
8940: 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  01000 }..enum : 
8950: 75 69 6e 74 20 7b 20 49 4c 44 5f 53 43 41 4c 45  uint { ILD_SCALE
8960: 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d   = 0x00002000 }.
8970: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
8980: 4c 44 5f 44 50 49 53 43 41 4c 45 20 3d 20 30 78  LD_DPISCALE = 0x
8990: 30 30 30 30 34 30 30 30 20 7d 0d 0a 0d 0a 61 6c  00004000 }....al
89a0: 69 61 73 20 49 4c 44 5f 42 4c 45 4e 44 35 30 20  ias ILD_BLEND50 
89b0: 49 4c 44 5f 53 45 4c 45 43 54 45 44 3b 0d 0a 61  ILD_SELECTED;..a
89c0: 6c 69 61 73 20 49 4c 44 5f 42 4c 45 4e 44 32 35  lias ILD_BLEND25
89d0: 20 49 4c 44 5f 46 4f 43 55 53 3b 0d 0a 61 6c 69   ILD_FOCUS;..ali
89e0: 61 73 20 49 4c 44 5f 42 4c 45 4e 44 35 30 20 49  as ILD_BLEND50 I
89f0: 4c 44 5f 42 4c 45 4e 44 3b 0d 0a 61 6c 69 61 73  LD_BLEND;..alias
8a00: 20 43 4c 52 5f 44 45 46 41 55 4c 54 20 43 4c 52   CLR_DEFAULT CLR
8a10: 5f 48 49 4c 49 47 48 54 3b 0d 0a 0d 0a 65 6e 75  _HILIGHT;....enu
8a20: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 53 5f 4e  m : uint { ILS_N
8a30: 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30 30  ORMAL = 0x000000
8a40: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
8a50: 74 20 7b 20 49 4c 53 5f 47 4c 4f 57 20 3d 20 30  t { ILS_GLOW = 0
8a60: 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
8a70: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 53 5f 53  m : uint { ILS_S
8a80: 48 41 44 4f 57 20 3d 20 30 78 30 30 30 30 30 30  HADOW = 0x000000
8a90: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
8aa0: 74 20 7b 20 49 4c 53 5f 53 41 54 55 52 41 54 45  t { ILS_SATURATE
8ab0: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
8ac0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49  .enum : uint { I
8ad0: 4c 53 5f 41 4c 50 48 41 20 3d 20 30 78 30 30 30  LS_ALPHA = 0x000
8ae0: 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 78 74 65 72  00008 }....exter
8af0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
8b00: 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74  t BOOL ImageList
8b10: 5f 44 72 61 77 28 48 49 4d 41 47 45 4c 49 53 54  _Draw(HIMAGELIST
8b20: 20 68 69 6d 6c 2c 20 69 6e 74 20 69 2c 20 48 44   himl, int i, HD
8b30: 43 20 68 64 63 44 73 74 2c 20 69 6e 74 20 78 2c  C hdcDst, int x,
8b40: 20 69 6e 74 20 79 2c 20 55 49 4e 54 20 66 53 74   int y, UINT fSt
8b50: 79 6c 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  yle);....// #ifd
8b60: 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74  ef _WIN32....ext
8b70: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
8b80: 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69  ort BOOL ImageLi
8b90: 73 74 5f 52 65 70 6c 61 63 65 28 48 49 4d 41 47  st_Replace(HIMAG
8ba0: 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74 20  ELIST himl, int 
8bb0: 69 2c 20 48 42 49 54 4d 41 50 20 68 62 6d 49 6d  i, HBITMAP hbmIm
8bc0: 61 67 65 2c 20 48 42 49 54 4d 41 50 20 68 62 6d  age, HBITMAP hbm
8bd0: 4d 61 73 6b 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  Mask);....extern
8be0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
8bf0: 20 69 6e 74 20 49 6d 61 67 65 4c 69 73 74 5f 41   int ImageList_A
8c00: 64 64 4d 61 73 6b 65 64 28 48 49 4d 41 47 45 4c  ddMasked(HIMAGEL
8c10: 49 53 54 20 68 69 6d 6c 2c 20 48 42 49 54 4d 41  IST himl, HBITMA
8c20: 50 20 68 62 6d 49 6d 61 67 65 2c 20 43 4f 4c 4f  P hbmImage, COLO
8c30: 52 52 45 46 20 63 72 4d 61 73 6b 29 3b 0d 0a 65  RREF crMask);..e
8c40: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8c50: 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65  xport BOOL Image
8c60: 4c 69 73 74 5f 44 72 61 77 45 78 28 48 49 4d 41  List_DrawEx(HIMA
8c70: 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e 74  GELIST himl, int
8c80: 20 69 2c 20 48 44 43 20 68 64 63 44 73 74 2c 20   i, HDC hdcDst, 
8c90: 69 6e 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e  int x, int y, in
8ca0: 74 20 64 78 2c 20 69 6e 74 20 64 79 2c 20 43 4f  t dx, int dy, CO
8cb0: 4c 4f 52 52 45 46 20 72 67 62 42 6b 2c 20 43 4f  LORREF rgbBk, CO
8cc0: 4c 4f 52 52 45 46 20 72 67 62 46 67 2c 20 55 49  LORREF rgbFg, UI
8cd0: 4e 54 20 66 53 74 79 6c 65 29 3b 0d 0a 2f 2f 20  NT fStyle);..// 
8ce0: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
8cf0: 3d 20 30 78 30 33 30 30 29 0d 0a 65 78 74 65 72  = 0x0300)..exter
8d00: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
8d10: 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74  t BOOL ImageList
8d20: 5f 44 72 61 77 49 6e 64 69 72 65 63 74 28 49 4d  _DrawIndirect(IM
8d30: 41 47 45 4c 49 53 54 44 52 41 57 50 41 52 41 4d  AGELISTDRAWPARAM
8d40: 53 2a 20 70 69 6d 6c 64 70 29 3b 0d 0a 2f 2f 20  S* pimldp);..// 
8d50: 23 65 6e 64 69 66 0d 0a 65 78 74 65 72 6e 28 57  #endif..extern(W
8d60: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
8d70: 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f 52 65  OOL ImageList_Re
8d80: 6d 6f 76 65 28 48 49 4d 41 47 45 4c 49 53 54 20  move(HIMAGELIST 
8d90: 68 69 6d 6c 2c 20 69 6e 74 20 69 29 3b 0d 0a 65  himl, int i);..e
8da0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8db0: 78 70 6f 72 74 20 48 49 43 4f 4e 20 49 6d 61 67  xport HICON Imag
8dc0: 65 4c 69 73 74 5f 47 65 74 49 63 6f 6e 28 48 49  eList_GetIcon(HI
8dd0: 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69  MAGELIST himl, i
8de0: 6e 74 20 69 2c 20 55 49 4e 54 20 66 6c 61 67 73  nt i, UINT flags
8df0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
8e00: 77 73 29 20 65 78 70 6f 72 74 20 48 49 4d 41 47  ws) export HIMAG
8e10: 45 4c 49 53 54 20 49 6d 61 67 65 4c 69 73 74 5f  ELIST ImageList_
8e20: 4c 6f 61 64 49 6d 61 67 65 41 28 48 49 4e 53 54  LoadImageA(HINST
8e30: 41 4e 43 45 20 68 69 2c 20 4c 50 43 53 54 52 20  ANCE hi, LPCSTR 
8e40: 6c 70 62 6d 70 2c 20 69 6e 74 20 63 78 2c 20 69  lpbmp, int cx, i
8e50: 6e 74 20 63 47 72 6f 77 2c 20 43 4f 4c 4f 52 52  nt cGrow, COLORR
8e60: 45 46 20 63 72 4d 61 73 6b 2c 20 55 49 4e 54 20  EF crMask, UINT 
8e70: 75 54 79 70 65 2c 20 55 49 4e 54 20 75 46 6c 61  uType, UINT uFla
8e80: 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  gs);..extern(Win
8e90: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 49 4d  dows) export HIM
8ea0: 41 47 45 4c 49 53 54 20 49 6d 61 67 65 4c 69 73  AGELIST ImageLis
8eb0: 74 5f 4c 6f 61 64 49 6d 61 67 65 57 28 48 49 4e  t_LoadImageW(HIN
8ec0: 53 54 41 4e 43 45 20 68 69 2c 20 4c 50 43 57 53  STANCE hi, LPCWS
8ed0: 54 52 20 6c 70 62 6d 70 2c 20 69 6e 74 20 63 78  TR lpbmp, int cx
8ee0: 2c 20 69 6e 74 20 63 47 72 6f 77 2c 20 43 4f 4c  , int cGrow, COL
8ef0: 4f 52 52 45 46 20 63 72 4d 61 73 6b 2c 20 55 49  ORREF crMask, UI
8f00: 4e 54 20 75 54 79 70 65 2c 20 55 49 4e 54 20 75  NT uType, UINT u
8f10: 46 6c 61 67 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 69  Flags);....// #i
8f20: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
8f30: 69 61 73 20 49 6d 61 67 65 4c 69 73 74 5f 4c 6f  ias ImageList_Lo
8f40: 61 64 49 6d 61 67 65 57 20 49 6d 61 67 65 4c 69  adImageW ImageLi
8f50: 73 74 5f 4c 6f 61 64 49 6d 61 67 65 3b 0d 0a 2f  st_LoadImage;../
8f60: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
8f70: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
8f80: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
8f90: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
8fa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 49 4c 43 46 5f  m : uint { ILCF_
8fb0: 4d 4f 56 45 20 3d 20 30 78 30 30 30 30 30 30 30  MOVE = 0x0000000
8fc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
8fd0: 20 7b 20 49 4c 43 46 5f 53 57 41 50 20 3d 20 30   { ILCF_SWAP = 0
8fe0: 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 78 74  x00000001 }..ext
8ff0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
9000: 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69  ort BOOL ImageLi
9010: 73 74 5f 43 6f 70 79 28 48 49 4d 41 47 45 4c 49  st_Copy(HIMAGELI
9020: 53 54 20 68 69 6d 6c 44 73 74 2c 20 69 6e 74 20  ST himlDst, int 
9030: 69 44 73 74 2c 20 48 49 4d 41 47 45 4c 49 53 54  iDst, HIMAGELIST
9040: 20 68 69 6d 6c 53 72 63 2c 20 69 6e 74 20 69 53   himlSrc, int iS
9050: 72 63 2c 20 55 49 4e 54 20 75 46 6c 61 67 73 29  rc, UINT uFlags)
9060: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ;..// #endif....
9070: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
9080: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67  export BOOL Imag
9090: 65 4c 69 73 74 5f 42 65 67 69 6e 44 72 61 67 28  eList_BeginDrag(
90a0: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 54  HIMAGELIST himlT
90b0: 72 61 63 6b 2c 20 69 6e 74 20 69 54 72 61 63 6b  rack, int iTrack
90c0: 2c 20 69 6e 74 20 64 78 48 6f 74 73 70 6f 74 2c  , int dxHotspot,
90d0: 20 69 6e 74 20 64 79 48 6f 74 73 70 6f 74 29 3b   int dyHotspot);
90e0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
90f0: 29 20 65 78 70 6f 72 74 20 76 6f 69 64 20 49 6d  ) export void Im
9100: 61 67 65 4c 69 73 74 5f 45 6e 64 44 72 61 67 28  ageList_EndDrag(
9110: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
9120: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
9130: 49 6d 61 67 65 4c 69 73 74 5f 44 72 61 67 45 6e  ImageList_DragEn
9140: 74 65 72 28 48 57 4e 44 20 68 77 6e 64 4c 6f 63  ter(HWND hwndLoc
9150: 6b 2c 20 69 6e 74 20 78 2c 20 69 6e 74 20 79 29  k, int x, int y)
9160: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
9170: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
9180: 6d 61 67 65 4c 69 73 74 5f 44 72 61 67 4c 65 61  mageList_DragLea
9190: 76 65 28 48 57 4e 44 20 68 77 6e 64 4c 6f 63 6b  ve(HWND hwndLock
91a0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
91b0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
91c0: 49 6d 61 67 65 4c 69 73 74 5f 44 72 61 67 4d 6f  ImageList_DragMo
91d0: 76 65 28 69 6e 74 20 78 2c 20 69 6e 74 20 79 29  ve(int x, int y)
91e0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
91f0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 49  s) export BOOL I
9200: 6d 61 67 65 4c 69 73 74 5f 53 65 74 44 72 61 67  mageList_SetDrag
9210: 43 75 72 73 6f 72 49 6d 61 67 65 28 48 49 4d 41  CursorImage(HIMA
9220: 47 45 4c 49 53 54 20 68 69 6d 6c 44 72 61 67 2c  GELIST himlDrag,
9230: 20 69 6e 74 20 69 44 72 61 67 2c 20 69 6e 74 20   int iDrag, int 
9240: 64 78 48 6f 74 73 70 6f 74 2c 20 69 6e 74 20 64  dxHotspot, int d
9250: 79 48 6f 74 73 70 6f 74 29 3b 0d 0a 0d 0a 65 78  yHotspot);....ex
9260: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
9270: 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c  port BOOL ImageL
9280: 69 73 74 5f 44 72 61 67 53 68 6f 77 4e 6f 6c 6f  ist_DragShowNolo
9290: 63 6b 28 42 4f 4f 4c 20 66 53 68 6f 77 29 3b 0d  ck(BOOL fShow);.
92a0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
92b0: 20 65 78 70 6f 72 74 20 48 49 4d 41 47 45 4c 49   export HIMAGELI
92c0: 53 54 20 49 6d 61 67 65 4c 69 73 74 5f 47 65 74  ST ImageList_Get
92d0: 44 72 61 67 49 6d 61 67 65 28 50 4f 49 4e 54 20  DragImage(POINT 
92e0: 2a 70 70 74 2c 50 4f 49 4e 54 20 2a 70 70 74 48  *ppt,POINT *pptH
92f0: 6f 74 73 70 6f 74 29 3b 0d 0a 0d 0a 2f 2f 20 23  otspot);....// #
9300: 64 65 66 69 6e 65 20 49 6d 61 67 65 4c 69 73 74  define ImageList
9310: 5f 52 65 6d 6f 76 65 41 6c 6c 28 68 69 6d 6c 29  _RemoveAll(himl)
9320: 20 49 6d 61 67 65 4c 69 73 74 5f 52 65 6d 6f 76   ImageList_Remov
9330: 65 28 68 69 6d 6c 2c 20 2d 31 29 0d 0a 2f 2f 20  e(himl, -1)..// 
9340: 23 64 65 66 69 6e 65 20 49 6d 61 67 65 4c 69 73  #define ImageLis
9350: 74 5f 45 78 74 72 61 63 74 49 63 6f 6e 28 68 69  t_ExtractIcon(hi
9360: 2c 20 68 69 6d 6c 2c 20 69 29 20 49 6d 61 67 65  , himl, i) Image
9370: 4c 69 73 74 5f 47 65 74 49 63 6f 6e 28 68 69 6d  List_GetIcon(him
9380: 6c 2c 20 69 2c 20 30 29 0d 0a 2f 2f 20 23 64 65  l, i, 0)..// #de
9390: 66 69 6e 65 20 49 6d 61 67 65 4c 69 73 74 5f 4c  fine ImageList_L
93a0: 6f 61 64 42 69 74 6d 61 70 28 68 69 2c 20 6c 70  oadBitmap(hi, lp
93b0: 62 6d 70 2c 20 63 78 2c 20 63 47 72 6f 77 2c 20  bmp, cx, cGrow, 
93c0: 63 72 4d 61 73 6b 29 20 49 6d 61 67 65 4c 69 73  crMask) ImageLis
93d0: 74 5f 4c 6f 61 64 49 6d 61 67 65 28 68 69 2c 20  t_LoadImage(hi, 
93e0: 6c 70 62 6d 70 2c 20 63 78 2c 20 63 47 72 6f 77  lpbmp, cx, cGrow
93f0: 2c 20 63 72 4d 61 73 6b 2c 20 49 4d 41 47 45 5f  , crMask, IMAGE_
9400: 42 49 54 4d 41 50 2c 20 30 29 0d 0a 0d 0a 2f 2f  BITMAP, 0)....//
9410: 20 23 69 66 64 65 66 20 5f 5f 49 53 74 72 65 61   #ifdef __IStrea
9420: 6d 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49  m_INTERFACE_DEFI
9430: 4e 45 44 5f 5f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  NED__....// ....
9440: 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
9450: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30  2_WINNT >= 0x050
9460: 31 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  1)..// #.....// 
9470: 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  #.......// .....
9480: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
9490: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
94a0: 6e 64 65 66 20 49 4d 41 47 45 49 4e 46 4f 0d 0a  ndef IMAGEINFO..
94b0: 73 74 72 75 63 74 20 5f 49 4d 41 47 45 49 4e 46  struct _IMAGEINF
94c0: 4f 20 7b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68  O {..  HBITMAP h
94d0: 62 6d 49 6d 61 67 65 3b 0d 0a 20 20 48 42 49 54  bmImage;..  HBIT
94e0: 4d 41 50 20 68 62 6d 4d 61 73 6b 3b 0d 0a 20 20  MAP hbmMask;..  
94f0: 69 6e 74 20 55 6e 75 73 65 64 31 3b 0d 0a 20 20  int Unused1;..  
9500: 69 6e 74 20 55 6e 75 73 65 64 32 3b 0d 0a 20 20  int Unused2;..  
9510: 52 45 43 54 20 72 63 49 6d 61 67 65 3b 0d 0a 7d  RECT rcImage;..}
9520: 0d 0a 61 6c 69 61 73 20 5f 49 4d 41 47 45 49 4e  ..alias _IMAGEIN
9530: 46 4f 20 49 4d 41 47 45 49 4e 46 4f 3b 0d 0a 61  FO IMAGEINFO;..a
9540: 6c 69 61 73 20 5f 49 4d 41 47 45 49 4e 46 4f 2a  lias _IMAGEINFO*
9550: 20 4c 50 49 4d 41 47 45 49 4e 46 4f 3b 0d 0a 0d   LPIMAGEINFO;...
9560: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78  .// #endif....ex
9570: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
9580: 70 6f 72 74 20 42 4f 4f 4c 20 49 6d 61 67 65 4c  port BOOL ImageL
9590: 69 73 74 5f 47 65 74 49 63 6f 6e 53 69 7a 65 28  ist_GetIconSize(
95a0: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c  HIMAGELIST himl,
95b0: 20 69 6e 74 20 2a 63 78 2c 20 69 6e 74 20 2a 63   int *cx, int *c
95c0: 79 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  y);..extern(Wind
95d0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
95e0: 20 49 6d 61 67 65 4c 69 73 74 5f 53 65 74 49 63   ImageList_SetIc
95f0: 6f 6e 53 69 7a 65 28 48 49 4d 41 47 45 4c 49 53  onSize(HIMAGELIS
9600: 54 20 68 69 6d 6c 2c 20 69 6e 74 20 63 78 2c 20  T himl, int cx, 
9610: 69 6e 74 20 63 79 29 3b 0d 0a 65 78 74 65 72 6e  int cy);..extern
9620: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
9630: 20 42 4f 4f 4c 20 49 6d 61 67 65 4c 69 73 74 5f   BOOL ImageList_
9640: 47 65 74 49 6d 61 67 65 49 6e 66 6f 28 48 49 4d  GetImageInfo(HIM
9650: 41 47 45 4c 49 53 54 20 68 69 6d 6c 2c 20 69 6e  AGELIST himl, in
9660: 74 20 69 2c 20 49 4d 41 47 45 49 4e 46 4f 20 2a  t i, IMAGEINFO *
9670: 70 49 6d 61 67 65 49 6e 66 6f 29 3b 0d 0a 65 78  pImageInfo);..ex
9680: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
9690: 70 6f 72 74 20 48 49 4d 41 47 45 4c 49 53 54 20  port HIMAGELIST 
96a0: 49 6d 61 67 65 4c 69 73 74 5f 4d 65 72 67 65 28  ImageList_Merge(
96b0: 48 49 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 31  HIMAGELIST himl1
96c0: 2c 20 69 6e 74 20 69 31 2c 20 48 49 4d 41 47 45  , int i1, HIMAGE
96d0: 4c 49 53 54 20 68 69 6d 6c 32 2c 20 69 6e 74 20  LIST himl2, int 
96e0: 69 32 2c 20 69 6e 74 20 64 78 2c 20 69 6e 74 20  i2, int dx, int 
96f0: 64 79 29 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  dy);..// #if (_W
9700: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
9710: 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  0)..extern(Windo
9720: 77 73 29 20 65 78 70 6f 72 74 20 48 49 4d 41 47  ws) export HIMAG
9730: 45 4c 49 53 54 20 49 6d 61 67 65 4c 69 73 74 5f  ELIST ImageList_
9740: 44 75 70 6c 69 63 61 74 65 28 48 49 4d 41 47 45  Duplicate(HIMAGE
9750: 4c 49 53 54 20 68 69 6d 6c 29 3b 0d 0a 2f 2f 20  LIST himl);..// 
9760: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
9770: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
9780: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
9790: 4f 48 45 41 44 45 52 0d 0a 0d 0a 2f 2f 20 23 69  OHEADER....// #i
97a0: 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 63 6f 6e  fdef _WIN32..con
97b0: 73 74 20 63 68 61 72 5b 5d 20 57 43 5f 48 45 41  st char[] WC_HEA
97c0: 44 45 52 41 20 3d 20 22 53 79 73 48 65 61 64 65  DERA = "SysHeade
97d0: 72 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68  r32";..const wch
97e0: 61 72 5b 5d 20 57 43 5f 48 45 41 44 45 52 57 20  ar[] WC_HEADERW 
97f0: 3d 20 22 53 79 73 48 65 61 64 65 72 33 32 22 3b  = "SysHeader32";
9800: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
9810: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f  ICODE..alias WC_
9820: 48 45 41 44 45 52 57 20 57 43 5f 48 45 41 44 45  HEADERW WC_HEADE
9830: 52 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  R;..// #else..//
9840: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
9850: 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
9860: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
9870: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
9880: 7b 20 48 44 53 5f 48 4f 52 5a 20 3d 20 30 78 30  { HDS_HORZ = 0x0
9890: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
98a0: 6e 74 20 7b 20 48 44 53 5f 42 55 54 54 4f 4e 53  nt { HDS_BUTTONS
98b0: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 2f 2f 20   = 0x0002 }..// 
98c0: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
98d0: 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0300)..enum 
98e0: 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f 48 4f 54  : uint { HDS_HOT
98f0: 54 52 41 43 4b 20 3d 20 30 78 30 30 30 34 20 7d  TRACK = 0x0004 }
9900: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75  ..// #endif..enu
9910: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f 48  m : uint { HDS_H
9920: 49 44 44 45 4e 20 3d 20 30 78 30 30 30 38 20 7d  IDDEN = 0x0008 }
9930: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
9940: 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
9950: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9960: 48 44 53 5f 44 52 41 47 44 52 4f 50 20 3d 20 30  HDS_DRAGDROP = 0
9970: 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0040 }..enum : 
9980: 75 69 6e 74 20 7b 20 48 44 53 5f 46 55 4c 4c 44  uint { HDS_FULLD
9990: 52 41 47 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a  RAG = 0x0080 }..
99a0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69  // #endif..// #i
99b0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
99c0: 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0500)..enum : 
99d0: 75 69 6e 74 20 7b 20 48 44 53 5f 46 49 4c 54 45  uint { HDS_FILTE
99e0: 52 42 41 52 20 3d 20 30 78 30 31 30 30 20 7d 0d  RBAR = 0x0100 }.
99f0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
9a00: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e   #if (_WIN32_WIN
9a10: 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e  NT >= 0x501)..en
9a20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 53 5f  um : uint { HDS_
9a30: 46 4c 41 54 20 3d 20 30 78 30 32 30 30 20 7d 0d  FLAT = 0x0200 }.
9a40: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
9a50: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
9a60: 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e  >= 0x0500)....en
9a70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 54  um : uint { HDFT
9a80: 5f 49 53 53 54 52 49 4e 47 20 3d 20 30 78 30 30  _ISSTRING = 0x00
9a90: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
9aa0: 74 20 7b 20 48 44 46 54 5f 49 53 4e 55 4d 42 45  t { HDFT_ISNUMBE
9ab0: 52 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a  R = 0x0001 }....
9ac0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
9ad0: 46 54 5f 48 41 53 4e 4f 56 41 4c 55 45 20 3d 20  FT_HASNOVALUE = 
9ae0: 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x8000 }....// #
9af0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
9b00: 6c 69 61 73 20 48 44 5f 54 45 58 54 46 49 4c 54  lias HD_TEXTFILT
9b10: 45 52 57 20 48 44 5f 54 45 58 54 46 49 4c 54 45  ERW HD_TEXTFILTE
9b20: 52 3b 0d 0a 61 6c 69 61 73 20 48 44 5f 54 45 58  R;..alias HD_TEX
9b30: 54 46 49 4c 54 45 52 57 20 48 44 54 45 58 54 46  TFILTERW HDTEXTF
9b40: 49 4c 54 45 52 3b 0d 0a 61 6c 69 61 73 20 4c 50  ILTER;..alias LP
9b50: 48 44 5f 54 45 58 54 46 49 4c 54 45 52 57 20 4c  HD_TEXTFILTERW L
9b60: 50 48 44 5f 54 45 58 54 46 49 4c 54 45 52 3b 0d  PHD_TEXTFILTER;.
9b70: 0a 61 6c 69 61 73 20 4c 50 48 44 5f 54 45 58 54  .alias LPHD_TEXT
9b80: 46 49 4c 54 45 52 57 20 4c 50 48 44 54 45 58 54  FILTERW LPHDTEXT
9b90: 46 49 4c 54 45 52 3b 0d 0a 2f 2f 20 23 65 6c 73  FILTER;..// #els
9ba0: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
9bb0: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
9bc0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
9bd0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 48 44 5f 54  ....struct _HD_T
9be0: 45 58 54 46 49 4c 54 45 52 41 20 7b 0d 0a 20 20  EXTFILTERA {..  
9bf0: 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a  LPSTR pszText;..
9c00: 20 20 49 4e 54 20 63 63 68 54 65 78 74 4d 61 78    INT cchTextMax
9c10: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48 44 5f  ;..}..alias _HD_
9c20: 54 45 58 54 46 49 4c 54 45 52 41 20 48 44 5f 54  TEXTFILTERA HD_T
9c30: 45 58 54 46 49 4c 54 45 52 41 3b 0d 0a 61 6c 69  EXTFILTERA;..ali
9c40: 61 73 20 5f 48 44 5f 54 45 58 54 46 49 4c 54 45  as _HD_TEXTFILTE
9c50: 52 41 2a 20 4c 50 48 44 5f 54 45 58 54 46 49 4c  RA* LPHD_TEXTFIL
9c60: 54 45 52 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  TERA;....struct 
9c70: 5f 48 44 5f 54 45 58 54 46 49 4c 54 45 52 57 20  _HD_TEXTFILTERW 
9c80: 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54  {..  LPWSTR pszT
9c90: 65 78 74 3b 0d 0a 20 20 49 4e 54 20 63 63 68 54  ext;..  INT cchT
9ca0: 65 78 74 4d 61 78 3b 0d 0a 7d 0d 0a 61 6c 69 61  extMax;..}..alia
9cb0: 73 20 5f 48 44 5f 54 45 58 54 46 49 4c 54 45 52  s _HD_TEXTFILTER
9cc0: 57 20 48 44 5f 54 45 58 54 46 49 4c 54 45 52 57  W HD_TEXTFILTERW
9cd0: 3b 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 54 45 58  ;..alias _HD_TEX
9ce0: 54 46 49 4c 54 45 52 57 2a 20 4c 50 48 44 5f 54  TFILTERW* LPHD_T
9cf0: 45 58 54 46 49 4c 54 45 52 57 3b 0d 0a 0d 0a 2f  EXTFILTERW;..../
9d00: 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 5f 57 49  / #endif  // _WI
9d10: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
9d20: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
9d30: 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
9d40: 0d 0a 61 6c 69 61 73 20 48 44 49 54 45 4d 41 20  ..alias HDITEMA 
9d50: 48 44 5f 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73  HD_ITEMA;..alias
9d60: 20 48 44 49 54 45 4d 57 20 48 44 5f 49 54 45 4d   HDITEMW HD_ITEM
9d70: 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  W;..// #else..//
9d80: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
9d90: 2f 2f 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73  // #endif..alias
9da0: 20 48 44 49 54 45 4d 20 48 44 5f 49 54 45 4d 3b   HDITEM HD_ITEM;
9db0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 48 44 5f 49  ....struct _HD_I
9dc0: 54 45 4d 41 20 7b 0d 0a 20 20 55 49 4e 54 20 6d  TEMA {..  UINT m
9dd0: 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 63 78 79 3b  ask;..  int cxy;
9de0: 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78  ..  LPSTR pszTex
9df0: 74 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62  t;..  HBITMAP hb
9e00: 6d 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78  m;..  int cchTex
9e10: 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 66 6d 74  tMax;..  int fmt
9e20: 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  ;..  LPARAM lPar
9e30: 61 6d 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  am;..// #if (_WI
9e40: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
9e50: 29 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b  )..  int iImage;
9e60: 0d 0a 20 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d  ..  int iOrder;.
9e70: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
9e80: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
9e90: 20 30 78 30 35 30 30 29 0d 0a 20 20 55 49 4e 54   0x0500)..  UINT
9ea0: 20 74 79 70 65 3b 0d 0a 20 20 76 6f 69 64 20 2a   type;..  void *
9eb0: 20 20 70 76 46 69 6c 74 65 72 3b 0d 0a 2f 2f 20    pvFilter;..// 
9ec0: 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73  #endif..}..alias
9ed0: 20 5f 48 44 5f 49 54 45 4d 41 20 48 44 49 54 45   _HD_ITEMA HDITE
9ee0: 4d 41 3b 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 49  MA;..alias _HD_I
9ef0: 54 45 4d 41 2a 20 4c 50 48 44 49 54 45 4d 41 3b  TEMA* LPHDITEMA;
9f00: 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48  ....// #define H
9f10: 44 49 54 45 4d 41 5f 56 31 5f 53 49 5a 45 20 43  DITEMA_V1_SIZE C
9f20: 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28 48  CSIZEOF_STRUCT(H
9f30: 44 49 54 45 4d 41 2c 20 6c 50 61 72 61 6d 29 0d  DITEMA, lParam).
9f40: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 44 49 54  .// #define HDIT
9f50: 45 4d 57 5f 56 31 5f 53 49 5a 45 20 43 43 53 49  EMW_V1_SIZE CCSI
9f60: 5a 45 4f 46 5f 53 54 52 55 43 54 28 48 44 49 54  ZEOF_STRUCT(HDIT
9f70: 45 4d 57 2c 20 6c 50 61 72 61 6d 29 0d 0a 0d 0a  EMW, lParam)....
9f80: 73 74 72 75 63 74 20 5f 48 44 5f 49 54 45 4d 57  struct _HD_ITEMW
9f90: 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b   {..  UINT mask;
9fa0: 0d 0a 20 20 69 6e 74 20 63 78 79 3b 0d 0a 20 20  ..  int cxy;..  
9fb0: 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d  LPWSTR pszText;.
9fc0: 0a 20 20 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d  .  HBITMAP hbm;.
9fd0: 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61  .  int cchTextMa
9fe0: 78 3b 0d 0a 20 20 69 6e 74 20 66 6d 74 3b 0d 0a  x;..  int fmt;..
9ff0: 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b    LPARAM lParam;
a000: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
a010: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
a020: 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20    int iImage;.. 
a030: 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d 0a 2f 2f   int iOrder;..//
a040: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20   #endif..// #if 
a050: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
a060: 30 35 30 30 29 0d 0a 20 20 55 49 4e 54 20 74 79  0500)..  UINT ty
a070: 70 65 3b 0d 0a 20 20 76 6f 69 64 20 2a 20 20 70  pe;..  void *  p
a080: 76 46 69 6c 74 65 72 3b 0d 0a 2f 2f 20 23 65 6e  vFilter;..// #en
a090: 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48  dif..}..alias _H
a0a0: 44 5f 49 54 45 4d 57 20 48 44 49 54 45 4d 57 3b  D_ITEMW HDITEMW;
a0b0: 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 49 54 45 4d  ..alias _HD_ITEM
a0c0: 57 2a 20 4c 50 48 44 49 54 45 4d 57 3b 0d 0a 0d  W* LPHDITEMW;...
a0d0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
a0e0: 44 45 0d 0a 61 6c 69 61 73 20 48 44 49 54 45 4d  DE..alias HDITEM
a0f0: 57 20 48 44 49 54 45 4d 3b 0d 0a 61 6c 69 61 73  W HDITEM;..alias
a100: 20 4c 50 48 44 49 54 45 4d 57 20 4c 50 48 44 49   LPHDITEMW LPHDI
a110: 54 45 4d 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  TEM;..// #define
a120: 20 48 44 49 54 45 4d 5f 56 31 5f 53 49 5a 45 20   HDITEM_V1_SIZE 
a130: 48 44 49 54 45 4d 57 5f 56 31 5f 53 49 5a 45 0d  HDITEMW_V1_SIZE.
a140: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
a150: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
a160: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
a170: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
a180: 20 48 44 49 5f 57 49 44 54 48 20 3d 20 30 78 30   HDI_WIDTH = 0x0
a190: 30 30 31 20 7d 0d 0a 61 6c 69 61 73 20 48 44 49  001 }..alias HDI
a1a0: 5f 57 49 44 54 48 20 48 44 49 5f 48 45 49 47 48  _WIDTH HDI_HEIGH
a1b0: 54 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  T;..enum : uint 
a1c0: 7b 20 48 44 49 5f 54 45 58 54 20 3d 20 30 78 30  { HDI_TEXT = 0x0
a1d0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
a1e0: 6e 74 20 7b 20 48 44 49 5f 46 4f 52 4d 41 54 20  nt { HDI_FORMAT 
a1f0: 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  = 0x0004 }..enum
a200: 20 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f 4c 50   : uint { HDI_LP
a210: 41 52 41 4d 20 3d 20 30 78 30 30 30 38 20 7d 0d  ARAM = 0x0008 }.
a220: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
a230: 44 49 5f 42 49 54 4d 41 50 20 3d 20 30 78 30 30  DI_BITMAP = 0x00
a240: 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  10 }..// #if (_W
a250: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
a260: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
a270: 7b 20 48 44 49 5f 49 4d 41 47 45 20 3d 20 30 78  { HDI_IMAGE = 0x
a280: 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0020 }..enum : u
a290: 69 6e 74 20 7b 20 48 44 49 5f 44 49 5f 53 45 54  int { HDI_DI_SET
a2a0: 49 54 45 4d 20 3d 20 30 78 30 30 34 30 20 7d 0d  ITEM = 0x0040 }.
a2b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
a2c0: 44 49 5f 4f 52 44 45 52 20 3d 20 30 78 30 30 38  DI_ORDER = 0x008
a2d0: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  0 }..// #endif..
a2e0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
a2f0: 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e  E >= 0x0500)..en
a300: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 49 5f  um : uint { HDI_
a310: 46 49 4c 54 45 52 20 3d 20 30 78 30 31 30 30 20  FILTER = 0x0100 
a320: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
a330: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
a340: 46 5f 4c 45 46 54 20 3d 20 30 78 30 30 30 30 20  F_LEFT = 0x0000 
a350: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a360: 20 48 44 46 5f 52 49 47 48 54 20 3d 20 30 78 30   HDF_RIGHT = 0x0
a370: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
a380: 6e 74 20 7b 20 48 44 46 5f 43 45 4e 54 45 52 20  nt { HDF_CENTER 
a390: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
a3a0: 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 5f 4a 55   : uint { HDF_JU
a3b0: 53 54 49 46 59 4d 41 53 4b 20 3d 20 30 78 30 30  STIFYMASK = 0x00
a3c0: 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
a3d0: 74 20 7b 20 48 44 46 5f 52 54 4c 52 45 41 44 49  t { HDF_RTLREADI
a3e0: 4e 47 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 0d  NG = 0x0004 }...
a3f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
a400: 44 46 5f 4f 57 4e 45 52 44 52 41 57 20 3d 20 30  DF_OWNERDRAW = 0
a410: 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x8000 }..enum : 
a420: 75 69 6e 74 20 7b 20 48 44 46 5f 53 54 52 49 4e  uint { HDF_STRIN
a430: 47 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e  G = 0x4000 }..en
a440: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46 5f  um : uint { HDF_
a450: 42 49 54 4d 41 50 20 3d 20 30 78 32 30 30 30 20  BITMAP = 0x2000 
a460: 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
a470: 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
a480: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
a490: 44 46 5f 42 49 54 4d 41 50 5f 4f 4e 5f 52 49 47  DF_BITMAP_ON_RIG
a4a0: 48 54 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65  HT = 0x1000 }..e
a4b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 46  num : uint { HDF
a4c0: 5f 49 4d 41 47 45 20 3d 20 30 78 30 38 30 30 20  _IMAGE = 0x0800 
a4d0: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
a4e0: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
a4f0: 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a  INNT >= 0x501)..
a500: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
a510: 46 5f 53 4f 52 54 55 50 20 3d 20 30 78 30 34 30  F_SORTUP = 0x040
a520: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
a530: 20 7b 20 48 44 46 5f 53 4f 52 54 44 4f 57 4e 20   { HDF_SORTDOWN 
a540: 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x0200 }..// #
a550: 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
a560: 75 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54 49 54  uint { HDM_GETIT
a570: 45 4d 43 4f 55 4e 54 20 3d 20 48 44 4d 5f 46 49  EMCOUNT = HDM_FI
a580: 52 53 54 20 2b 20 30 20 7d 0d 0a 2f 2f 20 23 64  RST + 0 }..// #d
a590: 65 66 69 6e 65 20 48 65 61 64 65 72 5f 47 65 74  efine Header_Get
a5a0: 49 74 65 6d 43 6f 75 6e 74 28 68 77 6e 64 48 44  ItemCount(hwndHD
a5b0: 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68  ) (int)SNDMSG((h
a5c0: 77 6e 64 48 44 29 2c 20 48 44 4d 5f 47 45 54 49  wndHD), HDM_GETI
a5d0: 54 45 4d 43 4f 55 4e 54 2c 20 30 2c 20 30 4c 29  TEMCOUNT, 0, 0L)
a5e0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
a5f0: 7b 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d  { HDM_INSERTITEM
a600: 41 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20  A = HDM_FIRST + 
a610: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
a620: 20 7b 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45   { HDM_INSERTITE
a630: 4d 57 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b  MW = HDM_FIRST +
a640: 20 31 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64   10 }....// #ifd
a650: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
a660: 73 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d  s HDM_INSERTITEM
a670: 57 20 48 44 4d 5f 49 4e 53 45 52 54 49 54 45 4d  W HDM_INSERTITEM
a680: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
a690: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
a6a0: 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65  ...// #define He
a6b0: 61 64 65 72 5f 49 6e 73 65 72 74 49 74 65 6d 28  ader_InsertItem(
a6c0: 68 77 6e 64 48 44 2c 20 69 2c 20 70 68 64 69 29  hwndHD, i, phdi)
a6d0: 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77   (int)SNDMSG((hw
a6e0: 6e 64 48 44 29 2c 20 48 44 4d 5f 49 4e 53 45 52  ndHD), HDM_INSER
a6f0: 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28  TITEM, (WPARAM)(
a700: 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d  int)(i), (LPARAM
a710: 29 28 63 6f 6e 73 74 20 48 44 5f 49 54 45 4d 20  )(const HD_ITEM 
a720: 2a 29 28 70 68 64 69 29 29 0d 0a 0d 0a 65 6e 75  *)(phdi))....enu
a730: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 44  m : uint { HDM_D
a740: 45 4c 45 54 45 49 54 45 4d 20 3d 20 48 44 4d 5f  ELETEITEM = HDM_
a750: 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20  FIRST + 2 }..// 
a760: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 44  #define Header_D
a770: 65 6c 65 74 65 49 74 65 6d 28 68 77 6e 64 48 44  eleteItem(hwndHD
a780: 2c 20 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53  , i) (BOOL)SNDMS
a790: 47 28 28 68 77 6e 64 48 44 29 2c 20 48 44 4d 5f  G((hwndHD), HDM_
a7a0: 44 45 4c 45 54 45 49 54 45 4d 2c 20 28 57 50 41  DELETEITEM, (WPA
a7b0: 52 41 4d 29 28 69 6e 74 29 28 69 29 2c 20 30 4c  RAM)(int)(i), 0L
a7c0: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
a7d0: 20 7b 20 48 44 4d 5f 47 45 54 49 54 45 4d 41 20   { HDM_GETITEMA 
a7e0: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 33 20  = HDM_FIRST + 3 
a7f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
a800: 20 48 44 4d 5f 47 45 54 49 54 45 4d 57 20 3d 20   HDM_GETITEMW = 
a810: 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 31 20 7d  HDM_FIRST + 11 }
a820: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
a830: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48 44 4d  ICODE..alias HDM
a840: 5f 47 45 54 49 54 45 4d 57 20 48 44 4d 5f 47 45  _GETITEMW HDM_GE
a850: 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65  TITEM;..// #else
a860: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
a870: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  ndif....// #defi
a880: 6e 65 20 48 65 61 64 65 72 5f 47 65 74 49 74 65  ne Header_GetIte
a890: 6d 28 68 77 6e 64 48 44 2c 20 69 2c 20 70 68 64  m(hwndHD, i, phd
a8a0: 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  i) (BOOL)SNDMSG(
a8b0: 28 68 77 6e 64 48 44 29 2c 20 48 44 4d 5f 47 45  (hwndHD), HDM_GE
a8c0: 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28  TITEM, (WPARAM)(
a8d0: 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d  int)(i), (LPARAM
a8e0: 29 28 48 44 5f 49 54 45 4d 20 2a 29 28 70 68 64  )(HD_ITEM *)(phd
a8f0: 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  i))....enum : ui
a900: 6e 74 20 7b 20 48 44 4d 5f 53 45 54 49 54 45 4d  nt { HDM_SETITEM
a910: 41 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20  A = HDM_FIRST + 
a920: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
a930: 20 7b 20 48 44 4d 5f 53 45 54 49 54 45 4d 57 20   { HDM_SETITEMW 
a940: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 32  = HDM_FIRST + 12
a950: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
a960: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48  UNICODE..alias H
a970: 44 4d 5f 53 45 54 49 54 45 4d 57 20 48 44 4d 5f  DM_SETITEMW HDM_
a980: 53 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c  SETITEM;..// #el
a990: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
a9a0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65  #endif....// #de
a9b0: 66 69 6e 65 20 48 65 61 64 65 72 5f 53 65 74 49  fine Header_SetI
a9c0: 74 65 6d 28 68 77 6e 64 48 44 2c 20 69 2c 20 70  tem(hwndHD, i, p
a9d0: 68 64 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53  hdi) (BOOL)SNDMS
a9e0: 47 28 28 68 77 6e 64 48 44 29 2c 20 48 44 4d 5f  G((hwndHD), HDM_
a9f0: 53 45 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d  SETITEM, (WPARAM
aa00: 29 28 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52  )(int)(i), (LPAR
aa10: 41 4d 29 28 63 6f 6e 73 74 20 48 44 5f 49 54 45  AM)(const HD_ITE
aa20: 4d 20 2a 29 28 70 68 64 69 29 29 0d 0a 0d 0a 2f  M *)(phdi))..../
aa30: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
aa40: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69   >= 0x0300)..ali
aa50: 61 73 20 48 44 4c 41 59 4f 55 54 20 48 44 5f 4c  as HDLAYOUT HD_L
aa60: 41 59 4f 55 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65  AYOUT;..// #else
aa70: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
aa80: 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  ndif....struct _
aa90: 48 44 5f 4c 41 59 4f 55 54 20 7b 0d 0a 20 20 52  HD_LAYOUT {..  R
aaa0: 45 43 54 20 2a 70 72 63 3b 0d 0a 20 20 57 49 4e  ECT *prc;..  WIN
aab0: 44 4f 57 50 4f 53 20 2a 70 77 70 6f 73 3b 0d 0a  DOWPOS *pwpos;..
aac0: 7d 0d 0a 61 6c 69 61 73 20 5f 48 44 5f 4c 41 59  }..alias _HD_LAY
aad0: 4f 55 54 20 48 44 4c 41 59 4f 55 54 3b 0d 0a 61  OUT HDLAYOUT;..a
aae0: 6c 69 61 73 20 5f 48 44 5f 4c 41 59 4f 55 54 2a  lias _HD_LAYOUT*
aaf0: 20 4c 50 48 44 4c 41 59 4f 55 54 3b 0d 0a 0d 0a   LPHDLAYOUT;....
ab00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
ab10: 4d 5f 4c 41 59 4f 55 54 20 3d 20 48 44 4d 5f 46  M_LAYOUT = HDM_F
ab20: 49 52 53 54 20 2b 20 35 20 7d 0d 0a 2f 2f 20 23  IRST + 5 }..// #
ab30: 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 4c 61  define Header_La
ab40: 79 6f 75 74 28 68 77 6e 64 48 44 2c 20 70 6c 61  yout(hwndHD, pla
ab50: 79 6f 75 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  yout) (BOOL)SNDM
ab60: 53 47 28 28 68 77 6e 64 48 44 29 2c 20 48 44 4d  SG((hwndHD), HDM
ab70: 5f 4c 41 59 4f 55 54 2c 20 30 2c 20 28 4c 50 41  _LAYOUT, 0, (LPA
ab80: 52 41 4d 29 28 48 44 5f 4c 41 59 4f 55 54 20 2a  RAM)(HD_LAYOUT *
ab90: 29 28 70 6c 61 79 6f 75 74 29 29 0d 0a 0d 0a 65  )(playout))....e
aba0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 48 54  num : uint { HHT
abb0: 5f 4e 4f 57 48 45 52 45 20 3d 20 30 78 30 30 30  _NOWHERE = 0x000
abc0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
abd0: 20 7b 20 48 48 54 5f 4f 4e 48 45 41 44 45 52 20   { HHT_ONHEADER 
abe0: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
abf0: 20 3a 20 75 69 6e 74 20 7b 20 48 48 54 5f 4f 4e   : uint { HHT_ON
ac00: 44 49 56 49 44 45 52 20 3d 20 30 78 30 30 30 34  DIVIDER = 0x0004
ac10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ac20: 7b 20 48 48 54 5f 4f 4e 44 49 56 4f 50 45 4e 20  { HHT_ONDIVOPEN 
ac30: 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23  = 0x0008 }..// #
ac40: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
ac50: 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
ac60: 20 75 69 6e 74 20 7b 20 48 48 54 5f 4f 4e 46 49   uint { HHT_ONFI
ac70: 4c 54 45 52 20 3d 20 30 78 30 30 31 30 20 7d 0d  LTER = 0x0010 }.
ac80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
ac90: 48 54 5f 4f 4e 46 49 4c 54 45 52 42 55 54 54 4f  HT_ONFILTERBUTTO
aca0: 4e 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 2f 2f  N = 0x0020 }..//
acb0: 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20   #endif..enum : 
acc0: 75 69 6e 74 20 7b 20 48 48 54 5f 41 42 4f 56 45  uint { HHT_ABOVE
acd0: 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75   = 0x0100 }..enu
ace0: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 48 54 5f 42  m : uint { HHT_B
acf0: 45 4c 4f 57 20 3d 20 30 78 30 32 30 30 20 7d 0d  ELOW = 0x0200 }.
ad00: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
ad10: 48 54 5f 54 4f 52 49 47 48 54 20 3d 20 30 78 30  HT_TORIGHT = 0x0
ad20: 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  400 }..enum : ui
ad30: 6e 74 20 7b 20 48 48 54 5f 54 4f 4c 45 46 54 20  nt { HHT_TOLEFT 
ad40: 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 2f 2f  = 0x0800 }....//
ad50: 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
ad60: 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61  >= 0x0300)..alia
ad70: 73 20 48 44 48 49 54 54 45 53 54 49 4e 46 4f 20  s HDHITTESTINFO 
ad80: 48 44 5f 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d  HD_HITTESTINFO;.
ad90: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
ada0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
adb0: 0a 73 74 72 75 63 74 20 5f 48 44 5f 48 49 54 54  .struct _HD_HITT
adc0: 45 53 54 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49  ESTINFO {..  POI
add0: 4e 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 20 66  NT pt;..  UINT f
ade0: 6c 61 67 73 3b 0d 0a 20 20 69 6e 74 20 69 49 74  lags;..  int iIt
adf0: 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 48  em;..}..alias _H
ae00: 44 5f 48 49 54 54 45 53 54 49 4e 46 4f 20 48 44  D_HITTESTINFO HD
ae10: 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c  HITTESTINFO;..al
ae20: 69 61 73 20 5f 48 44 5f 48 49 54 54 45 53 54 49  ias _HD_HITTESTI
ae30: 4e 46 4f 2a 20 4c 50 48 44 48 49 54 54 45 53 54  NFO* LPHDHITTEST
ae40: 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  INFO;....enum : 
ae50: 75 69 6e 74 20 7b 20 48 44 4d 5f 48 49 54 54 45  uint { HDM_HITTE
ae60: 53 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b  ST = HDM_FIRST +
ae70: 20 36 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28   6 }....// #if (
ae80: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
ae90: 33 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  300)....enum : u
aea0: 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54 49 54 45  int { HDM_GETITE
aeb0: 4d 52 45 43 54 20 3d 20 48 44 4d 5f 46 49 52 53  MRECT = HDM_FIRS
aec0: 54 20 2b 20 37 20 7d 0d 0a 2f 2f 20 23 64 65 66  T + 7 }..// #def
aed0: 69 6e 65 20 48 65 61 64 65 72 5f 47 65 74 49 74  ine Header_GetIt
aee0: 65 6d 52 65 63 74 28 68 77 6e 64 2c 20 69 49 74  emRect(hwnd, iIt
aef0: 65 6d 2c 20 6c 70 72 63 29 20 28 42 4f 4f 4c 29  em, lprc) (BOOL)
af00: 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48  SNDMSG((hwnd), H
af10: 44 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 2c 20  DM_GETITEMRECT, 
af20: 28 57 50 41 52 41 4d 29 28 69 49 74 65 6d 29 2c  (WPARAM)(iItem),
af30: 20 28 4c 50 41 52 41 4d 29 28 6c 70 72 63 29 29   (LPARAM)(lprc))
af40: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
af50: 7b 20 48 44 4d 5f 53 45 54 49 4d 41 47 45 4c 49  { HDM_SETIMAGELI
af60: 53 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b  ST = HDM_FIRST +
af70: 20 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   8 }..// #define
af80: 20 48 65 61 64 65 72 5f 53 65 74 49 6d 61 67 65   Header_SetImage
af90: 4c 69 73 74 28 68 77 6e 64 2c 20 68 69 6d 6c 29  List(hwnd, himl)
afa0: 20 28 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44   (HIMAGELIST)SND
afb0: 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f  MSG((hwnd), HDM_
afc0: 53 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 30 2c  SETIMAGELIST, 0,
afd0: 20 28 4c 50 41 52 41 4d 29 28 68 69 6d 6c 29 29   (LPARAM)(himl))
afe0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
aff0: 7b 20 48 44 4d 5f 47 45 54 49 4d 41 47 45 4c 49  { HDM_GETIMAGELI
b000: 53 54 20 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b  ST = HDM_FIRST +
b010: 20 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   9 }..// #define
b020: 20 48 65 61 64 65 72 5f 47 65 74 49 6d 61 67 65   Header_GetImage
b030: 4c 69 73 74 28 68 77 6e 64 29 20 28 48 49 4d 41  List(hwnd) (HIMA
b040: 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 68  GELIST)SNDMSG((h
b050: 77 6e 64 29 2c 20 48 44 4d 5f 47 45 54 49 4d 41  wnd), HDM_GETIMA
b060: 47 45 4c 49 53 54 2c 20 30 2c 20 30 29 0d 0a 0d  GELIST, 0, 0)...
b070: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
b080: 44 4d 5f 4f 52 44 45 52 54 4f 49 4e 44 45 58 20  DM_ORDERTOINDEX 
b090: 3d 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 35  = HDM_FIRST + 15
b0a0: 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48   }..// #define H
b0b0: 65 61 64 65 72 5f 4f 72 64 65 72 54 6f 49 6e 64  eader_OrderToInd
b0c0: 65 78 28 68 77 6e 64 2c 20 69 29 20 28 69 6e 74  ex(hwnd, i) (int
b0d0: 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
b0e0: 48 44 4d 5f 4f 52 44 45 52 54 4f 49 4e 44 45 58  HDM_ORDERTOINDEX
b0f0: 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c 20 30  , (WPARAM)(i), 0
b100: 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
b110: 20 7b 20 48 44 4d 5f 43 52 45 41 54 45 44 52 41   { HDM_CREATEDRA
b120: 47 49 4d 41 47 45 20 3d 20 48 44 4d 5f 46 49 52  GIMAGE = HDM_FIR
b130: 53 54 20 2b 20 31 36 20 7d 0d 0a 2f 2f 20 23 64  ST + 16 }..// #d
b140: 65 66 69 6e 65 20 48 65 61 64 65 72 5f 43 72 65  efine Header_Cre
b150: 61 74 65 44 72 61 67 49 6d 61 67 65 28 68 77 6e  ateDragImage(hwn
b160: 64 2c 20 69 29 20 28 48 49 4d 41 47 45 4c 49 53  d, i) (HIMAGELIS
b170: 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  T)SNDMSG((hwnd),
b180: 20 48 44 4d 5f 43 52 45 41 54 45 44 52 41 47 49   HDM_CREATEDRAGI
b190: 4d 41 47 45 2c 20 28 57 50 41 52 41 4d 29 28 69  MAGE, (WPARAM)(i
b1a0: 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ), 0)....enum : 
b1b0: 75 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54 4f 52  uint { HDM_GETOR
b1c0: 44 45 52 41 52 52 41 59 20 3d 20 48 44 4d 5f 46  DERARRAY = HDM_F
b1d0: 49 52 53 54 20 2b 20 31 37 20 7d 0d 0a 2f 2f 20  IRST + 17 }..// 
b1e0: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 47  #define Header_G
b1f0: 65 74 4f 72 64 65 72 41 72 72 61 79 28 68 77 6e  etOrderArray(hwn
b200: 64 2c 20 69 43 6f 75 6e 74 2c 20 6c 70 69 29 20  d, iCount, lpi) 
b210: 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
b220: 6e 64 29 2c 20 48 44 4d 5f 47 45 54 4f 52 44 45  nd), HDM_GETORDE
b230: 52 41 52 52 41 59 2c 20 28 57 50 41 52 41 4d 29  RARRAY, (WPARAM)
b240: 28 69 43 6f 75 6e 74 29 2c 20 28 4c 50 41 52 41  (iCount), (LPARA
b250: 4d 29 28 6c 70 69 29 29 0d 0a 0d 0a 65 6e 75 6d  M)(lpi))....enum
b260: 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 53 45   : uint { HDM_SE
b270: 54 4f 52 44 45 52 41 52 52 41 59 20 3d 20 48 44  TORDERARRAY = HD
b280: 4d 5f 46 49 52 53 54 20 2b 20 31 38 20 7d 0d 0a  M_FIRST + 18 }..
b290: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65  // #define Heade
b2a0: 72 5f 53 65 74 4f 72 64 65 72 41 72 72 61 79 28  r_SetOrderArray(
b2b0: 68 77 6e 64 2c 20 69 43 6f 75 6e 74 2c 20 6c 70  hwnd, iCount, lp
b2c0: 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  i) (BOOL)SNDMSG(
b2d0: 28 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 4f  (hwnd), HDM_SETO
b2e0: 52 44 45 52 41 52 52 41 59 2c 20 28 57 50 41 52  RDERARRAY, (WPAR
b2f0: 41 4d 29 28 69 43 6f 75 6e 74 29 2c 20 28 4c 50  AM)(iCount), (LP
b300: 41 52 41 4d 29 28 6c 70 69 29 29 0d 0a 0d 0a 65  ARAM)(lpi))....e
b310: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4d  num : uint { HDM
b320: 5f 53 45 54 48 4f 54 44 49 56 49 44 45 52 20 3d  _SETHOTDIVIDER =
b330: 20 48 44 4d 5f 46 49 52 53 54 20 2b 20 31 39 20   HDM_FIRST + 19 
b340: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65  }..// #define He
b350: 61 64 65 72 5f 53 65 74 48 6f 74 44 69 76 69 64  ader_SetHotDivid
b360: 65 72 28 68 77 6e 64 2c 20 66 50 6f 73 2c 20 64  er(hwnd, fPos, d
b370: 77 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28  w) (int)SNDMSG((
b380: 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 48 4f  hwnd), HDM_SETHO
b390: 54 44 49 56 49 44 45 52 2c 20 28 57 50 41 52 41  TDIVIDER, (WPARA
b3a0: 4d 29 28 66 50 6f 73 29 2c 20 28 4c 50 41 52 41  M)(fPos), (LPARA
b3b0: 4d 29 28 64 77 29 29 0d 0a 0d 0a 2f 2f 20 23 65  M)(dw))....// #e
b3c0: 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
b3d0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
b3e0: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
b3f0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29  32_IE >= 0x0500)
b400: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
b410: 7b 20 48 44 4d 5f 53 45 54 42 49 54 4d 41 50 4d  { HDM_SETBITMAPM
b420: 41 52 47 49 4e 20 3d 20 48 44 4d 5f 46 49 52 53  ARGIN = HDM_FIRS
b430: 54 20 2b 20 32 30 20 7d 0d 0a 2f 2f 20 23 64 65  T + 20 }..// #de
b440: 66 69 6e 65 20 48 65 61 64 65 72 5f 53 65 74 42  fine Header_SetB
b450: 69 74 6d 61 70 4d 61 72 67 69 6e 28 68 77 6e 64  itmapMargin(hwnd
b460: 2c 20 69 57 69 64 74 68 29 20 28 69 6e 74 29 53  , iWidth) (int)S
b470: 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44  NDMSG((hwnd), HD
b480: 4d 5f 53 45 54 42 49 54 4d 41 50 4d 41 52 47 49  M_SETBITMAPMARGI
b490: 4e 2c 20 28 57 50 41 52 41 4d 29 28 69 57 69 64  N, (WPARAM)(iWid
b4a0: 74 68 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  th), 0)....enum 
b4b0: 3a 20 75 69 6e 74 20 7b 20 48 44 4d 5f 47 45 54  : uint { HDM_GET
b4c0: 42 49 54 4d 41 50 4d 41 52 47 49 4e 20 3d 20 48  BITMAPMARGIN = H
b4d0: 44 4d 5f 46 49 52 53 54 20 2b 20 32 31 20 7d 0d  DM_FIRST + 21 }.
b4e0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64  .// #define Head
b4f0: 65 72 5f 47 65 74 42 69 74 6d 61 70 4d 61 72 67  er_GetBitmapMarg
b500: 69 6e 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e  in(hwnd) (int)SN
b510: 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44 4d  DMSG((hwnd), HDM
b520: 5f 47 45 54 42 49 54 4d 41 50 4d 41 52 47 49 4e  _GETBITMAPMARGIN
b530: 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e 64  , 0, 0)..// #end
b540: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  if....// #if (_W
b550: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
b560: 30 29 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45  0)..alias CCM_SE
b570: 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 48  TUNICODEFORMAT H
b580: 44 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52  DM_SETUNICODEFOR
b590: 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  MAT;..// #define
b5a0: 20 48 65 61 64 65 72 5f 53 65 74 55 6e 69 63 6f   Header_SetUnico
b5b0: 64 65 46 6f 72 6d 61 74 28 68 77 6e 64 2c 20 66  deFormat(hwnd, f
b5c0: 55 6e 69 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53  Unicode) (BOOL)S
b5d0: 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44  NDMSG((hwnd), HD
b5e0: 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_SETUNICODEFORM
b5f0: 41 54 2c 20 28 57 50 41 52 41 4d 29 28 66 55 6e  AT, (WPARAM)(fUn
b600: 69 63 6f 64 65 29 2c 20 30 29 0d 0a 0d 0a 61 6c  icode), 0)....al
b610: 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f  ias CCM_GETUNICO
b620: 44 45 46 4f 52 4d 41 54 20 48 44 4d 5f 47 45 54  DEFORMAT HDM_GET
b630: 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a  UNICODEFORMAT;..
b640: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65  // #define Heade
b650: 72 5f 47 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d  r_GetUnicodeForm
b660: 61 74 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53  at(hwnd) (BOOL)S
b670: 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 48 44  NDMSG((hwnd), HD
b680: 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_GETUNICODEFORM
b690: 41 54 2c 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 65  AT, 0, 0)..// #e
b6a0: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
b6b0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
b6c0: 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  500)..enum : uin
b6d0: 74 20 7b 20 48 44 4d 5f 53 45 54 46 49 4c 54 45  t { HDM_SETFILTE
b6e0: 52 43 48 41 4e 47 45 54 49 4d 45 4f 55 54 20 3d  RCHANGETIMEOUT =
b6f0: 20 48 44 4d 5f 46 49 52 53 54 2b 32 32 20 7d 0d   HDM_FIRST+22 }.
b700: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64  .// #define Head
b710: 65 72 5f 53 65 74 46 69 6c 74 65 72 43 68 61 6e  er_SetFilterChan
b720: 67 65 54 69 6d 65 6f 75 74 28 68 77 6e 64 2c 20  geTimeout(hwnd, 
b730: 69 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28  i) (int)SNDMSG((
b740: 68 77 6e 64 29 2c 20 48 44 4d 5f 53 45 54 46 49  hwnd), HDM_SETFI
b750: 4c 54 45 52 43 48 41 4e 47 45 54 49 4d 45 4f 55  LTERCHANGETIMEOU
b760: 54 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 69  T, 0, (LPARAM)(i
b770: 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
b780: 74 20 7b 20 48 44 4d 5f 45 44 49 54 46 49 4c 54  t { HDM_EDITFILT
b790: 45 52 20 3d 20 48 44 4d 5f 46 49 52 53 54 2b 32  ER = HDM_FIRST+2
b7a0: 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  3 }..// #define 
b7b0: 48 65 61 64 65 72 5f 45 64 69 74 46 69 6c 74 65  Header_EditFilte
b7c0: 72 28 68 77 6e 64 2c 20 69 2c 20 66 44 69 73 63  r(hwnd, i, fDisc
b7d0: 61 72 64 43 68 61 6e 67 65 73 29 20 28 69 6e 74  ardChanges) (int
b7e0: 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
b7f0: 48 44 4d 5f 45 44 49 54 46 49 4c 54 45 52 2c 20  HDM_EDITFILTER, 
b800: 28 57 50 41 52 41 4d 29 28 69 29 2c 20 4d 41 4b  (WPARAM)(i), MAK
b810: 45 4c 50 41 52 41 4d 28 66 44 69 73 63 61 72 64  ELPARAM(fDiscard
b820: 43 68 61 6e 67 65 73 2c 20 30 29 29 0d 0a 0d 0a  Changes, 0))....
b830: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
b840: 4d 5f 43 4c 45 41 52 46 49 4c 54 45 52 20 3d 20  M_CLEARFILTER = 
b850: 48 44 4d 5f 46 49 52 53 54 2b 32 34 20 7d 0d 0a  HDM_FIRST+24 }..
b860: 2f 2f 20 23 64 65 66 69 6e 65 20 48 65 61 64 65  // #define Heade
b870: 72 5f 43 6c 65 61 72 46 69 6c 74 65 72 28 68 77  r_ClearFilter(hw
b880: 6e 64 2c 20 69 29 20 28 69 6e 74 29 53 4e 44 4d  nd, i) (int)SNDM
b890: 53 47 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 43  SG((hwnd), HDM_C
b8a0: 4c 45 41 52 46 49 4c 54 45 52 2c 20 28 57 50 41  LEARFILTER, (WPA
b8b0: 52 41 4d 29 28 69 29 2c 20 30 29 0d 0a 2f 2f 20  RAM)(i), 0)..// 
b8c0: 23 64 65 66 69 6e 65 20 48 65 61 64 65 72 5f 43  #define Header_C
b8d0: 6c 65 61 72 41 6c 6c 46 69 6c 74 65 72 73 28 68  learAllFilters(h
b8e0: 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47  wnd) (int)SNDMSG
b8f0: 28 28 68 77 6e 64 29 2c 20 48 44 4d 5f 43 4c 45  ((hwnd), HDM_CLE
b900: 41 52 46 49 4c 54 45 52 2c 20 28 57 50 41 52 41  ARFILTER, (WPARA
b910: 4d 29 2d 31 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e  M)-1, 0)..// #en
b920: 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
b930: 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 43 48 41  nt { HDN_ITEMCHA
b940: 4e 47 49 4e 47 41 20 3d 20 48 44 4e 5f 46 49 52  NGINGA = HDN_FIR
b950: 53 54 2d 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  ST-0 }..enum : u
b960: 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 43 48  int { HDN_ITEMCH
b970: 41 4e 47 49 4e 47 57 20 3d 20 48 44 4e 5f 46 49  ANGINGW = HDN_FI
b980: 52 53 54 2d 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  RST-20 }..enum :
b990: 20 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d   uint { HDN_ITEM
b9a0: 43 48 41 4e 47 45 44 41 20 3d 20 48 44 4e 5f 46  CHANGEDA = HDN_F
b9b0: 49 52 53 54 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a  IRST-1 }..enum :
b9c0: 20 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d   uint { HDN_ITEM
b9d0: 43 48 41 4e 47 45 44 57 20 3d 20 48 44 4e 5f 46  CHANGEDW = HDN_F
b9e0: 49 52 53 54 2d 32 31 20 7d 0d 0a 65 6e 75 6d 20  IRST-21 }..enum 
b9f0: 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45  : uint { HDN_ITE
ba00: 4d 43 4c 49 43 4b 41 20 3d 20 48 44 4e 5f 46 49  MCLICKA = HDN_FI
ba10: 52 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  RST-2 }..enum : 
ba20: 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 43  uint { HDN_ITEMC
ba30: 4c 49 43 4b 57 20 3d 20 48 44 4e 5f 46 49 52 53  LICKW = HDN_FIRS
ba40: 54 2d 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  T-22 }..enum : u
ba50: 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 44 42  int { HDN_ITEMDB
ba60: 4c 43 4c 49 43 4b 41 20 3d 20 48 44 4e 5f 46 49  LCLICKA = HDN_FI
ba70: 52 53 54 2d 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  RST-3 }..enum : 
ba80: 75 69 6e 74 20 7b 20 48 44 4e 5f 49 54 45 4d 44  uint { HDN_ITEMD
ba90: 42 4c 43 4c 49 43 4b 57 20 3d 20 48 44 4e 5f 46  BLCLICKW = HDN_F
baa0: 49 52 53 54 2d 32 33 20 7d 0d 0a 65 6e 75 6d 20  IRST-23 }..enum 
bab0: 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f 44 49 56  : uint { HDN_DIV
bac0: 49 44 45 52 44 42 4c 43 4c 49 43 4b 41 20 3d 20  IDERDBLCLICKA = 
bad0: 48 44 4e 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65  HDN_FIRST-5 }..e
bae0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e  num : uint { HDN
baf0: 5f 44 49 56 49 44 45 52 44 42 4c 43 4c 49 43 4b  _DIVIDERDBLCLICK
bb00: 57 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 35  W = HDN_FIRST-25
bb10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bb20: 7b 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 43 4b  { HDN_BEGINTRACK
bb30: 41 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 36 20  A = HDN_FIRST-6 
bb40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
bb50: 20 48 44 4e 5f 42 45 47 49 4e 54 52 41 43 4b 57   HDN_BEGINTRACKW
bb60: 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 36 20   = HDN_FIRST-26 
bb70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
bb80: 20 48 44 4e 5f 45 4e 44 54 52 41 43 4b 41 20 3d   HDN_ENDTRACKA =
bb90: 20 48 44 4e 5f 46 49 52 53 54 2d 37 20 7d 0d 0a   HDN_FIRST-7 }..
bba0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
bbb0: 4e 5f 45 4e 44 54 52 41 43 4b 57 20 3d 20 48 44  N_ENDTRACKW = HD
bbc0: 4e 5f 46 49 52 53 54 2d 32 37 20 7d 0d 0a 65 6e  N_FIRST-27 }..en
bbd0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44 4e 5f  um : uint { HDN_
bbe0: 54 52 41 43 4b 41 20 3d 20 48 44 4e 5f 46 49 52  TRACKA = HDN_FIR
bbf0: 53 54 2d 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  ST-8 }..enum : u
bc00: 69 6e 74 20 7b 20 48 44 4e 5f 54 52 41 43 4b 57  int { HDN_TRACKW
bc10: 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 38 20   = HDN_FIRST-28 
bc20: 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
bc30: 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
bc40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
bc50: 44 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20  DN_GETDISPINFOA 
bc60: 3d 20 48 44 4e 5f 46 49 52 53 54 2d 39 20 7d 0d  = HDN_FIRST-9 }.
bc70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
bc80: 44 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57 20  DN_GETDISPINFOW 
bc90: 3d 20 48 44 4e 5f 46 49 52 53 54 2d 32 39 20 7d  = HDN_FIRST-29 }
bca0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
bcb0: 48 44 4e 5f 42 45 47 49 4e 44 52 41 47 20 3d 20  HDN_BEGINDRAG = 
bcc0: 48 44 4e 5f 46 49 52 53 54 2d 31 30 20 7d 0d 0a  HDN_FIRST-10 }..
bcd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 44  enum : uint { HD
bce0: 4e 5f 45 4e 44 44 52 41 47 20 3d 20 48 44 4e 5f  N_ENDDRAG = HDN_
bcf0: 46 49 52 53 54 2d 31 31 20 7d 0d 0a 2f 2f 20 23  FIRST-11 }..// #
bd00: 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f  endif..// #if (_
bd10: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
bd20: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
bd30: 20 7b 20 48 44 4e 5f 46 49 4c 54 45 52 43 48 41   { HDN_FILTERCHA
bd40: 4e 47 45 20 3d 20 48 44 4e 5f 46 49 52 53 54 2d  NGE = HDN_FIRST-
bd50: 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  12 }..enum : uin
bd60: 74 20 7b 20 48 44 4e 5f 46 49 4c 54 45 52 42 54  t { HDN_FILTERBT
bd70: 4e 43 4c 49 43 4b 20 3d 20 48 44 4e 5f 46 49 52  NCLICK = HDN_FIR
bd80: 53 54 2d 31 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64  ST-13 }..// #end
bd90: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  if....// #ifdef 
bda0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48  UNICODE..alias H
bdb0: 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e 47 57  DN_ITEMCHANGINGW
bdc0: 20 48 44 4e 5f 49 54 45 4d 43 48 41 4e 47 49 4e   HDN_ITEMCHANGIN
bdd0: 47 3b 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 49 54  G;..alias HDN_IT
bde0: 45 4d 43 48 41 4e 47 45 44 57 20 48 44 4e 5f 49  EMCHANGEDW HDN_I
bdf0: 54 45 4d 43 48 41 4e 47 45 44 3b 0d 0a 61 6c 69  TEMCHANGED;..ali
be00: 61 73 20 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b  as HDN_ITEMCLICK
be10: 57 20 48 44 4e 5f 49 54 45 4d 43 4c 49 43 4b 3b  W HDN_ITEMCLICK;
be20: 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 49 54 45 4d  ..alias HDN_ITEM
be30: 44 42 4c 43 4c 49 43 4b 57 20 48 44 4e 5f 49 54  DBLCLICKW HDN_IT
be40: 45 4d 44 42 4c 43 4c 49 43 4b 3b 0d 0a 61 6c 69  EMDBLCLICK;..ali
be50: 61 73 20 48 44 4e 5f 44 49 56 49 44 45 52 44 42  as HDN_DIVIDERDB
be60: 4c 43 4c 49 43 4b 57 20 48 44 4e 5f 44 49 56 49  LCLICKW HDN_DIVI
be70: 44 45 52 44 42 4c 43 4c 49 43 4b 3b 0d 0a 61 6c  DERDBLCLICK;..al
be80: 69 61 73 20 48 44 4e 5f 42 45 47 49 4e 54 52 41  ias HDN_BEGINTRA
be90: 43 4b 57 20 48 44 4e 5f 42 45 47 49 4e 54 52 41  CKW HDN_BEGINTRA
bea0: 43 4b 3b 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 45  CK;..alias HDN_E
beb0: 4e 44 54 52 41 43 4b 57 20 48 44 4e 5f 45 4e 44  NDTRACKW HDN_END
bec0: 54 52 41 43 4b 3b 0d 0a 61 6c 69 61 73 20 48 44  TRACK;..alias HD
bed0: 4e 5f 54 52 41 43 4b 57 20 48 44 4e 5f 54 52 41  N_TRACKW HDN_TRA
bee0: 43 4b 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  CK;..// #if (_WI
bef0: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
bf00: 29 0d 0a 61 6c 69 61 73 20 48 44 4e 5f 47 45 54  )..alias HDN_GET
bf10: 44 49 53 50 49 4e 46 4f 57 20 48 44 4e 5f 47 45  DISPINFOW HDN_GE
bf20: 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23  TDISPINFO;..// #
bf30: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c 73 65 0d  endif..// #else.
bf40: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
bf50: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
bf60: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
bf70: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
bf80: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20  // #.....// #if 
bf90: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
bfa0: 30 33 30 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  0300)..// #.....
bfb0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65  // #endif..// #e
bfc0: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
bfd0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
bfe0: 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e 4d 48 45  300)..alias NMHE
bff0: 41 44 45 52 41 20 48 44 5f 4e 4f 54 49 46 59 41  ADERA HD_NOTIFYA
c000: 3b 0d 0a 61 6c 69 61 73 20 4e 4d 48 45 41 44 45  ;..alias NMHEADE
c010: 52 57 20 48 44 5f 4e 4f 54 49 46 59 57 3b 0d 0a  RW HD_NOTIFYW;..
c020: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
c030: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
c040: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
c050: 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20 4e   #endif..alias N
c060: 4d 48 45 41 44 45 52 20 48 44 5f 4e 4f 54 49 46  MHEADER HD_NOTIF
c070: 59 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  Y;....struct tag
c080: 4e 4d 48 45 41 44 45 52 41 20 7b 0d 0a 20 20 4e  NMHEADERA {..  N
c090: 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74  MHDR hdr;..  int
c0a0: 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 20 69   iItem;..  int i
c0b0: 42 75 74 74 6f 6e 3b 0d 0a 20 20 48 44 49 54 45  Button;..  HDITE
c0c0: 4d 41 20 2a 70 69 74 65 6d 3b 0d 0a 7d 0d 0a 61  MA *pitem;..}..a
c0d0: 6c 69 61 73 20 74 61 67 4e 4d 48 45 41 44 45 52  lias tagNMHEADER
c0e0: 41 20 4e 4d 48 45 41 44 45 52 41 3b 0d 0a 61 6c  A NMHEADERA;..al
c0f0: 69 61 73 20 74 61 67 4e 4d 48 45 41 44 45 52 41  ias tagNMHEADERA
c100: 2a 20 4c 50 4e 4d 48 45 41 44 45 52 41 3b 0d 0a  * LPNMHEADERA;..
c110: 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 48 45  ..struct tagNMHE
c120: 41 44 45 52 57 20 7b 0d 0a 20 20 4e 4d 48 44 52  ADERW {..  NMHDR
c130: 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74   hdr;..  int iIt
c140: 65 6d 3b 0d 0a 20 20 69 6e 74 20 69 42 75 74 74  em;..  int iButt
c150: 6f 6e 3b 0d 0a 20 20 48 44 49 54 45 4d 57 20 2a  on;..  HDITEMW *
c160: 70 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  pitem;..}..alias
c170: 20 74 61 67 4e 4d 48 45 41 44 45 52 57 20 4e 4d   tagNMHEADERW NM
c180: 48 45 41 44 45 52 57 3b 0d 0a 61 6c 69 61 73 20  HEADERW;..alias 
c190: 74 61 67 4e 4d 48 45 41 44 45 52 57 2a 20 4c 50  tagNMHEADERW* LP
c1a0: 4e 4d 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 2f 2f  NMHEADERW;....//
c1b0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
c1c0: 0a 61 6c 69 61 73 20 4e 4d 48 45 41 44 45 52 57  .alias NMHEADERW
c1d0: 20 4e 4d 48 45 41 44 45 52 3b 0d 0a 61 6c 69 61   NMHEADER;..alia
c1e0: 73 20 4c 50 4e 4d 48 45 41 44 45 52 57 20 4c 50  s LPNMHEADERW LP
c1f0: 4e 4d 48 45 41 44 45 52 3b 0d 0a 2f 2f 20 23 65  NMHEADER;..// #e
c200: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
c210: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
c220: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
c230: 48 44 44 49 53 50 49 4e 46 4f 57 20 7b 0d 0a 20  HDDISPINFOW {.. 
c240: 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69   NMHDR hdr;..  i
c250: 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 55 49 4e  nt iItem;..  UIN
c260: 54 20 6d 61 73 6b 3b 0d 0a 20 20 4c 50 57 53 54  T mask;..  LPWST
c270: 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e  R pszText;..  in
c280: 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20  t cchTextMax;.. 
c290: 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20   int iImage;..  
c2a0: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
c2b0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48 44  }..alias tagNMHD
c2c0: 44 49 53 50 49 4e 46 4f 57 20 4e 4d 48 44 44 49  DISPINFOW NMHDDI
c2d0: 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20  SPINFOW;..alias 
c2e0: 74 61 67 4e 4d 48 44 44 49 53 50 49 4e 46 4f 57  tagNMHDDISPINFOW
c2f0: 2a 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46 4f  * LPNMHDDISPINFO
c300: 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  W;....struct tag
c310: 4e 4d 48 44 44 49 53 50 49 4e 46 4f 41 20 7b 0d  NMHDDISPINFOA {.
c320: 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20  .  NMHDR hdr;.. 
c330: 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 55   int iItem;..  U
c340: 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 4c 50 53  INT mask;..  LPS
c350: 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69  TR pszText;..  i
c360: 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a  nt cchTextMax;..
c370: 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20    int iImage;.. 
c380: 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
c390: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 48  .}..alias tagNMH
c3a0: 44 44 49 53 50 49 4e 46 4f 41 20 4e 4d 48 44 44  DDISPINFOA NMHDD
c3b0: 49 53 50 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73  ISPINFOA;..alias
c3c0: 20 74 61 67 4e 4d 48 44 44 49 53 50 49 4e 46 4f   tagNMHDDISPINFO
c3d0: 41 2a 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46  A* LPNMHDDISPINF
c3e0: 4f 41 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  OA;....// #ifdef
c3f0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
c400: 4e 4d 48 44 44 49 53 50 49 4e 46 4f 57 20 4e 4d  NMHDDISPINFOW NM
c410: 48 44 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69  HDDISPINFO;..ali
c420: 61 73 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46  as LPNMHDDISPINF
c430: 4f 57 20 4c 50 4e 4d 48 44 44 49 53 50 49 4e 46  OW LPNMHDDISPINF
c440: 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  O;..// #else..//
c450: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
c460: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
c470: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
c480: 3d 20 30 78 30 35 30 30 29 0d 0a 73 74 72 75 63  = 0x0500)..struc
c490: 74 20 74 61 67 4e 4d 48 44 46 49 4c 54 45 52 42  t tagNMHDFILTERB
c4a0: 54 4e 43 4c 49 43 4b 20 7b 0d 0a 20 20 4e 4d 48  TNCLICK {..  NMH
c4b0: 44 52 20 68 64 72 3b 0d 0a 20 20 49 4e 54 20 69  DR hdr;..  INT i
c4c0: 49 74 65 6d 3b 0d 0a 20 20 52 45 43 54 20 72 63  Item;..  RECT rc
c4d0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e  ;..}..alias tagN
c4e0: 4d 48 44 46 49 4c 54 45 52 42 54 4e 43 4c 49 43  MHDFILTERBTNCLIC
c4f0: 4b 20 4e 4d 48 44 46 49 4c 54 45 52 42 54 4e 43  K NMHDFILTERBTNC
c500: 4c 49 43 4b 3b 0d 0a 61 6c 69 61 73 20 74 61 67  LICK;..alias tag
c510: 4e 4d 48 44 46 49 4c 54 45 52 42 54 4e 43 4c 49  NMHDFILTERBTNCLI
c520: 43 4b 2a 20 4c 50 4e 4d 48 44 46 49 4c 54 45 52  CK* LPNMHDFILTER
c530: 42 54 4e 43 4c 49 43 4b 3b 0d 0a 0d 0a 2f 2f 20  BTNCLICK;....// 
c540: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
c550: 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f 48 45  dif      // NOHE
c560: 41 44 45 52 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ADER....// #ifnd
c570: 65 66 20 4e 4f 54 4f 4f 4c 42 41 52 0d 0a 0d 0a  ef NOTOOLBAR....
c580: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
c590: 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20  ..const wchar[] 
c5a0: 54 4f 4f 4c 42 41 52 43 4c 41 53 53 4e 41 4d 45  TOOLBARCLASSNAME
c5b0: 57 20 3d 20 22 54 6f 6f 6c 62 61 72 57 69 6e 64  W = "ToolbarWind
c5c0: 6f 77 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 63 68  ow32";..const ch
c5d0: 61 72 5b 5d 20 54 4f 4f 4c 42 41 52 43 4c 41 53  ar[] TOOLBARCLAS
c5e0: 53 4e 41 4d 45 41 20 3d 20 22 54 6f 6f 6c 62 61  SNAMEA = "Toolba
c5f0: 72 57 69 6e 64 6f 77 33 32 22 3b 0d 0a 0d 0a 2f  rWindow32";..../
c600: 2f 20 23 69 66 64 65 66 20 20 55 4e 49 43 4f 44  / #ifdef  UNICOD
c610: 45 0d 0a 61 6c 69 61 73 20 54 4f 4f 4c 42 41 52  E..alias TOOLBAR
c620: 43 4c 41 53 53 4e 41 4d 45 57 20 54 4f 4f 4c 42  CLASSNAMEW TOOLB
c630: 41 52 43 4c 41 53 53 4e 41 4d 45 3b 0d 0a 2f 2f  ARCLASSNAME;..//
c640: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
c650: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
c660: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
c670: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
c680: 72 75 63 74 20 5f 54 42 42 55 54 54 4f 4e 20 7b  ruct _TBBUTTON {
c690: 0d 0a 20 20 69 6e 74 20 69 42 69 74 6d 61 70 3b  ..  int iBitmap;
c6a0: 0d 0a 20 20 69 6e 74 20 69 64 43 6f 6d 6d 61 6e  ..  int idComman
c6b0: 64 3b 0d 0a 20 20 42 59 54 45 20 66 73 53 74 61  d;..  BYTE fsSta
c6c0: 74 65 3b 0d 0a 20 20 42 59 54 45 20 66 73 53 74  te;..  BYTE fsSt
c6d0: 79 6c 65 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  yle;..// #ifdef 
c6e0: 5f 57 49 4e 36 34 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  _WIN64..// .....
c6f0: 2f 2f 20 23 65 6c 69 66 20 64 65 66 69 6e 65 64  // #elif defined
c700: 28 5f 57 49 4e 33 32 29 0d 0a 20 20 42 59 54 45  (_WIN32)..  BYTE
c710: 20 62 52 65 73 65 72 76 65 64 5b 32 5d 3b 0d 0a   bReserved[2];..
c720: 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 44 57 4f  // #endif..  DWO
c730: 52 44 5f 50 54 52 20 64 77 44 61 74 61 3b 0d 0a  RD_PTR dwData;..
c740: 20 20 49 4e 54 5f 50 54 52 20 69 53 74 72 69 6e    INT_PTR iStrin
c750: 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 42  g;..}..alias _TB
c760: 42 55 54 54 4f 4e 20 54 42 42 55 54 54 4f 4e 3b  BUTTON TBBUTTON;
c770: 0d 0a 61 6c 69 61 73 20 5f 54 42 42 55 54 54 4f  ..alias _TBBUTTO
c780: 4e 2a 20 50 54 42 42 55 54 54 4f 4e 3b 0d 0a 61  N* PTBBUTTON;..a
c790: 6c 69 61 73 20 5f 54 42 42 55 54 54 4f 4e 2a 20  lias _TBBUTTON* 
c7a0: 4c 50 54 42 42 55 54 54 4f 4e 3b 0d 0a 0d 0a 61  LPTBBUTTON;....a
c7b0: 6c 69 61 73 20 54 42 42 55 54 54 4f 4e 2a 20 4c  lias TBBUTTON* L
c7c0: 50 43 54 42 42 55 54 54 4f 4e 3b 0d 0a 0d 0a 73  PCTBBUTTON;....s
c7d0: 74 72 75 63 74 20 5f 43 4f 4c 4f 52 4d 41 50 20  truct _COLORMAP 
c7e0: 7b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 66 72  {..  COLORREF fr
c7f0: 6f 6d 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20  om;..  COLORREF 
c800: 74 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 43  to;..}..alias _C
c810: 4f 4c 4f 52 4d 41 50 20 43 4f 4c 4f 52 4d 41 50  OLORMAP COLORMAP
c820: 3b 0d 0a 61 6c 69 61 73 20 5f 43 4f 4c 4f 52 4d  ;..alias _COLORM
c830: 41 50 2a 20 4c 50 43 4f 4c 4f 52 4d 41 50 3b 0d  AP* LPCOLORMAP;.
c840: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
c850: 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 43  s) export HWND C
c860: 72 65 61 74 65 54 6f 6f 6c 62 61 72 45 78 28 48  reateToolbarEx(H
c870: 57 4e 44 20 68 77 6e 64 2c 20 44 57 4f 52 44 20  WND hwnd, DWORD 
c880: 77 73 2c 20 55 49 4e 54 20 77 49 44 2c 20 69 6e  ws, UINT wID, in
c890: 74 20 6e 42 69 74 6d 61 70 73 2c 0d 0a 20 20 48  t nBitmaps,..  H
c8a0: 49 4e 53 54 41 4e 43 45 20 68 42 4d 49 6e 73 74  INSTANCE hBMInst
c8b0: 2c 20 55 49 4e 54 5f 50 54 52 20 77 42 4d 49 44  , UINT_PTR wBMID
c8c0: 2c 20 4c 50 43 54 42 42 55 54 54 4f 4e 20 6c 70  , LPCTBBUTTON lp
c8d0: 42 75 74 74 6f 6e 73 2c 0d 0a 20 20 69 6e 74 20  Buttons,..  int 
c8e0: 69 4e 75 6d 42 75 74 74 6f 6e 73 2c 20 69 6e 74  iNumButtons, int
c8f0: 20 64 78 42 75 74 74 6f 6e 2c 20 69 6e 74 20 64   dxButton, int d
c900: 79 42 75 74 74 6f 6e 2c 0d 0a 20 20 69 6e 74 20  yButton,..  int 
c910: 64 78 42 69 74 6d 61 70 2c 20 69 6e 74 20 64 79  dxBitmap, int dy
c920: 42 69 74 6d 61 70 2c 20 55 49 4e 54 20 75 53 74  Bitmap, UINT uSt
c930: 72 75 63 74 53 69 7a 65 29 3b 0d 0a 0d 0a 65 78  ructSize);....ex
c940: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
c950: 70 6f 72 74 20 48 42 49 54 4d 41 50 20 43 72 65  port HBITMAP Cre
c960: 61 74 65 4d 61 70 70 65 64 42 69 74 6d 61 70 28  ateMappedBitmap(
c970: 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61  HINSTANCE hInsta
c980: 6e 63 65 2c 20 49 4e 54 5f 50 54 52 20 69 64 42  nce, INT_PTR idB
c990: 69 74 6d 61 70 2c 0d 0a 20 20 55 49 4e 54 20 77  itmap,..  UINT w
c9a0: 46 6c 61 67 73 2c 20 4c 50 43 4f 4c 4f 52 4d 41  Flags, LPCOLORMA
c9b0: 50 20 6c 70 43 6f 6c 6f 72 4d 61 70 2c 0d 0a 20  P lpColorMap,.. 
c9c0: 20 69 6e 74 20 69 4e 75 6d 4d 61 70 73 29 3b 0d   int iNumMaps);.
c9d0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
c9e0: 20 43 4d 42 5f 4d 41 53 4b 45 44 20 3d 20 30 78   CMB_MASKED = 0x
c9f0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
ca00: 74 20 7b 20 54 42 53 54 41 54 45 5f 43 48 45 43  t { TBSTATE_CHEC
ca10: 4b 45 44 20 3d 20 30 78 30 31 20 7d 0d 0a 65 6e  KED = 0x01 }..en
ca20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54  um : uint { TBST
ca30: 41 54 45 5f 50 52 45 53 53 45 44 20 3d 20 30 78  ATE_PRESSED = 0x
ca40: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
ca50: 74 20 7b 20 54 42 53 54 41 54 45 5f 45 4e 41 42  t { TBSTATE_ENAB
ca60: 4c 45 44 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e  LED = 0x04 }..en
ca70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54  um : uint { TBST
ca80: 41 54 45 5f 48 49 44 44 45 4e 20 3d 20 30 78 30  ATE_HIDDEN = 0x0
ca90: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
caa0: 20 7b 20 54 42 53 54 41 54 45 5f 49 4e 44 45 54   { TBSTATE_INDET
cab0: 45 52 4d 49 4e 41 54 45 20 3d 20 30 78 31 30 20  ERMINATE = 0x10 
cac0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
cad0: 20 54 42 53 54 41 54 45 5f 57 52 41 50 20 3d 20   TBSTATE_WRAP = 
cae0: 30 78 32 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  0x20 }..// #if (
caf0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
cb00: 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  300)..enum : uin
cb10: 74 20 7b 20 54 42 53 54 41 54 45 5f 45 4c 4c 49  t { TBSTATE_ELLI
cb20: 50 53 45 53 20 3d 20 30 78 34 30 20 7d 0d 0a 2f  PSES = 0x40 }../
cb30: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66  / #endif..// #if
cb40: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
cb50: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0400)..enum : u
cb60: 69 6e 74 20 7b 20 54 42 53 54 41 54 45 5f 4d 41  int { TBSTATE_MA
cb70: 52 4b 45 44 20 3d 20 30 78 38 30 20 7d 0d 0a 2f  RKED = 0x80 }../
cb80: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
cb90: 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c   : uint { TBSTYL
cba0: 45 5f 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30  E_BUTTON = 0x000
cbb0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
cbc0: 20 7b 20 54 42 53 54 59 4c 45 5f 53 45 50 20 3d   { TBSTYLE_SEP =
cbd0: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
cbe0: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45  : uint { TBSTYLE
cbf0: 5f 43 48 45 43 4b 20 3d 20 30 78 30 30 30 32 20  _CHECK = 0x0002 
cc00: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
cc10: 20 54 42 53 54 59 4c 45 5f 47 52 4f 55 50 20 3d   TBSTYLE_GROUP =
cc20: 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
cc30: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45  : uint { TBSTYLE
cc40: 5f 43 48 45 43 4b 47 52 4f 55 50 20 3d 20 54 42  _CHECKGROUP = TB
cc50: 53 54 59 4c 45 5f 47 52 4f 55 50 20 7c 20 54 42  STYLE_GROUP | TB
cc60: 53 54 59 4c 45 5f 43 48 45 43 4b 20 7d 0d 0a 2f  STYLE_CHECK }../
cc70: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
cc80: 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
cc90: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59  m : uint { TBSTY
cca0: 4c 45 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 30 78  LE_DROPDOWN = 0x
ccb0: 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0008 }..// #endi
ccc0: 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  f..// #if (_WIN3
ccd0: 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
cce0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
ccf0: 42 53 54 59 4c 45 5f 41 55 54 4f 53 49 5a 45 20  BSTYLE_AUTOSIZE 
cd00: 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
cd10: 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c   : uint { TBSTYL
cd20: 45 5f 4e 4f 50 52 45 46 49 58 20 3d 20 30 78 30  E_NOPREFIX = 0x0
cd30: 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  020 }..// #endif
cd40: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
cd50: 7b 20 54 42 53 54 59 4c 45 5f 54 4f 4f 4c 54 49  { TBSTYLE_TOOLTI
cd60: 50 53 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65  PS = 0x0100 }..e
cd70: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
cd80: 54 59 4c 45 5f 57 52 41 50 41 42 4c 45 20 3d 20  TYLE_WRAPABLE = 
cd90: 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0200 }..enum :
cda0: 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f   uint { TBSTYLE_
cdb0: 41 4c 54 44 52 41 47 20 3d 20 30 78 30 34 30 30  ALTDRAG = 0x0400
cdc0: 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e   }..// #if (_WIN
cdd0: 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
cde0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
cdf0: 54 42 53 54 59 4c 45 5f 46 4c 41 54 20 3d 20 30  TBSTYLE_FLAT = 0
ce00: 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0800 }..enum : 
ce10: 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f 4c  uint { TBSTYLE_L
ce20: 49 53 54 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a  IST = 0x1000 }..
ce30: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
ce40: 53 54 59 4c 45 5f 43 55 53 54 4f 4d 45 52 41 53  STYLE_CUSTOMERAS
ce50: 45 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 2f 2f  E = 0x2000 }..//
ce60: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20   #endif..// #if 
ce70: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
ce80: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
ce90: 6e 74 20 7b 20 54 42 53 54 59 4c 45 5f 52 45 47  nt { TBSTYLE_REG
cea0: 49 53 54 45 52 44 52 4f 50 20 3d 20 30 78 34 30  ISTERDROP = 0x40
ceb0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
cec0: 74 20 7b 20 54 42 53 54 59 4c 45 5f 54 52 41 4e  t { TBSTYLE_TRAN
ced0: 53 50 41 52 45 4e 54 20 3d 20 30 78 38 30 30 30  SPARENT = 0x8000
cee0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
cef0: 7b 20 54 42 53 54 59 4c 45 5f 45 58 5f 44 52 41  { TBSTYLE_EX_DRA
cf00: 57 44 44 41 52 52 4f 57 53 20 3d 20 30 78 30 30  WDDARROWS = 0x00
cf10: 30 30 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 65 6e  000001 }..// #en
cf20: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  dif....// #if (_
cf30: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
cf40: 30 30 29 0d 0a 61 6c 69 61 73 20 54 42 53 54 59  00)..alias TBSTY
cf50: 4c 45 5f 42 55 54 54 4f 4e 20 42 54 4e 53 5f 42  LE_BUTTON BTNS_B
cf60: 55 54 54 4f 4e 3b 0d 0a 61 6c 69 61 73 20 54 42  UTTON;..alias TB
cf70: 53 54 59 4c 45 5f 53 45 50 20 42 54 4e 53 5f 53  STYLE_SEP BTNS_S
cf80: 45 50 3b 0d 0a 61 6c 69 61 73 20 54 42 53 54 59  EP;..alias TBSTY
cf90: 4c 45 5f 43 48 45 43 4b 20 42 54 4e 53 5f 43 48  LE_CHECK BTNS_CH
cfa0: 45 43 4b 3b 0d 0a 61 6c 69 61 73 20 54 42 53 54  ECK;..alias TBST
cfb0: 59 4c 45 5f 47 52 4f 55 50 20 42 54 4e 53 5f 47  YLE_GROUP BTNS_G
cfc0: 52 4f 55 50 3b 0d 0a 61 6c 69 61 73 20 54 42 53  ROUP;..alias TBS
cfd0: 54 59 4c 45 5f 43 48 45 43 4b 47 52 4f 55 50 20  TYLE_CHECKGROUP 
cfe0: 42 54 4e 53 5f 43 48 45 43 4b 47 52 4f 55 50 3b  BTNS_CHECKGROUP;
cff0: 0d 0a 61 6c 69 61 73 20 54 42 53 54 59 4c 45 5f  ..alias TBSTYLE_
d000: 44 52 4f 50 44 4f 57 4e 20 42 54 4e 53 5f 44 52  DROPDOWN BTNS_DR
d010: 4f 50 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 54  OPDOWN;..alias T
d020: 42 53 54 59 4c 45 5f 41 55 54 4f 53 49 5a 45 20  BSTYLE_AUTOSIZE 
d030: 42 54 4e 53 5f 41 55 54 4f 53 49 5a 45 3b 0d 0a  BTNS_AUTOSIZE;..
d040: 61 6c 69 61 73 20 54 42 53 54 59 4c 45 5f 4e 4f  alias TBSTYLE_NO
d050: 50 52 45 46 49 58 20 42 54 4e 53 5f 4e 4f 50 52  PREFIX BTNS_NOPR
d060: 45 46 49 58 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f  EFIX;..// #if (_
d070: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
d080: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  01)..enum : uint
d090: 20 7b 20 42 54 4e 53 5f 53 48 4f 57 54 45 58 54   { BTNS_SHOWTEXT
d0a0: 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 2f 2f 20   = 0x0040 }..// 
d0b0: 23 65 6e 64 69 66 20 20 2f 2f 20 30 78 30 35 30  #endif  // 0x050
d0c0: 31 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  1..enum : uint {
d0d0: 20 42 54 4e 53 5f 57 48 4f 4c 45 44 52 4f 50 44   BTNS_WHOLEDROPD
d0e0: 4f 57 4e 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a  OWN = 0x0080 }..
d0f0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
d100: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
d110: 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
d120: 3a 20 75 69 6e 74 20 7b 20 54 42 53 54 59 4c 45  : uint { TBSTYLE
d130: 5f 45 58 5f 4d 49 58 45 44 42 55 54 54 4f 4e 53  _EX_MIXEDBUTTONS
d140: 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
d150: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
d160: 42 53 54 59 4c 45 5f 45 58 5f 48 49 44 45 43 4c  BSTYLE_EX_HIDECL
d170: 49 50 50 45 44 42 55 54 54 4f 4e 53 20 3d 20 30  IPPEDBUTTONS = 0
d180: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 2f 2f 20  x00000010 }..// 
d190: 23 65 6e 64 69 66 20 20 2f 2f 20 30 78 30 35 30  #endif  // 0x050
d1a0: 31 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  1....// #if (_WI
d1b0: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35  N32_WINNT >= 0x5
d1c0: 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  01)..enum : uint
d1d0: 20 7b 20 54 42 53 54 59 4c 45 5f 45 58 5f 44 4f   { TBSTYLE_EX_DO
d1e0: 55 42 4c 45 42 55 46 46 45 52 20 3d 20 30 78 30  UBLEBUFFER = 0x0
d1f0: 30 30 30 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65  0000080 }..// #e
d200: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
d210: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
d220: 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  400)....struct _
d230: 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41 57 20 7b  NMTBCUSTOMDRAW {
d240: 0d 0a 20 20 4e 4d 43 55 53 54 4f 4d 44 52 41 57  ..  NMCUSTOMDRAW
d250: 20 6e 6d 63 64 3b 0d 0a 20 20 48 42 52 55 53 48   nmcd;..  HBRUSH
d260: 20 68 62 72 4d 6f 6e 6f 44 69 74 68 65 72 3b 0d   hbrMonoDither;.
d270: 0a 20 20 48 42 52 55 53 48 20 68 62 72 4c 69 6e  .  HBRUSH hbrLin
d280: 65 73 3b 0d 0a 20 20 48 50 45 4e 20 68 70 65 6e  es;..  HPEN hpen
d290: 4c 69 6e 65 73 3b 0d 0a 0d 0a 20 20 43 4f 4c 4f  Lines;....  COLO
d2a0: 52 52 45 46 20 63 6c 72 54 65 78 74 3b 0d 0a 20  RREF clrText;.. 
d2b0: 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 4d 61 72   COLORREF clrMar
d2c0: 6b 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63  k;..  COLORREF c
d2d0: 6c 72 54 65 78 74 48 69 67 68 6c 69 67 68 74 3b  lrTextHighlight;
d2e0: 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72  ..  COLORREF clr
d2f0: 42 74 6e 46 61 63 65 3b 0d 0a 20 20 43 4f 4c 4f  BtnFace;..  COLO
d300: 52 52 45 46 20 63 6c 72 42 74 6e 48 69 67 68 6c  RREF clrBtnHighl
d310: 69 67 68 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45  ight;..  COLORRE
d320: 46 20 63 6c 72 48 69 67 68 6c 69 67 68 74 48 6f  F clrHighlightHo
d330: 74 54 72 61 63 6b 3b 0d 0a 0d 0a 20 20 52 45 43  tTrack;....  REC
d340: 54 20 72 63 54 65 78 74 3b 0d 0a 0d 0a 20 20 69  T rcText;....  i
d350: 6e 74 20 6e 53 74 72 69 6e 67 42 6b 4d 6f 64 65  nt nStringBkMode
d360: 3b 0d 0a 20 20 69 6e 74 20 6e 48 4c 53 74 72 69  ;..  int nHLStri
d370: 6e 67 42 6b 4d 6f 64 65 3b 0d 0a 2f 2f 20 23 69  ngBkMode;..// #i
d380: 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
d390: 3e 3d 20 30 78 35 30 31 29 0d 0a 20 20 69 6e 74  >= 0x501)..  int
d3a0: 20 69 4c 69 73 74 47 61 70 3b 0d 0a 2f 2f 20 23   iListGap;..// #
d3b0: 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20  endif..}..alias 
d3c0: 5f 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41 57 20  _NMTBCUSTOMDRAW 
d3d0: 4e 4d 54 42 43 55 53 54 4f 4d 44 52 41 57 3b 0d  NMTBCUSTOMDRAW;.
d3e0: 0a 61 6c 69 61 73 20 5f 4e 4d 54 42 43 55 53 54  .alias _NMTBCUST
d3f0: 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 54 42 43 55  OMDRAW* LPNMTBCU
d400: 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 65 6e 75  STOMDRAW;....enu
d410: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44 52  m : uint { TBCDR
d420: 46 5f 4e 4f 45 44 47 45 53 20 3d 20 30 78 30 30  F_NOEDGES = 0x00
d430: 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  010000 }..enum :
d440: 20 75 69 6e 74 20 7b 20 54 42 43 44 52 46 5f 48   uint { TBCDRF_H
d450: 49 4c 49 54 45 48 4f 54 54 52 41 43 4b 20 3d 20  ILITEHOTTRACK = 
d460: 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
d470: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44  um : uint { TBCD
d480: 52 46 5f 4e 4f 4f 46 46 53 45 54 20 3d 20 30 78  RF_NOOFFSET = 0x
d490: 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00040000 }..enum
d4a0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44 52 46   : uint { TBCDRF
d4b0: 5f 4e 4f 4d 41 52 4b 20 3d 20 30 78 30 30 30 38  _NOMARK = 0x0008
d4c0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
d4d0: 69 6e 74 20 7b 20 54 42 43 44 52 46 5f 4e 4f 45  int { TBCDRF_NOE
d4e0: 54 43 48 45 44 45 46 46 45 43 54 20 3d 20 30 78  TCHEDEFFECT = 0x
d4f0: 30 30 31 30 30 30 30 30 20 7d 0d 0a 2f 2f 20 23  00100000 }..// #
d500: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
d510: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
d520: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
d530: 6e 74 20 7b 20 54 42 43 44 52 46 5f 42 4c 45 4e  nt { TBCDRF_BLEN
d540: 44 49 43 4f 4e 20 3d 20 30 78 30 30 32 30 30 30  DICON = 0x002000
d550: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d560: 74 20 7b 20 54 42 43 44 52 46 5f 4e 4f 42 41 43  t { TBCDRF_NOBAC
d570: 4b 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 34 30  KGROUND = 0x0040
d580: 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0000 }..// #endi
d590: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
d5a0: 20 7b 20 54 42 5f 45 4e 41 42 4c 45 42 55 54 54   { TB_ENABLEBUTT
d5b0: 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  ON = WM_USER + 1
d5c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d5d0: 7b 20 54 42 5f 43 48 45 43 4b 42 55 54 54 4f 4e  { TB_CHECKBUTTON
d5e0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 20 7d   = WM_USER + 2 }
d5f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d600: 54 42 5f 50 52 45 53 53 42 55 54 54 4f 4e 20 3d  TB_PRESSBUTTON =
d610: 20 57 4d 5f 55 53 45 52 20 2b 20 33 20 7d 0d 0a   WM_USER + 3 }..
d620: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
d630: 5f 48 49 44 45 42 55 54 54 4f 4e 20 3d 20 57 4d  _HIDEBUTTON = WM
d640: 5f 55 53 45 52 20 2b 20 34 20 7d 0d 0a 65 6e 75  _USER + 4 }..enu
d650: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e  m : uint { TB_IN
d660: 44 45 54 45 52 4d 49 4e 41 54 45 20 3d 20 57 4d  DETERMINATE = WM
d670: 5f 55 53 45 52 20 2b 20 35 20 7d 0d 0a 2f 2f 20  _USER + 5 }..// 
d680: 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
d690: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
d6a0: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4d 41 52 4b  : uint { TB_MARK
d6b0: 42 55 54 54 4f 4e 20 3d 20 57 4d 5f 55 53 45 52  BUTTON = WM_USER
d6c0: 20 2b 20 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69   + 6 }..// #endi
d6d0: 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  f..enum : uint {
d6e0: 20 54 42 5f 49 53 42 55 54 54 4f 4e 45 4e 41 42   TB_ISBUTTONENAB
d6f0: 4c 45 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  LED = WM_USER + 
d700: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
d710: 20 7b 20 54 42 5f 49 53 42 55 54 54 4f 4e 43 48   { TB_ISBUTTONCH
d720: 45 43 4b 45 44 20 3d 20 57 4d 5f 55 53 45 52 20  ECKED = WM_USER 
d730: 2b 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 10 }..enum : u
d740: 69 6e 74 20 7b 20 54 42 5f 49 53 42 55 54 54 4f  int { TB_ISBUTTO
d750: 4e 50 52 45 53 53 45 44 20 3d 20 57 4d 5f 55 53  NPRESSED = WM_US
d760: 45 52 20 2b 20 31 31 20 7d 0d 0a 65 6e 75 6d 20  ER + 11 }..enum 
d770: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 53 42 55  : uint { TB_ISBU
d780: 54 54 4f 4e 48 49 44 44 45 4e 20 3d 20 57 4d 5f  TTONHIDDEN = WM_
d790: 55 53 45 52 20 2b 20 31 32 20 7d 0d 0a 65 6e 75  USER + 12 }..enu
d7a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 53  m : uint { TB_IS
d7b0: 42 55 54 54 4f 4e 49 4e 44 45 54 45 52 4d 49 4e  BUTTONINDETERMIN
d7c0: 41 54 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  ATE = WM_USER + 
d7d0: 31 33 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  13 }..// #if (_W
d7e0: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
d7f0: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
d800: 7b 20 54 42 5f 49 53 42 55 54 54 4f 4e 48 49 47  { TB_ISBUTTONHIG
d810: 48 4c 49 47 48 54 45 44 20 3d 20 57 4d 5f 55 53  HLIGHTED = WM_US
d820: 45 52 20 2b 20 31 34 20 7d 0d 0a 2f 2f 20 23 65  ER + 14 }..// #e
d830: 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ndif..enum : uin
d840: 74 20 7b 20 54 42 5f 53 45 54 53 54 41 54 45 20  t { TB_SETSTATE 
d850: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 37 20 7d  = WM_USER + 17 }
d860: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d870: 54 42 5f 47 45 54 53 54 41 54 45 20 3d 20 57 4d  TB_GETSTATE = WM
d880: 5f 55 53 45 52 20 2b 20 31 38 20 7d 0d 0a 65 6e  _USER + 18 }..en
d890: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41  um : uint { TB_A
d8a0: 44 44 42 49 54 4d 41 50 20 3d 20 57 4d 5f 55 53  DDBITMAP = WM_US
d8b0: 45 52 20 2b 20 31 39 20 7d 0d 0a 0d 0a 2f 2f 20  ER + 19 }....// 
d8c0: 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 73  #ifdef _WIN32..s
d8d0: 74 72 75 63 74 20 74 61 67 54 42 41 44 44 42 49  truct tagTBADDBI
d8e0: 54 4d 41 50 20 7b 0d 0a 20 20 48 49 4e 53 54 41  TMAP {..  HINSTA
d8f0: 4e 43 45 20 68 49 6e 73 74 3b 0d 0a 20 20 55 49  NCE hInst;..  UI
d900: 4e 54 5f 50 54 52 20 6e 49 44 3b 0d 0a 7d 0d 0a  NT_PTR nID;..}..
d910: 61 6c 69 61 73 20 74 61 67 54 42 41 44 44 42 49  alias tagTBADDBI
d920: 54 4d 41 50 20 54 42 41 44 44 42 49 54 4d 41 50  TMAP TBADDBITMAP
d930: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 42 41 44  ;..alias tagTBAD
d940: 44 42 49 54 4d 41 50 2a 20 4c 50 54 42 41 44 44  DBITMAP* LPTBADD
d950: 42 49 54 4d 41 50 3b 0d 0a 0d 0a 48 49 4e 53 54  BITMAP;....HINST
d960: 41 4e 43 45 20 48 49 4e 53 54 5f 43 4f 4d 4d 43  ANCE HINST_COMMC
d970: 54 52 4c 20 3d 20 63 61 73 74 28 48 49 4e 53 54  TRL = cast(HINST
d980: 41 4e 43 45 29 28 2d 31 29 3b 0d 0a 65 6e 75 6d  ANCE)(-1);..enum
d990: 20 3a 20 75 69 6e 74 20 7b 20 49 44 42 5f 53 54   : uint { IDB_ST
d9a0: 44 5f 53 4d 41 4c 4c 5f 43 4f 4c 4f 52 20 3d 20  D_SMALL_COLOR = 
d9b0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d9c0: 20 7b 20 49 44 42 5f 53 54 44 5f 4c 41 52 47 45   { IDB_STD_LARGE
d9d0: 5f 43 4f 4c 4f 52 20 3d 20 31 20 7d 0d 0a 65 6e  _COLOR = 1 }..en
d9e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44 42 5f  um : uint { IDB_
d9f0: 56 49 45 57 5f 53 4d 41 4c 4c 5f 43 4f 4c 4f 52  VIEW_SMALL_COLOR
da00: 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 4 }..enum : u
da10: 69 6e 74 20 7b 20 49 44 42 5f 56 49 45 57 5f 4c  int { IDB_VIEW_L
da20: 41 52 47 45 5f 43 4f 4c 4f 52 20 3d 20 35 20 7d  ARGE_COLOR = 5 }
da30: 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
da40: 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
da50: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 44  enum : uint { ID
da60: 42 5f 48 49 53 54 5f 53 4d 41 4c 4c 5f 43 4f 4c  B_HIST_SMALL_COL
da70: 4f 52 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a  OR = 8 }..enum :
da80: 20 75 69 6e 74 20 7b 20 49 44 42 5f 48 49 53 54   uint { IDB_HIST
da90: 5f 4c 41 52 47 45 5f 43 4f 4c 4f 52 20 3d 20 39  _LARGE_COLOR = 9
daa0: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
dab0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
dac0: 54 44 5f 43 55 54 20 3d 20 30 20 7d 0d 0a 65 6e  TD_CUT = 0 }..en
dad0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f  um : uint { STD_
dae0: 43 4f 50 59 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  COPY = 1 }..enum
daf0: 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 50 41   : uint { STD_PA
db00: 53 54 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  STE = 2 }..enum 
db10: 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 55 4e 44  : uint { STD_UND
db20: 4f 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  O = 3 }..enum : 
db30: 75 69 6e 74 20 7b 20 53 54 44 5f 52 45 44 4f 57  uint { STD_REDOW
db40: 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 4 }..enum : u
db50: 69 6e 74 20 7b 20 53 54 44 5f 44 45 4c 45 54 45  int { STD_DELETE
db60: 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 5 }..enum : u
db70: 69 6e 74 20 7b 20 53 54 44 5f 46 49 4c 45 4e 45  int { STD_FILENE
db80: 57 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  W = 6 }..enum : 
db90: 75 69 6e 74 20 7b 20 53 54 44 5f 46 49 4c 45 4f  uint { STD_FILEO
dba0: 50 45 4e 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20  PEN = 7 }..enum 
dbb0: 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 46 49 4c  : uint { STD_FIL
dbc0: 45 53 41 56 45 20 3d 20 38 20 7d 0d 0a 65 6e 75  ESAVE = 8 }..enu
dbd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44 5f 50  m : uint { STD_P
dbe0: 52 49 4e 54 50 52 45 20 3d 20 39 20 7d 0d 0a 65  RINTPRE = 9 }..e
dbf0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 44  num : uint { STD
dc00: 5f 50 52 4f 50 45 52 54 49 45 53 20 3d 20 31 30  _PROPERTIES = 10
dc10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
dc20: 7b 20 53 54 44 5f 48 45 4c 50 20 3d 20 31 31 20  { STD_HELP = 11 
dc30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
dc40: 20 53 54 44 5f 46 49 4e 44 20 3d 20 31 32 20 7d   STD_FIND = 12 }
dc50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
dc60: 53 54 44 5f 52 45 50 4c 41 43 45 20 3d 20 31 33  STD_REPLACE = 13
dc70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
dc80: 7b 20 53 54 44 5f 50 52 49 4e 54 20 3d 20 31 34  { STD_PRINT = 14
dc90: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
dca0: 74 20 7b 20 56 49 45 57 5f 4c 41 52 47 45 49 43  t { VIEW_LARGEIC
dcb0: 4f 4e 53 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ONS = 0 }..enum 
dcc0: 3a 20 75 69 6e 74 20 7b 20 56 49 45 57 5f 53 4d  : uint { VIEW_SM
dcd0: 41 4c 4c 49 43 4f 4e 53 20 3d 20 31 20 7d 0d 0a  ALLICONS = 1 }..
dce0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49  enum : uint { VI
dcf0: 45 57 5f 4c 49 53 54 20 3d 20 32 20 7d 0d 0a 65  EW_LIST = 2 }..e
dd00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 45  num : uint { VIE
dd10: 57 5f 44 45 54 41 49 4c 53 20 3d 20 33 20 7d 0d  W_DETAILS = 3 }.
dd20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 56  .enum : uint { V
dd30: 49 45 57 5f 53 4f 52 54 4e 41 4d 45 20 3d 20 34  IEW_SORTNAME = 4
dd40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
dd50: 7b 20 56 49 45 57 5f 53 4f 52 54 53 49 5a 45 20  { VIEW_SORTSIZE 
dd60: 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
dd70: 6e 74 20 7b 20 56 49 45 57 5f 53 4f 52 54 44 41  nt { VIEW_SORTDA
dd80: 54 45 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  TE = 6 }..enum :
dd90: 20 75 69 6e 74 20 7b 20 56 49 45 57 5f 53 4f 52   uint { VIEW_SOR
dda0: 54 54 59 50 45 20 3d 20 37 20 7d 0d 0a 65 6e 75  TTYPE = 7 }..enu
ddb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 56 49 45 57 5f  m : uint { VIEW_
ddc0: 50 41 52 45 4e 54 46 4f 4c 44 45 52 20 3d 20 38  PARENTFOLDER = 8
ddd0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
dde0: 7b 20 56 49 45 57 5f 4e 45 54 43 4f 4e 4e 45 43  { VIEW_NETCONNEC
ddf0: 54 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 9 }..enum : 
de00: 75 69 6e 74 20 7b 20 56 49 45 57 5f 4e 45 54 44  uint { VIEW_NETD
de10: 49 53 43 4f 4e 4e 45 43 54 20 3d 20 31 30 20 7d  ISCONNECT = 10 }
de20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
de30: 56 49 45 57 5f 4e 45 57 46 4f 4c 44 45 52 20 3d  VIEW_NEWFOLDER =
de40: 20 31 31 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f   11 }..// #if (_
de50: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
de60: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
de70: 20 7b 20 56 49 45 57 5f 56 49 45 57 4d 45 4e 55   { VIEW_VIEWMENU
de80: 20 3d 20 31 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64   = 12 }..// #end
de90: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  if....// #if (_W
dea0: 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
deb0: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
dec0: 7b 20 48 49 53 54 5f 42 41 43 4b 20 3d 20 30 20  { HIST_BACK = 0 
ded0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
dee0: 20 48 49 53 54 5f 46 4f 52 57 41 52 44 20 3d 20   HIST_FORWARD = 
def0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
df00: 20 7b 20 48 49 53 54 5f 46 41 56 4f 52 49 54 45   { HIST_FAVORITE
df10: 53 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  S = 2 }..enum : 
df20: 75 69 6e 74 20 7b 20 48 49 53 54 5f 41 44 44 54  uint { HIST_ADDT
df30: 4f 46 41 56 4f 52 49 54 45 53 20 3d 20 33 20 7d  OFAVORITES = 3 }
df40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
df50: 48 49 53 54 5f 56 49 45 57 54 52 45 45 20 3d 20  HIST_VIEWTREE = 
df60: 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  4 }..// #endif..
df70: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
df80: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
df90: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
dfa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 44  m : uint { TB_AD
dfb0: 44 42 55 54 54 4f 4e 53 41 20 3d 20 57 4d 5f 55  DBUTTONSA = WM_U
dfc0: 53 45 52 20 2b 20 32 30 20 7d 0d 0a 65 6e 75 6d  SER + 20 }..enum
dfd0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e 53   : uint { TB_INS
dfe0: 45 52 54 42 55 54 54 4f 4e 41 20 3d 20 57 4d 5f  ERTBUTTONA = WM_
dff0: 55 53 45 52 20 2b 20 32 31 20 7d 0d 0a 2f 2f 20  USER + 21 }..// 
e000: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
e010: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
e020: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
e030: 74 20 7b 20 54 42 5f 44 45 4c 45 54 45 42 55 54  t { TB_DELETEBUT
e040: 54 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  TON = WM_USER + 
e050: 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  22 }..enum : uin
e060: 74 20 7b 20 54 42 5f 47 45 54 42 55 54 54 4f 4e  t { TB_GETBUTTON
e070: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 33 20   = WM_USER + 23 
e080: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e090: 20 54 42 5f 42 55 54 54 4f 4e 43 4f 55 4e 54 20   TB_BUTTONCOUNT 
e0a0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 34 20 7d  = WM_USER + 24 }
e0b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e0c0: 54 42 5f 43 4f 4d 4d 41 4e 44 54 4f 49 4e 44 45  TB_COMMANDTOINDE
e0d0: 58 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 35  X = WM_USER + 25
e0e0: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
e0f0: 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74  _WIN32....struct
e100: 20 74 61 67 54 42 53 41 56 45 50 41 52 41 4d 53   tagTBSAVEPARAMS
e110: 41 20 7b 0d 0a 20 20 48 4b 45 59 20 68 6b 72 3b  A {..  HKEY hkr;
e120: 0d 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 53 75  ..  LPCSTR pszSu
e130: 62 4b 65 79 3b 0d 0a 20 20 4c 50 43 53 54 52 20  bKey;..  LPCSTR 
e140: 70 73 7a 56 61 6c 75 65 4e 61 6d 65 3b 0d 0a 7d  pszValueName;..}
e150: 0d 0a 61 6c 69 61 73 20 74 61 67 54 42 53 41 56  ..alias tagTBSAV
e160: 45 50 41 52 41 4d 53 41 20 54 42 53 41 56 45 50  EPARAMSA TBSAVEP
e170: 41 52 41 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74  ARAMSA;..alias t
e180: 61 67 54 42 53 41 56 45 50 41 52 41 4d 53 41 2a  agTBSAVEPARAMSA*
e190: 20 4c 50 54 42 53 41 56 45 50 41 52 41 4d 53 41   LPTBSAVEPARAMSA
e1a0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54  ;....struct tagT
e1b0: 42 53 41 56 45 50 41 52 41 4d 53 57 20 7b 0d 0a  BSAVEPARAMSW {..
e1c0: 20 20 48 4b 45 59 20 68 6b 72 3b 0d 0a 20 20 4c    HKEY hkr;..  L
e1d0: 50 43 57 53 54 52 20 70 73 7a 53 75 62 4b 65 79  PCWSTR pszSubKey
e1e0: 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a  ;..  LPCWSTR psz
e1f0: 56 61 6c 75 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61  ValueName;..}..a
e200: 6c 69 61 73 20 74 61 67 54 42 53 41 56 45 50 41  lias tagTBSAVEPA
e210: 52 41 4d 53 57 20 54 42 53 41 56 45 50 41 52 41  RAMSW TBSAVEPARA
e220: 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54  MSW;..alias tagT
e230: 42 53 41 56 45 50 41 52 41 4d 53 57 2a 20 4c 50  BSAVEPARAMSW* LP
e240: 54 42 53 41 56 45 50 41 52 41 4d 57 3b 0d 0a 0d  TBSAVEPARAMW;...
e250: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
e260: 44 45 0d 0a 61 6c 69 61 73 20 54 42 53 41 56 45  DE..alias TBSAVE
e270: 50 41 52 41 4d 53 57 20 54 42 53 41 56 45 50 41  PARAMSW TBSAVEPA
e280: 52 41 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 54  RAMS;..alias LPT
e290: 42 53 41 56 45 50 41 52 41 4d 53 57 20 4c 50 54  BSAVEPARAMSW LPT
e2a0: 42 53 41 56 45 50 41 52 41 4d 53 3b 0d 0a 2f 2f  BSAVEPARAMS;..//
e2b0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
e2c0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
e2d0: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
e2e0: 20 20 2f 2f 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65    // _WIN32....e
e2f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
e300: 53 41 56 45 52 45 53 54 4f 52 45 41 20 3d 20 57  SAVERESTOREA = W
e310: 4d 5f 55 53 45 52 20 2b 20 32 36 20 7d 0d 0a 65  M_USER + 26 }..e
e320: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
e330: 53 41 56 45 52 45 53 54 4f 52 45 57 20 3d 20 57  SAVERESTOREW = W
e340: 4d 5f 55 53 45 52 20 2b 20 37 36 20 7d 0d 0a 65  M_USER + 76 }..e
e350: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
e360: 43 55 53 54 4f 4d 49 5a 45 20 3d 20 57 4d 5f 55  CUSTOMIZE = WM_U
e370: 53 45 52 20 2b 20 32 37 20 7d 0d 0a 65 6e 75 6d  SER + 27 }..enum
e380: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 44 44   : uint { TB_ADD
e390: 53 54 52 49 4e 47 41 20 3d 20 57 4d 5f 55 53 45  STRINGA = WM_USE
e3a0: 52 20 2b 20 32 38 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 28 }..enum :
e3b0: 20 75 69 6e 74 20 7b 20 54 42 5f 41 44 44 53 54   uint { TB_ADDST
e3c0: 52 49 4e 47 57 20 3d 20 57 4d 5f 55 53 45 52 20  RINGW = WM_USER 
e3d0: 2b 20 37 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 77 }..enum : u
e3e0: 69 6e 74 20 7b 20 54 42 5f 47 45 54 49 54 45 4d  int { TB_GETITEM
e3f0: 52 45 43 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b  RECT = WM_USER +
e400: 20 32 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   29 }..enum : ui
e410: 6e 74 20 7b 20 54 42 5f 42 55 54 54 4f 4e 53 54  nt { TB_BUTTONST
e420: 52 55 43 54 53 49 5a 45 20 3d 20 57 4d 5f 55 53  RUCTSIZE = WM_US
e430: 45 52 20 2b 20 33 30 20 7d 0d 0a 65 6e 75 6d 20  ER + 30 }..enum 
e440: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 42  : uint { TB_SETB
e450: 55 54 54 4f 4e 53 49 5a 45 20 3d 20 57 4d 5f 55  UTTONSIZE = WM_U
e460: 53 45 52 20 2b 20 33 31 20 7d 0d 0a 65 6e 75 6d  SER + 31 }..enum
e470: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54   : uint { TB_SET
e480: 42 49 54 4d 41 50 53 49 5a 45 20 3d 20 57 4d 5f  BITMAPSIZE = WM_
e490: 55 53 45 52 20 2b 20 33 32 20 7d 0d 0a 65 6e 75  USER + 32 }..enu
e4a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 55  m : uint { TB_AU
e4b0: 54 4f 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52  TOSIZE = WM_USER
e4c0: 20 2b 20 33 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 33 }..enum : 
e4d0: 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 54 4f 4f  uint { TB_GETTOO
e4e0: 4c 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20  LTIPS = WM_USER 
e4f0: 2b 20 33 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 35 }..enum : u
e500: 69 6e 74 20 7b 20 54 42 5f 53 45 54 54 4f 4f 4c  int { TB_SETTOOL
e510: 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b  TIPS = WM_USER +
e520: 20 33 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   36 }..enum : ui
e530: 6e 74 20 7b 20 54 42 5f 53 45 54 50 41 52 45 4e  nt { TB_SETPAREN
e540: 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 37  T = WM_USER + 37
e550: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
e560: 7b 20 54 42 5f 53 45 54 52 4f 57 53 20 3d 20 57  { TB_SETROWS = W
e570: 4d 5f 55 53 45 52 20 2b 20 33 39 20 7d 0d 0a 65  M_USER + 39 }..e
e580: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
e590: 47 45 54 52 4f 57 53 20 3d 20 57 4d 5f 55 53 45  GETROWS = WM_USE
e5a0: 52 20 2b 20 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 40 }..enum :
e5b0: 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 43 4d   uint { TB_SETCM
e5c0: 44 49 44 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  DID = WM_USER + 
e5d0: 34 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  42 }..enum : uin
e5e0: 74 20 7b 20 54 42 5f 43 48 41 4e 47 45 42 49 54  t { TB_CHANGEBIT
e5f0: 4d 41 50 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  MAP = WM_USER + 
e600: 34 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  43 }..enum : uin
e610: 74 20 7b 20 54 42 5f 47 45 54 42 49 54 4d 41 50  t { TB_GETBITMAP
e620: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 34 20   = WM_USER + 44 
e630: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e640: 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58   TB_GETBUTTONTEX
e650: 54 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34  TA = WM_USER + 4
e660: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
e670: 20 7b 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54   { TB_GETBUTTONT
e680: 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b  EXTW = WM_USER +
e690: 20 37 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   75 }..enum : ui
e6a0: 6e 74 20 7b 20 54 42 5f 52 45 50 4c 41 43 45 42  nt { TB_REPLACEB
e6b0: 49 54 4d 41 50 20 3d 20 57 4d 5f 55 53 45 52 20  ITMAP = WM_USER 
e6c0: 2b 20 34 36 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  + 46 }..// #if (
e6d0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
e6e0: 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  300)..enum : uin
e6f0: 74 20 7b 20 54 42 5f 53 45 54 49 4e 44 45 4e 54  t { TB_SETINDENT
e700: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 37 20   = WM_USER + 47 
e710: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e720: 20 54 42 5f 53 45 54 49 4d 41 47 45 4c 49 53 54   TB_SETIMAGELIST
e730: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 38 20   = WM_USER + 48 
e740: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e750: 20 54 42 5f 47 45 54 49 4d 41 47 45 4c 49 53 54   TB_GETIMAGELIST
e760: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 39 20   = WM_USER + 49 
e770: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e780: 20 54 42 5f 4c 4f 41 44 49 4d 41 47 45 53 20 3d   TB_LOADIMAGES =
e790: 20 57 4d 5f 55 53 45 52 20 2b 20 35 30 20 7d 0d   WM_USER + 50 }.
e7a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e7b0: 42 5f 47 45 54 52 45 43 54 20 3d 20 57 4d 5f 55  B_GETRECT = WM_U
e7c0: 53 45 52 20 2b 20 35 31 20 7d 0d 0a 65 6e 75 6d  SER + 51 }..enum
e7d0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54   : uint { TB_SET
e7e0: 48 4f 54 49 4d 41 47 45 4c 49 53 54 20 3d 20 57  HOTIMAGELIST = W
e7f0: 4d 5f 55 53 45 52 20 2b 20 35 32 20 7d 0d 0a 65  M_USER + 52 }..e
e800: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
e810: 47 45 54 48 4f 54 49 4d 41 47 45 4c 49 53 54 20  GETHOTIMAGELIST 
e820: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 33 20 7d  = WM_USER + 53 }
e830: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e840: 54 42 5f 53 45 54 44 49 53 41 42 4c 45 44 49 4d  TB_SETDISABLEDIM
e850: 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55 53 45  AGELIST = WM_USE
e860: 52 20 2b 20 35 34 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 54 }..enum :
e870: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 44 49   uint { TB_GETDI
e880: 53 41 42 4c 45 44 49 4d 41 47 45 4c 49 53 54 20  SABLEDIMAGELIST 
e890: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 35 20 7d  = WM_USER + 55 }
e8a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e8b0: 54 42 5f 53 45 54 53 54 59 4c 45 20 3d 20 57 4d  TB_SETSTYLE = WM
e8c0: 5f 55 53 45 52 20 2b 20 35 36 20 7d 0d 0a 65 6e  _USER + 56 }..en
e8d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47  um : uint { TB_G
e8e0: 45 54 53 54 59 4c 45 20 3d 20 57 4d 5f 55 53 45  ETSTYLE = WM_USE
e8f0: 52 20 2b 20 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 57 }..enum :
e900: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 42 55   uint { TB_GETBU
e910: 54 54 4f 4e 53 49 5a 45 20 3d 20 57 4d 5f 55 53  TTONSIZE = WM_US
e920: 45 52 20 2b 20 35 38 20 7d 0d 0a 65 6e 75 6d 20  ER + 58 }..enum 
e930: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54 42  : uint { TB_SETB
e940: 55 54 54 4f 4e 57 49 44 54 48 20 3d 20 57 4d 5f  UTTONWIDTH = WM_
e950: 55 53 45 52 20 2b 20 35 39 20 7d 0d 0a 65 6e 75  USER + 59 }..enu
e960: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45  m : uint { TB_SE
e970: 54 4d 41 58 54 45 58 54 52 4f 57 53 20 3d 20 57  TMAXTEXTROWS = W
e980: 4d 5f 55 53 45 52 20 2b 20 36 30 20 7d 0d 0a 65  M_USER + 60 }..e
e990: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f  num : uint { TB_
e9a0: 47 45 54 54 45 58 54 52 4f 57 53 20 3d 20 57 4d  GETTEXTROWS = WM
e9b0: 5f 55 53 45 52 20 2b 20 36 31 20 7d 0d 0a 2f 2f  _USER + 61 }..//
e9c0: 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20   #endif      // 
e9d0: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
e9e0: 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  300....// #ifdef
e9f0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
ea00: 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45 58 54  TB_GETBUTTONTEXT
ea10: 57 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 54 45  W TB_GETBUTTONTE
ea20: 58 54 3b 0d 0a 61 6c 69 61 73 20 54 42 5f 53 41  XT;..alias TB_SA
ea30: 56 45 52 45 53 54 4f 52 45 57 20 54 42 5f 53 41  VERESTOREW TB_SA
ea40: 56 45 52 45 53 54 4f 52 45 3b 0d 0a 61 6c 69 61  VERESTORE;..alia
ea50: 73 20 54 42 5f 41 44 44 53 54 52 49 4e 47 57 20  s TB_ADDSTRINGW 
ea60: 54 42 5f 41 44 44 53 54 52 49 4e 47 3b 0d 0a 2f  TB_ADDSTRING;../
ea70: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
ea80: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
ea90: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
eaa0: 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
eab0: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
eac0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45  m : uint { TB_GE
ead0: 54 4f 42 4a 45 43 54 20 3d 20 57 4d 5f 55 53 45  TOBJECT = WM_USE
eae0: 52 20 2b 20 36 32 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 62 }..enum :
eaf0: 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 48 4f   uint { TB_GETHO
eb00: 54 49 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52 20  TITEM = WM_USER 
eb10: 2b 20 37 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 71 }..enum : u
eb20: 69 6e 74 20 7b 20 54 42 5f 53 45 54 48 4f 54 49  int { TB_SETHOTI
eb30: 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  TEM = WM_USER + 
eb40: 37 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  72 }..enum : uin
eb50: 74 20 7b 20 54 42 5f 53 45 54 41 4e 43 48 4f 52  t { TB_SETANCHOR
eb60: 48 49 47 48 4c 49 47 48 54 20 3d 20 57 4d 5f 55  HIGHLIGHT = WM_U
eb70: 53 45 52 20 2b 20 37 33 20 7d 0d 0a 65 6e 75 6d  SER + 73 }..enum
eb80: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54   : uint { TB_GET
eb90: 41 4e 43 48 4f 52 48 49 47 48 4c 49 47 48 54 20  ANCHORHIGHLIGHT 
eba0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 34 20 7d  = WM_USER + 74 }
ebb0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ebc0: 54 42 5f 4d 41 50 41 43 43 45 4c 45 52 41 54 4f  TB_MAPACCELERATO
ebd0: 52 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37  RA = WM_USER + 7
ebe0: 38 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 30  8 }....struct _0
ebf0: 20 7b 0d 0a 20 20 69 6e 74 20 69 42 75 74 74 6f   {..  int iButto
ec00: 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  n;..  DWORD dwFl
ec10: 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ags;..}..alias _
ec20: 30 20 54 42 49 4e 53 45 52 54 4d 41 52 4b 3b 0d  0 TBINSERTMARK;.
ec30: 0a 61 6c 69 61 73 20 5f 30 2a 20 4c 50 54 42 49  .alias _0* LPTBI
ec40: 4e 53 45 52 54 4d 41 52 4b 3b 0d 0a 0d 0a 65 6e  NSERTMARK;....en
ec50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 49 4d  um : uint { TBIM
ec60: 48 54 5f 41 46 54 45 52 20 3d 20 30 78 30 30 30  HT_AFTER = 0x000
ec70: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
ec80: 75 69 6e 74 20 7b 20 54 42 49 4d 48 54 5f 42 41  uint { TBIMHT_BA
ec90: 43 4b 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 30  CKGROUND = 0x000
eca0: 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00002 }....enum 
ecb0: 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 49  : uint { TB_GETI
ecc0: 4e 53 45 52 54 4d 41 52 4b 20 3d 20 57 4d 5f 55  NSERTMARK = WM_U
ecd0: 53 45 52 20 2b 20 37 39 20 7d 0d 0a 65 6e 75 6d  SER + 79 }..enum
ece0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53 45 54   : uint { TB_SET
ecf0: 49 4e 53 45 52 54 4d 41 52 4b 20 3d 20 57 4d 5f  INSERTMARK = WM_
ed00: 55 53 45 52 20 2b 20 38 30 20 7d 0d 0a 65 6e 75  USER + 80 }..enu
ed10: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e  m : uint { TB_IN
ed20: 53 45 52 54 4d 41 52 4b 48 49 54 54 45 53 54 20  SERTMARKHITTEST 
ed30: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 31 20 7d  = WM_USER + 81 }
ed40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ed50: 54 42 5f 4d 4f 56 45 42 55 54 54 4f 4e 20 3d 20  TB_MOVEBUTTON = 
ed60: 57 4d 5f 55 53 45 52 20 2b 20 38 32 20 7d 0d 0a  WM_USER + 82 }..
ed70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
ed80: 5f 47 45 54 4d 41 58 53 49 5a 45 20 3d 20 57 4d  _GETMAXSIZE = WM
ed90: 5f 55 53 45 52 20 2b 20 38 33 20 7d 0d 0a 65 6e  _USER + 83 }..en
eda0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 53  um : uint { TB_S
edb0: 45 54 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20  ETEXTENDEDSTYLE 
edc0: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 34 20 7d  = WM_USER + 84 }
edd0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ede0: 54 42 5f 47 45 54 45 58 54 45 4e 44 45 44 53 54  TB_GETEXTENDEDST
edf0: 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  YLE = WM_USER + 
ee00: 38 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  85 }..enum : uin
ee10: 74 20 7b 20 54 42 5f 47 45 54 50 41 44 44 49 4e  t { TB_GETPADDIN
ee20: 47 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 36  G = WM_USER + 86
ee30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ee40: 7b 20 54 42 5f 53 45 54 50 41 44 44 49 4e 47 20  { TB_SETPADDING 
ee50: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 38 37 20 7d  = WM_USER + 87 }
ee60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ee70: 54 42 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b  TB_SETINSERTMARK
ee80: 43 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20  COLOR = WM_USER 
ee90: 2b 20 38 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 88 }..enum : u
eea0: 69 6e 74 20 7b 20 54 42 5f 47 45 54 49 4e 53 45  int { TB_GETINSE
eeb0: 52 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d 20 57 4d  RTMARKCOLOR = WM
eec0: 5f 55 53 45 52 20 2b 20 38 39 20 7d 0d 0a 0d 0a  _USER + 89 }....
eed0: 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 43 4f 4c  alias CCM_SETCOL
eee0: 4f 52 53 43 48 45 4d 45 20 54 42 5f 53 45 54 43  ORSCHEME TB_SETC
eef0: 4f 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a 61 6c 69  OLORSCHEME;..ali
ef00: 61 73 20 43 43 4d 5f 47 45 54 43 4f 4c 4f 52 53  as CCM_GETCOLORS
ef10: 43 48 45 4d 45 20 54 42 5f 47 45 54 43 4f 4c 4f  CHEME TB_GETCOLO
ef20: 52 53 43 48 45 4d 45 3b 0d 0a 0d 0a 61 6c 69 61  RSCHEME;....alia
ef30: 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45  s CCM_SETUNICODE
ef40: 46 4f 52 4d 41 54 20 54 42 5f 53 45 54 55 4e 49  FORMAT TB_SETUNI
ef50: 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69  CODEFORMAT;..ali
ef60: 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44  as CCM_GETUNICOD
ef70: 45 46 4f 52 4d 41 54 20 54 42 5f 47 45 54 55 4e  EFORMAT TB_GETUN
ef80: 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 0d 0a  ICODEFORMAT;....
ef90: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
efa0: 5f 4d 41 50 41 43 43 45 4c 45 52 41 54 4f 52 57  _MAPACCELERATORW
efb0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39 30 20   = WM_USER + 90 
efc0: 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  }..// #ifdef UNI
efd0: 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 42 5f 4d  CODE..alias TB_M
efe0: 41 50 41 43 43 45 4c 45 52 41 54 4f 52 57 20 54  APACCELERATORW T
eff0: 42 5f 4d 41 50 41 43 43 45 4c 45 52 41 54 4f 52  B_MAPACCELERATOR
f000: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
f010: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
f020: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f  ...// #endif  //
f030: 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78   _WIN32_IE >= 0x
f040: 30 34 30 30 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  0400....struct _
f050: 31 20 7b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45  1 {..  HINSTANCE
f060: 20 68 49 6e 73 74 4f 6c 64 3b 0d 0a 20 20 55 49   hInstOld;..  UI
f070: 4e 54 5f 50 54 52 20 6e 49 44 4f 6c 64 3b 0d 0a  NT_PTR nIDOld;..
f080: 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73    HINSTANCE hIns
f090: 74 4e 65 77 3b 0d 0a 20 20 55 49 4e 54 5f 50 54  tNew;..  UINT_PT
f0a0: 52 20 6e 49 44 4e 65 77 3b 0d 0a 20 20 69 6e 74  R nIDNew;..  int
f0b0: 20 6e 42 75 74 74 6f 6e 73 3b 0d 0a 7d 0d 0a 61   nButtons;..}..a
f0c0: 6c 69 61 73 20 5f 31 20 54 42 52 45 50 4c 41 43  lias _1 TBREPLAC
f0d0: 45 42 49 54 4d 41 50 3b 0d 0a 61 6c 69 61 73 20  EBITMAP;..alias 
f0e0: 5f 31 2a 20 4c 50 54 42 52 45 50 4c 41 43 45 42  _1* LPTBREPLACEB
f0f0: 49 54 4d 41 50 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  ITMAP;....// #if
f100: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 6e  def _WIN32....en
f110: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 42 46  um : uint { TBBF
f120: 5f 4c 41 52 47 45 20 3d 20 30 78 30 30 30 31 20  _LARGE = 0x0001 
f130: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
f140: 20 7b 20 54 42 5f 47 45 54 42 49 54 4d 41 50 46   { TB_GETBITMAPF
f150: 4c 41 47 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b  LAGS = WM_USER +
f160: 20 34 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20   41 }....// #if 
f170: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
f180: 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
f190: 6e 74 20 7b 20 54 42 49 46 5f 49 4d 41 47 45 20  nt { TBIF_IMAGE 
f1a0: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
f1b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
f1c0: 49 46 5f 54 45 58 54 20 3d 20 30 78 30 30 30 30  IF_TEXT = 0x0000
f1d0: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
f1e0: 69 6e 74 20 7b 20 54 42 49 46 5f 53 54 41 54 45  int { TBIF_STATE
f1f0: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
f200: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
f210: 42 49 46 5f 53 54 59 4c 45 20 3d 20 30 78 30 30  BIF_STYLE = 0x00
f220: 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  000008 }..enum :
f230: 20 75 69 6e 74 20 7b 20 54 42 49 46 5f 4c 50 41   uint { TBIF_LPA
f240: 52 41 4d 20 3d 20 30 78 30 30 30 30 30 30 31 30  RAM = 0x00000010
f250: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f260: 7b 20 54 42 49 46 5f 43 4f 4d 4d 41 4e 44 20 3d  { TBIF_COMMAND =
f270: 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65   0x00000020 }..e
f280: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 49  num : uint { TBI
f290: 46 5f 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30  F_SIZE = 0x00000
f2a0: 30 34 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  040 }....// #if 
f2b0: 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
f2c0: 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
f2d0: 6e 74 20 7b 20 54 42 49 46 5f 42 59 49 4e 44 45  nt { TBIF_BYINDE
f2e0: 58 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  X = 0x80000000 }
f2f0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
f300: 74 72 75 63 74 20 5f 32 20 7b 0d 0a 20 20 55 49  truct _2 {..  UI
f310: 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57  NT cbSize;..  DW
f320: 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69  ORD dwMask;..  i
f330: 6e 74 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20  nt idCommand;.. 
f340: 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20   int iImage;..  
f350: 42 59 54 45 20 66 73 53 74 61 74 65 3b 0d 0a 20  BYTE fsState;.. 
f360: 20 42 59 54 45 20 66 73 53 74 79 6c 65 3b 0d 0a   BYTE fsStyle;..
f370: 20 20 57 4f 52 44 20 63 78 3b 0d 0a 20 20 44 57    WORD cx;..  DW
f380: 4f 52 44 5f 50 54 52 20 6c 50 61 72 61 6d 3b 0d  ORD_PTR lParam;.
f390: 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74  .  LPSTR pszText
f3a0: 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74  ;..  int cchText
f3b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 32 20 54  ;..}..alias _2 T
f3c0: 42 42 55 54 54 4f 4e 49 4e 46 4f 41 3b 0d 0a 61  BBUTTONINFOA;..a
f3d0: 6c 69 61 73 20 5f 32 2a 20 4c 50 54 42 42 55 54  lias _2* LPTBBUT
f3e0: 54 4f 4e 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72  TONINFOA;....str
f3f0: 75 63 74 20 5f 33 20 7b 0d 0a 20 20 55 49 4e 54  uct _3 {..  UINT
f400: 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52   cbSize;..  DWOR
f410: 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74  D dwMask;..  int
f420: 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20 20 69   idCommand;..  i
f430: 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 42 59  nt iImage;..  BY
f440: 54 45 20 66 73 53 74 61 74 65 3b 0d 0a 20 20 42  TE fsState;..  B
f450: 59 54 45 20 66 73 53 74 79 6c 65 3b 0d 0a 20 20  YTE fsStyle;..  
f460: 57 4f 52 44 20 63 78 3b 0d 0a 20 20 44 57 4f 52  WORD cx;..  DWOR
f470: 44 5f 50 54 52 20 6c 50 61 72 61 6d 3b 0d 0a 20  D_PTR lParam;.. 
f480: 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b   LPWSTR pszText;
f490: 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 3b  ..  int cchText;
f4a0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 33 20 54 42  ..}..alias _3 TB
f4b0: 42 55 54 54 4f 4e 49 4e 46 4f 57 3b 0d 0a 61 6c  BUTTONINFOW;..al
f4c0: 69 61 73 20 5f 33 2a 20 4c 50 54 42 42 55 54 54  ias _3* LPTBBUTT
f4d0: 4f 4e 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23  ONINFOW;....// #
f4e0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
f4f0: 6c 69 61 73 20 54 42 42 55 54 54 4f 4e 49 4e 46  lias TBBUTTONINF
f500: 4f 57 20 54 42 42 55 54 54 4f 4e 49 4e 46 4f 3b  OW TBBUTTONINFO;
f510: 0d 0a 61 6c 69 61 73 20 4c 50 54 42 42 55 54 54  ..alias LPTBBUTT
f520: 4f 4e 49 4e 46 4f 57 20 4c 50 54 42 42 55 54 54  ONINFOW LPTBBUTT
f530: 4f 4e 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73  ONINFO;..// #els
f540: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
f550: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
f560: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f570: 54 42 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f  TB_GETBUTTONINFO
f580: 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 36 33  W = WM_USER + 63
f590: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f5a0: 7b 20 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e  { TB_SETBUTTONIN
f5b0: 46 4f 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  FOW = WM_USER + 
f5c0: 36 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  64 }..enum : uin
f5d0: 74 20 7b 20 54 42 5f 47 45 54 42 55 54 54 4f 4e  t { TB_GETBUTTON
f5e0: 49 4e 46 4f 41 20 3d 20 57 4d 5f 55 53 45 52 20  INFOA = WM_USER 
f5f0: 2b 20 36 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 65 }..enum : u
f600: 69 6e 74 20 7b 20 54 42 5f 53 45 54 42 55 54 54  int { TB_SETBUTT
f610: 4f 4e 49 4e 46 4f 41 20 3d 20 57 4d 5f 55 53 45  ONINFOA = WM_USE
f620: 52 20 2b 20 36 36 20 7d 0d 0a 2f 2f 20 23 69 66  R + 66 }..// #if
f630: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
f640: 61 73 20 54 42 5f 47 45 54 42 55 54 54 4f 4e 49  as TB_GETBUTTONI
f650: 4e 46 4f 57 20 54 42 5f 47 45 54 42 55 54 54 4f  NFOW TB_GETBUTTO
f660: 4e 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 42  NINFO;..alias TB
f670: 5f 53 45 54 42 55 54 54 4f 4e 49 4e 46 4f 57 20  _SETBUTTONINFOW 
f680: 54 42 5f 53 45 54 42 55 54 54 4f 4e 49 4e 46 4f  TB_SETBUTTONINFO
f690: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
f6a0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
f6b0: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
f6c0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 49 4e 53   : uint { TB_INS
f6d0: 45 52 54 42 55 54 54 4f 4e 57 20 3d 20 57 4d 5f  ERTBUTTONW = WM_
f6e0: 55 53 45 52 20 2b 20 36 37 20 7d 0d 0a 65 6e 75  USER + 67 }..enu
f6f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 41 44  m : uint { TB_AD
f700: 44 42 55 54 54 4f 4e 53 57 20 3d 20 57 4d 5f 55  DBUTTONSW = WM_U
f710: 53 45 52 20 2b 20 36 38 20 7d 0d 0a 0d 0a 65 6e  SER + 68 }....en
f720: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 48  um : uint { TB_H
f730: 49 54 54 45 53 54 20 3d 20 57 4d 5f 55 53 45 52  ITTEST = WM_USER
f740: 20 2b 20 36 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69   + 69 }....// #i
f750: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
f760: 69 61 73 20 54 42 5f 49 4e 53 45 52 54 42 55 54  ias TB_INSERTBUT
f770: 54 4f 4e 57 20 54 42 5f 49 4e 53 45 52 54 42 55  TONW TB_INSERTBU
f780: 54 54 4f 4e 3b 0d 0a 61 6c 69 61 73 20 54 42 5f  TTON;..alias TB_
f790: 41 44 44 42 55 54 54 4f 4e 53 57 20 54 42 5f 41  ADDBUTTONSW TB_A
f7a0: 44 44 42 55 54 54 4f 4e 53 3b 0d 0a 2f 2f 20 23  DDBUTTONS;..// #
f7b0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
f7c0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
f7d0: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
f7e0: 20 7b 20 54 42 5f 53 45 54 44 52 41 57 54 45 58   { TB_SETDRAWTEX
f7f0: 54 46 4c 41 47 53 20 3d 20 57 4d 5f 55 53 45 52  TFLAGS = WM_USER
f800: 20 2b 20 37 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65   + 70 }....// #e
f810: 6e 64 69 66 20 20 2f 2f 20 5f 57 49 4e 33 32 5f  ndif  // _WIN32_
f820: 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a  IE >= 0x0400....
f830: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
f840: 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a  E >= 0x0500)....
f850: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
f860: 5f 47 45 54 53 54 52 49 4e 47 57 20 3d 20 57 4d  _GETSTRINGW = WM
f870: 5f 55 53 45 52 20 2b 20 39 31 20 7d 0d 0a 65 6e  _USER + 91 }..en
f880: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 47  um : uint { TB_G
f890: 45 54 53 54 52 49 4e 47 41 20 3d 20 57 4d 5f 55  ETSTRINGA = WM_U
f8a0: 53 45 52 20 2b 20 39 32 20 7d 0d 0a 2f 2f 20 23  SER + 92 }..// #
f8b0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
f8c0: 6c 69 61 73 20 54 42 5f 47 45 54 53 54 52 49 4e  lias TB_GETSTRIN
f8d0: 47 57 20 54 42 5f 47 45 54 53 54 52 49 4e 47 3b  GW TB_GETSTRING;
f8e0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
f8f0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
f900: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20  ..// #endif  // 
f910: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
f920: 35 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  500....// #if (_
f930: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
f940: 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  x501)..enum : ui
f950: 6e 74 20 7b 20 54 42 4d 46 5f 50 41 44 20 3d 20  nt { TBMF_PAD = 
f960: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
f970: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 46  um : uint { TBMF
f980: 5f 42 41 52 50 41 44 20 3d 20 30 78 30 30 30 30  _BARPAD = 0x0000
f990: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
f9a0: 69 6e 74 20 7b 20 54 42 4d 46 5f 42 55 54 54 4f  int { TBMF_BUTTO
f9b0: 4e 53 50 41 43 49 4e 47 20 3d 20 30 78 30 30 30  NSPACING = 0x000
f9c0: 30 30 30 30 34 20 7d 0d 0a 0d 0a 73 74 72 75 63  00004 }....struc
f9d0: 74 20 5f 34 20 7b 0d 0a 20 20 55 49 4e 54 20 63  t _4 {..  UINT c
f9e0: 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44 20  bSize;..  DWORD 
f9f0: 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74 20 63  dwMask;..  int c
fa00: 78 50 61 64 3b 0d 0a 20 20 69 6e 74 20 63 79 50  xPad;..  int cyP
fa10: 61 64 3b 0d 0a 20 20 69 6e 74 20 63 78 42 61 72  ad;..  int cxBar
fa20: 50 61 64 3b 0d 0a 20 20 69 6e 74 20 63 79 42 61  Pad;..  int cyBa
fa30: 72 50 61 64 3b 0d 0a 20 20 69 6e 74 20 63 78 42  rPad;..  int cxB
fa40: 75 74 74 6f 6e 53 70 61 63 69 6e 67 3b 0d 0a 20  uttonSpacing;.. 
fa50: 20 69 6e 74 20 63 79 42 75 74 74 6f 6e 53 70 61   int cyButtonSpa
fa60: 63 69 6e 67 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  cing;..}..alias 
fa70: 5f 34 20 54 42 4d 45 54 52 49 43 53 3b 0d 0a 61  _4 TBMETRICS;..a
fa80: 6c 69 61 73 20 5f 34 2a 20 4c 50 54 42 4d 45 54  lias _4* LPTBMET
fa90: 52 49 43 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  RICS;....enum : 
faa0: 75 69 6e 74 20 7b 20 54 42 5f 47 45 54 4d 45 54  uint { TB_GETMET
fab0: 52 49 43 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b  RICS = WM_USER +
fac0: 20 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   101 }..enum : u
fad0: 69 6e 74 20 7b 20 54 42 5f 53 45 54 4d 45 54 52  int { TB_SETMETR
fae0: 49 43 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  ICS = WM_USER + 
faf0: 31 30 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  102 }..// #endif
fb00: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
fb10: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
fb20: 31 29 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45  1)..alias CCM_SE
fb30: 54 57 49 4e 44 4f 57 54 48 45 4d 45 20 54 42 5f  TWINDOWTHEME TB_
fb40: 53 45 54 57 49 4e 44 4f 57 54 48 45 4d 45 3b 0d  SETWINDOWTHEME;.
fb50: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
fb60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f  um : uint { TBN_
fb70: 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f 41 20 3d  GETBUTTONINFOA =
fb80: 20 54 42 4e 5f 46 49 52 53 54 2d 30 20 7d 0d 0a   TBN_FIRST-0 }..
fb90: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
fba0: 4e 5f 42 45 47 49 4e 44 52 41 47 20 3d 20 54 42  N_BEGINDRAG = TB
fbb0: 4e 5f 46 49 52 53 54 2d 31 20 7d 0d 0a 65 6e 75  N_FIRST-1 }..enu
fbc0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 45  m : uint { TBN_E
fbd0: 4e 44 44 52 41 47 20 3d 20 54 42 4e 5f 46 49 52  NDDRAG = TBN_FIR
fbe0: 53 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  ST-2 }..enum : u
fbf0: 69 6e 74 20 7b 20 54 42 4e 5f 42 45 47 49 4e 41  int { TBN_BEGINA
fc00: 44 4a 55 53 54 20 3d 20 54 42 4e 5f 46 49 52 53  DJUST = TBN_FIRS
fc10: 54 2d 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-3 }..enum : ui
fc20: 6e 74 20 7b 20 54 42 4e 5f 45 4e 44 41 44 4a 55  nt { TBN_ENDADJU
fc30: 53 54 20 3d 20 54 42 4e 5f 46 49 52 53 54 2d 34  ST = TBN_FIRST-4
fc40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
fc50: 7b 20 54 42 4e 5f 52 45 53 45 54 20 3d 20 54 42  { TBN_RESET = TB
fc60: 4e 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 6e 75  N_FIRST-5 }..enu
fc70: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 51  m : uint { TBN_Q
fc80: 55 45 52 59 49 4e 53 45 52 54 20 3d 20 54 42 4e  UERYINSERT = TBN
fc90: 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75 6d  _FIRST-6 }..enum
fca0: 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 51 55   : uint { TBN_QU
fcb0: 45 52 59 44 45 4c 45 54 45 20 3d 20 54 42 4e 5f  ERYDELETE = TBN_
fcc0: 46 49 52 53 54 2d 37 20 7d 0d 0a 65 6e 75 6d 20  FIRST-7 }..enum 
fcd0: 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 54 4f 4f  : uint { TBN_TOO
fce0: 4c 42 41 52 43 48 41 4e 47 45 20 3d 20 54 42 4e  LBARCHANGE = TBN
fcf0: 5f 46 49 52 53 54 2d 38 20 7d 0d 0a 65 6e 75 6d  _FIRST-8 }..enum
fd00: 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 43 55   : uint { TBN_CU
fd10: 53 54 48 45 4c 50 20 3d 20 54 42 4e 5f 46 49 52  STHELP = TBN_FIR
fd20: 53 54 2d 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  ST-9 }..// #if (
fd30: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
fd40: 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  300)..enum : uin
fd50: 74 20 7b 20 54 42 4e 5f 44 52 4f 50 44 4f 57 4e  t { TBN_DROPDOWN
fd60: 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 31   = TBN_FIRST - 1
fd70: 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  0 }..// #endif..
fd80: 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
fd90: 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  E >= 0x0400)..en
fda0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f  um : uint { TBN_
fdb0: 47 45 54 4f 42 4a 45 43 54 20 3d 20 54 42 4e 5f  GETOBJECT = TBN_
fdc0: 46 49 52 53 54 20 2d 20 31 32 20 7d 0d 0a 0d 0a  FIRST - 12 }....
fdd0: 73 74 72 75 63 74 20 74 61 67 4e 4d 54 42 48 4f  struct tagNMTBHO
fde0: 54 49 54 45 4d 20 7b 0d 0a 20 20 4e 4d 48 44 52  TITEM {..  NMHDR
fdf0: 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 64 4f   hdr;..  int idO
fe00: 6c 64 3b 0d 0a 20 20 69 6e 74 20 69 64 4e 65 77  ld;..  int idNew
fe10: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ;..  DWORD dwFla
fe20: 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  gs;..}..alias ta
fe30: 67 4e 4d 54 42 48 4f 54 49 54 45 4d 20 4e 4d 54  gNMTBHOTITEM NMT
fe40: 42 48 4f 54 49 54 45 4d 3b 0d 0a 61 6c 69 61 73  BHOTITEM;..alias
fe50: 20 74 61 67 4e 4d 54 42 48 4f 54 49 54 45 4d 2a   tagNMTBHOTITEM*
fe60: 20 4c 50 4e 4d 54 42 48 4f 54 49 54 45 4d 3b 0d   LPNMTBHOTITEM;.
fe70: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
fe80: 20 48 49 43 46 5f 4f 54 48 45 52 20 3d 20 30 78   HICF_OTHER = 0x
fe90: 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
fea0: 20 3a 20 75 69 6e 74 20 7b 20 48 49 43 46 5f 4d   : uint { HICF_M
feb0: 4f 55 53 45 20 3d 20 30 78 30 30 30 30 30 30 30  OUSE = 0x0000000
fec0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
fed0: 20 7b 20 48 49 43 46 5f 41 52 52 4f 57 4b 45 59   { HICF_ARROWKEY
fee0: 53 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  S = 0x00000002 }
fef0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ff00: 48 49 43 46 5f 41 43 43 45 4c 45 52 41 54 4f 52  HICF_ACCELERATOR
ff10: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
ff20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
ff30: 49 43 46 5f 44 55 50 41 43 43 45 4c 20 3d 20 30  ICF_DUPACCEL = 0
ff40: 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75  x00000008 }..enu
ff50: 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49 43 46 5f  m : uint { HICF_
ff60: 45 4e 54 45 52 49 4e 47 20 3d 20 30 78 30 30 30  ENTERING = 0x000
ff70: 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00010 }..enum : 
ff80: 75 69 6e 74 20 7b 20 48 49 43 46 5f 4c 45 41 56  uint { HICF_LEAV
ff90: 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30 32 30  ING = 0x00000020
ffa0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ffb0: 7b 20 48 49 43 46 5f 52 45 53 45 4c 45 43 54 20  { HICF_RESELECT 
ffc0: 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a  = 0x00000040 }..
ffd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 49  enum : uint { HI
ffe0: 43 46 5f 4c 4d 4f 55 53 45 20 3d 20 30 78 30 30  CF_LMOUSE = 0x00
fff0: 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000080 }..enum :
10000 20 75 69 6e 74 20 7b 20 48 49 43 46 5f 54 4f 47   uint { HICF_TOG
10010 47 4c 45 44 52 4f 50 44 4f 57 4e 20 3d 20 30 78  GLEDROPDOWN = 0x
10020 30 30 30 30 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e  00000100 }....en
10030 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f  um : uint { TBN_
10040 48 4f 54 49 54 45 4d 43 48 41 4e 47 45 20 3d 20  HOTITEMCHANGE = 
10050 54 42 4e 5f 46 49 52 53 54 20 2d 20 31 33 20 7d  TBN_FIRST - 13 }
10060 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10070 54 42 4e 5f 44 52 41 47 4f 55 54 20 3d 20 54 42  TBN_DRAGOUT = TB
10080 4e 5f 46 49 52 53 54 20 2d 20 31 34 20 7d 0d 0a  N_FIRST - 14 }..
10090 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
100a0 4e 5f 44 45 4c 45 54 49 4e 47 42 55 54 54 4f 4e  N_DELETINGBUTTON
100b0 20 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 31   = TBN_FIRST - 1
100c0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
100d0 20 7b 20 54 42 4e 5f 47 45 54 44 49 53 50 49 4e   { TBN_GETDISPIN
100e0 46 4f 41 20 3d 20 54 42 4e 5f 46 49 52 53 54 20  FOA = TBN_FIRST 
100f0 2d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  - 16 }..enum : u
10100 69 6e 74 20 7b 20 54 42 4e 5f 47 45 54 44 49 53  int { TBN_GETDIS
10110 50 49 4e 46 4f 57 20 3d 20 54 42 4e 5f 46 49 52  PINFOW = TBN_FIR
10120 53 54 20 2d 20 31 37 20 7d 0d 0a 65 6e 75 6d 20  ST - 17 }..enum 
10130 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 47 45 54  : uint { TBN_GET
10140 49 4e 46 4f 54 49 50 41 20 3d 20 54 42 4e 5f 46  INFOTIPA = TBN_F
10150 49 52 53 54 20 2d 20 31 38 20 7d 0d 0a 65 6e 75  IRST - 18 }..enu
10160 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 47  m : uint { TBN_G
10170 45 54 49 4e 46 4f 54 49 50 57 20 3d 20 54 42 4e  ETINFOTIPW = TBN
10180 5f 46 49 52 53 54 20 2d 20 31 39 20 7d 0d 0a 65  _FIRST - 19 }..e
10190 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e  num : uint { TBN
101a0 5f 47 45 54 42 55 54 54 4f 4e 49 4e 46 4f 57 20  _GETBUTTONINFOW 
101b0 3d 20 54 42 4e 5f 46 49 52 53 54 20 2d 20 32 30  = TBN_FIRST - 20
101c0 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e   }..// #if (_WIN
101d0 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29  32_IE >= 0x0500)
101e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
101f0 54 42 4e 5f 52 45 53 54 4f 52 45 20 3d 20 54 42  TBN_RESTORE = TB
10200 4e 5f 46 49 52 53 54 20 2d 20 32 31 20 7d 0d 0a  N_FIRST - 21 }..
10210 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
10220 4e 5f 53 41 56 45 20 3d 20 54 42 4e 5f 46 49 52  N_SAVE = TBN_FIR
10230 53 54 20 2d 20 32 32 20 7d 0d 0a 65 6e 75 6d 20  ST - 22 }..enum 
10240 3a 20 75 69 6e 74 20 7b 20 54 42 4e 5f 49 4e 49  : uint { TBN_INI
10250 54 43 55 53 54 4f 4d 49 5a 45 20 3d 20 54 42 4e  TCUSTOMIZE = TBN
10260 5f 46 49 52 53 54 20 2d 20 32 33 20 7d 0d 0a 65  _FIRST - 23 }..e
10270 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e  num : uint { TBN
10280 52 46 5f 48 49 44 45 48 45 4c 50 20 3d 20 30 78  RF_HIDEHELP = 0x
10290 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
102a0 20 3a 20 75 69 6e 74 20 7b 20 54 42 4e 52 46 5f   : uint { TBNRF_
102b0 45 4e 44 43 55 53 54 4f 4d 49 5a 45 20 3d 20 30  ENDCUSTOMIZE = 0
102c0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 2f 2f 20  x00000002 }..// 
102d0 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e 33  #endif // (_WIN3
102e0 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
102f0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
10300 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
10310 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 54  ...struct tagNMT
10320 42 53 41 56 45 20 7b 0d 0a 20 20 4e 4d 48 44 52  BSAVE {..  NMHDR
10330 20 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 2a   hdr;..  DWORD *
10340 20 70 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44   pData;..  DWORD
10350 20 2a 20 70 43 75 72 72 65 6e 74 3b 0d 0a 20 20   * pCurrent;..  
10360 55 49 4e 54 20 63 62 44 61 74 61 3b 0d 0a 20 20  UINT cbData;..  
10370 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e  int iItem;..  in
10380 74 20 63 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 54  t cButtons;..  T
10390 42 42 55 54 54 4f 4e 20 74 62 42 75 74 74 6f 6e  BBUTTON tbButton
103a0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e  ;..}..alias tagN
103b0 4d 54 42 53 41 56 45 20 4e 4d 54 42 53 41 56 45  MTBSAVE NMTBSAVE
103c0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42  ;..alias tagNMTB
103d0 53 41 56 45 2a 20 4c 50 4e 4d 54 42 53 41 56 45  SAVE* LPNMTBSAVE
103e0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  ;....struct tagN
103f0 4d 54 42 52 45 53 54 4f 52 45 20 7b 0d 0a 20 20  MTBRESTORE {..  
10400 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 57  NMHDR hdr;..  DW
10410 4f 52 44 20 2a 20 70 44 61 74 61 3b 0d 0a 20 20  ORD * pData;..  
10420 44 57 4f 52 44 20 2a 20 70 43 75 72 72 65 6e 74  DWORD * pCurrent
10430 3b 0d 0a 20 20 55 49 4e 54 20 63 62 44 61 74 61  ;..  UINT cbData
10440 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d  ;..  int iItem;.
10450 0a 20 20 69 6e 74 20 63 42 75 74 74 6f 6e 73 3b  .  int cButtons;
10460 0d 0a 20 20 69 6e 74 20 63 62 42 79 74 65 73 50  ..  int cbBytesP
10470 65 72 52 65 63 6f 72 64 3b 0d 0a 20 20 54 42 42  erRecord;..  TBB
10480 55 54 54 4f 4e 20 74 62 42 75 74 74 6f 6e 3b 0d  UTTON tbButton;.
10490 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54  .}..alias tagNMT
104a0 42 52 45 53 54 4f 52 45 20 4e 4d 54 42 52 45 53  BRESTORE NMTBRES
104b0 54 4f 52 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67  TORE;..alias tag
104c0 4e 4d 54 42 52 45 53 54 4f 52 45 2a 20 4c 50 4e  NMTBRESTORE* LPN
104d0 4d 54 42 52 45 53 54 4f 52 45 3b 0d 0a 0d 0a 2f  MTBRESTORE;..../
104e0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49  / #endif // (_WI
104f0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
10500 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  )....struct tagN
10510 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41 20 7b  MTBGETINFOTIPA {
10520 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
10530 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b    LPSTR pszText;
10540 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d  ..  int cchTextM
10550 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d  ax;..  int iItem
10560 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  ;..  LPARAM lPar
10570 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  am;..}..alias ta
10580 67 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41  gNMTBGETINFOTIPA
10590 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41   NMTBGETINFOTIPA
105a0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42  ;..alias tagNMTB
105b0 47 45 54 49 4e 46 4f 54 49 50 41 2a 20 4c 50 4e  GETINFOTIPA* LPN
105c0 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 41 3b 0d  MTBGETINFOTIPA;.
105d0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 54  ...struct tagNMT
105e0 42 47 45 54 49 4e 46 4f 54 49 50 57 20 7b 0d 0a  BGETINFOTIPW {..
105f0 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20    NMHDR hdr;..  
10600 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d  LPWSTR pszText;.
10610 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61  .  int cchTextMa
10620 78 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b  x;..  int iItem;
10630 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
10640 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  m;..}..alias tag
10650 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 57 20  NMTBGETINFOTIPW 
10660 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50 57 3b  NMTBGETINFOTIPW;
10670 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 42 47  ..alias tagNMTBG
10680 45 54 49 4e 46 4f 54 49 50 57 2a 20 4c 50 4e 4d  ETINFOTIPW* LPNM
10690 54 42 47 45 54 49 4e 46 4f 54 49 50 57 3b 0d 0a  TBGETINFOTIPW;..
106a0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
106b0 4f 44 45 0d 0a 61 6c 69 61 73 20 54 42 4e 5f 47  ODE..alias TBN_G
106c0 45 54 49 4e 46 4f 54 49 50 57 20 54 42 4e 5f 47  ETINFOTIPW TBN_G
106d0 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61  ETINFOTIP;..alia
106e0 73 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50  s NMTBGETINFOTIP
106f0 57 20 4e 4d 54 42 47 45 54 49 4e 46 4f 54 49 50  W NMTBGETINFOTIP
10700 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 42 47  ;..alias LPNMTBG
10710 45 54 49 4e 46 4f 54 49 50 57 20 4c 50 4e 4d 54  ETINFOTIPW LPNMT
10720 42 47 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 2f 2f  BGETINFOTIP;..//
10730 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
10740 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
10750 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
10760 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
10770 4e 46 5f 49 4d 41 47 45 20 3d 20 30 78 30 30 30  NF_IMAGE = 0x000
10780 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
10790 75 69 6e 74 20 7b 20 54 42 4e 46 5f 54 45 58 54  uint { TBNF_TEXT
107a0 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
107b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
107c0 42 4e 46 5f 44 49 5f 53 45 54 49 54 45 4d 20 3d  BNF_DI_SETITEM =
107d0 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x10000000 }...
107e0 0a 73 74 72 75 63 74 20 5f 35 20 7b 0d 0a 20 20  .struct _5 {..  
107f0 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 57  NMHDR hdr;..  DW
10800 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69  ORD dwMask;..  i
10810 6e 74 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20  nt idCommand;.. 
10820 20 44 57 4f 52 44 5f 50 54 52 20 6c 50 61 72 61   DWORD_PTR lPara
10830 6d 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65  m;..  int iImage
10840 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65  ;..  LPSTR pszTe
10850 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65  xt;..  int cchTe
10860 78 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 35  xt;..}..alias _5
10870 20 4e 4d 54 42 44 49 53 50 49 4e 46 4f 41 3b 0d   NMTBDISPINFOA;.
10880 0a 61 6c 69 61 73 20 5f 35 2a 20 4c 50 4e 4d 54  .alias _5* LPNMT
10890 42 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73  BDISPINFOA;....s
108a0 74 72 75 63 74 20 5f 36 20 7b 0d 0a 20 20 4e 4d  truct _6 {..  NM
108b0 48 44 52 20 68 64 72 3b 0d 0a 20 20 44 57 4f 52  HDR hdr;..  DWOR
108c0 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20 69 6e 74  D dwMask;..  int
108d0 20 69 64 43 6f 6d 6d 61 6e 64 3b 0d 0a 20 20 44   idCommand;..  D
108e0 57 4f 52 44 5f 50 54 52 20 6c 50 61 72 61 6d 3b  WORD_PTR lParam;
108f0 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d  ..  int iImage;.
10900 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78  .  LPWSTR pszTex
10910 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78  t;..  int cchTex
10920 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 36 20  t;..}..alias _6 
10930 4e 4d 54 42 44 49 53 50 49 4e 46 4f 57 3b 0d 0a  NMTBDISPINFOW;..
10940 61 6c 69 61 73 20 5f 36 2a 20 4c 50 4e 4d 54 42  alias _6* LPNMTB
10950 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f  DISPINFOW;....//
10960 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
10970 0a 61 6c 69 61 73 20 54 42 4e 5f 47 45 54 44 49  .alias TBN_GETDI
10980 53 50 49 4e 46 4f 57 20 54 42 4e 5f 47 45 54 44  SPINFOW TBN_GETD
10990 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  ISPINFO;..alias 
109a0 4e 4d 54 42 44 49 53 50 49 4e 46 4f 57 20 4e 4d  NMTBDISPINFOW NM
109b0 54 42 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69  TBDISPINFO;..ali
109c0 61 73 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e 46  as LPNMTBDISPINF
109d0 4f 57 20 4c 50 4e 4d 54 42 44 49 53 50 49 4e 46  OW LPNMTBDISPINF
109e0 4f 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  O;..// #else..//
109f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
10a00 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
10a10 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
10a20 74 20 7b 20 54 42 44 44 52 45 54 5f 44 45 46 41  t { TBDDRET_DEFA
10a30 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ULT = 0 }..enum 
10a40 3a 20 75 69 6e 74 20 7b 20 54 42 44 44 52 45 54  : uint { TBDDRET
10a50 5f 4e 4f 44 45 46 41 55 4c 54 20 3d 20 31 20 7d  _NODEFAULT = 1 }
10a60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10a70 54 42 44 44 52 45 54 5f 54 52 45 41 54 50 52 45  TBDDRET_TREATPRE
10a80 53 53 45 44 20 3d 20 32 20 7d 0d 0a 0d 0a 2f 2f  SSED = 2 }....//
10a90 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
10aa0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
10ab0 69 61 73 20 54 42 4e 5f 47 45 54 42 55 54 54 4f  ias TBN_GETBUTTO
10ac0 4e 49 4e 46 4f 57 20 54 42 4e 5f 47 45 54 42 55  NINFOW TBN_GETBU
10ad0 54 54 4f 4e 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65  TTONINFO;..// #e
10ae0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
10af0 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
10b00 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
10b10 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4e  0x0300)..alias N
10b20 4d 54 4f 4f 4c 42 41 52 41 20 54 42 4e 4f 54 49  MTOOLBARA TBNOTI
10b30 46 59 41 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 4f  FYA;..alias NMTO
10b40 4f 4c 42 41 52 57 20 54 42 4e 4f 54 49 46 59 57  OLBARW TBNOTIFYW
10b50 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 4f 4f  ;..alias LPNMTOO
10b60 4c 42 41 52 41 20 4c 50 54 42 4e 4f 54 49 46 59  LBARA LPTBNOTIFY
10b70 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 4f  A;..alias LPNMTO
10b80 4f 4c 42 41 52 57 20 4c 50 54 42 4e 4f 54 49 46  OLBARW LPTBNOTIF
10b90 59 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  YW;..// #else../
10ba0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
10bb0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
10bc0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
10bd0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
10be0 0d 0a 61 6c 69 61 73 20 4e 4d 54 4f 4f 4c 42 41  ..alias NMTOOLBA
10bf0 52 20 54 42 4e 4f 54 49 46 59 3b 0d 0a 61 6c 69  R TBNOTIFY;..ali
10c00 61 73 20 4c 50 4e 4d 54 4f 4f 4c 42 41 52 20 4c  as LPNMTOOLBAR L
10c10 50 54 42 4e 4f 54 49 46 59 3b 0d 0a 0d 0a 2f 2f  PTBNOTIFY;....//
10c20 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
10c30 3e 3d 20 30 78 30 33 30 30 29 0d 0a 73 74 72 75  >= 0x0300)..stru
10c40 63 74 20 74 61 67 4e 4d 54 4f 4f 4c 42 41 52 41  ct tagNMTOOLBARA
10c50 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
10c60 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a  ..  int iItem;..
10c70 20 20 54 42 42 55 54 54 4f 4e 20 74 62 42 75 74    TBBUTTON tbBut
10c80 74 6f 6e 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54  ton;..  int cchT
10c90 65 78 74 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73  ext;..  LPSTR ps
10ca0 7a 54 65 78 74 3b 0d 0a 2f 2f 20 23 69 66 20 28  zText;..// #if (
10cb0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35  _WIN32_IE >= 0x5
10cc0 30 30 29 0d 0a 20 20 52 45 43 54 20 72 63 42 75  00)..  RECT rcBu
10cd0 74 74 6f 6e 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  tton;..// #endif
10ce0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  ..}..alias tagNM
10cf0 54 4f 4f 4c 42 41 52 41 20 4e 4d 54 4f 4f 4c 42  TOOLBARA NMTOOLB
10d00 41 52 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  ARA;..alias tagN
10d10 4d 54 4f 4f 4c 42 41 52 41 2a 20 4c 50 4e 4d 54  MTOOLBARA* LPNMT
10d20 4f 4f 4c 42 41 52 41 3b 0d 0a 0d 0a 2f 2f 20 23  OOLBARA;....// #
10d30 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
10d40 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
10d50 30 33 30 30 29 0d 0a 73 74 72 75 63 74 20 74 61  0300)..struct ta
10d60 67 4e 4d 54 4f 4f 4c 42 41 52 57 20 7b 0d 0a 20  gNMTOOLBARW {.. 
10d70 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69   NMHDR hdr;..  i
10d80 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 54 42 42  nt iItem;..  TBB
10d90 55 54 54 4f 4e 20 74 62 42 75 74 74 6f 6e 3b 0d  UTTON tbButton;.
10da0 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 3b 0d  .  int cchText;.
10db0 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78  .  LPWSTR pszTex
10dc0 74 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  t;..// #if (_WIN
10dd0 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 0d  32_IE >= 0x500).
10de0 0a 20 20 52 45 43 54 20 72 63 42 75 74 74 6f 6e  .  RECT rcButton
10df0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ;..// #endif..}.
10e00 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 4f 4f 4c  .alias tagNMTOOL
10e10 42 41 52 57 20 4e 4d 54 4f 4f 4c 42 41 52 57 3b  BARW NMTOOLBARW;
10e20 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 4f 4f  ..alias tagNMTOO
10e30 4c 42 41 52 57 2a 20 4c 50 4e 4d 54 4f 4f 4c 42  LBARW* LPNMTOOLB
10e40 41 52 57 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  ARW;....// #endi
10e50 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  f....// #ifdef U
10e60 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e 4d  NICODE..alias NM
10e70 54 4f 4f 4c 42 41 52 57 20 4e 4d 54 4f 4f 4c 42  TOOLBARW NMTOOLB
10e80 41 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54  AR;..alias LPNMT
10e90 4f 4f 4c 42 41 52 57 20 4c 50 4e 4d 54 4f 4f 4c  OOLBARW LPNMTOOL
10ea0 42 41 52 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  BAR;..// #else..
10eb0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
10ec0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
10ed0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
10ee0 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f  endif      // NO
10ef0 54 4f 4f 4c 42 41 52 0d 0a 0d 0a 2f 2f 20 23 69  TOOLBAR....// #i
10f00 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
10f10 30 78 30 33 30 30 29 0d 0a 0d 0a 2f 2f 20 23 69  0x0300)....// #i
10f20 66 6e 64 65 66 20 4e 4f 52 45 42 41 52 0d 0a 0d  fndef NOREBAR...
10f30 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33  .// #ifdef _WIN3
10f40 32 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d  2..const wchar[]
10f50 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45 57   REBARCLASSNAMEW
10f60 20 3d 20 22 52 65 42 61 72 57 69 6e 64 6f 77 33   = "ReBarWindow3
10f70 32 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b  2";..const char[
10f80 5d 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45  ] REBARCLASSNAME
10f90 41 20 3d 20 22 52 65 42 61 72 57 69 6e 64 6f 77  A = "ReBarWindow
10fa0 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  32";....// #ifde
10fb0 66 20 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  f  UNICODE..alia
10fc0 73 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45  s REBARCLASSNAME
10fd0 57 20 52 45 42 41 52 43 4c 41 53 53 4e 41 4d 45  W REBARCLASSNAME
10fe0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
10ff0 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
11000 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
11010 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
11020 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
11030 20 52 42 49 4d 5f 49 4d 41 47 45 4c 49 53 54 20   RBIM_IMAGELIST 
11040 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
11050 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
11060 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
11070 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
11080 53 5f 54 4f 4f 4c 54 49 50 53 20 3d 20 30 78 30  S_TOOLTIPS = 0x0
11090 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
110a0 6e 74 20 7b 20 52 42 53 5f 56 41 52 48 45 49 47  nt { RBS_VARHEIG
110b0 48 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65  HT = 0x0200 }..e
110c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 53  num : uint { RBS
110d0 5f 42 41 4e 44 42 4f 52 44 45 52 53 20 3d 20 30  _BANDBORDERS = 0
110e0 78 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0400 }..enum : 
110f0 75 69 6e 74 20 7b 20 52 42 53 5f 46 49 58 45 44  uint { RBS_FIXED
11100 4f 52 44 45 52 20 3d 20 30 78 30 38 30 30 20 7d  ORDER = 0x0800 }
11110 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11120 52 42 53 5f 52 45 47 49 53 54 45 52 44 52 4f 50  RBS_REGISTERDROP
11130 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75   = 0x1000 }..enu
11140 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 53 5f 41  m : uint { RBS_A
11150 55 54 4f 53 49 5a 45 20 3d 20 30 78 32 30 30 30  UTOSIZE = 0x2000
11160 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11170 7b 20 52 42 53 5f 56 45 52 54 49 43 41 4c 47 52  { RBS_VERTICALGR
11180 49 50 50 45 52 20 3d 20 30 78 34 30 30 30 20 7d  IPPER = 0x4000 }
11190 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
111a0 52 42 53 5f 44 42 4c 43 4c 4b 54 4f 47 47 4c 45  RBS_DBLCLKTOGGLE
111b0 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f 2f 20   = 0x8000 }..// 
111c0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
111d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
111e0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
111f0 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
11200 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
11210 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 52 45  ....struct tagRE
11220 42 41 52 49 4e 46 4f 20 7b 0d 0a 20 20 55 49 4e  BARINFO {..  UIN
11230 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e  T cbSize;..  UIN
11240 54 20 66 4d 61 73 6b 3b 0d 0a 2f 2f 20 23 69 66  T fMask;..// #if
11250 6e 64 65 66 20 4e 4f 49 4d 41 47 45 41 50 49 53  ndef NOIMAGEAPIS
11260 0d 0a 20 20 48 49 4d 41 47 45 4c 49 53 54 20 68  ..  HIMAGELIST h
11270 69 6d 6c 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  iml;..// #else..
11280 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
11290 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52  f..}..alias tagR
112a0 45 42 41 52 49 4e 46 4f 20 52 45 42 41 52 49 4e  EBARINFO REBARIN
112b0 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 52 45  FO;..alias tagRE
112c0 42 41 52 49 4e 46 4f 2a 20 4c 50 52 45 42 41 52  BARINFO* LPREBAR
112d0 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  INFO;....enum : 
112e0 75 69 6e 74 20 7b 20 52 42 42 53 5f 42 52 45 41  uint { RBBS_BREA
112f0 4b 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  K = 0x00000001 }
11300 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11310 52 42 42 53 5f 46 49 58 45 44 53 49 5a 45 20 3d  RBBS_FIXEDSIZE =
11320 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
11330 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42  num : uint { RBB
11340 53 5f 43 48 49 4c 44 45 44 47 45 20 3d 20 30 78  S_CHILDEDGE = 0x
11350 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
11360 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 48   : uint { RBBS_H
11370 49 44 44 45 4e 20 3d 20 30 78 30 30 30 30 30 30  IDDEN = 0x000000
11380 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
11390 74 20 7b 20 52 42 42 53 5f 4e 4f 56 45 52 54 20  t { RBBS_NOVERT 
113a0 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a  = 0x00000010 }..
113b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
113c0 42 53 5f 46 49 58 45 44 42 4d 50 20 3d 20 30 78  BS_FIXEDBMP = 0x
113d0 30 30 30 30 30 30 32 30 20 7d 0d 0a 2f 2f 20 23  00000020 }..// #
113e0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
113f0 20 30 78 30 34 30 30 29 20 20 20 20 20 20 20 20   0x0400)        
11400 20 20 20 20 20 20 20 2f 2f 0d 0a 65 6e 75 6d 20         //..enum 
11410 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 56 41  : uint { RBBS_VA
11420 52 49 41 42 4c 45 48 45 49 47 48 54 20 3d 20 30  RIABLEHEIGHT = 0
11430 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75  x00000040 }..enu
11440 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53 5f  m : uint { RBBS_
11450 47 52 49 50 50 45 52 41 4c 57 41 59 53 20 3d 20  GRIPPERALWAYS = 
11460 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e  0x00000080 }..en
11470 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 53  um : uint { RBBS
11480 5f 4e 4f 47 52 49 50 50 45 52 20 3d 20 30 78 30  _NOGRIPPER = 0x0
11490 30 30 30 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 69  0000100 }..// #i
114a0 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
114b0 30 78 30 35 30 30 29 20 20 20 20 20 20 20 20 20  0x0500)         
114c0 20 20 20 20 20 20 2f 2f 0d 0a 65 6e 75 6d 20 3a        //..enum :
114d0 20 75 69 6e 74 20 7b 20 52 42 42 53 5f 55 53 45   uint { RBBS_USE
114e0 43 48 45 56 52 4f 4e 20 3d 20 30 78 30 30 30 30  CHEVRON = 0x0000
114f0 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  0200 }..// #if (
11500 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
11510 35 30 31 29 20 20 20 20 20 20 20 20 20 20 20 20  501)            
11520 20 20 20 2f 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69     //..enum : ui
11530 6e 74 20 7b 20 52 42 42 53 5f 48 49 44 45 54 49  nt { RBBS_HIDETI
11540 54 4c 45 20 3d 20 30 78 30 30 30 30 30 34 30 30  TLE = 0x00000400
11550 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11560 7b 20 52 42 42 53 5f 54 4f 50 41 4c 49 47 4e 20  { RBBS_TOPALIGN 
11570 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a  = 0x00000800 }..
11580 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 30 78 30  // #endif // 0x0
11590 35 30 31 20 20 20 20 20 20 20 20 20 20 20 20 20  501             
115a0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 2f             //../
115b0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 30 78 30 35  / #endif // 0x05
115c0 30 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20  00              
115d0 20 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 2f 2f            //..//
115e0 20 23 65 6e 64 69 66 20 2f 2f 20 30 78 30 34 30   #endif // 0x040
115f0 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  0               
11600 20 20 20 20 20 20 20 20 20 2f 2f 0d 0a 0d 0a 65           //....e
11610 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42  num : uint { RBB
11620 49 4d 5f 53 54 59 4c 45 20 3d 20 30 78 30 30 30  IM_STYLE = 0x000
11630 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
11640 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f 43 4f 4c  uint { RBBIM_COL
11650 4f 52 53 20 3d 20 30 78 30 30 30 30 30 30 30 32  ORS = 0x00000002
11660 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11670 7b 20 52 42 42 49 4d 5f 54 45 58 54 20 3d 20 30  { RBBIM_TEXT = 0
11680 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75  x00000004 }..enu
11690 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 49 4d  m : uint { RBBIM
116a0 5f 49 4d 41 47 45 20 3d 20 30 78 30 30 30 30 30  _IMAGE = 0x00000
116b0 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
116c0 6e 74 20 7b 20 52 42 42 49 4d 5f 43 48 49 4c 44  nt { RBBIM_CHILD
116d0 20 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d   = 0x00000010 }.
116e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
116f0 42 42 49 4d 5f 43 48 49 4c 44 53 49 5a 45 20 3d  BBIM_CHILDSIZE =
11700 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65   0x00000020 }..e
11710 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 42  num : uint { RBB
11720 49 4d 5f 53 49 5a 45 20 3d 20 30 78 30 30 30 30  IM_SIZE = 0x0000
11730 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0040 }..enum : u
11740 69 6e 74 20 7b 20 52 42 42 49 4d 5f 42 41 43 4b  int { RBBIM_BACK
11750 47 52 4f 55 4e 44 20 3d 20 30 78 30 30 30 30 30  GROUND = 0x00000
11760 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
11770 6e 74 20 7b 20 52 42 42 49 4d 5f 49 44 20 3d 20  nt { RBBIM_ID = 
11780 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 2f 2f  0x00000100 }..//
11790 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
117a0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
117b0 20 3a 20 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f   : uint { RBBIM_
117c0 49 44 45 41 4c 53 49 5a 45 20 3d 20 30 78 30 30  IDEALSIZE = 0x00
117d0 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000200 }..enum :
117e0 20 75 69 6e 74 20 7b 20 52 42 42 49 4d 5f 4c 50   uint { RBBIM_LP
117f0 41 52 41 4d 20 3d 20 30 78 30 30 30 30 30 34 30  ARAM = 0x0000040
11800 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
11810 20 7b 20 52 42 42 49 4d 5f 48 45 41 44 45 52 53   { RBBIM_HEADERS
11820 49 5a 45 20 3d 20 30 78 30 30 30 30 30 38 30 30  IZE = 0x00000800
11830 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
11840 0a 73 74 72 75 63 74 20 74 61 67 52 45 42 41 52  .struct tagREBAR
11850 42 41 4e 44 49 4e 46 4f 41 20 7b 0d 0a 20 20 55  BANDINFOA {..  U
11860 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 55  INT cbSize;..  U
11870 49 4e 54 20 66 4d 61 73 6b 3b 0d 0a 20 20 55 49  INT fMask;..  UI
11880 4e 54 20 66 53 74 79 6c 65 3b 0d 0a 20 20 43 4f  NT fStyle;..  CO
11890 4c 4f 52 52 45 46 20 63 6c 72 46 6f 72 65 3b 0d  LORREF clrFore;.
118a0 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 42  .  COLORREF clrB
118b0 61 63 6b 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70  ack;..  LPSTR lp
118c0 54 65 78 74 3b 0d 0a 20 20 55 49 4e 54 20 63 63  Text;..  UINT cc
118d0 68 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65  h;..  int iImage
118e0 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 43 68  ;..  HWND hwndCh
118f0 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63 78 4d  ild;..  UINT cxM
11900 69 6e 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54  inChild;..  UINT
11910 20 63 79 4d 69 6e 43 68 69 6c 64 3b 0d 0a 20 20   cyMinChild;..  
11920 55 49 4e 54 20 63 78 3b 0d 0a 20 20 48 42 49 54  UINT cx;..  HBIT
11930 4d 41 50 20 68 62 6d 42 61 63 6b 3b 0d 0a 20 20  MAP hbmBack;..  
11940 55 49 4e 54 20 77 49 44 3b 0d 0a 2f 2f 20 23 69  UINT wID;..// #i
11950 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
11960 30 78 30 34 30 30 29 0d 0a 20 20 55 49 4e 54 20  0x0400)..  UINT 
11970 63 79 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54  cyChild;..  UINT
11980 20 63 79 4d 61 78 43 68 69 6c 64 3b 0d 0a 20 20   cyMaxChild;..  
11990 55 49 4e 54 20 63 79 49 6e 74 65 67 72 61 6c 3b  UINT cyIntegral;
119a0 0d 0a 20 20 55 49 4e 54 20 63 78 49 64 65 61 6c  ..  UINT cxIdeal
119b0 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  ;..  LPARAM lPar
119c0 61 6d 3b 0d 0a 20 20 55 49 4e 54 20 63 78 48 65  am;..  UINT cxHe
119d0 61 64 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  ader;..// #endif
119e0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 52 45  ..}..alias tagRE
119f0 42 41 52 42 41 4e 44 49 4e 46 4f 41 20 52 45 42  BARBANDINFOA REB
11a00 41 52 42 41 4e 44 49 4e 46 4f 41 3b 0d 0a 61 6c  ARBANDINFOA;..al
11a10 69 61 73 20 74 61 67 52 45 42 41 52 42 41 4e 44  ias tagREBARBAND
11a20 49 4e 46 4f 41 2a 20 4c 50 52 45 42 41 52 42 41  INFOA* LPREBARBA
11a30 4e 44 49 4e 46 4f 41 3b 0d 0a 0d 0a 61 6c 69 61  NDINFOA;....alia
11a40 73 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 41  s REBARBANDINFOA
11a50 2a 20 4c 50 43 52 45 42 41 52 42 41 4e 44 49 4e  * LPCREBARBANDIN
11a60 46 4f 41 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  FOA;....// #defi
11a70 6e 65 20 52 45 42 41 52 42 41 4e 44 49 4e 46 4f  ne REBARBANDINFO
11a80 41 5f 56 33 5f 53 49 5a 45 20 43 43 53 49 5a 45  A_V3_SIZE CCSIZE
11a90 4f 46 5f 53 54 52 55 43 54 28 52 45 42 41 52 42  OF_STRUCT(REBARB
11aa0 41 4e 44 49 4e 46 4f 41 2c 20 77 49 44 29 0d 0a  ANDINFOA, wID)..
11ab0 2f 2f 20 23 64 65 66 69 6e 65 20 52 45 42 41 52  // #define REBAR
11ac0 42 41 4e 44 49 4e 46 4f 57 5f 56 33 5f 53 49 5a  BANDINFOW_V3_SIZ
11ad0 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43  E CCSIZEOF_STRUC
11ae0 54 28 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57  T(REBARBANDINFOW
11af0 2c 20 77 49 44 29 0d 0a 0d 0a 73 74 72 75 63 74  , wID)....struct
11b00 20 74 61 67 52 45 42 41 52 42 41 4e 44 49 4e 46   tagREBARBANDINF
11b10 4f 57 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53  OW {..  UINT cbS
11b20 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 66 4d 61  ize;..  UINT fMa
11b30 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 66 53 74 79  sk;..  UINT fSty
11b40 6c 65 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20  le;..  COLORREF 
11b50 63 6c 72 46 6f 72 65 3b 0d 0a 20 20 43 4f 4c 4f  clrFore;..  COLO
11b60 52 52 45 46 20 63 6c 72 42 61 63 6b 3b 0d 0a 20  RREF clrBack;.. 
11b70 20 4c 50 57 53 54 52 20 6c 70 54 65 78 74 3b 0d   LPWSTR lpText;.
11b80 0a 20 20 55 49 4e 54 20 63 63 68 3b 0d 0a 20 20  .  UINT cch;..  
11b90 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 48  int iImage;..  H
11ba0 57 4e 44 20 68 77 6e 64 43 68 69 6c 64 3b 0d 0a  WND hwndChild;..
11bb0 20 20 55 49 4e 54 20 63 78 4d 69 6e 43 68 69 6c    UINT cxMinChil
11bc0 64 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 69 6e  d;..  UINT cyMin
11bd0 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63  Child;..  UINT c
11be0 78 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62  x;..  HBITMAP hb
11bf0 6d 42 61 63 6b 3b 0d 0a 20 20 55 49 4e 54 20 77  mBack;..  UINT w
11c00 49 44 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  ID;..// #if (_WI
11c10 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
11c20 29 0d 0a 20 20 55 49 4e 54 20 63 79 43 68 69 6c  )..  UINT cyChil
11c30 64 3b 0d 0a 20 20 55 49 4e 54 20 63 79 4d 61 78  d;..  UINT cyMax
11c40 43 68 69 6c 64 3b 0d 0a 20 20 55 49 4e 54 20 63  Child;..  UINT c
11c50 79 49 6e 74 65 67 72 61 6c 3b 0d 0a 20 20 55 49  yIntegral;..  UI
11c60 4e 54 20 63 78 49 64 65 61 6c 3b 0d 0a 20 20 4c  NT cxIdeal;..  L
11c70 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20  PARAM lParam;.. 
11c80 20 55 49 4e 54 20 63 78 48 65 61 64 65 72 3b 0d   UINT cxHeader;.
11c90 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61  .// #endif..}..a
11ca0 6c 69 61 73 20 74 61 67 52 45 42 41 52 42 41 4e  lias tagREBARBAN
11cb0 44 49 4e 46 4f 57 20 52 45 42 41 52 42 41 4e 44  DINFOW REBARBAND
11cc0 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20 74 61  INFOW;..alias ta
11cd0 67 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 2a  gREBARBANDINFOW*
11ce0 20 4c 50 52 45 42 41 52 42 41 4e 44 49 4e 46 4f   LPREBARBANDINFO
11cf0 57 3b 0d 0a 0d 0a 61 6c 69 61 73 20 52 45 42 41  W;....alias REBA
11d00 52 42 41 4e 44 49 4e 46 4f 57 2a 20 4c 50 43 52  RBANDINFOW* LPCR
11d10 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 3b 0d 0a  EBARBANDINFOW;..
11d20 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
11d30 4f 44 45 0d 0a 61 6c 69 61 73 20 52 45 42 41 52  ODE..alias REBAR
11d40 42 41 4e 44 49 4e 46 4f 57 20 52 45 42 41 52 42  BANDINFOW REBARB
11d50 41 4e 44 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  ANDINFO;..alias 
11d60 4c 50 52 45 42 41 52 42 41 4e 44 49 4e 46 4f 57  LPREBARBANDINFOW
11d70 20 4c 50 52 45 42 41 52 42 41 4e 44 49 4e 46 4f   LPREBARBANDINFO
11d80 3b 0d 0a 61 6c 69 61 73 20 4c 50 43 52 45 42 41  ;..alias LPCREBA
11d90 52 42 41 4e 44 49 4e 46 4f 57 20 4c 50 43 52 45  RBANDINFOW LPCRE
11da0 42 41 52 42 41 4e 44 49 4e 46 4f 3b 0d 0a 2f 2f  BARBANDINFO;..//
11db0 20 23 64 65 66 69 6e 65 20 52 45 42 41 52 42 41   #define REBARBA
11dc0 4e 44 49 4e 46 4f 5f 56 33 5f 53 49 5a 45 20 52  NDINFO_V3_SIZE R
11dd0 45 42 41 52 42 41 4e 44 49 4e 46 4f 57 5f 56 33  EBARBANDINFOW_V3
11de0 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c 73 65 0d  _SIZE..// #else.
11df0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
11e00 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
11e10 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
11e20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11e30 52 42 5f 49 4e 53 45 52 54 42 41 4e 44 41 20 3d  RB_INSERTBANDA =
11e40 20 57 4d 5f 55 53 45 52 20 2b 20 31 20 7d 0d 0a   WM_USER + 1 }..
11e50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
11e60 5f 44 45 4c 45 54 45 42 41 4e 44 20 3d 20 57 4d  _DELETEBAND = WM
11e70 5f 55 53 45 52 20 2b 20 32 20 7d 0d 0a 65 6e 75  _USER + 2 }..enu
11e80 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45  m : uint { RB_GE
11e90 54 42 41 52 49 4e 46 4f 20 3d 20 57 4d 5f 55 53  TBARINFO = WM_US
11ea0 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  ER + 3 }..enum :
11eb0 20 75 69 6e 74 20 7b 20 52 42 5f 53 45 54 42 41   uint { RB_SETBA
11ec0 52 49 4e 46 4f 20 3d 20 57 4d 5f 55 53 45 52 20  RINFO = WM_USER 
11ed0 2b 20 34 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f  + 4 }..// #if (_
11ee0 57 49 4e 33 32 5f 49 45 20 3c 20 30 78 30 34 30  WIN32_IE < 0x040
11ef0 30 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  0)..// #.....// 
11f00 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75  #endif..enum : u
11f10 69 6e 74 20 7b 20 52 42 5f 53 45 54 42 41 4e 44  int { RB_SETBAND
11f20 49 4e 46 4f 41 20 3d 20 57 4d 5f 55 53 45 52 20  INFOA = WM_USER 
11f30 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 6 }..enum : ui
11f40 6e 74 20 7b 20 52 42 5f 53 45 54 50 41 52 45 4e  nt { RB_SETPAREN
11f50 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 20  T = WM_USER + 7 
11f60 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
11f70 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
11f80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
11f90 42 5f 48 49 54 54 45 53 54 20 3d 20 57 4d 5f 55  B_HITTEST = WM_U
11fa0 53 45 52 20 2b 20 38 20 7d 0d 0a 65 6e 75 6d 20  SER + 8 }..enum 
11fb0 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 52  : uint { RB_GETR
11fc0 45 43 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  ECT = WM_USER + 
11fd0 39 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  9 }..// #endif..
11fe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
11ff0 5f 49 4e 53 45 52 54 42 41 4e 44 57 20 3d 20 57  _INSERTBANDW = W
12000 4d 5f 55 53 45 52 20 2b 20 31 30 20 7d 0d 0a 65  M_USER + 10 }..e
12010 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f  num : uint { RB_
12020 53 45 54 42 41 4e 44 49 4e 46 4f 57 20 3d 20 57  SETBANDINFOW = W
12030 4d 5f 55 53 45 52 20 2b 20 31 31 20 7d 0d 0a 65  M_USER + 11 }..e
12040 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f  num : uint { RB_
12050 47 45 54 42 41 4e 44 43 4f 55 4e 54 20 3d 20 57  GETBANDCOUNT = W
12060 4d 5f 55 53 45 52 20 2b 20 31 32 20 7d 0d 0a 65  M_USER + 12 }..e
12070 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f  num : uint { RB_
12080 47 45 54 52 4f 57 43 4f 55 4e 54 20 3d 20 57 4d  GETROWCOUNT = WM
12090 5f 55 53 45 52 20 2b 20 31 33 20 7d 0d 0a 65 6e  _USER + 13 }..en
120a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47  um : uint { RB_G
120b0 45 54 52 4f 57 48 45 49 47 48 54 20 3d 20 57 4d  ETROWHEIGHT = WM
120c0 5f 55 53 45 52 20 2b 20 31 34 20 7d 0d 0a 2f 2f  _USER + 14 }..//
120d0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
120e0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
120f0 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 49 44 54   : uint { RB_IDT
12100 4f 49 4e 44 45 58 20 3d 20 57 4d 5f 55 53 45 52  OINDEX = WM_USER
12110 20 2b 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 16 }..enum : 
12120 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 54 4f 4f  uint { RB_GETTOO
12130 4c 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20  LTIPS = WM_USER 
12140 2b 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 17 }..enum : u
12150 69 6e 74 20 7b 20 52 42 5f 53 45 54 54 4f 4f 4c  int { RB_SETTOOL
12160 54 49 50 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b  TIPS = WM_USER +
12170 20 31 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   18 }..enum : ui
12180 6e 74 20 7b 20 52 42 5f 53 45 54 42 4b 43 4f 4c  nt { RB_SETBKCOL
12190 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31  OR = WM_USER + 1
121a0 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
121b0 20 7b 20 52 42 5f 47 45 54 42 4b 43 4f 4c 4f 52   { RB_GETBKCOLOR
121c0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 30 20   = WM_USER + 20 
121d0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
121e0 20 52 42 5f 53 45 54 54 45 58 54 43 4f 4c 4f 52   RB_SETTEXTCOLOR
121f0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 31 20   = WM_USER + 21 
12200 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12210 20 52 42 5f 47 45 54 54 45 58 54 43 4f 4c 4f 52   RB_GETTEXTCOLOR
12220 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 32 20   = WM_USER + 22 
12230 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  }....// #if (_WI
12240 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
12250 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  501)..enum : uin
12260 74 20 7b 20 52 42 53 54 52 5f 43 48 41 4e 47 45  t { RBSTR_CHANGE
12270 52 45 43 54 20 3d 20 30 78 30 30 30 31 20 7d 0d  RECT = 0x0001 }.
12280 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
12290 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 53  um : uint { RB_S
122a0 49 5a 45 54 4f 52 45 43 54 20 3d 20 57 4d 5f 55  IZETORECT = WM_U
122b0 53 45 52 20 2b 20 32 33 20 7d 0d 0a 2f 2f 20 23  SER + 23 }..// #
122c0 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57  endif      // _W
122d0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
122e0 30 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53  0....alias CCM_S
122f0 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45 20 52 42  ETCOLORSCHEME RB
12300 5f 53 45 54 43 4f 4c 4f 52 53 43 48 45 4d 45 3b  _SETCOLORSCHEME;
12310 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 43  ..alias CCM_GETC
12320 4f 4c 4f 52 53 43 48 45 4d 45 20 52 42 5f 47 45  OLORSCHEME RB_GE
12330 54 43 4f 4c 4f 52 53 43 48 45 4d 45 3b 0d 0a 0d  TCOLORSCHEME;...
12340 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
12350 44 45 0d 0a 61 6c 69 61 73 20 52 42 5f 49 4e 53  DE..alias RB_INS
12360 45 52 54 42 41 4e 44 57 20 52 42 5f 49 4e 53 45  ERTBANDW RB_INSE
12370 52 54 42 41 4e 44 3b 0d 0a 61 6c 69 61 73 20 52  RTBAND;..alias R
12380 42 5f 53 45 54 42 41 4e 44 49 4e 46 4f 57 20 52  B_SETBANDINFOW R
12390 42 5f 53 45 54 42 41 4e 44 49 4e 46 4f 3b 0d 0a  B_SETBANDINFO;..
123a0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
123b0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
123c0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20  endif....// #if 
123d0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
123e0 30 34 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0400)....enum : 
123f0 75 69 6e 74 20 7b 20 52 42 5f 42 45 47 49 4e 44  uint { RB_BEGIND
12400 52 41 47 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  RAG = WM_USER + 
12410 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  24 }..enum : uin
12420 74 20 7b 20 52 42 5f 45 4e 44 44 52 41 47 20 3d  t { RB_ENDDRAG =
12430 20 57 4d 5f 55 53 45 52 20 2b 20 32 35 20 7d 0d   WM_USER + 25 }.
12440 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
12450 42 5f 44 52 41 47 4d 4f 56 45 20 3d 20 57 4d 5f  B_DRAGMOVE = WM_
12460 55 53 45 52 20 2b 20 32 36 20 7d 0d 0a 65 6e 75  USER + 26 }..enu
12470 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45  m : uint { RB_GE
12480 54 42 41 52 48 45 49 47 48 54 20 3d 20 57 4d 5f  TBARHEIGHT = WM_
12490 55 53 45 52 20 2b 20 32 37 20 7d 0d 0a 65 6e 75  USER + 27 }..enu
124a0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45  m : uint { RB_GE
124b0 54 42 41 4e 44 49 4e 46 4f 57 20 3d 20 57 4d 5f  TBANDINFOW = WM_
124c0 55 53 45 52 20 2b 20 32 38 20 7d 0d 0a 65 6e 75  USER + 28 }..enu
124d0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45  m : uint { RB_GE
124e0 54 42 41 4e 44 49 4e 46 4f 41 20 3d 20 57 4d 5f  TBANDINFOA = WM_
124f0 55 53 45 52 20 2b 20 32 39 20 7d 0d 0a 0d 0a 2f  USER + 29 }..../
12500 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
12510 0d 0a 61 6c 69 61 73 20 52 42 5f 47 45 54 42 41  ..alias RB_GETBA
12520 4e 44 49 4e 46 4f 57 20 52 42 5f 47 45 54 42 41  NDINFOW RB_GETBA
12530 4e 44 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73  NDINFO;..// #els
12540 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
12550 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
12560 75 69 6e 74 20 7b 20 52 42 5f 4d 49 4e 49 4d 49  uint { RB_MINIMI
12570 5a 45 42 41 4e 44 20 3d 20 57 4d 5f 55 53 45 52  ZEBAND = WM_USER
12580 20 2b 20 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 30 }..enum : 
12590 75 69 6e 74 20 7b 20 52 42 5f 4d 41 58 49 4d 49  uint { RB_MAXIMI
125a0 5a 45 42 41 4e 44 20 3d 20 57 4d 5f 55 53 45 52  ZEBAND = WM_USER
125b0 20 2b 20 33 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   + 31 }....enum 
125c0 3a 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 44  : uint { RB_GETD
125d0 52 4f 50 54 41 52 47 45 54 20 3d 20 43 43 4d 5f  ROPTARGET = CCM_
125e0 47 45 54 44 52 4f 50 54 41 52 47 45 54 20 7d 0d  GETDROPTARGET }.
125f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
12600 20 52 42 5f 47 45 54 42 41 4e 44 42 4f 52 44 45   RB_GETBANDBORDE
12610 52 53 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33  RS = WM_USER + 3
12620 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  4 }....enum : ui
12630 6e 74 20 7b 20 52 42 5f 53 48 4f 57 42 41 4e 44  nt { RB_SHOWBAND
12640 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33 35 20   = WM_USER + 35 
12650 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12660 20 52 42 5f 53 45 54 50 41 4c 45 54 54 45 20 3d   RB_SETPALETTE =
12670 20 57 4d 5f 55 53 45 52 20 2b 20 33 37 20 7d 0d   WM_USER + 37 }.
12680 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52  .enum : uint { R
12690 42 5f 47 45 54 50 41 4c 45 54 54 45 20 3d 20 57  B_GETPALETTE = W
126a0 4d 5f 55 53 45 52 20 2b 20 33 38 20 7d 0d 0a 65  M_USER + 38 }..e
126b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 5f  num : uint { RB_
126c0 4d 4f 56 45 42 41 4e 44 20 3d 20 57 4d 5f 55 53  MOVEBAND = WM_US
126d0 45 52 20 2b 20 33 39 20 7d 0d 0a 0d 0a 61 6c 69  ER + 39 }....ali
126e0 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44  as CCM_SETUNICOD
126f0 45 46 4f 52 4d 41 54 20 52 42 5f 53 45 54 55 4e  EFORMAT RB_SETUN
12700 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c  ICODEFORMAT;..al
12710 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f  ias CCM_GETUNICO
12720 44 45 46 4f 52 4d 41 54 20 52 42 5f 47 45 54 55  DEFORMAT RB_GETU
12730 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 0d  NICODEFORMAT;...
12740 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20  .// #endif      
12750 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  // _WIN32_IE >= 
12760 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66  0x0400....// #if
12770 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
12780 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a  = 0x501)..enum :
12790 20 75 69 6e 74 20 7b 20 52 42 5f 47 45 54 42 41   uint { RB_GETBA
127a0 4e 44 4d 41 52 47 49 4e 53 20 3d 20 57 4d 5f 55  NDMARGINS = WM_U
127b0 53 45 52 20 2b 20 34 30 20 7d 0d 0a 61 6c 69 61  SER + 40 }..alia
127c0 73 20 43 43 4d 5f 53 45 54 57 49 4e 44 4f 57 54  s CCM_SETWINDOWT
127d0 48 45 4d 45 20 52 42 5f 53 45 54 57 49 4e 44 4f  HEME RB_SETWINDO
127e0 57 54 48 45 4d 45 3b 0d 0a 2f 2f 20 23 65 6e 64  WTHEME;..// #end
127f0 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  if....// #if (_W
12800 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30  IN32_IE >= 0x050
12810 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
12820 7b 20 52 42 5f 50 55 53 48 43 48 45 56 52 4f 4e  { RB_PUSHCHEVRON
12830 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 34 33 20   = WM_USER + 43 
12840 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20  }..// #endif    
12850 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e    // _WIN32_IE >
12860 3d 20 30 78 30 35 30 30 0d 0a 0d 0a 65 6e 75 6d  = 0x0500....enum
12870 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 48 45   : uint { RBN_HE
12880 49 47 48 54 43 48 41 4e 47 45 20 3d 20 52 42 4e  IGHTCHANGE = RBN
12890 5f 46 49 52 53 54 20 2d 20 30 20 7d 0d 0a 0d 0a  _FIRST - 0 }....
128a0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
128b0 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  E >= 0x0400)..en
128c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f  um : uint { RBN_
128d0 47 45 54 4f 42 4a 45 43 54 20 3d 20 52 42 4e 5f  GETOBJECT = RBN_
128e0 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 65 6e 75  FIRST - 1 }..enu
128f0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 4c  m : uint { RBN_L
12900 41 59 4f 55 54 43 48 41 4e 47 45 44 20 3d 20 52  AYOUTCHANGED = R
12910 42 4e 5f 46 49 52 53 54 20 2d 20 32 20 7d 0d 0a  BN_FIRST - 2 }..
12920 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
12930 4e 5f 41 55 54 4f 53 49 5a 45 20 3d 20 52 42 4e  N_AUTOSIZE = RBN
12940 5f 46 49 52 53 54 20 2d 20 33 20 7d 0d 0a 65 6e  _FIRST - 3 }..en
12950 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f  um : uint { RBN_
12960 42 45 47 49 4e 44 52 41 47 20 3d 20 52 42 4e 5f  BEGINDRAG = RBN_
12970 46 49 52 53 54 20 2d 20 34 20 7d 0d 0a 65 6e 75  FIRST - 4 }..enu
12980 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 45  m : uint { RBN_E
12990 4e 44 44 52 41 47 20 3d 20 52 42 4e 5f 46 49 52  NDDRAG = RBN_FIR
129a0 53 54 20 2d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  ST - 5 }..enum :
129b0 20 75 69 6e 74 20 7b 20 52 42 4e 5f 44 45 4c 45   uint { RBN_DELE
129c0 54 49 4e 47 42 41 4e 44 20 3d 20 52 42 4e 5f 46  TINGBAND = RBN_F
129d0 49 52 53 54 20 2d 20 36 20 7d 0d 0a 65 6e 75 6d  IRST - 6 }..enum
129e0 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 44 45   : uint { RBN_DE
129f0 4c 45 54 45 44 42 41 4e 44 20 3d 20 52 42 4e 5f  LETEDBAND = RBN_
12a00 46 49 52 53 54 20 2d 20 37 20 7d 0d 0a 65 6e 75  FIRST - 7 }..enu
12a10 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 43  m : uint { RBN_C
12a20 48 49 4c 44 53 49 5a 45 20 3d 20 52 42 4e 5f 46  HILDSIZE = RBN_F
12a30 49 52 53 54 20 2d 20 38 20 7d 0d 0a 0d 0a 2f 2f  IRST - 8 }....//
12a40 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
12a50 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d  >= 0x0500)..enum
12a60 20 3a 20 75 69 6e 74 20 7b 20 52 42 4e 5f 43 48   : uint { RBN_CH
12a70 45 56 52 4f 4e 50 55 53 48 45 44 20 3d 20 52 42  EVRONPUSHED = RB
12a80 4e 5f 46 49 52 53 54 20 2d 20 31 30 20 7d 0d 0a  N_FIRST - 10 }..
12a90 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f  // #endif      /
12aa0 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30  / _WIN32_IE >= 0
12ab0 78 30 35 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66 20  x0500....// #if 
12ac0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
12ad0 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
12ae0 6e 74 20 7b 20 52 42 4e 5f 4d 49 4e 4d 41 58 20  nt { RBN_MINMAX 
12af0 3d 20 52 42 4e 5f 46 49 52 53 54 20 2d 20 32 31  = RBN_FIRST - 21
12b00 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
12b10 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
12b20 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31 29  WINNT >= 0x0501)
12b30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12b40 52 42 4e 5f 41 55 54 4f 42 52 45 41 4b 20 3d 20  RBN_AUTOBREAK = 
12b50 52 42 4e 5f 46 49 52 53 54 20 2d 20 32 32 20 7d  RBN_FIRST - 22 }
12b60 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
12b70 74 72 75 63 74 20 74 61 67 4e 4d 52 45 42 41 52  truct tagNMREBAR
12b80 43 48 49 4c 44 53 49 5a 45 20 7b 0d 0a 20 20 4e  CHILDSIZE {..  N
12b90 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 55 49 4e  MHDR hdr;..  UIN
12ba0 54 20 75 42 61 6e 64 3b 0d 0a 20 20 55 49 4e 54  T uBand;..  UINT
12bb0 20 77 49 44 3b 0d 0a 20 20 52 45 43 54 20 72 63   wID;..  RECT rc
12bc0 43 68 69 6c 64 3b 0d 0a 20 20 52 45 43 54 20 72  Child;..  RECT r
12bd0 63 42 61 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  cBand;..}..alias
12be0 20 74 61 67 4e 4d 52 45 42 41 52 43 48 49 4c 44   tagNMREBARCHILD
12bf0 53 49 5a 45 20 4e 4d 52 45 42 41 52 43 48 49 4c  SIZE NMREBARCHIL
12c00 44 53 49 5a 45 3b 0d 0a 61 6c 69 61 73 20 74 61  DSIZE;..alias ta
12c10 67 4e 4d 52 45 42 41 52 43 48 49 4c 44 53 49 5a  gNMREBARCHILDSIZ
12c20 45 2a 20 4c 50 4e 4d 52 45 42 41 52 43 48 49 4c  E* LPNMREBARCHIL
12c30 44 53 49 5a 45 3b 0d 0a 0d 0a 73 74 72 75 63 74  DSIZE;....struct
12c40 20 74 61 67 4e 4d 52 45 42 41 52 20 7b 0d 0a 20   tagNMREBAR {.. 
12c50 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 44   NMHDR hdr;..  D
12c60 57 4f 52 44 20 64 77 4d 61 73 6b 3b 0d 0a 20 20  WORD dwMask;..  
12c70 55 49 4e 54 20 75 42 61 6e 64 3b 0d 0a 20 20 55  UINT uBand;..  U
12c80 49 4e 54 20 66 53 74 79 6c 65 3b 0d 0a 20 20 55  INT fStyle;..  U
12c90 49 4e 54 20 77 49 44 3b 0d 0a 20 20 4c 50 41 52  INT wID;..  LPAR
12ca0 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61  AM lParam;..}..a
12cb0 6c 69 61 73 20 74 61 67 4e 4d 52 45 42 41 52 20  lias tagNMREBAR 
12cc0 4e 4d 52 45 42 41 52 3b 0d 0a 61 6c 69 61 73 20  NMREBAR;..alias 
12cd0 74 61 67 4e 4d 52 45 42 41 52 2a 20 4c 50 4e 4d  tagNMREBAR* LPNM
12ce0 52 45 42 41 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  REBAR;....enum :
12cf0 20 75 69 6e 74 20 7b 20 52 42 4e 4d 5f 49 44 20   uint { RBNM_ID 
12d00 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
12d10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42  enum : uint { RB
12d20 4e 4d 5f 53 54 59 4c 45 20 3d 20 30 78 30 30 30  NM_STYLE = 0x000
12d30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
12d40 75 69 6e 74 20 7b 20 52 42 4e 4d 5f 4c 50 41 52  uint { RBNM_LPAR
12d50 41 4d 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  AM = 0x00000004 
12d60 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  }....struct tagN
12d70 4d 52 42 41 55 54 4f 53 49 5a 45 20 7b 0d 0a 20  MRBAUTOSIZE {.. 
12d80 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 42   NMHDR hdr;..  B
12d90 4f 4f 4c 20 66 43 68 61 6e 67 65 64 3b 0d 0a 20  OOL fChanged;.. 
12da0 20 52 45 43 54 20 72 63 54 61 72 67 65 74 3b 0d   RECT rcTarget;.
12db0 0a 20 20 52 45 43 54 20 72 63 41 63 74 75 61 6c  .  RECT rcActual
12dc0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e  ;..}..alias tagN
12dd0 4d 52 42 41 55 54 4f 53 49 5a 45 20 4e 4d 52 42  MRBAUTOSIZE NMRB
12de0 41 55 54 4f 53 49 5a 45 3b 0d 0a 61 6c 69 61 73  AUTOSIZE;..alias
12df0 20 74 61 67 4e 4d 52 42 41 55 54 4f 53 49 5a 45   tagNMRBAUTOSIZE
12e00 2a 20 4c 50 4e 4d 52 42 41 55 54 4f 53 49 5a 45  * LPNMRBAUTOSIZE
12e10 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  ;....// #if (_WI
12e20 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
12e30 29 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 52  )..struct tagNMR
12e40 45 42 41 52 43 48 45 56 52 4f 4e 20 7b 0d 0a 20  EBARCHEVRON {.. 
12e50 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 55   NMHDR hdr;..  U
12e60 49 4e 54 20 75 42 61 6e 64 3b 0d 0a 20 20 55 49  INT uBand;..  UI
12e70 4e 54 20 77 49 44 3b 0d 0a 20 20 4c 50 41 52 41  NT wID;..  LPARA
12e80 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 52 45 43  M lParam;..  REC
12e90 54 20 72 63 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  T rc;..  LPARAM 
12ea0 6c 50 61 72 61 6d 4e 4d 3b 0d 0a 7d 0d 0a 61 6c  lParamNM;..}..al
12eb0 69 61 73 20 74 61 67 4e 4d 52 45 42 41 52 43 48  ias tagNMREBARCH
12ec0 45 56 52 4f 4e 20 4e 4d 52 45 42 41 52 43 48 45  EVRON NMREBARCHE
12ed0 56 52 4f 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67  VRON;..alias tag
12ee0 4e 4d 52 45 42 41 52 43 48 45 56 52 4f 4e 2a 20  NMREBARCHEVRON* 
12ef0 4c 50 4e 4d 52 45 42 41 52 43 48 45 56 52 4f 4e  LPNMREBARCHEVRON
12f00 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  ;....// #endif..
12f10 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
12f20 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
12f30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
12f40 20 52 42 41 42 5f 41 55 54 4f 53 49 5a 45 20 3d   RBAB_AUTOSIZE =
12f50 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
12f60 3a 20 75 69 6e 74 20 7b 20 52 42 41 42 5f 41 44  : uint { RBAB_AD
12f70 44 42 41 4e 44 20 3d 20 30 78 30 30 30 32 20 7d  DBAND = 0x0002 }
12f80 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
12f90 52 45 42 41 52 41 55 54 4f 42 52 45 41 4b 20 7b  REBARAUTOBREAK {
12fa0 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
12fb0 20 20 55 49 4e 54 20 75 42 61 6e 64 3b 0d 0a 20    UINT uBand;.. 
12fc0 20 55 49 4e 54 20 77 49 44 3b 0d 0a 20 20 4c 50   UINT wID;..  LP
12fd0 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 20 20  ARAM lParam;..  
12fe0 55 49 4e 54 20 75 4d 73 67 3b 0d 0a 20 20 55 49  UINT uMsg;..  UI
12ff0 4e 54 20 66 53 74 79 6c 65 43 75 72 72 65 6e 74  NT fStyleCurrent
13000 3b 0d 0a 20 20 42 4f 4f 4c 20 66 41 75 74 6f 42  ;..  BOOL fAutoB
13010 72 65 61 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  reak;..}..alias 
13020 74 61 67 4e 4d 52 45 42 41 52 41 55 54 4f 42 52  tagNMREBARAUTOBR
13030 45 41 4b 20 4e 4d 52 45 42 41 52 41 55 54 4f 42  EAK NMREBARAUTOB
13040 52 45 41 4b 3b 0d 0a 61 6c 69 61 73 20 74 61 67  REAK;..alias tag
13050 4e 4d 52 45 42 41 52 41 55 54 4f 42 52 45 41 4b  NMREBARAUTOBREAK
13060 2a 20 4c 50 4e 4d 52 45 42 41 52 41 55 54 4f 42  * LPNMREBARAUTOB
13070 52 45 41 4b 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  REAK;....// #end
13080 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
13090 74 20 7b 20 52 42 48 54 5f 4e 4f 57 48 45 52 45  t { RBHT_NOWHERE
130a0 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
130b0 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 48 54 5f  m : uint { RBHT_
130c0 43 41 50 54 49 4f 4e 20 3d 20 30 78 30 30 30 32  CAPTION = 0x0002
130d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
130e0 7b 20 52 42 48 54 5f 43 4c 49 45 4e 54 20 3d 20  { RBHT_CLIENT = 
130f0 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0003 }..enum :
13100 20 75 69 6e 74 20 7b 20 52 42 48 54 5f 47 52 41   uint { RBHT_GRA
13110 42 42 45 52 20 3d 20 30 78 30 30 30 34 20 7d 0d  BBER = 0x0004 }.
13120 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
13130 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  IE >= 0x0500)..e
13140 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 42 48  num : uint { RBH
13150 54 5f 43 48 45 56 52 4f 4e 20 3d 20 30 78 30 30  T_CHEVRON = 0x00
13160 30 38 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  08 }..// #endif.
13170 0a 0d 0a 73 74 72 75 63 74 20 5f 52 42 5f 48 49  ...struct _RB_HI
13180 54 54 45 53 54 49 4e 46 4f 20 7b 0d 0a 20 20 50  TTESTINFO {..  P
13190 4f 49 4e 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54  OINT pt;..  UINT
131a0 20 66 6c 61 67 73 3b 0d 0a 20 20 69 6e 74 20 69   flags;..  int i
131b0 42 61 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Band;..}..alias 
131c0 5f 52 42 5f 48 49 54 54 45 53 54 49 4e 46 4f 20  _RB_HITTESTINFO 
131d0 52 42 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a  RBHITTESTINFO;..
131e0 61 6c 69 61 73 20 5f 52 42 5f 48 49 54 54 45 53  alias _RB_HITTES
131f0 54 49 4e 46 4f 2a 20 4c 50 52 42 48 49 54 54 45  TINFO* LPRBHITTE
13200 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 2f 2f 20 23 65  STINFO;....// #e
13210 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49  ndif      // _WI
13220 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
13230 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20  ....// #endif   
13240 20 20 20 2f 2f 20 4e 4f 52 45 42 41 52 0d 0a 0d     // NOREBAR...
13250 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20  .// #endif      
13260 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  // _WIN32_IE >= 
13270 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66  0x0300....// #if
13280 6e 64 65 66 20 4e 4f 54 4f 4f 4c 54 49 50 53 0d  ndef NOTOOLTIPS.
13290 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
132a0 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68  N32....const wch
132b0 61 72 5b 5d 20 54 4f 4f 4c 54 49 50 53 5f 43 4c  ar[] TOOLTIPS_CL
132c0 41 53 53 57 20 3d 20 22 74 6f 6f 6c 74 69 70 73  ASSW = "tooltips
132d0 5f 63 6c 61 73 73 33 32 22 3b 0d 0a 63 6f 6e 73  _class32";..cons
132e0 74 20 63 68 61 72 5b 5d 20 54 4f 4f 4c 54 49 50  t char[] TOOLTIP
132f0 53 5f 43 4c 41 53 53 41 20 3d 20 22 74 6f 6f 6c  S_CLASSA = "tool
13300 74 69 70 73 5f 63 6c 61 73 73 33 32 22 3b 0d 0a  tips_class32";..
13310 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
13320 4f 44 45 0d 0a 61 6c 69 61 73 20 54 4f 4f 4c 54  ODE..alias TOOLT
13330 49 50 53 5f 43 4c 41 53 53 57 20 54 4f 4f 4c 54  IPS_CLASSW TOOLT
13340 49 50 53 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23  IPS_CLASS;..// #
13350 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
13360 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
13370 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
13380 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
13390 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
133a0 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20   0x0300)..alias 
133b0 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 41 20 4c 50  LPTTTOOLINFOA LP
133c0 54 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  TOOLINFOA;..alia
133d0 73 20 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 57 20  s LPTTTOOLINFOW 
133e0 4c 50 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a 61 6c  LPTOOLINFOW;..al
133f0 69 61 73 20 54 54 54 4f 4f 4c 49 4e 46 4f 41 20  ias TTTOOLINFOA 
13400 54 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61  TOOLINFOA;..alia
13410 73 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 20 54 4f  s TTTOOLINFOW TO
13420 4f 4c 49 4e 46 4f 57 3b 0d 0a 2f 2f 20 23 65 6c  OLINFOW;..// #el
13430 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
13440 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
13450 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
13460 66 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 54 54 54  f....alias LPTTT
13470 4f 4f 4c 49 4e 46 4f 20 4c 50 54 4f 4f 4c 49 4e  OOLINFO LPTOOLIN
13480 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 54 54 4f 4f  FO;..alias TTTOO
13490 4c 49 4e 46 4f 20 54 4f 4f 4c 49 4e 46 4f 3b 0d  LINFO TOOLINFO;.
134a0 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 54  ...// #define TT
134b0 54 4f 4f 4c 49 4e 46 4f 41 5f 56 31 5f 53 49 5a  TOOLINFOA_V1_SIZ
134c0 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43  E CCSIZEOF_STRUC
134d0 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 41 2c 20 6c  T(TTTOOLINFOA, l
134e0 70 73 7a 54 65 78 74 29 0d 0a 2f 2f 20 23 64 65  pszText)..// #de
134f0 66 69 6e 65 20 54 54 54 4f 4f 4c 49 4e 46 4f 57  fine TTTOOLINFOW
13500 5f 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f  _V1_SIZE CCSIZEO
13510 46 5f 53 54 52 55 43 54 28 54 54 54 4f 4f 4c 49  F_STRUCT(TTTOOLI
13520 4e 46 4f 57 2c 20 6c 70 73 7a 54 65 78 74 29 0d  NFOW, lpszText).
13530 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 54 54 4f  .// #define TTTO
13540 4f 4c 49 4e 46 4f 41 5f 56 32 5f 53 49 5a 45 20  OLINFOA_V2_SIZE 
13550 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28  CCSIZEOF_STRUCT(
13560 54 54 54 4f 4f 4c 49 4e 46 4f 41 2c 20 6c 50 61  TTTOOLINFOA, lPa
13570 72 61 6d 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  ram)..// #define
13580 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 5f 56 32 5f   TTTOOLINFOW_V2_
13590 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54  SIZE CCSIZEOF_ST
135a0 52 55 43 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 57  RUCT(TTTOOLINFOW
135b0 2c 20 6c 50 61 72 61 6d 29 0d 0a 2f 2f 20 23 64  , lParam)..// #d
135c0 65 66 69 6e 65 20 54 54 54 4f 4f 4c 49 4e 46 4f  efine TTTOOLINFO
135d0 41 5f 56 33 5f 53 49 5a 45 20 43 43 53 49 5a 45  A_V3_SIZE CCSIZE
135e0 4f 46 5f 53 54 52 55 43 54 28 54 54 54 4f 4f 4c  OF_STRUCT(TTTOOL
135f0 49 4e 46 4f 41 2c 20 6c 70 52 65 73 65 72 76 65  INFOA, lpReserve
13600 64 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54  d)..// #define T
13610 54 54 4f 4f 4c 49 4e 46 4f 57 5f 56 33 5f 53 49  TTOOLINFOW_V3_SI
13620 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55  ZE CCSIZEOF_STRU
13630 43 54 28 54 54 54 4f 4f 4c 49 4e 46 4f 57 2c 20  CT(TTTOOLINFOW, 
13640 6c 70 52 65 73 65 72 76 65 64 29 0d 0a 0d 0a 73  lpReserved)....s
13650 74 72 75 63 74 20 74 61 67 54 4f 4f 4c 49 4e 46  truct tagTOOLINF
13660 4f 41 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53  OA {..  UINT cbS
13670 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 75 46 6c  ize;..  UINT uFl
13680 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e  ags;..  HWND hwn
13690 64 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75  d;..  UINT_PTR u
136a0 49 64 3b 0d 0a 20 20 52 45 43 54 20 72 65 63 74  Id;..  RECT rect
136b0 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68  ;..  HINSTANCE h
136c0 69 6e 73 74 3b 0d 0a 20 20 4c 50 53 54 52 20 6c  inst;..  LPSTR l
136d0 70 73 7a 54 65 78 74 3b 0d 0a 2f 2f 20 23 69 66  pszText;..// #if
136e0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
136f0 78 30 33 30 30 29 0d 0a 20 20 4c 50 41 52 41 4d  x0300)..  LPARAM
13700 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f 20 23 65 6e   lParam;..// #en
13710 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  dif..// #if (_WI
13720 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
13730 35 30 31 29 0d 0a 20 20 76 6f 69 64 20 2a 6c 70  501)..  void *lp
13740 52 65 73 65 72 76 65 64 3b 0d 0a 2f 2f 20 23 65  Reserved;..// #e
13750 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ndif..}..alias t
13760 61 67 54 4f 4f 4c 49 4e 46 4f 41 20 54 54 54 4f  agTOOLINFOA TTTO
13770 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20  OLINFOA;..alias 
13780 74 61 67 54 4f 4f 4c 49 4e 46 4f 41 2a 20 50 54  tagTOOLINFOA* PT
13790 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73  OOLINFOA;..alias
137a0 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 41 2a 20 4c   tagTOOLINFOA* L
137b0 50 54 54 54 4f 4f 4c 49 4e 46 4f 41 3b 0d 0a 0d  PTTTOOLINFOA;...
137c0 0a 73 74 72 75 63 74 20 74 61 67 54 4f 4f 4c 49  .struct tagTOOLI
137d0 4e 46 4f 57 20 7b 0d 0a 20 20 55 49 4e 54 20 63  NFOW {..  UINT c
137e0 62 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 75  bSize;..  UINT u
137f0 46 6c 61 67 73 3b 0d 0a 20 20 48 57 4e 44 20 68  Flags;..  HWND h
13800 77 6e 64 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 52  wnd;..  UINT_PTR
13810 20 75 49 64 3b 0d 0a 20 20 52 45 43 54 20 72 65   uId;..  RECT re
13820 63 74 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45  ct;..  HINSTANCE
13830 20 68 69 6e 73 74 3b 0d 0a 20 20 4c 50 57 53 54   hinst;..  LPWST
13840 52 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 2f 2f 20  R lpszText;..// 
13850 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
13860 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 4c 50 41  = 0x0300)..  LPA
13870 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f 20  RAM lParam;..// 
13880 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28  #endif..// #if (
13890 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
138a0 30 78 30 35 30 31 29 0d 0a 20 20 76 6f 69 64 20  0x0501)..  void 
138b0 2a 6c 70 52 65 73 65 72 76 65 64 3b 0d 0a 2f 2f  *lpReserved;..//
138c0 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61   #endif..}..alia
138d0 73 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 57 20 54  s tagTOOLINFOW T
138e0 54 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a 61 6c 69  TTOOLINFOW;..ali
138f0 61 73 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 57 2a  as tagTOOLINFOW*
13900 20 50 54 4f 4f 4c 49 4e 46 4f 57 3b 0d 0a 61 6c   PTOOLINFOW;..al
13910 69 61 73 20 74 61 67 54 4f 4f 4c 49 4e 46 4f 57  ias tagTOOLINFOW
13920 2a 20 4c 50 54 54 54 4f 4f 4c 49 4e 46 4f 57 3b  * LPTTTOOLINFOW;
13930 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
13940 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 54 54  ICODE..alias TTT
13950 4f 4f 4c 49 4e 46 4f 57 20 54 54 54 4f 4f 4c 49  OOLINFOW TTTOOLI
13960 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 50 54 4f 4f  NFO;..alias PTOO
13970 4c 49 4e 46 4f 57 20 50 54 4f 4f 4c 49 4e 46 4f  LINFOW PTOOLINFO
13980 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 54 54 4f 4f  ;..alias LPTTTOO
13990 4c 49 4e 46 4f 57 20 4c 50 54 54 54 4f 4f 4c 49  LINFOW LPTTTOOLI
139a0 4e 46 4f 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  NFO;..// #define
139b0 20 54 54 54 4f 4f 4c 49 4e 46 4f 5f 56 31 5f 53   TTTOOLINFO_V1_S
139c0 49 5a 45 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 5f  IZE TTTOOLINFOW_
139d0 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c 73  V1_SIZE..// #els
139e0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
139f0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
13a00 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
13a10 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
13a20 7b 20 54 54 53 5f 41 4c 57 41 59 53 54 49 50 20  { TTS_ALWAYSTIP 
13a30 3d 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x01 }..enum :
13a40 20 75 69 6e 74 20 7b 20 54 54 53 5f 4e 4f 50 52   uint { TTS_NOPR
13a50 45 46 49 58 20 3d 20 30 78 30 32 20 7d 0d 0a 2f  EFIX = 0x02 }../
13a60 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
13a70 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
13a80 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 53 5f 4e  m : uint { TTS_N
13a90 4f 41 4e 49 4d 41 54 45 20 3d 20 30 78 31 30 20  OANIMATE = 0x10 
13aa0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13ab0 20 54 54 53 5f 4e 4f 46 41 44 45 20 3d 20 30 78   TTS_NOFADE = 0x
13ac0 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
13ad0 74 20 7b 20 54 54 53 5f 42 41 4c 4c 4f 4f 4e 20  t { TTS_BALLOON 
13ae0 3d 20 30 78 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x40 }..enum :
13af0 20 75 69 6e 74 20 7b 20 54 54 53 5f 43 4c 4f 53   uint { TTS_CLOS
13b00 45 20 3d 20 30 78 38 30 20 7d 0d 0a 2f 2f 20 23  E = 0x80 }..// #
13b10 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
13b20 75 69 6e 74 20 7b 20 54 54 46 5f 49 44 49 53 48  uint { TTF_IDISH
13b30 57 4e 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  WND = 0x0001 }..
13b40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13b50 54 54 46 5f 43 45 4e 54 45 52 54 49 50 20 3d 20  TTF_CENTERTIP = 
13b60 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
13b70 20 75 69 6e 74 20 7b 20 54 54 46 5f 52 54 4c 52   uint { TTF_RTLR
13b80 45 41 44 49 4e 47 20 3d 20 30 78 30 30 30 34 20  EADING = 0x0004 
13b90 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13ba0 20 54 54 46 5f 53 55 42 43 4c 41 53 53 20 3d 20   TTF_SUBCLASS = 
13bb0 30 78 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66  0x0010 }..// #if
13bc0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
13bd0 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0300)..enum : u
13be0 69 6e 74 20 7b 20 54 54 46 5f 54 52 41 43 4b 20  int { TTF_TRACK 
13bf0 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d  = 0x0020 }..enum
13c00 20 3a 20 75 69 6e 74 20 7b 20 54 54 46 5f 41 42   : uint { TTF_AB
13c10 53 4f 4c 55 54 45 20 3d 20 30 78 30 30 38 30 20  SOLUTE = 0x0080 
13c20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13c30 20 54 54 46 5f 54 52 41 4e 53 50 41 52 45 4e 54   TTF_TRANSPARENT
13c40 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 2f 2f 20   = 0x0100 }..// 
13c50 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
13c60 3d 20 30 78 30 35 30 31 29 0d 0a 65 6e 75 6d 20  = 0x0501)..enum 
13c70 3a 20 75 69 6e 74 20 7b 20 54 54 46 5f 50 41 52  : uint { TTF_PAR
13c80 53 45 4c 49 4e 4b 53 20 3d 20 30 78 31 30 30 30  SELINKS = 0x1000
13c90 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f   }..// #endif //
13ca0 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78   _WIN32_IE >= 0x
13cb0 30 35 30 31 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0501..enum : uin
13cc0 74 20 7b 20 54 54 46 5f 44 49 5f 53 45 54 49 54  t { TTF_DI_SETIT
13cd0 45 4d 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f  EM = 0x8000 }../
13ce0 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f  / #endif      //
13cf0 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78   _WIN32_IE >= 0x
13d00 30 33 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0300....enum : u
13d10 69 6e 74 20 7b 20 54 54 44 54 5f 41 55 54 4f 4d  int { TTDT_AUTOM
13d20 41 54 49 43 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  ATIC = 0 }..enum
13d30 20 3a 20 75 69 6e 74 20 7b 20 54 54 44 54 5f 52   : uint { TTDT_R
13d40 45 53 48 4f 57 20 3d 20 31 20 7d 0d 0a 65 6e 75  ESHOW = 1 }..enu
13d50 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 44 54 5f  m : uint { TTDT_
13d60 41 55 54 4f 50 4f 50 20 3d 20 32 20 7d 0d 0a 65  AUTOPOP = 2 }..e
13d70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 44  num : uint { TTD
13d80 54 5f 49 4e 49 54 49 41 4c 20 3d 20 33 20 7d 0d  T_INITIAL = 3 }.
13d90 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
13da0 20 54 54 49 5f 4e 4f 4e 45 20 3d 20 30 20 7d 0d   TTI_NONE = 0 }.
13db0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
13dc0 54 49 5f 49 4e 46 4f 20 3d 20 31 20 7d 0d 0a 65  TI_INFO = 1 }..e
13dd0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 49  num : uint { TTI
13de0 5f 57 41 52 4e 49 4e 47 20 3d 20 32 20 7d 0d 0a  _WARNING = 2 }..
13df0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
13e00 49 5f 45 52 52 4f 52 20 3d 20 33 20 7d 0d 0a 0d  I_ERROR = 3 }...
13e10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
13e20 54 4d 5f 41 43 54 49 56 41 54 45 20 3d 20 57 4d  TM_ACTIVATE = WM
13e30 5f 55 53 45 52 20 2b 20 31 20 7d 0d 0a 65 6e 75  _USER + 1 }..enu
13e40 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 53  m : uint { TTM_S
13e50 45 54 44 45 4c 41 59 54 49 4d 45 20 3d 20 57 4d  ETDELAYTIME = WM
13e60 5f 55 53 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75  _USER + 3 }..enu
13e70 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 41  m : uint { TTM_A
13e80 44 44 54 4f 4f 4c 41 20 3d 20 57 4d 5f 55 53 45  DDTOOLA = WM_USE
13e90 52 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R + 4 }..enum : 
13ea0 75 69 6e 74 20 7b 20 54 54 4d 5f 41 44 44 54 4f  uint { TTM_ADDTO
13eb0 4f 4c 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  OLW = WM_USER + 
13ec0 35 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  50 }..enum : uin
13ed0 74 20 7b 20 54 54 4d 5f 44 45 4c 54 4f 4f 4c 41  t { TTM_DELTOOLA
13ee0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 20 7d   = WM_USER + 5 }
13ef0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13f00 54 54 4d 5f 44 45 4c 54 4f 4f 4c 57 20 3d 20 57  TTM_DELTOOLW = W
13f10 4d 5f 55 53 45 52 20 2b 20 35 31 20 7d 0d 0a 65  M_USER + 51 }..e
13f20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d  num : uint { TTM
13f30 5f 4e 45 57 54 4f 4f 4c 52 45 43 54 41 20 3d 20  _NEWTOOLRECTA = 
13f40 57 4d 5f 55 53 45 52 20 2b 20 36 20 7d 0d 0a 65  WM_USER + 6 }..e
13f50 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d  num : uint { TTM
13f60 5f 4e 45 57 54 4f 4f 4c 52 45 43 54 57 20 3d 20  _NEWTOOLRECTW = 
13f70 57 4d 5f 55 53 45 52 20 2b 20 35 32 20 7d 0d 0a  WM_USER + 52 }..
13f80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
13f90 4d 5f 52 45 4c 41 59 45 56 45 4e 54 20 3d 20 57  M_RELAYEVENT = W
13fa0 4d 5f 55 53 45 52 20 2b 20 37 20 7d 0d 0a 0d 0a  M_USER + 7 }....
13fb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
13fc0 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 4f 41 20 3d  M_GETTOOLINFOA =
13fd0 20 57 4d 5f 55 53 45 52 20 2b 20 38 20 7d 0d 0a   WM_USER + 8 }..
13fe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
13ff0 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 4f 57 20 3d  M_GETTOOLINFOW =
14000 20 57 4d 5f 55 53 45 52 20 2b 20 35 33 20 7d 0d   WM_USER + 53 }.
14010 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
14020 20 54 54 4d 5f 53 45 54 54 4f 4f 4c 49 4e 46 4f   TTM_SETTOOLINFO
14030 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 39 20  A = WM_USER + 9 
14040 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14050 20 54 54 4d 5f 53 45 54 54 4f 4f 4c 49 4e 46 4f   TTM_SETTOOLINFO
14060 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35 34  W = WM_USER + 54
14070 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
14080 74 20 7b 20 54 54 4d 5f 48 49 54 54 45 53 54 41  t { TTM_HITTESTA
14090 20 3d 20 57 4d 5f 55 53 45 52 20 2b 31 30 20 7d   = WM_USER +10 }
140a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
140b0 54 54 4d 5f 48 49 54 54 45 53 54 57 20 3d 20 57  TTM_HITTESTW = W
140c0 4d 5f 55 53 45 52 20 2b 35 35 20 7d 0d 0a 65 6e  M_USER +55 }..en
140d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f  um : uint { TTM_
140e0 47 45 54 54 45 58 54 41 20 3d 20 57 4d 5f 55 53  GETTEXTA = WM_US
140f0 45 52 20 2b 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ER +11 }..enum :
14100 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54   uint { TTM_GETT
14110 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b  EXTW = WM_USER +
14120 35 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  56 }..enum : uin
14130 74 20 7b 20 54 54 4d 5f 55 50 44 41 54 45 54 49  t { TTM_UPDATETI
14140 50 54 45 58 54 41 20 3d 20 57 4d 5f 55 53 45 52  PTEXTA = WM_USER
14150 20 2b 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   +12 }..enum : u
14160 69 6e 74 20 7b 20 54 54 4d 5f 55 50 44 41 54 45  int { TTM_UPDATE
14170 54 49 50 54 45 58 54 57 20 3d 20 57 4d 5f 55 53  TIPTEXTW = WM_US
14180 45 52 20 2b 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a  ER +57 }..enum :
14190 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 54   uint { TTM_GETT
141a0 4f 4f 4c 43 4f 55 4e 54 20 3d 20 57 4d 5f 55 53  OOLCOUNT = WM_US
141b0 45 52 20 2b 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a  ER +13 }..enum :
141c0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 45 4e 55 4d   uint { TTM_ENUM
141d0 54 4f 4f 4c 53 41 20 3d 20 57 4d 5f 55 53 45 52  TOOLSA = WM_USER
141e0 20 2b 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   +14 }..enum : u
141f0 69 6e 74 20 7b 20 54 54 4d 5f 45 4e 55 4d 54 4f  int { TTM_ENUMTO
14200 4f 4c 53 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b  OLSW = WM_USER +
14210 35 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  58 }..enum : uin
14220 74 20 7b 20 54 54 4d 5f 47 45 54 43 55 52 52 45  t { TTM_GETCURRE
14230 4e 54 54 4f 4f 4c 41 20 3d 20 57 4d 5f 55 53 45  NTTOOLA = WM_USE
14240 52 20 2b 20 31 35 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 15 }..enum :
14250 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 43   uint { TTM_GETC
14260 55 52 52 45 4e 54 54 4f 4f 4c 57 20 3d 20 57 4d  URRENTTOOLW = WM
14270 5f 55 53 45 52 20 2b 20 35 39 20 7d 0d 0a 65 6e  _USER + 59 }..en
14280 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f  um : uint { TTM_
14290 57 49 4e 44 4f 57 46 52 4f 4d 50 4f 49 4e 54 20  WINDOWFROMPOINT 
142a0 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 36 20 7d  = WM_USER + 16 }
142b0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
142c0 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
142d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54  enum : uint { TT
142e0 4d 5f 54 52 41 43 4b 41 43 54 49 56 41 54 45 20  M_TRACKACTIVATE 
142f0 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 37 20 7d  = WM_USER + 17 }
14300 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14310 54 54 4d 5f 54 52 41 43 4b 50 4f 53 49 54 49 4f  TTM_TRACKPOSITIO
14320 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 38  N = WM_USER + 18
14330 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14340 7b 20 54 54 4d 5f 53 45 54 54 49 50 42 4b 43 4f  { TTM_SETTIPBKCO
14350 4c 4f 52 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  LOR = WM_USER + 
14360 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  19 }..enum : uin
14370 74 20 7b 20 54 54 4d 5f 53 45 54 54 49 50 54 45  t { TTM_SETTIPTE
14380 58 54 43 4f 4c 4f 52 20 3d 20 57 4d 5f 55 53 45  XTCOLOR = WM_USE
14390 52 20 2b 20 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 20 }..enum :
143a0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 44   uint { TTM_GETD
143b0 45 4c 41 59 54 49 4d 45 20 3d 20 57 4d 5f 55 53  ELAYTIME = WM_US
143c0 45 52 20 2b 20 32 31 20 7d 0d 0a 65 6e 75 6d 20  ER + 21 }..enum 
143d0 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54  : uint { TTM_GET
143e0 54 49 50 42 4b 43 4f 4c 4f 52 20 3d 20 57 4d 5f  TIPBKCOLOR = WM_
143f0 55 53 45 52 20 2b 20 32 32 20 7d 0d 0a 65 6e 75  USER + 22 }..enu
14400 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47  m : uint { TTM_G
14410 45 54 54 49 50 54 45 58 54 43 4f 4c 4f 52 20 3d  ETTIPTEXTCOLOR =
14420 20 57 4d 5f 55 53 45 52 20 2b 20 32 33 20 7d 0d   WM_USER + 23 }.
14430 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
14440 54 4d 5f 53 45 54 4d 41 58 54 49 50 57 49 44 54  TM_SETMAXTIPWIDT
14450 48 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 34  H = WM_USER + 24
14460 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14470 7b 20 54 54 4d 5f 47 45 54 4d 41 58 54 49 50 57  { TTM_GETMAXTIPW
14480 49 44 54 48 20 3d 20 57 4d 5f 55 53 45 52 20 2b  IDTH = WM_USER +
14490 20 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   25 }..enum : ui
144a0 6e 74 20 7b 20 54 54 4d 5f 53 45 54 4d 41 52 47  nt { TTM_SETMARG
144b0 49 4e 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32  IN = WM_USER + 2
144c0 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
144d0 20 7b 20 54 54 4d 5f 47 45 54 4d 41 52 47 49 4e   { TTM_GETMARGIN
144e0 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 32 37 20   = WM_USER + 27 
144f0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14500 20 54 54 4d 5f 50 4f 50 20 3d 20 57 4d 5f 55 53   TTM_POP = WM_US
14510 45 52 20 2b 20 32 38 20 7d 0d 0a 2f 2f 20 23 65  ER + 28 }..// #e
14520 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  ndif..// #if (_W
14530 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
14540 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
14550 7b 20 54 54 4d 5f 55 50 44 41 54 45 20 3d 20 57  { TTM_UPDATE = W
14560 4d 5f 55 53 45 52 20 2b 20 32 39 20 7d 0d 0a 2f  M_USER + 29 }../
14570 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66  / #endif..// #if
14580 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
14590 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0500)..enum : u
145a0 69 6e 74 20 7b 20 54 54 4d 5f 47 45 54 42 55 42  int { TTM_GETBUB
145b0 42 4c 45 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45  BLESIZE = WM_USE
145c0 52 20 2b 20 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 30 }..enum :
145d0 20 75 69 6e 74 20 7b 20 54 54 4d 5f 41 44 4a 55   uint { TTM_ADJU
145e0 53 54 52 45 43 54 20 3d 20 57 4d 5f 55 53 45 52  STRECT = WM_USER
145f0 20 2b 20 33 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 31 }..enum : 
14600 75 69 6e 74 20 7b 20 54 54 4d 5f 53 45 54 54 49  uint { TTM_SETTI
14610 54 4c 45 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b  TLEA = WM_USER +
14620 20 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   32 }..enum : ui
14630 6e 74 20 7b 20 54 54 4d 5f 53 45 54 54 49 54 4c  nt { TTM_SETTITL
14640 45 57 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 33  EW = WM_USER + 3
14650 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  3 }..// #endif..
14660 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
14670 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
14680 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
14690 20 54 54 4d 5f 50 4f 50 55 50 20 3d 20 57 4d 5f   TTM_POPUP = WM_
146a0 55 53 45 52 20 2b 20 33 34 20 7d 0d 0a 65 6e 75  USER + 34 }..enu
146b0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4d 5f 47  m : uint { TTM_G
146c0 45 54 54 49 54 4c 45 20 3d 20 57 4d 5f 55 53 45  ETTITLE = WM_USE
146d0 52 20 2b 20 33 35 20 7d 0d 0a 0d 0a 73 74 72 75  R + 35 }....stru
146e0 63 74 20 5f 54 54 47 45 54 54 49 54 4c 45 20 7b  ct _TTGETTITLE {
146f0 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65  ..  DWORD dwSize
14700 3b 0d 0a 20 20 55 49 4e 54 20 75 54 69 74 6c 65  ;..  UINT uTitle
14710 42 69 74 6d 61 70 3b 0d 0a 20 20 55 49 4e 54 20  Bitmap;..  UINT 
14720 63 63 68 3b 0d 0a 20 20 57 43 48 41 52 20 2a 20  cch;..  WCHAR * 
14730 70 73 7a 54 69 74 6c 65 3b 0d 0a 7d 0d 0a 61 6c  pszTitle;..}..al
14740 69 61 73 20 5f 54 54 47 45 54 54 49 54 4c 45 20  ias _TTGETTITLE 
14750 54 54 47 45 54 54 49 54 4c 45 3b 0d 0a 61 6c 69  TTGETTITLE;..ali
14760 61 73 20 5f 54 54 47 45 54 54 49 54 4c 45 2a 20  as _TTGETTITLE* 
14770 50 54 54 47 45 54 54 49 54 4c 45 3b 0d 0a 0d 0a  PTTGETTITLE;....
14780 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
14790 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
147a0 61 6c 69 61 73 20 54 54 4d 5f 41 44 44 54 4f 4f  alias TTM_ADDTOO
147b0 4c 57 20 54 54 4d 5f 41 44 44 54 4f 4f 4c 3b 0d  LW TTM_ADDTOOL;.
147c0 0a 61 6c 69 61 73 20 54 54 4d 5f 44 45 4c 54 4f  .alias TTM_DELTO
147d0 4f 4c 57 20 54 54 4d 5f 44 45 4c 54 4f 4f 4c 3b  OLW TTM_DELTOOL;
147e0 0d 0a 61 6c 69 61 73 20 54 54 4d 5f 4e 45 57 54  ..alias TTM_NEWT
147f0 4f 4f 4c 52 45 43 54 57 20 54 54 4d 5f 4e 45 57  OOLRECTW TTM_NEW
14800 54 4f 4f 4c 52 45 43 54 3b 0d 0a 61 6c 69 61 73  TOOLRECT;..alias
14810 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46 4f   TTM_GETTOOLINFO
14820 57 20 54 54 4d 5f 47 45 54 54 4f 4f 4c 49 4e 46  W TTM_GETTOOLINF
14830 4f 3b 0d 0a 61 6c 69 61 73 20 54 54 4d 5f 53 45  O;..alias TTM_SE
14840 54 54 4f 4f 4c 49 4e 46 4f 57 20 54 54 4d 5f 53  TTOOLINFOW TTM_S
14850 45 54 54 4f 4f 4c 49 4e 46 4f 3b 0d 0a 61 6c 69  ETTOOLINFO;..ali
14860 61 73 20 54 54 4d 5f 48 49 54 54 45 53 54 57 20  as TTM_HITTESTW 
14870 54 54 4d 5f 48 49 54 54 45 53 54 3b 0d 0a 61 6c  TTM_HITTEST;..al
14880 69 61 73 20 54 54 4d 5f 47 45 54 54 45 58 54 57  ias TTM_GETTEXTW
14890 20 54 54 4d 5f 47 45 54 54 45 58 54 3b 0d 0a 61   TTM_GETTEXT;..a
148a0 6c 69 61 73 20 54 54 4d 5f 55 50 44 41 54 45 54  lias TTM_UPDATET
148b0 49 50 54 45 58 54 57 20 54 54 4d 5f 55 50 44 41  IPTEXTW TTM_UPDA
148c0 54 45 54 49 50 54 45 58 54 3b 0d 0a 61 6c 69 61  TETIPTEXT;..alia
148d0 73 20 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 57  s TTM_ENUMTOOLSW
148e0 20 54 54 4d 5f 45 4e 55 4d 54 4f 4f 4c 53 3b 0d   TTM_ENUMTOOLS;.
148f0 0a 61 6c 69 61 73 20 54 54 4d 5f 47 45 54 43 55  .alias TTM_GETCU
14900 52 52 45 4e 54 54 4f 4f 4c 57 20 54 54 4d 5f 47  RRENTTOOLW TTM_G
14910 45 54 43 55 52 52 45 4e 54 54 4f 4f 4c 3b 0d 0a  ETCURRENTTOOL;..
14920 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
14930 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 61 6c  E >= 0x0500)..al
14940 69 61 73 20 54 54 4d 5f 53 45 54 54 49 54 4c 45  ias TTM_SETTITLE
14950 57 20 54 54 4d 5f 53 45 54 54 49 54 4c 45 3b 0d  W TTM_SETTITLE;.
14960 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
14970 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
14980 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
14990 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
149a0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
149b0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
149c0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
149d0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
149e0 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f  E >= 0x0500)..//
149f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
14a00 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
14a10 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49  / #if (_WIN32_WI
14a20 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 61  NNT >= 0x501)..a
14a30 6c 69 61 73 20 43 43 4d 5f 53 45 54 57 49 4e 44  lias CCM_SETWIND
14a40 4f 57 54 48 45 4d 45 20 54 54 4d 5f 53 45 54 57  OWTHEME TTM_SETW
14a50 49 4e 44 4f 57 54 48 45 4d 45 3b 0d 0a 2f 2f 20  INDOWTHEME;..// 
14a60 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
14a70 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
14a80 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 50  x0300)..alias LP
14a90 54 54 48 49 54 54 45 53 54 49 4e 46 4f 57 20 4c  TTHITTESTINFOW L
14aa0 50 48 49 54 54 45 53 54 49 4e 46 4f 57 3b 0d 0a  PHITTESTINFOW;..
14ab0 61 6c 69 61 73 20 4c 50 54 54 48 49 54 54 45 53  alias LPTTHITTES
14ac0 54 49 4e 46 4f 41 20 4c 50 48 49 54 54 45 53 54  TINFOA LPHITTEST
14ad0 49 4e 46 4f 41 3b 0d 0a 2f 2f 20 23 65 6c 73 65  INFOA;..// #else
14ae0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
14af0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
14b00 0a 61 6c 69 61 73 20 4c 50 54 54 48 49 54 54 45  .alias LPTTHITTE
14b10 53 54 49 4e 46 4f 20 4c 50 48 49 54 54 45 53 54  STINFO LPHITTEST
14b20 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  INFO;....struct 
14b30 5f 54 54 5f 48 49 54 54 45 53 54 49 4e 46 4f 41  _TT_HITTESTINFOA
14b40 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b   {..  HWND hwnd;
14b50 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20  ..  POINT pt;.. 
14b60 20 54 54 54 4f 4f 4c 49 4e 46 4f 41 20 74 69 3b   TTTOOLINFOA ti;
14b70 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 54 5f 48  ..}..alias _TT_H
14b80 49 54 54 45 53 54 49 4e 46 4f 41 20 54 54 48 49  ITTESTINFOA TTHI
14b90 54 54 45 53 54 49 4e 46 4f 41 3b 0d 0a 61 6c 69  TTESTINFOA;..ali
14ba0 61 73 20 5f 54 54 5f 48 49 54 54 45 53 54 49 4e  as _TT_HITTESTIN
14bb0 46 4f 41 2a 20 4c 50 54 54 48 49 54 54 45 53 54  FOA* LPTTHITTEST
14bc0 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  INFOA;....struct
14bd0 20 5f 54 54 5f 48 49 54 54 45 53 54 49 4e 46 4f   _TT_HITTESTINFO
14be0 57 20 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  W {..  HWND hwnd
14bf0 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a  ;..  POINT pt;..
14c00 20 20 54 54 54 4f 4f 4c 49 4e 46 4f 57 20 74 69    TTTOOLINFOW ti
14c10 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 54 54 5f  ;..}..alias _TT_
14c20 48 49 54 54 45 53 54 49 4e 46 4f 57 20 54 54 48  HITTESTINFOW TTH
14c30 49 54 54 45 53 54 49 4e 46 4f 57 3b 0d 0a 61 6c  ITTESTINFOW;..al
14c40 69 61 73 20 5f 54 54 5f 48 49 54 54 45 53 54 49  ias _TT_HITTESTI
14c50 4e 46 4f 57 2a 20 4c 50 54 54 48 49 54 54 45 53  NFOW* LPTTHITTES
14c60 54 49 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  TINFOW;....// #i
14c70 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
14c80 69 61 73 20 54 54 48 49 54 54 45 53 54 49 4e 46  ias TTHITTESTINF
14c90 4f 57 20 54 54 48 49 54 54 45 53 54 49 4e 46 4f  OW TTHITTESTINFO
14ca0 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 54 48 49 54  ;..alias LPTTHIT
14cb0 54 45 53 54 49 4e 46 4f 57 20 4c 50 54 54 48 49  TESTINFOW LPTTHI
14cc0 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23  TTESTINFO;..// #
14cd0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
14ce0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
14cf0 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
14d00 20 7b 20 54 54 4e 5f 47 45 54 44 49 53 50 49 4e   { TTN_GETDISPIN
14d10 46 4f 41 20 3d 20 54 54 4e 5f 46 49 52 53 54 20  FOA = TTN_FIRST 
14d20 2d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  - 0 }..enum : ui
14d30 6e 74 20 7b 20 54 54 4e 5f 47 45 54 44 49 53 50  nt { TTN_GETDISP
14d40 49 4e 46 4f 57 20 3d 20 54 54 4e 5f 46 49 52 53  INFOW = TTN_FIRS
14d50 54 20 2d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  T - 10 }..enum :
14d60 20 75 69 6e 74 20 7b 20 54 54 4e 5f 53 48 4f 57   uint { TTN_SHOW
14d70 20 3d 20 54 54 4e 5f 46 49 52 53 54 20 2d 20 31   = TTN_FIRST - 1
14d80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14d90 7b 20 54 54 4e 5f 50 4f 50 20 3d 20 54 54 4e 5f  { TTN_POP = TTN_
14da0 46 49 52 53 54 20 2d 20 32 20 7d 0d 0a 65 6e 75  FIRST - 2 }..enu
14db0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 54 4e 5f 4c  m : uint { TTN_L
14dc0 49 4e 4b 43 4c 49 43 4b 20 3d 20 54 54 4e 5f 46  INKCLICK = TTN_F
14dd0 49 52 53 54 20 2d 20 33 20 7d 0d 0a 0d 0a 2f 2f  IRST - 3 }....//
14de0 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
14df0 0a 61 6c 69 61 73 20 54 54 4e 5f 47 45 54 44 49  .alias TTN_GETDI
14e00 53 50 49 4e 46 4f 57 20 54 54 4e 5f 47 45 54 44  SPINFOW TTN_GETD
14e10 49 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c  ISPINFO;..// #el
14e20 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
14e30 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20  #endif....alias 
14e40 54 54 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 20  TTN_GETDISPINFO 
14e50 54 54 4e 5f 4e 45 45 44 54 45 58 54 3b 0d 0a 61  TTN_NEEDTEXT;..a
14e60 6c 69 61 73 20 54 54 4e 5f 47 45 54 44 49 53 50  lias TTN_GETDISP
14e70 49 4e 46 4f 41 20 54 54 4e 5f 4e 45 45 44 54 45  INFOA TTN_NEEDTE
14e80 58 54 41 3b 0d 0a 61 6c 69 61 73 20 54 54 4e 5f  XTA;..alias TTN_
14e90 47 45 54 44 49 53 50 49 4e 46 4f 57 20 54 54 4e  GETDISPINFOW TTN
14ea0 5f 4e 45 45 44 54 45 58 54 57 3b 0d 0a 0d 0a 2f  _NEEDTEXTW;..../
14eb0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
14ec0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69   >= 0x0300)..ali
14ed0 61 73 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57  as NMTTDISPINFOW
14ee0 20 54 4f 4f 4c 54 49 50 54 45 58 54 57 3b 0d 0a   TOOLTIPTEXTW;..
14ef0 61 6c 69 61 73 20 4e 4d 54 54 44 49 53 50 49 4e  alias NMTTDISPIN
14f00 46 4f 41 20 54 4f 4f 4c 54 49 50 54 45 58 54 41  FOA TOOLTIPTEXTA
14f10 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54 54 44  ;..alias LPNMTTD
14f20 49 53 50 49 4e 46 4f 41 20 4c 50 54 4f 4f 4c 54  ISPINFOA LPTOOLT
14f30 49 50 54 45 58 54 41 3b 0d 0a 61 6c 69 61 73 20  IPTEXTA;..alias 
14f40 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 20  LPNMTTDISPINFOW 
14f50 4c 50 54 4f 4f 4c 54 49 50 54 45 58 54 57 3b 0d  LPTOOLTIPTEXTW;.
14f60 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
14f70 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
14f80 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
14f90 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
14fa0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c  .// #endif....al
14fb0 69 61 73 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f  ias NMTTDISPINFO
14fc0 20 54 4f 4f 4c 54 49 50 54 45 58 54 3b 0d 0a 61   TOOLTIPTEXT;..a
14fd0 6c 69 61 73 20 4c 50 4e 4d 54 54 44 49 53 50 49  lias LPNMTTDISPI
14fe0 4e 46 4f 20 4c 50 54 4f 4f 4c 54 49 50 54 45 58  NFO LPTOOLTIPTEX
14ff0 54 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  T;....// #define
15000 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41 5f 56   NMTTDISPINFOA_V
15010 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f  1_SIZE CCSIZEOF_
15020 53 54 52 55 43 54 28 4e 4d 54 54 44 49 53 50 49  STRUCT(NMTTDISPI
15030 4e 46 4f 41 2c 20 75 46 6c 61 67 73 29 0d 0a 2f  NFOA, uFlags)../
15040 2f 20 23 64 65 66 69 6e 65 20 4e 4d 54 54 44 49  / #define NMTTDI
15050 53 50 49 4e 46 4f 57 5f 56 31 5f 53 49 5a 45 20  SPINFOW_V1_SIZE 
15060 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 28  CCSIZEOF_STRUCT(
15070 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57 2c 20 75  NMTTDISPINFOW, u
15080 46 6c 61 67 73 29 0d 0a 0d 0a 73 74 72 75 63 74  Flags)....struct
15090 20 74 61 67 4e 4d 54 54 44 49 53 50 49 4e 46 4f   tagNMTTDISPINFO
150a0 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72  A {..  NMHDR hdr
150b0 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 7a 54  ;..  LPSTR lpszT
150c0 65 78 74 3b 0d 0a 20 20 63 68 61 72 20 73 7a 54  ext;..  char szT
150d0 65 78 74 5b 38 30 5d 3b 0d 0a 20 20 48 49 4e 53  ext[80];..  HINS
150e0 54 41 4e 43 45 20 68 69 6e 73 74 3b 0d 0a 20 20  TANCE hinst;..  
150f0 55 49 4e 54 20 75 46 6c 61 67 73 3b 0d 0a 2f 2f  UINT uFlags;..//
15100 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
15110 3e 3d 20 30 78 30 33 30 30 29 0d 0a 20 20 4c 50  >= 0x0300)..  LP
15120 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 2f 2f  ARAM lParam;..//
15130 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61   #endif..}..alia
15140 73 20 74 61 67 4e 4d 54 54 44 49 53 50 49 4e 46  s tagNMTTDISPINF
15150 4f 41 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 41  OA NMTTDISPINFOA
15160 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 54  ;..alias tagNMTT
15170 44 49 53 50 49 4e 46 4f 41 2a 20 4c 50 4e 4d 54  DISPINFOA* LPNMT
15180 54 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73  TDISPINFOA;....s
15190 74 72 75 63 74 20 74 61 67 4e 4d 54 54 44 49 53  truct tagNMTTDIS
151a0 50 49 4e 46 4f 57 20 7b 0d 0a 20 20 4e 4d 48 44  PINFOW {..  NMHD
151b0 52 20 68 64 72 3b 0d 0a 20 20 4c 50 57 53 54 52  R hdr;..  LPWSTR
151c0 20 6c 70 73 7a 54 65 78 74 3b 0d 0a 20 20 57 43   lpszText;..  WC
151d0 48 41 52 20 73 7a 54 65 78 74 5b 38 30 5d 3b 0d  HAR szText[80];.
151e0 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 69 6e  .  HINSTANCE hin
151f0 73 74 3b 0d 0a 20 20 55 49 4e 54 20 75 46 6c 61  st;..  UINT uFla
15200 67 73 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  gs;..// #if (_WI
15210 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
15220 29 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72  )..  LPARAM lPar
15230 61 6d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  am;..// #endif..
15240 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 54  }..alias tagNMTT
15250 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54 54 44 49  DISPINFOW NMTTDI
15260 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20  SPINFOW;..alias 
15270 74 61 67 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57  tagNMTTDISPINFOW
15280 2a 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f  * LPNMTTDISPINFO
15290 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
152a0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e  UNICODE..alias N
152b0 4d 54 54 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54  MTTDISPINFOW NMT
152c0 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61  TDISPINFO;..alia
152d0 73 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f  s LPNMTTDISPINFO
152e0 57 20 4c 50 4e 4d 54 54 44 49 53 50 49 4e 46 4f  W LPNMTTDISPINFO
152f0 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e 4d  ;..// #define NM
15300 54 54 44 49 53 50 49 4e 46 4f 5f 56 31 5f 53 49  TTDISPINFO_V1_SI
15310 5a 45 20 4e 4d 54 54 44 49 53 50 49 4e 46 4f 57  ZE NMTTDISPINFOW
15320 5f 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c  _V1_SIZE..// #el
15330 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
15340 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
15350 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
15360 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 4e 4f  endif      // NO
15370 54 4f 4f 4c 54 49 50 53 0d 0a 0d 0a 2f 2f 20 23  TOOLTIPS....// #
15380 69 66 6e 64 65 66 20 4e 4f 53 54 41 54 55 53 42  ifndef NOSTATUSB
15390 41 52 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  AR....enum : uin
153a0 74 20 7b 20 53 42 41 52 53 5f 53 49 5a 45 47 52  t { SBARS_SIZEGR
153b0 49 50 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 2f  IP = 0x0100 }../
153c0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
153d0 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75   >= 0x0500)..enu
153e0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 41 52 53  m : uint { SBARS
153f0 5f 54 4f 4f 4c 54 49 50 53 20 3d 20 30 78 30 38  _TOOLTIPS = 0x08
15400 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
15410 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
15420 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
15430 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
15440 20 53 42 54 5f 54 4f 4f 4c 54 49 50 53 20 3d 20   SBT_TOOLTIPS = 
15450 30 78 30 38 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0800 }..// #en
15460 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  dif....extern(Wi
15470 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f  ndows) export vo
15480 69 64 20 44 72 61 77 53 74 61 74 75 73 54 65 78  id DrawStatusTex
15490 74 41 28 48 44 43 20 68 44 43 2c 20 4c 50 52 45  tA(HDC hDC, LPRE
154a0 43 54 20 6c 70 72 63 2c 20 4c 50 43 53 54 52 20  CT lprc, LPCSTR 
154b0 70 73 7a 54 65 78 74 2c 20 55 49 4e 54 20 75 46  pszText, UINT uF
154c0 6c 61 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57  lags);..extern(W
154d0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76  indows) export v
154e0 6f 69 64 20 44 72 61 77 53 74 61 74 75 73 54 65  oid DrawStatusTe
154f0 78 74 57 28 48 44 43 20 68 44 43 2c 20 4c 50 52  xtW(HDC hDC, LPR
15500 45 43 54 20 6c 70 72 63 2c 20 4c 50 43 57 53 54  ECT lprc, LPCWST
15510 52 20 70 73 7a 54 65 78 74 2c 20 55 49 4e 54 20  R pszText, UINT 
15520 75 46 6c 61 67 73 29 3b 0d 0a 0d 0a 65 78 74 65  uFlags);....exte
15530 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
15540 72 74 20 48 57 4e 44 20 43 72 65 61 74 65 53 74  rt HWND CreateSt
15550 61 74 75 73 57 69 6e 64 6f 77 41 28 4c 4f 4e 47  atusWindowA(LONG
15560 20 73 74 79 6c 65 2c 20 4c 50 43 53 54 52 20 6c   style, LPCSTR l
15570 70 73 7a 54 65 78 74 2c 20 48 57 4e 44 20 68 77  pszText, HWND hw
15580 6e 64 50 61 72 65 6e 74 2c 20 55 49 4e 54 20 77  ndParent, UINT w
15590 49 44 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ID);..extern(Win
155a0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 4e  dows) export HWN
155b0 44 20 43 72 65 61 74 65 53 74 61 74 75 73 57 69  D CreateStatusWi
155c0 6e 64 6f 77 57 28 4c 4f 4e 47 20 73 74 79 6c 65  ndowW(LONG style
155d0 2c 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 54 65  , LPCWSTR lpszTe
155e0 78 74 2c 20 48 57 4e 44 20 68 77 6e 64 50 61 72  xt, HWND hwndPar
155f0 65 6e 74 2c 20 55 49 4e 54 20 77 49 44 29 3b 0d  ent, UINT wID);.
15600 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
15610 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 72 65 61  CODE..alias Crea
15620 74 65 53 74 61 74 75 73 57 69 6e 64 6f 77 57 20  teStatusWindowW 
15630 43 72 65 61 74 65 53 74 61 74 75 73 57 69 6e 64  CreateStatusWind
15640 6f 77 3b 0d 0a 61 6c 69 61 73 20 44 72 61 77 53  ow;..alias DrawS
15650 74 61 74 75 73 54 65 78 74 57 20 44 72 61 77 53  tatusTextW DrawS
15660 74 61 74 75 73 54 65 78 74 3b 0d 0a 2f 2f 20 23  tatusText;..// #
15670 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
15680 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
15690 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  f....// #ifdef _
156a0 57 49 4e 33 32 0d 0a 63 6f 6e 73 74 20 77 63 68  WIN32..const wch
156b0 61 72 5b 5d 20 53 54 41 54 55 53 43 4c 41 53 53  ar[] STATUSCLASS
156c0 4e 41 4d 45 57 20 3d 20 22 6d 73 63 74 6c 73 5f  NAMEW = "msctls_
156d0 73 74 61 74 75 73 62 61 72 33 32 22 3b 0d 0a 63  statusbar32";..c
156e0 6f 6e 73 74 20 63 68 61 72 5b 5d 20 53 54 41 54  onst char[] STAT
156f0 55 53 43 4c 41 53 53 4e 41 4d 45 41 20 3d 20 22  USCLASSNAMEA = "
15700 6d 73 63 74 6c 73 5f 73 74 61 74 75 73 62 61 72  msctls_statusbar
15710 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  32";....// #ifde
15720 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
15730 20 53 54 41 54 55 53 43 4c 41 53 53 4e 41 4d 45   STATUSCLASSNAME
15740 57 20 53 54 41 54 55 53 43 4c 41 53 53 4e 41 4d  W STATUSCLASSNAM
15750 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  E;..// #else..//
15760 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
15770 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
15780 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
15790 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
157a0 7b 20 53 42 5f 53 45 54 54 45 58 54 41 20 3d 20  { SB_SETTEXTA = 
157b0 57 4d 5f 55 53 45 52 2b 31 20 7d 0d 0a 65 6e 75  WM_USER+1 }..enu
157c0 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f 53 45  m : uint { SB_SE
157d0 54 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52  TTEXTW = WM_USER
157e0 2b 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  +11 }..enum : ui
157f0 6e 74 20 7b 20 53 42 5f 47 45 54 54 45 58 54 41  nt { SB_GETTEXTA
15800 20 3d 20 57 4d 5f 55 53 45 52 2b 32 20 7d 0d 0a   = WM_USER+2 }..
15810 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42  enum : uint { SB
15820 5f 47 45 54 54 45 58 54 57 20 3d 20 57 4d 5f 55  _GETTEXTW = WM_U
15830 53 45 52 2b 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a  SER+13 }..enum :
15840 20 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 54 45   uint { SB_GETTE
15850 58 54 4c 45 4e 47 54 48 41 20 3d 20 57 4d 5f 55  XTLENGTHA = WM_U
15860 53 45 52 2b 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  SER+3 }..enum : 
15870 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 54 45 58  uint { SB_GETTEX
15880 54 4c 45 4e 47 54 48 57 20 3d 20 57 4d 5f 55 53  TLENGTHW = WM_US
15890 45 52 2b 31 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  ER+12 }....// #i
158a0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
158b0 69 61 73 20 53 42 5f 47 45 54 54 45 58 54 57 20  ias SB_GETTEXTW 
158c0 53 42 5f 47 45 54 54 45 58 54 3b 0d 0a 61 6c 69  SB_GETTEXT;..ali
158d0 61 73 20 53 42 5f 53 45 54 54 45 58 54 57 20 53  as SB_SETTEXTW S
158e0 42 5f 53 45 54 54 45 58 54 3b 0d 0a 61 6c 69 61  B_SETTEXT;..alia
158f0 73 20 53 42 5f 47 45 54 54 45 58 54 4c 45 4e 47  s SB_GETTEXTLENG
15900 54 48 57 20 53 42 5f 47 45 54 54 45 58 54 4c 45  THW SB_GETTEXTLE
15910 4e 47 54 48 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f  NGTH;..// #if (_
15920 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
15930 30 30 29 0d 0a 61 6c 69 61 73 20 53 42 5f 53 45  00)..alias SB_SE
15940 54 54 49 50 54 45 58 54 57 20 53 42 5f 53 45 54  TTIPTEXTW SB_SET
15950 54 49 50 54 45 58 54 3b 0d 0a 61 6c 69 61 73 20  TIPTEXT;..alias 
15960 53 42 5f 47 45 54 54 49 50 54 45 58 54 57 20 53  SB_GETTIPTEXTW S
15970 42 5f 47 45 54 54 49 50 54 45 58 54 3b 0d 0a 2f  B_GETTIPTEXT;../
15980 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6c  / #endif..// #el
15990 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
159a0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
159b0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
159c0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 2f 2f 20   >= 0x0400)..// 
159d0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
159e0 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
159f0 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
15a00 6e 74 20 7b 20 53 42 5f 53 45 54 50 41 52 54 53  nt { SB_SETPARTS
15a10 20 3d 20 57 4d 5f 55 53 45 52 2b 34 20 7d 0d 0a   = WM_USER+4 }..
15a20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42  enum : uint { SB
15a30 5f 47 45 54 50 41 52 54 53 20 3d 20 57 4d 5f 55  _GETPARTS = WM_U
15a40 53 45 52 2b 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  SER+6 }..enum : 
15a50 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 42 4f 52  uint { SB_GETBOR
15a60 44 45 52 53 20 3d 20 57 4d 5f 55 53 45 52 2b 37  DERS = WM_USER+7
15a70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
15a80 7b 20 53 42 5f 53 45 54 4d 49 4e 48 45 49 47 48  { SB_SETMINHEIGH
15a90 54 20 3d 20 57 4d 5f 55 53 45 52 2b 38 20 7d 0d  T = WM_USER+8 }.
15aa0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
15ab0 42 5f 53 49 4d 50 4c 45 20 3d 20 57 4d 5f 55 53  B_SIMPLE = WM_US
15ac0 45 52 2b 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  ER+9 }..enum : u
15ad0 69 6e 74 20 7b 20 53 42 5f 47 45 54 52 45 43 54  int { SB_GETRECT
15ae0 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 20 7d 0d   = WM_USER+10 }.
15af0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
15b00 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65  IE >= 0x0300)..e
15b10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f  num : uint { SB_
15b20 49 53 53 49 4d 50 4c 45 20 3d 20 57 4d 5f 55 53  ISSIMPLE = WM_US
15b30 45 52 2b 31 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64  ER+14 }..// #end
15b40 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  if..// #if (_WIN
15b50 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
15b60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
15b70 53 42 5f 53 45 54 49 43 4f 4e 20 3d 20 57 4d 5f  SB_SETICON = WM_
15b80 55 53 45 52 2b 31 35 20 7d 0d 0a 2f 2f 20 23 64  USER+15 }..// #d
15b90 65 66 69 6e 65 20 53 42 5f 53 45 54 54 49 50 54  efine SB_SETTIPT
15ba0 45 58 54 41 20 28 57 4d 5f 55 53 45 52 2b 31 36  EXTA (WM_USER+16
15bb0 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 42  )..// #define SB
15bc0 5f 53 45 54 54 49 50 54 45 58 54 57 20 28 57 4d  _SETTIPTEXTW (WM
15bd0 5f 55 53 45 52 2b 31 37 29 0d 0a 2f 2f 20 23 64  _USER+17)..// #d
15be0 65 66 69 6e 65 20 53 42 5f 47 45 54 54 49 50 54  efine SB_GETTIPT
15bf0 45 58 54 41 20 28 57 4d 5f 55 53 45 52 2b 31 38  EXTA (WM_USER+18
15c00 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 42  )..// #define SB
15c10 5f 47 45 54 54 49 50 54 45 58 54 57 20 28 57 4d  _GETTIPTEXTW (WM
15c20 5f 55 53 45 52 2b 31 39 29 0d 0a 65 6e 75 6d 20  _USER+19)..enum 
15c30 3a 20 75 69 6e 74 20 7b 20 53 42 5f 47 45 54 49  : uint { SB_GETI
15c40 43 4f 4e 20 3d 20 57 4d 5f 55 53 45 52 2b 32 30  CON = WM_USER+20
15c50 20 7d 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45   }..alias CCM_SE
15c60 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 53  TUNICODEFORMAT S
15c70 42 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  B_SETUNICODEFORM
15c80 41 54 3b 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 47  AT;..alias CCM_G
15c90 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20  ETUNICODEFORMAT 
15ca0 53 42 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52  SB_GETUNICODEFOR
15cb0 4d 41 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  MAT;..// #endif.
15cc0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
15cd0 20 53 42 54 5f 4f 57 4e 45 52 44 52 41 57 20 3d   SBT_OWNERDRAW =
15ce0 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x1000 }..enum 
15cf0 3a 20 75 69 6e 74 20 7b 20 53 42 54 5f 4e 4f 42  : uint { SBT_NOB
15d00 4f 52 44 45 52 53 20 3d 20 30 78 30 31 30 30 20  ORDERS = 0x0100 
15d10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
15d20 20 53 42 54 5f 50 4f 50 4f 55 54 20 3d 20 30 78   SBT_POPOUT = 0x
15d30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0200 }..enum : u
15d40 69 6e 74 20 7b 20 53 42 54 5f 52 54 4c 52 45 41  int { SBT_RTLREA
15d50 44 49 4e 47 20 3d 20 30 78 30 34 30 30 20 7d 0d  DING = 0x0400 }.
15d60 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
15d70 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65  IE >= 0x0500)..e
15d80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 54  num : uint { SBT
15d90 5f 4e 4f 54 41 42 50 41 52 53 49 4e 47 20 3d 20  _NOTABPARSING = 
15da0 30 78 30 38 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0800 }..// #en
15db0 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d  dif....alias CCM
15dc0 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 53 42 5f 53  _SETBKCOLOR SB_S
15dd0 45 54 42 4b 43 4f 4c 4f 52 3b 0d 0a 0d 0a 2f 2f  ETBKCOLOR;....//
15de0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
15df0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
15e00 20 3a 20 75 69 6e 74 20 7b 20 53 42 4e 5f 53 49   : uint { SBN_SI
15e10 4d 50 4c 45 4d 4f 44 45 43 48 41 4e 47 45 20 3d  MPLEMODECHANGE =
15e20 20 53 42 4e 5f 46 49 52 53 54 20 2d 20 30 20 7d   SBN_FIRST - 0 }
15e30 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
15e40 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
15e50 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65   >= 0x0500)....e
15e60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 42 5f  num : uint { SB_
15e70 53 49 4d 50 4c 45 49 44 20 3d 20 30 78 30 30 66  SIMPLEID = 0x00f
15e80 66 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  f }..// #endif..
15e90 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20  ..// #endif     
15ea0 20 2f 2f 20 4e 4f 53 54 41 54 55 53 42 41 52 0d   // NOSTATUSBAR.
15eb0 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f  ...// #ifndef NO
15ec0 4d 45 4e 55 48 45 4c 50 0d 0a 0d 0a 65 78 74 65  MENUHELP....exte
15ed0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
15ee0 72 74 20 76 6f 69 64 20 4d 65 6e 75 48 65 6c 70  rt void MenuHelp
15ef0 28 55 49 4e 54 20 75 4d 73 67 2c 20 57 50 41 52  (UINT uMsg, WPAR
15f00 41 4d 20 77 50 61 72 61 6d 2c 20 4c 50 41 52 41  AM wParam, LPARA
15f10 4d 20 6c 50 61 72 61 6d 2c 20 48 4d 45 4e 55 20  M lParam, HMENU 
15f20 68 4d 61 69 6e 4d 65 6e 75 2c 20 48 49 4e 53 54  hMainMenu, HINST
15f30 41 4e 43 45 20 68 49 6e 73 74 2c 20 48 57 4e 44  ANCE hInst, HWND
15f40 20 68 77 6e 64 53 74 61 74 75 73 2c 20 55 49 4e   hwndStatus, UIN
15f50 54 20 2a 6c 70 77 49 44 73 29 3b 0d 0a 65 78 74  T *lpwIDs);..ext
15f60 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
15f70 6f 72 74 20 42 4f 4f 4c 20 53 68 6f 77 48 69 64  ort BOOL ShowHid
15f80 65 4d 65 6e 75 43 74 6c 28 48 57 4e 44 20 68 57  eMenuCtl(HWND hW
15f90 6e 64 2c 20 55 49 4e 54 5f 50 54 52 20 75 46 6c  nd, UINT_PTR uFl
15fa0 61 67 73 2c 20 4c 50 49 4e 54 20 6c 70 49 6e 66  ags, LPINT lpInf
15fb0 6f 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  o);..extern(Wind
15fc0 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f 69 64  ows) export void
15fd0 20 47 65 74 45 66 66 65 63 74 69 76 65 43 6c 69   GetEffectiveCli
15fe0 65 6e 74 52 65 63 74 28 48 57 4e 44 20 68 57 6e  entRect(HWND hWn
15ff0 64 2c 20 4c 50 52 45 43 54 20 6c 70 72 63 2c 20  d, LPRECT lprc, 
16000 4c 50 49 4e 54 20 6c 70 49 6e 66 6f 29 3b 0d 0a  LPINT lpInfo);..
16010 0d 0a 61 6c 69 61 73 20 53 43 5f 53 49 5a 45 20  ..alias SC_SIZE 
16020 4d 49 4e 53 59 53 43 4f 4d 4d 41 4e 44 3b 0d 0a  MINSYSCOMMAND;..
16030 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
16040 2f 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 41 43  / #ifndef NOTRAC
16050 4b 42 41 52 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  KBAR....// #ifde
16060 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73  f _WIN32....cons
16070 74 20 63 68 61 72 5b 5d 20 54 52 41 43 4b 42 41  t char[] TRACKBA
16080 52 5f 43 4c 41 53 53 41 20 3d 20 22 6d 73 63 74  R_CLASSA = "msct
16090 6c 73 5f 74 72 61 63 6b 62 61 72 33 32 22 3b 0d  ls_trackbar32";.
160a0 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 54  .const wchar[] T
160b0 52 41 43 4b 42 41 52 5f 43 4c 41 53 53 57 20 3d  RACKBAR_CLASSW =
160c0 20 22 6d 73 63 74 6c 73 5f 74 72 61 63 6b 62 61   "msctls_trackba
160d0 72 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  r32";....// #ifd
160e0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
160f0 73 20 54 52 41 43 4b 42 41 52 5f 43 4c 41 53 53  s TRACKBAR_CLASS
16100 57 20 54 52 41 43 4b 42 41 52 5f 43 4c 41 53 53  W TRACKBAR_CLASS
16110 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
16120 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
16130 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
16140 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
16150 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
16160 20 54 42 53 5f 41 55 54 4f 54 49 43 4b 53 20 3d   TBS_AUTOTICKS =
16170 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
16180 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 56 45 52  : uint { TBS_VER
16190 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  T = 0x0002 }..en
161a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f  um : uint { TBS_
161b0 48 4f 52 5a 20 3d 20 30 78 30 30 30 30 20 7d 0d  HORZ = 0x0000 }.
161c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
161d0 42 53 5f 54 4f 50 20 3d 20 30 78 30 30 30 34 20  BS_TOP = 0x0004 
161e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
161f0 20 54 42 53 5f 42 4f 54 54 4f 4d 20 3d 20 30 78   TBS_BOTTOM = 0x
16200 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
16210 69 6e 74 20 7b 20 54 42 53 5f 4c 45 46 54 20 3d  int { TBS_LEFT =
16220 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20   0x0004 }..enum 
16230 3a 20 75 69 6e 74 20 7b 20 54 42 53 5f 52 49 47  : uint { TBS_RIG
16240 48 54 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  HT = 0x0000 }..e
16250 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
16260 5f 42 4f 54 48 20 3d 20 30 78 30 30 30 38 20 7d  _BOTH = 0x0008 }
16270 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16280 54 42 53 5f 4e 4f 54 49 43 4b 53 20 3d 20 30 78  TBS_NOTICKS = 0x
16290 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
162a0 69 6e 74 20 7b 20 54 42 53 5f 45 4e 41 42 4c 45  int { TBS_ENABLE
162b0 53 45 4c 52 41 4e 47 45 20 3d 20 30 78 30 30 32  SELRANGE = 0x002
162c0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
162d0 20 7b 20 54 42 53 5f 46 49 58 45 44 4c 45 4e 47   { TBS_FIXEDLENG
162e0 54 48 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65  TH = 0x0040 }..e
162f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 53  num : uint { TBS
16300 5f 4e 4f 54 48 55 4d 42 20 3d 20 30 78 30 30 38  _NOTHUMB = 0x008
16310 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  0 }..// #if (_WI
16320 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
16330 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
16340 20 54 42 53 5f 54 4f 4f 4c 54 49 50 53 20 3d 20   TBS_TOOLTIPS = 
16350 30 78 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0100 }..// #en
16360 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  dif..// #if (_WI
16370 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
16380 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
16390 20 54 42 53 5f 52 45 56 45 52 53 45 44 20 3d 20   TBS_REVERSED = 
163a0 30 78 30 32 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  0x0200 }..// #en
163b0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  dif....// #if (_
163c0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35  WIN32_IE >= 0x05
163d0 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  01)..enum : uint
163e0 20 7b 20 54 42 53 5f 44 4f 57 4e 49 53 4c 45 46   { TBS_DOWNISLEF
163f0 54 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 2f 2f  T = 0x0400 }..//
16400 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
16410 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54  : uint { TBM_GET
16420 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 20 7d 0d  POS = WM_USER }.
16430 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
16440 42 4d 5f 47 45 54 52 41 4e 47 45 4d 49 4e 20 3d  BM_GETRANGEMIN =
16450 20 57 4d 5f 55 53 45 52 2b 31 20 7d 0d 0a 65 6e   WM_USER+1 }..en
16460 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f  um : uint { TBM_
16470 47 45 54 52 41 4e 47 45 4d 41 58 20 3d 20 57 4d  GETRANGEMAX = WM
16480 5f 55 53 45 52 2b 32 20 7d 0d 0a 65 6e 75 6d 20  _USER+2 }..enum 
16490 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54  : uint { TBM_GET
164a0 54 49 43 20 3d 20 57 4d 5f 55 53 45 52 2b 33 20  TIC = WM_USER+3 
164b0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
164c0 20 54 42 4d 5f 53 45 54 54 49 43 20 3d 20 57 4d   TBM_SETTIC = WM
164d0 5f 55 53 45 52 2b 34 20 7d 0d 0a 65 6e 75 6d 20  _USER+4 }..enum 
164e0 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54  : uint { TBM_SET
164f0 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 2b 35 20  POS = WM_USER+5 
16500 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16510 20 54 42 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20   TBM_SETRANGE = 
16520 57 4d 5f 55 53 45 52 2b 36 20 7d 0d 0a 65 6e 75  WM_USER+6 }..enu
16530 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53  m : uint { TBM_S
16540 45 54 52 41 4e 47 45 4d 49 4e 20 3d 20 57 4d 5f  ETRANGEMIN = WM_
16550 55 53 45 52 2b 37 20 7d 0d 0a 65 6e 75 6d 20 3a  USER+7 }..enum :
16560 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 52   uint { TBM_SETR
16570 41 4e 47 45 4d 41 58 20 3d 20 57 4d 5f 55 53 45  ANGEMAX = WM_USE
16580 52 2b 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  R+8 }..enum : ui
16590 6e 74 20 7b 20 54 42 4d 5f 43 4c 45 41 52 54 49  nt { TBM_CLEARTI
165a0 43 53 20 3d 20 57 4d 5f 55 53 45 52 2b 39 20 7d  CS = WM_USER+9 }
165b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
165c0 54 42 4d 5f 53 45 54 53 45 4c 20 3d 20 57 4d 5f  TBM_SETSEL = WM_
165d0 55 53 45 52 2b 31 30 20 7d 0d 0a 65 6e 75 6d 20  USER+10 }..enum 
165e0 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54  : uint { TBM_SET
165f0 53 45 4c 53 54 41 52 54 20 3d 20 57 4d 5f 55 53  SELSTART = WM_US
16600 45 52 2b 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ER+11 }..enum : 
16610 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54 53 45  uint { TBM_SETSE
16620 4c 45 4e 44 20 3d 20 57 4d 5f 55 53 45 52 2b 31  LEND = WM_USER+1
16630 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
16640 20 7b 20 54 42 4d 5f 47 45 54 50 54 49 43 53 20   { TBM_GETPTICS 
16650 3d 20 57 4d 5f 55 53 45 52 2b 31 34 20 7d 0d 0a  = WM_USER+14 }..
16660 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42  enum : uint { TB
16670 4d 5f 47 45 54 54 49 43 50 4f 53 20 3d 20 57 4d  M_GETTICPOS = WM
16680 5f 55 53 45 52 2b 31 35 20 7d 0d 0a 65 6e 75 6d  _USER+15 }..enum
16690 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45   : uint { TBM_GE
166a0 54 4e 55 4d 54 49 43 53 20 3d 20 57 4d 5f 55 53  TNUMTICS = WM_US
166b0 45 52 2b 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ER+16 }..enum : 
166c0 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 53 45  uint { TBM_GETSE
166d0 4c 53 54 41 52 54 20 3d 20 57 4d 5f 55 53 45 52  LSTART = WM_USER
166e0 2b 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  +17 }..enum : ui
166f0 6e 74 20 7b 20 54 42 4d 5f 47 45 54 53 45 4c 45  nt { TBM_GETSELE
16700 4e 44 20 3d 20 57 4d 5f 55 53 45 52 2b 31 38 20  ND = WM_USER+18 
16710 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16720 20 54 42 4d 5f 43 4c 45 41 52 53 45 4c 20 3d 20   TBM_CLEARSEL = 
16730 57 4d 5f 55 53 45 52 2b 31 39 20 7d 0d 0a 65 6e  WM_USER+19 }..en
16740 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f  um : uint { TBM_
16750 53 45 54 54 49 43 46 52 45 51 20 3d 20 57 4d 5f  SETTICFREQ = WM_
16760 55 53 45 52 2b 32 30 20 7d 0d 0a 65 6e 75 6d 20  USER+20 }..enum 
16770 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f 53 45 54  : uint { TBM_SET
16780 50 41 47 45 53 49 5a 45 20 3d 20 57 4d 5f 55 53  PAGESIZE = WM_US
16790 45 52 2b 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ER+21 }..enum : 
167a0 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 50 41  uint { TBM_GETPA
167b0 47 45 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52  GESIZE = WM_USER
167c0 2b 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  +22 }..enum : ui
167d0 6e 74 20 7b 20 54 42 4d 5f 53 45 54 4c 49 4e 45  nt { TBM_SETLINE
167e0 53 49 5a 45 20 3d 20 57 4d 5f 55 53 45 52 2b 32  SIZE = WM_USER+2
167f0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
16800 20 7b 20 54 42 4d 5f 47 45 54 4c 49 4e 45 53 49   { TBM_GETLINESI
16810 5a 45 20 3d 20 57 4d 5f 55 53 45 52 2b 32 34 20  ZE = WM_USER+24 
16820 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16830 20 54 42 4d 5f 47 45 54 54 48 55 4d 42 52 45 43   TBM_GETTHUMBREC
16840 54 20 3d 20 57 4d 5f 55 53 45 52 2b 32 35 20 7d  T = WM_USER+25 }
16850 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16860 54 42 4d 5f 47 45 54 43 48 41 4e 4e 45 4c 52 45  TBM_GETCHANNELRE
16870 43 54 20 3d 20 57 4d 5f 55 53 45 52 2b 32 36 20  CT = WM_USER+26 
16880 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16890 20 54 42 4d 5f 53 45 54 54 48 55 4d 42 4c 45 4e   TBM_SETTHUMBLEN
168a0 47 54 48 20 3d 20 57 4d 5f 55 53 45 52 2b 32 37  GTH = WM_USER+27
168b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
168c0 7b 20 54 42 4d 5f 47 45 54 54 48 55 4d 42 4c 45  { TBM_GETTHUMBLE
168d0 4e 47 54 48 20 3d 20 57 4d 5f 55 53 45 52 2b 32  NGTH = WM_USER+2
168e0 38 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  8 }..// #if (_WI
168f0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
16900 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
16910 20 54 42 4d 5f 53 45 54 54 4f 4f 4c 54 49 50 53   TBM_SETTOOLTIPS
16920 20 3d 20 57 4d 5f 55 53 45 52 2b 32 39 20 7d 0d   = WM_USER+29 }.
16930 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
16940 42 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 20 3d  BM_GETTOOLTIPS =
16950 20 57 4d 5f 55 53 45 52 2b 33 30 20 7d 0d 0a 65   WM_USER+30 }..e
16960 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d  num : uint { TBM
16970 5f 53 45 54 54 49 50 53 49 44 45 20 3d 20 57 4d  _SETTIPSIDE = WM
16980 5f 55 53 45 52 2b 33 31 20 7d 0d 0a 0d 0a 65 6e  _USER+31 }....en
16990 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 54 53  um : uint { TBTS
169a0 5f 54 4f 50 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  _TOP = 0 }..enum
169b0 20 3a 20 75 69 6e 74 20 7b 20 54 42 54 53 5f 4c   : uint { TBTS_L
169c0 45 46 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  EFT = 1 }..enum 
169d0 3a 20 75 69 6e 74 20 7b 20 54 42 54 53 5f 42 4f  : uint { TBTS_BO
169e0 54 54 4f 4d 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  TTOM = 2 }..enum
169f0 20 3a 20 75 69 6e 74 20 7b 20 54 42 54 53 5f 52   : uint { TBTS_R
16a00 49 47 48 54 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e  IGHT = 3 }....en
16a10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 4d 5f  um : uint { TBM_
16a20 53 45 54 42 55 44 44 59 20 3d 20 57 4d 5f 55 53  SETBUDDY = WM_US
16a30 45 52 2b 33 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ER+32 }..enum : 
16a40 75 69 6e 74 20 7b 20 54 42 4d 5f 47 45 54 42 55  uint { TBM_GETBU
16a50 44 44 59 20 3d 20 57 4d 5f 55 53 45 52 2b 33 33  DDY = WM_USER+33
16a60 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f   }..// #endif../
16a70 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
16a80 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61 6c 69   >= 0x0400)..ali
16a90 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44  as CCM_SETUNICOD
16aa0 45 46 4f 52 4d 41 54 20 54 42 4d 5f 53 45 54 55  EFORMAT TBM_SETU
16ab0 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61  NICODEFORMAT;..a
16ac0 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43  lias CCM_GETUNIC
16ad0 4f 44 45 46 4f 52 4d 41 54 20 54 42 4d 5f 47 45  ODEFORMAT TBM_GE
16ae0 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d  TUNICODEFORMAT;.
16af0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
16b00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4c  um : uint { TB_L
16b10 49 4e 45 55 50 20 3d 20 30 20 7d 0d 0a 65 6e 75  INEUP = 0 }..enu
16b20 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 4c 49  m : uint { TB_LI
16b30 4e 45 44 4f 57 4e 20 3d 20 31 20 7d 0d 0a 65 6e  NEDOWN = 1 }..en
16b40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 50  um : uint { TB_P
16b50 41 47 45 55 50 20 3d 20 32 20 7d 0d 0a 65 6e 75  AGEUP = 2 }..enu
16b60 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 50 41  m : uint { TB_PA
16b70 47 45 44 4f 57 4e 20 3d 20 33 20 7d 0d 0a 65 6e  GEDOWN = 3 }..en
16b80 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 5f 54  um : uint { TB_T
16b90 48 55 4d 42 50 4f 53 49 54 49 4f 4e 20 3d 20 34  HUMBPOSITION = 4
16ba0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16bb0 7b 20 54 42 5f 54 48 55 4d 42 54 52 41 43 4b 20  { TB_THUMBTRACK 
16bc0 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
16bd0 6e 74 20 7b 20 54 42 5f 54 4f 50 20 3d 20 36 20  nt { TB_TOP = 6 
16be0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
16bf0 20 54 42 5f 42 4f 54 54 4f 4d 20 3d 20 37 20 7d   TB_BOTTOM = 7 }
16c00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
16c10 54 42 5f 45 4e 44 54 52 41 43 4b 20 3d 20 38 20  TB_ENDTRACK = 8 
16c20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  }....// #if (_WI
16c30 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
16c40 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
16c50 20 7b 20 54 42 43 44 5f 54 49 43 53 20 3d 20 30   { TBCD_TICS = 0
16c60 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
16c70 75 69 6e 74 20 7b 20 54 42 43 44 5f 54 48 55 4d  uint { TBCD_THUM
16c80 42 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  B = 0x0002 }..en
16c90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 42 43 44  um : uint { TBCD
16ca0 5f 43 48 41 4e 4e 45 4c 20 3d 20 30 78 30 30 30  _CHANNEL = 0x000
16cb0 33 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  3 }..// #endif..
16cc0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 74  ..// #endif // t
16cd0 72 61 63 6b 62 61 72 0d 0a 0d 0a 2f 2f 20 23 69  rackbar....// #i
16ce0 66 6e 64 65 66 20 4e 4f 44 52 41 47 4c 49 53 54  fndef NODRAGLIST
16cf0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 44 52  ....struct tagDR
16d00 41 47 4c 49 53 54 49 4e 46 4f 20 7b 0d 0a 20 20  AGLISTINFO {..  
16d10 55 49 4e 54 20 75 4e 6f 74 69 66 69 63 61 74 69  UINT uNotificati
16d20 6f 6e 3b 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  on;..  HWND hWnd
16d30 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 43 75 72  ;..  POINT ptCur
16d40 73 6f 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  sor;..}..alias t
16d50 61 67 44 52 41 47 4c 49 53 54 49 4e 46 4f 20 44  agDRAGLISTINFO D
16d60 52 41 47 4c 49 53 54 49 4e 46 4f 3b 0d 0a 61 6c  RAGLISTINFO;..al
16d70 69 61 73 20 74 61 67 44 52 41 47 4c 49 53 54 49  ias tagDRAGLISTI
16d80 4e 46 4f 2a 20 4c 50 44 52 41 47 4c 49 53 54 49  NFO* LPDRAGLISTI
16d90 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  NFO;....enum : u
16da0 69 6e 74 20 7b 20 44 4c 5f 42 45 47 49 4e 44 52  int { DL_BEGINDR
16db0 41 47 20 3d 20 57 4d 5f 55 53 45 52 2b 31 33 33  AG = WM_USER+133
16dc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16dd0 7b 20 44 4c 5f 44 52 41 47 47 49 4e 47 20 3d 20  { DL_DRAGGING = 
16de0 57 4d 5f 55 53 45 52 2b 31 33 34 20 7d 0d 0a 65  WM_USER+134 }..e
16df0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 5f  num : uint { DL_
16e00 44 52 4f 50 50 45 44 20 3d 20 57 4d 5f 55 53 45  DROPPED = WM_USE
16e10 52 2b 31 33 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R+135 }..enum : 
16e20 75 69 6e 74 20 7b 20 44 4c 5f 43 41 4e 43 45 4c  uint { DL_CANCEL
16e30 44 52 41 47 20 3d 20 57 4d 5f 55 53 45 52 2b 31  DRAG = WM_USER+1
16e40 33 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  36 }....enum : u
16e50 69 6e 74 20 7b 20 44 4c 5f 43 55 52 53 4f 52 53  int { DL_CURSORS
16e60 45 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  ET = 0 }..enum :
16e70 20 75 69 6e 74 20 7b 20 44 4c 5f 53 54 4f 50 43   uint { DL_STOPC
16e80 55 52 53 4f 52 20 3d 20 31 20 7d 0d 0a 65 6e 75  URSOR = 1 }..enu
16e90 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c 5f 43 4f  m : uint { DL_CO
16ea0 50 59 43 55 52 53 4f 52 20 3d 20 32 20 7d 0d 0a  PYCURSOR = 2 }..
16eb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4c  enum : uint { DL
16ec0 5f 4d 4f 56 45 43 55 52 53 4f 52 20 3d 20 33 20  _MOVECURSOR = 3 
16ed0 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  }....const TCHAR
16ee0 5b 5d 20 44 52 41 47 4c 49 53 54 4d 53 47 53 54  [] DRAGLISTMSGST
16ef0 52 49 4e 47 20 3d 20 22 63 6f 6d 6d 63 74 72 6c  RING = "commctrl
16f00 5f 44 72 61 67 4c 69 73 74 4d 73 67 22 3b 0d 0a  _DragListMsg";..
16f10 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
16f20 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 4d 61  ) export BOOL Ma
16f30 6b 65 44 72 61 67 4c 69 73 74 28 48 57 4e 44 20  keDragList(HWND 
16f40 68 4c 42 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  hLB);..extern(Wi
16f50 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 76 6f  ndows) export vo
16f60 69 64 20 44 72 61 77 49 6e 73 65 72 74 28 48 57  id DrawInsert(HW
16f70 4e 44 20 68 61 6e 64 50 61 72 65 6e 74 2c 20 48  ND handParent, H
16f80 57 4e 44 20 68 4c 42 2c 20 69 6e 74 20 6e 49 74  WND hLB, int nIt
16f90 65 6d 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  em);....extern(W
16fa0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
16fb0 6e 74 20 4c 42 49 74 65 6d 46 72 6f 6d 50 74 28  nt LBItemFromPt(
16fc0 48 57 4e 44 20 68 4c 42 2c 20 50 4f 49 4e 54 20  HWND hLB, POINT 
16fd0 70 74 2c 20 42 4f 4f 4c 20 62 41 75 74 6f 53 63  pt, BOOL bAutoSc
16fe0 72 6f 6c 6c 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e  roll);....// #en
16ff0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  dif....// #ifnde
17000 66 20 4e 4f 55 50 44 4f 57 4e 0d 0a 0d 0a 2f 2f  f NOUPDOWN....//
17010 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
17020 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 55  ..const char[] U
17030 50 44 4f 57 4e 5f 43 4c 41 53 53 41 20 3d 20 22  PDOWN_CLASSA = "
17040 6d 73 63 74 6c 73 5f 75 70 64 6f 77 6e 33 32 22  msctls_updown32"
17050 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d  ;..const wchar[]
17060 20 55 50 44 4f 57 4e 5f 43 4c 41 53 53 57 20 3d   UPDOWN_CLASSW =
17070 20 22 6d 73 63 74 6c 73 5f 75 70 64 6f 77 6e 33   "msctls_updown3
17080 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  2";....// #ifdef
17090 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
170a0 55 50 44 4f 57 4e 5f 43 4c 41 53 53 57 20 55 50  UPDOWN_CLASSW UP
170b0 44 4f 57 4e 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20  DOWN_CLASS;..// 
170c0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
170d0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
170e0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
170f0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72  // #endif....str
17100 75 63 74 20 5f 55 44 41 43 43 45 4c 20 7b 0d 0a  uct _UDACCEL {..
17110 20 20 55 49 4e 54 20 6e 53 65 63 3b 0d 0a 20 20    UINT nSec;..  
17120 55 49 4e 54 20 6e 49 6e 63 3b 0d 0a 7d 0d 0a 61  UINT nInc;..}..a
17130 6c 69 61 73 20 5f 55 44 41 43 43 45 4c 20 55 44  lias _UDACCEL UD
17140 41 43 43 45 4c 3b 0d 0a 61 6c 69 61 73 20 5f 55  ACCEL;..alias _U
17150 44 41 43 43 45 4c 2a 20 4c 50 55 44 41 43 43 45  DACCEL* LPUDACCE
17160 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  L;....enum : uin
17170 74 20 7b 20 55 44 5f 4d 41 58 56 41 4c 20 3d 20  t { UD_MAXVAL = 
17180 30 78 37 66 66 66 20 7d 0d 0a 65 6e 75 6d 20 3a  0x7fff }..enum :
17190 20 75 69 6e 74 20 7b 20 55 44 5f 4d 49 4e 56 41   uint { UD_MINVA
171a0 4c 20 3d 20 2d 55 44 5f 4d 41 58 56 41 4c 20 7d  L = -UD_MAXVAL }
171b0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
171c0 7b 20 55 44 53 5f 57 52 41 50 20 3d 20 30 78 30  { UDS_WRAP = 0x0
171d0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
171e0 6e 74 20 7b 20 55 44 53 5f 53 45 54 42 55 44 44  nt { UDS_SETBUDD
171f0 59 49 4e 54 20 3d 20 30 78 30 30 30 32 20 7d 0d  YINT = 0x0002 }.
17200 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
17210 44 53 5f 41 4c 49 47 4e 52 49 47 48 54 20 3d 20  DS_ALIGNRIGHT = 
17220 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
17230 20 75 69 6e 74 20 7b 20 55 44 53 5f 41 4c 49 47   uint { UDS_ALIG
17240 4e 4c 45 46 54 20 3d 20 30 78 30 30 30 38 20 7d  NLEFT = 0x0008 }
17250 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17260 55 44 53 5f 41 55 54 4f 42 55 44 44 59 20 3d 20  UDS_AUTOBUDDY = 
17270 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0010 }..enum :
17280 20 75 69 6e 74 20 7b 20 55 44 53 5f 41 52 52 4f   uint { UDS_ARRO
17290 57 4b 45 59 53 20 3d 20 30 78 30 30 32 30 20 7d  WKEYS = 0x0020 }
172a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
172b0 55 44 53 5f 48 4f 52 5a 20 3d 20 30 78 30 30 34  UDS_HORZ = 0x004
172c0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
172d0 20 7b 20 55 44 53 5f 4e 4f 54 48 4f 55 53 41 4e   { UDS_NOTHOUSAN
172e0 44 53 20 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f  DS = 0x0080 }../
172f0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
17300 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
17310 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 53 5f 48  m : uint { UDS_H
17320 4f 54 54 52 41 43 4b 20 3d 20 30 78 30 31 30 30  OTTRACK = 0x0100
17330 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
17340 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
17350 44 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20 57 4d  DM_SETRANGE = WM
17360 5f 55 53 45 52 2b 31 30 31 20 7d 0d 0a 65 6e 75  _USER+101 }..enu
17370 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 47  m : uint { UDM_G
17380 45 54 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45  ETRANGE = WM_USE
17390 52 2b 31 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R+102 }..enum : 
173a0 75 69 6e 74 20 7b 20 55 44 4d 5f 53 45 54 50 4f  uint { UDM_SETPO
173b0 53 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 33 20  S = WM_USER+103 
173c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
173d0 20 55 44 4d 5f 47 45 54 50 4f 53 20 3d 20 57 4d   UDM_GETPOS = WM
173e0 5f 55 53 45 52 2b 31 30 34 20 7d 0d 0a 65 6e 75  _USER+104 }..enu
173f0 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53  m : uint { UDM_S
17400 45 54 42 55 44 44 59 20 3d 20 57 4d 5f 55 53 45  ETBUDDY = WM_USE
17410 52 2b 31 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R+105 }..enum : 
17420 75 69 6e 74 20 7b 20 55 44 4d 5f 47 45 54 42 55  uint { UDM_GETBU
17430 44 44 59 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30  DDY = WM_USER+10
17440 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
17450 20 7b 20 55 44 4d 5f 53 45 54 41 43 43 45 4c 20   { UDM_SETACCEL 
17460 3d 20 57 4d 5f 55 53 45 52 2b 31 30 37 20 7d 0d  = WM_USER+107 }.
17470 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
17480 44 4d 5f 47 45 54 41 43 43 45 4c 20 3d 20 57 4d  DM_GETACCEL = WM
17490 5f 55 53 45 52 2b 31 30 38 20 7d 0d 0a 65 6e 75  _USER+108 }..enu
174a0 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53  m : uint { UDM_S
174b0 45 54 42 41 53 45 20 3d 20 57 4d 5f 55 53 45 52  ETBASE = WM_USER
174c0 2b 31 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  +109 }..enum : u
174d0 69 6e 74 20 7b 20 55 44 4d 5f 47 45 54 42 41 53  int { UDM_GETBAS
174e0 45 20 3d 20 57 4d 5f 55 53 45 52 2b 31 31 30 20  E = WM_USER+110 
174f0 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
17500 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
17510 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55  .enum : uint { U
17520 44 4d 5f 53 45 54 52 41 4e 47 45 33 32 20 3d 20  DM_SETRANGE32 = 
17530 57 4d 5f 55 53 45 52 2b 31 31 31 20 7d 0d 0a 65  WM_USER+111 }..e
17540 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44 4d  num : uint { UDM
17550 5f 47 45 54 52 41 4e 47 45 33 32 20 3d 20 57 4d  _GETRANGE32 = WM
17560 5f 55 53 45 52 2b 31 31 32 20 7d 0d 0a 61 6c 69  _USER+112 }..ali
17570 61 73 20 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44  as CCM_SETUNICOD
17580 45 46 4f 52 4d 41 54 20 55 44 4d 5f 53 45 54 55  EFORMAT UDM_SETU
17590 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61  NICODEFORMAT;..a
175a0 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43  lias CCM_GETUNIC
175b0 4f 44 45 46 4f 52 4d 41 54 20 55 44 4d 5f 47 45  ODEFORMAT UDM_GE
175c0 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d  TUNICODEFORMAT;.
175d0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
175e0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
175f0 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
17600 20 75 69 6e 74 20 7b 20 55 44 4d 5f 53 45 54 50   uint { UDM_SETP
17610 4f 53 33 32 20 3d 20 57 4d 5f 55 53 45 52 2b 31  OS32 = WM_USER+1
17620 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
17630 74 20 7b 20 55 44 4d 5f 47 45 54 50 4f 53 33 32  t { UDM_GETPOS32
17640 20 3d 20 57 4d 5f 55 53 45 52 2b 31 31 34 20 7d   = WM_USER+114 }
17650 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
17660 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
17670 78 70 6f 72 74 20 48 57 4e 44 20 43 72 65 61 74  xport HWND Creat
17680 65 55 70 44 6f 77 6e 43 6f 6e 74 72 6f 6c 28 44  eUpDownControl(D
17690 57 4f 52 44 20 64 77 53 74 79 6c 65 2c 20 69 6e  WORD dwStyle, in
176a0 74 20 78 2c 20 69 6e 74 20 79 2c 20 69 6e 74 20  t x, int y, int 
176b0 63 78 2c 20 69 6e 74 20 63 79 2c 0d 0a 20 20 48  cx, int cy,..  H
176c0 57 4e 44 20 68 50 61 72 65 6e 74 2c 20 69 6e 74  WND hParent, int
176d0 20 6e 49 44 2c 20 48 49 4e 53 54 41 4e 43 45 20   nID, HINSTANCE 
176e0 68 49 6e 73 74 2c 0d 0a 20 20 48 57 4e 44 20 68  hInst,..  HWND h
176f0 42 75 64 64 79 2c 0d 0a 20 20 69 6e 74 20 6e 55  Buddy,..  int nU
17700 70 70 65 72 2c 20 69 6e 74 20 6e 4c 6f 77 65 72  pper, int nLower
17710 2c 20 69 6e 74 20 6e 50 6f 73 29 3b 0d 0a 0d 0a  , int nPos);....
17720 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
17730 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c  E >= 0x0300)..al
17740 69 61 73 20 4e 4d 55 50 44 4f 57 4e 20 4e 4d 5f  ias NMUPDOWN NM_
17750 55 50 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4c  UPDOWN;..alias L
17760 50 4e 4d 55 50 44 4f 57 4e 20 4c 50 4e 4d 5f 55  PNMUPDOWN LPNM_U
17770 50 44 4f 57 4e 3b 0d 0a 2f 2f 20 23 65 6c 73 65  PDOWN;..// #else
17780 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
17790 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
177a0 0a 73 74 72 75 63 74 20 5f 4e 4d 5f 55 50 44 4f  .struct _NM_UPDO
177b0 57 4e 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64  WN {..  NMHDR hd
177c0 72 3b 0d 0a 20 20 69 6e 74 20 69 50 6f 73 3b 0d  r;..  int iPos;.
177d0 0a 20 20 69 6e 74 20 69 44 65 6c 74 61 3b 0d 0a  .  int iDelta;..
177e0 7d 0d 0a 61 6c 69 61 73 20 5f 4e 4d 5f 55 50 44  }..alias _NM_UPD
177f0 4f 57 4e 20 4e 4d 55 50 44 4f 57 4e 3b 0d 0a 61  OWN NMUPDOWN;..a
17800 6c 69 61 73 20 5f 4e 4d 5f 55 50 44 4f 57 4e 2a  lias _NM_UPDOWN*
17810 20 4c 50 4e 4d 55 50 44 4f 57 4e 3b 0d 0a 0d 0a   LPNMUPDOWN;....
17820 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 55 44  enum : uint { UD
17830 4e 5f 44 45 4c 54 41 50 4f 53 20 3d 20 55 44 4e  N_DELTAPOS = UDN
17840 5f 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 0d 0a  _FIRST - 1 }....
17850 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 4e 4f  // #endif  // NO
17860 55 50 44 4f 57 4e 0d 0a 0d 0a 2f 2f 20 23 69 66  UPDOWN....// #if
17870 6e 64 65 66 20 4e 4f 50 52 4f 47 52 45 53 53 0d  ndef NOPROGRESS.
17880 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
17890 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61  N32....const cha
178a0 72 5b 5d 20 50 52 4f 47 52 45 53 53 5f 43 4c 41  r[] PROGRESS_CLA
178b0 53 53 41 20 3d 20 22 6d 73 63 74 6c 73 5f 70 72  SSA = "msctls_pr
178c0 6f 67 72 65 73 73 33 32 22 3b 0d 0a 63 6f 6e 73  ogress32";..cons
178d0 74 20 77 63 68 61 72 5b 5d 20 50 52 4f 47 52 45  t wchar[] PROGRE
178e0 53 53 5f 43 4c 41 53 53 57 20 3d 20 22 6d 73 63  SS_CLASSW = "msc
178f0 74 6c 73 5f 70 72 6f 67 72 65 73 73 33 32 22 3b  tls_progress32";
17900 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
17910 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50 52 4f  ICODE..alias PRO
17920 47 52 45 53 53 5f 43 4c 41 53 53 57 20 50 52 4f  GRESS_CLASSW PRO
17930 47 52 45 53 53 5f 43 4c 41 53 53 3b 0d 0a 2f 2f  GRESS_CLASS;..//
17940 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
17950 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
17960 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
17970 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
17980 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
17990 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d  >= 0x0300)..enum
179a0 20 3a 20 75 69 6e 74 20 7b 20 50 42 53 5f 53 4d   : uint { PBS_SM
179b0 4f 4f 54 48 20 3d 20 30 78 30 31 20 7d 0d 0a 65  OOTH = 0x01 }..e
179c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 53  num : uint { PBS
179d0 5f 56 45 52 54 49 43 41 4c 20 3d 20 30 78 30 34  _VERTICAL = 0x04
179e0 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
179f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
17a00 42 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20 57 4d  BM_SETRANGE = WM
17a10 5f 55 53 45 52 2b 31 20 7d 0d 0a 65 6e 75 6d 20  _USER+1 }..enum 
17a20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53 45 54  : uint { PBM_SET
17a30 50 4f 53 20 3d 20 57 4d 5f 55 53 45 52 2b 32 20  POS = WM_USER+2 
17a40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
17a50 20 50 42 4d 5f 44 45 4c 54 41 50 4f 53 20 3d 20   PBM_DELTAPOS = 
17a60 57 4d 5f 55 53 45 52 2b 33 20 7d 0d 0a 65 6e 75  WM_USER+3 }..enu
17a70 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53  m : uint { PBM_S
17a80 45 54 53 54 45 50 20 3d 20 57 4d 5f 55 53 45 52  ETSTEP = WM_USER
17a90 2b 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  +4 }..enum : uin
17aa0 74 20 7b 20 50 42 4d 5f 53 54 45 50 49 54 20 3d  t { PBM_STEPIT =
17ab0 20 57 4d 5f 55 53 45 52 2b 35 20 7d 0d 0a 2f 2f   WM_USER+5 }..//
17ac0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
17ad0 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d  >= 0x0300)..enum
17ae0 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53 45   : uint { PBM_SE
17af0 54 52 41 4e 47 45 33 32 20 3d 20 57 4d 5f 55 53  TRANGE32 = WM_US
17b00 45 52 2b 36 20 7d 0d 0a 73 74 72 75 63 74 20 5f  ER+6 }..struct _
17b10 37 20 7b 0d 0a 20 20 69 6e 74 20 69 4c 6f 77 3b  7 {..  int iLow;
17b20 0d 0a 20 20 69 6e 74 20 69 48 69 67 68 3b 0d 0a  ..  int iHigh;..
17b30 7d 0d 0a 61 6c 69 61 73 20 5f 37 20 50 42 52 41  }..alias _7 PBRA
17b40 4e 47 45 3b 0d 0a 61 6c 69 61 73 20 5f 37 2a 20  NGE;..alias _7* 
17b50 50 50 42 52 41 4e 47 45 3b 0d 0a 0d 0a 65 6e 75  PPBRANGE;....enu
17b60 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 47  m : uint { PBM_G
17b70 45 54 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45  ETRANGE = WM_USE
17b80 52 2b 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  R+7 }..enum : ui
17b90 6e 74 20 7b 20 50 42 4d 5f 47 45 54 50 4f 53 20  nt { PBM_GETPOS 
17ba0 3d 20 57 4d 5f 55 53 45 52 2b 38 20 7d 0d 0a 2f  = WM_USER+8 }../
17bb0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
17bc0 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75   >= 0x0400)..enu
17bd0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 42 4d 5f 53  m : uint { PBM_S
17be0 45 54 42 41 52 43 4f 4c 4f 52 20 3d 20 57 4d 5f  ETBARCOLOR = WM_
17bf0 55 53 45 52 2b 39 20 7d 0d 0a 2f 2f 20 23 65 6e  USER+9 }..// #en
17c00 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e  dif      // _WIN
17c10 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d  32_IE >= 0x0400.
17c20 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 42 4b  .alias CCM_SETBK
17c30 43 4f 4c 4f 52 20 50 42 4d 5f 53 45 54 42 4b 43  COLOR PBM_SETBKC
17c40 4f 4c 4f 52 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  OLOR;..// #endif
17c50 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f        // _WIN32_
17c60 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a 0d 0a  IE >= 0x0300....
17c70 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 4e 4f  // #endif  // NO
17c80 50 52 4f 47 52 45 53 53 0d 0a 0d 0a 2f 2f 20 23  PROGRESS....// #
17c90 69 66 6e 64 65 66 20 4e 4f 48 4f 54 4b 45 59 0d  ifndef NOHOTKEY.
17ca0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
17cb0 20 48 4f 54 4b 45 59 46 5f 53 48 49 46 54 20 3d   HOTKEYF_SHIFT =
17cc0 20 30 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x01 }..enum : 
17cd0 75 69 6e 74 20 7b 20 48 4f 54 4b 45 59 46 5f 43  uint { HOTKEYF_C
17ce0 4f 4e 54 52 4f 4c 20 3d 20 30 78 30 32 20 7d 0d  ONTROL = 0x02 }.
17cf0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
17d00 4f 54 4b 45 59 46 5f 41 4c 54 20 3d 20 30 78 30  OTKEYF_ALT = 0x0
17d10 34 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  4 }..// #ifdef _
17d20 4d 41 43 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  MAC..// #.....//
17d30 20 23 65 6c 73 65 0d 0a 65 6e 75 6d 20 3a 20 75   #else..enum : u
17d40 69 6e 74 20 7b 20 48 4f 54 4b 45 59 46 5f 45 58  int { HOTKEYF_EX
17d50 54 20 3d 20 30 78 30 38 20 7d 0d 0a 2f 2f 20 23  T = 0x08 }..// #
17d60 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
17d70 75 69 6e 74 20 7b 20 48 4b 43 4f 4d 42 5f 4e 4f  uint { HKCOMB_NO
17d80 4e 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  NE = 0x0001 }..e
17d90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4b 43  num : uint { HKC
17da0 4f 4d 42 5f 53 20 3d 20 30 78 30 30 30 32 20 7d  OMB_S = 0x0002 }
17db0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17dc0 48 4b 43 4f 4d 42 5f 43 20 3d 20 30 78 30 30 30  HKCOMB_C = 0x000
17dd0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
17de0 20 7b 20 48 4b 43 4f 4d 42 5f 41 20 3d 20 30 78   { HKCOMB_A = 0x
17df0 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
17e00 69 6e 74 20 7b 20 48 4b 43 4f 4d 42 5f 53 43 20  int { HKCOMB_SC 
17e10 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
17e20 20 3a 20 75 69 6e 74 20 7b 20 48 4b 43 4f 4d 42   : uint { HKCOMB
17e30 5f 53 41 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a  _SA = 0x0020 }..
17e40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4b  enum : uint { HK
17e50 43 4f 4d 42 5f 43 41 20 3d 20 30 78 30 30 34 30  COMB_CA = 0x0040
17e60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17e70 7b 20 48 4b 43 4f 4d 42 5f 53 43 41 20 3d 20 30  { HKCOMB_SCA = 0
17e80 78 30 30 38 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0080 }....enum 
17e90 3a 20 75 69 6e 74 20 7b 20 48 4b 4d 5f 53 45 54  : uint { HKM_SET
17ea0 48 4f 54 4b 45 59 20 3d 20 57 4d 5f 55 53 45 52  HOTKEY = WM_USER
17eb0 2b 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  +1 }..enum : uin
17ec0 74 20 7b 20 48 4b 4d 5f 47 45 54 48 4f 54 4b 45  t { HKM_GETHOTKE
17ed0 59 20 3d 20 57 4d 5f 55 53 45 52 2b 32 20 7d 0d  Y = WM_USER+2 }.
17ee0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 48  .enum : uint { H
17ef0 4b 4d 5f 53 45 54 52 55 4c 45 53 20 3d 20 57 4d  KM_SETRULES = WM
17f00 5f 55 53 45 52 2b 33 20 7d 0d 0a 0d 0a 2f 2f 20  _USER+3 }....// 
17f10 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
17f20 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 48 4f  .const char[] HO
17f30 54 4b 45 59 5f 43 4c 41 53 53 41 20 3d 20 22 6d  TKEY_CLASSA = "m
17f40 73 63 74 6c 73 5f 68 6f 74 6b 65 79 33 32 22 3b  sctls_hotkey32";
17f50 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20  ..const wchar[] 
17f60 48 4f 54 4b 45 59 5f 43 4c 41 53 53 57 20 3d 20  HOTKEY_CLASSW = 
17f70 22 6d 73 63 74 6c 73 5f 68 6f 74 6b 65 79 33 32  "msctls_hotkey32
17f80 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ";....// #ifdef 
17f90 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 48  UNICODE..alias H
17fa0 4f 54 4b 45 59 5f 43 4c 41 53 53 57 20 48 4f 54  OTKEY_CLASSW HOT
17fb0 4b 45 59 5f 43 4c 41 53 53 3b 0d 0a 2f 2f 20 23  KEY_CLASS;..// #
17fc0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
17fd0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
17fe0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
17ff0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
18000 65 6e 64 69 66 20 20 2f 2f 20 4e 4f 48 4f 54 4b  endif  // NOHOTK
18010 45 59 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  EY....enum : uin
18020 74 20 7b 20 43 43 53 5f 54 4f 50 20 3d 20 30 78  t { CCS_TOP = 0x
18030 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
18040 20 3a 20 75 69 6e 74 20 7b 20 43 43 53 5f 4e 4f   : uint { CCS_NO
18050 4d 4f 56 45 59 20 3d 20 30 78 30 30 30 30 30 30  MOVEY = 0x000000
18060 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
18070 74 20 7b 20 43 43 53 5f 42 4f 54 54 4f 4d 20 3d  t { CCS_BOTTOM =
18080 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65   0x00000003 }..e
18090 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 53  num : uint { CCS
180a0 5f 4e 4f 52 45 53 49 5a 45 20 3d 20 30 78 30 30  _NORESIZE = 0x00
180b0 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
180c0 20 75 69 6e 74 20 7b 20 43 43 53 5f 4e 4f 50 41   uint { CCS_NOPA
180d0 52 45 4e 54 41 4c 49 47 4e 20 3d 20 30 78 30 30  RENTALIGN = 0x00
180e0 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  000008 }..enum :
180f0 20 75 69 6e 74 20 7b 20 43 43 53 5f 41 44 4a 55   uint { CCS_ADJU
18100 53 54 41 42 4c 45 20 3d 20 30 78 30 30 30 30 30  STABLE = 0x00000
18110 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
18120 6e 74 20 7b 20 43 43 53 5f 4e 4f 44 49 56 49 44  nt { CCS_NODIVID
18130 45 52 20 3d 20 30 78 30 30 30 30 30 30 34 30 20  ER = 0x00000040 
18140 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
18150 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
18160 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
18170 43 53 5f 56 45 52 54 20 3d 20 30 78 30 30 30 30  CS_VERT = 0x0000
18180 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
18190 69 6e 74 20 7b 20 43 43 53 5f 4c 45 46 54 20 3d  int { CCS_LEFT =
181a0 20 43 43 53 5f 56 45 52 54 20 7c 20 43 43 53 5f   CCS_VERT | CCS_
181b0 54 4f 50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  TOP }..enum : ui
181c0 6e 74 20 7b 20 43 43 53 5f 52 49 47 48 54 20 3d  nt { CCS_RIGHT =
181d0 20 43 43 53 5f 56 45 52 54 20 7c 20 43 43 53 5f   CCS_VERT | CCS_
181e0 42 4f 54 54 4f 4d 20 7d 0d 0a 65 6e 75 6d 20 3a  BOTTOM }..enum :
181f0 20 75 69 6e 74 20 7b 20 43 43 53 5f 4e 4f 4d 4f   uint { CCS_NOMO
18200 56 45 58 20 3d 20 43 43 53 5f 56 45 52 54 20 7c  VEX = CCS_VERT |
18210 20 43 43 53 5f 4e 4f 4d 4f 56 45 59 20 7d 0d 0a   CCS_NOMOVEY }..
18220 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
18230 23 69 66 6e 64 65 66 20 4e 4f 4c 49 53 54 56 49  #ifndef NOLISTVI
18240 45 57 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  EW....// #ifdef 
18250 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20  _WIN32....const 
18260 63 68 61 72 5b 5d 20 57 43 5f 4c 49 53 54 56 49  char[] WC_LISTVI
18270 45 57 41 20 3d 20 22 53 79 73 4c 69 73 74 56 69  EWA = "SysListVi
18280 65 77 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63  ew32";..const wc
18290 68 61 72 5b 5d 20 57 43 5f 4c 49 53 54 56 49 45  har[] WC_LISTVIE
182a0 57 57 20 3d 20 22 53 79 73 4c 69 73 74 56 69 65  WW = "SysListVie
182b0 77 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  w32";....// #ifd
182c0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
182d0 73 20 57 43 5f 4c 49 53 54 56 49 45 57 57 20 57  s WC_LISTVIEWW W
182e0 43 5f 4c 49 53 54 56 49 45 57 3b 0d 0a 2f 2f 20  C_LISTVIEW;..// 
182f0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
18300 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
18310 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
18320 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
18330 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 49  m : uint { LVS_I
18340 43 4f 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  CON = 0x0000 }..
18350 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
18360 53 5f 52 45 50 4f 52 54 20 3d 20 30 78 30 30 30  S_REPORT = 0x000
18370 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
18380 20 7b 20 4c 56 53 5f 53 4d 41 4c 4c 49 43 4f 4e   { LVS_SMALLICON
18390 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
183a0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4c  m : uint { LVS_L
183b0 49 53 54 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a  IST = 0x0003 }..
183c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
183d0 53 5f 54 59 50 45 4d 41 53 4b 20 3d 20 30 78 30  S_TYPEMASK = 0x0
183e0 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
183f0 6e 74 20 7b 20 4c 56 53 5f 53 49 4e 47 4c 45 53  nt { LVS_SINGLES
18400 45 4c 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  EL = 0x0004 }..e
18410 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53  num : uint { LVS
18420 5f 53 48 4f 57 53 45 4c 41 4c 57 41 59 53 20 3d  _SHOWSELALWAYS =
18430 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
18440 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 53 4f 52  : uint { LVS_SOR
18450 54 41 53 43 45 4e 44 49 4e 47 20 3d 20 30 78 30  TASCENDING = 0x0
18460 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
18470 6e 74 20 7b 20 4c 56 53 5f 53 4f 52 54 44 45 53  nt { LVS_SORTDES
18480 43 45 4e 44 49 4e 47 20 3d 20 30 78 30 30 32 30  CENDING = 0x0020
18490 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
184a0 7b 20 4c 56 53 5f 53 48 41 52 45 49 4d 41 47 45  { LVS_SHAREIMAGE
184b0 4c 49 53 54 53 20 3d 20 30 78 30 30 34 30 20 7d  LISTS = 0x0040 }
184c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
184d0 4c 56 53 5f 4e 4f 4c 41 42 45 4c 57 52 41 50 20  LVS_NOLABELWRAP 
184e0 3d 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d  = 0x0080 }..enum
184f0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 41 55   : uint { LVS_AU
18500 54 4f 41 52 52 41 4e 47 45 20 3d 20 30 78 30 31  TOARRANGE = 0x01
18510 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
18520 74 20 7b 20 4c 56 53 5f 45 44 49 54 4c 41 42 45  t { LVS_EDITLABE
18530 4c 53 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f  LS = 0x0200 }../
18540 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
18550 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
18560 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4f  m : uint { LVS_O
18570 57 4e 45 52 44 41 54 41 20 3d 20 30 78 31 30 30  WNERDATA = 0x100
18580 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  0 }..// #endif..
18590 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
185a0 53 5f 4e 4f 53 43 52 4f 4c 4c 20 3d 20 30 78 32  S_NOSCROLL = 0x2
185b0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
185c0 75 69 6e 74 20 7b 20 4c 56 53 5f 54 59 50 45 53  uint { LVS_TYPES
185d0 54 59 4c 45 4d 41 53 4b 20 3d 20 30 78 66 63 30  TYLEMASK = 0xfc0
185e0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
185f0 6e 74 20 7b 20 4c 56 53 5f 41 4c 49 47 4e 54 4f  nt { LVS_ALIGNTO
18600 50 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  P = 0x0000 }..en
18610 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f  um : uint { LVS_
18620 41 4c 49 47 4e 4c 45 46 54 20 3d 20 30 78 30 38  ALIGNLEFT = 0x08
18630 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
18640 74 20 7b 20 4c 56 53 5f 41 4c 49 47 4e 4d 41 53  t { LVS_ALIGNMAS
18650 4b 20 3d 20 30 78 30 63 30 30 20 7d 0d 0a 0d 0a  K = 0x0c00 }....
18660 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
18670 53 5f 4f 57 4e 45 52 44 52 41 57 46 49 58 45 44  S_OWNERDRAWFIXED
18680 20 3d 20 30 78 30 34 30 30 20 7d 0d 0a 65 6e 75   = 0x0400 }..enu
18690 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4e  m : uint { LVS_N
186a0 4f 43 4f 4c 55 4d 4e 48 45 41 44 45 52 20 3d 20  OCOLUMNHEADER = 
186b0 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x4000 }..enum :
186c0 20 75 69 6e 74 20 7b 20 4c 56 53 5f 4e 4f 53 4f   uint { LVS_NOSO
186d0 52 54 48 45 41 44 45 52 20 3d 20 30 78 38 30 30  RTHEADER = 0x800
186e0 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  0 }....// #if (_
186f0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
18700 30 30 29 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53  00)..alias CCM_S
18710 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20  ETUNICODEFORMAT 
18720 4c 56 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f  LVM_SETUNICODEFO
18730 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e  RMAT;..// #defin
18740 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 55 6e  e ListView_SetUn
18750 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e 64  icodeFormat(hwnd
18760 2c 20 66 55 6e 69 63 6f 64 65 29 20 28 42 4f 4f  , fUnicode) (BOO
18770 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  L)SNDMSG((hwnd),
18780 20 4c 56 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46   LVM_SETUNICODEF
18790 4f 52 4d 41 54 2c 20 28 57 50 41 52 41 4d 29 28  ORMAT, (WPARAM)(
187a0 66 55 6e 69 63 6f 64 65 29 2c 20 30 29 0d 0a 0d  fUnicode), 0)...
187b0 0a 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 55 4e  .alias CCM_GETUN
187c0 49 43 4f 44 45 46 4f 52 4d 41 54 20 4c 56 4d 5f  ICODEFORMAT LVM_
187d0 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54  GETUNICODEFORMAT
187e0 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  ;..// #define Li
187f0 73 74 56 69 65 77 5f 47 65 74 55 6e 69 63 6f 64  stView_GetUnicod
18800 65 46 6f 72 6d 61 74 28 68 77 6e 64 29 20 28 42  eFormat(hwnd) (B
18810 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
18820 29 2c 20 4c 56 4d 5f 47 45 54 55 4e 49 43 4f 44  ), LVM_GETUNICOD
18830 45 46 4f 52 4d 41 54 2c 20 30 2c 20 30 29 0d 0a  EFORMAT, 0, 0)..
18840 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
18850 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47  m : uint { LVM_G
18860 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f  ETBKCOLOR = LVM_
18870 46 49 52 53 54 20 2b 20 30 20 7d 0d 0a 2f 2f 20  FIRST + 0 }..// 
18880 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
18890 5f 47 65 74 42 6b 43 6f 6c 6f 72 28 68 77 6e 64  _GetBkColor(hwnd
188a0 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d  ) (COLORREF)SNDM
188b0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
188c0 45 54 42 4b 43 4f 4c 4f 52 2c 20 30 2c 20 30 4c  ETBKCOLOR, 0, 0L
188d0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
188e0 20 7b 20 4c 56 4d 5f 53 45 54 42 4b 43 4f 4c 4f   { LVM_SETBKCOLO
188f0 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  R = LVM_FIRST + 
18900 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  1 }..// #define 
18910 4c 69 73 74 56 69 65 77 5f 53 65 74 42 6b 43 6f  ListView_SetBkCo
18920 6c 6f 72 28 68 77 6e 64 2c 20 63 6c 72 42 6b 29  lor(hwnd, clrBk)
18930 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
18940 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 42 4b 43  wnd), LVM_SETBKC
18950 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52 41 4d  OLOR, 0, (LPARAM
18960 29 28 43 4f 4c 4f 52 52 45 46 29 28 63 6c 72 42  )(COLORREF)(clrB
18970 6b 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  k))....enum : ui
18980 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 4d 41 47  nt { LVM_GETIMAG
18990 45 4c 49 53 54 20 3d 20 4c 56 4d 5f 46 49 52 53  ELIST = LVM_FIRS
189a0 54 20 2b 20 32 20 7d 0d 0a 2f 2f 20 23 64 65 66  T + 2 }..// #def
189b0 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
189c0 49 6d 61 67 65 4c 69 73 74 28 68 77 6e 64 2c 20  ImageList(hwnd, 
189d0 69 49 6d 61 67 65 4c 69 73 74 29 20 28 48 49 4d  iImageList) (HIM
189e0 41 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28  AGELIST)SNDMSG((
189f0 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 49 4d  hwnd), LVM_GETIM
18a00 41 47 45 4c 49 53 54 2c 20 28 57 50 41 52 41 4d  AGELIST, (WPARAM
18a10 29 28 49 4e 54 29 28 69 49 6d 61 67 65 4c 69 73  )(INT)(iImageLis
18a20 74 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20  t), 0L)....enum 
18a30 3a 20 75 69 6e 74 20 7b 20 4c 56 53 49 4c 5f 4e  : uint { LVSIL_N
18a40 4f 52 4d 41 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75  ORMAL = 0 }..enu
18a50 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 49 4c  m : uint { LVSIL
18a60 5f 53 4d 41 4c 4c 20 3d 20 31 20 7d 0d 0a 65 6e  _SMALL = 1 }..en
18a70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 49  um : uint { LVSI
18a80 4c 5f 53 54 41 54 45 20 3d 20 32 20 7d 0d 0a 0d  L_STATE = 2 }...
18a90 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18aa0 56 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 20  VM_SETIMAGELIST 
18ab0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 20  = LVM_FIRST + 3 
18ac0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
18ad0 73 74 56 69 65 77 5f 53 65 74 49 6d 61 67 65 4c  stView_SetImageL
18ae0 69 73 74 28 68 77 6e 64 2c 20 68 69 6d 6c 2c 20  ist(hwnd, himl, 
18af0 69 49 6d 61 67 65 4c 69 73 74 29 20 28 48 49 4d  iImageList) (HIM
18b00 41 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28  AGELIST)SNDMSG((
18b10 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 49 4d  hwnd), LVM_SETIM
18b20 41 47 45 4c 49 53 54 2c 20 28 57 50 41 52 41 4d  AGELIST, (WPARAM
18b30 29 28 69 49 6d 61 67 65 4c 69 73 74 29 2c 20 28  )(iImageList), (
18b40 4c 50 41 52 41 4d 29 28 48 49 4d 41 47 45 4c 49  LPARAM)(HIMAGELI
18b50 53 54 29 28 68 69 6d 6c 29 29 0d 0a 0d 0a 65 6e  ST)(himl))....en
18b60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
18b70 47 45 54 49 54 45 4d 43 4f 55 4e 54 20 3d 20 4c  GETITEMCOUNT = L
18b80 56 4d 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a  VM_FIRST + 4 }..
18b90 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
18ba0 69 65 77 5f 47 65 74 49 74 65 6d 43 6f 75 6e 74  iew_GetItemCount
18bb0 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d  (hwnd) (int)SNDM
18bc0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
18bd0 45 54 49 54 45 4d 43 4f 55 4e 54 2c 20 30 2c 20  ETITEMCOUNT, 0, 
18be0 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0L)....enum : ui
18bf0 6e 74 20 7b 20 4c 56 49 46 5f 54 45 58 54 20 3d  nt { LVIF_TEXT =
18c00 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
18c10 3a 20 75 69 6e 74 20 7b 20 4c 56 49 46 5f 49 4d  : uint { LVIF_IM
18c20 41 47 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  AGE = 0x0002 }..
18c30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
18c40 49 46 5f 50 41 52 41 4d 20 3d 20 30 78 30 30 30  IF_PARAM = 0x000
18c50 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
18c60 20 7b 20 4c 56 49 46 5f 53 54 41 54 45 20 3d 20   { LVIF_STATE = 
18c70 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69 66  0x0008 }..// #if
18c80 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
18c90 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0300)..enum : u
18ca0 69 6e 74 20 7b 20 4c 56 49 46 5f 49 4e 44 45 4e  int { LVIF_INDEN
18cb0 54 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  T = 0x0010 }..en
18cc0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 46  um : uint { LVIF
18cd0 5f 4e 4f 52 45 43 4f 4d 50 55 54 45 20 3d 20 30  _NORECOMPUTE = 0
18ce0 78 30 38 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  x0800 }..// #end
18cf0 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  if..// #if (_WIN
18d00 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
18d10 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  1)..enum : uint 
18d20 7b 20 4c 56 49 46 5f 47 52 4f 55 50 49 44 20 3d  { LVIF_GROUPID =
18d30 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0100 }..enum 
18d40 3a 20 75 69 6e 74 20 7b 20 4c 56 49 46 5f 43 4f  : uint { LVIF_CO
18d50 4c 55 4d 4e 53 20 3d 20 30 78 30 32 30 30 20 7d  LUMNS = 0x0200 }
18d60 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
18d70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49  num : uint { LVI
18d80 53 5f 46 4f 43 55 53 45 44 20 3d 20 30 78 30 30  S_FOCUSED = 0x00
18d90 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
18da0 74 20 7b 20 4c 56 49 53 5f 53 45 4c 45 43 54 45  t { LVIS_SELECTE
18db0 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  D = 0x0002 }..en
18dc0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 53  um : uint { LVIS
18dd0 5f 43 55 54 20 3d 20 30 78 30 30 30 34 20 7d 0d  _CUT = 0x0004 }.
18de0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
18df0 56 49 53 5f 44 52 4f 50 48 49 4c 49 54 45 44 20  VIS_DROPHILITED 
18e00 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
18e10 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 53 5f 47   : uint { LVIS_G
18e20 4c 4f 57 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  LOW = 0x0010 }..
18e30 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
18e40 49 53 5f 41 43 54 49 56 41 54 49 4e 47 20 3d 20  IS_ACTIVATING = 
18e50 30 78 30 30 32 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  0x0020 }....enum
18e60 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 53 5f 4f   : uint { LVIS_O
18e70 56 45 52 4c 41 59 4d 41 53 4b 20 3d 20 30 78 30  VERLAYMASK = 0x0
18e80 46 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  F00 }..enum : ui
18e90 6e 74 20 7b 20 4c 56 49 53 5f 53 54 41 54 45 49  nt { LVIS_STATEI
18ea0 4d 41 47 45 4d 41 53 4b 20 3d 20 30 78 46 30 30  MAGEMASK = 0xF00
18eb0 30 20 7d 0d 0a 0d 0a 75 69 6e 74 20 49 4e 44 45  0 }....uint INDE
18ec0 58 54 4f 53 54 41 54 45 49 4d 41 47 45 4d 41 53  XTOSTATEIMAGEMAS
18ed0 4b 28 75 69 6e 74 20 69 29 7b 20 72 65 74 75 72  K(uint i){ retur
18ee0 6e 20 69 20 3c 3c 20 31 32 3b 20 7d 0d 0a 0d 0a  n i << 12; }....
18ef0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
18f00 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e  E >= 0x0300)..en
18f10 75 6d 20 7b 20 49 5f 49 4e 44 45 4e 54 43 41 4c  um { I_INDENTCAL
18f20 4c 42 41 43 4b 20 3d 20 2d 31 20 7d 0d 0a 61 6c  LBACK = -1 }..al
18f30 69 61 73 20 4c 56 49 54 45 4d 41 20 4c 56 5f 49  ias LVITEMA LV_I
18f40 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 4c 56 49  TEMA;..alias LVI
18f50 54 45 4d 57 20 4c 56 5f 49 54 45 4d 57 3b 0d 0a  TEMW LV_ITEMW;..
18f60 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
18f70 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
18f80 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
18f90 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
18fa0 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
18fb0 3e 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20  >= 0x501)..enum 
18fc0 7b 20 49 5f 47 52 4f 55 50 49 44 43 41 4c 4c 42  { I_GROUPIDCALLB
18fd0 41 43 4b 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d  ACK = -1 }..enum
18fe0 20 7b 20 49 5f 47 52 4f 55 50 49 44 4e 4f 4e 45   { I_GROUPIDNONE
18ff0 20 3d 20 2d 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64   = -2 }..// #end
19000 69 66 0d 0a 61 6c 69 61 73 20 4c 56 49 54 45 4d  if..alias LVITEM
19010 20 4c 56 5f 49 54 45 4d 3b 0d 0a 0d 0a 2f 2f 20   LV_ITEM;....// 
19020 23 64 65 66 69 6e 65 20 4c 56 49 54 45 4d 41 5f  #define LVITEMA_
19030 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46  V1_SIZE CCSIZEOF
19040 5f 53 54 52 55 43 54 28 4c 56 49 54 45 4d 41 2c  _STRUCT(LVITEMA,
19050 20 6c 50 61 72 61 6d 29 0d 0a 2f 2f 20 23 64 65   lParam)..// #de
19060 66 69 6e 65 20 4c 56 49 54 45 4d 57 5f 56 31 5f  fine LVITEMW_V1_
19070 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54  SIZE CCSIZEOF_ST
19080 52 55 43 54 28 4c 56 49 54 45 4d 57 2c 20 6c 50  RUCT(LVITEMW, lP
19090 61 72 61 6d 29 0d 0a 0d 0a 73 74 72 75 63 74 20  aram)....struct 
190a0 74 61 67 4c 56 49 54 45 4d 41 20 7b 0d 0a 20 20  tagLVITEMA {..  
190b0 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 69 6e  UINT mask;..  in
190c0 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74 20  t iItem;..  int 
190d0 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20 55 49 4e  iSubItem;..  UIN
190e0 54 20 73 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54  T state;..  UINT
190f0 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a 20 20 4c   stateMask;..  L
19100 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20  PSTR pszText;.. 
19110 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b   int cchTextMax;
19120 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d  ..  int iImage;.
19130 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  .  LPARAM lParam
19140 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ;..// #if (_WIN3
19150 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
19160 0a 20 20 69 6e 74 20 69 49 6e 64 65 6e 74 3b 0d  .  int iIndent;.
19170 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
19180 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54  if (_WIN32_WINNT
19190 20 3e 3d 20 30 78 35 30 31 29 0d 0a 20 20 69 6e   >= 0x501)..  in
191a0 74 20 69 47 72 6f 75 70 49 64 3b 0d 0a 20 20 55  t iGroupId;..  U
191b0 49 4e 54 20 63 43 6f 6c 75 6d 6e 73 3b 0d 0a 20  INT cColumns;.. 
191c0 20 50 55 49 4e 54 20 70 75 43 6f 6c 75 6d 6e 73   PUINT puColumns
191d0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ;..// #endif..}.
191e0 0a 61 6c 69 61 73 20 74 61 67 4c 56 49 54 45 4d  .alias tagLVITEM
191f0 41 20 4c 56 49 54 45 4d 41 3b 0d 0a 61 6c 69 61  A LVITEMA;..alia
19200 73 20 74 61 67 4c 56 49 54 45 4d 41 2a 20 4c 50  s tagLVITEMA* LP
19210 4c 56 49 54 45 4d 41 3b 0d 0a 0d 0a 73 74 72 75  LVITEMA;....stru
19220 63 74 20 74 61 67 4c 56 49 54 45 4d 57 20 7b 0d  ct tagLVITEMW {.
19230 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20  .  UINT mask;.. 
19240 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69   int iItem;..  i
19250 6e 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20  nt iSubItem;..  
19260 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a 20 20 55  UINT state;..  U
19270 49 4e 54 20 73 74 61 74 65 4d 61 73 6b 3b 0d 0a  INT stateMask;..
19280 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74    LPWSTR pszText
19290 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74  ;..  int cchText
192a0 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61  Max;..  int iIma
192b0 67 65 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  ge;..  LPARAM lP
192c0 61 72 61 6d 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f  aram;..// #if (_
192d0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33  WIN32_IE >= 0x03
192e0 30 30 29 0d 0a 20 20 69 6e 74 20 69 49 6e 64 65  00)..  int iInde
192f0 6e 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  nt;..// #endif..
19300 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57  // #if (_WIN32_W
19310 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a  INNT >= 0x501)..
19320 20 20 69 6e 74 20 69 47 72 6f 75 70 49 64 3b 0d    int iGroupId;.
19330 0a 20 20 55 49 4e 54 20 63 43 6f 6c 75 6d 6e 73  .  UINT cColumns
19340 3b 0d 0a 20 20 50 55 49 4e 54 20 70 75 43 6f 6c  ;..  PUINT puCol
19350 75 6d 6e 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  umns;..// #endif
19360 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56  ..}..alias tagLV
19370 49 54 45 4d 57 20 4c 56 49 54 45 4d 57 3b 0d 0a  ITEMW LVITEMW;..
19380 61 6c 69 61 73 20 74 61 67 4c 56 49 54 45 4d 57  alias tagLVITEMW
19390 2a 20 4c 50 4c 56 49 54 45 4d 57 3b 0d 0a 0d 0a  * LPLVITEMW;....
193a0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
193b0 45 0d 0a 61 6c 69 61 73 20 4c 56 49 54 45 4d 57  E..alias LVITEMW
193c0 20 4c 56 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20   LVITEM;..alias 
193d0 4c 50 4c 56 49 54 45 4d 57 20 4c 50 4c 56 49 54  LPLVITEMW LPLVIT
193e0 45 4d 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  EM;..// #define 
193f0 4c 56 49 54 45 4d 5f 56 31 5f 53 49 5a 45 20 4c  LVITEM_V1_SIZE L
19400 56 49 54 45 4d 57 5f 56 31 5f 53 49 5a 45 0d 0a  VITEMW_V1_SIZE..
19410 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
19420 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
19430 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
19440 0d 0a 63 6f 6e 73 74 20 4c 50 57 53 54 52 20 4c  ..const LPWSTR L
19450 50 53 54 52 5f 54 45 58 54 43 41 4c 4c 42 41 43  PSTR_TEXTCALLBAC
19460 4b 57 20 3d 20 63 61 73 74 28 4c 50 57 53 54 52  KW = cast(LPWSTR
19470 29 2d 31 3b 0d 0a 63 6f 6e 73 74 20 4c 50 53 54  )-1;..const LPST
19480 52 20 4c 50 53 54 52 5f 54 45 58 54 43 41 4c 4c  R LPSTR_TEXTCALL
19490 42 41 43 4b 41 20 3d 20 63 61 73 74 28 4c 50 53  BACKA = cast(LPS
194a0 54 52 29 2d 31 3b 0d 0a 2f 2f 20 23 69 66 64 65  TR)-1;..// #ifde
194b0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
194c0 20 4c 50 53 54 52 5f 54 45 58 54 43 41 4c 4c 42   LPSTR_TEXTCALLB
194d0 41 43 4b 57 20 4c 50 53 54 52 5f 54 45 58 54 43  ACKW LPSTR_TEXTC
194e0 41 4c 4c 42 41 43 4b 3b 0d 0a 2f 2f 20 23 65 6c  ALLBACK;..// #el
194f0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
19500 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 7b  #endif....enum {
19510 20 49 5f 49 4d 41 47 45 43 41 4c 4c 42 41 43 4b   I_IMAGECALLBACK
19520 20 3d 20 2d 31 20 7d 0d 0a 2f 2f 20 23 69 66 20   = -1 }..// #if 
19530 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
19540 30 35 30 31 29 0d 0a 65 6e 75 6d 20 7b 20 49 5f  0501)..enum { I_
19550 49 4d 41 47 45 4e 4f 4e 45 20 3d 20 2d 32 20 7d  IMAGENONE = -2 }
19560 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20  ..// #endif  // 
19570 30 78 30 35 30 31 0d 0a 0d 0a 2f 2f 20 23 69 66  0x0501....// #if
19580 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
19590 3d 20 30 78 35 30 31 29 0d 0a 0d 0a 65 6e 75 6d  = 0x501)....enum
195a0 20 3a 20 75 69 6e 74 20 7b 20 49 5f 43 4f 4c 55   : uint { I_COLU
195b0 4d 4e 53 43 41 4c 4c 42 41 43 4b 20 3d 20 63 61  MNSCALLBACK = ca
195c0 73 74 28 55 49 4e 54 29 2d 31 20 7d 0d 0a 2f 2f  st(UINT)-1 }..//
195d0 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
195e0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
195f0 49 54 45 4d 41 20 3d 20 4c 56 4d 5f 46 49 52 53  ITEMA = LVM_FIRS
19600 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 5 }..enum : 
19610 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 54  uint { LVM_GETIT
19620 45 4d 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  EMW = LVM_FIRST 
19630 2b 20 37 35 20 7d 0d 0a 2f 2f 20 23 69 66 64 65  + 75 }..// #ifde
19640 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
19650 20 4c 56 4d 5f 47 45 54 49 54 45 4d 57 20 4c 56   LVM_GETITEMW LV
19660 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23  M_GETITEM;..// #
19670 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
19680 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
19690 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
196a0 47 65 74 49 74 65 6d 28 68 77 6e 64 2c 20 70 69  GetItem(hwnd, pi
196b0 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53  tem) (BOOL)SNDMS
196c0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45  G((hwnd), LVM_GE
196d0 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41 52 41  TITEM, 0, (LPARA
196e0 4d 29 28 4c 56 5f 49 54 45 4d 20 2a 29 28 70 69  M)(LV_ITEM *)(pi
196f0 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  tem))....enum : 
19700 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54  uint { LVM_SETIT
19710 45 4d 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  EMA = LVM_FIRST 
19720 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 6 }..enum : ui
19730 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54 45 4d  nt { LVM_SETITEM
19740 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  W = LVM_FIRST + 
19750 37 36 20 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20  76 }..// #ifdef 
19760 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c  UNICODE..alias L
19770 56 4d 5f 53 45 54 49 54 45 4d 57 20 4c 56 4d 5f  VM_SETITEMW LVM_
19780 53 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c  SETITEM;..// #el
19790 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
197a0 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65  #endif....// #de
197b0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65  fine ListView_Se
197c0 74 49 74 65 6d 28 68 77 6e 64 2c 20 70 69 74 65  tItem(hwnd, pite
197d0 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  m) (BOOL)SNDMSG(
197e0 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 49  (hwnd), LVM_SETI
197f0 54 45 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  TEM, 0, (LPARAM)
19800 28 63 6f 6e 73 74 20 4c 56 5f 49 54 45 4d 20 2a  (const LV_ITEM *
19810 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75  )(pitem))....enu
19820 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49  m : uint { LVM_I
19830 4e 53 45 52 54 49 54 45 4d 41 20 3d 20 4c 56 4d  NSERTITEMA = LVM
19840 5f 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 65 6e  _FIRST + 7 }..en
19850 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
19860 49 4e 53 45 52 54 49 54 45 4d 57 20 3d 20 4c 56  INSERTITEMW = LV
19870 4d 5f 46 49 52 53 54 20 2b 20 37 37 20 7d 0d 0a  M_FIRST + 77 }..
19880 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
19890 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 49 4e 53  E..alias LVM_INS
198a0 45 52 54 49 54 45 4d 57 20 4c 56 4d 5f 49 4e 53  ERTITEMW LVM_INS
198b0 45 52 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c  ERTITEM;..// #el
198c0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
198d0 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 64 65 66 69  #endif..// #defi
198e0 6e 65 20 4c 69 73 74 56 69 65 77 5f 49 6e 73 65  ne ListView_Inse
198f0 72 74 49 74 65 6d 28 68 77 6e 64 2c 20 70 69 74  rtItem(hwnd, pit
19900 65 6d 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  em) (int)SNDMSG(
19910 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45  (hwnd), LVM_INSE
19920 52 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41 52  RTITEM, 0, (LPAR
19930 41 4d 29 28 63 6f 6e 73 74 20 4c 56 5f 49 54 45  AM)(const LV_ITE
19940 4d 20 2a 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a  M *)(pitem))....
19950 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
19960 4d 5f 44 45 4c 45 54 45 49 54 45 4d 20 3d 20 4c  M_DELETEITEM = L
19970 56 4d 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a  VM_FIRST + 8 }..
19980 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
19990 69 65 77 5f 44 65 6c 65 74 65 49 74 65 6d 28 68  iew_DeleteItem(h
199a0 77 6e 64 2c 20 69 29 20 28 42 4f 4f 4c 29 53 4e  wnd, i) (BOOL)SN
199b0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d  DMSG((hwnd), LVM
199c0 5f 44 45 4c 45 54 45 49 54 45 4d 2c 20 28 57 50  _DELETEITEM, (WP
199d0 41 52 41 4d 29 28 69 6e 74 29 28 69 29 2c 20 30  ARAM)(int)(i), 0
199e0 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  L)....enum : uin
199f0 74 20 7b 20 4c 56 4d 5f 44 45 4c 45 54 45 41 4c  t { LVM_DELETEAL
19a00 4c 49 54 45 4d 53 20 3d 20 4c 56 4d 5f 46 49 52  LITEMS = LVM_FIR
19a10 53 54 20 2b 20 39 20 7d 0d 0a 2f 2f 20 23 64 65  ST + 9 }..// #de
19a20 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 44 65  fine ListView_De
19a30 6c 65 74 65 41 6c 6c 49 74 65 6d 73 28 68 77 6e  leteAllItems(hwn
19a40 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  d) (BOOL)SNDMSG(
19a50 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 44 45 4c 45  (hwnd), LVM_DELE
19a60 54 45 41 4c 4c 49 54 45 4d 53 2c 20 30 2c 20 30  TEALLITEMS, 0, 0
19a70 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  L)....enum : uin
19a80 74 20 7b 20 4c 56 4d 5f 47 45 54 43 41 4c 4c 42  t { LVM_GETCALLB
19a90 41 43 4b 4d 41 53 4b 20 3d 20 4c 56 4d 5f 46 49  ACKMASK = LVM_FI
19aa0 52 53 54 20 2b 20 31 30 20 7d 0d 0a 2f 2f 20 23  RST + 10 }..// #
19ab0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
19ac0 47 65 74 43 61 6c 6c 62 61 63 6b 4d 61 73 6b 28  GetCallbackMask(
19ad0 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  hwnd) (BOOL)SNDM
19ae0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
19af0 45 54 43 41 4c 4c 42 41 43 4b 4d 41 53 4b 2c 20  ETCALLBACKMASK, 
19b00 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0, 0)....enum : 
19b10 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 43 41  uint { LVM_SETCA
19b20 4c 4c 42 41 43 4b 4d 41 53 4b 20 3d 20 4c 56 4d  LLBACKMASK = LVM
19b30 5f 46 49 52 53 54 20 2b 20 31 31 20 7d 0d 0a 2f  _FIRST + 11 }../
19b40 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
19b50 65 77 5f 53 65 74 43 61 6c 6c 62 61 63 6b 4d 61  ew_SetCallbackMa
19b60 73 6b 28 68 77 6e 64 2c 20 6d 61 73 6b 29 20 28  sk(hwnd, mask) (
19b70 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
19b80 64 29 2c 20 4c 56 4d 5f 53 45 54 43 41 4c 4c 42  d), LVM_SETCALLB
19b90 41 43 4b 4d 41 53 4b 2c 20 28 57 50 41 52 41 4d  ACKMASK, (WPARAM
19ba0 29 28 55 49 4e 54 29 28 6d 61 73 6b 29 2c 20 30  )(UINT)(mask), 0
19bb0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
19bc0 20 7b 20 4c 56 4e 49 5f 41 4c 4c 20 3d 20 30 78   { LVNI_ALL = 0x
19bd0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
19be0 69 6e 74 20 7b 20 4c 56 4e 49 5f 46 4f 43 55 53  int { LVNI_FOCUS
19bf0 45 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  ED = 0x0001 }..e
19c00 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e  num : uint { LVN
19c10 49 5f 53 45 4c 45 43 54 45 44 20 3d 20 30 78 30  I_SELECTED = 0x0
19c20 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
19c30 6e 74 20 7b 20 4c 56 4e 49 5f 43 55 54 20 3d 20  nt { LVNI_CUT = 
19c40 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
19c50 20 75 69 6e 74 20 7b 20 4c 56 4e 49 5f 44 52 4f   uint { LVNI_DRO
19c60 50 48 49 4c 49 54 45 44 20 3d 20 30 78 30 30 30  PHILITED = 0x000
19c70 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
19c80 6e 74 20 7b 20 4c 56 4e 49 5f 41 42 4f 56 45 20  nt { LVNI_ABOVE 
19c90 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x0100 }..enum
19ca0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 49 5f 42   : uint { LVNI_B
19cb0 45 4c 4f 57 20 3d 20 30 78 30 32 30 30 20 7d 0d  ELOW = 0x0200 }.
19cc0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
19cd0 56 4e 49 5f 54 4f 4c 45 46 54 20 3d 20 30 78 30  VNI_TOLEFT = 0x0
19ce0 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  400 }..enum : ui
19cf0 6e 74 20 7b 20 4c 56 4e 49 5f 54 4f 52 49 47 48  nt { LVNI_TORIGH
19d00 54 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a  T = 0x0800 }....
19d10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
19d20 4d 5f 47 45 54 4e 45 58 54 49 54 45 4d 20 3d 20  M_GETNEXTITEM = 
19d30 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 32 20 7d  LVM_FIRST + 12 }
19d40 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
19d50 74 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65  tView_GetNextIte
19d60 6d 28 68 77 6e 64 2c 20 69 2c 20 66 6c 61 67 73  m(hwnd, i, flags
19d70 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68  ) (int)SNDMSG((h
19d80 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 4e 45 58  wnd), LVM_GETNEX
19d90 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29 28  TITEM, (WPARAM)(
19da0 69 6e 74 29 28 69 29 2c 20 4d 41 4b 45 4c 50 41  int)(i), MAKELPA
19db0 52 41 4d 28 28 66 6c 61 67 73 29 2c 20 30 29 29  RAM((flags), 0))
19dc0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
19dd0 7b 20 4c 56 46 49 5f 50 41 52 41 4d 20 3d 20 30  { LVFI_PARAM = 0
19de0 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
19df0 75 69 6e 74 20 7b 20 4c 56 46 49 5f 53 54 52 49  uint { LVFI_STRI
19e00 4e 47 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  NG = 0x0002 }..e
19e10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 46  num : uint { LVF
19e20 49 5f 50 41 52 54 49 41 4c 20 3d 20 30 78 30 30  I_PARTIAL = 0x00
19e30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
19e40 74 20 7b 20 4c 56 46 49 5f 57 52 41 50 20 3d 20  t { LVFI_WRAP = 
19e50 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0020 }..enum :
19e60 20 75 69 6e 74 20 7b 20 4c 56 46 49 5f 4e 45 41   uint { LVFI_NEA
19e70 52 45 53 54 58 59 20 3d 20 30 78 30 30 34 30 20  RESTXY = 0x0040 
19e80 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  }....// #if (_WI
19e90 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
19ea0 29 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44 49  )..alias LVFINDI
19eb0 4e 46 4f 41 20 4c 56 5f 46 49 4e 44 49 4e 46 4f  NFOA LV_FINDINFO
19ec0 41 3b 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44  A;..alias LVFIND
19ed0 49 4e 46 4f 57 20 4c 56 5f 46 49 4e 44 49 4e 46  INFOW LV_FINDINF
19ee0 4f 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  OW;..// #else../
19ef0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
19f00 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
19f10 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
19f20 61 6c 69 61 73 20 4c 56 46 49 4e 44 49 4e 46 4f  alias LVFINDINFO
19f30 20 4c 56 5f 46 49 4e 44 49 4e 46 4f 3b 0d 0a 0d   LV_FINDINFO;...
19f40 0a 73 74 72 75 63 74 20 74 61 67 4c 56 46 49 4e  .struct tagLVFIN
19f50 44 49 4e 46 4f 41 20 7b 0d 0a 20 20 55 49 4e 54  DINFOA {..  UINT
19f60 20 66 6c 61 67 73 3b 0d 0a 20 20 4c 50 43 53 54   flags;..  LPCST
19f70 52 20 70 73 7a 3b 0d 0a 20 20 4c 50 41 52 41 4d  R psz;..  LPARAM
19f80 20 6c 50 61 72 61 6d 3b 0d 0a 20 20 50 4f 49 4e   lParam;..  POIN
19f90 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 20 76 6b  T pt;..  UINT vk
19fa0 44 69 72 65 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61  Direction;..}..a
19fb0 6c 69 61 73 20 74 61 67 4c 56 46 49 4e 44 49 4e  lias tagLVFINDIN
19fc0 46 4f 41 20 4c 56 46 49 4e 44 49 4e 46 4f 41 3b  FOA LVFINDINFOA;
19fd0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 46 49 4e  ..alias tagLVFIN
19fe0 44 49 4e 46 4f 41 2a 20 4c 50 46 49 4e 44 49 4e  DINFOA* LPFINDIN
19ff0 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  FOA;....struct t
1a000 61 67 4c 56 46 49 4e 44 49 4e 46 4f 57 20 7b 0d  agLVFINDINFOW {.
1a010 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a  .  UINT flags;..
1a020 20 20 4c 50 43 57 53 54 52 20 70 73 7a 3b 0d 0a    LPCWSTR psz;..
1a030 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b    LPARAM lParam;
1a040 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b 0d 0a 20  ..  POINT pt;.. 
1a050 20 55 49 4e 54 20 76 6b 44 69 72 65 63 74 69 6f   UINT vkDirectio
1a060 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  n;..}..alias tag
1a070 4c 56 46 49 4e 44 49 4e 46 4f 57 20 4c 56 46 49  LVFINDINFOW LVFI
1a080 4e 44 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61 73 20  NDINFOW;..alias 
1a090 74 61 67 4c 56 46 49 4e 44 49 4e 46 4f 57 2a 20  tagLVFINDINFOW* 
1a0a0 4c 50 46 49 4e 44 49 4e 46 4f 57 3b 0d 0a 0d 0a  LPFINDINFOW;....
1a0b0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
1a0c0 45 0d 0a 61 6c 69 61 73 20 4c 56 46 49 4e 44 49  E..alias LVFINDI
1a0d0 4e 46 4f 57 20 4c 56 46 49 4e 44 49 4e 46 4f 3b  NFOW LVFINDINFO;
1a0e0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
1a0f0 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
1a100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a110 4c 56 4d 5f 46 49 4e 44 49 54 45 4d 41 20 3d 20  LVM_FINDITEMA = 
1a120 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 33 20 7d  LVM_FIRST + 13 }
1a130 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a140 4c 56 4d 5f 46 49 4e 44 49 54 45 4d 57 20 3d 20  LVM_FINDITEMW = 
1a150 4c 56 4d 5f 46 49 52 53 54 20 2b 20 38 33 20 7d  LVM_FIRST + 83 }
1a160 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
1a170 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 46  ODE..alias LVM_F
1a180 49 4e 44 49 54 45 4d 57 20 4c 56 4d 5f 46 49 4e  INDITEMW LVM_FIN
1a190 44 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65  DITEM;..// #else
1a1a0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
1a1b0 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  ndif....// #defi
1a1c0 6e 65 20 4c 69 73 74 56 69 65 77 5f 46 69 6e 64  ne ListView_Find
1a1d0 49 74 65 6d 28 68 77 6e 64 2c 20 69 53 74 61 72  Item(hwnd, iStar
1a1e0 74 2c 20 70 6c 76 66 69 29 20 28 69 6e 74 29 53  t, plvfi) (int)S
1a1f0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
1a200 4d 5f 46 49 4e 44 49 54 45 4d 2c 20 28 57 50 41  M_FINDITEM, (WPA
1a210 52 41 4d 29 28 69 6e 74 29 28 69 53 74 61 72 74  RAM)(int)(iStart
1a220 29 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73  ), (LPARAM)(cons
1a230 74 20 4c 56 5f 46 49 4e 44 49 4e 46 4f 20 2a 29  t LV_FINDINFO *)
1a240 28 70 6c 76 66 69 29 29 0d 0a 0d 0a 65 6e 75 6d  (plvfi))....enum
1a250 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f 42   : uint { LVIR_B
1a260 4f 55 4e 44 53 20 3d 20 30 20 7d 0d 0a 65 6e 75  OUNDS = 0 }..enu
1a270 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f  m : uint { LVIR_
1a280 49 43 4f 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d  ICON = 1 }..enum
1a290 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f 4c   : uint { LVIR_L
1a2a0 41 42 45 4c 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  ABEL = 2 }..enum
1a2b0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 49 52 5f 53   : uint { LVIR_S
1a2c0 45 4c 45 43 54 42 4f 55 4e 44 53 20 3d 20 33 20  ELECTBOUNDS = 3 
1a2d0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1a2e0 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45 4d 52 45   { LVM_GETITEMRE
1a2f0 43 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  CT = LVM_FIRST +
1a300 20 31 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   14 }..// #defin
1a310 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74  e ListView_GetIt
1a320 65 6d 52 65 63 74 28 68 77 6e 64 2c 20 69 2c 20  emRect(hwnd, i, 
1a330 70 72 63 2c 20 63 6f 64 65 29 20 28 42 4f 4f 4c  prc, code) (BOOL
1a340 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1a350 4c 56 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 2c  LVM_GETITEMRECT,
1a360 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69   (WPARAM)(int)(i
1a370 29 2c 20 28 28 70 72 63 29 20 3f 20 28 28 28 52  ), ((prc) ? (((R
1a380 45 43 54 20 2a 29 28 70 72 63 29 29 2d 3e 6c 65  ECT *)(prc))->le
1a390 66 74 20 3d 20 28 63 6f 64 65 29 2c 28 4c 50 41  ft = (code),(LPA
1a3a0 52 41 4d 29 28 52 45 43 54 20 2a 29 28 70 72 63  RAM)(RECT *)(prc
1a3b0 29 29 20 3a 20 28 4c 50 41 52 41 4d 29 28 52 45  )) : (LPARAM)(RE
1a3c0 43 54 20 2a 29 4e 55 4c 4c 29 29 0d 0a 0d 0a 65  CT *)NULL))....e
1a3d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1a3e0 5f 53 45 54 49 54 45 4d 50 4f 53 49 54 49 4f 4e  _SETITEMPOSITION
1a3f0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31   = LVM_FIRST + 1
1a400 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  5 }..// #define 
1a410 4c 69 73 74 56 69 65 77 5f 53 65 74 49 74 65 6d  ListView_SetItem
1a420 50 6f 73 69 74 69 6f 6e 28 68 77 6e 64 4c 56 2c  Position(hwndLV,
1a430 20 69 2c 20 78 2c 20 79 29 20 28 42 4f 4f 4c 29   i, x, y) (BOOL)
1a440 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c  SNDMSG((hwndLV),
1a450 20 4c 56 4d 5f 53 45 54 49 54 45 4d 50 4f 53 49   LVM_SETITEMPOSI
1a460 54 49 4f 4e 2c 20 28 57 50 41 52 41 4d 29 28 69  TION, (WPARAM)(i
1a470 6e 74 29 28 69 29 2c 20 4d 41 4b 45 4c 50 41 52  nt)(i), MAKELPAR
1a480 41 4d 28 28 78 29 2c 20 28 79 29 29 29 0d 0a 0d  AM((x), (y)))...
1a490 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1a4a0 56 4d 5f 47 45 54 49 54 45 4d 50 4f 53 49 54 49  VM_GETITEMPOSITI
1a4b0 4f 4e 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  ON = LVM_FIRST +
1a4c0 20 31 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   16 }..// #defin
1a4d0 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49 74  e ListView_GetIt
1a4e0 65 6d 50 6f 73 69 74 69 6f 6e 28 68 77 6e 64 4c  emPosition(hwndL
1a4f0 56 2c 20 69 2c 20 70 70 74 29 20 28 42 4f 4f 4c  V, i, ppt) (BOOL
1a500 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29  )SNDMSG((hwndLV)
1a510 2c 20 4c 56 4d 5f 47 45 54 49 54 45 4d 50 4f 53  , LVM_GETITEMPOS
1a520 49 54 49 4f 4e 2c 20 28 57 50 41 52 41 4d 29 28  ITION, (WPARAM)(
1a530 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d  int)(i), (LPARAM
1a540 29 28 50 4f 49 4e 54 20 2a 29 28 70 70 74 29 29  )(POINT *)(ppt))
1a550 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1a560 7b 20 4c 56 4d 5f 47 45 54 53 54 52 49 4e 47 57  { LVM_GETSTRINGW
1a570 49 44 54 48 41 20 3d 20 4c 56 4d 5f 46 49 52 53  IDTHA = LVM_FIRS
1a580 54 20 2b 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a  T + 17 }..enum :
1a590 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 53   uint { LVM_GETS
1a5a0 54 52 49 4e 47 57 49 44 54 48 57 20 3d 20 4c 56  TRINGWIDTHW = LV
1a5b0 4d 5f 46 49 52 53 54 20 2b 20 38 37 20 7d 0d 0a  M_FIRST + 87 }..
1a5c0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
1a5d0 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54  E..alias LVM_GET
1a5e0 53 54 52 49 4e 47 57 49 44 54 48 57 20 4c 56 4d  STRINGWIDTHW LVM
1a5f0 5f 47 45 54 53 54 52 49 4e 47 57 49 44 54 48 3b  _GETSTRINGWIDTH;
1a600 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
1a610 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
1a620 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1a630 74 56 69 65 77 5f 47 65 74 53 74 72 69 6e 67 57  tView_GetStringW
1a640 69 64 74 68 28 68 77 6e 64 4c 56 2c 20 70 73 7a  idth(hwndLV, psz
1a650 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68  ) (int)SNDMSG((h
1a660 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 53  wndLV), LVM_GETS
1a670 54 52 49 4e 47 57 49 44 54 48 2c 20 30 2c 20 28  TRINGWIDTH, 0, (
1a680 4c 50 41 52 41 4d 29 28 4c 50 43 54 53 54 52 29  LPARAM)(LPCTSTR)
1a690 28 70 73 7a 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  (psz))....enum :
1a6a0 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 4e 4f 57   uint { LVHT_NOW
1a6b0 48 45 52 45 20 3d 20 30 78 30 30 30 31 20 7d 0d  HERE = 0x0001 }.
1a6c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1a6d0 56 48 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e 20 3d  VHT_ONITEMICON =
1a6e0 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
1a6f0 3a 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 4f 4e  : uint { LVHT_ON
1a700 49 54 45 4d 4c 41 42 45 4c 20 3d 20 30 78 30 30  ITEMLABEL = 0x00
1a710 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
1a720 74 20 7b 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 53  t { LVHT_ONITEMS
1a730 54 41 54 45 49 43 4f 4e 20 3d 20 30 78 30 30 30  TATEICON = 0x000
1a740 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1a750 20 7b 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 20 3d   { LVHT_ONITEM =
1a760 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 49 43 4f 4e   LVHT_ONITEMICON
1a770 20 7c 20 4c 56 48 54 5f 4f 4e 49 54 45 4d 4c 41   | LVHT_ONITEMLA
1a780 42 45 4c 20 7c 20 4c 56 48 54 5f 4f 4e 49 54 45  BEL | LVHT_ONITE
1a790 4d 53 54 41 54 45 49 43 4f 4e 20 7d 0d 0a 0d 0a  MSTATEICON }....
1a7a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1a7b0 48 54 5f 41 42 4f 56 45 20 3d 20 30 78 30 30 30  HT_ABOVE = 0x000
1a7c0 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1a7d0 20 7b 20 4c 56 48 54 5f 42 45 4c 4f 57 20 3d 20   { LVHT_BELOW = 
1a7e0 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0010 }..enum :
1a7f0 20 75 69 6e 74 20 7b 20 4c 56 48 54 5f 54 4f 52   uint { LVHT_TOR
1a800 49 47 48 54 20 3d 20 30 78 30 30 32 30 20 7d 0d  IGHT = 0x0020 }.
1a810 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1a820 56 48 54 5f 54 4f 4c 45 46 54 20 3d 20 30 78 30  VHT_TOLEFT = 0x0
1a830 30 34 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  040 }....// #if 
1a840 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
1a850 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 56 48  0300)..alias LVH
1a860 49 54 54 45 53 54 49 4e 46 4f 20 4c 56 5f 48 49  ITTESTINFO LV_HI
1a870 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23  TTESTINFO;..// #
1a880 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
1a890 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
1a8a0 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  f....// #define 
1a8b0 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 5f 56 31  LVHITTESTINFO_V1
1a8c0 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53  _SIZE CCSIZEOF_S
1a8d0 54 52 55 43 54 28 4c 56 48 49 54 54 45 53 54 49  TRUCT(LVHITTESTI
1a8e0 4e 46 4f 2c 20 69 49 74 65 6d 29 0d 0a 0d 0a 73  NFO, iItem)....s
1a8f0 74 72 75 63 74 20 74 61 67 4c 56 48 49 54 54 45  truct tagLVHITTE
1a900 53 54 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49 4e  STINFO {..  POIN
1a910 54 20 70 74 3b 0d 0a 20 20 55 49 4e 54 20 66 6c  T pt;..  UINT fl
1a920 61 67 73 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65  ags;..  int iIte
1a930 6d 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  m;..// #if (_WIN
1a940 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29  32_IE >= 0x0300)
1a950 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d  ..  int iSubItem
1a960 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ;..// #endif..}.
1a970 0a 61 6c 69 61 73 20 74 61 67 4c 56 48 49 54 54  .alias tagLVHITT
1a980 45 53 54 49 4e 46 4f 20 4c 56 48 49 54 54 45 53  ESTINFO LVHITTES
1a990 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61  TINFO;..alias ta
1a9a0 67 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 2a 20  gLVHITTESTINFO* 
1a9b0 4c 50 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 3b  LPLVHITTESTINFO;
1a9c0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1a9d0 7b 20 4c 56 4d 5f 48 49 54 54 45 53 54 20 3d 20  { LVM_HITTEST = 
1a9e0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 38 20 7d  LVM_FIRST + 18 }
1a9f0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1aa00 74 56 69 65 77 5f 48 69 74 54 65 73 74 28 68 77  tView_HitTest(hw
1aa10 6e 64 4c 56 2c 20 70 69 6e 66 6f 29 20 28 69 6e  ndLV, pinfo) (in
1aa20 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56  t)SNDMSG((hwndLV
1aa30 29 2c 20 4c 56 4d 5f 48 49 54 54 45 53 54 2c 20  ), LVM_HITTEST, 
1aa40 30 2c 20 28 4c 50 41 52 41 4d 29 28 4c 56 5f 48  0, (LPARAM)(LV_H
1aa50 49 54 54 45 53 54 49 4e 46 4f 20 2a 29 28 70 69  ITTESTINFO *)(pi
1aa60 6e 66 6f 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  nfo))....enum : 
1aa70 75 69 6e 74 20 7b 20 4c 56 4d 5f 45 4e 53 55 52  uint { LVM_ENSUR
1aa80 45 56 49 53 49 42 4c 45 20 3d 20 4c 56 4d 5f 46  EVISIBLE = LVM_F
1aa90 49 52 53 54 20 2b 20 31 39 20 7d 0d 0a 2f 2f 20  IRST + 19 }..// 
1aaa0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1aab0 5f 45 6e 73 75 72 65 56 69 73 69 62 6c 65 28 68  _EnsureVisible(h
1aac0 77 6e 64 4c 56 2c 20 69 2c 20 66 50 61 72 74 69  wndLV, i, fParti
1aad0 61 6c 4f 4b 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  alOK) (BOOL)SNDM
1aae0 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d  SG((hwndLV), LVM
1aaf0 5f 45 4e 53 55 52 45 56 49 53 49 42 4c 45 2c 20  _ENSUREVISIBLE, 
1ab00 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 29  (WPARAM)(int)(i)
1ab10 2c 20 4d 41 4b 45 4c 50 41 52 41 4d 28 28 66 50  , MAKELPARAM((fP
1ab20 61 72 74 69 61 6c 4f 4b 29 2c 20 30 29 29 0d 0a  artialOK), 0))..
1ab30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1ab40 4c 56 4d 5f 53 43 52 4f 4c 4c 20 3d 20 4c 56 4d  LVM_SCROLL = LVM
1ab50 5f 46 49 52 53 54 20 2b 20 32 30 20 7d 0d 0a 2f  _FIRST + 20 }../
1ab60 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1ab70 65 77 5f 53 63 72 6f 6c 6c 28 68 77 6e 64 4c 56  ew_Scroll(hwndLV
1ab80 2c 20 64 78 2c 20 64 79 29 20 28 42 4f 4f 4c 29  , dx, dy) (BOOL)
1ab90 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c  SNDMSG((hwndLV),
1aba0 20 4c 56 4d 5f 53 43 52 4f 4c 4c 2c 20 28 57 50   LVM_SCROLL, (WP
1abb0 41 52 41 4d 29 28 69 6e 74 29 28 64 78 29 2c 20  ARAM)(int)(dx), 
1abc0 28 4c 50 41 52 41 4d 29 28 69 6e 74 29 28 64 79  (LPARAM)(int)(dy
1abd0 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
1abe0 74 20 7b 20 4c 56 4d 5f 52 45 44 52 41 57 49 54  t { LVM_REDRAWIT
1abf0 45 4d 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  EMS = LVM_FIRST 
1ac00 2b 20 32 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 21 }..// #defi
1ac10 6e 65 20 4c 69 73 74 56 69 65 77 5f 52 65 64 72  ne ListView_Redr
1ac20 61 77 49 74 65 6d 73 28 68 77 6e 64 4c 56 2c 20  awItems(hwndLV, 
1ac30 69 46 69 72 73 74 2c 20 69 4c 61 73 74 29 20 28  iFirst, iLast) (
1ac40 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
1ac50 64 4c 56 29 2c 20 4c 56 4d 5f 52 45 44 52 41 57  dLV), LVM_REDRAW
1ac60 49 54 45 4d 53 2c 20 28 57 50 41 52 41 4d 29 28  ITEMS, (WPARAM)(
1ac70 69 6e 74 29 28 69 46 69 72 73 74 29 2c 20 28 4c  int)(iFirst), (L
1ac80 50 41 52 41 4d 29 28 69 6e 74 29 28 69 4c 61 73  PARAM)(int)(iLas
1ac90 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  t))....enum : ui
1aca0 6e 74 20 7b 20 4c 56 41 5f 44 45 46 41 55 4c 54  nt { LVA_DEFAULT
1acb0 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75   = 0x0000 }..enu
1acc0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 41 5f 41  m : uint { LVA_A
1acd0 4c 49 47 4e 4c 45 46 54 20 3d 20 30 78 30 30 30  LIGNLEFT = 0x000
1ace0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
1acf0 20 7b 20 4c 56 41 5f 41 4c 49 47 4e 54 4f 50 20   { LVA_ALIGNTOP 
1ad00 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
1ad10 20 3a 20 75 69 6e 74 20 7b 20 4c 56 41 5f 53 4e   : uint { LVA_SN
1ad20 41 50 54 4f 47 52 49 44 20 3d 20 30 78 30 30 30  APTOGRID = 0x000
1ad30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  5 }....enum : ui
1ad40 6e 74 20 7b 20 4c 56 4d 5f 41 52 52 41 4e 47 45  nt { LVM_ARRANGE
1ad50 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32   = LVM_FIRST + 2
1ad60 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  2 }..// #define 
1ad70 4c 69 73 74 56 69 65 77 5f 41 72 72 61 6e 67 65  ListView_Arrange
1ad80 28 68 77 6e 64 4c 56 2c 20 63 6f 64 65 29 20 28  (hwndLV, code) (
1ad90 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
1ada0 64 4c 56 29 2c 20 4c 56 4d 5f 41 52 52 41 4e 47  dLV), LVM_ARRANG
1adb0 45 2c 20 28 57 50 41 52 41 4d 29 28 55 49 4e 54  E, (WPARAM)(UINT
1adc0 29 28 63 6f 64 65 29 2c 20 30 4c 29 0d 0a 0d 0a  )(code), 0L)....
1add0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1ade0 4d 5f 45 44 49 54 4c 41 42 45 4c 41 20 3d 20 4c  M_EDITLABELA = L
1adf0 56 4d 5f 46 49 52 53 54 20 2b 20 32 33 20 7d 0d  VM_FIRST + 23 }.
1ae00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1ae10 56 4d 5f 45 44 49 54 4c 41 42 45 4c 57 20 3d 20  VM_EDITLABELW = 
1ae20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 31 38 20  LVM_FIRST + 118 
1ae30 7d 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  }..// #ifdef UNI
1ae40 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f  CODE..alias LVM_
1ae50 45 44 49 54 4c 41 42 45 4c 57 20 4c 56 4d 5f 45  EDITLABELW LVM_E
1ae60 44 49 54 4c 41 42 45 4c 3b 0d 0a 2f 2f 20 23 65  DITLABEL;..// #e
1ae70 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
1ae80 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64   #endif....// #d
1ae90 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 45  efine ListView_E
1aea0 64 69 74 4c 61 62 65 6c 28 68 77 6e 64 4c 56 2c  ditLabel(hwndLV,
1aeb0 20 69 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47   i) (HWND)SNDMSG
1aec0 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 45  ((hwndLV), LVM_E
1aed0 44 49 54 4c 41 42 45 4c 2c 20 28 57 50 41 52 41  DITLABEL, (WPARA
1aee0 4d 29 28 69 6e 74 29 28 69 29 2c 20 30 4c 29 0d  M)(int)(i), 0L).
1aef0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1af00 20 4c 56 4d 5f 47 45 54 45 44 49 54 43 4f 4e 54   LVM_GETEDITCONT
1af10 52 4f 4c 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  ROL = LVM_FIRST 
1af20 2b 20 32 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 24 }..// #defi
1af30 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 45  ne ListView_GetE
1af40 64 69 74 43 6f 6e 74 72 6f 6c 28 68 77 6e 64 4c  ditControl(hwndL
1af50 56 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28  V) (HWND)SNDMSG(
1af60 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45  (hwndLV), LVM_GE
1af70 54 45 44 49 54 43 4f 4e 54 52 4f 4c 2c 20 30 2c  TEDITCONTROL, 0,
1af80 20 30 4c 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28   0L)....// #if (
1af90 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
1afa0 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c 56 43 4f  300)..alias LVCO
1afb0 4c 55 4d 4e 41 20 4c 56 5f 43 4f 4c 55 4d 4e 41  LUMNA LV_COLUMNA
1afc0 3b 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d  ;..alias LVCOLUM
1afd0 4e 57 20 4c 56 5f 43 4f 4c 55 4d 4e 57 3b 0d 0a  NW LV_COLUMNW;..
1afe0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1aff0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
1b000 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
1b010 20 23 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73   #endif....alias
1b020 20 4c 56 43 4f 4c 55 4d 4e 20 4c 56 5f 43 4f 4c   LVCOLUMN LV_COL
1b030 55 4d 4e 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  UMN;....// #defi
1b040 6e 65 20 4c 56 43 4f 4c 55 4d 4e 41 5f 56 31 5f  ne LVCOLUMNA_V1_
1b050 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53 54  SIZE CCSIZEOF_ST
1b060 52 55 43 54 28 4c 56 43 4f 4c 55 4d 4e 41 2c 20  RUCT(LVCOLUMNA, 
1b070 69 53 75 62 49 74 65 6d 29 0d 0a 2f 2f 20 23 64  iSubItem)..// #d
1b080 65 66 69 6e 65 20 4c 56 43 4f 4c 55 4d 4e 57 5f  efine LVCOLUMNW_
1b090 56 31 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46  V1_SIZE CCSIZEOF
1b0a0 5f 53 54 52 55 43 54 28 4c 56 43 4f 4c 55 4d 4e  _STRUCT(LVCOLUMN
1b0b0 57 2c 20 69 53 75 62 49 74 65 6d 29 0d 0a 0d 0a  W, iSubItem)....
1b0c0 73 74 72 75 63 74 20 74 61 67 4c 56 43 4f 4c 55  struct tagLVCOLU
1b0d0 4d 4e 41 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61  MNA {..  UINT ma
1b0e0 73 6b 3b 0d 0a 20 20 69 6e 74 20 66 6d 74 3b 0d  sk;..  int fmt;.
1b0f0 0a 20 20 69 6e 74 20 63 78 3b 0d 0a 20 20 4c 50  .  int cx;..  LP
1b100 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20  STR pszText;..  
1b110 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d  int cchTextMax;.
1b120 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d 3b  .  int iSubItem;
1b130 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
1b140 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
1b150 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20    int iImage;.. 
1b160 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d 0a 2f 2f   int iOrder;..//
1b170 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61   #endif..}..alia
1b180 73 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 41 20 4c  s tagLVCOLUMNA L
1b190 56 43 4f 4c 55 4d 4e 41 3b 0d 0a 61 6c 69 61 73  VCOLUMNA;..alias
1b1a0 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 41 2a 20 4c   tagLVCOLUMNA* L
1b1b0 50 4c 56 43 4f 4c 55 4d 4e 41 3b 0d 0a 0d 0a 73  PLVCOLUMNA;....s
1b1c0 74 72 75 63 74 20 74 61 67 4c 56 43 4f 4c 55 4d  truct tagLVCOLUM
1b1d0 4e 57 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 73  NW {..  UINT mas
1b1e0 6b 3b 0d 0a 20 20 69 6e 74 20 66 6d 74 3b 0d 0a  k;..  int fmt;..
1b1f0 20 20 69 6e 74 20 63 78 3b 0d 0a 20 20 4c 50 57    int cx;..  LPW
1b200 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20  STR pszText;..  
1b210 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d  int cchTextMax;.
1b220 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d 3b  .  int iSubItem;
1b230 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
1b240 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
1b250 20 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20    int iImage;.. 
1b260 20 69 6e 74 20 69 4f 72 64 65 72 3b 0d 0a 2f 2f   int iOrder;..//
1b270 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61   #endif..}..alia
1b280 73 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 57 20 4c  s tagLVCOLUMNW L
1b290 56 43 4f 4c 55 4d 4e 57 3b 0d 0a 61 6c 69 61 73  VCOLUMNW;..alias
1b2a0 20 74 61 67 4c 56 43 4f 4c 55 4d 4e 57 2a 20 4c   tagLVCOLUMNW* L
1b2b0 50 4c 56 43 4f 4c 55 4d 4e 57 3b 0d 0a 0d 0a 2f  PLVCOLUMNW;..../
1b2c0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
1b2d0 0d 0a 61 6c 69 61 73 20 4c 56 43 4f 4c 55 4d 4e  ..alias LVCOLUMN
1b2e0 57 20 4c 56 43 4f 4c 55 4d 4e 3b 0d 0a 61 6c 69  W LVCOLUMN;..ali
1b2f0 61 73 20 4c 50 4c 56 43 4f 4c 55 4d 4e 57 20 4c  as LPLVCOLUMNW L
1b300 50 4c 56 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f 20 23  PLVCOLUMN;..// #
1b310 64 65 66 69 6e 65 20 4c 56 43 4f 4c 55 4d 4e 5f  define LVCOLUMN_
1b320 56 31 5f 53 49 5a 45 20 4c 56 43 4f 4c 55 4d 4e  V1_SIZE LVCOLUMN
1b330 57 5f 56 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65  W_V1_SIZE..// #e
1b340 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
1b350 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
1b360 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
1b370 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 5f  m : uint { LVCF_
1b380 46 4d 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  FMT = 0x0001 }..
1b390 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1b3a0 43 46 5f 57 49 44 54 48 20 3d 20 30 78 30 30 30  CF_WIDTH = 0x000
1b3b0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
1b3c0 20 7b 20 4c 56 43 46 5f 54 45 58 54 20 3d 20 30   { LVCF_TEXT = 0
1b3d0 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0004 }..enum : 
1b3e0 75 69 6e 74 20 7b 20 4c 56 43 46 5f 53 55 42 49  uint { LVCF_SUBI
1b3f0 54 45 4d 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  TEM = 0x0008 }..
1b400 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
1b410 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e  E >= 0x0300)..en
1b420 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46  um : uint { LVCF
1b430 5f 49 4d 41 47 45 20 3d 20 30 78 30 30 31 30 20  _IMAGE = 0x0010 
1b440 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b450 20 4c 56 43 46 5f 4f 52 44 45 52 20 3d 20 30 78   LVCF_ORDER = 0x
1b460 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0020 }..// #endi
1b470 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
1b480 20 7b 20 4c 56 43 46 4d 54 5f 4c 45 46 54 20 3d   { LVCFMT_LEFT =
1b490 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0000 }..enum 
1b4a0 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46 4d 54 5f  : uint { LVCFMT_
1b4b0 52 49 47 48 54 20 3d 20 30 78 30 30 30 31 20 7d  RIGHT = 0x0001 }
1b4c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b4d0 4c 56 43 46 4d 54 5f 43 45 4e 54 45 52 20 3d 20  LVCFMT_CENTER = 
1b4e0 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
1b4f0 20 75 69 6e 74 20 7b 20 4c 56 43 46 4d 54 5f 4a   uint { LVCFMT_J
1b500 55 53 54 49 46 59 4d 41 53 4b 20 3d 20 30 78 30  USTIFYMASK = 0x0
1b510 30 30 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  003 }....// #if 
1b520 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
1b530 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0300)..enum : ui
1b540 6e 74 20 7b 20 4c 56 43 46 4d 54 5f 49 4d 41 47  nt { LVCFMT_IMAG
1b550 45 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e  E = 0x0800 }..en
1b560 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 46  um : uint { LVCF
1b570 4d 54 5f 42 49 54 4d 41 50 5f 4f 4e 5f 52 49 47  MT_BITMAP_ON_RIG
1b580 48 54 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65  HT = 0x1000 }..e
1b590 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43  num : uint { LVC
1b5a0 46 4d 54 5f 43 4f 4c 5f 48 41 53 5f 49 4d 41 47  FMT_COL_HAS_IMAG
1b5b0 45 53 20 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f  ES = 0x8000 }../
1b5c0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
1b5d0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45   : uint { LVM_GE
1b5e0 54 43 4f 4c 55 4d 4e 41 20 3d 20 4c 56 4d 5f 46  TCOLUMNA = LVM_F
1b5f0 49 52 53 54 20 2b 20 32 35 20 7d 0d 0a 65 6e 75  IRST + 25 }..enu
1b600 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47  m : uint { LVM_G
1b610 45 54 43 4f 4c 55 4d 4e 57 20 3d 20 4c 56 4d 5f  ETCOLUMNW = LVM_
1b620 46 49 52 53 54 20 2b 20 39 35 20 7d 0d 0a 2f 2f  FIRST + 95 }..//
1b630 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1b640 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45 54 43 4f  .alias LVM_GETCO
1b650 4c 55 4d 4e 57 20 4c 56 4d 5f 47 45 54 43 4f 4c  LUMNW LVM_GETCOL
1b660 55 4d 4e 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  UMN;..// #else..
1b670 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
1b680 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  if....// #define
1b690 20 4c 69 73 74 56 69 65 77 5f 47 65 74 43 6f 6c   ListView_GetCol
1b6a0 75 6d 6e 28 68 77 6e 64 2c 20 69 43 6f 6c 2c 20  umn(hwnd, iCol, 
1b6b0 70 63 6f 6c 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  pcol) (BOOL)SNDM
1b6c0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
1b6d0 45 54 43 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41  ETCOLUMN, (WPARA
1b6e0 4d 29 28 69 6e 74 29 28 69 43 6f 6c 29 2c 20 28  M)(int)(iCol), (
1b6f0 4c 50 41 52 41 4d 29 28 4c 56 5f 43 4f 4c 55 4d  LPARAM)(LV_COLUM
1b700 4e 20 2a 29 28 70 63 6f 6c 29 29 0d 0a 0d 0a 65  N *)(pcol))....e
1b710 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1b720 5f 53 45 54 43 4f 4c 55 4d 4e 41 20 3d 20 4c 56  _SETCOLUMNA = LV
1b730 4d 5f 46 49 52 53 54 20 2b 20 32 36 20 7d 0d 0a  M_FIRST + 26 }..
1b740 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1b750 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 20 3d 20 4c  M_SETCOLUMNW = L
1b760 56 4d 5f 46 49 52 53 54 20 2b 20 39 36 20 7d 0d  VM_FIRST + 96 }.
1b770 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1b780 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 53 45  DE..alias LVM_SE
1b790 54 43 4f 4c 55 4d 4e 57 20 4c 56 4d 5f 53 45 54  TCOLUMNW LVM_SET
1b7a0 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f 20 23 65 6c 73  COLUMN;..// #els
1b7b0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
1b7c0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66  endif....// #def
1b7d0 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74  ine ListView_Set
1b7e0 43 6f 6c 75 6d 6e 28 68 77 6e 64 2c 20 69 43 6f  Column(hwnd, iCo
1b7f0 6c 2c 20 70 63 6f 6c 29 20 28 42 4f 4f 4c 29 53  l, pcol) (BOOL)S
1b800 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
1b810 4d 5f 53 45 54 43 4f 4c 55 4d 4e 2c 20 28 57 50  M_SETCOLUMN, (WP
1b820 41 52 41 4d 29 28 69 6e 74 29 28 69 43 6f 6c 29  ARAM)(int)(iCol)
1b830 2c 20 28 4c 50 41 52 41 4d 29 28 63 6f 6e 73 74  , (LPARAM)(const
1b840 20 4c 56 5f 43 4f 4c 55 4d 4e 20 2a 29 28 70 63   LV_COLUMN *)(pc
1b850 6f 6c 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ol))....enum : u
1b860 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 52 54  int { LVM_INSERT
1b870 43 4f 4c 55 4d 4e 41 20 3d 20 4c 56 4d 5f 46 49  COLUMNA = LVM_FI
1b880 52 53 54 20 2b 20 32 37 20 7d 0d 0a 65 6e 75 6d  RST + 27 }..enum
1b890 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e   : uint { LVM_IN
1b8a0 53 45 52 54 43 4f 4c 55 4d 4e 57 20 3d 20 4c 56  SERTCOLUMNW = LV
1b8b0 4d 5f 46 49 52 53 54 20 2b 20 39 37 20 7d 0d 0a  M_FIRST + 97 }..
1b8c0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
1b8d0 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 49 4e 53  E..alias LVM_INS
1b8e0 45 52 54 43 4f 4c 55 4d 4e 57 20 4c 56 4d 5f 49  ERTCOLUMNW LVM_I
1b8f0 4e 53 45 52 54 43 4f 4c 55 4d 4e 3b 0d 0a 2f 2f  NSERTCOLUMN;..//
1b900 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
1b910 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
1b920 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
1b930 77 5f 49 6e 73 65 72 74 43 6f 6c 75 6d 6e 28 68  w_InsertColumn(h
1b940 77 6e 64 2c 20 69 43 6f 6c 2c 20 70 63 6f 6c 29  wnd, iCol, pcol)
1b950 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77   (int)SNDMSG((hw
1b960 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45 52 54 43  nd), LVM_INSERTC
1b970 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41 4d 29 28  OLUMN, (WPARAM)(
1b980 69 6e 74 29 28 69 43 6f 6c 29 2c 20 28 4c 50 41  int)(iCol), (LPA
1b990 52 41 4d 29 28 63 6f 6e 73 74 20 4c 56 5f 43 4f  RAM)(const LV_CO
1b9a0 4c 55 4d 4e 20 2a 29 28 70 63 6f 6c 29 29 0d 0a  LUMN *)(pcol))..
1b9b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1b9c0 4c 56 4d 5f 44 45 4c 45 54 45 43 4f 4c 55 4d 4e  LVM_DELETECOLUMN
1b9d0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 32   = LVM_FIRST + 2
1b9e0 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  8 }..// #define 
1b9f0 4c 69 73 74 56 69 65 77 5f 44 65 6c 65 74 65 43  ListView_DeleteC
1ba00 6f 6c 75 6d 6e 28 68 77 6e 64 2c 20 69 43 6f 6c  olumn(hwnd, iCol
1ba10 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
1ba20 68 77 6e 64 29 2c 20 4c 56 4d 5f 44 45 4c 45 54  hwnd), LVM_DELET
1ba30 45 43 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41 4d  ECOLUMN, (WPARAM
1ba40 29 28 69 6e 74 29 28 69 43 6f 6c 29 2c 20 30 29  )(int)(iCol), 0)
1ba50 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1ba60 7b 20 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 57  { LVM_GETCOLUMNW
1ba70 49 44 54 48 20 3d 20 4c 56 4d 5f 46 49 52 53 54  IDTH = LVM_FIRST
1ba80 20 2b 20 32 39 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 29 }..// #def
1ba90 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
1baa0 43 6f 6c 75 6d 6e 57 69 64 74 68 28 68 77 6e 64  ColumnWidth(hwnd
1bab0 2c 20 69 43 6f 6c 29 20 28 69 6e 74 29 53 4e 44  , iCol) (int)SND
1bac0 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
1bad0 47 45 54 43 4f 4c 55 4d 4e 57 49 44 54 48 2c 20  GETCOLUMNWIDTH, 
1bae0 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 43  (WPARAM)(int)(iC
1baf0 6f 6c 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  ol), 0)....enum 
1bb00 7b 20 4c 56 53 43 57 5f 41 55 54 4f 53 49 5a 45  { LVSCW_AUTOSIZE
1bb10 20 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 7b 20   = -1 }..enum { 
1bb20 4c 56 53 43 57 5f 41 55 54 4f 53 49 5a 45 5f 55  LVSCW_AUTOSIZE_U
1bb30 53 45 48 45 41 44 45 52 20 3d 20 2d 32 20 7d 0d  SEHEADER = -2 }.
1bb40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1bb50 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 49 44 54  VM_SETCOLUMNWIDT
1bb60 48 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  H = LVM_FIRST + 
1bb70 33 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  30 }....// #defi
1bb80 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 43  ne ListView_SetC
1bb90 6f 6c 75 6d 6e 57 69 64 74 68 28 68 77 6e 64 2c  olumnWidth(hwnd,
1bba0 20 69 43 6f 6c 2c 20 63 78 29 20 28 42 4f 4f 4c   iCol, cx) (BOOL
1bbb0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1bbc0 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d 4e 57 49 44  LVM_SETCOLUMNWID
1bbd0 54 48 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74  TH, (WPARAM)(int
1bbe0 29 28 69 43 6f 6c 29 2c 20 4d 41 4b 45 4c 50 41  )(iCol), MAKELPA
1bbf0 52 41 4d 28 28 63 78 29 2c 20 30 29 29 0d 0a 0d  RAM((cx), 0))...
1bc00 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
1bc10 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65  IE >= 0x0300)..e
1bc20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1bc30 5f 47 45 54 48 45 41 44 45 52 20 3d 20 4c 56 4d  _GETHEADER = LVM
1bc40 5f 46 49 52 53 54 20 2b 20 33 31 20 7d 0d 0a 2f  _FIRST + 31 }../
1bc50 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1bc60 65 77 5f 47 65 74 48 65 61 64 65 72 28 68 77 6e  ew_GetHeader(hwn
1bc70 64 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28  d) (HWND)SNDMSG(
1bc80 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 48  (hwnd), LVM_GETH
1bc90 45 41 44 45 52 2c 20 30 2c 20 30 4c 29 0d 0a 2f  EADER, 0, 0L)../
1bca0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
1bcb0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 43 52   : uint { LVM_CR
1bcc0 45 41 54 45 44 52 41 47 49 4d 41 47 45 20 3d 20  EATEDRAGIMAGE = 
1bcd0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 33 20 7d  LVM_FIRST + 33 }
1bce0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1bcf0 74 56 69 65 77 5f 43 72 65 61 74 65 44 72 61 67  tView_CreateDrag
1bd00 49 6d 61 67 65 28 68 77 6e 64 2c 20 69 2c 20 6c  Image(hwnd, i, l
1bd10 70 70 74 55 70 4c 65 66 74 29 20 28 48 49 4d 41  pptUpLeft) (HIMA
1bd20 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28 28 68  GELIST)SNDMSG((h
1bd30 77 6e 64 29 2c 20 4c 56 4d 5f 43 52 45 41 54 45  wnd), LVM_CREATE
1bd40 44 52 41 47 49 4d 41 47 45 2c 20 28 57 50 41 52  DRAGIMAGE, (WPAR
1bd50 41 4d 29 28 69 6e 74 29 28 69 29 2c 20 28 4c 50  AM)(int)(i), (LP
1bd60 41 52 41 4d 29 28 4c 50 50 4f 49 4e 54 29 28 6c  ARAM)(LPPOINT)(l
1bd70 70 70 74 55 70 4c 65 66 74 29 29 0d 0a 0d 0a 65  pptUpLeft))....e
1bd80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1bd90 5f 47 45 54 56 49 45 57 52 45 43 54 20 3d 20 4c  _GETVIEWRECT = L
1bda0 56 4d 5f 46 49 52 53 54 20 2b 20 33 34 20 7d 0d  VM_FIRST + 34 }.
1bdb0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1bdc0 56 69 65 77 5f 47 65 74 56 69 65 77 52 65 63 74  View_GetViewRect
1bdd0 28 68 77 6e 64 2c 20 70 72 63 29 20 28 42 4f 4f  (hwnd, prc) (BOO
1bde0 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  L)SNDMSG((hwnd),
1bdf0 20 4c 56 4d 5f 47 45 54 56 49 45 57 52 45 43 54   LVM_GETVIEWRECT
1be00 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 52 45  , 0, (LPARAM)(RE
1be10 43 54 20 2a 29 28 70 72 63 29 29 0d 0a 0d 0a 65  CT *)(prc))....e
1be20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1be30 5f 47 45 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20  _GETTEXTCOLOR = 
1be40 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33 35 20 7d  LVM_FIRST + 35 }
1be50 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1be60 74 56 69 65 77 5f 47 65 74 54 65 78 74 43 6f 6c  tView_GetTextCol
1be70 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52  or(hwnd) (COLORR
1be80 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  EF)SNDMSG((hwnd)
1be90 2c 20 4c 56 4d 5f 47 45 54 54 45 58 54 43 4f 4c  , LVM_GETTEXTCOL
1bea0 4f 52 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e  OR, 0, 0L)....en
1beb0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1bec0 53 45 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20 4c  SETTEXTCOLOR = L
1bed0 56 4d 5f 46 49 52 53 54 20 2b 20 33 36 20 7d 0d  VM_FIRST + 36 }.
1bee0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1bef0 56 69 65 77 5f 53 65 74 54 65 78 74 43 6f 6c 6f  View_SetTextColo
1bf00 72 28 68 77 6e 64 2c 20 63 6c 72 54 65 78 74 29  r(hwnd, clrText)
1bf10 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
1bf20 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 54 45 58  wnd), LVM_SETTEX
1bf30 54 43 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52  TCOLOR, 0, (LPAR
1bf40 41 4d 29 28 43 4f 4c 4f 52 52 45 46 29 28 63 6c  AM)(COLORREF)(cl
1bf50 72 54 65 78 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20  rText))....enum 
1bf60 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
1bf70 54 45 58 54 42 4b 43 4f 4c 4f 52 20 3d 20 4c 56  TEXTBKCOLOR = LV
1bf80 4d 5f 46 49 52 53 54 20 2b 20 33 37 20 7d 0d 0a  M_FIRST + 37 }..
1bf90 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
1bfa0 69 65 77 5f 47 65 74 54 65 78 74 42 6b 43 6f 6c  iew_GetTextBkCol
1bfb0 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52  or(hwnd) (COLORR
1bfc0 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  EF)SNDMSG((hwnd)
1bfd0 2c 20 4c 56 4d 5f 47 45 54 54 45 58 54 42 4b 43  , LVM_GETTEXTBKC
1bfe0 4f 4c 4f 52 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a  OLOR, 0, 0L)....
1bff0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1c000 4d 5f 53 45 54 54 45 58 54 42 4b 43 4f 4c 4f 52  M_SETTEXTBKCOLOR
1c010 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 33   = LVM_FIRST + 3
1c020 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  8 }..// #define 
1c030 4c 69 73 74 56 69 65 77 5f 53 65 74 54 65 78 74  ListView_SetText
1c040 42 6b 43 6f 6c 6f 72 28 68 77 6e 64 2c 20 63 6c  BkColor(hwnd, cl
1c050 72 54 65 78 74 42 6b 29 20 28 42 4f 4f 4c 29 53  rTextBk) (BOOL)S
1c060 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
1c070 4d 5f 53 45 54 54 45 58 54 42 4b 43 4f 4c 4f 52  M_SETTEXTBKCOLOR
1c080 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 43 4f  , 0, (LPARAM)(CO
1c090 4c 4f 52 52 45 46 29 28 63 6c 72 54 65 78 74 42  LORREF)(clrTextB
1c0a0 6b 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  k))....enum : ui
1c0b0 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 54 4f 50 49  nt { LVM_GETTOPI
1c0c0 4e 44 45 58 20 3d 20 4c 56 4d 5f 46 49 52 53 54  NDEX = LVM_FIRST
1c0d0 20 2b 20 33 39 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 39 }..// #def
1c0e0 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
1c0f0 54 6f 70 49 6e 64 65 78 28 68 77 6e 64 4c 56 29  TopIndex(hwndLV)
1c100 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77   (int)SNDMSG((hw
1c110 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 54 4f  ndLV), LVM_GETTO
1c120 50 49 4e 44 45 58 2c 20 30 2c 20 30 29 0d 0a 0d  PINDEX, 0, 0)...
1c130 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1c140 56 4d 5f 47 45 54 43 4f 55 4e 54 50 45 52 50 41  VM_GETCOUNTPERPA
1c150 47 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  GE = LVM_FIRST +
1c160 20 34 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   40 }..// #defin
1c170 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 43 6f  e ListView_GetCo
1c180 75 6e 74 50 65 72 50 61 67 65 28 68 77 6e 64 4c  untPerPage(hwndL
1c190 56 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28  V) (int)SNDMSG((
1c1a0 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54  hwndLV), LVM_GET
1c1b0 43 4f 55 4e 54 50 45 52 50 41 47 45 2c 20 30 2c  COUNTPERPAGE, 0,
1c1c0 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   0)....enum : ui
1c1d0 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 4f 52 49 47  nt { LVM_GETORIG
1c1e0 49 4e 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b  IN = LVM_FIRST +
1c1f0 20 34 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   41 }..// #defin
1c200 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 4f 72  e ListView_GetOr
1c210 69 67 69 6e 28 68 77 6e 64 4c 56 2c 20 70 70 74  igin(hwndLV, ppt
1c220 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
1c230 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54  hwndLV), LVM_GET
1c240 4f 52 49 47 49 4e 2c 20 28 57 50 41 52 41 4d 29  ORIGIN, (WPARAM)
1c250 30 2c 20 28 4c 50 41 52 41 4d 29 28 50 4f 49 4e  0, (LPARAM)(POIN
1c260 54 20 2a 29 28 70 70 74 29 29 0d 0a 0d 0a 65 6e  T *)(ppt))....en
1c270 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1c280 55 50 44 41 54 45 20 3d 20 4c 56 4d 5f 46 49 52  UPDATE = LVM_FIR
1c290 53 54 20 2b 20 34 32 20 7d 0d 0a 2f 2f 20 23 64  ST + 42 }..// #d
1c2a0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 55  efine ListView_U
1c2b0 70 64 61 74 65 28 68 77 6e 64 4c 56 2c 20 69 29  pdate(hwndLV, i)
1c2c0 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
1c2d0 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 55 50 44 41  wndLV), LVM_UPDA
1c2e0 54 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c  TE, (WPARAM)(i),
1c2f0 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   0L)....enum : u
1c300 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 54 45  int { LVM_SETITE
1c310 4d 53 54 41 54 45 20 3d 20 4c 56 4d 5f 46 49 52  MSTATE = LVM_FIR
1c320 53 54 20 2b 20 34 33 20 7d 0d 0a 2f 2f 20 23 64  ST + 43 }..// #d
1c330 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53  efine ListView_S
1c340 65 74 49 74 65 6d 53 74 61 74 65 28 68 77 6e 64  etItemState(hwnd
1c350 4c 56 2c 20 69 2c 20 64 61 74 61 2c 20 6d 61 73  LV, i, data, mas
1c360 6b 29 20 7b 20 4c 56 5f 49 54 45 4d 20 5f 6d 73  k) { LV_ITEM _ms
1c370 5f 6c 76 69 3b 20 5f 6d 73 5f 6c 76 69 2e 73 74  _lvi; _ms_lvi.st
1c380 61 74 65 4d 61 73 6b 20 3d 20 6d 61 73 6b 3b 20  ateMask = mask; 
1c390 5f 6d 73 5f 6c 76 69 2e 73 74 61 74 65 20 3d 20  _ms_lvi.state = 
1c3a0 64 61 74 61 3b 20 53 4e 44 4d 53 47 28 28 68 77  data; SNDMSG((hw
1c3b0 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54 49 54  ndLV), LVM_SETIT
1c3c0 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52 41 4d  EMSTATE, (WPARAM
1c3d0 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29 28 4c  )(i), (LPARAM)(L
1c3e0 56 5f 49 54 45 4d 20 2a 29 26 5f 6d 73 5f 6c 76  V_ITEM *)&_ms_lv
1c3f0 69 29 3b 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  i); }....// #if 
1c400 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
1c410 30 33 30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  0300)..// #defin
1c420 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 43 68  e ListView_SetCh
1c430 65 63 6b 53 74 61 74 65 28 68 77 6e 64 4c 56 2c  eckState(hwndLV,
1c440 20 69 2c 20 66 43 68 65 63 6b 29 20 4c 69 73 74   i, fCheck) List
1c450 56 69 65 77 5f 53 65 74 49 74 65 6d 53 74 61 74  View_SetItemStat
1c460 65 28 68 77 6e 64 4c 56 2c 20 69 2c 20 49 4e 44  e(hwndLV, i, IND
1c470 45 58 54 4f 53 54 41 54 45 49 4d 41 47 45 4d 41  EXTOSTATEIMAGEMA
1c480 53 4b 28 28 66 43 68 65 63 6b 29 3f 32 3a 31 29  SK((fCheck)?2:1)
1c490 2c 20 4c 56 49 53 5f 53 54 41 54 45 49 4d 41 47  , LVIS_STATEIMAG
1c4a0 45 4d 41 53 4b 29 0d 0a 2f 2f 20 23 65 6e 64 69  EMASK)..// #endi
1c4b0 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
1c4c0 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45 4d 53 54   { LVM_GETITEMST
1c4d0 41 54 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  ATE = LVM_FIRST 
1c4e0 2b 20 34 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 44 }..// #defi
1c4f0 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 49  ne ListView_GetI
1c500 74 65 6d 53 74 61 74 65 28 68 77 6e 64 4c 56 2c  temState(hwndLV,
1c510 20 69 2c 20 6d 61 73 6b 29 20 28 55 49 4e 54 29   i, mask) (UINT)
1c520 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c  SNDMSG((hwndLV),
1c530 20 4c 56 4d 5f 47 45 54 49 54 45 4d 53 54 41 54   LVM_GETITEMSTAT
1c540 45 2c 20 28 57 50 41 52 41 4d 29 28 69 29 2c 20  E, (WPARAM)(i), 
1c550 28 4c 50 41 52 41 4d 29 28 6d 61 73 6b 29 29 0d  (LPARAM)(mask)).
1c560 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
1c570 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d  2_IE >= 0x0300).
1c580 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1c590 56 69 65 77 5f 47 65 74 43 68 65 63 6b 53 74 61  View_GetCheckSta
1c5a0 74 65 28 68 77 6e 64 4c 56 2c 20 69 29 20 28 28  te(hwndLV, i) ((
1c5b0 28 28 55 49 4e 54 29 28 53 4e 44 4d 53 47 28 28  ((UINT)(SNDMSG((
1c5c0 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54  hwndLV), LVM_GET
1c5d0 49 54 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52  ITEMSTATE, (WPAR
1c5e0 41 4d 29 28 69 29 2c 20 4c 56 49 53 5f 53 54 41  AM)(i), LVIS_STA
1c5f0 54 45 49 4d 41 47 45 4d 41 53 4b 29 29 29 20 3e  TEIMAGEMASK))) >
1c600 3e 20 31 32 29 20 2d 31 29 0d 0a 2f 2f 20 23 65  > 12) -1)..// #e
1c610 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
1c620 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 54 45  int { LVM_GETITE
1c630 4d 54 45 58 54 41 20 3d 20 4c 56 4d 5f 46 49 52  MTEXTA = LVM_FIR
1c640 53 54 20 2b 20 34 35 20 7d 0d 0a 65 6e 75 6d 20  ST + 45 }..enum 
1c650 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
1c660 49 54 45 4d 54 45 58 54 57 20 3d 20 4c 56 4d 5f  ITEMTEXTW = LVM_
1c670 46 49 52 53 54 20 2b 20 31 31 35 20 7d 0d 0a 0d  FIRST + 115 }...
1c680 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1c690 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d 5f 47 45  DE..alias LVM_GE
1c6a0 54 49 54 45 4d 54 45 58 54 57 20 4c 56 4d 5f 47  TITEMTEXTW LVM_G
1c6b0 45 54 49 54 45 4d 54 45 58 54 3b 0d 0a 2f 2f 20  ETITEMTEXT;..// 
1c6c0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
1c6d0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
1c6e0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1c6f0 5f 47 65 74 49 74 65 6d 54 65 78 74 28 68 77 6e  _GetItemText(hwn
1c700 64 4c 56 2c 20 69 2c 20 69 53 75 62 49 74 65 6d  dLV, i, iSubItem
1c710 5f 2c 20 70 73 7a 54 65 78 74 5f 2c 20 63 63 68  _, pszText_, cch
1c720 54 65 78 74 4d 61 78 5f 29 20 7b 20 4c 56 5f 49  TextMax_) { LV_I
1c730 54 45 4d 20 5f 6d 73 5f 6c 76 69 3b 20 5f 6d 73  TEM _ms_lvi; _ms
1c740 5f 6c 76 69 2e 69 53 75 62 49 74 65 6d 20 3d 20  _lvi.iSubItem = 
1c750 69 53 75 62 49 74 65 6d 5f 3b 20 5f 6d 73 5f 6c  iSubItem_; _ms_l
1c760 76 69 2e 63 63 68 54 65 78 74 4d 61 78 20 3d 20  vi.cchTextMax = 
1c770 63 63 68 54 65 78 74 4d 61 78 5f 3b 20 5f 6d 73  cchTextMax_; _ms
1c780 5f 6c 76 69 2e 70 73 7a 54 65 78 74 20 3d 20 70  _lvi.pszText = p
1c790 73 7a 54 65 78 74 5f 3b 20 53 4e 44 4d 53 47 28  szText_; SNDMSG(
1c7a0 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45  (hwndLV), LVM_GE
1c7b0 54 49 54 45 4d 54 45 58 54 2c 20 28 57 50 41 52  TITEMTEXT, (WPAR
1c7c0 41 4d 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29  AM)(i), (LPARAM)
1c7d0 28 4c 56 5f 49 54 45 4d 20 2a 29 26 5f 6d 73 5f  (LV_ITEM *)&_ms_
1c7e0 6c 76 69 29 3b 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  lvi); }....enum 
1c7f0 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54  : uint { LVM_SET
1c800 49 54 45 4d 54 45 58 54 41 20 3d 20 4c 56 4d 5f  ITEMTEXTA = LVM_
1c810 46 49 52 53 54 20 2b 20 34 36 20 7d 0d 0a 65 6e  FIRST + 46 }..en
1c820 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1c830 53 45 54 49 54 45 4d 54 45 58 54 57 20 3d 20 4c  SETITEMTEXTW = L
1c840 56 4d 5f 46 49 52 53 54 20 2b 20 31 31 36 20 7d  VM_FIRST + 116 }
1c850 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
1c860 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d  ICODE..alias LVM
1c870 5f 53 45 54 49 54 45 4d 54 45 58 54 57 20 4c 56  _SETITEMTEXTW LV
1c880 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 3b 0d 0a  M_SETITEMTEXT;..
1c890 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
1c8a0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
1c8b0 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
1c8c0 69 65 77 5f 53 65 74 49 74 65 6d 54 65 78 74 28  iew_SetItemText(
1c8d0 68 77 6e 64 4c 56 2c 20 69 2c 20 69 53 75 62 49  hwndLV, i, iSubI
1c8e0 74 65 6d 5f 2c 20 70 73 7a 54 65 78 74 5f 29 20  tem_, pszText_) 
1c8f0 7b 20 4c 56 5f 49 54 45 4d 20 5f 6d 73 5f 6c 76  { LV_ITEM _ms_lv
1c900 69 3b 20 5f 6d 73 5f 6c 76 69 2e 69 53 75 62 49  i; _ms_lvi.iSubI
1c910 74 65 6d 20 3d 20 69 53 75 62 49 74 65 6d 5f 3b  tem = iSubItem_;
1c920 20 5f 6d 73 5f 6c 76 69 2e 70 73 7a 54 65 78 74   _ms_lvi.pszText
1c930 20 3d 20 70 73 7a 54 65 78 74 5f 3b 20 53 4e 44   = pszText_; SND
1c940 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56  MSG((hwndLV), LV
1c950 4d 5f 53 45 54 49 54 45 4d 54 45 58 54 2c 20 28  M_SETITEMTEXT, (
1c960 57 50 41 52 41 4d 29 28 69 29 2c 20 28 4c 50 41  WPARAM)(i), (LPA
1c970 52 41 4d 29 28 4c 56 5f 49 54 45 4d 20 2a 29 26  RAM)(LV_ITEM *)&
1c980 5f 6d 73 5f 6c 76 69 29 3b 20 7d 0d 0a 0d 0a 2f  _ms_lvi); }..../
1c990 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
1c9a0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 0d 0a 65   >= 0x0300)....e
1c9b0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53  num : uint { LVS
1c9c0 49 43 46 5f 4e 4f 49 4e 56 41 4c 49 44 41 54 45  ICF_NOINVALIDATE
1c9d0 41 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 31  ALL = 0x00000001
1c9e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1c9f0 7b 20 4c 56 53 49 43 46 5f 4e 4f 53 43 52 4f 4c  { LVSICF_NOSCROL
1ca00 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  L = 0x00000002 }
1ca10 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
1ca20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1ca30 5f 53 45 54 49 54 45 4d 43 4f 55 4e 54 20 3d 20  _SETITEMCOUNT = 
1ca40 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34 37 20 7d  LVM_FIRST + 47 }
1ca50 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1ca60 74 56 69 65 77 5f 53 65 74 49 74 65 6d 43 6f 75  tView_SetItemCou
1ca70 6e 74 28 68 77 6e 64 4c 56 2c 20 63 49 74 65 6d  nt(hwndLV, cItem
1ca80 73 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c  s) SNDMSG((hwndL
1ca90 56 29 2c 20 4c 56 4d 5f 53 45 54 49 54 45 4d 43  V), LVM_SETITEMC
1caa0 4f 55 4e 54 2c 20 28 57 50 41 52 41 4d 29 28 63  OUNT, (WPARAM)(c
1cab0 49 74 65 6d 73 29 2c 20 30 29 0d 0a 0d 0a 2f 2f  Items), 0)....//
1cac0 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
1cad0 3e 3d 20 30 78 30 33 30 30 29 0d 0a 2f 2f 20 23  >= 0x0300)..// #
1cae0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1caf0 53 65 74 49 74 65 6d 43 6f 75 6e 74 45 78 28 68  SetItemCountEx(h
1cb00 77 6e 64 4c 56 2c 20 63 49 74 65 6d 73 2c 20 64  wndLV, cItems, d
1cb10 77 46 6c 61 67 73 29 20 53 4e 44 4d 53 47 28 28  wFlags) SNDMSG((
1cb20 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54  hwndLV), LVM_SET
1cb30 49 54 45 4d 43 4f 55 4e 54 2c 20 28 57 50 41 52  ITEMCOUNT, (WPAR
1cb40 41 4d 29 28 63 49 74 65 6d 73 29 2c 20 28 4c 50  AM)(cItems), (LP
1cb50 41 52 41 4d 29 28 64 77 46 6c 61 67 73 29 29 0d  ARAM)(dwFlags)).
1cb60 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78  .// #endif....ex
1cb70 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c  tern(Windows) al
1cb80 69 61 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e  ias int function
1cb90 28 4c 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 2c  (LPARAM, LPARAM,
1cba0 20 4c 50 41 52 41 4d 29 20 50 46 4e 4c 56 43 4f   LPARAM) PFNLVCO
1cbb0 4d 50 41 52 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  MPARE;....enum :
1cbc0 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 4f 52 54   uint { LVM_SORT
1cbd0 49 54 45 4d 53 20 3d 20 4c 56 4d 5f 46 49 52 53  ITEMS = LVM_FIRS
1cbe0 54 20 2b 20 34 38 20 7d 0d 0a 2f 2f 20 23 64 65  T + 48 }..// #de
1cbf0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 6f  fine ListView_So
1cc00 72 74 49 74 65 6d 73 28 68 77 6e 64 4c 56 2c 20  rtItems(hwndLV, 
1cc10 5f 70 66 6e 43 6f 6d 70 61 72 65 2c 20 5f 6c 50  _pfnCompare, _lP
1cc20 72 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  rm) (BOOL)SNDMSG
1cc30 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53  ((hwndLV), LVM_S
1cc40 4f 52 54 49 54 45 4d 53 2c 20 28 57 50 41 52 41  ORTITEMS, (WPARA
1cc50 4d 29 28 4c 50 41 52 41 4d 29 28 5f 6c 50 72 6d  M)(LPARAM)(_lPrm
1cc60 29 2c 20 28 4c 50 41 52 41 4d 29 28 50 46 4e 4c  ), (LPARAM)(PFNL
1cc70 56 43 4f 4d 50 41 52 45 29 28 5f 70 66 6e 43 6f  VCOMPARE)(_pfnCo
1cc80 6d 70 61 72 65 29 29 0d 0a 0d 0a 65 6e 75 6d 20  mpare))....enum 
1cc90 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54  : uint { LVM_SET
1cca0 49 54 45 4d 50 4f 53 49 54 49 4f 4e 33 32 20 3d  ITEMPOSITION32 =
1ccb0 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 34 39 20   LVM_FIRST + 49 
1ccc0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1ccd0 73 74 56 69 65 77 5f 53 65 74 49 74 65 6d 50 6f  stView_SetItemPo
1cce0 73 69 74 69 6f 6e 33 32 28 68 77 6e 64 4c 56 2c  sition32(hwndLV,
1ccf0 20 69 2c 20 78 30 2c 20 79 30 29 20 7b 20 50 4f   i, x0, y0) { PO
1cd00 49 4e 54 20 70 74 4e 65 77 50 6f 73 3b 20 70 74  INT ptNewPos; pt
1cd10 4e 65 77 50 6f 73 2e 78 20 3d 20 78 30 3b 20 70  NewPos.x = x0; p
1cd20 74 4e 65 77 50 6f 73 2e 79 20 3d 20 79 30 3b 20  tNewPos.y = y0; 
1cd30 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c  SNDMSG((hwndLV),
1cd40 20 4c 56 4d 5f 53 45 54 49 54 45 4d 50 4f 53 49   LVM_SETITEMPOSI
1cd50 54 49 4f 4e 33 32 2c 20 28 57 50 41 52 41 4d 29  TION32, (WPARAM)
1cd60 28 69 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41  (int)(i), (LPARA
1cd70 4d 29 26 70 74 4e 65 77 50 6f 73 29 3b 20 7d 0d  M)&ptNewPos); }.
1cd80 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1cd90 20 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 45 44   LVM_GETSELECTED
1cda0 43 4f 55 4e 54 20 3d 20 4c 56 4d 5f 46 49 52 53  COUNT = LVM_FIRS
1cdb0 54 20 2b 20 35 30 20 7d 0d 0a 2f 2f 20 23 64 65  T + 50 }..// #de
1cdc0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
1cdd0 74 53 65 6c 65 63 74 65 64 43 6f 75 6e 74 28 68  tSelectedCount(h
1cde0 77 6e 64 4c 56 29 20 28 55 49 4e 54 29 53 4e 44  wndLV) (UINT)SND
1cdf0 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56  MSG((hwndLV), LV
1ce00 4d 5f 47 45 54 53 45 4c 45 43 54 45 44 43 4f 55  M_GETSELECTEDCOU
1ce10 4e 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e  NT, 0, 0L)....en
1ce20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1ce30 47 45 54 49 54 45 4d 53 50 41 43 49 4e 47 20 3d  GETITEMSPACING =
1ce40 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 31 20   LVM_FIRST + 51 
1ce50 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1ce60 73 74 56 69 65 77 5f 47 65 74 49 74 65 6d 53 70  stView_GetItemSp
1ce70 61 63 69 6e 67 28 68 77 6e 64 4c 56 2c 20 66 53  acing(hwndLV, fS
1ce80 6d 61 6c 6c 29 20 28 44 57 4f 52 44 29 53 4e 44  mall) (DWORD)SND
1ce90 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56  MSG((hwndLV), LV
1cea0 4d 5f 47 45 54 49 54 45 4d 53 50 41 43 49 4e 47  M_GETITEMSPACING
1ceb0 2c 20 66 53 6d 61 6c 6c 2c 20 30 4c 29 0d 0a 0d  , fSmall, 0L)...
1cec0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1ced0 56 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54 52  VM_GETISEARCHSTR
1cee0 49 4e 47 41 20 3d 20 4c 56 4d 5f 46 49 52 53 54  INGA = LVM_FIRST
1cef0 20 2b 20 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 52 }..enum : 
1cf00 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 49 53  uint { LVM_GETIS
1cf10 45 41 52 43 48 53 54 52 49 4e 47 57 20 3d 20 4c  EARCHSTRINGW = L
1cf20 56 4d 5f 46 49 52 53 54 20 2b 20 31 31 37 20 7d  VM_FIRST + 117 }
1cf30 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
1cf40 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4d  ICODE..alias LVM
1cf50 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e  _GETISEARCHSTRIN
1cf60 47 57 20 4c 56 4d 5f 47 45 54 49 53 45 41 52 43  GW LVM_GETISEARC
1cf70 48 53 54 52 49 4e 47 3b 0d 0a 2f 2f 20 23 65 6c  HSTRING;..// #el
1cf80 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
1cf90 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65  #endif....// #de
1cfa0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
1cfb0 74 49 53 65 61 72 63 68 53 74 72 69 6e 67 28 68  tISearchString(h
1cfc0 77 6e 64 4c 56 2c 20 6c 70 73 7a 29 20 28 42 4f  wndLV, lpsz) (BO
1cfd0 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c  OL)SNDMSG((hwndL
1cfe0 56 29 2c 20 4c 56 4d 5f 47 45 54 49 53 45 41 52  V), LVM_GETISEAR
1cff0 43 48 53 54 52 49 4e 47 2c 20 30 2c 20 28 4c 50  CHSTRING, 0, (LP
1d000 41 52 41 4d 29 28 4c 50 54 53 54 52 29 28 6c 70  ARAM)(LPTSTR)(lp
1d010 73 7a 29 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  sz))....// #if (
1d020 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
1d030 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  300)..enum : uin
1d040 74 20 7b 20 4c 56 4d 5f 53 45 54 49 43 4f 4e 53  t { LVM_SETICONS
1d050 50 41 43 49 4e 47 20 3d 20 4c 56 4d 5f 46 49 52  PACING = LVM_FIR
1d060 53 54 20 2b 20 35 33 20 7d 0d 0a 0d 0a 2f 2f 20  ST + 53 }....// 
1d070 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1d080 5f 53 65 74 49 63 6f 6e 53 70 61 63 69 6e 67 28  _SetIconSpacing(
1d090 68 77 6e 64 4c 56 2c 20 63 78 2c 20 63 79 29 20  hwndLV, cx, cy) 
1d0a0 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68  (DWORD)SNDMSG((h
1d0b0 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45 54 49  wndLV), LVM_SETI
1d0c0 43 4f 4e 53 50 41 43 49 4e 47 2c 20 30 2c 20 4d  CONSPACING, 0, M
1d0d0 41 4b 45 4c 4f 4e 47 28 63 78 2c 63 79 29 29 0d  AKELONG(cx,cy)).
1d0e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1d0f0 20 4c 56 4d 5f 53 45 54 45 58 54 45 4e 44 45 44   LVM_SETEXTENDED
1d100 4c 49 53 54 56 49 45 57 53 54 59 4c 45 20 3d 20  LISTVIEWSTYLE = 
1d110 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35 34 20 7d  LVM_FIRST + 54 }
1d120 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1d130 74 56 69 65 77 5f 53 65 74 45 78 74 65 6e 64 65  tView_SetExtende
1d140 64 4c 69 73 74 56 69 65 77 53 74 79 6c 65 28 68  dListViewStyle(h
1d150 77 6e 64 4c 56 2c 20 64 77 29 20 28 44 57 4f 52  wndLV, dw) (DWOR
1d160 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56  D)SNDMSG((hwndLV
1d170 29 2c 20 4c 56 4d 5f 53 45 54 45 58 54 45 4e 44  ), LVM_SETEXTEND
1d180 45 44 4c 49 53 54 56 49 45 57 53 54 59 4c 45 2c  EDLISTVIEWSTYLE,
1d190 20 30 2c 20 64 77 29 0d 0a 2f 2f 20 23 69 66 20   0, dw)..// #if 
1d1a0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
1d1b0 30 34 30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  0400)..// #defin
1d1c0 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 45 78  e ListView_SetEx
1d1d0 74 65 6e 64 65 64 4c 69 73 74 56 69 65 77 53 74  tendedListViewSt
1d1e0 79 6c 65 45 78 28 68 77 6e 64 4c 56 2c 20 64 77  yleEx(hwndLV, dw
1d1f0 4d 61 73 6b 2c 20 64 77 29 20 28 44 57 4f 52 44  Mask, dw) (DWORD
1d200 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29  )SNDMSG((hwndLV)
1d210 2c 20 4c 56 4d 5f 53 45 54 45 58 54 45 4e 44 45  , LVM_SETEXTENDE
1d220 44 4c 49 53 54 56 49 45 57 53 54 59 4c 45 2c 20  DLISTVIEWSTYLE, 
1d230 64 77 4d 61 73 6b 2c 20 64 77 29 0d 0a 2f 2f 20  dwMask, dw)..// 
1d240 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
1d250 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 45   uint { LVM_GETE
1d260 58 54 45 4e 44 45 44 4c 49 53 54 56 49 45 57 53  XTENDEDLISTVIEWS
1d270 54 59 4c 45 20 3d 20 4c 56 4d 5f 46 49 52 53 54  TYLE = LVM_FIRST
1d280 20 2b 20 35 35 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 55 }..// #def
1d290 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
1d2a0 45 78 74 65 6e 64 65 64 4c 69 73 74 56 69 65 77  ExtendedListView
1d2b0 53 74 79 6c 65 28 68 77 6e 64 4c 56 29 20 28 44  Style(hwndLV) (D
1d2c0 57 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e  WORD)SNDMSG((hwn
1d2d0 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54 45 58 54  dLV), LVM_GETEXT
1d2e0 45 4e 44 45 44 4c 49 53 54 56 49 45 57 53 54 59  ENDEDLISTVIEWSTY
1d2f0 4c 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75  LE, 0, 0)....enu
1d300 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45  m : uint { LVS_E
1d310 58 5f 47 52 49 44 4c 49 4e 45 53 20 3d 20 30 78  X_GRIDLINES = 0x
1d320 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
1d330 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58   : uint { LVS_EX
1d340 5f 53 55 42 49 54 45 4d 49 4d 41 47 45 53 20 3d  _SUBITEMIMAGES =
1d350 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
1d360 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53  num : uint { LVS
1d370 5f 45 58 5f 43 48 45 43 4b 42 4f 58 45 53 20 3d  _EX_CHECKBOXES =
1d380 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
1d390 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53  num : uint { LVS
1d3a0 5f 45 58 5f 54 52 41 43 4b 53 45 4c 45 43 54 20  _EX_TRACKSELECT 
1d3b0 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
1d3c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1d3d0 53 5f 45 58 5f 48 45 41 44 45 52 44 52 41 47 44  S_EX_HEADERDRAGD
1d3e0 52 4f 50 20 3d 20 30 78 30 30 30 30 30 30 31 30  ROP = 0x00000010
1d3f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d400 7b 20 4c 56 53 5f 45 58 5f 46 55 4c 4c 52 4f 57  { LVS_EX_FULLROW
1d410 53 45 4c 45 43 54 20 3d 20 30 78 30 30 30 30 30  SELECT = 0x00000
1d420 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
1d430 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 4f 4e 45 43  nt { LVS_EX_ONEC
1d440 4c 49 43 4b 41 43 54 49 56 41 54 45 20 3d 20 30  LICKACTIVATE = 0
1d450 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75  x00000040 }..enu
1d460 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45  m : uint { LVS_E
1d470 58 5f 54 57 4f 43 4c 49 43 4b 41 43 54 49 56 41  X_TWOCLICKACTIVA
1d480 54 45 20 3d 20 30 78 30 30 30 30 30 30 38 30 20  TE = 0x00000080 
1d490 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
1d4a0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
1d4b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1d4c0 56 53 5f 45 58 5f 46 4c 41 54 53 42 20 3d 20 30  VS_EX_FLATSB = 0
1d4d0 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75  x00000100 }..enu
1d4e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45  m : uint { LVS_E
1d4f0 58 5f 52 45 47 49 4f 4e 41 4c 20 3d 20 30 78 30  X_REGIONAL = 0x0
1d500 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
1d510 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f  : uint { LVS_EX_
1d520 49 4e 46 4f 54 49 50 20 3d 20 30 78 30 30 30 30  INFOTIP = 0x0000
1d530 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0400 }..enum : u
1d540 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 55 4e 44  int { LVS_EX_UND
1d550 45 52 4c 49 4e 45 48 4f 54 20 3d 20 30 78 30 30  ERLINEHOT = 0x00
1d560 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000800 }..enum :
1d570 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 55   uint { LVS_EX_U
1d580 4e 44 45 52 4c 49 4e 45 43 4f 4c 44 20 3d 20 30  NDERLINECOLD = 0
1d590 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75  x00001000 }..enu
1d5a0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45  m : uint { LVS_E
1d5b0 58 5f 4d 55 4c 54 49 57 4f 52 4b 41 52 45 41 53  X_MULTIWORKAREAS
1d5c0 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d   = 0x00002000 }.
1d5d0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
1d5e0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
1d5f0 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0500)..enum :
1d600 20 75 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 4c   uint { LVS_EX_L
1d610 41 42 45 4c 54 49 50 20 3d 20 30 78 30 30 30 30  ABELTIP = 0x0000
1d620 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4000 }..enum : u
1d630 69 6e 74 20 7b 20 4c 56 53 5f 45 58 5f 42 4f 52  int { LVS_EX_BOR
1d640 44 45 52 53 45 4c 45 43 54 20 3d 20 30 78 30 30  DERSELECT = 0x00
1d650 30 30 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e  008000 }..// #en
1d660 64 69 66 20 20 2f 2f 20 45 6e 64 20 28 5f 57 49  dif  // End (_WI
1d670 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30  N32_IE >= 0x0500
1d680 29 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  )..// #if (_WIN3
1d690 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31  2_WINNT >= 0x501
1d6a0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
1d6b0 20 4c 56 53 5f 45 58 5f 44 4f 55 42 4c 45 42 55   LVS_EX_DOUBLEBU
1d6c0 46 46 45 52 20 3d 20 30 78 30 30 30 31 30 30 30  FFER = 0x0001000
1d6d0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1d6e0 20 7b 20 4c 56 53 5f 45 58 5f 48 49 44 45 4c 41   { LVS_EX_HIDELA
1d6f0 42 45 4c 53 20 3d 20 30 78 30 30 30 32 30 30 30  BELS = 0x0002000
1d700 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1d710 20 7b 20 4c 56 53 5f 45 58 5f 53 49 4e 47 4c 45   { LVS_EX_SINGLE
1d720 52 4f 57 20 3d 20 30 78 30 30 30 34 30 30 30 30  ROW = 0x00040000
1d730 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d740 7b 20 4c 56 53 5f 45 58 5f 53 4e 41 50 54 4f 47  { LVS_EX_SNAPTOG
1d750 52 49 44 20 3d 20 30 78 30 30 30 38 30 30 30 30  RID = 0x00080000
1d760 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d770 7b 20 4c 56 53 5f 45 58 5f 53 49 4d 50 4c 45 53  { LVS_EX_SIMPLES
1d780 45 4c 45 43 54 20 3d 20 30 78 30 30 31 30 30 30  ELECT = 0x001000
1d790 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  00 }..// #endif.
1d7a0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1d7b0 20 4c 56 4d 5f 47 45 54 53 55 42 49 54 45 4d 52   LVM_GETSUBITEMR
1d7c0 45 43 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  ECT = LVM_FIRST 
1d7d0 2b 20 35 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 56 }..// #defi
1d7e0 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74 53  ne ListView_GetS
1d7f0 75 62 49 74 65 6d 52 65 63 74 28 68 77 6e 64 2c  ubItemRect(hwnd,
1d800 20 69 49 74 65 6d 2c 20 69 53 75 62 49 74 65 6d   iItem, iSubItem
1d810 2c 20 63 6f 64 65 2c 20 70 72 63 29 20 28 42 4f  , code, prc) (BO
1d820 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
1d830 2c 20 4c 56 4d 5f 47 45 54 53 55 42 49 54 45 4d  , LVM_GETSUBITEM
1d840 52 45 43 54 2c 20 28 57 50 41 52 41 4d 29 28 69  RECT, (WPARAM)(i
1d850 6e 74 29 28 69 49 74 65 6d 29 2c 20 28 28 70 72  nt)(iItem), ((pr
1d860 63 29 20 3f 20 28 28 28 28 4c 50 52 45 43 54 29  c) ? ((((LPRECT)
1d870 28 70 72 63 29 29 2d 3e 74 6f 70 20 3d 20 69 53  (prc))->top = iS
1d880 75 62 49 74 65 6d 29 2c 20 28 28 28 4c 50 52 45  ubItem), (((LPRE
1d890 43 54 29 28 70 72 63 29 29 2d 3e 6c 65 66 74 20  CT)(prc))->left 
1d8a0 3d 20 63 6f 64 65 29 2c 20 28 4c 50 41 52 41 4d  = code), (LPARAM
1d8b0 29 28 70 72 63 29 29 20 3a 20 28 4c 50 41 52 41  )(prc)) : (LPARA
1d8c0 4d 29 28 4c 50 52 45 43 54 29 4e 55 4c 4c 29 29  M)(LPRECT)NULL))
1d8d0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1d8e0 7b 20 4c 56 4d 5f 53 55 42 49 54 45 4d 48 49 54  { LVM_SUBITEMHIT
1d8f0 54 45 53 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54  TEST = LVM_FIRST
1d900 20 2b 20 35 37 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 57 }..// #def
1d910 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 75 62  ine ListView_Sub
1d920 49 74 65 6d 48 69 74 54 65 73 74 28 68 77 6e 64  ItemHitTest(hwnd
1d930 2c 20 70 6c 76 68 74 69 29 20 28 69 6e 74 29 53  , plvhti) (int)S
1d940 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
1d950 4d 5f 53 55 42 49 54 45 4d 48 49 54 54 45 53 54  M_SUBITEMHITTEST
1d960 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50  , 0, (LPARAM)(LP
1d970 4c 56 48 49 54 54 45 53 54 49 4e 46 4f 29 28 70  LVHITTESTINFO)(p
1d980 6c 76 68 74 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20  lvhti))....enum 
1d990 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54  : uint { LVM_SET
1d9a0 43 4f 4c 55 4d 4e 4f 52 44 45 52 41 52 52 41 59  COLUMNORDERARRAY
1d9b0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 35   = LVM_FIRST + 5
1d9c0 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  8 }..// #define 
1d9d0 4c 69 73 74 56 69 65 77 5f 53 65 74 43 6f 6c 75  ListView_SetColu
1d9e0 6d 6e 4f 72 64 65 72 41 72 72 61 79 28 68 77 6e  mnOrderArray(hwn
1d9f0 64 2c 20 69 43 6f 75 6e 74 2c 20 70 69 29 20 28  d, iCount, pi) (
1da00 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
1da10 64 29 2c 20 4c 56 4d 5f 53 45 54 43 4f 4c 55 4d  d), LVM_SETCOLUM
1da20 4e 4f 52 44 45 52 41 52 52 41 59 2c 20 28 57 50  NORDERARRAY, (WP
1da30 41 52 41 4d 29 28 69 43 6f 75 6e 74 29 2c 20 28  ARAM)(iCount), (
1da40 4c 50 41 52 41 4d 29 28 4c 50 49 4e 54 29 28 70  LPARAM)(LPINT)(p
1da50 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  i))....enum : ui
1da60 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 43 4f 4c 55  nt { LVM_GETCOLU
1da70 4d 4e 4f 52 44 45 52 41 52 52 41 59 20 3d 20 4c  MNORDERARRAY = L
1da80 56 4d 5f 46 49 52 53 54 20 2b 20 35 39 20 7d 0d  VM_FIRST + 59 }.
1da90 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
1daa0 56 69 65 77 5f 47 65 74 43 6f 6c 75 6d 6e 4f 72  View_GetColumnOr
1dab0 64 65 72 41 72 72 61 79 28 68 77 6e 64 2c 20 69  derArray(hwnd, i
1dac0 43 6f 75 6e 74 2c 20 70 69 29 20 28 42 4f 4f 4c  Count, pi) (BOOL
1dad0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1dae0 4c 56 4d 5f 47 45 54 43 4f 4c 55 4d 4e 4f 52 44  LVM_GETCOLUMNORD
1daf0 45 52 41 52 52 41 59 2c 20 28 57 50 41 52 41 4d  ERARRAY, (WPARAM
1db00 29 28 69 43 6f 75 6e 74 29 2c 20 28 4c 50 41 52  )(iCount), (LPAR
1db10 41 4d 29 28 4c 50 49 4e 54 29 28 70 69 29 29 0d  AM)(LPINT)(pi)).
1db20 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1db30 20 4c 56 4d 5f 53 45 54 48 4f 54 49 54 45 4d 20   LVM_SETHOTITEM 
1db40 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 30  = LVM_FIRST + 60
1db50 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
1db60 69 73 74 56 69 65 77 5f 53 65 74 48 6f 74 49 74  istView_SetHotIt
1db70 65 6d 28 68 77 6e 64 2c 20 69 29 20 28 69 6e 74  em(hwnd, i) (int
1db80 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1db90 4c 56 4d 5f 53 45 54 48 4f 54 49 54 45 4d 2c 20  LVM_SETHOTITEM, 
1dba0 28 57 50 41 52 41 4d 29 28 69 29 2c 20 30 29 0d  (WPARAM)(i), 0).
1dbb0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1dbc0 20 4c 56 4d 5f 47 45 54 48 4f 54 49 54 45 4d 20   LVM_GETHOTITEM 
1dbd0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 31  = LVM_FIRST + 61
1dbe0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
1dbf0 69 73 74 56 69 65 77 5f 47 65 74 48 6f 74 49 74  istView_GetHotIt
1dc00 65 6d 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e  em(hwnd) (int)SN
1dc10 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d  DMSG((hwnd), LVM
1dc20 5f 47 45 54 48 4f 54 49 54 45 4d 2c 20 30 2c 20  _GETHOTITEM, 0, 
1dc30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
1dc40 74 20 7b 20 4c 56 4d 5f 53 45 54 48 4f 54 43 55  t { LVM_SETHOTCU
1dc50 52 53 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54  RSOR = LVM_FIRST
1dc60 20 2b 20 36 32 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 62 }..// #def
1dc70 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74  ine ListView_Set
1dc80 48 6f 74 43 75 72 73 6f 72 28 68 77 6e 64 2c 20  HotCursor(hwnd, 
1dc90 68 63 75 72 29 20 28 48 43 55 52 53 4f 52 29 53  hcur) (HCURSOR)S
1dca0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
1dcb0 4d 5f 53 45 54 48 4f 54 43 55 52 53 4f 52 2c 20  M_SETHOTCURSOR, 
1dcc0 30 2c 20 28 4c 50 41 52 41 4d 29 28 68 63 75 72  0, (LPARAM)(hcur
1dcd0 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
1dce0 74 20 7b 20 4c 56 4d 5f 47 45 54 48 4f 54 43 55  t { LVM_GETHOTCU
1dcf0 52 53 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54  RSOR = LVM_FIRST
1dd00 20 2b 20 36 33 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 63 }..// #def
1dd10 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
1dd20 48 6f 74 43 75 72 73 6f 72 28 68 77 6e 64 29 20  HotCursor(hwnd) 
1dd30 28 48 43 55 52 53 4f 52 29 53 4e 44 4d 53 47 28  (HCURSOR)SNDMSG(
1dd40 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 48  (hwnd), LVM_GETH
1dd50 4f 54 43 55 52 53 4f 52 2c 20 30 2c 20 30 29 0d  OTCURSOR, 0, 0).
1dd60 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1dd70 20 4c 56 4d 5f 41 50 50 52 4f 58 49 4d 41 54 45   LVM_APPROXIMATE
1dd80 56 49 45 57 52 45 43 54 20 3d 20 4c 56 4d 5f 46  VIEWRECT = LVM_F
1dd90 49 52 53 54 20 2b 20 36 34 20 7d 0d 0a 2f 2f 20  IRST + 64 }..// 
1dda0 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1ddb0 5f 41 70 70 72 6f 78 69 6d 61 74 65 56 69 65 77  _ApproximateView
1ddc0 52 65 63 74 28 68 77 6e 64 2c 20 69 57 69 64 74  Rect(hwnd, iWidt
1ddd0 68 2c 20 69 48 65 69 67 68 74 2c 20 69 43 6f 75  h, iHeight, iCou
1dde0 6e 74 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53  nt) (DWORD)SNDMS
1ddf0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 41 50  G((hwnd), LVM_AP
1de00 50 52 4f 58 49 4d 41 54 45 56 49 45 57 52 45 43  PROXIMATEVIEWREC
1de10 54 2c 20 69 43 6f 75 6e 74 2c 20 4d 41 4b 45 4c  T, iCount, MAKEL
1de20 50 41 52 41 4d 28 69 57 69 64 74 68 2c 20 69 48  PARAM(iWidth, iH
1de30 65 69 67 68 74 29 29 0d 0a 2f 2f 20 23 65 6e 64  eight))..// #end
1de40 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33  if      // _WIN3
1de50 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a  2_IE >= 0x0300..
1de60 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
1de70 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
1de80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1de90 4c 56 5f 4d 41 58 5f 57 4f 52 4b 41 52 45 41 53  LV_MAX_WORKAREAS
1dea0 20 3d 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 16 }..enum : 
1deb0 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 57 4f  uint { LVM_SETWO
1dec0 52 4b 41 52 45 41 53 20 3d 20 4c 56 4d 5f 46 49  RKAREAS = LVM_FI
1ded0 52 53 54 20 2b 20 36 35 20 7d 0d 0a 2f 2f 20 23  RST + 65 }..// #
1dee0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1def0 53 65 74 57 6f 72 6b 41 72 65 61 73 28 68 77 6e  SetWorkAreas(hwn
1df00 64 2c 20 6e 57 6f 72 6b 41 72 65 61 73 2c 20 70  d, nWorkAreas, p
1df10 72 63 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  rc) (BOOL)SNDMSG
1df20 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54  ((hwnd), LVM_SET
1df30 57 4f 52 4b 41 52 45 41 53 2c 20 28 57 50 41 52  WORKAREAS, (WPAR
1df40 41 4d 29 28 69 6e 74 29 28 6e 57 6f 72 6b 41 72  AM)(int)(nWorkAr
1df50 65 61 73 29 2c 20 28 4c 50 41 52 41 4d 29 28 52  eas), (LPARAM)(R
1df60 45 43 54 20 2a 29 28 70 72 63 29 29 0d 0a 0d 0a  ECT *)(prc))....
1df70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1df80 4d 5f 47 45 54 57 4f 52 4b 41 52 45 41 53 20 3d  M_GETWORKAREAS =
1df90 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 30 20   LVM_FIRST + 70 
1dfa0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1dfb0 73 74 56 69 65 77 5f 47 65 74 57 6f 72 6b 41 72  stView_GetWorkAr
1dfc0 65 61 73 28 68 77 6e 64 2c 20 6e 57 6f 72 6b 41  eas(hwnd, nWorkA
1dfd0 72 65 61 73 2c 20 70 72 63 29 20 28 42 4f 4f 4c  reas, prc) (BOOL
1dfe0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1dff0 4c 56 4d 5f 47 45 54 57 4f 52 4b 41 52 45 41 53  LVM_GETWORKAREAS
1e000 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28  , (WPARAM)(int)(
1e010 6e 57 6f 72 6b 41 72 65 61 73 29 2c 20 28 4c 50  nWorkAreas), (LP
1e020 41 52 41 4d 29 28 52 45 43 54 20 2a 29 28 70 72  ARAM)(RECT *)(pr
1e030 63 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  c))....enum : ui
1e040 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 4e 55 4d 42  nt { LVM_GETNUMB
1e050 45 52 4f 46 57 4f 52 4b 41 52 45 41 53 20 3d 20  EROFWORKAREAS = 
1e060 4c 56 4d 5f 46 49 52 53 54 20 2b 20 37 33 20 7d  LVM_FIRST + 73 }
1e070 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1e080 74 56 69 65 77 5f 47 65 74 4e 75 6d 62 65 72 4f  tView_GetNumberO
1e090 66 57 6f 72 6b 41 72 65 61 73 28 68 77 6e 64 2c  fWorkAreas(hwnd,
1e0a0 20 70 6e 57 6f 72 6b 41 72 65 61 73 29 20 28 42   pnWorkAreas) (B
1e0b0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
1e0c0 29 2c 20 4c 56 4d 5f 47 45 54 4e 55 4d 42 45 52  ), LVM_GETNUMBER
1e0d0 4f 46 57 4f 52 4b 41 52 45 41 53 2c 20 30 2c 20  OFWORKAREAS, 0, 
1e0e0 28 4c 50 41 52 41 4d 29 28 55 49 4e 54 20 2a 29  (LPARAM)(UINT *)
1e0f0 28 70 6e 57 6f 72 6b 41 72 65 61 73 29 29 0d 0a  (pnWorkAreas))..
1e100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1e110 4c 56 4d 5f 47 45 54 53 45 4c 45 43 54 49 4f 4e  LVM_GETSELECTION
1e120 4d 41 52 4b 20 3d 20 4c 56 4d 5f 46 49 52 53 54  MARK = LVM_FIRST
1e130 20 2b 20 36 36 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 66 }..// #def
1e140 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65 74  ine ListView_Get
1e150 53 65 6c 65 63 74 69 6f 6e 4d 61 72 6b 28 68 77  SelectionMark(hw
1e160 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  nd) (int)SNDMSG(
1e170 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 53  (hwnd), LVM_GETS
1e180 45 4c 45 43 54 49 4f 4e 4d 41 52 4b 2c 20 30 2c  ELECTIONMARK, 0,
1e190 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69   0)....enum : ui
1e1a0 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 53 45 4c 45  nt { LVM_SETSELE
1e1b0 43 54 49 4f 4e 4d 41 52 4b 20 3d 20 4c 56 4d 5f  CTIONMARK = LVM_
1e1c0 46 49 52 53 54 20 2b 20 36 37 20 7d 0d 0a 2f 2f  FIRST + 67 }..//
1e1d0 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
1e1e0 77 5f 53 65 74 53 65 6c 65 63 74 69 6f 6e 4d 61  w_SetSelectionMa
1e1f0 72 6b 28 68 77 6e 64 2c 20 69 29 20 28 69 6e 74  rk(hwnd, i) (int
1e200 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
1e210 4c 56 4d 5f 53 45 54 53 45 4c 45 43 54 49 4f 4e  LVM_SETSELECTION
1e220 4d 41 52 4b 2c 20 30 2c 20 28 4c 50 41 52 41 4d  MARK, 0, (LPARAM
1e230 29 28 69 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  )(i))....enum : 
1e240 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 48 4f  uint { LVM_SETHO
1e250 56 45 52 54 49 4d 45 20 3d 20 4c 56 4d 5f 46 49  VERTIME = LVM_FI
1e260 52 53 54 20 2b 20 37 31 20 7d 0d 0a 2f 2f 20 23  RST + 71 }..// #
1e270 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1e280 53 65 74 48 6f 76 65 72 54 69 6d 65 28 68 77 6e  SetHoverTime(hwn
1e290 64 4c 56 2c 20 64 77 48 6f 76 65 72 54 69 6d 65  dLV, dwHoverTime
1e2a0 4d 73 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53  Ms) (DWORD)SNDMS
1e2b0 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f  G((hwndLV), LVM_
1e2c0 53 45 54 48 4f 56 45 52 54 49 4d 45 2c 20 30 2c  SETHOVERTIME, 0,
1e2d0 20 28 4c 50 41 52 41 4d 29 28 64 77 48 6f 76 65   (LPARAM)(dwHove
1e2e0 72 54 69 6d 65 4d 73 29 29 0d 0a 0d 0a 65 6e 75  rTimeMs))....enu
1e2f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47  m : uint { LVM_G
1e300 45 54 48 4f 56 45 52 54 49 4d 45 20 3d 20 4c 56  ETHOVERTIME = LV
1e310 4d 5f 46 49 52 53 54 20 2b 20 37 32 20 7d 0d 0a  M_FIRST + 72 }..
1e320 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
1e330 69 65 77 5f 47 65 74 48 6f 76 65 72 54 69 6d 65  iew_GetHoverTime
1e340 28 68 77 6e 64 4c 56 29 20 28 44 57 4f 52 44 29  (hwndLV) (DWORD)
1e350 53 4e 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c  SNDMSG((hwndLV),
1e360 20 4c 56 4d 5f 47 45 54 48 4f 56 45 52 54 49 4d   LVM_GETHOVERTIM
1e370 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d  E, 0, 0)....enum
1e380 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45   : uint { LVM_SE
1e390 54 54 4f 4f 4c 54 49 50 53 20 3d 20 4c 56 4d 5f  TTOOLTIPS = LVM_
1e3a0 46 49 52 53 54 20 2b 20 37 34 20 7d 0d 0a 2f 2f  FIRST + 74 }..//
1e3b0 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
1e3c0 77 5f 53 65 74 54 6f 6f 6c 54 69 70 73 28 68 77  w_SetToolTips(hw
1e3d0 6e 64 4c 56 2c 20 68 77 6e 64 4e 65 77 48 77 6e  ndLV, hwndNewHwn
1e3e0 64 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28  d) (HWND)SNDMSG(
1e3f0 28 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 45  (hwndLV), LVM_SE
1e400 54 54 4f 4f 4c 54 49 50 53 2c 20 28 57 50 41 52  TTOOLTIPS, (WPAR
1e410 41 4d 29 28 68 77 6e 64 4e 65 77 48 77 6e 64 29  AM)(hwndNewHwnd)
1e420 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  , 0)....enum : u
1e430 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 54 4f 4f  int { LVM_GETTOO
1e440 4c 54 49 50 53 20 3d 20 4c 56 4d 5f 46 49 52 53  LTIPS = LVM_FIRS
1e450 54 20 2b 20 37 38 20 7d 0d 0a 2f 2f 20 23 64 65  T + 78 }..// #de
1e460 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
1e470 74 54 6f 6f 6c 54 69 70 73 28 68 77 6e 64 4c 56  tToolTips(hwndLV
1e480 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47 28 28  ) (HWND)SNDMSG((
1e490 68 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 47 45 54  hwndLV), LVM_GET
1e4a0 54 4f 4f 4c 54 49 50 53 2c 20 30 2c 20 30 29 0d  TOOLTIPS, 0, 0).
1e4b0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1e4c0 20 4c 56 4d 5f 53 4f 52 54 49 54 45 4d 53 45 58   LVM_SORTITEMSEX
1e4d0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 38   = LVM_FIRST + 8
1e4e0 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  1 }..// #define 
1e4f0 4c 69 73 74 56 69 65 77 5f 53 6f 72 74 49 74 65  ListView_SortIte
1e500 6d 73 45 78 28 68 77 6e 64 4c 56 2c 20 5f 70 66  msEx(hwndLV, _pf
1e510 6e 43 6f 6d 70 61 72 65 2c 20 5f 6c 50 72 6d 29  nCompare, _lPrm)
1e520 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
1e530 77 6e 64 4c 56 29 2c 20 4c 56 4d 5f 53 4f 52 54  wndLV), LVM_SORT
1e540 49 54 45 4d 53 45 58 2c 20 28 57 50 41 52 41 4d  ITEMSEX, (WPARAM
1e550 29 28 4c 50 41 52 41 4d 29 28 5f 6c 50 72 6d 29  )(LPARAM)(_lPrm)
1e560 2c 20 28 4c 50 41 52 41 4d 29 28 50 46 4e 4c 56  , (LPARAM)(PFNLV
1e570 43 4f 4d 50 41 52 45 29 28 5f 70 66 6e 43 6f 6d  COMPARE)(_pfnCom
1e580 70 61 72 65 29 29 0d 0a 0d 0a 73 74 72 75 63 74  pare))....struct
1e590 20 74 61 67 4c 56 42 4b 49 4d 41 47 45 41 20 7b   tagLVBKIMAGEA {
1e5a0 0d 0a 20 20 55 4c 4f 4e 47 20 75 6c 46 6c 61 67  ..  ULONG ulFlag
1e5b0 73 3b 0d 0a 20 20 48 42 49 54 4d 41 50 20 68 62  s;..  HBITMAP hb
1e5c0 6d 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 49  m;..  LPSTR pszI
1e5d0 6d 61 67 65 3b 0d 0a 20 20 55 49 4e 54 20 63 63  mage;..  UINT cc
1e5e0 68 49 6d 61 67 65 4d 61 78 3b 0d 0a 20 20 69 6e  hImageMax;..  in
1e5f0 74 20 78 4f 66 66 73 65 74 50 65 72 63 65 6e 74  t xOffsetPercent
1e600 3b 0d 0a 20 20 69 6e 74 20 79 4f 66 66 73 65 74  ;..  int yOffset
1e610 50 65 72 63 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69  Percent;..}..ali
1e620 61 73 20 74 61 67 4c 56 42 4b 49 4d 41 47 45 41  as tagLVBKIMAGEA
1e630 20 4c 56 42 4b 49 4d 41 47 45 41 3b 0d 0a 61 6c   LVBKIMAGEA;..al
1e640 69 61 73 20 74 61 67 4c 56 42 4b 49 4d 41 47 45  ias tagLVBKIMAGE
1e650 41 2a 20 4c 50 4c 56 42 4b 49 4d 41 47 45 41 3b  A* LPLVBKIMAGEA;
1e660 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56  ....struct tagLV
1e670 42 4b 49 4d 41 47 45 57 20 7b 0d 0a 20 20 55 4c  BKIMAGEW {..  UL
1e680 4f 4e 47 20 75 6c 46 6c 61 67 73 3b 0d 0a 20 20  ONG ulFlags;..  
1e690 48 42 49 54 4d 41 50 20 68 62 6d 3b 0d 0a 20 20  HBITMAP hbm;..  
1e6a0 4c 50 57 53 54 52 20 70 73 7a 49 6d 61 67 65 3b  LPWSTR pszImage;
1e6b0 0d 0a 20 20 55 49 4e 54 20 63 63 68 49 6d 61 67  ..  UINT cchImag
1e6c0 65 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 78 4f 66  eMax;..  int xOf
1e6d0 66 73 65 74 50 65 72 63 65 6e 74 3b 0d 0a 20 20  fsetPercent;..  
1e6e0 69 6e 74 20 79 4f 66 66 73 65 74 50 65 72 63 65  int yOffsetPerce
1e6f0 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  nt;..}..alias ta
1e700 67 4c 56 42 4b 49 4d 41 47 45 57 20 4c 56 42 4b  gLVBKIMAGEW LVBK
1e710 49 4d 41 47 45 57 3b 0d 0a 61 6c 69 61 73 20 74  IMAGEW;..alias t
1e720 61 67 4c 56 42 4b 49 4d 41 47 45 57 2a 20 4c 50  agLVBKIMAGEW* LP
1e730 4c 56 42 4b 49 4d 41 47 45 57 3b 0d 0a 0d 0a 65  LVBKIMAGEW;....e
1e740 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 42  num : uint { LVB
1e750 4b 49 46 5f 53 4f 55 52 43 45 5f 4e 4f 4e 45 20  KIF_SOURCE_NONE 
1e760 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
1e770 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
1e780 42 4b 49 46 5f 53 4f 55 52 43 45 5f 48 42 49 54  BKIF_SOURCE_HBIT
1e790 4d 41 50 20 3d 20 30 78 30 30 30 30 30 30 30 31  MAP = 0x00000001
1e7a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1e7b0 7b 20 4c 56 42 4b 49 46 5f 53 4f 55 52 43 45 5f  { LVBKIF_SOURCE_
1e7c0 55 52 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32  URL = 0x00000002
1e7d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1e7e0 7b 20 4c 56 42 4b 49 46 5f 53 4f 55 52 43 45 5f  { LVBKIF_SOURCE_
1e7f0 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30 30  MASK = 0x0000000
1e800 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
1e810 20 7b 20 4c 56 42 4b 49 46 5f 53 54 59 4c 45 5f   { LVBKIF_STYLE_
1e820 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30  NORMAL = 0x00000
1e830 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1e840 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 53 54 59 4c  nt { LVBKIF_STYL
1e850 45 5f 54 49 4c 45 20 3d 20 30 78 30 30 30 30 30  E_TILE = 0x00000
1e860 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
1e870 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 53 54 59 4c  nt { LVBKIF_STYL
1e880 45 5f 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30  E_MASK = 0x00000
1e890 30 31 30 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f  010 }..// #if (_
1e8a0 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30  WIN32_WINNT >= 0
1e8b0 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  x501)..enum : ui
1e8c0 6e 74 20 7b 20 4c 56 42 4b 49 46 5f 46 4c 41 47  nt { LVBKIF_FLAG
1e8d0 5f 54 49 4c 45 4f 46 46 53 45 54 20 3d 20 30 78  _TILEOFFSET = 0x
1e8e0 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d  00000100 }..enum
1e8f0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 42 4b 49 46   : uint { LVBKIF
1e900 5f 54 59 50 45 5f 57 41 54 45 52 4d 41 52 4b 20  _TYPE_WATERMARK 
1e910 3d 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x10000000 }..
1e920 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
1e930 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53  m : uint { LVM_S
1e940 45 54 42 4b 49 4d 41 47 45 41 20 3d 20 4c 56 4d  ETBKIMAGEA = LVM
1e950 5f 46 49 52 53 54 20 2b 20 36 38 20 7d 0d 0a 65  _FIRST + 68 }..e
1e960 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1e970 5f 53 45 54 42 4b 49 4d 41 47 45 57 20 3d 20 4c  _SETBKIMAGEW = L
1e980 56 4d 5f 46 49 52 53 54 20 2b 20 31 33 38 20 7d  VM_FIRST + 138 }
1e990 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1e9a0 4c 56 4d 5f 47 45 54 42 4b 49 4d 41 47 45 41 20  LVM_GETBKIMAGEA 
1e9b0 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 36 39  = LVM_FIRST + 69
1e9c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1e9d0 7b 20 4c 56 4d 5f 47 45 54 42 4b 49 4d 41 47 45  { LVM_GETBKIMAGE
1e9e0 57 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  W = LVM_FIRST + 
1e9f0 31 33 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  139 }....// #if 
1ea00 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d  (_WIN32_WINNT >=
1ea10 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20   0x501)..enum : 
1ea20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 53 45  uint { LVM_SETSE
1ea30 4c 45 43 54 45 44 43 4f 4c 55 4d 4e 20 3d 20 4c  LECTEDCOLUMN = L
1ea40 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 30 20 7d  VM_FIRST + 140 }
1ea50 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1ea60 74 56 69 65 77 5f 53 65 74 53 65 6c 65 63 74 65  tView_SetSelecte
1ea70 64 43 6f 6c 75 6d 6e 28 68 77 6e 64 2c 20 69 43  dColumn(hwnd, iC
1ea80 6f 6c 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64  ol) SNDMSG((hwnd
1ea90 29 2c 20 4c 56 4d 5f 53 45 54 53 45 4c 45 43 54  ), LVM_SETSELECT
1eaa0 45 44 43 4f 4c 55 4d 4e 2c 20 28 57 50 41 52 41  EDCOLUMN, (WPARA
1eab0 4d 29 69 43 6f 6c 2c 20 30 29 0d 0a 0d 0a 65 6e  M)iCol, 0)....en
1eac0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f  um : uint { LVM_
1ead0 53 45 54 54 49 4c 45 57 49 44 54 48 20 3d 20 4c  SETTILEWIDTH = L
1eae0 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 31 20 7d  VM_FIRST + 141 }
1eaf0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1eb00 74 56 69 65 77 5f 53 65 74 54 69 6c 65 57 69 64  tView_SetTileWid
1eb10 74 68 28 68 77 6e 64 2c 20 63 70 57 69 64 74 68  th(hwnd, cpWidth
1eb20 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  ) SNDMSG((hwnd),
1eb30 20 4c 56 4d 5f 53 45 54 54 49 4c 45 57 49 44 54   LVM_SETTILEWIDT
1eb40 48 2c 20 28 57 50 41 52 41 4d 29 63 70 57 69 64  H, (WPARAM)cpWid
1eb50 74 68 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  th, 0)....enum :
1eb60 20 75 69 6e 74 20 7b 20 4c 56 5f 56 49 45 57 5f   uint { LV_VIEW_
1eb70 49 43 4f 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d  ICON = 0x0000 }.
1eb80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1eb90 56 5f 56 49 45 57 5f 44 45 54 41 49 4c 53 20 3d  V_VIEW_DETAILS =
1eba0 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
1ebb0 3a 20 75 69 6e 74 20 7b 20 4c 56 5f 56 49 45 57  : uint { LV_VIEW
1ebc0 5f 53 4d 41 4c 4c 49 43 4f 4e 20 3d 20 30 78 30  _SMALLICON = 0x0
1ebd0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
1ebe0 6e 74 20 7b 20 4c 56 5f 56 49 45 57 5f 4c 49 53  nt { LV_VIEW_LIS
1ebf0 54 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e  T = 0x0003 }..en
1ec00 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 5f 56  um : uint { LV_V
1ec10 49 45 57 5f 54 49 4c 45 20 3d 20 30 78 30 30 30  IEW_TILE = 0x000
1ec20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
1ec30 20 7b 20 4c 56 5f 56 49 45 57 5f 4d 41 58 20 3d   { LV_VIEW_MAX =
1ec40 20 30 78 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75   0x0004 }....enu
1ec50 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53  m : uint { LVM_S
1ec60 45 54 56 49 45 57 20 3d 20 4c 56 4d 5f 46 49 52  ETVIEW = LVM_FIR
1ec70 53 54 20 2b 20 31 34 32 20 7d 0d 0a 2f 2f 20 23  ST + 142 }..// #
1ec80 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1ec90 53 65 74 56 69 65 77 28 68 77 6e 64 2c 20 69 56  SetView(hwnd, iV
1eca0 69 65 77 29 20 28 44 57 4f 52 44 29 53 4e 44 4d  iew) (DWORD)SNDM
1ecb0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53  SG((hwnd), LVM_S
1ecc0 45 54 56 49 45 57 2c 20 28 57 50 41 52 41 4d 29  ETVIEW, (WPARAM)
1ecd0 28 44 57 4f 52 44 29 69 56 69 65 77 2c 20 30 29  (DWORD)iView, 0)
1ece0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1ecf0 7b 20 4c 56 4d 5f 47 45 54 56 49 45 57 20 3d 20  { LVM_GETVIEW = 
1ed00 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 34 33 20  LVM_FIRST + 143 
1ed10 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1ed20 73 74 56 69 65 77 5f 47 65 74 56 69 65 77 28 68  stView_GetView(h
1ed30 77 6e 64 29 20 28 44 57 4f 52 44 29 53 4e 44 4d  wnd) (DWORD)SNDM
1ed40 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
1ed50 45 54 56 49 45 57 2c 20 30 2c 20 30 29 0d 0a 0d  ETVIEW, 0, 0)...
1ed60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1ed70 56 47 46 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30  VGF_NONE = 0x000
1ed80 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
1ed90 75 69 6e 74 20 7b 20 4c 56 47 46 5f 48 45 41 44  uint { LVGF_HEAD
1eda0 45 52 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ER = 0x00000001 
1edb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1edc0 20 4c 56 47 46 5f 46 4f 4f 54 45 52 20 3d 20 30   LVGF_FOOTER = 0
1edd0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
1ede0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 46 5f  m : uint { LVGF_
1edf0 53 54 41 54 45 20 3d 20 30 78 30 30 30 30 30 30  STATE = 0x000000
1ee00 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
1ee10 74 20 7b 20 4c 56 47 46 5f 41 4c 49 47 4e 20 3d  t { LVGF_ALIGN =
1ee20 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65   0x00000008 }..e
1ee30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47  num : uint { LVG
1ee40 46 5f 47 52 4f 55 50 49 44 20 3d 20 30 78 30 30  F_GROUPID = 0x00
1ee50 30 30 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000010 }....enum
1ee60 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 53 5f 4e   : uint { LVGS_N
1ee70 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 30 30  ORMAL = 0x000000
1ee80 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1ee90 74 20 7b 20 4c 56 47 53 5f 43 4f 4c 4c 41 50 53  t { LVGS_COLLAPS
1eea0 45 44 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  ED = 0x00000001 
1eeb0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1eec0 20 4c 56 47 53 5f 48 49 44 44 45 4e 20 3d 20 30   LVGS_HIDDEN = 0
1eed0 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65  x00000002 }....e
1eee0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47  num : uint { LVG
1eef0 41 5f 48 45 41 44 45 52 5f 4c 45 46 54 20 3d 20  A_HEADER_LEFT = 
1ef00 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
1ef10 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 41  um : uint { LVGA
1ef20 5f 48 45 41 44 45 52 5f 43 45 4e 54 45 52 20 3d  _HEADER_CENTER =
1ef30 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
1ef40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47  num : uint { LVG
1ef50 41 5f 48 45 41 44 45 52 5f 52 49 47 48 54 20 3d  A_HEADER_RIGHT =
1ef60 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
1ef70 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47  num : uint { LVG
1ef80 41 5f 46 4f 4f 54 45 52 5f 4c 45 46 54 20 3d 20  A_FOOTER_LEFT = 
1ef90 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
1efa0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 41  um : uint { LVGA
1efb0 5f 46 4f 4f 54 45 52 5f 43 45 4e 54 45 52 20 3d  _FOOTER_CENTER =
1efc0 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65   0x00000010 }..e
1efd0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47  num : uint { LVG
1efe0 41 5f 46 4f 4f 54 45 52 5f 52 49 47 48 54 20 3d  A_FOOTER_RIGHT =
1eff0 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 0d   0x00000020 }...
1f000 0a 73 74 72 75 63 74 20 74 61 67 4c 56 47 52 4f  .struct tagLVGRO
1f010 55 50 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53  UP {..  UINT cbS
1f020 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 6d 61 73  ize;..  UINT mas
1f030 6b 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a  k;..  LPWSTR psz
1f040 48 65 61 64 65 72 3b 0d 0a 20 20 69 6e 74 20 63  Header;..  int c
1f050 63 68 48 65 61 64 65 72 3b 0d 0a 20 20 4c 50 57  chHeader;..  LPW
1f060 53 54 52 20 70 73 7a 46 6f 6f 74 65 72 3b 0d 0a  STR pszFooter;..
1f070 20 20 69 6e 74 20 63 63 68 46 6f 6f 74 65 72 3b    int cchFooter;
1f080 0d 0a 20 20 69 6e 74 20 69 47 72 6f 75 70 49 64  ..  int iGroupId
1f090 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61 74 65 4d  ;..  UINT stateM
1f0a0 61 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61  ask;..  UINT sta
1f0b0 74 65 3b 0d 0a 20 20 55 49 4e 54 20 75 41 6c 69  te;..  UINT uAli
1f0c0 67 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  gn;..}..alias ta
1f0d0 67 4c 56 47 52 4f 55 50 20 4c 56 47 52 4f 55 50  gLVGROUP LVGROUP
1f0e0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 47 52  ;..alias tagLVGR
1f0f0 4f 55 50 2a 20 50 4c 56 47 52 4f 55 50 3b 0d 0a  OUP* PLVGROUP;..
1f100 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1f110 4c 56 4d 5f 49 4e 53 45 52 54 47 52 4f 55 50 20  LVM_INSERTGROUP 
1f120 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 34  = LVM_FIRST + 14
1f130 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  5 }..// #define 
1f140 4c 69 73 74 56 69 65 77 5f 49 6e 73 65 72 74 47  ListView_InsertG
1f150 72 6f 75 70 28 68 77 6e 64 2c 20 69 6e 64 65 78  roup(hwnd, index
1f160 2c 20 70 67 72 70 29 20 53 4e 44 4d 53 47 28 28  , pgrp) SNDMSG((
1f170 68 77 6e 64 29 2c 20 4c 56 4d 5f 49 4e 53 45 52  hwnd), LVM_INSER
1f180 54 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d 29  TGROUP, (WPARAM)
1f190 69 6e 64 65 78 2c 20 28 4c 50 41 52 41 4d 29 70  index, (LPARAM)p
1f1a0 67 72 70 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  grp)....enum : u
1f1b0 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 47 52 4f  int { LVM_SETGRO
1f1c0 55 50 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49 52  UPINFO = LVM_FIR
1f1d0 53 54 20 2b 20 31 34 37 20 7d 0d 0a 2f 2f 20 23  ST + 147 }..// #
1f1e0 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f  define ListView_
1f1f0 53 65 74 47 72 6f 75 70 49 6e 66 6f 28 68 77 6e  SetGroupInfo(hwn
1f200 64 2c 20 69 47 72 6f 75 70 49 64 2c 20 70 67 72  d, iGroupId, pgr
1f210 70 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  p) SNDMSG((hwnd)
1f220 2c 20 4c 56 4d 5f 53 45 54 47 52 4f 55 50 49 4e  , LVM_SETGROUPIN
1f230 46 4f 2c 20 28 57 50 41 52 41 4d 29 69 47 72 6f  FO, (WPARAM)iGro
1f240 75 70 49 64 2c 20 28 4c 50 41 52 41 4d 29 70 67  upId, (LPARAM)pg
1f250 72 70 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  rp)....enum : ui
1f260 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 47 52 4f 55  nt { LVM_GETGROU
1f270 50 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49 52 53  PINFO = LVM_FIRS
1f280 54 20 2b 20 31 34 39 20 7d 0d 0a 2f 2f 20 23 64  T + 149 }..// #d
1f290 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47  efine ListView_G
1f2a0 65 74 47 72 6f 75 70 49 6e 66 6f 28 68 77 6e 64  etGroupInfo(hwnd
1f2b0 2c 20 69 47 72 6f 75 70 49 64 2c 20 70 67 72 70  , iGroupId, pgrp
1f2c0 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  ) SNDMSG((hwnd),
1f2d0 20 4c 56 4d 5f 47 45 54 47 52 4f 55 50 49 4e 46   LVM_GETGROUPINF
1f2e0 4f 2c 20 28 57 50 41 52 41 4d 29 69 47 72 6f 75  O, (WPARAM)iGrou
1f2f0 70 49 64 2c 20 28 4c 50 41 52 41 4d 29 70 67 72  pId, (LPARAM)pgr
1f300 70 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  p)....enum : uin
1f310 74 20 7b 20 4c 56 4d 5f 52 45 4d 4f 56 45 47 52  t { LVM_REMOVEGR
1f320 4f 55 50 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20  OUP = LVM_FIRST 
1f330 2b 20 31 35 30 20 7d 0d 0a 2f 2f 20 23 64 65 66  + 150 }..// #def
1f340 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 52 65 6d  ine ListView_Rem
1f350 6f 76 65 47 72 6f 75 70 28 68 77 6e 64 2c 20 69  oveGroup(hwnd, i
1f360 47 72 6f 75 70 49 64 29 20 53 4e 44 4d 53 47 28  GroupId) SNDMSG(
1f370 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 52 45 4d 4f  (hwnd), LVM_REMO
1f380 56 45 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d  VEGROUP, (WPARAM
1f390 29 69 47 72 6f 75 70 49 64 2c 20 30 29 0d 0a 0d  )iGroupId, 0)...
1f3a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
1f3b0 56 4d 5f 4d 4f 56 45 47 52 4f 55 50 20 3d 20 4c  VM_MOVEGROUP = L
1f3c0 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 31 20 7d  VM_FIRST + 151 }
1f3d0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
1f3e0 74 56 69 65 77 5f 4d 6f 76 65 47 72 6f 75 70 28  tView_MoveGroup(
1f3f0 68 77 6e 64 2c 20 69 47 72 6f 75 70 49 64 2c 20  hwnd, iGroupId, 
1f400 74 6f 49 6e 64 65 78 29 20 53 4e 44 4d 53 47 28  toIndex) SNDMSG(
1f410 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 4d 4f 56 45  (hwnd), LVM_MOVE
1f420 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d 29 69  GROUP, (WPARAM)i
1f430 47 72 6f 75 70 49 64 2c 20 28 4c 50 41 52 41 4d  GroupId, (LPARAM
1f440 29 74 6f 49 6e 64 65 78 29 0d 0a 0d 0a 65 6e 75  )toIndex)....enu
1f450 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 4d  m : uint { LVM_M
1f460 4f 56 45 49 54 45 4d 54 4f 47 52 4f 55 50 20 3d  OVEITEMTOGROUP =
1f470 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 34   LVM_FIRST + 154
1f480 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c   }..// #define L
1f490 69 73 74 56 69 65 77 5f 4d 6f 76 65 49 74 65 6d  istView_MoveItem
1f4a0 54 6f 47 72 6f 75 70 28 68 77 6e 64 2c 20 69 64  ToGroup(hwnd, id
1f4b0 49 74 65 6d 46 72 6f 6d 2c 20 69 64 47 72 6f 75  ItemFrom, idGrou
1f4c0 70 54 6f 29 20 53 4e 44 4d 53 47 28 28 68 77 6e  pTo) SNDMSG((hwn
1f4d0 64 29 2c 20 4c 56 4d 5f 4d 4f 56 45 49 54 45 4d  d), LVM_MOVEITEM
1f4e0 54 4f 47 52 4f 55 50 2c 20 28 57 50 41 52 41 4d  TOGROUP, (WPARAM
1f4f0 29 69 64 49 74 65 6d 46 72 6f 6d 2c 20 28 4c 50  )idItemFrom, (LP
1f500 41 52 41 4d 29 69 64 47 72 6f 75 70 54 6f 29 0d  ARAM)idGroupTo).
1f510 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1f520 20 4c 56 47 4d 46 5f 4e 4f 4e 45 20 3d 20 30 78   LVGMF_NONE = 0x
1f530 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
1f540 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 4d 46 5f   : uint { LVGMF_
1f550 42 4f 52 44 45 52 53 49 5a 45 20 3d 20 30 78 30  BORDERSIZE = 0x0
1f560 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
1f570 3a 20 75 69 6e 74 20 7b 20 4c 56 47 4d 46 5f 42  : uint { LVGMF_B
1f580 4f 52 44 45 52 43 4f 4c 4f 52 20 3d 20 30 78 30  ORDERCOLOR = 0x0
1f590 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
1f5a0 3a 20 75 69 6e 74 20 7b 20 4c 56 47 4d 46 5f 54  : uint { LVGMF_T
1f5b0 45 58 54 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30  EXTCOLOR = 0x000
1f5c0 30 30 30 30 34 20 7d 0d 0a 0d 0a 73 74 72 75 63  00004 }....struc
1f5d0 74 20 74 61 67 4c 56 47 52 4f 55 50 4d 45 54 52  t tagLVGROUPMETR
1f5e0 49 43 53 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62  ICS {..  UINT cb
1f5f0 53 69 7a 65 3b 0d 0a 20 20 55 49 4e 54 20 6d 61  Size;..  UINT ma
1f600 73 6b 3b 0d 0a 20 20 55 49 4e 54 20 4c 65 66 74  sk;..  UINT Left
1f610 3b 0d 0a 20 20 55 49 4e 54 20 54 6f 70 3b 0d 0a  ;..  UINT Top;..
1f620 20 20 55 49 4e 54 20 52 69 67 68 74 3b 0d 0a 20    UINT Right;.. 
1f630 20 55 49 4e 54 20 42 6f 74 74 6f 6d 3b 0d 0a 20   UINT Bottom;.. 
1f640 20 43 4f 4c 4f 52 52 45 46 20 63 72 4c 65 66 74   COLORREF crLeft
1f650 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 72  ;..  COLORREF cr
1f660 54 6f 70 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46  Top;..  COLORREF
1f670 20 63 72 52 69 67 68 74 3b 0d 0a 20 20 43 4f 4c   crRight;..  COL
1f680 4f 52 52 45 46 20 63 72 42 6f 74 74 6f 6d 3b 0d  ORREF crBottom;.
1f690 0a 20 20 43 4f 4c 4f 52 52 45 46 20 63 72 48 65  .  COLORREF crHe
1f6a0 61 64 65 72 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45  ader;..  COLORRE
1f6b0 46 20 63 72 46 6f 6f 74 65 72 3b 0d 0a 7d 0d 0a  F crFooter;..}..
1f6c0 61 6c 69 61 73 20 74 61 67 4c 56 47 52 4f 55 50  alias tagLVGROUP
1f6d0 4d 45 54 52 49 43 53 20 4c 56 47 52 4f 55 50 4d  METRICS LVGROUPM
1f6e0 45 54 52 49 43 53 3b 0d 0a 61 6c 69 61 73 20 74  ETRICS;..alias t
1f6f0 61 67 4c 56 47 52 4f 55 50 4d 45 54 52 49 43 53  agLVGROUPMETRICS
1f700 2a 20 50 4c 56 47 52 4f 55 50 4d 45 54 52 49 43  * PLVGROUPMETRIC
1f710 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  S;....enum : uin
1f720 74 20 7b 20 4c 56 4d 5f 53 45 54 47 52 4f 55 50  t { LVM_SETGROUP
1f730 4d 45 54 52 49 43 53 20 3d 20 4c 56 4d 5f 46 49  METRICS = LVM_FI
1f740 52 53 54 20 2b 20 31 35 35 20 7d 0d 0a 2f 2f 20  RST + 155 }..// 
1f750 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1f760 5f 53 65 74 47 72 6f 75 70 4d 65 74 72 69 63 73  _SetGroupMetrics
1f770 28 68 77 6e 64 2c 20 70 47 72 6f 75 70 4d 65 74  (hwnd, pGroupMet
1f780 72 69 63 73 29 20 53 4e 44 4d 53 47 28 28 68 77  rics) SNDMSG((hw
1f790 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 47 52 4f 55  nd), LVM_SETGROU
1f7a0 50 4d 45 54 52 49 43 53 2c 20 30 2c 20 28 4c 50  PMETRICS, 0, (LP
1f7b0 41 52 41 4d 29 70 47 72 6f 75 70 4d 65 74 72 69  ARAM)pGroupMetri
1f7c0 63 73 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  cs)....enum : ui
1f7d0 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 47 52 4f 55  nt { LVM_GETGROU
1f7e0 50 4d 45 54 52 49 43 53 20 3d 20 4c 56 4d 5f 46  PMETRICS = LVM_F
1f7f0 49 52 53 54 20 2b 20 31 35 36 20 7d 0d 0a 2f 2f  IRST + 156 }..//
1f800 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
1f810 77 5f 47 65 74 47 72 6f 75 70 4d 65 74 72 69 63  w_GetGroupMetric
1f820 73 28 68 77 6e 64 2c 20 70 47 72 6f 75 70 4d 65  s(hwnd, pGroupMe
1f830 74 72 69 63 73 29 20 53 4e 44 4d 53 47 28 28 68  trics) SNDMSG((h
1f840 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 47 52 4f  wnd), LVM_GETGRO
1f850 55 50 4d 45 54 52 49 43 53 2c 20 30 2c 20 28 4c  UPMETRICS, 0, (L
1f860 50 41 52 41 4d 29 70 47 72 6f 75 70 4d 65 74 72  PARAM)pGroupMetr
1f870 69 63 73 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ics)....enum : u
1f880 69 6e 74 20 7b 20 4c 56 4d 5f 45 4e 41 42 4c 45  int { LVM_ENABLE
1f890 47 52 4f 55 50 56 49 45 57 20 3d 20 4c 56 4d 5f  GROUPVIEW = LVM_
1f8a0 46 49 52 53 54 20 2b 20 31 35 37 20 7d 0d 0a 2f  FIRST + 157 }../
1f8b0 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
1f8c0 65 77 5f 45 6e 61 62 6c 65 47 72 6f 75 70 56 69  ew_EnableGroupVi
1f8d0 65 77 28 68 77 6e 64 2c 20 66 45 6e 61 62 6c 65  ew(hwnd, fEnable
1f8e0 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  ) SNDMSG((hwnd),
1f8f0 20 4c 56 4d 5f 45 4e 41 42 4c 45 47 52 4f 55 50   LVM_ENABLEGROUP
1f900 56 49 45 57 2c 20 28 57 50 41 52 41 4d 29 66 45  VIEW, (WPARAM)fE
1f910 6e 61 62 6c 65 2c 20 30 29 0d 0a 0d 0a 65 78 74  nable, 0)....ext
1f920 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
1f930 61 73 20 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28  as int function(
1f940 69 6e 74 2c 20 69 6e 74 2c 20 76 6f 69 64 20 2a  int, int, void *
1f950 29 20 50 46 4e 4c 56 47 52 4f 55 50 43 4f 4d 50  ) PFNLVGROUPCOMP
1f960 41 52 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ARE;....enum : u
1f970 69 6e 74 20 7b 20 4c 56 4d 5f 53 4f 52 54 47 52  int { LVM_SORTGR
1f980 4f 55 50 53 20 3d 20 4c 56 4d 5f 46 49 52 53 54  OUPS = LVM_FIRST
1f990 20 2b 20 31 35 38 20 7d 0d 0a 2f 2f 20 23 64 65   + 158 }..// #de
1f9a0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 53 6f  fine ListView_So
1f9b0 72 74 47 72 6f 75 70 73 28 68 77 6e 64 2c 20 5f  rtGroups(hwnd, _
1f9c0 70 66 6e 47 72 6f 75 70 43 6f 6d 70 61 74 65 2c  pfnGroupCompate,
1f9d0 20 5f 70 6c 76 29 20 53 4e 44 4d 53 47 28 28 68   _plv) SNDMSG((h
1f9e0 77 6e 64 29 2c 20 4c 56 4d 5f 53 4f 52 54 47 52  wnd), LVM_SORTGR
1f9f0 4f 55 50 53 2c 20 28 57 50 41 52 41 4d 29 5f 70  OUPS, (WPARAM)_p
1fa00 66 6e 47 72 6f 75 70 43 6f 6d 70 61 74 65 2c 20  fnGroupCompate, 
1fa10 28 4c 50 41 52 41 4d 29 5f 70 6c 76 29 0d 0a 0d  (LPARAM)_plv)...
1fa20 0a 73 74 72 75 63 74 20 74 61 67 4c 56 49 4e 53  .struct tagLVINS
1fa30 45 52 54 47 52 4f 55 50 53 4f 52 54 45 44 20 7b  ERTGROUPSORTED {
1fa40 0d 0a 20 20 50 46 4e 4c 56 47 52 4f 55 50 43 4f  ..  PFNLVGROUPCO
1fa50 4d 50 41 52 45 20 70 66 6e 47 72 6f 75 70 43 6f  MPARE pfnGroupCo
1fa60 6d 70 61 72 65 3b 0d 0a 20 20 76 6f 69 64 20 2a  mpare;..  void *
1fa70 70 76 44 61 74 61 3b 0d 0a 20 20 4c 56 47 52 4f  pvData;..  LVGRO
1fa80 55 50 20 6c 76 47 72 6f 75 70 3b 0d 0a 7d 0d 0a  UP lvGroup;..}..
1fa90 61 6c 69 61 73 20 74 61 67 4c 56 49 4e 53 45 52  alias tagLVINSER
1faa0 54 47 52 4f 55 50 53 4f 52 54 45 44 20 4c 56 49  TGROUPSORTED LVI
1fab0 4e 53 45 52 54 47 52 4f 55 50 53 4f 52 54 45 44  NSERTGROUPSORTED
1fac0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 49 4e  ;..alias tagLVIN
1fad0 53 45 52 54 47 52 4f 55 50 53 4f 52 54 45 44 2a  SERTGROUPSORTED*
1fae0 20 50 4c 56 49 4e 53 45 52 54 47 52 4f 55 50 53   PLVINSERTGROUPS
1faf0 4f 52 54 45 44 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  ORTED;....enum :
1fb00 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45   uint { LVM_INSE
1fb10 52 54 47 52 4f 55 50 53 4f 52 54 45 44 20 3d 20  RTGROUPSORTED = 
1fb20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 35 39 20  LVM_FIRST + 159 
1fb30 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1fb40 73 74 56 69 65 77 5f 49 6e 73 65 72 74 47 72 6f  stView_InsertGro
1fb50 75 70 53 6f 72 74 65 64 28 68 77 6e 64 2c 20 73  upSorted(hwnd, s
1fb60 74 72 75 63 74 49 6e 73 65 72 74 29 20 53 4e 44  tructInsert) SND
1fb70 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
1fb80 49 4e 53 45 52 54 47 52 4f 55 50 53 4f 52 54 45  INSERTGROUPSORTE
1fb90 44 2c 20 28 57 50 41 52 41 4d 29 73 74 72 75 63  D, (WPARAM)struc
1fba0 74 49 6e 73 65 72 74 2c 20 30 29 0d 0a 0d 0a 65  tInsert, 0)....e
1fbb0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
1fbc0 5f 52 45 4d 4f 56 45 41 4c 4c 47 52 4f 55 50 53  _REMOVEALLGROUPS
1fbd0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31   = LVM_FIRST + 1
1fbe0 36 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  60 }..// #define
1fbf0 20 4c 69 73 74 56 69 65 77 5f 52 65 6d 6f 76 65   ListView_Remove
1fc00 41 6c 6c 47 72 6f 75 70 73 28 68 77 6e 64 29 20  AllGroups(hwnd) 
1fc10 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c  SNDMSG((hwnd), L
1fc20 56 4d 5f 52 45 4d 4f 56 45 41 4c 4c 47 52 4f 55  VM_REMOVEALLGROU
1fc30 50 53 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75  PS, 0, 0)....enu
1fc40 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 48  m : uint { LVM_H
1fc50 41 53 47 52 4f 55 50 20 3d 20 4c 56 4d 5f 46 49  ASGROUP = LVM_FI
1fc60 52 53 54 20 2b 20 31 36 31 20 7d 0d 0a 2f 2f 20  RST + 161 }..// 
1fc70 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
1fc80 5f 48 61 73 47 72 6f 75 70 28 68 77 6e 64 2c 20  _HasGroup(hwnd, 
1fc90 64 77 47 72 6f 75 70 49 64 29 20 53 4e 44 4d 53  dwGroupId) SNDMS
1fca0 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 48 41  G((hwnd), LVM_HA
1fcb0 53 47 52 4f 55 50 2c 20 64 77 47 72 6f 75 70 49  SGROUP, dwGroupI
1fcc0 64 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  d, 0)....enum : 
1fcd0 75 69 6e 74 20 7b 20 4c 56 54 56 49 46 5f 41 55  uint { LVTVIF_AU
1fce0 54 4f 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30  TOSIZE = 0x00000
1fcf0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1fd00 6e 74 20 7b 20 4c 56 54 56 49 46 5f 46 49 58 45  nt { LVTVIF_FIXE
1fd10 44 57 49 44 54 48 20 3d 20 30 78 30 30 30 30 30  DWIDTH = 0x00000
1fd20 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
1fd30 6e 74 20 7b 20 4c 56 54 56 49 46 5f 46 49 58 45  nt { LVTVIF_FIXE
1fd40 44 48 45 49 47 48 54 20 3d 20 30 78 30 30 30 30  DHEIGHT = 0x0000
1fd50 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
1fd60 69 6e 74 20 7b 20 4c 56 54 56 49 46 5f 46 49 58  int { LVTVIF_FIX
1fd70 45 44 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30  EDSIZE = 0x00000
1fd80 30 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  003 }....enum : 
1fd90 75 69 6e 74 20 7b 20 4c 56 54 56 49 4d 5f 54 49  uint { LVTVIM_TI
1fda0 4c 45 53 49 5a 45 20 3d 20 30 78 30 30 30 30 30  LESIZE = 0x00000
1fdb0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
1fdc0 6e 74 20 7b 20 4c 56 54 56 49 4d 5f 43 4f 4c 55  nt { LVTVIM_COLU
1fdd0 4d 4e 53 20 3d 20 30 78 30 30 30 30 30 30 30 32  MNS = 0x00000002
1fde0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1fdf0 7b 20 4c 56 54 56 49 4d 5f 4c 41 42 45 4c 4d 41  { LVTVIM_LABELMA
1fe00 52 47 49 4e 20 3d 20 30 78 30 30 30 30 30 30 30  RGIN = 0x0000000
1fe10 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  4 }....struct ta
1fe20 67 4c 56 54 49 4c 45 56 49 45 57 49 4e 46 4f 20  gLVTILEVIEWINFO 
1fe30 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69 7a 65  {..  UINT cbSize
1fe40 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61 73  ;..  DWORD dwMas
1fe50 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  k;..  DWORD dwFl
1fe60 61 67 73 3b 0d 0a 20 20 53 49 5a 45 20 73 69 7a  ags;..  SIZE siz
1fe70 65 54 69 6c 65 3b 0d 0a 20 20 69 6e 74 20 63 4c  eTile;..  int cL
1fe80 69 6e 65 73 3b 0d 0a 20 20 52 45 43 54 20 72 63  ines;..  RECT rc
1fe90 4c 61 62 65 6c 4d 61 72 67 69 6e 3b 0d 0a 7d 0d  LabelMargin;..}.
1fea0 0a 61 6c 69 61 73 20 74 61 67 4c 56 54 49 4c 45  .alias tagLVTILE
1feb0 56 49 45 57 49 4e 46 4f 20 4c 56 54 49 4c 45 56  VIEWINFO LVTILEV
1fec0 49 45 57 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  IEWINFO;..alias 
1fed0 74 61 67 4c 56 54 49 4c 45 56 49 45 57 49 4e 46  tagLVTILEVIEWINF
1fee0 4f 2a 20 50 4c 56 54 49 4c 45 56 49 45 57 49 4e  O* PLVTILEVIEWIN
1fef0 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  FO;....struct ta
1ff00 67 4c 56 54 49 4c 45 49 4e 46 4f 20 7b 0d 0a 20  gLVTILEINFO {.. 
1ff10 20 55 49 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20   UINT cbSize;.. 
1ff20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 55   int iItem;..  U
1ff30 49 4e 54 20 63 43 6f 6c 75 6d 6e 73 3b 0d 0a 20  INT cColumns;.. 
1ff40 20 50 55 49 4e 54 20 70 75 43 6f 6c 75 6d 6e 73   PUINT puColumns
1ff50 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c  ;..}..alias tagL
1ff60 56 54 49 4c 45 49 4e 46 4f 20 4c 56 54 49 4c 45  VTILEINFO LVTILE
1ff70 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
1ff80 4c 56 54 49 4c 45 49 4e 46 4f 2a 20 50 4c 56 54  LVTILEINFO* PLVT
1ff90 49 4c 45 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d  ILEINFO;....enum
1ffa0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45   : uint { LVM_SE
1ffb0 54 54 49 4c 45 56 49 45 57 49 4e 46 4f 20 3d 20  TTILEVIEWINFO = 
1ffc0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 36 32 20  LVM_FIRST + 162 
1ffd0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
1ffe0 73 74 56 69 65 77 5f 53 65 74 54 69 6c 65 56 69  stView_SetTileVi
1fff0 65 77 49 6e 66 6f 28 68 77 6e 64 2c 20 70 74 76  ewInfo(hwnd, ptv
20000 69 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  i) SNDMSG((hwnd)
20010 2c 20 4c 56 4d 5f 53 45 54 54 49 4c 45 56 49 45  , LVM_SETTILEVIE
20020 57 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41 52 41  WINFO, 0, (LPARA
20030 4d 29 70 74 76 69 29 0d 0a 0d 0a 65 6e 75 6d 20  M)ptvi)....enum 
20040 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
20050 54 49 4c 45 56 49 45 57 49 4e 46 4f 20 3d 20 4c  TILEVIEWINFO = L
20060 56 4d 5f 46 49 52 53 54 20 2b 20 31 36 33 20 7d  VM_FIRST + 163 }
20070 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73  ..// #define Lis
20080 74 56 69 65 77 5f 47 65 74 54 69 6c 65 56 69 65  tView_GetTileVie
20090 77 49 6e 66 6f 28 68 77 6e 64 2c 20 70 74 76 69  wInfo(hwnd, ptvi
200a0 29 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  ) SNDMSG((hwnd),
200b0 20 4c 56 4d 5f 47 45 54 54 49 4c 45 56 49 45 57   LVM_GETTILEVIEW
200c0 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41 52 41 4d  INFO, 0, (LPARAM
200d0 29 70 74 76 69 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  )ptvi)....enum :
200e0 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 54   uint { LVM_SETT
200f0 49 4c 45 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46 49  ILEINFO = LVM_FI
20100 52 53 54 20 2b 20 31 36 34 20 7d 0d 0a 2f 2f 20  RST + 164 }..// 
20110 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
20120 5f 53 65 74 54 69 6c 65 49 6e 66 6f 28 68 77 6e  _SetTileInfo(hwn
20130 64 2c 20 70 74 69 29 20 53 4e 44 4d 53 47 28 28  d, pti) SNDMSG((
20140 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54 54 49  hwnd), LVM_SETTI
20150 4c 45 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41 52  LEINFO, 0, (LPAR
20160 41 4d 29 70 74 69 29 0d 0a 0d 0a 65 6e 75 6d 20  AM)pti)....enum 
20170 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54  : uint { LVM_GET
20180 54 49 4c 45 49 4e 46 4f 20 3d 20 4c 56 4d 5f 46  TILEINFO = LVM_F
20190 49 52 53 54 20 2b 20 31 36 35 20 7d 0d 0a 2f 2f  IRST + 165 }..//
201a0 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65   #define ListVie
201b0 77 5f 47 65 74 54 69 6c 65 49 6e 66 6f 28 68 77  w_GetTileInfo(hw
201c0 6e 64 2c 20 70 74 69 29 20 53 4e 44 4d 53 47 28  nd, pti) SNDMSG(
201d0 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47 45 54 54  (hwnd), LVM_GETT
201e0 49 4c 45 49 4e 46 4f 2c 20 30 2c 20 28 4c 50 41  ILEINFO, 0, (LPA
201f0 52 41 4d 29 70 74 69 29 0d 0a 0d 0a 73 74 72 75  RAM)pti)....stru
20200 63 74 20 5f 38 20 7b 0d 0a 20 20 55 49 4e 54 20  ct _8 {..  UINT 
20210 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  cbSize;..  DWORD
20220 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 69 6e 74   dwFlags;..  int
20230 20 69 49 74 65 6d 3b 0d 0a 20 20 44 57 4f 52 44   iItem;..  DWORD
20240 20 64 77 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d   dwReserved;..}.
20250 0a 61 6c 69 61 73 20 5f 38 20 4c 56 49 4e 53 45  .alias _8 LVINSE
20260 52 54 4d 41 52 4b 3b 0d 0a 61 6c 69 61 73 20 5f  RTMARK;..alias _
20270 38 2a 20 4c 50 4c 56 49 4e 53 45 52 54 4d 41 52  8* LPLVINSERTMAR
20280 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  K;....enum : uin
20290 74 20 7b 20 4c 56 49 4d 5f 41 46 54 45 52 20 3d  t { LVIM_AFTER =
202a0 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d   0x00000001 }...
202b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
202c0 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b  VM_SETINSERTMARK
202d0 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31   = LVM_FIRST + 1
202e0 36 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  66 }..// #define
202f0 20 4c 69 73 74 56 69 65 77 5f 53 65 74 49 6e 73   ListView_SetIns
20300 65 72 74 4d 61 72 6b 28 68 77 6e 64 2c 20 6c 76  ertMark(hwnd, lv
20310 69 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  im) (BOOL)SNDMSG
20320 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 53 45 54  ((hwnd), LVM_SET
20330 49 4e 53 45 52 54 4d 41 52 4b 2c 20 28 57 50 41  INSERTMARK, (WPA
20340 52 41 4d 29 20 30 2c 20 28 4c 50 41 52 41 4d 29  RAM) 0, (LPARAM)
20350 20 28 6c 76 69 6d 29 29 0d 0a 0d 0a 65 6e 75 6d   (lvim))....enum
20360 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 47 45   : uint { LVM_GE
20370 54 49 4e 53 45 52 54 4d 41 52 4b 20 3d 20 4c 56  TINSERTMARK = LV
20380 4d 5f 46 49 52 53 54 20 2b 20 31 36 37 20 7d 0d  M_FIRST + 167 }.
20390 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74  .// #define List
203a0 56 69 65 77 5f 47 65 74 49 6e 73 65 72 74 4d 61  View_GetInsertMa
203b0 72 6b 28 68 77 6e 64 2c 20 6c 76 69 6d 29 20 28  rk(hwnd, lvim) (
203c0 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e  BOOL)SNDMSG((hwn
203d0 64 29 2c 20 4c 56 4d 5f 47 45 54 49 4e 53 45 52  d), LVM_GETINSER
203e0 54 4d 41 52 4b 2c 20 28 57 50 41 52 41 4d 29 20  TMARK, (WPARAM) 
203f0 30 2c 20 28 4c 50 41 52 41 4d 29 20 28 6c 76 69  0, (LPARAM) (lvi
20400 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  m))....enum : ui
20410 6e 74 20 7b 20 4c 56 4d 5f 49 4e 53 45 52 54 4d  nt { LVM_INSERTM
20420 41 52 4b 48 49 54 54 45 53 54 20 3d 20 4c 56 4d  ARKHITTEST = LVM
20430 5f 46 49 52 53 54 20 2b 20 31 36 38 20 7d 0d 0a  _FIRST + 168 }..
20440 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
20450 69 65 77 5f 49 6e 73 65 72 74 4d 61 72 6b 48 69  iew_InsertMarkHi
20460 74 54 65 73 74 28 68 77 6e 64 2c 20 70 6f 69 6e  tTest(hwnd, poin
20470 74 2c 20 6c 76 69 6d 29 20 28 69 6e 74 29 53 4e  t, lvim) (int)SN
20480 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d  DMSG((hwnd), LVM
20490 5f 49 4e 53 45 52 54 4d 41 52 4b 48 49 54 54 45  _INSERTMARKHITTE
204a0 53 54 2c 20 28 57 50 41 52 41 4d 29 28 4c 50 50  ST, (WPARAM)(LPP
204b0 4f 49 4e 54 29 28 70 6f 69 6e 74 29 2c 20 28 4c  OINT)(point), (L
204c0 50 41 52 41 4d 29 28 4c 50 4c 56 49 4e 53 45 52  PARAM)(LPLVINSER
204d0 54 4d 41 52 4b 29 28 6c 76 69 6d 29 29 0d 0a 0d  TMARK)(lvim))...
204e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
204f0 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b  VM_GETINSERTMARK
20500 52 45 43 54 20 3d 20 4c 56 4d 5f 46 49 52 53 54  RECT = LVM_FIRST
20510 20 2b 20 31 36 39 20 7d 0d 0a 2f 2f 20 23 64 65   + 169 }..// #de
20520 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
20530 74 49 6e 73 65 72 74 4d 61 72 6b 52 65 63 74 28  tInsertMarkRect(
20540 68 77 6e 64 2c 20 72 63 29 20 28 69 6e 74 29 53  hwnd, rc) (int)S
20550 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56  NDMSG((hwnd), LV
20560 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b 52  M_GETINSERTMARKR
20570 45 43 54 2c 20 28 57 50 41 52 41 4d 29 30 2c 20  ECT, (WPARAM)0, 
20580 28 4c 50 41 52 41 4d 29 28 4c 50 52 45 43 54 29  (LPARAM)(LPRECT)
20590 28 72 63 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  (rc))....enum : 
205a0 75 69 6e 74 20 7b 20 4c 56 4d 5f 53 45 54 49 4e  uint { LVM_SETIN
205b0 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d 20  SERTMARKCOLOR = 
205c0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 30 20  LVM_FIRST + 170 
205d0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69  }..// #define Li
205e0 73 74 56 69 65 77 5f 53 65 74 49 6e 73 65 72 74  stView_SetInsert
205f0 4d 61 72 6b 43 6f 6c 6f 72 28 68 77 6e 64 2c 20  MarkColor(hwnd, 
20600 63 6f 6c 6f 72 29 20 28 43 4f 4c 4f 52 52 45 46  color) (COLORREF
20610 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
20620 4c 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52  LVM_SETINSERTMAR
20630 4b 43 4f 4c 4f 52 2c 20 28 57 50 41 52 41 4d 29  KCOLOR, (WPARAM)
20640 30 2c 20 28 4c 50 41 52 41 4d 29 28 43 4f 4c 4f  0, (LPARAM)(COLO
20650 52 52 45 46 29 28 63 6f 6c 6f 72 29 29 0d 0a 0d  RREF)(color))...
20660 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
20670 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41 52 4b  VM_GETINSERTMARK
20680 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f 46 49 52 53  COLOR = LVM_FIRS
20690 54 20 2b 20 31 37 31 20 7d 0d 0a 2f 2f 20 23 64  T + 171 }..// #d
206a0 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47  efine ListView_G
206b0 65 74 49 6e 73 65 72 74 4d 61 72 6b 43 6f 6c 6f  etInsertMarkColo
206c0 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52 45  r(hwnd) (COLORRE
206d0 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  F)SNDMSG((hwnd),
206e0 20 4c 56 4d 5f 47 45 54 49 4e 53 45 52 54 4d 41   LVM_GETINSERTMA
206f0 52 4b 43 4f 4c 4f 52 2c 20 28 57 50 41 52 41 4d  RKCOLOR, (WPARAM
20700 29 30 2c 20 28 4c 50 41 52 41 4d 29 30 29 0d 0a  )0, (LPARAM)0)..
20710 0d 0a 73 74 72 75 63 74 20 74 61 67 4c 56 53 45  ..struct tagLVSE
20720 54 49 4e 46 4f 54 49 50 20 7b 0d 0a 20 20 55 49  TINFOTIP {..  UI
20730 4e 54 20 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57  NT cbSize;..  DW
20740 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20  ORD dwFlags;..  
20750 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 3b 0d  LPWSTR pszText;.
20760 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20  .  int iItem;.. 
20770 20 69 6e 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a   int iSubItem;..
20780 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 53 45  }..alias tagLVSE
20790 54 49 4e 46 4f 54 49 50 20 4c 56 53 45 54 49 4e  TINFOTIP LVSETIN
207a0 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 73 20 74 61  FOTIP;..alias ta
207b0 67 4c 56 53 45 54 49 4e 46 4f 54 49 50 2a 20 50  gLVSETINFOTIP* P
207c0 4c 56 53 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 0d  LVSETINFOTIP;...
207d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
207e0 56 4d 5f 53 45 54 49 4e 46 4f 54 49 50 20 3d 20  VM_SETINFOTIP = 
207f0 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37 33 20  LVM_FIRST + 173 
20800 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  }....// #define 
20810 4c 69 73 74 56 69 65 77 5f 53 65 74 49 6e 66 6f  ListView_SetInfo
20820 54 69 70 28 68 77 6e 64 4c 56 2c 20 70 6c 76 49  Tip(hwndLV, plvI
20830 6e 66 6f 54 69 70 29 20 28 42 4f 4f 4c 29 53 4e  nfoTip) (BOOL)SN
20840 44 4d 53 47 28 28 68 77 6e 64 4c 56 29 2c 20 4c  DMSG((hwndLV), L
20850 56 4d 5f 53 45 54 49 4e 46 4f 54 49 50 2c 20 28  VM_SETINFOTIP, (
20860 57 50 41 52 41 4d 29 30 2c 20 28 4c 50 41 52 41  WPARAM)0, (LPARA
20870 4d 29 70 6c 76 49 6e 66 6f 54 69 70 29 0d 0a 0d  M)plvInfoTip)...
20880 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
20890 56 4d 5f 47 45 54 53 45 4c 45 43 54 45 44 43 4f  VM_GETSELECTEDCO
208a0 4c 55 4d 4e 20 3d 20 4c 56 4d 5f 46 49 52 53 54  LUMN = LVM_FIRST
208b0 20 2b 20 31 37 34 20 7d 0d 0a 2f 2f 20 23 64 65   + 174 }..// #de
208c0 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
208d0 74 53 65 6c 65 63 74 65 64 43 6f 6c 75 6d 6e 28  tSelectedColumn(
208e0 68 77 6e 64 29 20 28 55 49 4e 54 29 53 4e 44 4d  hwnd) (UINT)SNDM
208f0 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 47  SG((hwnd), LVM_G
20900 45 54 53 45 4c 45 43 54 45 44 43 4f 4c 55 4d 4e  ETSELECTEDCOLUMN
20910 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
20920 3a 20 75 69 6e 74 20 7b 20 4c 56 4d 5f 49 53 47  : uint { LVM_ISG
20930 52 4f 55 50 56 49 45 57 45 4e 41 42 4c 45 44 20  ROUPVIEWENABLED 
20940 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31 37  = LVM_FIRST + 17
20950 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  5 }..// #define 
20960 4c 69 73 74 56 69 65 77 5f 49 73 47 72 6f 75 70  ListView_IsGroup
20970 56 69 65 77 45 6e 61 62 6c 65 64 28 68 77 6e 64  ViewEnabled(hwnd
20980 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28  ) (BOOL)SNDMSG((
20990 68 77 6e 64 29 2c 20 4c 56 4d 5f 49 53 47 52 4f  hwnd), LVM_ISGRO
209a0 55 50 56 49 45 57 45 4e 41 42 4c 45 44 2c 20 30  UPVIEWENABLED, 0
209b0 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  , 0)....enum : u
209c0 69 6e 74 20 7b 20 4c 56 4d 5f 47 45 54 4f 55 54  int { LVM_GETOUT
209d0 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 4c 56 4d 5f  LINECOLOR = LVM_
209e0 46 49 52 53 54 20 2b 20 31 37 36 20 7d 0d 0a 2f  FIRST + 176 }../
209f0 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69  / #define ListVi
20a00 65 77 5f 47 65 74 4f 75 74 6c 69 6e 65 43 6f 6c  ew_GetOutlineCol
20a10 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52  or(hwnd) (COLORR
20a20 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  EF)SNDMSG((hwnd)
20a30 2c 20 4c 56 4d 5f 47 45 54 4f 55 54 4c 49 4e 45  , LVM_GETOUTLINE
20a40 43 4f 4c 4f 52 2c 20 30 2c 20 30 29 0d 0a 0d 0a  COLOR, 0, 0)....
20a50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
20a60 4d 5f 53 45 54 4f 55 54 4c 49 4e 45 43 4f 4c 4f  M_SETOUTLINECOLO
20a70 52 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  R = LVM_FIRST + 
20a80 31 37 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  177 }..// #defin
20a90 65 20 4c 69 73 74 56 69 65 77 5f 53 65 74 4f 75  e ListView_SetOu
20aa0 74 6c 69 6e 65 43 6f 6c 6f 72 28 68 77 6e 64 2c  tlineColor(hwnd,
20ab0 20 63 6f 6c 6f 72 29 20 28 43 4f 4c 4f 52 52 45   color) (COLORRE
20ac0 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  F)SNDMSG((hwnd),
20ad0 20 4c 56 4d 5f 53 45 54 4f 55 54 4c 49 4e 45 43   LVM_SETOUTLINEC
20ae0 4f 4c 4f 52 2c 20 28 57 50 41 52 41 4d 29 30 2c  OLOR, (WPARAM)0,
20af0 20 28 4c 50 41 52 41 4d 29 28 43 4f 4c 4f 52 52   (LPARAM)(COLORR
20b00 45 46 29 28 63 6f 6c 6f 72 29 29 0d 0a 0d 0a 65  EF)(color))....e
20b10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4d  num : uint { LVM
20b20 5f 43 41 4e 43 45 4c 45 44 49 54 4c 41 42 45 4c  _CANCELEDITLABEL
20b30 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20 31   = LVM_FIRST + 1
20b40 37 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  79 }..// #define
20b50 20 4c 69 73 74 56 69 65 77 5f 43 61 6e 63 65 6c   ListView_Cancel
20b60 45 64 69 74 4c 61 62 65 6c 28 68 77 6e 64 29 20  EditLabel(hwnd) 
20b70 28 56 4f 49 44 29 53 4e 44 4d 53 47 28 28 68 77  (VOID)SNDMSG((hw
20b80 6e 64 29 2c 20 4c 56 4d 5f 43 41 4e 43 45 4c 45  nd), LVM_CANCELE
20b90 44 49 54 4c 41 42 45 4c 2c 20 28 57 50 41 52 41  DITLABEL, (WPARA
20ba0 4d 29 30 2c 20 28 4c 50 41 52 41 4d 29 30 29 0d  M)0, (LPARAM)0).
20bb0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
20bc0 20 4c 56 4d 5f 4d 41 50 49 4e 44 45 58 54 4f 49   LVM_MAPINDEXTOI
20bd0 44 20 3d 20 4c 56 4d 5f 46 49 52 53 54 20 2b 20  D = LVM_FIRST + 
20be0 31 38 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  180 }..// #defin
20bf0 65 20 4c 69 73 74 56 69 65 77 5f 4d 61 70 49 6e  e ListView_MapIn
20c00 64 65 78 54 6f 49 44 28 68 77 6e 64 2c 20 69 6e  dexToID(hwnd, in
20c10 64 65 78 29 20 28 55 49 4e 54 29 53 4e 44 4d 53  dex) (UINT)SNDMS
20c20 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f 4d 41  G((hwnd), LVM_MA
20c30 50 49 4e 44 45 58 54 4f 49 44 2c 20 28 57 50 41  PINDEXTOID, (WPA
20c40 52 41 4d 29 69 6e 64 65 78 2c 20 28 4c 50 41 52  RAM)index, (LPAR
20c50 41 4d 29 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  AM)0)....enum : 
20c60 75 69 6e 74 20 7b 20 4c 56 4d 5f 4d 41 50 49 44  uint { LVM_MAPID
20c70 54 4f 49 4e 44 45 58 20 3d 20 4c 56 4d 5f 46 49  TOINDEX = LVM_FI
20c80 52 53 54 20 2b 20 31 38 31 20 7d 0d 0a 2f 2f 20  RST + 181 }..// 
20c90 23 64 65 66 69 6e 65 20 4c 69 73 74 56 69 65 77  #define ListView
20ca0 5f 4d 61 70 49 44 54 6f 49 6e 64 65 78 28 68 77  _MapIDToIndex(hw
20cb0 6e 64 2c 20 69 64 29 20 28 55 49 4e 54 29 53 4e  nd, id) (UINT)SN
20cc0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d  DMSG((hwnd), LVM
20cd0 5f 4d 41 50 49 44 54 4f 49 4e 44 45 58 2c 20 28  _MAPIDTOINDEX, (
20ce0 57 50 41 52 41 4d 29 69 64 2c 20 28 4c 50 41 52  WPARAM)id, (LPAR
20cf0 41 4d 29 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  AM)0)....// #end
20d00 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  if....// #ifdef 
20d10 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4c  UNICODE..alias L
20d20 56 42 4b 49 4d 41 47 45 57 20 4c 56 42 4b 49 4d  VBKIMAGEW LVBKIM
20d30 41 47 45 3b 0d 0a 61 6c 69 61 73 20 4c 50 4c 56  AGE;..alias LPLV
20d40 42 4b 49 4d 41 47 45 57 20 4c 50 4c 56 42 4b 49  BKIMAGEW LPLVBKI
20d50 4d 41 47 45 3b 0d 0a 61 6c 69 61 73 20 4c 56 4d  MAGE;..alias LVM
20d60 5f 53 45 54 42 4b 49 4d 41 47 45 57 20 4c 56 4d  _SETBKIMAGEW LVM
20d70 5f 53 45 54 42 4b 49 4d 41 47 45 3b 0d 0a 61 6c  _SETBKIMAGE;..al
20d80 69 61 73 20 4c 56 4d 5f 47 45 54 42 4b 49 4d 41  ias LVM_GETBKIMA
20d90 47 45 57 20 4c 56 4d 5f 47 45 54 42 4b 49 4d 41  GEW LVM_GETBKIMA
20da0 47 45 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  GE;..// #else../
20db0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
20dc0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
20dd0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
20de0 2f 2f 20 23 64 65 66 69 6e 65 20 4c 69 73 74 56  // #define ListV
20df0 69 65 77 5f 53 65 74 42 6b 49 6d 61 67 65 28 68  iew_SetBkImage(h
20e00 77 6e 64 2c 20 70 6c 76 62 6b 69 29 20 28 42 4f  wnd, plvbki) (BO
20e10 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
20e20 2c 20 4c 56 4d 5f 53 45 54 42 4b 49 4d 41 47 45  , LVM_SETBKIMAGE
20e30 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 6c  , 0, (LPARAM)(pl
20e40 76 62 6b 69 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65  vbki))....// #de
20e50 66 69 6e 65 20 4c 69 73 74 56 69 65 77 5f 47 65  fine ListView_Ge
20e60 74 42 6b 49 6d 61 67 65 28 68 77 6e 64 2c 20 70  tBkImage(hwnd, p
20e70 6c 76 62 6b 69 29 20 28 42 4f 4f 4c 29 53 4e 44  lvbki) (BOOL)SND
20e80 4d 53 47 28 28 68 77 6e 64 29 2c 20 4c 56 4d 5f  MSG((hwnd), LVM_
20e90 47 45 54 42 4b 49 4d 41 47 45 2c 20 30 2c 20 28  GETBKIMAGE, 0, (
20ea0 4c 50 41 52 41 4d 29 28 70 6c 76 62 6b 69 29 29  LPARAM)(plvbki))
20eb0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20  ....// #endif   
20ec0 20 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20     // _WIN32_IE 
20ed0 3e 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20  >= 0x0400....// 
20ee0 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
20ef0 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73  = 0x0300)..alias
20f00 20 4c 50 4e 4d 4c 49 53 54 56 49 45 57 20 4c 50   LPNMLISTVIEW LP
20f10 4e 4d 5f 4c 49 53 54 56 49 45 57 3b 0d 0a 61 6c  NM_LISTVIEW;..al
20f20 69 61 73 20 4e 4d 4c 49 53 54 56 49 45 57 20 4e  ias NMLISTVIEW N
20f30 4d 5f 4c 49 53 54 56 49 45 57 3b 0d 0a 2f 2f 20  M_LISTVIEW;..// 
20f40 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
20f50 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
20f60 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
20f70 74 72 75 63 74 20 74 61 67 4e 4d 4c 49 53 54 56  truct tagNMLISTV
20f80 49 45 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68  IEW {..  NMHDR h
20f90 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d  dr;..  int iItem
20fa0 3b 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65  ;..  int iSubIte
20fb0 6d 3b 0d 0a 20 20 55 49 4e 54 20 75 4e 65 77 53  m;..  UINT uNewS
20fc0 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 75 4f  tate;..  UINT uO
20fd0 6c 64 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54  ldState;..  UINT
20fe0 20 75 43 68 61 6e 67 65 64 3b 0d 0a 20 20 50 4f   uChanged;..  PO
20ff0 49 4e 54 20 70 74 41 63 74 69 6f 6e 3b 0d 0a 20  INT ptAction;.. 
21000 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
21010 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c  .}..alias tagNML
21020 49 53 54 56 49 45 57 20 4e 4d 4c 49 53 54 56 49  ISTVIEW NMLISTVI
21030 45 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  EW;..alias tagNM
21040 4c 49 53 54 56 49 45 57 2a 20 4c 50 4e 4d 4c 49  LISTVIEW* LPNMLI
21050 53 54 56 49 45 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  STVIEW;....// #i
21060 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
21070 30 78 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74  0x400)....struct
21080 20 74 61 67 4e 4d 49 54 45 4d 41 43 54 49 56 41   tagNMITEMACTIVA
21090 54 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64  TE {..  NMHDR hd
210a0 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74 65 6d 3b  r;..  int iItem;
210b0 0d 0a 20 20 69 6e 74 20 69 53 75 62 49 74 65 6d  ..  int iSubItem
210c0 3b 0d 0a 20 20 55 49 4e 54 20 75 4e 65 77 53 74  ;..  UINT uNewSt
210d0 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 75 4f 6c  ate;..  UINT uOl
210e0 64 53 74 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20  dState;..  UINT 
210f0 75 43 68 61 6e 67 65 64 3b 0d 0a 20 20 50 4f 49  uChanged;..  POI
21100 4e 54 20 70 74 41 63 74 69 6f 6e 3b 0d 0a 20 20  NT ptAction;..  
21110 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
21120 20 20 55 49 4e 54 20 75 4b 65 79 46 6c 61 67 73    UINT uKeyFlags
21130 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e  ;..}..alias tagN
21140 4d 49 54 45 4d 41 43 54 49 56 41 54 45 20 4e 4d  MITEMACTIVATE NM
21150 49 54 45 4d 41 43 54 49 56 41 54 45 3b 0d 0a 61  ITEMACTIVATE;..a
21160 6c 69 61 73 20 74 61 67 4e 4d 49 54 45 4d 41 43  lias tagNMITEMAC
21170 54 49 56 41 54 45 2a 20 4c 50 4e 4d 49 54 45 4d  TIVATE* LPNMITEM
21180 41 43 54 49 56 41 54 45 3b 0d 0a 0d 0a 65 6e 75  ACTIVATE;....enu
21190 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4b 46 5f  m : uint { LVKF_
211a0 41 4c 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  ALT = 0x0001 }..
211b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
211c0 4b 46 5f 43 4f 4e 54 52 4f 4c 20 3d 20 30 78 30  KF_CONTROL = 0x0
211d0 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
211e0 6e 74 20 7b 20 4c 56 4b 46 5f 53 48 49 46 54 20  nt { LVKF_SHIFT 
211f0 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23  = 0x0004 }..// #
21200 65 6e 64 69 66 20 2f 2f 28 5f 57 49 4e 33 32 5f  endif //(_WIN32_
21210 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d  IE >= 0x0400)...
21220 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
21230 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 2f  IE >= 0x0300)../
21240 2f 20 23 64 65 66 69 6e 65 20 4e 4d 4c 56 43 55  / #define NMLVCU
21250 53 54 4f 4d 44 52 41 57 5f 56 33 5f 53 49 5a 45  STOMDRAW_V3_SIZE
21260 20 43 43 53 49 5a 45 4f 46 5f 53 54 52 55 43 54   CCSIZEOF_STRUCT
21270 28 4e 4d 4c 56 43 55 53 54 4f 4d 44 52 57 2c 20  (NMLVCUSTOMDRW, 
21280 63 6c 72 54 65 78 74 42 6b 29 0d 0a 0d 0a 73 74  clrTextBk)....st
21290 72 75 63 74 20 74 61 67 4e 4d 4c 56 43 55 53 54  ruct tagNMLVCUST
212a0 4f 4d 44 52 41 57 20 7b 0d 0a 20 20 4e 4d 43 55  OMDRAW {..  NMCU
212b0 53 54 4f 4d 44 52 41 57 20 6e 6d 63 64 3b 0d 0a  STOMDRAW nmcd;..
212c0 20 20 43 4f 4c 4f 52 52 45 46 20 63 6c 72 54 65    COLORREF clrTe
212d0 78 74 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20  xt;..  COLORREF 
212e0 63 6c 72 54 65 78 74 42 6b 3b 0d 0a 2f 2f 20 23  clrTextBk;..// #
212f0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
21300 20 30 78 30 34 30 30 29 0d 0a 20 20 69 6e 74 20   0x0400)..  int 
21310 69 53 75 62 49 74 65 6d 3b 0d 0a 2f 2f 20 23 65  iSubItem;..// #e
21320 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  ndif..// #if (_W
21330 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
21340 35 30 31 29 0d 0a 20 20 44 57 4f 52 44 20 64 77  501)..  DWORD dw
21350 49 74 65 6d 54 79 70 65 3b 0d 0a 20 20 43 4f 4c  ItemType;..  COL
21360 4f 52 52 45 46 20 63 6c 72 46 61 63 65 3b 0d 0a  ORREF clrFace;..
21370 20 20 69 6e 74 20 69 49 63 6f 6e 45 66 66 65 63    int iIconEffec
21380 74 3b 0d 0a 20 20 69 6e 74 20 69 49 63 6f 6e 50  t;..  int iIconP
21390 68 61 73 65 3b 0d 0a 20 20 69 6e 74 20 69 50 61  hase;..  int iPa
213a0 72 74 49 64 3b 0d 0a 20 20 69 6e 74 20 69 53 74  rtId;..  int iSt
213b0 61 74 65 49 64 3b 0d 0a 20 20 52 45 43 54 20 72  ateId;..  RECT r
213c0 63 54 65 78 74 3b 0d 0a 20 20 55 49 4e 54 20 75  cText;..  UINT u
213d0 41 6c 69 67 6e 3b 0d 0a 2f 2f 20 23 65 6e 64 69  Align;..// #endi
213e0 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e  f..}..alias tagN
213f0 4d 4c 56 43 55 53 54 4f 4d 44 52 41 57 20 4e 4d  MLVCUSTOMDRAW NM
21400 4c 56 43 55 53 54 4f 4d 44 52 41 57 3b 0d 0a 61  LVCUSTOMDRAW;..a
21410 6c 69 61 73 20 74 61 67 4e 4d 4c 56 43 55 53 54  lias tagNMLVCUST
21420 4f 4d 44 52 41 57 2a 20 4c 50 4e 4d 4c 56 43 55  OMDRAW* LPNMLVCU
21430 53 54 4f 4d 44 52 41 57 3b 0d 0a 0d 0a 65 6e 75  STOMDRAW;....enu
21440 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 43 44 49  m : uint { LVCDI
21450 5f 49 54 45 4d 20 3d 20 30 78 30 30 30 30 30 30  _ITEM = 0x000000
21460 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
21470 74 20 7b 20 4c 56 43 44 49 5f 47 52 4f 55 50 20  t { LVCDI_GROUP 
21480 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
21490 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
214a0 4c 56 43 44 52 46 5f 4e 4f 53 45 4c 45 43 54 20  LVCDRF_NOSELECT 
214b0 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
214c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
214d0 43 44 52 46 5f 4e 4f 47 52 4f 55 50 46 52 41 4d  CDRF_NOGROUPFRAM
214e0 45 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  E = 0x00020000 }
214f0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
21500 4c 56 43 41 43 48 45 48 49 4e 54 20 7b 0d 0a 20  LVCACHEHINT {.. 
21510 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69   NMHDR hdr;..  i
21520 6e 74 20 69 46 72 6f 6d 3b 0d 0a 20 20 69 6e 74  nt iFrom;..  int
21530 20 69 54 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20   iTo;..}..alias 
21540 74 61 67 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54  tagNMLVCACHEHINT
21550 20 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54 3b 0d   NMLVCACHEHINT;.
21560 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 43 41  .alias tagNMLVCA
21570 43 48 45 48 49 4e 54 2a 20 4c 50 4e 4d 4c 56 43  CHEHINT* LPNMLVC
21580 41 43 48 45 48 49 4e 54 3b 0d 0a 0d 0a 61 6c 69  ACHEHINT;....ali
21590 61 73 20 4c 50 4e 4d 4c 56 43 41 43 48 45 48 49  as LPNMLVCACHEHI
215a0 4e 54 20 4c 50 4e 4d 5f 43 41 43 48 45 48 49 4e  NT LPNM_CACHEHIN
215b0 54 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c 56  T;..alias LPNMLV
215c0 43 41 43 48 45 48 49 4e 54 20 50 4e 4d 5f 43 41  CACHEHINT PNM_CA
215d0 43 48 45 48 49 4e 54 3b 0d 0a 61 6c 69 61 73 20  CHEHINT;..alias 
215e0 4e 4d 4c 56 43 41 43 48 45 48 49 4e 54 20 4e 4d  NMLVCACHEHINT NM
215f0 5f 43 41 43 48 45 48 49 4e 54 3b 0d 0a 0d 0a 73  _CACHEHINT;....s
21600 74 72 75 63 74 20 74 61 67 4e 4d 4c 56 46 49 4e  truct tagNMLVFIN
21610 44 49 54 45 4d 41 20 7b 0d 0a 20 20 4e 4d 48 44  DITEMA {..  NMHD
21620 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 53  R hdr;..  int iS
21630 74 61 72 74 3b 0d 0a 20 20 4c 56 46 49 4e 44 49  tart;..  LVFINDI
21640 4e 46 4f 41 20 6c 76 66 69 3b 0d 0a 7d 0d 0a 61  NFOA lvfi;..}..a
21650 6c 69 61 73 20 74 61 67 4e 4d 4c 56 46 49 4e 44  lias tagNMLVFIND
21660 49 54 45 4d 41 20 4e 4d 4c 56 46 49 4e 44 49 54  ITEMA NMLVFINDIT
21670 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  EMA;..alias tagN
21680 4d 4c 56 46 49 4e 44 49 54 45 4d 41 2a 20 4c 50  MLVFINDITEMA* LP
21690 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41 3b 0d 0a  NMLVFINDITEMA;..
216a0 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4c 56  ..struct tagNMLV
216b0 46 49 4e 44 49 54 45 4d 57 20 7b 0d 0a 20 20 4e  FINDITEMW {..  N
216c0 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74  MHDR hdr;..  int
216d0 20 69 53 74 61 72 74 3b 0d 0a 20 20 4c 56 46 49   iStart;..  LVFI
216e0 4e 44 49 4e 46 4f 57 20 6c 76 66 69 3b 0d 0a 7d  NDINFOW lvfi;..}
216f0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 46  ..alias tagNMLVF
21700 49 4e 44 49 54 45 4d 57 20 4e 4d 4c 56 46 49 4e  INDITEMW NMLVFIN
21710 44 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 74  DITEMW;..alias t
21720 61 67 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 57 2a  agNMLVFINDITEMW*
21730 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 57   LPNMLVFINDITEMW
21740 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c  ;....alias LPNML
21750 56 46 49 4e 44 49 54 45 4d 41 20 50 4e 4d 5f 46  VFINDITEMA PNM_F
21760 49 4e 44 49 54 45 4d 41 3b 0d 0a 61 6c 69 61 73  INDITEMA;..alias
21770 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 41   LPNMLVFINDITEMA
21780 20 4c 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 41 3b   LPNM_FINDITEMA;
21790 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 46 49 4e 44  ..alias NMLVFIND
217a0 49 54 45 4d 41 20 4e 4d 5f 46 49 4e 44 49 54 45  ITEMA NM_FINDITE
217b0 4d 41 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e  MA;....alias LPN
217c0 4d 4c 56 46 49 4e 44 49 54 45 4d 57 20 50 4e 4d  MLVFINDITEMW PNM
217d0 5f 46 49 4e 44 49 54 45 4d 57 3b 0d 0a 61 6c 69  _FINDITEMW;..ali
217e0 61 73 20 4c 50 4e 4d 4c 56 46 49 4e 44 49 54 45  as LPNMLVFINDITE
217f0 4d 57 20 4c 50 4e 4d 5f 46 49 4e 44 49 54 45 4d  MW LPNM_FINDITEM
21800 57 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 46 49  W;..alias NMLVFI
21810 4e 44 49 54 45 4d 57 20 4e 4d 5f 46 49 4e 44 49  NDITEMW NM_FINDI
21820 54 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  TEMW;....// #ifd
21830 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
21840 73 20 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 57 20  s PNM_FINDITEMW 
21850 50 4e 4d 5f 46 49 4e 44 49 54 45 4d 3b 0d 0a 61  PNM_FINDITEM;..a
21860 6c 69 61 73 20 4c 50 4e 4d 5f 46 49 4e 44 49 54  lias LPNM_FINDIT
21870 45 4d 57 20 4c 50 4e 4d 5f 46 49 4e 44 49 54 45  EMW LPNM_FINDITE
21880 4d 3b 0d 0a 61 6c 69 61 73 20 4e 4d 5f 46 49 4e  M;..alias NM_FIN
21890 44 49 54 45 4d 57 20 4e 4d 5f 46 49 4e 44 49 54  DITEMW NM_FINDIT
218a0 45 4d 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 46  EM;..alias NMLVF
218b0 49 4e 44 49 54 45 4d 57 20 4e 4d 4c 56 46 49 4e  INDITEMW NMLVFIN
218c0 44 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c 50  DITEM;..alias LP
218d0 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 57 20 4c 50  NMLVFINDITEMW LP
218e0 4e 4d 4c 56 46 49 4e 44 49 54 45 4d 3b 0d 0a 2f  NMLVFINDITEM;../
218f0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
21900 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
21910 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
21920 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
21930 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4c  ...struct tagNML
21940 56 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20 7b  VODSTATECHANGE {
21950 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
21960 20 20 69 6e 74 20 69 46 72 6f 6d 3b 0d 0a 20 20    int iFrom;..  
21970 69 6e 74 20 69 54 6f 3b 0d 0a 20 20 55 49 4e 54  int iTo;..  UINT
21980 20 75 4e 65 77 53 74 61 74 65 3b 0d 0a 20 20 55   uNewState;..  U
21990 49 4e 54 20 75 4f 6c 64 53 74 61 74 65 3b 0d 0a  INT uOldState;..
219a0 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56  }..alias tagNMLV
219b0 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20 4e 4d  ODSTATECHANGE NM
219c0 4c 56 4f 44 53 54 41 54 45 43 48 41 4e 47 45 3b  LVODSTATECHANGE;
219d0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 4f  ..alias tagNMLVO
219e0 44 53 54 41 54 45 43 48 41 4e 47 45 2a 20 4c 50  DSTATECHANGE* LP
219f0 4e 4d 4c 56 4f 44 53 54 41 54 45 43 48 41 4e 47  NMLVODSTATECHANG
21a00 45 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d  E;....alias LPNM
21a10 4c 56 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20  LVODSTATECHANGE 
21a20 50 4e 4d 5f 4f 44 53 54 41 54 45 43 48 41 4e 47  PNM_ODSTATECHANG
21a30 45 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 4c 56  E;..alias LPNMLV
21a40 4f 44 53 54 41 54 45 43 48 41 4e 47 45 20 4c 50  ODSTATECHANGE LP
21a50 4e 4d 5f 4f 44 53 54 41 54 45 43 48 41 4e 47 45  NM_ODSTATECHANGE
21a60 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 4f 44 53  ;..alias NMLVODS
21a70 54 41 54 45 43 48 41 4e 47 45 20 4e 4d 5f 4f 44  TATECHANGE NM_OD
21a80 53 54 41 54 45 43 48 41 4e 47 45 3b 0d 0a 2f 2f  STATECHANGE;..//
21a90 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20   #endif      // 
21aa0 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
21ab0 33 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  300....enum : ui
21ac0 6e 74 20 7b 20 4c 56 4e 5f 49 54 45 4d 43 48 41  nt { LVN_ITEMCHA
21ad0 4e 47 49 4e 47 20 3d 20 4c 56 4e 5f 46 49 52 53  NGING = LVN_FIRS
21ae0 54 2d 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-0 }..enum : ui
21af0 6e 74 20 7b 20 4c 56 4e 5f 49 54 45 4d 43 48 41  nt { LVN_ITEMCHA
21b00 4e 47 45 44 20 3d 20 4c 56 4e 5f 46 49 52 53 54  NGED = LVN_FIRST
21b10 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  -1 }..enum : uin
21b20 74 20 7b 20 4c 56 4e 5f 49 4e 53 45 52 54 49 54  t { LVN_INSERTIT
21b30 45 4d 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 32  EM = LVN_FIRST-2
21b40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
21b50 7b 20 4c 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d  { LVN_DELETEITEM
21b60 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 33 20 7d   = LVN_FIRST-3 }
21b70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21b80 4c 56 4e 5f 44 45 4c 45 54 45 41 4c 4c 49 54 45  LVN_DELETEALLITE
21b90 4d 53 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d 34  MS = LVN_FIRST-4
21ba0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
21bb0 7b 20 4c 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c  { LVN_BEGINLABEL
21bc0 45 44 49 54 41 20 3d 20 4c 56 4e 5f 46 49 52 53  EDITA = LVN_FIRS
21bd0 54 2d 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-5 }..enum : ui
21be0 6e 74 20 7b 20 4c 56 4e 5f 42 45 47 49 4e 4c 41  nt { LVN_BEGINLA
21bf0 42 45 4c 45 44 49 54 57 20 3d 20 4c 56 4e 5f 46  BELEDITW = LVN_F
21c00 49 52 53 54 2d 37 35 20 7d 0d 0a 65 6e 75 6d 20  IRST-75 }..enum 
21c10 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 45 4e 44  : uint { LVN_END
21c20 4c 41 42 45 4c 45 44 49 54 41 20 3d 20 4c 56 4e  LABELEDITA = LVN
21c30 5f 46 49 52 53 54 2d 36 20 7d 0d 0a 65 6e 75 6d  _FIRST-6 }..enum
21c40 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 45 4e   : uint { LVN_EN
21c50 44 4c 41 42 45 4c 45 44 49 54 57 20 3d 20 4c 56  DLABELEDITW = LV
21c60 4e 5f 46 49 52 53 54 2d 37 36 20 7d 0d 0a 65 6e  N_FIRST-76 }..en
21c70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f  um : uint { LVN_
21c80 43 4f 4c 55 4d 4e 43 4c 49 43 4b 20 3d 20 4c 56  COLUMNCLICK = LV
21c90 4e 5f 46 49 52 53 54 2d 38 20 7d 0d 0a 65 6e 75  N_FIRST-8 }..enu
21ca0 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 42  m : uint { LVN_B
21cb0 45 47 49 4e 44 52 41 47 20 3d 20 4c 56 4e 5f 46  EGINDRAG = LVN_F
21cc0 49 52 53 54 2d 39 20 7d 0d 0a 65 6e 75 6d 20 3a  IRST-9 }..enum :
21cd0 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 42 45 47 49   uint { LVN_BEGI
21ce0 4e 52 44 52 41 47 20 3d 20 4c 56 4e 5f 46 49 52  NRDRAG = LVN_FIR
21cf0 53 54 2d 31 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  ST-11 }....// #i
21d00 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
21d10 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0300)..enum : 
21d20 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44 43 41 43  uint { LVN_ODCAC
21d30 48 45 48 49 4e 54 20 3d 20 4c 56 4e 5f 46 49 52  HEHINT = LVN_FIR
21d40 53 54 2d 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ST-13 }..enum : 
21d50 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44 46 49 4e  uint { LVN_ODFIN
21d60 44 49 54 45 4d 41 20 3d 20 4c 56 4e 5f 46 49 52  DITEMA = LVN_FIR
21d70 53 54 2d 35 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ST-52 }..enum : 
21d80 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44 46 49 4e  uint { LVN_ODFIN
21d90 44 49 54 45 4d 57 20 3d 20 4c 56 4e 5f 46 49 52  DITEMW = LVN_FIR
21da0 53 54 2d 37 39 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  ST-79 }....enum 
21db0 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 49 54 45  : uint { LVN_ITE
21dc0 4d 41 43 54 49 56 41 54 45 20 3d 20 4c 56 4e 5f  MACTIVATE = LVN_
21dd0 46 49 52 53 54 2d 31 34 20 7d 0d 0a 65 6e 75 6d  FIRST-14 }..enum
21de0 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 4f 44   : uint { LVN_OD
21df0 53 54 41 54 45 43 48 41 4e 47 45 44 20 3d 20 4c  STATECHANGED = L
21e00 56 4e 5f 46 49 52 53 54 2d 31 35 20 7d 0d 0a 0d  VN_FIRST-15 }...
21e10 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
21e20 44 45 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f 4f 44  DE..alias LVN_OD
21e30 46 49 4e 44 49 54 45 4d 57 20 4c 56 4e 5f 4f 44  FINDITEMW LVN_OD
21e40 46 49 4e 44 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65  FINDITEM;..// #e
21e50 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
21e60 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64   #endif..// #end
21e70 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33  if      // _WIN3
21e80 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 0d 0a  2_IE >= 0x0300..
21e90 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
21ea0 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
21eb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56  enum : uint { LV
21ec0 4e 5f 48 4f 54 54 52 41 43 4b 20 3d 20 4c 56 4e  N_HOTTRACK = LVN
21ed0 5f 46 49 52 53 54 2d 32 31 20 7d 0d 0a 2f 2f 20  _FIRST-21 }..// 
21ee0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
21ef0 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54 44   uint { LVN_GETD
21f00 49 53 50 49 4e 46 4f 41 20 3d 20 4c 56 4e 5f 46  ISPINFOA = LVN_F
21f10 49 52 53 54 2d 35 30 20 7d 0d 0a 65 6e 75 6d 20  IRST-50 }..enum 
21f20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54  : uint { LVN_GET
21f30 44 49 53 50 49 4e 46 4f 57 20 3d 20 4c 56 4e 5f  DISPINFOW = LVN_
21f40 46 49 52 53 54 2d 37 37 20 7d 0d 0a 65 6e 75 6d  FIRST-77 }..enum
21f50 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 53 45   : uint { LVN_SE
21f60 54 44 49 53 50 49 4e 46 4f 41 20 3d 20 4c 56 4e  TDISPINFOA = LVN
21f70 5f 46 49 52 53 54 2d 35 31 20 7d 0d 0a 65 6e 75  _FIRST-51 }..enu
21f80 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e 5f 53  m : uint { LVN_S
21f90 45 54 44 49 53 50 49 4e 46 4f 57 20 3d 20 4c 56  ETDISPINFOW = LV
21fa0 4e 5f 46 49 52 53 54 2d 37 38 20 7d 0d 0a 0d 0a  N_FIRST-78 }....
21fb0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
21fc0 45 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f 42 45 47  E..alias LVN_BEG
21fd0 49 4e 4c 41 42 45 4c 45 44 49 54 57 20 4c 56 4e  INLABELEDITW LVN
21fe0 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 3b  _BEGINLABELEDIT;
21ff0 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f 45 4e 44 4c  ..alias LVN_ENDL
22000 41 42 45 4c 45 44 49 54 57 20 4c 56 4e 5f 45 4e  ABELEDITW LVN_EN
22010 44 4c 41 42 45 4c 45 44 49 54 3b 0d 0a 61 6c 69  DLABELEDIT;..ali
22020 61 73 20 4c 56 4e 5f 47 45 54 44 49 53 50 49 4e  as LVN_GETDISPIN
22030 46 4f 57 20 4c 56 4e 5f 47 45 54 44 49 53 50 49  FOW LVN_GETDISPI
22040 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 4c 56 4e 5f  NFO;..alias LVN_
22050 53 45 54 44 49 53 50 49 4e 46 4f 57 20 4c 56 4e  SETDISPINFOW LVN
22060 5f 53 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 2f  _SETDISPINFO;../
22070 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
22080 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
22090 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
220a0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
220b0 20 75 69 6e 74 20 7b 20 4c 56 49 46 5f 44 49 5f   uint { LVIF_DI_
220c0 53 45 54 49 54 45 4d 20 3d 20 30 78 31 30 30 30  SETITEM = 0x1000
220d0 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57   }....// #if (_W
220e0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
220f0 30 29 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 44 49  0)..alias NMLVDI
22100 53 50 49 4e 46 4f 41 20 4c 56 5f 44 49 53 50 49  SPINFOA LV_DISPI
22110 4e 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c  NFOA;..alias NML
22120 56 44 49 53 50 49 4e 46 4f 57 20 4c 56 5f 44 49  VDISPINFOW LV_DI
22130 53 50 49 4e 46 4f 57 3b 0d 0a 2f 2f 20 23 65 6c  SPINFOW;..// #el
22140 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
22150 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
22160 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
22170 66 0d 0a 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 44  f....alias NMLVD
22180 49 53 50 49 4e 46 4f 20 4c 56 5f 44 49 53 50 49  ISPINFO LV_DISPI
22190 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  NFO;....struct t
221a0 61 67 4c 56 44 49 53 50 49 4e 46 4f 20 7b 0d 0a  agLVDISPINFO {..
221b0 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20    NMHDR hdr;..  
221c0 4c 56 49 54 45 4d 41 20 69 74 65 6d 3b 0d 0a 7d  LVITEMA item;..}
221d0 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 44 49 53  ..alias tagLVDIS
221e0 50 49 4e 46 4f 20 4e 4d 4c 56 44 49 53 50 49 4e  PINFO NMLVDISPIN
221f0 46 4f 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c  FOA;..alias tagL
22200 56 44 49 53 50 49 4e 46 4f 2a 20 4c 50 4e 4d 4c  VDISPINFO* LPNML
22210 56 44 49 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73  VDISPINFOA;....s
22220 74 72 75 63 74 20 74 61 67 4c 56 44 49 53 50 49  truct tagLVDISPI
22230 4e 46 4f 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  NFOW {..  NMHDR 
22240 68 64 72 3b 0d 0a 20 20 4c 56 49 54 45 4d 57 20  hdr;..  LVITEMW 
22250 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  item;..}..alias 
22260 74 61 67 4c 56 44 49 53 50 49 4e 46 4f 57 20 4e  tagLVDISPINFOW N
22270 4d 4c 56 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 61  MLVDISPINFOW;..a
22280 6c 69 61 73 20 74 61 67 4c 56 44 49 53 50 49 4e  lias tagLVDISPIN
22290 46 4f 57 2a 20 4c 50 4e 4d 4c 56 44 49 53 50 49  FOW* LPNMLVDISPI
222a0 4e 46 4f 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  NFOW;....// #ifd
222b0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
222c0 73 20 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 57 20  s NMLVDISPINFOW 
222d0 4e 4d 4c 56 44 49 53 50 49 4e 46 4f 3b 0d 0a 2f  NMLVDISPINFO;../
222e0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
222f0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
22300 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e  num : uint { LVN
22310 5f 4b 45 59 44 4f 57 4e 20 3d 20 4c 56 4e 5f 46  _KEYDOWN = LVN_F
22320 49 52 53 54 2d 35 35 20 7d 0d 0a 0d 0a 2f 2f 20  IRST-55 }....// 
22330 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
22340 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73  = 0x0300)..alias
22350 20 4e 4d 4c 56 4b 45 59 44 4f 57 4e 20 4c 56 5f   NMLVKEYDOWN LV_
22360 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f 20 23 65 6c  KEYDOWN;..// #el
22370 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
22380 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
22390 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
223a0 4e 33 32 0d 0a 61 6c 69 67 6e 28 31 29 3a 0d 0a  N32..align(1):..
223b0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72  // #endif....str
223c0 75 63 74 20 74 61 67 4c 56 4b 45 59 44 4f 57 4e  uct tagLVKEYDOWN
223d0 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
223e0 0d 0a 20 20 57 4f 52 44 20 77 56 4b 65 79 3b 0d  ..  WORD wVKey;.
223f0 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d 0a  .  UINT flags;..
22400 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 4b 45  }..alias tagLVKE
22410 59 44 4f 57 4e 20 4e 4d 4c 56 4b 45 59 44 4f 57  YDOWN NMLVKEYDOW
22420 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4c 56 4b  N;..alias tagLVK
22430 45 59 44 4f 57 4e 2a 20 4c 50 4e 4d 4c 56 4b 45  EYDOWN* LPNMLVKE
22440 59 44 4f 57 4e 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  YDOWN;....// #if
22450 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 67  def _WIN32..alig
22460 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  n:..// #endif...
22470 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
22480 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65  IE >= 0x0300)..e
22490 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 4e  num : uint { LVN
224a0 5f 4d 41 52 51 55 45 45 42 45 47 49 4e 20 3d 20  _MARQUEEBEGIN = 
224b0 4c 56 4e 5f 46 49 52 53 54 2d 35 36 20 7d 0d 0a  LVN_FIRST-56 }..
224c0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
224d0 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
224e0 3d 20 30 78 30 34 30 30 29 0d 0a 73 74 72 75 63  = 0x0400)..struc
224f0 74 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46 4f  t tagNMLVGETINFO
22500 54 49 50 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  TIPA {..  NMHDR 
22510 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  hdr;..  DWORD dw
22520 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 53 54 52 20  Flags;..  LPSTR 
22530 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20  pszText;..  int 
22540 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69  cchTextMax;..  i
22550 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69 6e 74  nt iItem;..  int
22560 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20 4c 50   iSubItem;..  LP
22570 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d  ARAM lParam;..}.
22580 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 47 45  .alias tagNMLVGE
22590 54 49 4e 46 4f 54 49 50 41 20 4e 4d 4c 56 47 45  TINFOTIPA NMLVGE
225a0 54 49 4e 46 4f 54 49 50 41 3b 0d 0a 61 6c 69 61  TINFOTIPA;..alia
225b0 73 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46 4f  s tagNMLVGETINFO
225c0 54 49 50 41 2a 20 4c 50 4e 4d 4c 56 47 45 54 49  TIPA* LPNMLVGETI
225d0 4e 46 4f 54 49 50 41 3b 0d 0a 0d 0a 73 74 72 75  NFOTIPA;....stru
225e0 63 74 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e 46  ct tagNMLVGETINF
225f0 4f 54 49 50 57 20 7b 0d 0a 20 20 4e 4d 48 44 52  OTIPW {..  NMHDR
22600 20 68 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64   hdr;..  DWORD d
22610 77 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 57 53 54  wFlags;..  LPWST
22620 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e  R pszText;..  in
22630 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20  t cchTextMax;.. 
22640 20 69 6e 74 20 69 49 74 65 6d 3b 0d 0a 20 20 69   int iItem;..  i
22650 6e 74 20 69 53 75 62 49 74 65 6d 3b 0d 0a 20 20  nt iSubItem;..  
22660 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
22670 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56  }..alias tagNMLV
22680 47 45 54 49 4e 46 4f 54 49 50 57 20 4e 4d 4c 56  GETINFOTIPW NMLV
22690 47 45 54 49 4e 46 4f 54 49 50 57 3b 0d 0a 61 6c  GETINFOTIPW;..al
226a0 69 61 73 20 74 61 67 4e 4d 4c 56 47 45 54 49 4e  ias tagNMLVGETIN
226b0 46 4f 54 49 50 57 2a 20 4c 50 4e 4d 4c 56 47 45  FOTIPW* LPNMLVGE
226c0 54 49 4e 46 4f 54 49 50 57 3b 0d 0a 0d 0a 65 6e  TINFOTIPW;....en
226d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 56 47 49  um : uint { LVGI
226e0 54 5f 55 4e 46 4f 4c 44 45 44 20 3d 20 30 78 30  T_UNFOLDED = 0x0
226f0 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  001 }....enum : 
22700 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54 49 4e  uint { LVN_GETIN
22710 46 4f 54 49 50 41 20 3d 20 4c 56 4e 5f 46 49 52  FOTIPA = LVN_FIR
22720 53 54 2d 35 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ST-57 }..enum : 
22730 75 69 6e 74 20 7b 20 4c 56 4e 5f 47 45 54 49 4e  uint { LVN_GETIN
22740 46 4f 54 49 50 57 20 3d 20 4c 56 4e 5f 46 49 52  FOTIPW = LVN_FIR
22750 53 54 2d 35 38 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  ST-58 }....// #i
22760 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
22770 69 61 73 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54  ias LVN_GETINFOT
22780 49 50 57 20 4c 56 4e 5f 47 45 54 49 4e 46 4f 54  IPW LVN_GETINFOT
22790 49 50 3b 0d 0a 61 6c 69 61 73 20 4e 4d 4c 56 47  IP;..alias NMLVG
227a0 45 54 49 4e 46 4f 54 49 50 57 20 4e 4d 4c 56 47  ETINFOTIPW NMLVG
227b0 45 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61  ETINFOTIP;..alia
227c0 73 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46 4f 54  s LPNMLVGETINFOT
227d0 49 50 57 20 4c 50 4e 4d 4c 56 47 45 54 49 4e 46  IPW LPNMLVGETINF
227e0 4f 54 49 50 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  OTIP;..// #else.
227f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
22800 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
22810 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  endif....// #end
22820 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33  if      // _WIN3
22830 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a  2_IE >= 0x0400..
22840 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
22850 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29  _WINNT >= 0x501)
22860 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 4c 56  ..struct tagNMLV
22870 53 43 52 4f 4c 4c 20 7b 0d 0a 20 20 4e 4d 48 44  SCROLL {..  NMHD
22880 52 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 64 78  R hdr;..  int dx
22890 3b 0d 0a 20 20 69 6e 74 20 64 79 3b 0d 0a 7d 0d  ;..  int dy;..}.
228a0 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 53 43  .alias tagNMLVSC
228b0 52 4f 4c 4c 20 4e 4d 4c 56 53 43 52 4f 4c 4c 3b  ROLL NMLVSCROLL;
228c0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 56 53  ..alias tagNMLVS
228d0 43 52 4f 4c 4c 2a 20 4c 50 4e 4d 4c 56 53 43 52  CROLL* LPNMLVSCR
228e0 4f 4c 4c 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  OLL;....enum : u
228f0 69 6e 74 20 7b 20 4c 56 4e 5f 42 45 47 49 4e 53  int { LVN_BEGINS
22900 43 52 4f 4c 4c 20 3d 20 4c 56 4e 5f 46 49 52 53  CROLL = LVN_FIRS
22910 54 2d 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  T-80 }..enum : u
22920 69 6e 74 20 7b 20 4c 56 4e 5f 45 4e 44 53 43 52  int { LVN_ENDSCR
22930 4f 4c 4c 20 3d 20 4c 56 4e 5f 46 49 52 53 54 2d  OLL = LVN_FIRST-
22940 38 31 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  81 }..// #endif.
22950 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
22960 4e 4f 4c 49 53 54 56 49 45 57 0d 0a 0d 0a 2f 2f  NOLISTVIEW....//
22970 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 45 45 56   #ifndef NOTREEV
22980 49 45 57 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  IEW....// #ifdef
22990 20 5f 57 49 4e 33 32 0d 0a 63 6f 6e 73 74 20 63   _WIN32..const c
229a0 68 61 72 5b 5d 20 57 43 5f 54 52 45 45 56 49 45  har[] WC_TREEVIE
229b0 57 41 20 3d 20 22 53 79 73 54 72 65 65 56 69 65  WA = "SysTreeVie
229c0 77 33 32 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68  w32";..const wch
229d0 61 72 5b 5d 20 57 43 5f 54 52 45 45 56 49 45 57  ar[] WC_TREEVIEW
229e0 57 20 3d 20 22 53 79 73 54 72 65 65 56 69 65 77  W = "SysTreeView
229f0 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  32";....// #ifde
22a00 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
22a10 20 57 43 5f 54 52 45 45 56 49 45 57 57 20 57 43   WC_TREEVIEWW WC
22a20 5f 54 52 45 45 56 49 45 57 3b 0d 0a 2f 2f 20 23  _TREEVIEW;..// #
22a30 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
22a40 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
22a50 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
22a60 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
22a70 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 48 41   : uint { TVS_HA
22a80 53 42 55 54 54 4f 4e 53 20 3d 20 30 78 30 30 30  SBUTTONS = 0x000
22a90 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
22aa0 20 7b 20 54 56 53 5f 48 41 53 4c 49 4e 45 53 20   { TVS_HASLINES 
22ab0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
22ac0 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 4c 49   : uint { TVS_LI
22ad0 4e 45 53 41 54 52 4f 4f 54 20 3d 20 30 78 30 30  NESATROOT = 0x00
22ae0 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
22af0 74 20 7b 20 54 56 53 5f 45 44 49 54 4c 41 42 45  t { TVS_EDITLABE
22b00 4c 53 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  LS = 0x0008 }..e
22b10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53  num : uint { TVS
22b20 5f 44 49 53 41 42 4c 45 44 52 41 47 44 52 4f 50  _DISABLEDRAGDROP
22b30 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75   = 0x0010 }..enu
22b40 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 53  m : uint { TVS_S
22b50 48 4f 57 53 45 4c 41 4c 57 41 59 53 20 3d 20 30  HOWSELALWAYS = 0
22b60 78 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 69 66 20  x0020 }..// #if 
22b70 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
22b80 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0300)..enum : ui
22b90 6e 74 20 7b 20 54 56 53 5f 52 54 4c 52 45 41 44  nt { TVS_RTLREAD
22ba0 49 4e 47 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a  ING = 0x0040 }..
22bb0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22bc0 54 56 53 5f 4e 4f 54 4f 4f 4c 54 49 50 53 20 3d  TVS_NOTOOLTIPS =
22bd0 20 30 78 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20   0x0080 }..enum 
22be0 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 43 48 45  : uint { TVS_CHE
22bf0 43 4b 42 4f 58 45 53 20 3d 20 30 78 30 31 30 30  CKBOXES = 0x0100
22c00 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
22c10 7b 20 54 56 53 5f 54 52 41 43 4b 53 45 4c 45 43  { TVS_TRACKSELEC
22c20 54 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 2f 2f  T = 0x0200 }..//
22c30 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
22c40 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d  >= 0x0400)..enum
22c50 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 53 49   : uint { TVS_SI
22c60 4e 47 4c 45 45 58 50 41 4e 44 20 3d 20 30 78 30  NGLEEXPAND = 0x0
22c70 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  400 }..enum : ui
22c80 6e 74 20 7b 20 54 56 53 5f 49 4e 46 4f 54 49 50  nt { TVS_INFOTIP
22c90 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75   = 0x0800 }..enu
22ca0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 5f 46  m : uint { TVS_F
22cb0 55 4c 4c 52 4f 57 53 45 4c 45 43 54 20 3d 20 30  ULLROWSELECT = 0
22cc0 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x1000 }..enum : 
22cd0 75 69 6e 74 20 7b 20 54 56 53 5f 4e 4f 53 43 52  uint { TVS_NOSCR
22ce0 4f 4c 4c 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a  OLL = 0x2000 }..
22cf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
22d00 53 5f 4e 4f 4e 45 56 45 4e 48 45 49 47 48 54 20  S_NONEVENHEIGHT 
22d10 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x4000 }..// #
22d20 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20 28 5f  endif..// #if (_
22d30 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30  WIN32_IE >= 0x50
22d40 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
22d50 7b 20 54 56 53 5f 4e 4f 48 53 43 52 4f 4c 4c 20  { TVS_NOHSCROLL 
22d60 3d 20 30 78 38 30 30 30 20 7d 0d 0a 2f 2f 20 23  = 0x8000 }..// #
22d70 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
22d80 0d 0a 0d 0a 61 6c 69 61 73 20 5f 54 52 45 45 49  ....alias _TREEI
22d90 54 45 4d 2a 20 48 54 52 45 45 49 54 45 4d 3b 0d  TEM* HTREEITEM;.
22da0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
22db0 20 54 56 49 46 5f 54 45 58 54 20 3d 20 30 78 30   TVIF_TEXT = 0x0
22dc0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
22dd0 6e 74 20 7b 20 54 56 49 46 5f 49 4d 41 47 45 20  nt { TVIF_IMAGE 
22de0 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
22df0 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 46 5f 50   : uint { TVIF_P
22e00 41 52 41 4d 20 3d 20 30 78 30 30 30 34 20 7d 0d  ARAM = 0x0004 }.
22e10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
22e20 56 49 46 5f 53 54 41 54 45 20 3d 20 30 78 30 30  VIF_STATE = 0x00
22e30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
22e40 74 20 7b 20 54 56 49 46 5f 48 41 4e 44 4c 45 20  t { TVIF_HANDLE 
22e50 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
22e60 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 46 5f 53   : uint { TVIF_S
22e70 45 4c 45 43 54 45 44 49 4d 41 47 45 20 3d 20 30  ELECTEDIMAGE = 0
22e80 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0020 }..enum : 
22e90 75 69 6e 74 20 7b 20 54 56 49 46 5f 43 48 49 4c  uint { TVIF_CHIL
22ea0 44 52 45 4e 20 3d 20 30 78 30 30 34 30 20 7d 0d  DREN = 0x0040 }.
22eb0 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
22ec0 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  IE >= 0x0400)..e
22ed0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49  num : uint { TVI
22ee0 46 5f 49 4e 54 45 47 52 41 4c 20 3d 20 30 78 30  F_INTEGRAL = 0x0
22ef0 30 38 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  080 }..// #endif
22f00 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
22f10 54 56 49 53 5f 53 45 4c 45 43 54 45 44 20 3d 20  TVIS_SELECTED = 
22f20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
22f30 20 75 69 6e 74 20 7b 20 54 56 49 53 5f 43 55 54   uint { TVIS_CUT
22f40 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
22f50 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 5f  m : uint { TVIS_
22f60 44 52 4f 50 48 49 4c 49 54 45 44 20 3d 20 30 78  DROPHILITED = 0x
22f70 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
22f80 69 6e 74 20 7b 20 54 56 49 53 5f 42 4f 4c 44 20  int { TVIS_BOLD 
22f90 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d  = 0x0010 }..enum
22fa0 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53 5f 45   : uint { TVIS_E
22fb0 58 50 41 4e 44 45 44 20 3d 20 30 78 30 30 32 30  XPANDED = 0x0020
22fc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
22fd0 7b 20 54 56 49 53 5f 45 58 50 41 4e 44 45 44 4f  { TVIS_EXPANDEDO
22fe0 4e 43 45 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a  NCE = 0x0040 }..
22ff0 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
23000 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e  E >= 0x0300)..en
23010 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 49 53  um : uint { TVIS
23020 5f 45 58 50 41 4e 44 50 41 52 54 49 41 4c 20 3d  _EXPANDPARTIAL =
23030 20 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65   0x0080 }..// #e
23040 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
23050 69 6e 74 20 7b 20 54 56 49 53 5f 4f 56 45 52 4c  int { TVIS_OVERL
23060 41 59 4d 41 53 4b 20 3d 20 30 78 30 46 30 30 20  AYMASK = 0x0F00 
23070 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
23080 20 54 56 49 53 5f 53 54 41 54 45 49 4d 41 47 45   TVIS_STATEIMAGE
23090 4d 41 53 4b 20 3d 20 30 78 46 30 30 30 20 7d 0d  MASK = 0xF000 }.
230a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
230b0 56 49 53 5f 55 53 45 52 4d 41 53 4b 20 3d 20 30  VIS_USERMASK = 0
230c0 78 46 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  xF000 }....enum 
230d0 7b 20 49 5f 43 48 49 4c 44 52 45 4e 43 41 4c 4c  { I_CHILDRENCALL
230e0 42 41 43 4b 20 3d 20 2d 31 20 7d 0d 0a 0d 0a 2f  BACK = -1 }..../
230f0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
23100 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69   >= 0x0300)..ali
23110 61 73 20 4c 50 54 56 49 54 45 4d 57 20 4c 50 54  as LPTVITEMW LPT
23120 56 5f 49 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20  V_ITEMW;..alias 
23130 4c 50 54 56 49 54 45 4d 41 20 4c 50 54 56 5f 49  LPTVITEMA LPTV_I
23140 54 45 4d 41 3b 0d 0a 61 6c 69 61 73 20 54 56 49  TEMA;..alias TVI
23150 54 45 4d 57 20 54 56 5f 49 54 45 4d 57 3b 0d 0a  TEMW TV_ITEMW;..
23160 61 6c 69 61 73 20 54 56 49 54 45 4d 41 20 54 56  alias TVITEMA TV
23170 5f 49 54 45 4d 41 3b 0d 0a 2f 2f 20 23 65 6c 73  _ITEMA;..// #els
23180 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
23190 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
231a0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
231b0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
231c0 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 4c 50 54 56  if....alias LPTV
231d0 49 54 45 4d 20 4c 50 54 56 5f 49 54 45 4d 3b 0d  ITEM LPTV_ITEM;.
231e0 0a 61 6c 69 61 73 20 54 56 49 54 45 4d 20 54 56  .alias TVITEM TV
231f0 5f 49 54 45 4d 3b 0d 0a 0d 0a 73 74 72 75 63 74  _ITEM;....struct
23200 20 74 61 67 54 56 49 54 45 4d 41 20 7b 0d 0a 20   tagTVITEMA {.. 
23210 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 48   UINT mask;..  H
23220 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d  TREEITEM hItem;.
23230 0a 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a  .  UINT state;..
23240 20 20 55 49 4e 54 20 73 74 61 74 65 4d 61 73 6b    UINT stateMask
23250 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65  ;..  LPSTR pszTe
23260 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65  xt;..  int cchTe
23270 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49  xtMax;..  int iI
23280 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65  mage;..  int iSe
23290 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20  lectedImage;..  
232a0 69 6e 74 20 63 43 68 69 6c 64 72 65 6e 3b 0d 0a  int cChildren;..
232b0 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b    LPARAM lParam;
232c0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56  ..}..alias tagTV
232d0 49 54 45 4d 41 20 54 56 49 54 45 4d 41 3b 0d 0a  ITEMA TVITEMA;..
232e0 61 6c 69 61 73 20 74 61 67 54 56 49 54 45 4d 41  alias tagTVITEMA
232f0 2a 20 4c 50 54 56 49 54 45 4d 41 3b 0d 0a 0d 0a  * LPTVITEMA;....
23300 73 74 72 75 63 74 20 74 61 67 54 56 49 54 45 4d  struct tagTVITEM
23310 57 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b  W {..  UINT mask
23320 3b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d 20 68  ;..  HTREEITEM h
23330 49 74 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 73 74  Item;..  UINT st
23340 61 74 65 3b 0d 0a 20 20 55 49 4e 54 20 73 74 61  ate;..  UINT sta
23350 74 65 4d 61 73 6b 3b 0d 0a 20 20 4c 50 57 53 54  teMask;..  LPWST
23360 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e  R pszText;..  in
23370 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20  t cchTextMax;.. 
23380 20 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20   int iImage;..  
23390 69 6e 74 20 69 53 65 6c 65 63 74 65 64 49 6d 61  int iSelectedIma
233a0 67 65 3b 0d 0a 20 20 69 6e 74 20 63 43 68 69 6c  ge;..  int cChil
233b0 64 72 65 6e 3b 0d 0a 20 20 4c 50 41 52 41 4d 20  dren;..  LPARAM 
233c0 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61  lParam;..}..alia
233d0 73 20 74 61 67 54 56 49 54 45 4d 57 20 54 56 49  s tagTVITEMW TVI
233e0 54 45 4d 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  TEMW;..alias tag
233f0 54 56 49 54 45 4d 57 2a 20 4c 50 54 56 49 54 45  TVITEMW* LPTVITE
23400 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f  MW;....// #if (_
23410 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
23420 30 30 29 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  00)....struct ta
23430 67 54 56 49 54 45 4d 45 58 41 20 7b 0d 0a 20 20  gTVITEMEXA {..  
23440 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 48 54  UINT mask;..  HT
23450 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b 0d 0a  REEITEM hItem;..
23460 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d 0a 20    UINT state;.. 
23470 20 55 49 4e 54 20 73 74 61 74 65 4d 61 73 6b 3b   UINT stateMask;
23480 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78  ..  LPSTR pszTex
23490 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78  t;..  int cchTex
234a0 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d  tMax;..  int iIm
234b0 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65 6c  age;..  int iSel
234c0 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20 69  ectedImage;..  i
234d0 6e 74 20 63 43 68 69 6c 64 72 65 6e 3b 0d 0a 20  nt cChildren;.. 
234e0 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
234f0 0a 20 20 69 6e 74 20 69 49 6e 74 65 67 72 61 6c  .  int iIntegral
23500 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54  ;..}..alias tagT
23510 56 49 54 45 4d 45 58 41 20 54 56 49 54 45 4d 45  VITEMEXA TVITEME
23520 58 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 56  XA;..alias tagTV
23530 49 54 45 4d 45 58 41 2a 20 4c 50 54 56 49 54 45  ITEMEXA* LPTVITE
23540 4d 45 58 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  MEXA;....struct 
23550 74 61 67 54 56 49 54 45 4d 45 58 57 20 7b 0d 0a  tagTVITEMEXW {..
23560 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20    UINT mask;..  
23570 48 54 52 45 45 49 54 45 4d 20 68 49 74 65 6d 3b  HTREEITEM hItem;
23580 0d 0a 20 20 55 49 4e 54 20 73 74 61 74 65 3b 0d  ..  UINT state;.
23590 0a 20 20 55 49 4e 54 20 73 74 61 74 65 4d 61 73  .  UINT stateMas
235a0 6b 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a  k;..  LPWSTR psz
235b0 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68  Text;..  int cch
235c0 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20  TextMax;..  int 
235d0 69 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69  iImage;..  int i
235e0 53 65 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a  SelectedImage;..
235f0 20 20 69 6e 74 20 63 43 68 69 6c 64 72 65 6e 3b    int cChildren;
23600 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
23610 6d 3b 0d 0a 20 20 69 6e 74 20 69 49 6e 74 65 67  m;..  int iInteg
23620 72 61 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ral;..}..alias t
23630 61 67 54 56 49 54 45 4d 45 58 57 20 54 56 49 54  agTVITEMEXW TVIT
23640 45 4d 45 58 57 3b 0d 0a 61 6c 69 61 73 20 74 61  EMEXW;..alias ta
23650 67 54 56 49 54 45 4d 45 58 57 2a 20 4c 50 54 56  gTVITEMEXW* LPTV
23660 49 54 45 4d 45 58 57 3b 0d 0a 0d 0a 2f 2f 20 23  ITEMEXW;....// #
23670 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
23680 6c 69 61 73 20 54 56 49 54 45 4d 45 58 57 20 54  lias TVITEMEXW T
23690 56 49 54 45 4d 45 58 3b 0d 0a 61 6c 69 61 73 20  VITEMEX;..alias 
236a0 4c 50 54 56 49 54 45 4d 45 58 57 20 4c 50 54 56  LPTVITEMEXW LPTV
236b0 49 54 45 4d 45 58 3b 0d 0a 2f 2f 20 23 65 6c 73  ITEMEX;..// #els
236c0 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
236d0 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
236e0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
236f0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
23700 45 0d 0a 61 6c 69 61 73 20 54 56 49 54 45 4d 57  E..alias TVITEMW
23710 20 54 56 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20   TVITEM;..alias 
23720 4c 50 54 56 49 54 45 4d 57 20 4c 50 54 56 49 54  LPTVITEMW LPTVIT
23730 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  EM;..// #else../
23740 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
23750 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 63 6f  .// #endif....co
23760 6e 73 74 20 48 54 52 45 45 49 54 45 4d 20 54 56  nst HTREEITEM TV
23770 49 5f 52 4f 4f 54 20 3d 20 63 61 73 74 28 48 54  I_ROOT = cast(HT
23780 52 45 45 49 54 45 4d 29 28 2d 30 78 31 30 30 30  REEITEM)(-0x1000
23790 30 29 3b 0d 0a 63 6f 6e 73 74 20 48 54 52 45 45  0);..const HTREE
237a0 49 54 45 4d 20 54 56 49 5f 46 49 52 53 54 20 3d  ITEM TVI_FIRST =
237b0 20 63 61 73 74 28 48 54 52 45 45 49 54 45 4d 29   cast(HTREEITEM)
237c0 28 2d 30 78 30 46 46 46 46 29 3b 0d 0a 63 6f 6e  (-0x0FFFF);..con
237d0 73 74 20 48 54 52 45 45 49 54 45 4d 20 54 56 49  st HTREEITEM TVI
237e0 5f 4c 41 53 54 20 3d 20 63 61 73 74 28 48 54 52  _LAST = cast(HTR
237f0 45 45 49 54 45 4d 29 28 2d 30 78 30 46 46 46 45  EEITEM)(-0x0FFFE
23800 29 3b 0d 0a 63 6f 6e 73 74 20 48 54 52 45 45 49  );..const HTREEI
23810 54 45 4d 20 54 56 49 5f 53 4f 52 54 20 3d 20 63  TEM TVI_SORT = c
23820 61 73 74 28 48 54 52 45 45 49 54 45 4d 29 28 2d  ast(HTREEITEM)(-
23830 30 78 30 46 46 46 44 29 3b 0d 0a 0d 0a 2f 2f 20  0x0FFFD);....// 
23840 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
23850 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73  = 0x0300)..alias
23860 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55 43   LPTVINSERTSTRUC
23870 54 41 20 4c 50 54 56 5f 49 4e 53 45 52 54 53 54  TA LPTV_INSERTST
23880 52 55 43 54 41 3b 0d 0a 61 6c 69 61 73 20 4c 50  RUCTA;..alias LP
23890 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 20  TVINSERTSTRUCTW 
238a0 4c 50 54 56 5f 49 4e 53 45 52 54 53 54 52 55 43  LPTV_INSERTSTRUC
238b0 54 57 3b 0d 0a 61 6c 69 61 73 20 54 56 49 4e 53  TW;..alias TVINS
238c0 45 52 54 53 54 52 55 43 54 41 20 54 56 5f 49 4e  ERTSTRUCTA TV_IN
238d0 53 45 52 54 53 54 52 55 43 54 41 3b 0d 0a 61 6c  SERTSTRUCTA;..al
238e0 69 61 73 20 54 56 49 4e 53 45 52 54 53 54 52 55  ias TVINSERTSTRU
238f0 43 54 57 20 54 56 5f 49 4e 53 45 52 54 53 54 52  CTW TV_INSERTSTR
23900 55 43 54 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  UCTW;..// #else.
23910 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
23920 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
23930 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
23940 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
23950 0d 0a 0d 0a 61 6c 69 61 73 20 54 56 49 4e 53 45  ....alias TVINSE
23960 52 54 53 54 52 55 43 54 20 54 56 5f 49 4e 53 45  RTSTRUCT TV_INSE
23970 52 54 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73  RTSTRUCT;..alias
23980 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55 43   LPTVINSERTSTRUC
23990 54 20 4c 50 54 56 5f 49 4e 53 45 52 54 53 54 52  T LPTV_INSERTSTR
239a0 55 43 54 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  UCT;....// #defi
239b0 6e 65 20 54 56 49 4e 53 45 52 54 53 54 52 55 43  ne TVINSERTSTRUC
239c0 54 41 5f 56 31 5f 53 49 5a 45 20 43 43 53 49 5a  TA_V1_SIZE CCSIZ
239d0 45 4f 46 5f 53 54 52 55 43 54 28 54 56 49 4e 53  EOF_STRUCT(TVINS
239e0 45 52 54 53 54 52 55 43 54 41 2c 20 69 74 65 6d  ERTSTRUCTA, item
239f0 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 56  )..// #define TV
23a00 49 4e 53 45 52 54 53 54 52 55 43 54 57 5f 56 31  INSERTSTRUCTW_V1
23a10 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53  _SIZE CCSIZEOF_S
23a20 54 52 55 43 54 28 54 56 49 4e 53 45 52 54 53 54  TRUCT(TVINSERTST
23a30 52 55 43 54 57 2c 20 69 74 65 6d 29 0d 0a 0d 0a  RUCTW, item)....
23a40 73 74 72 75 63 74 20 74 61 67 54 56 49 4e 53 45  struct tagTVINSE
23a50 52 54 53 54 52 55 43 54 41 20 7b 0d 0a 20 20 48  RTSTRUCTA {..  H
23a60 54 52 45 45 49 54 45 4d 20 68 50 61 72 65 6e 74  TREEITEM hParent
23a70 3b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d 20 68  ;..  HTREEITEM h
23a80 49 6e 73 65 72 74 41 66 74 65 72 3b 0d 0a 2f 2f  InsertAfter;..//
23a90 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
23aa0 3e 3d 20 30 78 30 34 30 30 29 0d 0a 75 6e 69 6f  >= 0x0400)..unio
23ab0 6e 20 7b 0d 0a 20 20 54 56 49 54 45 4d 45 58 41  n {..  TVITEMEXA
23ac0 20 69 74 65 6d 65 78 3b 0d 0a 20 20 54 56 5f 49   itemex;..  TV_I
23ad0 54 45 4d 41 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 0d  TEMA item;..}...
23ae0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
23af0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ...// #endif..}.
23b00 0a 61 6c 69 61 73 20 74 61 67 54 56 49 4e 53 45  .alias tagTVINSE
23b10 52 54 53 54 52 55 43 54 41 20 54 56 49 4e 53 45  RTSTRUCTA TVINSE
23b20 52 54 53 54 52 55 43 54 41 3b 0d 0a 61 6c 69 61  RTSTRUCTA;..alia
23b30 73 20 74 61 67 54 56 49 4e 53 45 52 54 53 54 52  s tagTVINSERTSTR
23b40 55 43 54 41 2a 20 4c 50 54 56 49 4e 53 45 52 54  UCTA* LPTVINSERT
23b50 53 54 52 55 43 54 41 3b 0d 0a 0d 0a 73 74 72 75  STRUCTA;....stru
23b60 63 74 20 74 61 67 54 56 49 4e 53 45 52 54 53 54  ct tagTVINSERTST
23b70 52 55 43 54 57 20 7b 0d 0a 20 20 48 54 52 45 45  RUCTW {..  HTREE
23b80 49 54 45 4d 20 68 50 61 72 65 6e 74 3b 0d 0a 20  ITEM hParent;.. 
23b90 20 48 54 52 45 45 49 54 45 4d 20 68 49 6e 73 65   HTREEITEM hInse
23ba0 72 74 41 66 74 65 72 3b 0d 0a 2f 2f 20 23 69 66  rtAfter;..// #if
23bb0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
23bc0 78 30 34 30 30 29 0d 0a 75 6e 69 6f 6e 20 7b 0d  x0400)..union {.
23bd0 0a 20 20 54 56 49 54 45 4d 45 58 57 20 69 74 65  .  TVITEMEXW ite
23be0 6d 65 78 3b 0d 0a 20 20 54 56 5f 49 54 45 4d 57  mex;..  TV_ITEMW
23bf0 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 20   item;..}....// 
23c00 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
23c10 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69  / #endif..}..ali
23c20 61 73 20 74 61 67 54 56 49 4e 53 45 52 54 53 54  as tagTVINSERTST
23c30 52 55 43 54 57 20 54 56 49 4e 53 45 52 54 53 54  RUCTW TVINSERTST
23c40 52 55 43 54 57 3b 0d 0a 61 6c 69 61 73 20 74 61  RUCTW;..alias ta
23c50 67 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57  gTVINSERTSTRUCTW
23c60 2a 20 4c 50 54 56 49 4e 53 45 52 54 53 54 52 55  * LPTVINSERTSTRU
23c70 43 54 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  CTW;....// #ifde
23c80 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
23c90 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 57   TVINSERTSTRUCTW
23ca0 20 54 56 49 4e 53 45 52 54 53 54 52 55 43 54 3b   TVINSERTSTRUCT;
23cb0 0d 0a 61 6c 69 61 73 20 4c 50 54 56 49 4e 53 45  ..alias LPTVINSE
23cc0 52 54 53 54 52 55 43 54 57 20 4c 50 54 56 49 4e  RTSTRUCTW LPTVIN
23cd0 53 45 52 54 53 54 52 55 43 54 3b 0d 0a 2f 2f 20  SERTSTRUCT;..// 
23ce0 23 64 65 66 69 6e 65 20 54 56 49 4e 53 45 52 54  #define TVINSERT
23cf0 53 54 52 55 43 54 5f 56 31 5f 53 49 5a 45 20 54  STRUCT_V1_SIZE T
23d00 56 49 4e 53 45 52 54 53 54 52 55 43 54 57 5f 56  VINSERTSTRUCTW_V
23d10 31 5f 53 49 5a 45 0d 0a 2f 2f 20 23 65 6c 73 65  1_SIZE..// #else
23d20 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
23d30 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
23d40 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
23d50 20 75 69 6e 74 20 7b 20 54 56 4d 5f 49 4e 53 45   uint { TVM_INSE
23d60 52 54 49 54 45 4d 41 20 3d 20 54 56 5f 46 49 52  RTITEMA = TV_FIR
23d70 53 54 20 2b 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  ST + 0 }..enum :
23d80 20 75 69 6e 74 20 7b 20 54 56 4d 5f 49 4e 53 45   uint { TVM_INSE
23d90 52 54 49 54 45 4d 57 20 3d 20 54 56 5f 46 49 52  RTITEMW = TV_FIR
23da0 53 54 20 2b 20 35 30 20 7d 0d 0a 2f 2f 20 23 69  ST + 50 }..// #i
23db0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
23dc0 69 61 73 20 54 56 4d 5f 49 4e 53 45 52 54 49 54  ias TVM_INSERTIT
23dd0 45 4d 57 20 54 56 4d 5f 49 4e 53 45 52 54 49 54  EMW TVM_INSERTIT
23de0 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  EM;..// #else../
23df0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
23e00 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  f....// #define 
23e10 54 72 65 65 56 69 65 77 5f 49 6e 73 65 72 74 49  TreeView_InsertI
23e20 74 65 6d 28 68 77 6e 64 2c 20 6c 70 69 73 29 20  tem(hwnd, lpis) 
23e30 28 48 54 52 45 45 49 54 45 4d 29 53 4e 44 4d 53  (HTREEITEM)SNDMS
23e40 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 49 4e  G((hwnd), TVM_IN
23e50 53 45 52 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50  SERTITEM, 0, (LP
23e60 41 52 41 4d 29 28 4c 50 54 56 5f 49 4e 53 45 52  ARAM)(LPTV_INSER
23e70 54 53 54 52 55 43 54 29 28 6c 70 69 73 29 29 0d  TSTRUCT)(lpis)).
23e80 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
23e90 20 54 56 4d 5f 44 45 4c 45 54 45 49 54 45 4d 20   TVM_DELETEITEM 
23ea0 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31 20 7d  = TV_FIRST + 1 }
23eb0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
23ec0 65 56 69 65 77 5f 44 65 6c 65 74 65 49 74 65 6d  eView_DeleteItem
23ed0 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 28 42  (hwnd, hitem) (B
23ee0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
23ef0 29 2c 20 54 56 4d 5f 44 45 4c 45 54 45 49 54 45  ), TVM_DELETEITE
23f00 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 48  M, 0, (LPARAM)(H
23f10 54 52 45 45 49 54 45 4d 29 28 68 69 74 65 6d 29  TREEITEM)(hitem)
23f20 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  )....// #define 
23f30 54 72 65 65 56 69 65 77 5f 44 65 6c 65 74 65 41  TreeView_DeleteA
23f40 6c 6c 49 74 65 6d 73 28 68 77 6e 64 29 20 28 42  llItems(hwnd) (B
23f50 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
23f60 29 2c 20 54 56 4d 5f 44 45 4c 45 54 45 49 54 45  ), TVM_DELETEITE
23f70 4d 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 54 56  M, 0, (LPARAM)TV
23f80 49 5f 52 4f 4f 54 29 0d 0a 0d 0a 65 6e 75 6d 20  I_ROOT)....enum 
23f90 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 45 58 50  : uint { TVM_EXP
23fa0 41 4e 44 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  AND = TV_FIRST +
23fb0 20 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   2 }..// #define
23fc0 20 54 72 65 65 56 69 65 77 5f 45 78 70 61 6e 64   TreeView_Expand
23fd0 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 63 6f  (hwnd, hitem, co
23fe0 64 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  de) (BOOL)SNDMSG
23ff0 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 45 58 50  ((hwnd), TVM_EXP
24000 41 4e 44 2c 20 28 57 50 41 52 41 4d 29 28 63 6f  AND, (WPARAM)(co
24010 64 65 29 2c 20 28 4c 50 41 52 41 4d 29 28 48 54  de), (LPARAM)(HT
24020 52 45 45 49 54 45 4d 29 28 68 69 74 65 6d 29 29  REEITEM)(hitem))
24030 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
24040 7b 20 54 56 45 5f 43 4f 4c 4c 41 50 53 45 20 3d  { TVE_COLLAPSE =
24050 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
24060 3a 20 75 69 6e 74 20 7b 20 54 56 45 5f 45 58 50  : uint { TVE_EXP
24070 41 4e 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  AND = 0x0002 }..
24080 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
24090 45 5f 54 4f 47 47 4c 45 20 3d 20 30 78 30 30 30  E_TOGGLE = 0x000
240a0 33 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  3 }..// #if (_WI
240b0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
240c0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
240d0 20 54 56 45 5f 45 58 50 41 4e 44 50 41 52 54 49   TVE_EXPANDPARTI
240e0 41 4c 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 2f  AL = 0x4000 }../
240f0 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a  / #endif..enum :
24100 20 75 69 6e 74 20 7b 20 54 56 45 5f 43 4f 4c 4c   uint { TVE_COLL
24110 41 50 53 45 52 45 53 45 54 20 3d 20 30 78 38 30  APSERESET = 0x80
24120 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
24130 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 49 54 45  int { TVM_GETITE
24140 4d 52 45 43 54 20 3d 20 54 56 5f 46 49 52 53 54  MRECT = TV_FIRST
24150 20 2b 20 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   + 4 }..// #defi
24160 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 49  ne TreeView_GetI
24170 74 65 6d 52 65 63 74 28 68 77 6e 64 2c 20 68 69  temRect(hwnd, hi
24180 74 65 6d 2c 20 70 72 63 2c 20 63 6f 64 65 29 20  tem, prc, code) 
24190 28 2a 28 48 54 52 45 45 49 54 45 4d 20 2a 29 70  (*(HTREEITEM *)p
241a0 72 63 20 3d 20 28 68 69 74 65 6d 29 2c 20 28 42  rc = (hitem), (B
241b0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
241c0 29 2c 20 54 56 4d 5f 47 45 54 49 54 45 4d 52 45  ), TVM_GETITEMRE
241d0 43 54 2c 20 28 57 50 41 52 41 4d 29 28 63 6f 64  CT, (WPARAM)(cod
241e0 65 29 2c 20 28 4c 50 41 52 41 4d 29 28 52 45 43  e), (LPARAM)(REC
241f0 54 20 2a 29 28 70 72 63 29 29 29 0d 0a 0d 0a 65  T *)(prc)))....e
24200 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d  num : uint { TVM
24210 5f 47 45 54 43 4f 55 4e 54 20 3d 20 54 56 5f 46  _GETCOUNT = TV_F
24220 49 52 53 54 20 2b 20 35 20 7d 0d 0a 2f 2f 20 23  IRST + 5 }..// #
24230 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
24240 47 65 74 43 6f 75 6e 74 28 68 77 6e 64 29 20 28  GetCount(hwnd) (
24250 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 68 77 6e  UINT)SNDMSG((hwn
24260 64 29 2c 20 54 56 4d 5f 47 45 54 43 4f 55 4e 54  d), TVM_GETCOUNT
24270 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
24280 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54  : uint { TVM_GET
24290 49 4e 44 45 4e 54 20 3d 20 54 56 5f 46 49 52 53  INDENT = TV_FIRS
242a0 54 20 2b 20 36 20 7d 0d 0a 2f 2f 20 23 64 65 66  T + 6 }..// #def
242b0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74  ine TreeView_Get
242c0 49 6e 64 65 6e 74 28 68 77 6e 64 29 20 28 55 49  Indent(hwnd) (UI
242d0 4e 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  NT)SNDMSG((hwnd)
242e0 2c 20 54 56 4d 5f 47 45 54 49 4e 44 45 4e 54 2c  , TVM_GETINDENT,
242f0 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a   0, 0)....enum :
24300 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 49   uint { TVM_SETI
24310 4e 44 45 4e 54 20 3d 20 54 56 5f 46 49 52 53 54  NDENT = TV_FIRST
24320 20 2b 20 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   + 7 }..// #defi
24330 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74 49  ne TreeView_SetI
24340 6e 64 65 6e 74 28 68 77 6e 64 2c 20 69 6e 64 65  ndent(hwnd, inde
24350 6e 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  nt) (BOOL)SNDMSG
24360 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54  ((hwnd), TVM_SET
24370 49 4e 44 45 4e 54 2c 20 28 57 50 41 52 41 4d 29  INDENT, (WPARAM)
24380 28 69 6e 64 65 6e 74 29 2c 20 30 29 0d 0a 0d 0a  (indent), 0)....
24390 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
243a0 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 20 3d  M_GETIMAGELIST =
243b0 20 54 56 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d   TV_FIRST + 8 }.
243c0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65  .// #define Tree
243d0 56 69 65 77 5f 47 65 74 49 6d 61 67 65 4c 69 73  View_GetImageLis
243e0 74 28 68 77 6e 64 2c 20 69 49 6d 61 67 65 29 20  t(hwnd, iImage) 
243f0 28 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d  (HIMAGELIST)SNDM
24400 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47  SG((hwnd), TVM_G
24410 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 69 49 6d  ETIMAGELIST, iIm
24420 61 67 65 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  age, 0)....enum 
24430 3a 20 75 69 6e 74 20 7b 20 54 56 53 49 4c 5f 4e  : uint { TVSIL_N
24440 4f 52 4d 41 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75  ORMAL = 0 }..enu
24450 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 53 49 4c  m : uint { TVSIL
24460 5f 53 54 41 54 45 20 3d 20 32 20 7d 0d 0a 0d 0a  _STATE = 2 }....
24470 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
24480 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 20 3d  M_SETIMAGELIST =
24490 20 54 56 5f 46 49 52 53 54 20 2b 20 39 20 7d 0d   TV_FIRST + 9 }.
244a0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65  .// #define Tree
244b0 56 69 65 77 5f 53 65 74 49 6d 61 67 65 4c 69 73  View_SetImageLis
244c0 74 28 68 77 6e 64 2c 20 68 69 6d 6c 2c 20 69 49  t(hwnd, himl, iI
244d0 6d 61 67 65 29 20 28 48 49 4d 41 47 45 4c 49 53  mage) (HIMAGELIS
244e0 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  T)SNDMSG((hwnd),
244f0 20 54 56 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53   TVM_SETIMAGELIS
24500 54 2c 20 69 49 6d 61 67 65 2c 20 28 4c 50 41 52  T, iImage, (LPAR
24510 41 4d 29 28 48 49 4d 41 47 45 4c 49 53 54 29 28  AM)(HIMAGELIST)(
24520 68 69 6d 6c 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  himl))....enum :
24530 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 4e   uint { TVM_GETN
24540 45 58 54 49 54 45 4d 20 3d 20 54 56 5f 46 49 52  EXTITEM = TV_FIR
24550 53 54 20 2b 20 31 30 20 7d 0d 0a 2f 2f 20 23 64  ST + 10 }..// #d
24560 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47  efine TreeView_G
24570 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e 64 2c  etNextItem(hwnd,
24580 20 68 69 74 65 6d 2c 20 63 6f 64 65 29 20 28 48   hitem, code) (H
24590 54 52 45 45 49 54 45 4d 29 53 4e 44 4d 53 47 28  TREEITEM)SNDMSG(
245a0 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 4e  (hwnd), TVM_GETN
245b0 45 58 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d  EXTITEM, (WPARAM
245c0 29 28 63 6f 64 65 29 2c 20 28 4c 50 41 52 41 4d  )(code), (LPARAM
245d0 29 28 48 54 52 45 45 49 54 45 4d 29 28 68 69 74  )(HTREEITEM)(hit
245e0 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  em))....enum : u
245f0 69 6e 74 20 7b 20 54 56 47 4e 5f 52 4f 4f 54 20  int { TVGN_ROOT 
24600 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x0000 }..enum
24610 20 3a 20 75 69 6e 74 20 7b 20 54 56 47 4e 5f 4e   : uint { TVGN_N
24620 45 58 54 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a  EXT = 0x0001 }..
24630 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
24640 47 4e 5f 50 52 45 56 49 4f 55 53 20 3d 20 30 78  GN_PREVIOUS = 0x
24650 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
24660 69 6e 74 20 7b 20 54 56 47 4e 5f 50 41 52 45 4e  int { TVGN_PAREN
24670 54 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e  T = 0x0003 }..en
24680 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 47 4e  um : uint { TVGN
24690 5f 43 48 49 4c 44 20 3d 20 30 78 30 30 30 34 20  _CHILD = 0x0004 
246a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
246b0 20 54 56 47 4e 5f 46 49 52 53 54 56 49 53 49 42   TVGN_FIRSTVISIB
246c0 4c 45 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65  LE = 0x0005 }..e
246d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 47  num : uint { TVG
246e0 4e 5f 4e 45 58 54 56 49 53 49 42 4c 45 20 3d 20  N_NEXTVISIBLE = 
246f0 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0006 }..enum :
24700 20 75 69 6e 74 20 7b 20 54 56 47 4e 5f 50 52 45   uint { TVGN_PRE
24710 56 49 4f 55 53 56 49 53 49 42 4c 45 20 3d 20 30  VIOUSVISIBLE = 0
24720 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0007 }..enum : 
24730 75 69 6e 74 20 7b 20 54 56 47 4e 5f 44 52 4f 50  uint { TVGN_DROP
24740 48 49 4c 49 54 45 20 3d 20 30 78 30 30 30 38 20  HILITE = 0x0008 
24750 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
24760 20 54 56 47 4e 5f 43 41 52 45 54 20 3d 20 30 78   TVGN_CARET = 0x
24770 30 30 30 39 20 7d 0d 0a 2f 2f 20 23 69 66 20 28  0009 }..// #if (
24780 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30  _WIN32_IE >= 0x0
24790 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  400)..enum : uin
247a0 74 20 7b 20 54 56 47 4e 5f 4c 41 53 54 56 49 53  t { TVGN_LASTVIS
247b0 49 42 4c 45 20 3d 20 30 78 30 30 30 41 20 7d 0d  IBLE = 0x000A }.
247c0 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20  .// #endif      
247d0 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  // _WIN32_IE >= 
247e0 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 69 66  0x0400....// #if
247f0 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
24800 3d 20 30 78 35 30 31 29 0d 0a 65 6e 75 6d 20 3a  = 0x501)..enum :
24810 20 75 69 6e 74 20 7b 20 54 56 53 49 5f 4e 4f 53   uint { TVSI_NOS
24820 49 4e 47 4c 45 45 58 50 41 4e 44 20 3d 20 30 78  INGLEEXPAND = 0x
24830 38 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  8000 }..// #endi
24840 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  f....// #define 
24850 54 72 65 65 56 69 65 77 5f 47 65 74 43 68 69 6c  TreeView_GetChil
24860 64 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 54  d(hwnd, hitem) T
24870 72 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49  reeView_GetNextI
24880 74 65 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c  tem(hwnd, hitem,
24890 20 54 56 47 4e 5f 43 48 49 4c 44 29 0d 0a 2f 2f   TVGN_CHILD)..//
248a0 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
248b0 77 5f 47 65 74 4e 65 78 74 53 69 62 6c 69 6e 67  w_GetNextSibling
248c0 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 72  (hwnd, hitem) Tr
248d0 65 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74  eeView_GetNextIt
248e0 65 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20  em(hwnd, hitem, 
248f0 54 56 47 4e 5f 4e 45 58 54 29 0d 0a 2f 2f 20 23  TVGN_NEXT)..// #
24900 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
24910 47 65 74 50 72 65 76 53 69 62 6c 69 6e 67 28 68  GetPrevSibling(h
24920 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 72 65 65  wnd, hitem) Tree
24930 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65 6d  View_GetNextItem
24940 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 54 56  (hwnd, hitem, TV
24950 47 4e 5f 50 52 45 56 49 4f 55 53 29 0d 0a 2f 2f  GN_PREVIOUS)..//
24960 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
24970 77 5f 47 65 74 50 61 72 65 6e 74 28 68 77 6e 64  w_GetParent(hwnd
24980 2c 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65  , hitem) TreeVie
24990 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77  w_GetNextItem(hw
249a0 6e 64 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f  nd, hitem, TVGN_
249b0 50 41 52 45 4e 54 29 0d 0a 2f 2f 20 23 64 65 66  PARENT)..// #def
249c0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74  ine TreeView_Get
249d0 46 69 72 73 74 56 69 73 69 62 6c 65 28 68 77 6e  FirstVisible(hwn
249e0 64 29 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e  d) TreeView_GetN
249f0 65 78 74 49 74 65 6d 28 68 77 6e 64 2c 20 4e 55  extItem(hwnd, NU
24a00 4c 4c 2c 20 54 56 47 4e 5f 46 49 52 53 54 56 49  LL, TVGN_FIRSTVI
24a10 53 49 42 4c 45 29 0d 0a 2f 2f 20 23 64 65 66 69  SIBLE)..// #defi
24a20 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 4e  ne TreeView_GetN
24a30 65 78 74 56 69 73 69 62 6c 65 28 68 77 6e 64 2c  extVisible(hwnd,
24a40 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65 77   hitem) TreeView
24a50 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77 6e  _GetNextItem(hwn
24a60 64 2c 20 68 69 74 65 6d 2c 20 54 56 47 4e 5f 4e  d, hitem, TVGN_N
24a70 45 58 54 56 49 53 49 42 4c 45 29 0d 0a 2f 2f 20  EXTVISIBLE)..// 
24a80 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
24a90 5f 47 65 74 50 72 65 76 56 69 73 69 62 6c 65 28  _GetPrevVisible(
24aa0 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 54 72 65  hwnd, hitem) Tre
24ab0 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65  eView_GetNextIte
24ac0 6d 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c 20 54  m(hwnd, hitem, T
24ad0 56 47 4e 5f 50 52 45 56 49 4f 55 53 56 49 53 49  VGN_PREVIOUSVISI
24ae0 42 4c 45 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  BLE)..// #define
24af0 20 54 72 65 65 56 69 65 77 5f 47 65 74 53 65 6c   TreeView_GetSel
24b00 65 63 74 69 6f 6e 28 68 77 6e 64 29 20 54 72 65  ection(hwnd) Tre
24b10 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65  eView_GetNextIte
24b20 6d 28 68 77 6e 64 2c 20 4e 55 4c 4c 2c 20 54 56  m(hwnd, NULL, TV
24b30 47 4e 5f 43 41 52 45 54 29 0d 0a 2f 2f 20 23 64  GN_CARET)..// #d
24b40 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 47  efine TreeView_G
24b50 65 74 44 72 6f 70 48 69 6c 69 67 68 74 28 68 77  etDropHilight(hw
24b60 6e 64 29 20 54 72 65 65 56 69 65 77 5f 47 65 74  nd) TreeView_Get
24b70 4e 65 78 74 49 74 65 6d 28 68 77 6e 64 2c 20 4e  NextItem(hwnd, N
24b80 55 4c 4c 2c 20 54 56 47 4e 5f 44 52 4f 50 48 49  ULL, TVGN_DROPHI
24b90 4c 49 54 45 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  LITE)..// #defin
24ba0 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 52 6f  e TreeView_GetRo
24bb0 6f 74 28 68 77 6e 64 29 20 54 72 65 65 56 69 65  ot(hwnd) TreeVie
24bc0 77 5f 47 65 74 4e 65 78 74 49 74 65 6d 28 68 77  w_GetNextItem(hw
24bd0 6e 64 2c 20 4e 55 4c 4c 2c 20 54 56 47 4e 5f 52  nd, NULL, TVGN_R
24be0 4f 4f 54 29 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  OOT)..// #if (_W
24bf0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
24c00 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54  0)..// #define T
24c10 72 65 65 56 69 65 77 5f 47 65 74 4c 61 73 74 56  reeView_GetLastV
24c20 69 73 69 62 6c 65 28 68 77 6e 64 29 20 54 72 65  isible(hwnd) Tre
24c30 65 56 69 65 77 5f 47 65 74 4e 65 78 74 49 74 65  eView_GetNextIte
24c40 6d 28 68 77 6e 64 2c 20 4e 55 4c 4c 2c 20 54 56  m(hwnd, NULL, TV
24c50 47 4e 5f 4c 41 53 54 56 49 53 49 42 4c 45 29 0d  GN_LASTVISIBLE).
24c60 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20  .// #endif      
24c70 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  // _WIN32_IE >= 
24c80 30 78 30 34 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x0400....enum :
24c90 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 4c 45   uint { TVM_SELE
24ca0 43 54 49 54 45 4d 20 3d 20 54 56 5f 46 49 52 53  CTITEM = TV_FIRS
24cb0 54 20 2b 20 31 31 20 7d 0d 0a 2f 2f 20 23 64 65  T + 11 }..// #de
24cc0 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65  fine TreeView_Se
24cd0 6c 65 63 74 28 68 77 6e 64 2c 20 68 69 74 65 6d  lect(hwnd, hitem
24ce0 2c 20 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53 4e  , code) (BOOL)SN
24cf0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
24d00 5f 53 45 4c 45 43 54 49 54 45 4d 2c 20 28 57 50  _SELECTITEM, (WP
24d10 41 52 41 4d 29 28 63 6f 64 65 29 2c 20 28 4c 50  ARAM)(code), (LP
24d20 41 52 41 4d 29 28 48 54 52 45 45 49 54 45 4d 29  ARAM)(HTREEITEM)
24d30 28 68 69 74 65 6d 29 29 0d 0a 0d 0a 2f 2f 20 23  (hitem))....// #
24d40 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
24d50 53 65 6c 65 63 74 49 74 65 6d 28 68 77 6e 64 2c  SelectItem(hwnd,
24d60 20 68 69 74 65 6d 29 20 54 72 65 65 56 69 65 77   hitem) TreeView
24d70 5f 53 65 6c 65 63 74 28 68 77 6e 64 2c 20 68 69  _Select(hwnd, hi
24d80 74 65 6d 2c 20 54 56 47 4e 5f 43 41 52 45 54 29  tem, TVGN_CARET)
24d90 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
24da0 65 56 69 65 77 5f 53 65 6c 65 63 74 44 72 6f 70  eView_SelectDrop
24db0 54 61 72 67 65 74 28 68 77 6e 64 2c 20 68 69 74  Target(hwnd, hit
24dc0 65 6d 29 20 54 72 65 65 56 69 65 77 5f 53 65 6c  em) TreeView_Sel
24dd0 65 63 74 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c  ect(hwnd, hitem,
24de0 20 54 56 47 4e 5f 44 52 4f 50 48 49 4c 49 54 45   TVGN_DROPHILITE
24df0 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  )..// #define Tr
24e00 65 65 56 69 65 77 5f 53 65 6c 65 63 74 53 65 74  eeView_SelectSet
24e10 46 69 72 73 74 56 69 73 69 62 6c 65 28 68 77 6e  FirstVisible(hwn
24e20 64 2c 20 68 69 74 65 6d 29 20 54 72 65 65 56 69  d, hitem) TreeVi
24e30 65 77 5f 53 65 6c 65 63 74 28 68 77 6e 64 2c 20  ew_Select(hwnd, 
24e40 68 69 74 65 6d 2c 20 54 56 47 4e 5f 46 49 52 53  hitem, TVGN_FIRS
24e50 54 56 49 53 49 42 4c 45 29 0d 0a 0d 0a 65 6e 75  TVISIBLE)....enu
24e60 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47  m : uint { TVM_G
24e70 45 54 49 54 45 4d 41 20 3d 20 54 56 5f 46 49 52  ETITEMA = TV_FIR
24e80 53 54 20 2b 20 31 32 20 7d 0d 0a 65 6e 75 6d 20  ST + 12 }..enum 
24e90 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54  : uint { TVM_GET
24ea0 49 54 45 4d 57 20 3d 20 54 56 5f 46 49 52 53 54  ITEMW = TV_FIRST
24eb0 20 2b 20 36 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69   + 62 }....// #i
24ec0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
24ed0 69 61 73 20 54 56 4d 5f 47 45 54 49 54 45 4d 57  ias TVM_GETITEMW
24ee0 20 54 56 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f   TVM_GETITEM;../
24ef0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
24f00 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
24f10 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
24f20 65 77 5f 47 65 74 49 74 65 6d 28 68 77 6e 64 2c  ew_GetItem(hwnd,
24f30 20 70 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e   pitem) (BOOL)SN
24f40 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
24f50 5f 47 45 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50  _GETITEM, 0, (LP
24f60 41 52 41 4d 29 28 54 56 5f 49 54 45 4d 20 2a 29  ARAM)(TV_ITEM *)
24f70 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d  (pitem))....enum
24f80 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45   : uint { TVM_SE
24f90 54 49 54 45 4d 41 20 3d 20 54 56 5f 46 49 52 53  TITEMA = TV_FIRS
24fa0 54 20 2b 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a  T + 13 }..enum :
24fb0 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 49   uint { TVM_SETI
24fc0 54 45 4d 57 20 3d 20 54 56 5f 46 49 52 53 54 20  TEMW = TV_FIRST 
24fd0 2b 20 36 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  + 63 }....// #if
24fe0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
24ff0 61 73 20 54 56 4d 5f 53 45 54 49 54 45 4d 57 20  as TVM_SETITEMW 
25000 54 56 4d 5f 53 45 54 49 54 45 4d 3b 0d 0a 2f 2f  TVM_SETITEM;..//
25010 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
25020 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
25030 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
25040 77 5f 53 65 74 49 74 65 6d 28 68 77 6e 64 2c 20  w_SetItem(hwnd, 
25050 70 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44  pitem) (BOOL)SND
25060 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f  MSG((hwnd), TVM_
25070 53 45 54 49 54 45 4d 2c 20 30 2c 20 28 4c 50 41  SETITEM, 0, (LPA
25080 52 41 4d 29 28 63 6f 6e 73 74 20 54 56 5f 49 54  RAM)(const TV_IT
25090 45 4d 20 2a 29 28 70 69 74 65 6d 29 29 0d 0a 0d  EM *)(pitem))...
250a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
250b0 56 4d 5f 45 44 49 54 4c 41 42 45 4c 41 20 3d 20  VM_EDITLABELA = 
250c0 54 56 5f 46 49 52 53 54 20 2b 20 31 34 20 7d 0d  TV_FIRST + 14 }.
250d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
250e0 56 4d 5f 45 44 49 54 4c 41 42 45 4c 57 20 3d 20  VM_EDITLABELW = 
250f0 54 56 5f 46 49 52 53 54 20 2b 20 36 35 20 7d 0d  TV_FIRST + 65 }.
25100 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
25110 44 45 0d 0a 61 6c 69 61 73 20 54 56 4d 5f 45 44  DE..alias TVM_ED
25120 49 54 4c 41 42 45 4c 57 20 54 56 4d 5f 45 44 49  ITLABELW TVM_EDI
25130 54 4c 41 42 45 4c 3b 0d 0a 2f 2f 20 23 65 6c 73  TLABEL;..// #els
25140 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
25150 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66  endif....// #def
25160 69 6e 65 20 54 72 65 65 56 69 65 77 5f 45 64 69  ine TreeView_Edi
25170 74 4c 61 62 65 6c 28 68 77 6e 64 2c 20 68 69 74  tLabel(hwnd, hit
25180 65 6d 29 20 28 48 57 4e 44 29 53 4e 44 4d 53 47  em) (HWND)SNDMSG
25190 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 45 44 49  ((hwnd), TVM_EDI
251a0 54 4c 41 42 45 4c 2c 20 30 2c 20 28 4c 50 41 52  TLABEL, 0, (LPAR
251b0 41 4d 29 28 48 54 52 45 45 49 54 45 4d 29 28 68  AM)(HTREEITEM)(h
251c0 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  item))....enum :
251d0 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 45   uint { TVM_GETE
251e0 44 49 54 43 4f 4e 54 52 4f 4c 20 3d 20 54 56 5f  DITCONTROL = TV_
251f0 46 49 52 53 54 20 2b 20 31 35 20 7d 0d 0a 2f 2f  FIRST + 15 }..//
25200 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
25210 77 5f 47 65 74 45 64 69 74 43 6f 6e 74 72 6f 6c  w_GetEditControl
25220 28 68 77 6e 64 29 20 28 48 57 4e 44 29 53 4e 44  (hwnd) (HWND)SND
25230 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f  MSG((hwnd), TVM_
25240 47 45 54 45 44 49 54 43 4f 4e 54 52 4f 4c 2c 20  GETEDITCONTROL, 
25250 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0, 0)....enum : 
25260 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 56 49  uint { TVM_GETVI
25270 53 49 42 4c 45 43 4f 55 4e 54 20 3d 20 54 56 5f  SIBLECOUNT = TV_
25280 46 49 52 53 54 20 2b 20 31 36 20 7d 0d 0a 2f 2f  FIRST + 16 }..//
25290 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
252a0 77 5f 47 65 74 56 69 73 69 62 6c 65 43 6f 75 6e  w_GetVisibleCoun
252b0 74 28 68 77 6e 64 29 20 28 55 49 4e 54 29 53 4e  t(hwnd) (UINT)SN
252c0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
252d0 5f 47 45 54 56 49 53 49 42 4c 45 43 4f 55 4e 54  _GETVISIBLECOUNT
252e0 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
252f0 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 48 49 54  : uint { TVM_HIT
25300 54 45 53 54 20 3d 20 54 56 5f 46 49 52 53 54 20  TEST = TV_FIRST 
25310 2b 20 31 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 17 }..// #defi
25320 6e 65 20 54 72 65 65 56 69 65 77 5f 48 69 74 54  ne TreeView_HitT
25330 65 73 74 28 68 77 6e 64 2c 20 6c 70 68 74 29 20  est(hwnd, lpht) 
25340 28 48 54 52 45 45 49 54 45 4d 29 53 4e 44 4d 53  (HTREEITEM)SNDMS
25350 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 48 49  G((hwnd), TVM_HI
25360 54 54 45 53 54 2c 20 30 2c 20 28 4c 50 41 52 41  TTEST, 0, (LPARA
25370 4d 29 28 4c 50 54 56 5f 48 49 54 54 45 53 54 49  M)(LPTV_HITTESTI
25380 4e 46 4f 29 28 6c 70 68 74 29 29 0d 0a 0d 0a 2f  NFO)(lpht))..../
25390 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
253a0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69   >= 0x0300)..ali
253b0 61 73 20 4c 50 54 56 48 49 54 54 45 53 54 49 4e  as LPTVHITTESTIN
253c0 46 4f 20 4c 50 54 56 5f 48 49 54 54 45 53 54 49  FO LPTV_HITTESTI
253d0 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 56 48 49  NFO;..alias TVHI
253e0 54 54 45 53 54 49 4e 46 4f 20 54 56 5f 48 49 54  TTESTINFO TV_HIT
253f0 54 45 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65  TESTINFO;..// #e
25400 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
25410 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
25420 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72  // #endif....str
25430 75 63 74 20 74 61 67 54 56 48 49 54 54 45 53 54  uct tagTVHITTEST
25440 49 4e 46 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20  INFO {..  POINT 
25450 70 74 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67  pt;..  UINT flag
25460 73 3b 0d 0a 20 20 48 54 52 45 45 49 54 45 4d 20  s;..  HTREEITEM 
25470 68 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  hItem;..}..alias
25480 20 74 61 67 54 56 48 49 54 54 45 53 54 49 4e 46   tagTVHITTESTINF
25490 4f 20 54 56 48 49 54 54 45 53 54 49 4e 46 4f 3b  O TVHITTESTINFO;
254a0 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 48 49 54  ..alias tagTVHIT
254b0 54 45 53 54 49 4e 46 4f 2a 20 4c 50 54 56 48 49  TESTINFO* LPTVHI
254c0 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e  TTESTINFO;....en
254d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48 54  um : uint { TVHT
254e0 5f 4e 4f 57 48 45 52 45 20 3d 20 30 78 30 30 30  _NOWHERE = 0x000
254f0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
25500 20 7b 20 54 56 48 54 5f 4f 4e 49 54 45 4d 49 43   { TVHT_ONITEMIC
25510 4f 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  ON = 0x0002 }..e
25520 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48  num : uint { TVH
25530 54 5f 4f 4e 49 54 45 4d 4c 41 42 45 4c 20 3d 20  T_ONITEMLABEL = 
25540 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0004 }..enum :
25550 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 4f 4e 49   uint { TVHT_ONI
25560 54 45 4d 20 3d 20 54 56 48 54 5f 4f 4e 49 54 45  TEM = TVHT_ONITE
25570 4d 49 43 4f 4e 20 7c 20 54 56 48 54 5f 4f 4e 49  MICON | TVHT_ONI
25580 54 45 4d 4c 41 42 45 4c 20 7c 20 54 56 48 54 5f  TEMLABEL | TVHT_
25590 4f 4e 49 54 45 4d 53 54 41 54 45 49 43 4f 4e 20  ONITEMSTATEICON 
255a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
255b0 20 54 56 48 54 5f 4f 4e 49 54 45 4d 49 4e 44 45   TVHT_ONITEMINDE
255c0 4e 54 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65  NT = 0x0008 }..e
255d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 48  num : uint { TVH
255e0 54 5f 4f 4e 49 54 45 4d 42 55 54 54 4f 4e 20 3d  T_ONITEMBUTTON =
255f0 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
25600 3a 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 4f 4e  : uint { TVHT_ON
25610 49 54 45 4d 52 49 47 48 54 20 3d 20 30 78 30 30  ITEMRIGHT = 0x00
25620 32 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  20 }..// #define
25630 20 54 56 48 54 5f 4f 4e 49 54 45 4d 53 54 41 54   TVHT_ONITEMSTAT
25640 45 49 43 4f 4e 20 30 78 30 30 34 30 0d 0a 0d 0a  EICON 0x0040....
25650 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
25660 48 54 5f 41 42 4f 56 45 20 3d 20 30 78 30 31 30  HT_ABOVE = 0x010
25670 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
25680 20 7b 20 54 56 48 54 5f 42 45 4c 4f 57 20 3d 20   { TVHT_BELOW = 
25690 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0200 }..enum :
256a0 20 75 69 6e 74 20 7b 20 54 56 48 54 5f 54 4f 52   uint { TVHT_TOR
256b0 49 47 48 54 20 3d 20 30 78 30 34 30 30 20 7d 0d  IGHT = 0x0400 }.
256c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
256d0 56 48 54 5f 54 4f 4c 45 46 54 20 3d 20 30 78 30  VHT_TOLEFT = 0x0
256e0 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  800 }....enum : 
256f0 75 69 6e 74 20 7b 20 54 56 4d 5f 43 52 45 41 54  uint { TVM_CREAT
25700 45 44 52 41 47 49 4d 41 47 45 20 3d 20 54 56 5f  EDRAGIMAGE = TV_
25710 46 49 52 53 54 20 2b 20 31 38 20 7d 0d 0a 2f 2f  FIRST + 18 }..//
25720 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
25730 77 5f 43 72 65 61 74 65 44 72 61 67 49 6d 61 67  w_CreateDragImag
25740 65 28 68 77 6e 64 2c 20 68 69 74 65 6d 29 20 28  e(hwnd, hitem) (
25750 48 49 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d 53  HIMAGELIST)SNDMS
25760 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 43 52  G((hwnd), TVM_CR
25770 45 41 54 45 44 52 41 47 49 4d 41 47 45 2c 20 30  EATEDRAGIMAGE, 0
25780 2c 20 28 4c 50 41 52 41 4d 29 28 48 54 52 45 45  , (LPARAM)(HTREE
25790 49 54 45 4d 29 28 68 69 74 65 6d 29 29 0d 0a 0d  ITEM)(hitem))...
257a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
257b0 56 4d 5f 53 4f 52 54 43 48 49 4c 44 52 45 4e 20  VM_SORTCHILDREN 
257c0 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 31 39 20  = TV_FIRST + 19 
257d0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  }..// #define Tr
257e0 65 65 56 69 65 77 5f 53 6f 72 74 43 68 69 6c 64  eeView_SortChild
257f0 72 65 6e 28 68 77 6e 64 2c 20 68 69 74 65 6d 2c  ren(hwnd, hitem,
25800 20 72 65 63 75 72 73 65 29 20 28 42 4f 4f 4c 29   recurse) (BOOL)
25810 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54  SNDMSG((hwnd), T
25820 56 4d 5f 53 4f 52 54 43 48 49 4c 44 52 45 4e 2c  VM_SORTCHILDREN,
25830 20 28 57 50 41 52 41 4d 29 28 72 65 63 75 72 73   (WPARAM)(recurs
25840 65 29 2c 20 28 4c 50 41 52 41 4d 29 28 48 54 52  e), (LPARAM)(HTR
25850 45 45 49 54 45 4d 29 28 68 69 74 65 6d 29 29 0d  EEITEM)(hitem)).
25860 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
25870 20 54 56 4d 5f 45 4e 53 55 52 45 56 49 53 49 42   TVM_ENSUREVISIB
25880 4c 45 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20  LE = TV_FIRST + 
25890 32 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  20 }..// #define
258a0 20 54 72 65 65 56 69 65 77 5f 45 6e 73 75 72 65   TreeView_Ensure
258b0 56 69 73 69 62 6c 65 28 68 77 6e 64 2c 20 68 69  Visible(hwnd, hi
258c0 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53  tem) (BOOL)SNDMS
258d0 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 45 4e  G((hwnd), TVM_EN
258e0 53 55 52 45 56 49 53 49 42 4c 45 2c 20 30 2c 20  SUREVISIBLE, 0, 
258f0 28 4c 50 41 52 41 4d 29 28 48 54 52 45 45 49 54  (LPARAM)(HTREEIT
25900 45 4d 29 28 68 69 74 65 6d 29 29 0d 0a 0d 0a 65  EM)(hitem))....e
25910 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d  num : uint { TVM
25920 5f 53 4f 52 54 43 48 49 4c 44 52 45 4e 43 42 20  _SORTCHILDRENCB 
25930 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 31 20  = TV_FIRST + 21 
25940 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  }..// #define Tr
25950 65 65 56 69 65 77 5f 53 6f 72 74 43 68 69 6c 64  eeView_SortChild
25960 72 65 6e 43 42 28 68 77 6e 64 2c 20 70 73 6f 72  renCB(hwnd, psor
25970 74 2c 20 72 65 63 75 72 73 65 29 20 28 42 4f 4f  t, recurse) (BOO
25980 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  L)SNDMSG((hwnd),
25990 20 54 56 4d 5f 53 4f 52 54 43 48 49 4c 44 52 45   TVM_SORTCHILDRE
259a0 4e 43 42 2c 20 28 57 50 41 52 41 4d 29 28 72 65  NCB, (WPARAM)(re
259b0 63 75 72 73 65 29 2c 20 28 4c 50 41 52 41 4d 29  curse), (LPARAM)
259c0 28 4c 50 54 56 5f 53 4f 52 54 43 42 29 28 70 73  (LPTV_SORTCB)(ps
259d0 6f 72 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ort))....enum : 
259e0 75 69 6e 74 20 7b 20 54 56 4d 5f 45 4e 44 45 44  uint { TVM_ENDED
259f0 49 54 4c 41 42 45 4c 4e 4f 57 20 3d 20 54 56 5f  ITLABELNOW = TV_
25a00 46 49 52 53 54 20 2b 20 32 32 20 7d 0d 0a 2f 2f  FIRST + 22 }..//
25a10 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
25a20 77 5f 45 6e 64 45 64 69 74 4c 61 62 65 6c 4e 6f  w_EndEditLabelNo
25a30 77 28 68 77 6e 64 2c 20 66 43 61 6e 63 65 6c 29  w(hwnd, fCancel)
25a40 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
25a50 77 6e 64 29 2c 20 54 56 4d 5f 45 4e 44 45 44 49  wnd), TVM_ENDEDI
25a60 54 4c 41 42 45 4c 4e 4f 57 2c 20 28 57 50 41 52  TLABELNOW, (WPAR
25a70 41 4d 29 28 66 43 61 6e 63 65 6c 29 2c 20 30 29  AM)(fCancel), 0)
25a80 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
25a90 7b 20 54 56 4d 5f 47 45 54 49 53 45 41 52 43 48  { TVM_GETISEARCH
25aa0 53 54 52 49 4e 47 41 20 3d 20 54 56 5f 46 49 52  STRINGA = TV_FIR
25ab0 53 54 20 2b 20 32 33 20 7d 0d 0a 65 6e 75 6d 20  ST + 23 }..enum 
25ac0 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54  : uint { TVM_GET
25ad0 49 53 45 41 52 43 48 53 54 52 49 4e 47 57 20 3d  ISEARCHSTRINGW =
25ae0 20 54 56 5f 46 49 52 53 54 20 2b 20 36 34 20 7d   TV_FIRST + 64 }
25af0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
25b00 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 56 4d  ICODE..alias TVM
25b10 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49 4e  _GETISEARCHSTRIN
25b20 47 57 20 54 56 4d 5f 47 45 54 49 53 45 41 52 43  GW TVM_GETISEARC
25b30 48 53 54 52 49 4e 47 3b 0d 0a 2f 2f 20 23 65 6c  HSTRING;..// #el
25b40 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
25b50 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
25b60 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
25b70 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0300)..enum : u
25b80 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 54 4f 4f  int { TVM_SETTOO
25b90 4c 54 49 50 53 20 3d 20 54 56 5f 46 49 52 53 54  LTIPS = TV_FIRST
25ba0 20 2b 20 32 34 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 24 }..// #def
25bb0 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74  ine TreeView_Set
25bc0 54 6f 6f 6c 54 69 70 73 28 68 77 6e 64 2c 20 68  ToolTips(hwnd, h
25bd0 77 6e 64 54 54 29 20 28 48 57 4e 44 29 53 4e 44  wndTT) (HWND)SND
25be0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f  MSG((hwnd), TVM_
25bf0 53 45 54 54 4f 4f 4c 54 49 50 53 2c 20 28 57 50  SETTOOLTIPS, (WP
25c00 41 52 41 4d 29 28 68 77 6e 64 54 54 29 2c 20 30  ARAM)(hwndTT), 0
25c10 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
25c20 20 54 56 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53   TVM_GETTOOLTIPS
25c30 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 35   = TV_FIRST + 25
25c40 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54   }..// #define T
25c50 72 65 65 56 69 65 77 5f 47 65 74 54 6f 6f 6c 54  reeView_GetToolT
25c60 69 70 73 28 68 77 6e 64 29 20 28 48 57 4e 44 29  ips(hwnd) (HWND)
25c70 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54  SNDMSG((hwnd), T
25c80 56 4d 5f 47 45 54 54 4f 4f 4c 54 49 50 53 2c 20  VM_GETTOOLTIPS, 
25c90 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e 64 69 66  0, 0)..// #endif
25ca0 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54  ....// #define T
25cb0 72 65 65 56 69 65 77 5f 47 65 74 49 53 65 61 72  reeView_GetISear
25cc0 63 68 53 74 72 69 6e 67 28 68 77 6e 64 54 56 2c  chString(hwndTV,
25cd0 20 6c 70 73 7a 29 20 28 42 4f 4f 4c 29 53 4e 44   lpsz) (BOOL)SND
25ce0 4d 53 47 28 28 68 77 6e 64 54 56 29 2c 20 54 56  MSG((hwndTV), TV
25cf0 4d 5f 47 45 54 49 53 45 41 52 43 48 53 54 52 49  M_GETISEARCHSTRI
25d00 4e 47 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  NG, 0, (LPARAM)(
25d10 4c 50 54 53 54 52 29 28 6c 70 73 7a 29 29 0d 0a  LPTSTR)(lpsz))..
25d20 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
25d30 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
25d40 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
25d50 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b 20  M_SETINSERTMARK 
25d60 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32 36 20  = TV_FIRST + 26 
25d70 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  }..// #define Tr
25d80 65 65 56 69 65 77 5f 53 65 74 49 6e 73 65 72 74  eeView_SetInsert
25d90 4d 61 72 6b 28 68 77 6e 64 2c 20 68 49 74 65 6d  Mark(hwnd, hItem
25da0 2c 20 66 41 66 74 65 72 29 20 28 42 4f 4f 4c 29  , fAfter) (BOOL)
25db0 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54  SNDMSG((hwnd), T
25dc0 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b  VM_SETINSERTMARK
25dd0 2c 20 28 57 50 41 52 41 4d 29 20 28 66 41 66 74  , (WPARAM) (fAft
25de0 65 72 29 2c 20 28 4c 50 41 52 41 4d 29 20 28 68  er), (LPARAM) (h
25df0 49 74 65 6d 29 29 0d 0a 0d 0a 61 6c 69 61 73 20  Item))....alias 
25e00 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f  CCM_SETUNICODEFO
25e10 52 4d 41 54 20 54 56 4d 5f 53 45 54 55 4e 49 43  RMAT TVM_SETUNIC
25e20 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23  ODEFORMAT;..// #
25e30 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
25e40 53 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d 61 74  SetUnicodeFormat
25e50 28 68 77 6e 64 2c 20 66 55 6e 69 63 6f 64 65 29  (hwnd, fUnicode)
25e60 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68   (BOOL)SNDMSG((h
25e70 77 6e 64 29 2c 20 54 56 4d 5f 53 45 54 55 4e 49  wnd), TVM_SETUNI
25e80 43 4f 44 45 46 4f 52 4d 41 54 2c 20 28 57 50 41  CODEFORMAT, (WPA
25e90 52 41 4d 29 28 66 55 6e 69 63 6f 64 65 29 2c 20  RAM)(fUnicode), 
25ea0 30 29 0d 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f  0)....alias CCM_
25eb0 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54  GETUNICODEFORMAT
25ec0 20 54 56 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46   TVM_GETUNICODEF
25ed0 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69  ORMAT;..// #defi
25ee0 6e 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 55  ne TreeView_GetU
25ef0 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e  nicodeFormat(hwn
25f00 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  d) (BOOL)SNDMSG(
25f10 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 55  (hwnd), TVM_GETU
25f20 4e 49 43 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c  NICODEFORMAT, 0,
25f30 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66   0)....// #endif
25f40 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
25f50 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29  32_IE >= 0x0400)
25f60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25f70 54 56 4d 5f 53 45 54 49 54 45 4d 48 45 49 47 48  TVM_SETITEMHEIGH
25f80 54 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 32  T = TV_FIRST + 2
25f90 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  7 }..// #define 
25fa0 54 72 65 65 56 69 65 77 5f 53 65 74 49 74 65 6d  TreeView_SetItem
25fb0 48 65 69 67 68 74 28 68 77 6e 64 2c 20 69 48 65  Height(hwnd, iHe
25fc0 69 67 68 74 29 20 28 69 6e 74 29 53 4e 44 4d 53  ight) (int)SNDMS
25fd0 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 53 45  G((hwnd), TVM_SE
25fe0 54 49 54 45 4d 48 45 49 47 48 54 2c 20 28 57 50  TITEMHEIGHT, (WP
25ff0 41 52 41 4d 29 28 69 48 65 69 67 68 74 29 2c 20  ARAM)(iHeight), 
26000 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
26010 7b 20 54 56 4d 5f 47 45 54 49 54 45 4d 48 45 49  { TVM_GETITEMHEI
26020 47 48 54 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  GHT = TV_FIRST +
26030 20 32 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   28 }..// #defin
26040 65 20 54 72 65 65 56 69 65 77 5f 47 65 74 49 74  e TreeView_GetIt
26050 65 6d 48 65 69 67 68 74 28 68 77 6e 64 29 20 28  emHeight(hwnd) (
26060 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  int)SNDMSG((hwnd
26070 29 2c 20 54 56 4d 5f 47 45 54 49 54 45 4d 48 45  ), TVM_GETITEMHE
26080 49 47 48 54 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65  IGHT, 0, 0)....e
26090 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d  num : uint { TVM
260a0 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 54 56  _SETBKCOLOR = TV
260b0 5f 46 49 52 53 54 20 2b 20 32 39 20 7d 0d 0a 2f  _FIRST + 29 }../
260c0 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
260d0 65 77 5f 53 65 74 42 6b 43 6f 6c 6f 72 28 68 77  ew_SetBkColor(hw
260e0 6e 64 2c 20 63 6c 72 29 20 28 43 4f 4c 4f 52 52  nd, clr) (COLORR
260f0 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  EF)SNDMSG((hwnd)
26100 2c 20 54 56 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52  , TVM_SETBKCOLOR
26110 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c  , 0, (LPARAM)(cl
26120 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  r))....enum : ui
26130 6e 74 20 7b 20 54 56 4d 5f 53 45 54 54 45 58 54  nt { TVM_SETTEXT
26140 43 4f 4c 4f 52 20 3d 20 54 56 5f 46 49 52 53 54  COLOR = TV_FIRST
26150 20 2b 20 33 30 20 7d 0d 0a 2f 2f 20 23 64 65 66   + 30 }..// #def
26160 69 6e 65 20 54 72 65 65 56 69 65 77 5f 53 65 74  ine TreeView_Set
26170 54 65 78 74 43 6f 6c 6f 72 28 68 77 6e 64 2c 20  TextColor(hwnd, 
26180 63 6c 72 29 20 28 43 4f 4c 4f 52 52 45 46 29 53  clr) (COLORREF)S
26190 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56  NDMSG((hwnd), TV
261a0 4d 5f 53 45 54 54 45 58 54 43 4f 4c 4f 52 2c 20  M_SETTEXTCOLOR, 
261b0 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c 72 29  0, (LPARAM)(clr)
261c0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
261d0 20 7b 20 54 56 4d 5f 47 45 54 42 4b 43 4f 4c 4f   { TVM_GETBKCOLO
261e0 52 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 33  R = TV_FIRST + 3
261f0 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  1 }..// #define 
26200 54 72 65 65 56 69 65 77 5f 47 65 74 42 6b 43 6f  TreeView_GetBkCo
26210 6c 6f 72 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52  lor(hwnd) (COLOR
26220 52 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  REF)SNDMSG((hwnd
26230 29 2c 20 54 56 4d 5f 47 45 54 42 4b 43 4f 4c 4f  ), TVM_GETBKCOLO
26240 52 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d  R, 0, 0)....enum
26250 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45   : uint { TVM_GE
26260 54 54 45 58 54 43 4f 4c 4f 52 20 3d 20 54 56 5f  TTEXTCOLOR = TV_
26270 46 49 52 53 54 20 2b 20 33 32 20 7d 0d 0a 2f 2f  FIRST + 32 }..//
26280 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
26290 77 5f 47 65 74 54 65 78 74 43 6f 6c 6f 72 28 68  w_GetTextColor(h
262a0 77 6e 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53  wnd) (COLORREF)S
262b0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56  NDMSG((hwnd), TV
262c0 4d 5f 47 45 54 54 45 58 54 43 4f 4c 4f 52 2c 20  M_GETTEXTCOLOR, 
262d0 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0, 0)....enum : 
262e0 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45 54 53 43  uint { TVM_SETSC
262f0 52 4f 4c 4c 54 49 4d 45 20 3d 20 54 56 5f 46 49  ROLLTIME = TV_FI
26300 52 53 54 20 2b 20 33 33 20 7d 0d 0a 2f 2f 20 23  RST + 33 }..// #
26310 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77 5f  define TreeView_
26320 53 65 74 53 63 72 6f 6c 6c 54 69 6d 65 28 68 77  SetScrollTime(hw
26330 6e 64 2c 20 75 54 69 6d 65 29 20 28 55 49 4e 54  nd, uTime) (UINT
26340 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
26350 54 56 4d 5f 53 45 54 53 43 52 4f 4c 4c 54 49 4d  TVM_SETSCROLLTIM
26360 45 2c 20 75 54 69 6d 65 2c 20 30 29 0d 0a 0d 0a  E, uTime, 0)....
26370 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
26380 4d 5f 47 45 54 53 43 52 4f 4c 4c 54 49 4d 45 20  M_GETSCROLLTIME 
26390 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 33 34 20  = TV_FIRST + 34 
263a0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  }..// #define Tr
263b0 65 65 56 69 65 77 5f 47 65 74 53 63 72 6f 6c 6c  eeView_GetScroll
263c0 54 69 6d 65 28 68 77 6e 64 29 20 28 55 49 4e 54  Time(hwnd) (UINT
263d0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
263e0 54 56 4d 5f 47 45 54 53 43 52 4f 4c 4c 54 49 4d  TVM_GETSCROLLTIM
263f0 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d  E, 0, 0)....enum
26400 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53 45   : uint { TVM_SE
26410 54 49 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52  TINSERTMARKCOLOR
26420 20 3d 20 54 56 5f 46 49 52 53 54 20 2b 20 33 37   = TV_FIRST + 37
26430 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54   }..// #define T
26440 72 65 65 56 69 65 77 5f 53 65 74 49 6e 73 65 72  reeView_SetInser
26450 74 4d 61 72 6b 43 6f 6c 6f 72 28 68 77 6e 64 2c  tMarkColor(hwnd,
26460 20 63 6c 72 29 20 28 43 4f 4c 4f 52 52 45 46 29   clr) (COLORREF)
26470 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54  SNDMSG((hwnd), T
26480 56 4d 5f 53 45 54 49 4e 53 45 52 54 4d 41 52 4b  VM_SETINSERTMARK
26490 43 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52 41  COLOR, 0, (LPARA
264a0 4d 29 28 63 6c 72 29 29 0d 0a 65 6e 75 6d 20 3a  M)(clr))..enum :
264b0 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54 49   uint { TVM_GETI
264c0 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 20 3d  NSERTMARKCOLOR =
264d0 20 54 56 5f 46 49 52 53 54 20 2b 20 33 38 20 7d   TV_FIRST + 38 }
264e0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72 65  ..// #define Tre
264f0 65 56 69 65 77 5f 47 65 74 49 6e 73 65 72 74 4d  eView_GetInsertM
26500 61 72 6b 43 6f 6c 6f 72 28 68 77 6e 64 29 20 28  arkColor(hwnd) (
26510 43 4f 4c 4f 52 52 45 46 29 53 4e 44 4d 53 47 28  COLORREF)SNDMSG(
26520 28 68 77 6e 64 29 2c 20 54 56 4d 5f 47 45 54 49  (hwnd), TVM_GETI
26530 4e 53 45 52 54 4d 41 52 4b 43 4f 4c 4f 52 2c 20  NSERTMARKCOLOR, 
26540 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  0, 0)....// #end
26550 69 66 20 20 2f 2a 20 28 5f 57 49 4e 33 32 5f 49  if  /* (_WIN32_I
26560 45 20 3e 3d 20 30 78 30 34 30 30 29 20 2a 2f 0d  E >= 0x0400) */.
26570 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
26580 32 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 29 0d  2_IE >= 0x0500).
26590 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 72  ...// #define Tr
265a0 65 65 56 69 65 77 5f 53 65 74 49 74 65 6d 53 74  eeView_SetItemSt
265b0 61 74 65 28 68 77 6e 64 54 56 2c 20 68 74 69 2c  ate(hwndTV, hti,
265c0 20 64 61 74 61 2c 20 5f 6d 61 73 6b 29 20 7b 20   data, _mask) { 
265d0 54 56 49 54 45 4d 20 5f 6d 73 5f 54 56 69 3b 20  TVITEM _ms_TVi; 
265e0 5f 6d 73 5f 54 56 69 2e 6d 61 73 6b 20 3d 20 54  _ms_TVi.mask = T
265f0 56 49 46 5f 53 54 41 54 45 3b 20 5f 6d 73 5f 54  VIF_STATE; _ms_T
26600 56 69 2e 68 49 74 65 6d 20 3d 20 68 74 69 3b 20  Vi.hItem = hti; 
26610 5f 6d 73 5f 54 56 69 2e 73 74 61 74 65 4d 61 73  _ms_TVi.stateMas
26620 6b 20 3d 20 5f 6d 61 73 6b 3b 20 5f 6d 73 5f 54  k = _mask; _ms_T
26630 56 69 2e 73 74 61 74 65 20 3d 20 64 61 74 61 3b  Vi.state = data;
26640 20 53 4e 44 4d 53 47 28 28 68 77 6e 64 54 56 29   SNDMSG((hwndTV)
26650 2c 20 54 56 4d 5f 53 45 54 49 54 45 4d 2c 20 30  , TVM_SETITEM, 0
26660 2c 20 28 4c 50 41 52 41 4d 29 28 54 56 5f 49 54  , (LPARAM)(TV_IT
26670 45 4d 20 2a 29 26 5f 6d 73 5f 54 56 69 29 3b 20  EM *)&_ms_TVi); 
26680 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  }....// #define 
26690 54 72 65 65 56 69 65 77 5f 53 65 74 43 68 65 63  TreeView_SetChec
266a0 6b 53 74 61 74 65 28 68 77 6e 64 54 56 2c 20 68  kState(hwndTV, h
266b0 74 69 2c 20 66 43 68 65 63 6b 29 20 54 72 65 65  ti, fCheck) Tree
266c0 56 69 65 77 5f 53 65 74 49 74 65 6d 53 74 61 74  View_SetItemStat
266d0 65 28 68 77 6e 64 54 56 2c 20 68 74 69 2c 20 49  e(hwndTV, hti, I
266e0 4e 44 45 58 54 4f 53 54 41 54 45 49 4d 41 47 45  NDEXTOSTATEIMAGE
266f0 4d 41 53 4b 28 28 66 43 68 65 63 6b 29 3f 32 3a  MASK((fCheck)?2:
26700 31 29 2c 20 54 56 49 53 5f 53 54 41 54 45 49 4d  1), TVIS_STATEIM
26710 41 47 45 4d 41 53 4b 29 0d 0a 0d 0a 65 6e 75 6d  AGEMASK)....enum
26720 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45   : uint { TVM_GE
26730 54 49 54 45 4d 53 54 41 54 45 20 3d 20 54 56 5f  TITEMSTATE = TV_
26740 46 49 52 53 54 20 2b 20 33 39 20 7d 0d 0a 2f 2f  FIRST + 39 }..//
26750 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65   #define TreeVie
26760 77 5f 47 65 74 49 74 65 6d 53 74 61 74 65 28 68  w_GetItemState(h
26770 77 6e 64 54 56 2c 20 68 74 69 2c 20 6d 61 73 6b  wndTV, hti, mask
26780 29 20 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28  ) (UINT)SNDMSG((
26790 68 77 6e 64 54 56 29 2c 20 54 56 4d 5f 47 45 54  hwndTV), TVM_GET
267a0 49 54 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52  ITEMSTATE, (WPAR
267b0 41 4d 29 28 68 74 69 29 2c 20 28 4c 50 41 52 41  AM)(hti), (LPARA
267c0 4d 29 28 6d 61 73 6b 29 29 0d 0a 0d 0a 2f 2f 20  M)(mask))....// 
267d0 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
267e0 5f 47 65 74 43 68 65 63 6b 53 74 61 74 65 28 68  _GetCheckState(h
267f0 77 6e 64 54 56 2c 20 68 74 69 29 20 28 28 28 28  wndTV, hti) ((((
26800 55 49 4e 54 29 28 53 4e 44 4d 53 47 28 28 68 77  UINT)(SNDMSG((hw
26810 6e 64 54 56 29 2c 20 54 56 4d 5f 47 45 54 49 54  ndTV), TVM_GETIT
26820 45 4d 53 54 41 54 45 2c 20 28 57 50 41 52 41 4d  EMSTATE, (WPARAM
26830 29 28 68 74 69 29 2c 20 54 56 49 53 5f 53 54 41  )(hti), TVIS_STA
26840 54 45 49 4d 41 47 45 4d 41 53 4b 29 29 29 20 3e  TEIMAGEMASK))) >
26850 3e 20 31 32 29 20 2d 31 29 0d 0a 0d 0a 65 6e 75  > 12) -1)....enu
26860 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 53  m : uint { TVM_S
26870 45 54 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 54 56  ETLINECOLOR = TV
26880 5f 46 49 52 53 54 20 2b 20 34 30 20 7d 0d 0a 2f  _FIRST + 40 }../
26890 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
268a0 65 77 5f 53 65 74 4c 69 6e 65 43 6f 6c 6f 72 28  ew_SetLineColor(
268b0 68 77 6e 64 2c 20 63 6c 72 29 20 28 43 4f 4c 4f  hwnd, clr) (COLO
268c0 52 52 45 46 29 53 4e 44 4d 53 47 28 28 68 77 6e  RREF)SNDMSG((hwn
268d0 64 29 2c 20 54 56 4d 5f 53 45 54 4c 49 4e 45 43  d), TVM_SETLINEC
268e0 4f 4c 4f 52 2c 20 30 2c 20 28 4c 50 41 52 41 4d  OLOR, 0, (LPARAM
268f0 29 28 63 6c 72 29 29 0d 0a 0d 0a 65 6e 75 6d 20  )(clr))....enum 
26900 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f 47 45 54  : uint { TVM_GET
26910 4c 49 4e 45 43 4f 4c 4f 52 20 3d 20 54 56 5f 46  LINECOLOR = TV_F
26920 49 52 53 54 20 2b 20 34 31 20 7d 0d 0a 2f 2f 20  IRST + 41 }..// 
26930 23 64 65 66 69 6e 65 20 54 72 65 65 56 69 65 77  #define TreeView
26940 5f 47 65 74 4c 69 6e 65 43 6f 6c 6f 72 28 68 77  _GetLineColor(hw
26950 6e 64 29 20 28 43 4f 4c 4f 52 52 45 46 29 53 4e  nd) (COLORREF)SN
26960 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d  DMSG((hwnd), TVM
26970 5f 47 45 54 4c 49 4e 45 43 4f 4c 4f 52 2c 20 30  _GETLINECOLOR, 0
26980 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  , 0)....// #endi
26990 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  f....// #if (_WI
269a0 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30  N32_WINNT >= 0x0
269b0 35 30 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  501)..enum : uin
269c0 74 20 7b 20 54 56 4d 5f 4d 41 50 41 43 43 49 44  t { TVM_MAPACCID
269d0 54 4f 48 54 52 45 45 49 54 45 4d 20 3d 20 54 56  TOHTREEITEM = TV
269e0 5f 46 49 52 53 54 20 2b 20 34 32 20 7d 0d 0a 2f  _FIRST + 42 }../
269f0 2f 20 23 64 65 66 69 6e 65 20 54 72 65 65 56 69  / #define TreeVi
26a00 65 77 5f 4d 61 70 41 63 63 49 44 54 6f 48 54 52  ew_MapAccIDToHTR
26a10 45 45 49 54 45 4d 28 68 77 6e 64 2c 20 69 64 29  EEITEM(hwnd, id)
26a20 20 28 48 54 52 45 45 49 54 45 4d 29 53 4e 44 4d   (HTREEITEM)SNDM
26a30 53 47 28 28 68 77 6e 64 29 2c 20 54 56 4d 5f 4d  SG((hwnd), TVM_M
26a40 41 50 41 43 43 49 44 54 4f 48 54 52 45 45 49 54  APACCIDTOHTREEIT
26a50 45 4d 2c 20 69 64 2c 20 30 29 0d 0a 0d 0a 65 6e  EM, id, 0)....en
26a60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4d 5f  um : uint { TVM_
26a70 4d 41 50 48 54 52 45 45 49 54 45 4d 54 4f 41 43  MAPHTREEITEMTOAC
26a80 43 49 44 20 3d 20 54 56 5f 46 49 52 53 54 20 2b  CID = TV_FIRST +
26a90 20 34 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   43 }..// #defin
26aa0 65 20 54 72 65 65 56 69 65 77 5f 4d 61 70 48 54  e TreeView_MapHT
26ab0 52 45 45 49 54 45 4d 54 6f 41 63 63 49 44 28 68  REEITEMToAccID(h
26ac0 77 6e 64 2c 20 68 74 72 65 65 69 74 65 6d 29 20  wnd, htreeitem) 
26ad0 28 55 49 4e 54 29 53 4e 44 4d 53 47 28 28 68 77  (UINT)SNDMSG((hw
26ae0 6e 64 29 2c 20 54 56 4d 5f 4d 41 50 48 54 52 45  nd), TVM_MAPHTRE
26af0 45 49 54 45 4d 54 4f 41 43 43 49 44 2c 20 28 57  EITEMTOACCID, (W
26b00 50 41 52 41 4d 29 68 74 72 65 65 69 74 65 6d 2c  PARAM)htreeitem,
26b10 20 30 29 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66   0)....// #endif
26b20 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
26b30 77 73 29 20 61 6c 69 61 73 20 69 6e 74 20 66 75  ws) alias int fu
26b40 6e 63 74 69 6f 6e 28 4c 50 41 52 41 4d 20 6c 50  nction(LPARAM lP
26b50 61 72 61 6d 31 2c 20 4c 50 41 52 41 4d 20 6c 50  aram1, LPARAM lP
26b60 61 72 61 6d 32 2c 20 4c 50 41 52 41 4d 20 6c 50  aram2, LPARAM lP
26b70 61 72 61 6d 53 6f 72 74 29 20 50 46 4e 54 56 43  aramSort) PFNTVC
26b80 4f 4d 50 41 52 45 3b 0d 0a 0d 0a 2f 2f 20 23 69  OMPARE;....// #i
26b90 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
26ba0 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73 20 4c  0x0300)..alias L
26bb0 50 54 56 53 4f 52 54 43 42 20 4c 50 54 56 5f 53  PTVSORTCB LPTV_S
26bc0 4f 52 54 43 42 3b 0d 0a 61 6c 69 61 73 20 54 56  ORTCB;..alias TV
26bd0 53 4f 52 54 43 42 20 54 56 5f 53 4f 52 54 43 42  SORTCB TV_SORTCB
26be0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
26bf0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
26c00 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
26c10 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54  f....struct tagT
26c20 56 53 4f 52 54 43 42 20 7b 0d 0a 20 20 48 54 52  VSORTCB {..  HTR
26c30 45 45 49 54 45 4d 20 68 50 61 72 65 6e 74 3b 0d  EEITEM hParent;.
26c40 0a 20 20 50 46 4e 54 56 43 4f 4d 50 41 52 45 20  .  PFNTVCOMPARE 
26c50 6c 70 66 6e 43 6f 6d 70 61 72 65 3b 0d 0a 20 20  lpfnCompare;..  
26c60 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
26c70 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 53 4f  }..alias tagTVSO
26c80 52 54 43 42 20 54 56 53 4f 52 54 43 42 3b 0d 0a  RTCB TVSORTCB;..
26c90 61 6c 69 61 73 20 74 61 67 54 56 53 4f 52 54 43  alias tagTVSORTC
26ca0 42 2a 20 4c 50 54 56 53 4f 52 54 43 42 3b 0d 0a  B* LPTVSORTCB;..
26cb0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
26cc0 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
26cd0 61 6c 69 61 73 20 4c 50 4e 4d 54 52 45 45 56 49  alias LPNMTREEVI
26ce0 45 57 41 20 4c 50 4e 4d 5f 54 52 45 45 56 49 45  EWA LPNM_TREEVIE
26cf0 57 41 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 54  WA;..alias LPNMT
26d00 52 45 45 56 49 45 57 57 20 4c 50 4e 4d 5f 54 52  REEVIEWW LPNM_TR
26d10 45 45 56 49 45 57 57 3b 0d 0a 61 6c 69 61 73 20  EEVIEWW;..alias 
26d20 4e 4d 54 52 45 45 56 49 45 57 57 20 4e 4d 5f 54  NMTREEVIEWW NM_T
26d30 52 45 45 56 49 45 57 57 3b 0d 0a 61 6c 69 61 73  REEVIEWW;..alias
26d40 20 4e 4d 54 52 45 45 56 49 45 57 41 20 4e 4d 5f   NMTREEVIEWA NM_
26d50 54 52 45 45 56 49 45 57 41 3b 0d 0a 2f 2f 20 23  TREEVIEWA;..// #
26d60 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
26d70 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
26d80 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
26d90 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
26da0 65 6e 64 69 66 0d 0a 0d 0a 61 6c 69 61 73 20 4c  endif....alias L
26db0 50 4e 4d 54 52 45 45 56 49 45 57 20 4c 50 4e 4d  PNMTREEVIEW LPNM
26dc0 5f 54 52 45 45 56 49 45 57 3b 0d 0a 61 6c 69 61  _TREEVIEW;..alia
26dd0 73 20 4e 4d 54 52 45 45 56 49 45 57 20 4e 4d 5f  s NMTREEVIEW NM_
26de0 54 52 45 45 56 49 45 57 3b 0d 0a 0d 0a 73 74 72  TREEVIEW;....str
26df0 75 63 74 20 74 61 67 4e 4d 54 52 45 45 56 49 45  uct tagNMTREEVIE
26e00 57 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64  WA {..  NMHDR hd
26e10 72 3b 0d 0a 20 20 55 49 4e 54 20 61 63 74 69 6f  r;..  UINT actio
26e20 6e 3b 0d 0a 20 20 54 56 49 54 45 4d 41 20 69 74  n;..  TVITEMA it
26e30 65 6d 4f 6c 64 3b 0d 0a 20 20 54 56 49 54 45 4d  emOld;..  TVITEM
26e40 41 20 69 74 65 6d 4e 65 77 3b 0d 0a 20 20 50 4f  A itemNew;..  PO
26e50 49 4e 54 20 70 74 44 72 61 67 3b 0d 0a 7d 0d 0a  INT ptDrag;..}..
26e60 61 6c 69 61 73 20 74 61 67 4e 4d 54 52 45 45 56  alias tagNMTREEV
26e70 49 45 57 41 20 4e 4d 54 52 45 45 56 49 45 57 41  IEWA NMTREEVIEWA
26e80 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 52  ;..alias tagNMTR
26e90 45 45 56 49 45 57 41 2a 20 4c 50 4e 4d 54 52 45  EEVIEWA* LPNMTRE
26ea0 45 56 49 45 57 41 3b 0d 0a 0d 0a 73 74 72 75 63  EVIEWA;....struc
26eb0 74 20 74 61 67 4e 4d 54 52 45 45 56 49 45 57 57  t tagNMTREEVIEWW
26ec0 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
26ed0 0d 0a 20 20 55 49 4e 54 20 61 63 74 69 6f 6e 3b  ..  UINT action;
26ee0 0d 0a 20 20 54 56 49 54 45 4d 57 20 69 74 65 6d  ..  TVITEMW item
26ef0 4f 6c 64 3b 0d 0a 20 20 54 56 49 54 45 4d 57 20  Old;..  TVITEMW 
26f00 69 74 65 6d 4e 65 77 3b 0d 0a 20 20 50 4f 49 4e  itemNew;..  POIN
26f10 54 20 70 74 44 72 61 67 3b 0d 0a 7d 0d 0a 61 6c  T ptDrag;..}..al
26f20 69 61 73 20 74 61 67 4e 4d 54 52 45 45 56 49 45  ias tagNMTREEVIE
26f30 57 57 20 4e 4d 54 52 45 45 56 49 45 57 57 3b 0d  WW NMTREEVIEWW;.
26f40 0a 61 6c 69 61 73 20 74 61 67 4e 4d 54 52 45 45  .alias tagNMTREE
26f50 56 49 45 57 57 2a 20 4c 50 4e 4d 54 52 45 45 56  VIEWW* LPNMTREEV
26f60 49 45 57 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  IEWW;....// #ifd
26f70 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
26f80 73 20 4e 4d 54 52 45 45 56 49 45 57 57 20 4e 4d  s NMTREEVIEWW NM
26f90 54 52 45 45 56 49 45 57 3b 0d 0a 61 6c 69 61 73  TREEVIEW;..alias
26fa0 20 4c 50 4e 4d 54 52 45 45 56 49 45 57 57 20 4c   LPNMTREEVIEWW L
26fb0 50 4e 4d 54 52 45 45 56 49 45 57 3b 0d 0a 2f 2f  PNMTREEVIEW;..//
26fc0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
26fd0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
26fe0 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
26ff0 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41 4e  nt { TVN_SELCHAN
27000 47 49 4e 47 41 20 3d 20 54 56 4e 5f 46 49 52 53  GINGA = TVN_FIRS
27010 54 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-1 }..enum : ui
27020 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41 4e  nt { TVN_SELCHAN
27030 47 49 4e 47 57 20 3d 20 54 56 4e 5f 46 49 52 53  GINGW = TVN_FIRS
27040 54 2d 35 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  T-50 }..enum : u
27050 69 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41  int { TVN_SELCHA
27060 4e 47 45 44 41 20 3d 20 54 56 4e 5f 46 49 52 53  NGEDA = TVN_FIRS
27070 54 2d 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  T-2 }..enum : ui
27080 6e 74 20 7b 20 54 56 4e 5f 53 45 4c 43 48 41 4e  nt { TVN_SELCHAN
27090 47 45 44 57 20 3d 20 54 56 4e 5f 46 49 52 53 54  GEDW = TVN_FIRST
270a0 2d 35 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  -51 }....enum : 
270b0 75 69 6e 74 20 7b 20 54 56 43 5f 55 4e 4b 4e 4f  uint { TVC_UNKNO
270c0 57 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65  WN = 0x0000 }..e
270d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 43  num : uint { TVC
270e0 5f 42 59 4d 4f 55 53 45 20 3d 20 30 78 30 30 30  _BYMOUSE = 0x000
270f0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
27100 20 7b 20 54 56 43 5f 42 59 4b 45 59 42 4f 41 52   { TVC_BYKEYBOAR
27110 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d 0a  D = 0x0002 }....
27120 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
27130 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20 3d  N_GETDISPINFOA =
27140 20 54 56 4e 5f 46 49 52 53 54 2d 33 20 7d 0d 0a   TVN_FIRST-3 }..
27150 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
27160 4e 5f 47 45 54 44 49 53 50 49 4e 46 4f 57 20 3d  N_GETDISPINFOW =
27170 20 54 56 4e 5f 46 49 52 53 54 2d 35 32 20 7d 0d   TVN_FIRST-52 }.
27180 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
27190 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f 41 20  VN_SETDISPINFOA 
271a0 3d 20 54 56 4e 5f 46 49 52 53 54 2d 34 20 7d 0d  = TVN_FIRST-4 }.
271b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
271c0 56 4e 5f 53 45 54 44 49 53 50 49 4e 46 4f 57 20  VN_SETDISPINFOW 
271d0 3d 20 54 56 4e 5f 46 49 52 53 54 2d 35 33 20 7d  = TVN_FIRST-53 }
271e0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
271f0 7b 20 54 56 49 46 5f 44 49 5f 53 45 54 49 54 45  { TVIF_DI_SETITE
27200 4d 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 0d 0a  M = 0x1000 }....
27210 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49  // #if (_WIN32_I
27220 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c  E >= 0x0300)..al
27230 69 61 73 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f  ias NMTVDISPINFO
27240 41 20 54 56 5f 44 49 53 50 49 4e 46 4f 41 3b 0d  A TV_DISPINFOA;.
27250 0a 61 6c 69 61 73 20 4e 4d 54 56 44 49 53 50 49  .alias NMTVDISPI
27260 4e 46 4f 57 20 54 56 5f 44 49 53 50 49 4e 46 4f  NFOW TV_DISPINFO
27270 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  W;..// #else..//
27280 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
27290 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
272a0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 61  ..// #endif....a
272b0 6c 69 61 73 20 4e 4d 54 56 44 49 53 50 49 4e 46  lias NMTVDISPINF
272c0 4f 20 54 56 5f 44 49 53 50 49 4e 46 4f 3b 0d 0a  O TV_DISPINFO;..
272d0 0d 0a 73 74 72 75 63 74 20 74 61 67 54 56 44 49  ..struct tagTVDI
272e0 53 50 49 4e 46 4f 41 20 7b 0d 0a 20 20 4e 4d 48  SPINFOA {..  NMH
272f0 44 52 20 68 64 72 3b 0d 0a 20 20 54 56 49 54 45  DR hdr;..  TVITE
27300 4d 41 20 69 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69  MA item;..}..ali
27310 61 73 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f  as tagTVDISPINFO
27320 41 20 4e 4d 54 56 44 49 53 50 49 4e 46 4f 41 3b  A NMTVDISPINFOA;
27330 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 44 49 53  ..alias tagTVDIS
27340 50 49 4e 46 4f 41 2a 20 4c 50 4e 4d 54 56 44 49  PINFOA* LPNMTVDI
27350 53 50 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 74 72 75  SPINFOA;....stru
27360 63 74 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f  ct tagTVDISPINFO
27370 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72  W {..  NMHDR hdr
27380 3b 0d 0a 20 20 54 56 49 54 45 4d 57 20 69 74 65  ;..  TVITEMW ite
27390 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  m;..}..alias tag
273a0 54 56 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54 56  TVDISPINFOW NMTV
273b0 44 49 53 50 49 4e 46 4f 57 3b 0d 0a 61 6c 69 61  DISPINFOW;..alia
273c0 73 20 74 61 67 54 56 44 49 53 50 49 4e 46 4f 57  s tagTVDISPINFOW
273d0 2a 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f  * LPNMTVDISPINFO
273e0 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
273f0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e  UNICODE..alias N
27400 4d 54 56 44 49 53 50 49 4e 46 4f 57 20 4e 4d 54  MTVDISPINFOW NMT
27410 56 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c 69 61  VDISPINFO;..alia
27420 73 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f  s LPNMTVDISPINFO
27430 57 20 4c 50 4e 4d 54 56 44 49 53 50 49 4e 46 4f  W LPNMTVDISPINFO
27440 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
27450 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
27460 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
27470 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 49 54   : uint { TVN_IT
27480 45 4d 45 58 50 41 4e 44 49 4e 47 41 20 3d 20 54  EMEXPANDINGA = T
27490 56 4e 5f 46 49 52 53 54 2d 35 20 7d 0d 0a 65 6e  VN_FIRST-5 }..en
274a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f  um : uint { TVN_
274b0 49 54 45 4d 45 58 50 41 4e 44 49 4e 47 57 20 3d  ITEMEXPANDINGW =
274c0 20 54 56 4e 5f 46 49 52 53 54 2d 35 34 20 7d 0d   TVN_FIRST-54 }.
274d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
274e0 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 45 44 41  VN_ITEMEXPANDEDA
274f0 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 36 20 7d   = TVN_FIRST-6 }
27500 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27510 54 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 45 44  TVN_ITEMEXPANDED
27520 57 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 35 35  W = TVN_FIRST-55
27530 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
27540 7b 20 54 56 4e 5f 42 45 47 49 4e 44 52 41 47 41  { TVN_BEGINDRAGA
27550 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 37 20 7d   = TVN_FIRST-7 }
27560 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27570 54 56 4e 5f 42 45 47 49 4e 44 52 41 47 57 20 3d  TVN_BEGINDRAGW =
27580 20 54 56 4e 5f 46 49 52 53 54 2d 35 36 20 7d 0d   TVN_FIRST-56 }.
27590 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
275a0 56 4e 5f 42 45 47 49 4e 52 44 52 41 47 41 20 3d  VN_BEGINRDRAGA =
275b0 20 54 56 4e 5f 46 49 52 53 54 2d 38 20 7d 0d 0a   TVN_FIRST-8 }..
275c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
275d0 4e 5f 42 45 47 49 4e 52 44 52 41 47 57 20 3d 20  N_BEGINRDRAGW = 
275e0 54 56 4e 5f 46 49 52 53 54 2d 35 37 20 7d 0d 0a  TVN_FIRST-57 }..
275f0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56  enum : uint { TV
27600 4e 5f 44 45 4c 45 54 45 49 54 45 4d 41 20 3d 20  N_DELETEITEMA = 
27610 54 56 4e 5f 46 49 52 53 54 2d 39 20 7d 0d 0a 65  TVN_FIRST-9 }..e
27620 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e  num : uint { TVN
27630 5f 44 45 4c 45 54 45 49 54 45 4d 57 20 3d 20 54  _DELETEITEMW = T
27640 56 4e 5f 46 49 52 53 54 2d 35 38 20 7d 0d 0a 65  VN_FIRST-58 }..e
27650 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e  num : uint { TVN
27660 5f 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 41  _BEGINLABELEDITA
27670 20 3d 20 54 56 4e 5f 46 49 52 53 54 2d 31 30 20   = TVN_FIRST-10 
27680 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
27690 20 54 56 4e 5f 42 45 47 49 4e 4c 41 42 45 4c 45   TVN_BEGINLABELE
276a0 44 49 54 57 20 3d 20 54 56 4e 5f 46 49 52 53 54  DITW = TVN_FIRST
276b0 2d 35 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  -59 }..enum : ui
276c0 6e 74 20 7b 20 54 56 4e 5f 45 4e 44 4c 41 42 45  nt { TVN_ENDLABE
276d0 4c 45 44 49 54 41 20 3d 20 54 56 4e 5f 46 49 52  LEDITA = TVN_FIR
276e0 53 54 2d 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  ST-11 }..enum : 
276f0 75 69 6e 74 20 7b 20 54 56 4e 5f 45 4e 44 4c 41  uint { TVN_ENDLA
27700 42 45 4c 45 44 49 54 57 20 3d 20 54 56 4e 5f 46  BELEDITW = TVN_F
27710 49 52 53 54 2d 36 30 20 7d 0d 0a 65 6e 75 6d 20  IRST-60 }..enum 
27720 3a 20 75 69 6e 74 20 7b 20 54 56 4e 5f 4b 45 59  : uint { TVN_KEY
27730 44 4f 57 4e 20 3d 20 54 56 4e 5f 46 49 52 53 54  DOWN = TVN_FIRST
27740 2d 31 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20  -12 }....// #if 
27750 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
27760 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
27770 6e 74 20 7b 20 54 56 4e 5f 47 45 54 49 4e 46 4f  nt { TVN_GETINFO
27780 54 49 50 41 20 3d 20 54 56 4e 5f 46 49 52 53 54  TIPA = TVN_FIRST
27790 2d 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  -13 }..enum : ui
277a0 6e 74 20 7b 20 54 56 4e 5f 47 45 54 49 4e 46 4f  nt { TVN_GETINFO
277b0 54 49 50 57 20 3d 20 54 56 4e 5f 46 49 52 53 54  TIPW = TVN_FIRST
277c0 2d 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  -14 }..enum : ui
277d0 6e 74 20 7b 20 54 56 4e 5f 53 49 4e 47 4c 45 45  nt { TVN_SINGLEE
277e0 58 50 41 4e 44 20 3d 20 54 56 4e 5f 46 49 52 53  XPAND = TVN_FIRS
277f0 54 2d 31 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  T-15 }....enum :
27800 20 75 69 6e 74 20 7b 20 54 56 4e 52 45 54 5f 44   uint { TVNRET_D
27810 45 46 41 55 4c 54 20 3d 20 30 20 7d 0d 0a 65 6e  EFAULT = 0 }..en
27820 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 56 4e 52  um : uint { TVNR
27830 45 54 5f 53 4b 49 50 4f 4c 44 20 3d 20 31 20 7d  ET_SKIPOLD = 1 }
27840 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
27850 54 56 4e 52 45 54 5f 53 4b 49 50 4e 45 57 20 3d  TVNRET_SKIPNEW =
27860 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69   2 }....// #endi
27870 66 20 2f 2f 20 30 78 34 30 30 0d 0a 0d 0a 2f 2f  f // 0x400....//
27880 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20   #if (_WIN32_IE 
27890 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61  >= 0x0300)..alia
278a0 73 20 4e 4d 54 56 4b 45 59 44 4f 57 4e 20 54 56  s NMTVKEYDOWN TV
278b0 5f 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f 20 23 65  _KEYDOWN;..// #e
278c0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
278d0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
278e0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
278f0 49 4e 33 32 0d 0a 61 6c 69 67 6e 28 31 29 3a 0d  IN32..align(1):.
27900 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
27910 72 75 63 74 20 74 61 67 54 56 4b 45 59 44 4f 57  ruct tagTVKEYDOW
27920 4e 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72  N {..  NMHDR hdr
27930 3b 0d 0a 20 20 57 4f 52 44 20 77 56 4b 65 79 3b  ;..  WORD wVKey;
27940 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b 0d  ..  UINT flags;.
27950 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 56 4b  .}..alias tagTVK
27960 45 59 44 4f 57 4e 20 4e 4d 54 56 4b 45 59 44 4f  EYDOWN NMTVKEYDO
27970 57 4e 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 56  WN;..alias tagTV
27980 4b 45 59 44 4f 57 4e 2a 20 4c 50 4e 4d 54 56 4b  KEYDOWN* LPNMTVK
27990 45 59 44 4f 57 4e 3b 0d 0a 0d 0a 2f 2f 20 23 69  EYDOWN;....// #i
279a0 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69  fdef _WIN32..ali
279b0 67 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  gn:..// #endif..
279c0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
279d0 4f 44 45 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 53  ODE..alias TVN_S
279e0 45 4c 43 48 41 4e 47 49 4e 47 57 20 54 56 4e 5f  ELCHANGINGW TVN_
279f0 53 45 4c 43 48 41 4e 47 49 4e 47 3b 0d 0a 61 6c  SELCHANGING;..al
27a00 69 61 73 20 54 56 4e 5f 53 45 4c 43 48 41 4e 47  ias TVN_SELCHANG
27a10 45 44 57 20 54 56 4e 5f 53 45 4c 43 48 41 4e 47  EDW TVN_SELCHANG
27a20 45 44 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 47  ED;..alias TVN_G
27a30 45 54 44 49 53 50 49 4e 46 4f 57 20 54 56 4e 5f  ETDISPINFOW TVN_
27a40 47 45 54 44 49 53 50 49 4e 46 4f 3b 0d 0a 61 6c  GETDISPINFO;..al
27a50 69 61 73 20 54 56 4e 5f 53 45 54 44 49 53 50 49  ias TVN_SETDISPI
27a60 4e 46 4f 57 20 54 56 4e 5f 53 45 54 44 49 53 50  NFOW TVN_SETDISP
27a70 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 54 56 4e  INFO;..alias TVN
27a80 5f 49 54 45 4d 45 58 50 41 4e 44 49 4e 47 57 20  _ITEMEXPANDINGW 
27a90 54 56 4e 5f 49 54 45 4d 45 58 50 41 4e 44 49 4e  TVN_ITEMEXPANDIN
27aa0 47 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 49 54  G;..alias TVN_IT
27ab0 45 4d 45 58 50 41 4e 44 45 44 57 20 54 56 4e 5f  EMEXPANDEDW TVN_
27ac0 49 54 45 4d 45 58 50 41 4e 44 45 44 3b 0d 0a 61  ITEMEXPANDED;..a
27ad0 6c 69 61 73 20 54 56 4e 5f 42 45 47 49 4e 44 52  lias TVN_BEGINDR
27ae0 41 47 57 20 54 56 4e 5f 42 45 47 49 4e 44 52 41  AGW TVN_BEGINDRA
27af0 47 3b 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 42 45  G;..alias TVN_BE
27b00 47 49 4e 52 44 52 41 47 57 20 54 56 4e 5f 42 45  GINRDRAGW TVN_BE
27b10 47 49 4e 52 44 52 41 47 3b 0d 0a 61 6c 69 61 73  GINRDRAG;..alias
27b20 20 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d 57   TVN_DELETEITEMW
27b30 20 54 56 4e 5f 44 45 4c 45 54 45 49 54 45 4d 3b   TVN_DELETEITEM;
27b40 0d 0a 61 6c 69 61 73 20 54 56 4e 5f 42 45 47 49  ..alias TVN_BEGI
27b50 4e 4c 41 42 45 4c 45 44 49 54 57 20 54 56 4e 5f  NLABELEDITW TVN_
27b60 42 45 47 49 4e 4c 41 42 45 4c 45 44 49 54 3b 0d  BEGINLABELEDIT;.
27b70 0a 61 6c 69 61 73 20 54 56 4e 5f 45 4e 44 4c 41  .alias TVN_ENDLA
27b80 42 45 4c 45 44 49 54 57 20 54 56 4e 5f 45 4e 44  BELEDITW TVN_END
27b90 4c 41 42 45 4c 45 44 49 54 3b 0d 0a 2f 2f 20 23  LABELEDIT;..// #
27ba0 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
27bb0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
27bc0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
27bd0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
27be0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
27bf0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
27c00 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
27c10 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  if....// #if (_W
27c20 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
27c30 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4e  0)..// #define N
27c40 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 5f 56 33  MTVCUSTOMDRAW_V3
27c50 5f 53 49 5a 45 20 43 43 53 49 5a 45 4f 46 5f 53  _SIZE CCSIZEOF_S
27c60 54 52 55 43 54 28 4e 4d 54 56 43 55 53 54 4f 4d  TRUCT(NMTVCUSTOM
27c70 44 52 41 57 2c 20 63 6c 72 54 65 78 74 42 6b 29  DRAW, clrTextBk)
27c80 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
27c90 54 56 43 55 53 54 4f 4d 44 52 41 57 20 7b 0d 0a  TVCUSTOMDRAW {..
27ca0 20 20 4e 4d 43 55 53 54 4f 4d 44 52 41 57 20 6e    NMCUSTOMDRAW n
27cb0 6d 63 64 3b 0d 0a 20 20 43 4f 4c 4f 52 52 45 46  mcd;..  COLORREF
27cc0 20 63 6c 72 54 65 78 74 3b 0d 0a 20 20 43 4f 4c   clrText;..  COL
27cd0 4f 52 52 45 46 20 63 6c 72 54 65 78 74 42 6b 3b  ORREF clrTextBk;
27ce0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
27cf0 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
27d00 20 20 69 6e 74 20 69 4c 65 76 65 6c 3b 0d 0a 2f    int iLevel;../
27d10 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69  / #endif..}..ali
27d20 61 73 20 74 61 67 4e 4d 54 56 43 55 53 54 4f 4d  as tagNMTVCUSTOM
27d30 44 52 41 57 20 4e 4d 54 56 43 55 53 54 4f 4d 44  DRAW NMTVCUSTOMD
27d40 52 41 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  RAW;..alias tagN
27d50 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 2a 20 4c  MTVCUSTOMDRAW* L
27d60 50 4e 4d 54 56 43 55 53 54 4f 4d 44 52 41 57 3b  PNMTVCUSTOMDRAW;
27d70 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
27d80 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
27d90 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d  IE >= 0x0400)...
27da0 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 54 56 47  .struct tagNMTVG
27db0 45 54 49 4e 46 4f 54 49 50 41 20 7b 0d 0a 20 20  ETINFOTIPA {..  
27dc0 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 4c 50  NMHDR hdr;..  LP
27dd0 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20  STR pszText;..  
27de0 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78 3b 0d  int cchTextMax;.
27df0 0a 20 20 48 54 52 45 45 49 54 45 4d 20 68 49 74  .  HTREEITEM hIt
27e00 65 6d 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50  em;..  LPARAM lP
27e10 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  aram;..}..alias 
27e20 74 61 67 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49  tagNMTVGETINFOTI
27e30 50 41 20 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49  PA NMTVGETINFOTI
27e40 50 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d  PA;..alias tagNM
27e50 54 56 47 45 54 49 4e 46 4f 54 49 50 41 2a 20 4c  TVGETINFOTIPA* L
27e60 50 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 41  PNMTVGETINFOTIPA
27e70 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  ;....struct tagN
27e80 4d 54 56 47 45 54 49 4e 46 4f 54 49 50 57 20 7b  MTVGETINFOTIPW {
27e90 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
27ea0 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74    LPWSTR pszText
27eb0 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74  ;..  int cchText
27ec0 4d 61 78 3b 0d 0a 20 20 48 54 52 45 45 49 54 45  Max;..  HTREEITE
27ed0 4d 20 68 49 74 65 6d 3b 0d 0a 20 20 4c 50 41 52  M hItem;..  LPAR
27ee0 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61  AM lParam;..}..a
27ef0 6c 69 61 73 20 74 61 67 4e 4d 54 56 47 45 54 49  lias tagNMTVGETI
27f00 4e 46 4f 54 49 50 57 20 4e 4d 54 56 47 45 54 49  NFOTIPW NMTVGETI
27f10 4e 46 4f 54 49 50 57 3b 0d 0a 61 6c 69 61 73 20  NFOTIPW;..alias 
27f20 74 61 67 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49  tagNMTVGETINFOTI
27f30 50 57 2a 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46  PW* LPNMTVGETINF
27f40 4f 54 49 50 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  OTIPW;....// #if
27f50 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
27f60 61 73 20 54 56 4e 5f 47 45 54 49 4e 46 4f 54 49  as TVN_GETINFOTI
27f70 50 57 20 54 56 4e 5f 47 45 54 49 4e 46 4f 54 49  PW TVN_GETINFOTI
27f80 50 3b 0d 0a 61 6c 69 61 73 20 4e 4d 54 56 47 45  P;..alias NMTVGE
27f90 54 49 4e 46 4f 54 49 50 57 20 4e 4d 54 56 47 45  TINFOTIPW NMTVGE
27fa0 54 49 4e 46 4f 54 49 50 3b 0d 0a 61 6c 69 61 73  TINFOTIP;..alias
27fb0 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46 4f 54 49   LPNMTVGETINFOTI
27fc0 50 57 20 4c 50 4e 4d 54 56 47 45 54 49 4e 46 4f  PW LPNMTVGETINFO
27fd0 54 49 50 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  TIP;..// #else..
27fe0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
27ff0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
28000 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
28010 69 6e 74 20 7b 20 54 56 43 44 52 46 5f 4e 4f 49  int { TVCDRF_NOI
28020 4d 41 47 45 53 20 3d 20 30 78 30 30 30 31 30 30  MAGES = 0x000100
28030 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  00 }....// #endi
28040 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32  f      // _WIN32
28050 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d 0a 0d  _IE >= 0x0400...
28060 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20  .// #endif      
28070 2f 2f 20 4e 4f 54 52 45 45 56 49 45 57 0d 0a 0d  // NOTREEVIEW...
28080 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
28090 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 0d  IE >= 0x0300)...
280a0 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 55 53  .// #ifndef NOUS
280b0 45 52 45 58 43 4f 4e 54 52 4f 4c 53 0d 0a 0d 0a  EREXCONTROLS....
280c0 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43  const wchar[] WC
280d0 5f 43 4f 4d 42 4f 42 4f 58 45 58 57 20 3d 20 22  _COMBOBOXEXW = "
280e0 43 6f 6d 62 6f 42 6f 78 45 78 33 32 22 3b 0d 0a  ComboBoxEx32";..
280f0 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57 43 5f  const char[] WC_
28100 43 4f 4d 42 4f 42 4f 58 45 58 41 20 3d 20 22 43  COMBOBOXEXA = "C
28110 6f 6d 62 6f 42 6f 78 45 78 33 32 22 3b 0d 0a 0d  omboBoxEx32";...
28120 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
28130 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 43 4f 4d  DE..alias WC_COM
28140 42 4f 42 4f 58 45 58 57 20 57 43 5f 43 4f 4d 42  BOBOXEXW WC_COMB
28150 4f 42 4f 58 45 58 3b 0d 0a 2f 2f 20 23 65 6c 73  OBOXEX;..// #els
28160 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
28170 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
28180 75 69 6e 74 20 7b 20 43 42 45 49 46 5f 54 45 58  uint { CBEIF_TEX
28190 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  T = 0x00000001 }
281a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
281b0 43 42 45 49 46 5f 49 4d 41 47 45 20 3d 20 30 78  CBEIF_IMAGE = 0x
281c0 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
281d0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 49 46 5f   : uint { CBEIF_
281e0 53 45 4c 45 43 54 45 44 49 4d 41 47 45 20 3d 20  SELECTEDIMAGE = 
281f0 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
28200 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 49  um : uint { CBEI
28210 46 5f 4f 56 45 52 4c 41 59 20 3d 20 30 78 30 30  F_OVERLAY = 0x00
28220 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  000008 }..enum :
28230 20 75 69 6e 74 20 7b 20 43 42 45 49 46 5f 49 4e   uint { CBEIF_IN
28240 44 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 31  DENT = 0x0000001
28250 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
28260 20 7b 20 43 42 45 49 46 5f 4c 50 41 52 41 4d 20   { CBEIF_LPARAM 
28270 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a  = 0x00000020 }..
28280 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
28290 43 42 45 49 46 5f 44 49 5f 53 45 54 49 54 45 4d  CBEIF_DI_SETITEM
282a0 20 3d 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d   = 0x10000000 }.
282b0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 43 4f 4d  ...struct tagCOM
282c0 42 4f 42 4f 58 45 58 49 54 45 4d 41 20 7b 0d 0a  BOBOXEXITEMA {..
282d0 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20    UINT mask;..  
282e0 49 4e 54 5f 50 54 52 20 69 49 74 65 6d 3b 0d 0a  INT_PTR iItem;..
282f0 20 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b    LPSTR pszText;
28300 0d 0a 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d  ..  int cchTextM
28310 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67  ax;..  int iImag
28320 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65 6c 65 63  e;..  int iSelec
28330 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20 69 6e 74  tedImage;..  int
28340 20 69 4f 76 65 72 6c 61 79 3b 0d 0a 20 20 69 6e   iOverlay;..  in
28350 74 20 69 49 6e 64 65 6e 74 3b 0d 0a 20 20 4c 50  t iIndent;..  LP
28360 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d  ARAM lParam;..}.
28370 0a 61 6c 69 61 73 20 74 61 67 43 4f 4d 42 4f 42  .alias tagCOMBOB
28380 4f 58 45 58 49 54 45 4d 41 20 43 4f 4d 42 4f 42  OXEXITEMA COMBOB
28390 4f 58 45 58 49 54 45 4d 41 3b 0d 0a 61 6c 69 61  OXEXITEMA;..alia
283a0 73 20 74 61 67 43 4f 4d 42 4f 42 4f 58 45 58 49  s tagCOMBOBOXEXI
283b0 54 45 4d 41 2a 20 50 43 4f 4d 42 4f 42 4f 58 45  TEMA* PCOMBOBOXE
283c0 58 49 54 45 4d 41 3b 0d 0a 0d 0a 61 6c 69 61 73  XITEMA;....alias
283d0 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41   COMBOBOXEXITEMA
283e0 2a 20 50 43 43 4f 4d 42 4f 45 58 49 54 45 4d 41  * PCCOMBOEXITEMA
283f0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 43  ;....struct tagC
28400 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 20 7b  OMBOBOXEXITEMW {
28410 0d 0a 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a  ..  UINT mask;..
28420 20 20 49 4e 54 5f 50 54 52 20 69 49 74 65 6d 3b    INT_PTR iItem;
28430 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 54 65  ..  LPWSTR pszTe
28440 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63 68 54 65  xt;..  int cchTe
28450 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74 20 69 49  xtMax;..  int iI
28460 6d 61 67 65 3b 0d 0a 20 20 69 6e 74 20 69 53 65  mage;..  int iSe
28470 6c 65 63 74 65 64 49 6d 61 67 65 3b 0d 0a 20 20  lectedImage;..  
28480 69 6e 74 20 69 4f 76 65 72 6c 61 79 3b 0d 0a 20  int iOverlay;.. 
28490 20 69 6e 74 20 69 49 6e 64 65 6e 74 3b 0d 0a 20   int iIndent;.. 
284a0 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d   LPARAM lParam;.
284b0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 4f 4d  .}..alias tagCOM
284c0 42 4f 42 4f 58 45 58 49 54 45 4d 57 20 43 4f 4d  BOBOXEXITEMW COM
284d0 42 4f 42 4f 58 45 58 49 54 45 4d 57 3b 0d 0a 61  BOBOXEXITEMW;..a
284e0 6c 69 61 73 20 74 61 67 43 4f 4d 42 4f 42 4f 58  lias tagCOMBOBOX
284f0 45 58 49 54 45 4d 57 2a 20 50 43 4f 4d 42 4f 42  EXITEMW* PCOMBOB
28500 4f 58 45 58 49 54 45 4d 57 3b 0d 0a 0d 0a 61 6c  OXEXITEMW;....al
28510 69 61 73 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54  ias COMBOBOXEXIT
28520 45 4d 57 2a 20 50 43 43 4f 4d 42 4f 45 58 49 54  EMW* PCCOMBOEXIT
28530 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  EMW;....// #ifde
28540 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
28550 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57   COMBOBOXEXITEMW
28560 20 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 3b   COMBOBOXEXITEM;
28570 0d 0a 61 6c 69 61 73 20 50 43 4f 4d 42 4f 42 4f  ..alias PCOMBOBO
28580 58 45 58 49 54 45 4d 57 20 50 43 4f 4d 42 4f 42  XEXITEMW PCOMBOB
28590 4f 58 45 58 49 54 45 4d 3b 0d 0a 61 6c 69 61 73  OXEXITEM;..alias
285a0 20 50 43 43 4f 4d 42 4f 42 4f 58 45 58 49 54 45   PCCOMBOBOXEXITE
285b0 4d 57 20 50 43 43 4f 4d 42 4f 42 4f 58 45 58 49  MW PCCOMBOBOXEXI
285c0 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  TEM;..// #else..
285d0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
285e0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
285f0 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
28600 69 6e 74 20 7b 20 43 42 45 4d 5f 49 4e 53 45 52  int { CBEM_INSER
28610 54 49 54 45 4d 41 20 3d 20 57 4d 5f 55 53 45 52  TITEMA = WM_USER
28620 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 1 }..enum : u
28630 69 6e 74 20 7b 20 43 42 45 4d 5f 53 45 54 49 4d  int { CBEM_SETIM
28640 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55 53 45  AGELIST = WM_USE
28650 52 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R + 2 }..enum : 
28660 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 45 54 49  uint { CBEM_GETI
28670 4d 41 47 45 4c 49 53 54 20 3d 20 57 4d 5f 55 53  MAGELIST = WM_US
28680 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  ER + 3 }..enum :
28690 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 45 54   uint { CBEM_GET
286a0 49 54 45 4d 41 20 3d 20 57 4d 5f 55 53 45 52 20  ITEMA = WM_USER 
286b0 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 4 }..enum : ui
286c0 6e 74 20 7b 20 43 42 45 4d 5f 53 45 54 49 54 45  nt { CBEM_SETITE
286d0 4d 41 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 35  MA = WM_USER + 5
286e0 20 7d 0d 0a 61 6c 69 61 73 20 43 42 5f 44 45 4c   }..alias CB_DEL
286f0 45 54 45 53 54 52 49 4e 47 20 43 42 45 4d 5f 44  ETESTRING CBEM_D
28700 45 4c 45 54 45 49 54 45 4d 3b 0d 0a 65 6e 75 6d  ELETEITEM;..enum
28710 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47   : uint { CBEM_G
28720 45 54 43 4f 4d 42 4f 43 4f 4e 54 52 4f 4c 20 3d  ETCOMBOCONTROL =
28730 20 57 4d 5f 55 53 45 52 20 2b 20 36 20 7d 0d 0a   WM_USER + 6 }..
28740 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
28750 45 4d 5f 47 45 54 45 44 49 54 43 4f 4e 54 52 4f  EM_GETEDITCONTRO
28760 4c 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 37 20  L = WM_USER + 7 
28770 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
28780 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
28790 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
287a0 42 45 4d 5f 53 45 54 45 58 53 54 59 4c 45 20 3d  BEM_SETEXSTYLE =
287b0 20 57 4d 5f 55 53 45 52 20 2b 20 38 20 7d 0d 0a   WM_USER + 8 }..
287c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
287d0 45 4d 5f 53 45 54 45 58 54 45 4e 44 45 44 53 54  EM_SETEXTENDEDST
287e0 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  YLE = WM_USER + 
287f0 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  14 }..enum : uin
28800 74 20 7b 20 43 42 45 4d 5f 47 45 54 45 58 53 54  t { CBEM_GETEXST
28810 59 4c 45 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20  YLE = WM_USER + 
28820 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
28830 20 7b 20 43 42 45 4d 5f 47 45 54 45 58 54 45 4e   { CBEM_GETEXTEN
28840 44 45 44 53 54 59 4c 45 20 3d 20 57 4d 5f 55 53  DEDSTYLE = WM_US
28850 45 52 20 2b 20 39 20 7d 0d 0a 61 6c 69 61 73 20  ER + 9 }..alias 
28860 43 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f  CCM_SETUNICODEFO
28870 52 4d 41 54 20 43 42 45 4d 5f 53 45 54 55 4e 49  RMAT CBEM_SETUNI
28880 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69  CODEFORMAT;..ali
28890 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44  as CCM_GETUNICOD
288a0 45 46 4f 52 4d 41 54 20 43 42 45 4d 5f 47 45 54  EFORMAT CBEM_GET
288b0 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a  UNICODEFORMAT;..
288c0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
288d0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
288e0 65 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69  endif..enum : ui
288f0 6e 74 20 7b 20 43 42 45 4d 5f 48 41 53 45 44 49  nt { CBEM_HASEDI
28900 54 43 48 41 4e 47 45 44 20 3d 20 57 4d 5f 55 53  TCHANGED = WM_US
28910 45 52 20 2b 20 31 30 20 7d 0d 0a 65 6e 75 6d 20  ER + 10 }..enum 
28920 3a 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 49 4e  : uint { CBEM_IN
28930 53 45 52 54 49 54 45 4d 57 20 3d 20 57 4d 5f 55  SERTITEMW = WM_U
28940 53 45 52 20 2b 20 31 31 20 7d 0d 0a 65 6e 75 6d  SER + 11 }..enum
28950 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 53   : uint { CBEM_S
28960 45 54 49 54 45 4d 57 20 3d 20 57 4d 5f 55 53 45  ETITEMW = WM_USE
28970 52 20 2b 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a  R + 12 }..enum :
28980 20 75 69 6e 74 20 7b 20 43 42 45 4d 5f 47 45 54   uint { CBEM_GET
28990 49 54 45 4d 57 20 3d 20 57 4d 5f 55 53 45 52 20  ITEMW = WM_USER 
289a0 2b 20 31 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  + 13 }....// #if
289b0 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
289c0 61 73 20 43 42 45 4d 5f 49 4e 53 45 52 54 49 54  as CBEM_INSERTIT
289d0 45 4d 57 20 43 42 45 4d 5f 49 4e 53 45 52 54 49  EMW CBEM_INSERTI
289e0 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 43 42 45 4d  TEM;..alias CBEM
289f0 5f 53 45 54 49 54 45 4d 57 20 43 42 45 4d 5f 53  _SETITEMW CBEM_S
28a00 45 54 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 43  ETITEM;..alias C
28a10 42 45 4d 5f 47 45 54 49 54 45 4d 57 20 43 42 45  BEM_GETITEMW CBE
28a20 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23  M_GETITEM;..// #
28a30 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
28a40 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
28a50 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
28a60 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e   #if (_WIN32_WIN
28a70 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d 0a 61 6c  NT >= 0x501)..al
28a80 69 61 73 20 43 43 4d 5f 53 45 54 57 49 4e 44 4f  ias CCM_SETWINDO
28a90 57 54 48 45 4d 45 20 43 42 45 4d 5f 53 45 54 57  WTHEME CBEM_SETW
28aa0 49 4e 44 4f 57 54 48 45 4d 45 3b 0d 0a 2f 2f 20  INDOWTHEME;..// 
28ab0 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
28ac0 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45 58 5f   uint { CBES_EX_
28ad0 4e 4f 45 44 49 54 49 4d 41 47 45 20 3d 20 30 78  NOEDITIMAGE = 0x
28ae0 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
28af0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45   : uint { CBES_E
28b00 58 5f 4e 4f 45 44 49 54 49 4d 41 47 45 49 4e 44  X_NOEDITIMAGEIND
28b10 45 4e 54 20 3d 20 30 78 30 30 30 30 30 30 30 32  ENT = 0x00000002
28b20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
28b30 7b 20 43 42 45 53 5f 45 58 5f 50 41 54 48 57 4f  { CBES_EX_PATHWO
28b40 52 44 42 52 45 41 4b 50 52 4f 43 20 3d 20 30 78  RDBREAKPROC = 0x
28b50 30 30 30 30 30 30 30 34 20 7d 0d 0a 2f 2f 20 23  00000004 }..// #
28b60 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
28b70 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
28b80 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45 58 5f   uint { CBES_EX_
28b90 4e 4f 53 49 5a 45 4c 49 4d 49 54 20 3d 20 30 78  NOSIZELIMIT = 0x
28ba0 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  00000008 }..enum
28bb0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 53 5f 45   : uint { CBES_E
28bc0 58 5f 43 41 53 45 53 45 4e 53 49 54 49 56 45 20  X_CASESENSITIVE 
28bd0 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a  = 0x00000010 }..
28be0 0d 0a 73 74 72 75 63 74 20 5f 39 20 7b 0d 0a 20  ..struct _9 {.. 
28bf0 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 43   NMHDR hdr;..  C
28c00 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 41 20 63  OMBOBOXEXITEMA c
28c10 65 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eItem;..}..alias
28c20 20 5f 39 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58   _9 NMCOMBOBOXEX
28c30 41 3b 0d 0a 61 6c 69 61 73 20 5f 39 2a 20 50 4e  A;..alias _9* PN
28c40 4d 43 4f 4d 42 4f 42 4f 58 45 58 41 3b 0d 0a 0d  MCOMBOBOXEXA;...
28c50 0a 73 74 72 75 63 74 20 5f 31 30 20 7b 0d 0a 20  .struct _10 {.. 
28c60 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20 20 43   NMHDR hdr;..  C
28c70 4f 4d 42 4f 42 4f 58 45 58 49 54 45 4d 57 20 63  OMBOBOXEXITEMW c
28c80 65 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eItem;..}..alias
28c90 20 5f 31 30 20 4e 4d 43 4f 4d 42 4f 42 4f 58 45   _10 NMCOMBOBOXE
28ca0 58 57 3b 0d 0a 61 6c 69 61 73 20 5f 31 30 2a 20  XW;..alias _10* 
28cb0 50 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 57 3b 0d  PNMCOMBOBOXEXW;.
28cc0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
28cd0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4e 4d 43 4f  CODE..alias NMCO
28ce0 4d 42 4f 42 4f 58 45 58 57 20 4e 4d 43 4f 4d 42  MBOBOXEXW NMCOMB
28cf0 4f 42 4f 58 45 58 3b 0d 0a 61 6c 69 61 73 20 50  OBOXEX;..alias P
28d00 4e 4d 43 4f 4d 42 4f 42 4f 58 45 58 57 20 50 4e  NMCOMBOBOXEXW PN
28d10 4d 43 4f 4d 42 4f 42 4f 58 45 58 3b 0d 0a 61 6c  MCOMBOBOXEX;..al
28d20 69 61 73 20 43 42 45 4e 5f 47 45 54 44 49 53 50  ias CBEN_GETDISP
28d30 49 4e 46 4f 57 20 43 42 45 4e 5f 47 45 54 44 49  INFOW CBEN_GETDI
28d40 53 50 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73  SPINFO;..// #els
28d50 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
28d60 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
28d70 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65   #endif....// #e
28d80 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  lse..// ......./
28d90 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e  / #.......// #en
28da0 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e  dif      // _WIN
28db0 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d  32_IE >= 0x0400.
28dc0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
28dd0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
28de0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 42 45 4e  .// #define CBEN
28df0 5f 47 45 54 44 49 53 50 49 4e 46 4f 41 20 28 43  _GETDISPINFOA (C
28e00 42 45 4e 5f 46 49 52 53 54 20 2d 20 30 29 0d 0a  BEN_FIRST - 0)..
28e10 2f 2f 20 23 65 6e 64 69 66 0d 0a 65 6e 75 6d 20  // #endif..enum 
28e20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 49 4e  : uint { CBEN_IN
28e30 53 45 52 54 49 54 45 4d 20 3d 20 43 42 45 4e 5f  SERTITEM = CBEN_
28e40 46 49 52 53 54 20 2d 20 31 20 7d 0d 0a 65 6e 75  FIRST - 1 }..enu
28e50 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f  m : uint { CBEN_
28e60 44 45 4c 45 54 45 49 54 45 4d 20 3d 20 43 42 45  DELETEITEM = CBE
28e70 4e 5f 46 49 52 53 54 20 2d 20 32 20 7d 0d 0a 65  N_FIRST - 2 }..e
28e80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45  num : uint { CBE
28e90 4e 5f 42 45 47 49 4e 45 44 49 54 20 3d 20 43 42  N_BEGINEDIT = CB
28ea0 45 4e 5f 46 49 52 53 54 20 2d 20 34 20 7d 0d 0a  EN_FIRST - 4 }..
28eb0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
28ec0 45 4e 5f 45 4e 44 45 44 49 54 41 20 3d 20 43 42  EN_ENDEDITA = CB
28ed0 45 4e 5f 46 49 52 53 54 20 2d 20 35 20 7d 0d 0a  EN_FIRST - 5 }..
28ee0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
28ef0 45 4e 5f 45 4e 44 45 44 49 54 57 20 3d 20 43 42  EN_ENDEDITW = CB
28f00 45 4e 5f 46 49 52 53 54 20 2d 20 36 20 7d 0d 0a  EN_FIRST - 6 }..
28f10 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
28f20 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  _IE >= 0x0400)..
28f30 2f 2f 20 23 64 65 66 69 6e 65 20 43 42 45 4e 5f  // #define CBEN_
28f40 47 45 54 44 49 53 50 49 4e 46 4f 57 20 28 43 42  GETDISPINFOW (CB
28f50 45 4e 5f 46 49 52 53 54 20 2d 20 37 29 0d 0a 2f  EN_FIRST - 7)../
28f60 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
28f70 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
28f80 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
28f90 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 44 52 41   uint { CBEN_DRA
28fa0 47 42 45 47 49 4e 41 20 3d 20 43 42 45 4e 5f 46  GBEGINA = CBEN_F
28fb0 49 52 53 54 20 2d 20 38 20 7d 0d 0a 65 6e 75 6d  IRST - 8 }..enum
28fc0 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 5f 44   : uint { CBEN_D
28fd0 52 41 47 42 45 47 49 4e 57 20 3d 20 43 42 45 4e  RAGBEGINW = CBEN
28fe0 5f 46 49 52 53 54 20 2d 20 39 20 7d 0d 0a 0d 0a  _FIRST - 9 }....
28ff0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
29000 45 0d 0a 61 6c 69 61 73 20 43 42 45 4e 5f 44 52  E..alias CBEN_DR
29010 41 47 42 45 47 49 4e 57 20 43 42 45 4e 5f 44 52  AGBEGINW CBEN_DR
29020 41 47 42 45 47 49 4e 3b 0d 0a 2f 2f 20 23 65 6c  AGBEGIN;..// #el
29030 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
29040 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
29050 64 69 66 20 20 2f 2f 28 5f 57 49 4e 33 32 5f 49  dif  //(_WIN32_I
29060 45 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a  E >= 0x0400)....
29070 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
29080 45 0d 0a 61 6c 69 61 73 20 43 42 45 4e 5f 45 4e  E..alias CBEN_EN
29090 44 45 44 49 54 57 20 43 42 45 4e 5f 45 4e 44 45  DEDITW CBEN_ENDE
290a0 44 49 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  DIT;..// #else..
290b0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
290c0 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
290d0 74 20 7b 20 43 42 45 4e 46 5f 4b 49 4c 4c 46 4f  t { CBENF_KILLFO
290e0 43 55 53 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  CUS = 1 }..enum 
290f0 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 46 5f 52  : uint { CBENF_R
29100 45 54 55 52 4e 20 3d 20 32 20 7d 0d 0a 65 6e 75  ETURN = 2 }..enu
29110 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45 4e 46  m : uint { CBENF
29120 5f 45 53 43 41 50 45 20 3d 20 33 20 7d 0d 0a 65  _ESCAPE = 3 }..e
29130 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 45  num : uint { CBE
29140 4e 46 5f 44 52 4f 50 44 4f 57 4e 20 3d 20 34 20  NF_DROPDOWN = 4 
29150 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
29160 20 7b 20 43 42 45 4d 41 58 53 54 52 4c 45 4e 20   { CBEMAXSTRLEN 
29170 3d 20 32 36 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  = 260 }....// #i
29180 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
29190 30 78 30 34 30 30 29 0d 0a 0d 0a 73 74 72 75 63  0x0400)....struc
291a0 74 20 5f 31 31 20 7b 0d 0a 20 20 4e 4d 48 44 52  t _11 {..  NMHDR
291b0 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 49 74   hdr;..  int iIt
291c0 65 6d 69 64 3b 0d 0a 20 20 57 43 48 41 52 20 73  emid;..  WCHAR s
291d0 7a 54 65 78 74 5b 43 42 45 4d 41 58 53 54 52 4c  zText[CBEMAXSTRL
291e0 45 4e 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  EN];..}..alias _
291f0 31 31 20 4e 4d 43 42 45 44 52 41 47 42 45 47 49  11 NMCBEDRAGBEGI
29200 4e 57 3b 0d 0a 61 6c 69 61 73 20 5f 31 31 2a 20  NW;..alias _11* 
29210 4c 50 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e  LPNMCBEDRAGBEGIN
29220 57 3b 0d 0a 61 6c 69 61 73 20 5f 31 31 2a 20 50  W;..alias _11* P
29230 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e 57 3b  NMCBEDRAGBEGINW;
29240 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31 32 20 7b  ....struct _12 {
29250 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a  ..  NMHDR hdr;..
29260 20 20 69 6e 74 20 69 49 74 65 6d 69 64 3b 0d 0a    int iItemid;..
29270 20 20 63 68 61 72 20 73 7a 54 65 78 74 5b 43 42    char szText[CB
29280 45 4d 41 58 53 54 52 4c 45 4e 5d 3b 0d 0a 7d 0d  EMAXSTRLEN];..}.
29290 0a 61 6c 69 61 73 20 5f 31 32 20 4e 4d 43 42 45  .alias _12 NMCBE
292a0 44 52 41 47 42 45 47 49 4e 41 3b 0d 0a 61 6c 69  DRAGBEGINA;..ali
292b0 61 73 20 5f 31 32 2a 20 4c 50 4e 4d 43 42 45 44  as _12* LPNMCBED
292c0 52 41 47 42 45 47 49 4e 41 3b 0d 0a 61 6c 69 61  RAGBEGINA;..alia
292d0 73 20 5f 31 32 2a 20 50 4e 4d 43 42 45 44 52 41  s _12* PNMCBEDRA
292e0 47 42 45 47 49 4e 41 3b 0d 0a 0d 0a 2f 2f 20 23  GBEGINA;....// #
292f0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
29300 6c 69 61 73 20 4e 4d 43 42 45 44 52 41 47 42 45  lias NMCBEDRAGBE
29310 47 49 4e 57 20 4e 4d 43 42 45 44 52 41 47 42 45  GINW NMCBEDRAGBE
29320 47 49 4e 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d  GIN;..alias LPNM
29330 43 42 45 44 52 41 47 42 45 47 49 4e 57 20 4c 50  CBEDRAGBEGINW LP
29340 4e 4d 43 42 45 44 52 41 47 42 45 47 49 4e 3b 0d  NMCBEDRAGBEGIN;.
29350 0a 61 6c 69 61 73 20 50 4e 4d 43 42 45 44 52 41  .alias PNMCBEDRA
29360 47 42 45 47 49 4e 57 20 50 4e 4d 43 42 45 44 52  GBEGINW PNMCBEDR
29370 41 47 42 45 47 49 4e 3b 0d 0a 2f 2f 20 23 65 6c  AGBEGIN;..// #el
29380 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
29390 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
293a0 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
293b0 64 69 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e  dif      // _WIN
293c0 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 0d  32_IE >= 0x0400.
293d0 0a 0d 0a 73 74 72 75 63 74 20 5f 31 33 20 7b 0d  ...struct _13 {.
293e0 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a 20  .  NMHDR hdr;.. 
293f0 20 42 4f 4f 4c 20 66 43 68 61 6e 67 65 64 3b 0d   BOOL fChanged;.
29400 0a 20 20 69 6e 74 20 69 4e 65 77 53 65 6c 65 63  .  int iNewSelec
29410 74 69 6f 6e 3b 0d 0a 20 20 57 43 48 41 52 20 73  tion;..  WCHAR s
29420 7a 54 65 78 74 5b 43 42 45 4d 41 58 53 54 52 4c  zText[CBEMAXSTRL
29430 45 4e 5d 3b 0d 0a 20 20 69 6e 74 20 69 57 68 79  EN];..  int iWhy
29440 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 33 20  ;..}..alias _13 
29450 4e 4d 43 42 45 45 4e 44 45 44 49 54 57 3b 0d 0a  NMCBEENDEDITW;..
29460 61 6c 69 61 73 20 5f 31 33 2a 20 4c 50 4e 4d 43  alias _13* LPNMC
29470 42 45 45 4e 44 45 44 49 54 57 3b 0d 0a 61 6c 69  BEENDEDITW;..ali
29480 61 73 20 5f 31 33 2a 20 50 4e 4d 43 42 45 45 4e  as _13* PNMCBEEN
29490 44 45 44 49 54 57 3b 0d 0a 0d 0a 73 74 72 75 63  DEDITW;....struc
294a0 74 20 5f 31 34 20 7b 0d 0a 20 20 4e 4d 48 44 52  t _14 {..  NMHDR
294b0 20 68 64 72 3b 0d 0a 20 20 42 4f 4f 4c 20 66 43   hdr;..  BOOL fC
294c0 68 61 6e 67 65 64 3b 0d 0a 20 20 69 6e 74 20 69  hanged;..  int i
294d0 4e 65 77 53 65 6c 65 63 74 69 6f 6e 3b 0d 0a 20  NewSelection;.. 
294e0 20 63 68 61 72 20 73 7a 54 65 78 74 5b 43 42 45   char szText[CBE
294f0 4d 41 58 53 54 52 4c 45 4e 5d 3b 0d 0a 20 20 69  MAXSTRLEN];..  i
29500 6e 74 20 69 57 68 79 3b 0d 0a 7d 0d 0a 61 6c 69  nt iWhy;..}..ali
29510 61 73 20 5f 31 34 20 4e 4d 43 42 45 45 4e 44 45  as _14 NMCBEENDE
29520 44 49 54 41 3b 0d 0a 61 6c 69 61 73 20 5f 31 34  DITA;..alias _14
29530 2a 20 4c 50 4e 4d 43 42 45 45 4e 44 45 44 49 54  * LPNMCBEENDEDIT
29540 41 3b 0d 0a 61 6c 69 61 73 20 5f 31 34 2a 20 50  A;..alias _14* P
29550 4e 4d 43 42 45 45 4e 44 45 44 49 54 41 3b 0d 0a  NMCBEENDEDITA;..
29560 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
29570 4f 44 45 0d 0a 61 6c 69 61 73 20 4e 4d 43 42 45  ODE..alias NMCBE
29580 45 4e 44 45 44 49 54 57 20 4e 4d 43 42 45 45 4e  ENDEDITW NMCBEEN
29590 44 45 44 49 54 3b 0d 0a 61 6c 69 61 73 20 4c 50  DEDIT;..alias LP
295a0 4e 4d 43 42 45 45 4e 44 45 44 49 54 57 20 4c 50  NMCBEENDEDITW LP
295b0 4e 4d 43 42 45 45 4e 44 45 44 49 54 3b 0d 0a 61  NMCBEENDEDIT;..a
295c0 6c 69 61 73 20 50 4e 4d 43 42 45 45 4e 44 45 44  lias PNMCBEENDED
295d0 49 54 57 20 50 4e 4d 43 42 45 45 4e 44 45 44 49  ITW PNMCBEENDEDI
295e0 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  T;..// #else..//
295f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
29600 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
29610 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  if....// #endif.
29620 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20  ...// #endif    
29630 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e    // _WIN32_IE >
29640 3d 20 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23  = 0x0300....// #
29650 69 66 6e 64 65 66 20 4e 4f 54 41 42 43 4f 4e 54  ifndef NOTABCONT
29660 52 4f 4c 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  ROL....// #ifdef
29670 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74   _WIN32....const
29680 20 63 68 61 72 5b 5d 20 57 43 5f 54 41 42 43 4f   char[] WC_TABCO
29690 4e 54 52 4f 4c 41 20 3d 20 22 53 79 73 54 61 62  NTROLA = "SysTab
296a0 43 6f 6e 74 72 6f 6c 33 32 22 3b 0d 0a 63 6f 6e  Control32";..con
296b0 73 74 20 77 63 68 61 72 5b 5d 20 57 43 5f 54 41  st wchar[] WC_TA
296c0 42 43 4f 4e 54 52 4f 4c 57 20 3d 20 22 53 79 73  BCONTROLW = "Sys
296d0 54 61 62 43 6f 6e 74 72 6f 6c 33 32 22 3b 0d 0a  TabControl32";..
296e0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
296f0 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 54 41  ODE..alias WC_TA
29700 42 43 4f 4e 54 52 4f 4c 57 20 57 43 5f 54 41 42  BCONTROLW WC_TAB
29710 43 4f 4e 54 52 4f 4c 3b 0d 0a 2f 2f 20 23 65 6c  CONTROL;..// #el
29720 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
29730 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c  #endif....// #el
29740 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
29750 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
29760 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
29770 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75  x0300)..enum : u
29780 69 6e 74 20 7b 20 54 43 53 5f 53 43 52 4f 4c 4c  int { TCS_SCROLL
29790 4f 50 50 4f 53 49 54 45 20 3d 20 30 78 30 30 30  OPPOSITE = 0x000
297a0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
297b0 20 7b 20 54 43 53 5f 42 4f 54 54 4f 4d 20 3d 20   { TCS_BOTTOM = 
297c0 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
297d0 20 75 69 6e 74 20 7b 20 54 43 53 5f 52 49 47 48   uint { TCS_RIGH
297e0 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  T = 0x0002 }..en
297f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f  um : uint { TCS_
29800 4d 55 4c 54 49 53 45 4c 45 43 54 20 3d 20 30 78  MULTISELECT = 0x
29810 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0004 }..// #endi
29820 66 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  f..// #if (_WIN3
29830 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
29840 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
29850 43 53 5f 46 4c 41 54 42 55 54 54 4f 4e 53 20 3d  CS_FLATBUTTONS =
29860 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 65   0x0008 }..// #e
29870 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ndif..enum : uin
29880 74 20 7b 20 54 43 53 5f 46 4f 52 43 45 49 43 4f  t { TCS_FORCEICO
29890 4e 4c 45 46 54 20 3d 20 30 78 30 30 31 30 20 7d  NLEFT = 0x0010 }
298a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
298b0 54 43 53 5f 46 4f 52 43 45 4c 41 42 45 4c 4c 45  TCS_FORCELABELLE
298c0 46 54 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 2f  FT = 0x0020 }../
298d0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
298e0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 65 6e 75   >= 0x0300)..enu
298f0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 48  m : uint { TCS_H
29900 4f 54 54 52 41 43 4b 20 3d 20 30 78 30 30 34 30  OTTRACK = 0x0040
29910 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
29920 7b 20 54 43 53 5f 56 45 52 54 49 43 41 4c 20 3d  { TCS_VERTICAL =
29930 20 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23 65   0x0080 }..// #e
29940 6e 64 69 66 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ndif..enum : uin
29950 74 20 7b 20 54 43 53 5f 54 41 42 53 20 3d 20 30  t { TCS_TABS = 0
29960 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0000 }..enum : 
29970 75 69 6e 74 20 7b 20 54 43 53 5f 42 55 54 54 4f  uint { TCS_BUTTO
29980 4e 53 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a 65  NS = 0x0100 }..e
29990 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53  num : uint { TCS
299a0 5f 53 49 4e 47 4c 45 4c 49 4e 45 20 3d 20 30 78  _SINGLELINE = 0x
299b0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
299c0 69 6e 74 20 7b 20 54 43 53 5f 4d 55 4c 54 49 4c  int { TCS_MULTIL
299d0 49 4e 45 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a  INE = 0x0200 }..
299e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
299f0 53 5f 52 49 47 48 54 4a 55 53 54 49 46 59 20 3d  S_RIGHTJUSTIFY =
29a00 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0000 }..enum 
29a10 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 46 49 58  : uint { TCS_FIX
29a20 45 44 57 49 44 54 48 20 3d 20 30 78 30 34 30 30  EDWIDTH = 0x0400
29a30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
29a40 7b 20 54 43 53 5f 52 41 47 47 45 44 52 49 47 48  { TCS_RAGGEDRIGH
29a50 54 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e  T = 0x0800 }..en
29a60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f  um : uint { TCS_
29a70 46 4f 43 55 53 4f 4e 42 55 54 54 4f 4e 44 4f 57  FOCUSONBUTTONDOW
29a80 4e 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e  N = 0x1000 }..en
29a90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f  um : uint { TCS_
29aa0 4f 57 4e 45 52 44 52 41 57 46 49 58 45 44 20 3d  OWNERDRAWFIXED =
29ab0 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x2000 }..enum 
29ac0 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 54 4f 4f  : uint { TCS_TOO
29ad0 4c 54 49 50 53 20 3d 20 30 78 34 30 30 30 20 7d  LTIPS = 0x4000 }
29ae0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
29af0 54 43 53 5f 46 4f 43 55 53 4e 45 56 45 52 20 3d  TCS_FOCUSNEVER =
29b00 20 30 78 38 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20   0x8000 }....// 
29b10 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
29b20 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75  = 0x0400)....enu
29b30 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 53 5f 45  m : uint { TCS_E
29b40 58 5f 46 4c 41 54 53 45 50 41 52 41 54 4f 52 53  X_FLATSEPARATORS
29b50 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
29b60 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
29b70 43 53 5f 45 58 5f 52 45 47 49 53 54 45 52 44 52  CS_EX_REGISTERDR
29b80 4f 50 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  OP = 0x00000002 
29b90 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  }..// #endif....
29ba0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
29bb0 4d 5f 47 45 54 49 4d 41 47 45 4c 49 53 54 20 3d  M_GETIMAGELIST =
29bc0 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d   TCM_FIRST + 2 }
29bd0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62  ..// #define Tab
29be0 43 74 72 6c 5f 47 65 74 49 6d 61 67 65 4c 69 73  Ctrl_GetImageLis
29bf0 74 28 68 77 6e 64 29 20 28 48 49 4d 41 47 45 4c  t(hwnd) (HIMAGEL
29c00 49 53 54 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  IST)SNDMSG((hwnd
29c10 29 2c 20 54 43 4d 5f 47 45 54 49 4d 41 47 45 4c  ), TCM_GETIMAGEL
29c20 49 53 54 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65  IST, 0, 0L)....e
29c30 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d  num : uint { TCM
29c40 5f 53 45 54 49 4d 41 47 45 4c 49 53 54 20 3d 20  _SETIMAGELIST = 
29c50 54 43 4d 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d  TCM_FIRST + 3 }.
29c60 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43  .// #define TabC
29c70 74 72 6c 5f 53 65 74 49 6d 61 67 65 4c 69 73 74  trl_SetImageList
29c80 28 68 77 6e 64 2c 20 68 69 6d 6c 29 20 28 48 49  (hwnd, himl) (HI
29c90 4d 41 47 45 4c 49 53 54 29 53 4e 44 4d 53 47 28  MAGELIST)SNDMSG(
29ca0 28 68 77 6e 64 29 2c 20 54 43 4d 5f 53 45 54 49  (hwnd), TCM_SETI
29cb0 4d 41 47 45 4c 49 53 54 2c 20 30 2c 20 28 4c 50  MAGELIST, 0, (LP
29cc0 41 52 41 4d 29 28 48 49 4d 41 47 45 4c 49 53 54  ARAM)(HIMAGELIST
29cd0 29 28 68 69 6d 6c 29 29 0d 0a 0d 0a 65 6e 75 6d  )(himl))....enum
29ce0 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45   : uint { TCM_GE
29cf0 54 49 54 45 4d 43 4f 55 4e 54 20 3d 20 54 43 4d  TITEMCOUNT = TCM
29d00 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f  _FIRST + 4 }..//
29d10 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c   #define TabCtrl
29d20 5f 47 65 74 49 74 65 6d 43 6f 75 6e 74 28 68 77  _GetItemCount(hw
29d30 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28  nd) (int)SNDMSG(
29d40 28 68 77 6e 64 29 2c 20 54 43 4d 5f 47 45 54 49  (hwnd), TCM_GETI
29d50 54 45 4d 43 4f 55 4e 54 2c 20 30 2c 20 30 4c 29  TEMCOUNT, 0, 0L)
29d60 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
29d70 7b 20 54 43 49 46 5f 54 45 58 54 20 3d 20 30 78  { TCIF_TEXT = 0x
29d80 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
29d90 69 6e 74 20 7b 20 54 43 49 46 5f 49 4d 41 47 45  int { TCIF_IMAGE
29da0 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
29db0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 49 46 5f  m : uint { TCIF_
29dc0 52 54 4c 52 45 41 44 49 4e 47 20 3d 20 30 78 30  RTLREADING = 0x0
29dd0 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
29de0 6e 74 20 7b 20 54 43 49 46 5f 50 41 52 41 4d 20  nt { TCIF_PARAM 
29df0 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f 20 23  = 0x0008 }..// #
29e00 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
29e10 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0300)..enum :
29e20 20 75 69 6e 74 20 7b 20 54 43 49 46 5f 53 54 41   uint { TCIF_STA
29e30 54 45 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 0d  TE = 0x0010 }...
29e40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
29e50 43 49 53 5f 42 55 54 54 4f 4e 50 52 45 53 53 45  CIS_BUTTONPRESSE
29e60 44 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 2f 2f  D = 0x0001 }..//
29e70 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 20   #endif..// #if 
29e80 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
29e90 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0400)..enum : ui
29ea0 6e 74 20 7b 20 54 43 49 53 5f 48 49 47 48 4c 49  nt { TCIS_HIGHLI
29eb0 47 48 54 45 44 20 3d 20 30 78 30 30 30 32 20 7d  GHTED = 0x0002 }
29ec0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
29ed0 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45  / #if (_WIN32_IE
29ee0 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69   >= 0x0300)..ali
29ef0 61 73 20 54 43 49 54 45 4d 48 45 41 44 45 52 41  as TCITEMHEADERA
29f00 20 54 43 5f 49 54 45 4d 48 45 41 44 45 52 41 3b   TC_ITEMHEADERA;
29f10 0d 0a 61 6c 69 61 73 20 54 43 49 54 45 4d 48 45  ..alias TCITEMHE
29f20 41 44 45 52 57 20 54 43 5f 49 54 45 4d 48 45 41  ADERW TC_ITEMHEA
29f30 44 45 52 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  DERW;..// #else.
29f40 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
29f50 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
29f60 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
29f70 61 6c 69 61 73 20 54 43 49 54 45 4d 48 45 41 44  alias TCITEMHEAD
29f80 45 52 20 54 43 5f 49 54 45 4d 48 45 41 44 45 52  ER TC_ITEMHEADER
29f90 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54  ;....struct tagT
29fa0 43 49 54 45 4d 48 45 41 44 45 52 41 20 7b 0d 0a  CITEMHEADERA {..
29fb0 20 20 55 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20    UINT mask;..  
29fc0 55 49 4e 54 20 6c 70 52 65 73 65 72 76 65 64 31  UINT lpReserved1
29fd0 3b 0d 0a 20 20 55 49 4e 54 20 6c 70 52 65 73 65  ;..  UINT lpRese
29fe0 72 76 65 64 32 3b 0d 0a 20 20 4c 50 53 54 52 20  rved2;..  LPSTR 
29ff0 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20  pszText;..  int 
2a000 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69  cchTextMax;..  i
2a010 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 61  nt iImage;..}..a
2a020 6c 69 61 73 20 74 61 67 54 43 49 54 45 4d 48 45  lias tagTCITEMHE
2a030 41 44 45 52 41 20 54 43 49 54 45 4d 48 45 41 44  ADERA TCITEMHEAD
2a040 45 52 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54  ERA;..alias tagT
2a050 43 49 54 45 4d 48 45 41 44 45 52 41 2a 20 4c 50  CITEMHEADERA* LP
2a060 54 43 49 54 45 4d 48 45 41 44 45 52 41 3b 0d 0a  TCITEMHEADERA;..
2a070 0d 0a 73 74 72 75 63 74 20 74 61 67 54 43 49 54  ..struct tagTCIT
2a080 45 4d 48 45 41 44 45 52 57 20 7b 0d 0a 20 20 55  EMHEADERW {..  U
2a090 49 4e 54 20 6d 61 73 6b 3b 0d 0a 20 20 55 49 4e  INT mask;..  UIN
2a0a0 54 20 6c 70 52 65 73 65 72 76 65 64 31 3b 0d 0a  T lpReserved1;..
2a0b0 20 20 55 49 4e 54 20 6c 70 52 65 73 65 72 76 65    UINT lpReserve
2a0c0 64 32 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73  d2;..  LPWSTR ps
2a0d0 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74 20 63 63  zText;..  int cc
2a0e0 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20 69 6e 74  hTextMax;..  int
2a0f0 20 69 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 61 6c 69   iImage;..}..ali
2a100 61 73 20 74 61 67 54 43 49 54 45 4d 48 45 41 44  as tagTCITEMHEAD
2a110 45 52 57 20 54 43 49 54 45 4d 48 45 41 44 45 52  ERW TCITEMHEADER
2a120 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 54 43 49  W;..alias tagTCI
2a130 54 45 4d 48 45 41 44 45 52 57 2a 20 4c 50 54 43  TEMHEADERW* LPTC
2a140 49 54 45 4d 48 45 41 44 45 52 57 3b 0d 0a 0d 0a  ITEMHEADERW;....
2a150 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
2a160 45 0d 0a 61 6c 69 61 73 20 54 43 49 54 45 4d 48  E..alias TCITEMH
2a170 45 41 44 45 52 57 20 54 43 49 54 45 4d 48 45 41  EADERW TCITEMHEA
2a180 44 45 52 3b 0d 0a 61 6c 69 61 73 20 4c 50 54 43  DER;..alias LPTC
2a190 49 54 45 4d 48 45 41 44 45 52 57 20 4c 50 54 43  ITEMHEADERW LPTC
2a1a0 49 54 45 4d 48 45 41 44 45 52 3b 0d 0a 2f 2f 20  ITEMHEADER;..// 
2a1b0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
2a1c0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
2a1d0 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  if....// #if (_W
2a1e0 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
2a1f0 30 29 0d 0a 61 6c 69 61 73 20 54 43 49 54 45 4d  0)..alias TCITEM
2a200 41 20 54 43 5f 49 54 45 4d 41 3b 0d 0a 61 6c 69  A TC_ITEMA;..ali
2a210 61 73 20 54 43 49 54 45 4d 57 20 54 43 5f 49 54  as TCITEMW TC_IT
2a220 45 4d 57 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  EMW;..// #else..
2a230 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
2a240 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
2a250 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 61  ....// #endif..a
2a260 6c 69 61 73 20 54 43 49 54 45 4d 20 54 43 5f 49  lias TCITEM TC_I
2a270 54 45 4d 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  TEM;....struct t
2a280 61 67 54 43 49 54 45 4d 41 20 7b 0d 0a 20 20 55  agTCITEMA {..  U
2a290 49 4e 54 20 6d 61 73 6b 3b 0d 0a 2f 2f 20 23 69  INT mask;..// #i
2a2a0 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20  f (_WIN32_IE >= 
2a2b0 30 78 30 33 30 30 29 0d 0a 20 20 44 57 4f 52 44  0x0300)..  DWORD
2a2c0 20 64 77 53 74 61 74 65 3b 0d 0a 20 20 44 57 4f   dwState;..  DWO
2a2d0 52 44 20 64 77 53 74 61 74 65 4d 61 73 6b 3b 0d  RD dwStateMask;.
2a2e0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
2a2f0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20  ...// #endif..  
2a300 4c 50 53 54 52 20 70 73 7a 54 65 78 74 3b 0d 0a  LPSTR pszText;..
2a310 20 20 69 6e 74 20 63 63 68 54 65 78 74 4d 61 78    int cchTextMax
2a320 3b 0d 0a 20 20 69 6e 74 20 69 49 6d 61 67 65 3b  ;..  int iImage;
2a330 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 50 61 72 61  ..  LPARAM lPara
2a340 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  m;..}..alias tag
2a350 54 43 49 54 45 4d 41 20 54 43 49 54 45 4d 41 3b  TCITEMA TCITEMA;
2a360 0d 0a 61 6c 69 61 73 20 74 61 67 54 43 49 54 45  ..alias tagTCITE
2a370 4d 41 2a 20 4c 50 54 43 49 54 45 4d 41 3b 0d 0a  MA* LPTCITEMA;..
2a380 0d 0a 73 74 72 75 63 74 20 74 61 67 54 43 49 54  ..struct tagTCIT
2a390 45 4d 57 20 7b 0d 0a 20 20 55 49 4e 54 20 6d 61  EMW {..  UINT ma
2a3a0 73 6b 3b 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  sk;..// #if (_WI
2a3b0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
2a3c0 29 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 61  )..  DWORD dwSta
2a3d0 74 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  te;..  DWORD dwS
2a3e0 74 61 74 65 4d 61 73 6b 3b 0d 0a 2f 2f 20 23 65  tateMask;..// #e
2a3f0 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
2a400 23 65 6e 64 69 66 0d 0a 20 20 4c 50 57 53 54 52  #endif..  LPWSTR
2a410 20 70 73 7a 54 65 78 74 3b 0d 0a 20 20 69 6e 74   pszText;..  int
2a420 20 63 63 68 54 65 78 74 4d 61 78 3b 0d 0a 20 20   cchTextMax;..  
2a430 69 6e 74 20 69 49 6d 61 67 65 3b 0d 0a 20 20 4c  int iImage;..  L
2a440 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a 7d  PARAM lParam;..}
2a450 0d 0a 61 6c 69 61 73 20 74 61 67 54 43 49 54 45  ..alias tagTCITE
2a460 4d 57 20 54 43 49 54 45 4d 57 3b 0d 0a 61 6c 69  MW TCITEMW;..ali
2a470 61 73 20 74 61 67 54 43 49 54 45 4d 57 2a 20 4c  as tagTCITEMW* L
2a480 50 54 43 49 54 45 4d 57 3b 0d 0a 0d 0a 2f 2f 20  PTCITEMW;....// 
2a490 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
2a4a0 61 6c 69 61 73 20 54 43 49 54 45 4d 57 20 54 43  alias TCITEMW TC
2a4b0 49 54 45 4d 3b 0d 0a 61 6c 69 61 73 20 4c 50 54  ITEM;..alias LPT
2a4c0 43 49 54 45 4d 57 20 4c 50 54 43 49 54 45 4d 3b  CITEMW LPTCITEM;
2a4d0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
2a4e0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
2a4f0 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
2a500 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54  : uint { TCM_GET
2a510 49 54 45 4d 41 20 3d 20 54 43 4d 5f 46 49 52 53  ITEMA = TCM_FIRS
2a520 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 5 }..enum : 
2a530 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54 49 54  uint { TCM_GETIT
2a540 45 4d 57 20 3d 20 54 43 4d 5f 46 49 52 53 54 20  EMW = TCM_FIRST 
2a550 2b 20 36 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  + 60 }....// #if
2a560 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
2a570 61 73 20 54 43 4d 5f 47 45 54 49 54 45 4d 57 20  as TCM_GETITEMW 
2a580 54 43 4d 5f 47 45 54 49 54 45 4d 3b 0d 0a 2f 2f  TCM_GETITEM;..//
2a590 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
2a5a0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
2a5b0 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c   #define TabCtrl
2a5c0 5f 47 65 74 49 74 65 6d 28 68 77 6e 64 2c 20 69  _GetItem(hwnd, i
2a5d0 49 74 65 6d 2c 20 70 69 74 65 6d 29 20 28 42 4f  Item, pitem) (BO
2a5e0 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
2a5f0 2c 20 54 43 4d 5f 47 45 54 49 54 45 4d 2c 20 28  , TCM_GETITEM, (
2a600 57 50 41 52 41 4d 29 28 69 6e 74 29 28 69 49 74  WPARAM)(int)(iIt
2a610 65 6d 29 2c 20 28 4c 50 41 52 41 4d 29 28 54 43  em), (LPARAM)(TC
2a620 5f 49 54 45 4d 20 2a 29 28 70 69 74 65 6d 29 29  _ITEM *)(pitem))
2a630 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2a640 7b 20 54 43 4d 5f 53 45 54 49 54 45 4d 41 20 3d  { TCM_SETITEMA =
2a650 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 36 20 7d   TCM_FIRST + 6 }
2a660 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a670 54 43 4d 5f 53 45 54 49 54 45 4d 57 20 3d 20 54  TCM_SETITEMW = T
2a680 43 4d 5f 46 49 52 53 54 20 2b 20 36 31 20 7d 0d  CM_FIRST + 61 }.
2a690 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
2a6a0 43 4f 44 45 0d 0a 61 6c 69 61 73 20 54 43 4d 5f  CODE..alias TCM_
2a6b0 53 45 54 49 54 45 4d 57 20 54 43 4d 5f 53 45 54  SETITEMW TCM_SET
2a6c0 49 54 45 4d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ITEM;..// #else.
2a6d0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
2a6e0 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  dif....// #defin
2a6f0 65 20 54 61 62 43 74 72 6c 5f 53 65 74 49 74 65  e TabCtrl_SetIte
2a700 6d 28 68 77 6e 64 2c 20 69 49 74 65 6d 2c 20 70  m(hwnd, iItem, p
2a710 69 74 65 6d 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  item) (BOOL)SNDM
2a720 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 53  SG((hwnd), TCM_S
2a730 45 54 49 54 45 4d 2c 20 28 57 50 41 52 41 4d 29  ETITEM, (WPARAM)
2a740 28 69 6e 74 29 28 69 49 74 65 6d 29 2c 20 28 4c  (int)(iItem), (L
2a750 50 41 52 41 4d 29 28 54 43 5f 49 54 45 4d 20 2a  PARAM)(TC_ITEM *
2a760 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75  )(pitem))....enu
2a770 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 49  m : uint { TCM_I
2a780 4e 53 45 52 54 49 54 45 4d 41 20 3d 20 54 43 4d  NSERTITEMA = TCM
2a790 5f 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 65 6e  _FIRST + 7 }..en
2a7a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f  um : uint { TCM_
2a7b0 49 4e 53 45 52 54 49 54 45 4d 57 20 3d 20 54 43  INSERTITEMW = TC
2a7c0 4d 5f 46 49 52 53 54 20 2b 20 36 32 20 7d 0d 0a  M_FIRST + 62 }..
2a7d0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
2a7e0 4f 44 45 0d 0a 61 6c 69 61 73 20 54 43 4d 5f 49  ODE..alias TCM_I
2a7f0 4e 53 45 52 54 49 54 45 4d 57 20 54 43 4d 5f 49  NSERTITEMW TCM_I
2a800 4e 53 45 52 54 49 54 45 4d 3b 0d 0a 2f 2f 20 23  NSERTITEM;..// #
2a810 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
2a820 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
2a830 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 49  define TabCtrl_I
2a840 6e 73 65 72 74 49 74 65 6d 28 68 77 6e 64 2c 20  nsertItem(hwnd, 
2a850 69 49 74 65 6d 2c 20 70 69 74 65 6d 29 20 28 69  iItem, pitem) (i
2a860 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  nt)SNDMSG((hwnd)
2a870 2c 20 54 43 4d 5f 49 4e 53 45 52 54 49 54 45 4d  , TCM_INSERTITEM
2a880 2c 20 28 57 50 41 52 41 4d 29 28 69 6e 74 29 28  , (WPARAM)(int)(
2a890 69 49 74 65 6d 29 2c 20 28 4c 50 41 52 41 4d 29  iItem), (LPARAM)
2a8a0 28 63 6f 6e 73 74 20 54 43 5f 49 54 45 4d 20 2a  (const TC_ITEM *
2a8b0 29 28 70 69 74 65 6d 29 29 0d 0a 0d 0a 65 6e 75  )(pitem))....enu
2a8c0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 44  m : uint { TCM_D
2a8d0 45 4c 45 54 45 49 54 45 4d 20 3d 20 54 43 4d 5f  ELETEITEM = TCM_
2a8e0 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a 2f 2f 20  FIRST + 8 }..// 
2a8f0 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f  #define TabCtrl_
2a900 44 65 6c 65 74 65 49 74 65 6d 28 68 77 6e 64 2c  DeleteItem(hwnd,
2a910 20 69 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47   i) (BOOL)SNDMSG
2a920 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 44 45 4c  ((hwnd), TCM_DEL
2a930 45 54 45 49 54 45 4d 2c 20 28 57 50 41 52 41 4d  ETEITEM, (WPARAM
2a940 29 28 69 6e 74 29 28 69 29 2c 20 30 4c 29 0d 0a  )(int)(i), 0L)..
2a950 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a960 54 43 4d 5f 44 45 4c 45 54 45 41 4c 4c 49 54 45  TCM_DELETEALLITE
2a970 4d 53 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b  MS = TCM_FIRST +
2a980 20 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   9 }..// #define
2a990 20 54 61 62 43 74 72 6c 5f 44 65 6c 65 74 65 41   TabCtrl_DeleteA
2a9a0 6c 6c 49 74 65 6d 73 28 68 77 6e 64 29 20 28 42  llItems(hwnd) (B
2a9b0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
2a9c0 29 2c 20 54 43 4d 5f 44 45 4c 45 54 45 41 4c 4c  ), TCM_DELETEALL
2a9d0 49 54 45 4d 53 2c 20 30 2c 20 30 4c 29 0d 0a 0d  ITEMS, 0, 0L)...
2a9e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
2a9f0 43 4d 5f 47 45 54 49 54 45 4d 52 45 43 54 20 3d  CM_GETITEMRECT =
2aa00 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 31 30 20   TCM_FIRST + 10 
2aa10 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61  }..// #define Ta
2aa20 62 43 74 72 6c 5f 47 65 74 49 74 65 6d 52 65 63  bCtrl_GetItemRec
2aa30 74 28 68 77 6e 64 2c 20 69 2c 20 70 72 63 29 20  t(hwnd, i, prc) 
2aa40 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
2aa50 6e 64 29 2c 20 54 43 4d 5f 47 45 54 49 54 45 4d  nd), TCM_GETITEM
2aa60 52 45 43 54 2c 20 28 57 50 41 52 41 4d 29 28 69  RECT, (WPARAM)(i
2aa70 6e 74 29 28 69 29 2c 20 28 4c 50 41 52 41 4d 29  nt)(i), (LPARAM)
2aa80 28 52 45 43 54 20 2a 29 28 70 72 63 29 29 0d 0a  (RECT *)(prc))..
2aa90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2aaa0 54 43 4d 5f 47 45 54 43 55 52 53 45 4c 20 3d 20  TCM_GETCURSEL = 
2aab0 54 43 4d 5f 46 49 52 53 54 20 2b 20 31 31 20 7d  TCM_FIRST + 11 }
2aac0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62  ..// #define Tab
2aad0 43 74 72 6c 5f 47 65 74 43 75 72 53 65 6c 28 68  Ctrl_GetCurSel(h
2aae0 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d 53 47  wnd) (int)SNDMSG
2aaf0 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 47 45 54  ((hwnd), TCM_GET
2ab00 43 55 52 53 45 4c 2c 20 30 2c 20 30 29 0d 0a 0d  CURSEL, 0, 0)...
2ab10 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
2ab20 43 4d 5f 53 45 54 43 55 52 53 45 4c 20 3d 20 54  CM_SETCURSEL = T
2ab30 43 4d 5f 46 49 52 53 54 20 2b 20 31 32 20 7d 0d  CM_FIRST + 12 }.
2ab40 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43  .// #define TabC
2ab50 74 72 6c 5f 53 65 74 43 75 72 53 65 6c 28 68 77  trl_SetCurSel(hw
2ab60 6e 64 2c 20 69 29 20 28 69 6e 74 29 53 4e 44 4d  nd, i) (int)SNDM
2ab70 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 53  SG((hwnd), TCM_S
2ab80 45 54 43 55 52 53 45 4c 2c 20 28 57 50 41 52 41  ETCURSEL, (WPARA
2ab90 4d 29 28 69 29 2c 20 30 29 0d 0a 0d 0a 65 6e 75  M)(i), 0)....enu
2aba0 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 48 54 5f  m : uint { TCHT_
2abb0 4e 4f 57 48 45 52 45 20 3d 20 30 78 30 30 30 31  NOWHERE = 0x0001
2abc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2abd0 7b 20 54 43 48 54 5f 4f 4e 49 54 45 4d 49 43 4f  { TCHT_ONITEMICO
2abe0 4e 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e  N = 0x0002 }..en
2abf0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 48 54  um : uint { TCHT
2ac00 5f 4f 4e 49 54 45 4d 4c 41 42 45 4c 20 3d 20 30  _ONITEMLABEL = 0
2ac10 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0004 }..enum : 
2ac20 75 69 6e 74 20 7b 20 54 43 48 54 5f 4f 4e 49 54  uint { TCHT_ONIT
2ac30 45 4d 20 3d 20 54 43 48 54 5f 4f 4e 49 54 45 4d  EM = TCHT_ONITEM
2ac40 49 43 4f 4e 20 7c 20 54 43 48 54 5f 4f 4e 49 54  ICON | TCHT_ONIT
2ac50 45 4d 4c 41 42 45 4c 20 7d 0d 0a 0d 0a 2f 2f 20  EMLABEL }....// 
2ac60 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
2ac70 3d 20 30 78 30 33 30 30 29 0d 0a 61 6c 69 61 73  = 0x0300)..alias
2ac80 20 4c 50 54 43 48 49 54 54 45 53 54 49 4e 46 4f   LPTCHITTESTINFO
2ac90 20 4c 50 54 43 5f 48 49 54 54 45 53 54 49 4e 46   LPTC_HITTESTINF
2aca0 4f 3b 0d 0a 61 6c 69 61 73 20 54 43 48 49 54 54  O;..alias TCHITT
2acb0 45 53 54 49 4e 46 4f 20 54 43 5f 48 49 54 54 45  ESTINFO TC_HITTE
2acc0 53 54 49 4e 46 4f 3b 0d 0a 2f 2f 20 23 65 6c 73  STINFO;..// #els
2acd0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
2ace0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
2acf0 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63   #endif....struc
2ad00 74 20 74 61 67 54 43 48 49 54 54 45 53 54 49 4e  t tagTCHITTESTIN
2ad10 46 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74  FO {..  POINT pt
2ad20 3b 0d 0a 20 20 55 49 4e 54 20 66 6c 61 67 73 3b  ;..  UINT flags;
2ad30 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 54 43  ..}..alias tagTC
2ad40 48 49 54 54 45 53 54 49 4e 46 4f 20 54 43 48 49  HITTESTINFO TCHI
2ad50 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61  TTESTINFO;..alia
2ad60 73 20 74 61 67 54 43 48 49 54 54 45 53 54 49 4e  s tagTCHITTESTIN
2ad70 46 4f 2a 20 4c 50 54 43 48 49 54 54 45 53 54 49  FO* LPTCHITTESTI
2ad80 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  NFO;....enum : u
2ad90 69 6e 74 20 7b 20 54 43 4d 5f 48 49 54 54 45 53  int { TCM_HITTES
2ada0 54 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20  T = TCM_FIRST + 
2adb0 31 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  13 }..// #define
2adc0 20 54 61 62 43 74 72 6c 5f 48 69 74 54 65 73 74   TabCtrl_HitTest
2add0 28 68 77 6e 64 54 43 2c 20 70 69 6e 66 6f 29 20  (hwndTC, pinfo) 
2ade0 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e  (int)SNDMSG((hwn
2adf0 64 54 43 29 2c 20 54 43 4d 5f 48 49 54 54 45 53  dTC), TCM_HITTES
2ae00 54 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 54  T, 0, (LPARAM)(T
2ae10 43 5f 48 49 54 54 45 53 54 49 4e 46 4f 20 2a 29  C_HITTESTINFO *)
2ae20 28 70 69 6e 66 6f 29 29 0d 0a 0d 0a 65 6e 75 6d  (pinfo))....enum
2ae30 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53 45   : uint { TCM_SE
2ae40 54 49 54 45 4d 45 58 54 52 41 20 3d 20 54 43 4d  TITEMEXTRA = TCM
2ae50 5f 46 49 52 53 54 20 2b 20 31 34 20 7d 0d 0a 2f  _FIRST + 14 }../
2ae60 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72  / #define TabCtr
2ae70 6c 5f 53 65 74 49 74 65 6d 45 78 74 72 61 28 68  l_SetItemExtra(h
2ae80 77 6e 64 54 43 2c 20 63 62 29 20 28 42 4f 4f 4c  wndTC, cb) (BOOL
2ae90 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 54 43 29  )SNDMSG((hwndTC)
2aea0 2c 20 54 43 4d 5f 53 45 54 49 54 45 4d 45 58 54  , TCM_SETITEMEXT
2aeb0 52 41 2c 20 28 57 50 41 52 41 4d 29 28 63 62 29  RA, (WPARAM)(cb)
2aec0 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  , 0L)....enum : 
2aed0 75 69 6e 74 20 7b 20 54 43 4d 5f 41 44 4a 55 53  uint { TCM_ADJUS
2aee0 54 52 45 43 54 20 3d 20 54 43 4d 5f 46 49 52 53  TRECT = TCM_FIRS
2aef0 54 20 2b 20 34 30 20 7d 0d 0a 2f 2f 20 23 64 65  T + 40 }..// #de
2af00 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 41 64 6a  fine TabCtrl_Adj
2af10 75 73 74 52 65 63 74 28 68 77 6e 64 2c 20 62 4c  ustRect(hwnd, bL
2af20 61 72 67 65 72 2c 20 70 72 63 29 20 28 69 6e 74  arger, prc) (int
2af30 29 53 4e 44 4d 53 47 28 68 77 6e 64 2c 20 54 43  )SNDMSG(hwnd, TC
2af40 4d 5f 41 44 4a 55 53 54 52 45 43 54 2c 20 28 57  M_ADJUSTRECT, (W
2af50 50 41 52 41 4d 29 28 42 4f 4f 4c 29 28 62 4c 61  PARAM)(BOOL)(bLa
2af60 72 67 65 72 29 2c 20 28 4c 50 41 52 41 4d 29 28  rger), (LPARAM)(
2af70 52 45 43 54 20 2a 29 70 72 63 29 0d 0a 0d 0a 65  RECT *)prc)....e
2af80 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d  num : uint { TCM
2af90 5f 53 45 54 49 54 45 4d 53 49 5a 45 20 3d 20 54  _SETITEMSIZE = T
2afa0 43 4d 5f 46 49 52 53 54 20 2b 20 34 31 20 7d 0d  CM_FIRST + 41 }.
2afb0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43  .// #define TabC
2afc0 74 72 6c 5f 53 65 74 49 74 65 6d 53 69 7a 65 28  trl_SetItemSize(
2afd0 68 77 6e 64 2c 20 78 2c 20 79 29 20 28 44 57 4f  hwnd, x, y) (DWO
2afe0 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  RD)SNDMSG((hwnd)
2aff0 2c 20 54 43 4d 5f 53 45 54 49 54 45 4d 53 49 5a  , TCM_SETITEMSIZ
2b000 45 2c 20 30 2c 20 4d 41 4b 45 4c 50 41 52 41 4d  E, 0, MAKELPARAM
2b010 28 78 2c 79 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  (x,y))....enum :
2b020 20 75 69 6e 74 20 7b 20 54 43 4d 5f 52 45 4d 4f   uint { TCM_REMO
2b030 56 45 49 4d 41 47 45 20 3d 20 54 43 4d 5f 46 49  VEIMAGE = TCM_FI
2b040 52 53 54 20 2b 20 34 32 20 7d 0d 0a 2f 2f 20 23  RST + 42 }..// #
2b050 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f 52  define TabCtrl_R
2b060 65 6d 6f 76 65 49 6d 61 67 65 28 68 77 6e 64 2c  emoveImage(hwnd,
2b070 20 69 29 20 28 76 6f 69 64 29 53 4e 44 4d 53 47   i) (void)SNDMSG
2b080 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 52 45 4d  ((hwnd), TCM_REM
2b090 4f 56 45 49 4d 41 47 45 2c 20 69 2c 20 30 4c 29  OVEIMAGE, i, 0L)
2b0a0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2b0b0 7b 20 54 43 4d 5f 53 45 54 50 41 44 44 49 4e 47  { TCM_SETPADDING
2b0c0 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 34   = TCM_FIRST + 4
2b0d0 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  3 }..// #define 
2b0e0 54 61 62 43 74 72 6c 5f 53 65 74 50 61 64 64 69  TabCtrl_SetPaddi
2b0f0 6e 67 28 68 77 6e 64 2c 20 63 78 2c 20 63 79 29  ng(hwnd, cx, cy)
2b100 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68   (void)SNDMSG((h
2b110 77 6e 64 29 2c 20 54 43 4d 5f 53 45 54 50 41 44  wnd), TCM_SETPAD
2b120 44 49 4e 47 2c 20 30 2c 20 4d 41 4b 45 4c 50 41  DING, 0, MAKELPA
2b130 52 41 4d 28 63 78 2c 20 63 79 29 29 0d 0a 0d 0a  RAM(cx, cy))....
2b140 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
2b150 4d 5f 47 45 54 52 4f 57 43 4f 55 4e 54 20 3d 20  M_GETROWCOUNT = 
2b160 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 34 20 7d  TCM_FIRST + 44 }
2b170 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62  ..// #define Tab
2b180 43 74 72 6c 5f 47 65 74 52 6f 77 43 6f 75 6e 74  Ctrl_GetRowCount
2b190 28 68 77 6e 64 29 20 28 69 6e 74 29 53 4e 44 4d  (hwnd) (int)SNDM
2b1a0 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f 47  SG((hwnd), TCM_G
2b1b0 45 54 52 4f 57 43 4f 55 4e 54 2c 20 30 2c 20 30  ETROWCOUNT, 0, 0
2b1c0 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  L)....enum : uin
2b1d0 74 20 7b 20 54 43 4d 5f 47 45 54 54 4f 4f 4c 54  t { TCM_GETTOOLT
2b1e0 49 50 53 20 3d 20 54 43 4d 5f 46 49 52 53 54 20  IPS = TCM_FIRST 
2b1f0 2b 20 34 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 45 }..// #defi
2b200 6e 65 20 54 61 62 43 74 72 6c 5f 47 65 74 54 6f  ne TabCtrl_GetTo
2b210 6f 6c 54 69 70 73 28 68 77 6e 64 29 20 28 48 57  olTips(hwnd) (HW
2b220 4e 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  ND)SNDMSG((hwnd)
2b230 2c 20 54 43 4d 5f 47 45 54 54 4f 4f 4c 54 49 50  , TCM_GETTOOLTIP
2b240 53 2c 20 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75  S, 0, 0L)....enu
2b250 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 53  m : uint { TCM_S
2b260 45 54 54 4f 4f 4c 54 49 50 53 20 3d 20 54 43 4d  ETTOOLTIPS = TCM
2b270 5f 46 49 52 53 54 20 2b 20 34 36 20 7d 0d 0a 2f  _FIRST + 46 }../
2b280 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72  / #define TabCtr
2b290 6c 5f 53 65 74 54 6f 6f 6c 54 69 70 73 28 68 77  l_SetToolTips(hw
2b2a0 6e 64 2c 20 68 77 6e 64 54 54 29 20 28 76 6f 69  nd, hwndTT) (voi
2b2b0 64 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  d)SNDMSG((hwnd),
2b2c0 20 54 43 4d 5f 53 45 54 54 4f 4f 4c 54 49 50 53   TCM_SETTOOLTIPS
2b2d0 2c 20 28 57 50 41 52 41 4d 29 28 68 77 6e 64 54  , (WPARAM)(hwndT
2b2e0 54 29 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20  T), 0L)....enum 
2b2f0 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45 54  : uint { TCM_GET
2b300 43 55 52 46 4f 43 55 53 20 3d 20 54 43 4d 5f 46  CURFOCUS = TCM_F
2b310 49 52 53 54 20 2b 20 34 37 20 7d 0d 0a 2f 2f 20  IRST + 47 }..// 
2b320 23 64 65 66 69 6e 65 20 54 61 62 43 74 72 6c 5f  #define TabCtrl_
2b330 47 65 74 43 75 72 46 6f 63 75 73 28 68 77 6e 64  GetCurFocus(hwnd
2b340 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68  ) (int)SNDMSG((h
2b350 77 6e 64 29 2c 20 54 43 4d 5f 47 45 54 43 55 52  wnd), TCM_GETCUR
2b360 46 4f 43 55 53 2c 20 30 2c 20 30 29 0d 0a 0d 0a  FOCUS, 0, 0)....
2b370 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
2b380 4d 5f 53 45 54 43 55 52 46 4f 43 55 53 20 3d 20  M_SETCURFOCUS = 
2b390 54 43 4d 5f 46 49 52 53 54 20 2b 20 34 38 20 7d  TCM_FIRST + 48 }
2b3a0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62  ..// #define Tab
2b3b0 43 74 72 6c 5f 53 65 74 43 75 72 46 6f 63 75 73  Ctrl_SetCurFocus
2b3c0 28 68 77 6e 64 2c 20 69 29 20 53 4e 44 4d 53 47  (hwnd, i) SNDMSG
2b3d0 28 28 68 77 6e 64 29 2c 54 43 4d 5f 53 45 54 43  ((hwnd),TCM_SETC
2b3e0 55 52 46 4f 43 55 53 2c 20 69 2c 20 30 29 0d 0a  URFOCUS, i, 0)..
2b3f0 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32  ..// #if (_WIN32
2b400 5f 49 45 20 3e 3d 20 30 78 30 33 30 30 29 0d 0a  _IE >= 0x0300)..
2b410 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43  enum : uint { TC
2b420 4d 5f 53 45 54 4d 49 4e 54 41 42 57 49 44 54 48  M_SETMINTABWIDTH
2b430 20 3d 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 34   = TCM_FIRST + 4
2b440 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  9 }..// #define 
2b450 54 61 62 43 74 72 6c 5f 53 65 74 4d 69 6e 54 61  TabCtrl_SetMinTa
2b460 62 57 69 64 74 68 28 68 77 6e 64 2c 20 78 29 20  bWidth(hwnd, x) 
2b470 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e  (int)SNDMSG((hwn
2b480 64 29 2c 20 54 43 4d 5f 53 45 54 4d 49 4e 54 41  d), TCM_SETMINTA
2b490 42 57 49 44 54 48 2c 20 30 2c 20 78 29 0d 0a 0d  BWIDTH, 0, x)...
2b4a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
2b4b0 43 4d 5f 44 45 53 45 4c 45 43 54 41 4c 4c 20 3d  CM_DESELECTALL =
2b4c0 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 35 30 20   TCM_FIRST + 50 
2b4d0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61  }..// #define Ta
2b4e0 62 43 74 72 6c 5f 44 65 73 65 6c 65 63 74 41 6c  bCtrl_DeselectAl
2b4f0 6c 28 68 77 6e 64 2c 20 66 45 78 63 6c 75 64 65  l(hwnd, fExclude
2b500 46 6f 63 75 73 29 20 28 76 6f 69 64 29 53 4e 44  Focus) (void)SND
2b510 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f  MSG((hwnd), TCM_
2b520 44 45 53 45 4c 45 43 54 41 4c 4c 2c 20 66 45 78  DESELECTALL, fEx
2b530 63 6c 75 64 65 46 6f 63 75 73 2c 20 30 29 0d 0a  cludeFocus, 0)..
2b540 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
2b550 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
2b560 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75  = 0x0400)....enu
2b570 6d 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 48  m : uint { TCM_H
2b580 49 47 48 4c 49 47 48 54 49 54 45 4d 20 3d 20 54  IGHLIGHTITEM = T
2b590 43 4d 5f 46 49 52 53 54 20 2b 20 35 31 20 7d 0d  CM_FIRST + 51 }.
2b5a0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43  .// #define TabC
2b5b0 74 72 6c 5f 48 69 67 68 6c 69 67 68 74 49 74 65  trl_HighlightIte
2b5c0 6d 28 68 77 6e 64 2c 20 69 2c 20 66 48 69 67 68  m(hwnd, i, fHigh
2b5d0 6c 69 67 68 74 29 20 28 42 4f 4f 4c 29 53 4e 44  light) (BOOL)SND
2b5e0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f  MSG((hwnd), TCM_
2b5f0 48 49 47 48 4c 49 47 48 54 49 54 45 4d 2c 20 28  HIGHLIGHTITEM, (
2b600 57 50 41 52 41 4d 29 28 69 29 2c 20 28 4c 50 41  WPARAM)(i), (LPA
2b610 52 41 4d 29 4d 41 4b 45 4c 4f 4e 47 20 28 66 48  RAM)MAKELONG (fH
2b620 69 67 68 6c 69 67 68 74 2c 20 30 29 29 0d 0a 0d  ighlight, 0))...
2b630 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
2b640 43 4d 5f 53 45 54 45 58 54 45 4e 44 45 44 53 54  CM_SETEXTENDEDST
2b650 59 4c 45 20 3d 20 54 43 4d 5f 46 49 52 53 54 20  YLE = TCM_FIRST 
2b660 2b 20 35 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 52 }..// #defi
2b670 6e 65 20 54 61 62 43 74 72 6c 5f 53 65 74 45 78  ne TabCtrl_SetEx
2b680 74 65 6e 64 65 64 53 74 79 6c 65 28 68 77 6e 64  tendedStyle(hwnd
2b690 2c 20 64 77 29 20 28 44 57 4f 52 44 29 53 4e 44  , dw) (DWORD)SND
2b6a0 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d 5f  MSG((hwnd), TCM_
2b6b0 53 45 54 45 58 54 45 4e 44 45 44 53 54 59 4c 45  SETEXTENDEDSTYLE
2b6c0 2c 20 30 2c 20 64 77 29 0d 0a 0d 0a 65 6e 75 6d  , 0, dw)....enum
2b6d0 20 3a 20 75 69 6e 74 20 7b 20 54 43 4d 5f 47 45   : uint { TCM_GE
2b6e0 54 45 58 54 45 4e 44 45 44 53 54 59 4c 45 20 3d  TEXTENDEDSTYLE =
2b6f0 20 54 43 4d 5f 46 49 52 53 54 20 2b 20 35 33 20   TCM_FIRST + 53 
2b700 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54 61  }..// #define Ta
2b710 62 43 74 72 6c 5f 47 65 74 45 78 74 65 6e 64 65  bCtrl_GetExtende
2b720 64 53 74 79 6c 65 28 68 77 6e 64 29 20 28 44 57  dStyle(hwnd) (DW
2b730 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  ORD)SNDMSG((hwnd
2b740 29 2c 20 54 43 4d 5f 47 45 54 45 58 54 45 4e 44  ), TCM_GETEXTEND
2b750 45 44 53 54 59 4c 45 2c 20 30 2c 20 30 29 0d 0a  EDSTYLE, 0, 0)..
2b760 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 53 45 54 55  ..alias CCM_SETU
2b770 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 54 43 4d  NICODEFORMAT TCM
2b780 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
2b790 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 54  T;..// #define T
2b7a0 61 62 43 74 72 6c 5f 53 65 74 55 6e 69 63 6f 64  abCtrl_SetUnicod
2b7b0 65 46 6f 72 6d 61 74 28 68 77 6e 64 2c 20 66 55  eFormat(hwnd, fU
2b7c0 6e 69 63 6f 64 65 29 20 28 42 4f 4f 4c 29 53 4e  nicode) (BOOL)SN
2b7d0 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43 4d  DMSG((hwnd), TCM
2b7e0 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
2b7f0 54 2c 20 28 57 50 41 52 41 4d 29 28 66 55 6e 69  T, (WPARAM)(fUni
2b800 63 6f 64 65 29 2c 20 30 29 0d 0a 0d 0a 61 6c 69  code), 0)....ali
2b810 61 73 20 43 43 4d 5f 47 45 54 55 4e 49 43 4f 44  as CCM_GETUNICOD
2b820 45 46 4f 52 4d 41 54 20 54 43 4d 5f 47 45 54 55  EFORMAT TCM_GETU
2b830 4e 49 43 4f 44 45 46 4f 52 4d 41 54 3b 0d 0a 2f  NICODEFORMAT;../
2b840 2f 20 23 64 65 66 69 6e 65 20 54 61 62 43 74 72  / #define TabCtr
2b850 6c 5f 47 65 74 55 6e 69 63 6f 64 65 46 6f 72 6d  l_GetUnicodeForm
2b860 61 74 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53  at(hwnd) (BOOL)S
2b870 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 54 43  NDMSG((hwnd), TC
2b880 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_GETUNICODEFORM
2b890 41 54 2c 20 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20  AT, 0, 0)....// 
2b8a0 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f  #endif      // _
2b8b0 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
2b8c0 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00....enum : uin
2b8d0 74 20 7b 20 54 43 4e 5f 4b 45 59 44 4f 57 4e 20  t { TCN_KEYDOWN 
2b8e0 3d 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 30 20  = TCN_FIRST - 0 
2b8f0 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  }....// #if (_WI
2b900 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30 30  N32_IE >= 0x0300
2b910 29 0d 0a 61 6c 69 61 73 20 4e 4d 54 43 4b 45 59  )..alias NMTCKEY
2b920 44 4f 57 4e 20 54 43 5f 4b 45 59 44 4f 57 4e 3b  DOWN TC_KEYDOWN;
2b930 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
2b940 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
2b950 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
2b960 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69  fdef _WIN32..ali
2b970 67 6e 28 31 29 3a 0d 0a 2f 2f 20 23 65 6e 64 69  gn(1):..// #endi
2b980 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 54  f....struct tagT
2b990 43 4b 45 59 44 4f 57 4e 20 7b 0d 0a 20 20 4e 4d  CKEYDOWN {..  NM
2b9a0 48 44 52 20 68 64 72 3b 0d 0a 20 20 57 4f 52 44  HDR hdr;..  WORD
2b9b0 20 77 56 4b 65 79 3b 0d 0a 20 20 55 49 4e 54 20   wVKey;..  UINT 
2b9c0 66 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  flags;..}..alias
2b9d0 20 74 61 67 54 43 4b 45 59 44 4f 57 4e 20 4e 4d   tagTCKEYDOWN NM
2b9e0 54 43 4b 45 59 44 4f 57 4e 3b 0d 0a 0d 0a 2f 2f  TCKEYDOWN;....//
2b9f0 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
2ba00 61 6c 69 67 6e 3a 0d 0a 2f 2f 20 23 65 6e 64 69  align:..// #endi
2ba10 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
2ba20 20 7b 20 54 43 4e 5f 53 45 4c 43 48 41 4e 47 45   { TCN_SELCHANGE
2ba30 20 3d 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 31   = TCN_FIRST - 1
2ba40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2ba50 7b 20 54 43 4e 5f 53 45 4c 43 48 41 4e 47 49 4e  { TCN_SELCHANGIN
2ba60 47 20 3d 20 54 43 4e 5f 46 49 52 53 54 20 2d 20  G = TCN_FIRST - 
2ba70 32 20 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  2 }..// #if (_WI
2ba80 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
2ba90 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
2baa0 20 54 43 4e 5f 47 45 54 4f 42 4a 45 43 54 20 3d   TCN_GETOBJECT =
2bab0 20 54 43 4e 5f 46 49 52 53 54 20 2d 20 33 20 7d   TCN_FIRST - 3 }
2bac0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20  ..// #endif     
2bad0 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d   // _WIN32_IE >=
2bae0 20 30 78 30 34 30 30 0d 0a 2f 2f 20 23 69 66 20   0x0400..// #if 
2baf0 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
2bb00 30 35 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  0500)..enum : ui
2bb10 6e 74 20 7b 20 54 43 4e 5f 46 4f 43 55 53 43 48  nt { TCN_FOCUSCH
2bb20 41 4e 47 45 20 3d 20 54 43 4e 5f 46 49 52 53 54  ANGE = TCN_FIRST
2bb30 20 2d 20 34 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69   - 4 }..// #endi
2bb40 66 20 20 20 20 20 20 2f 2f 20 5f 57 49 4e 33 32  f      // _WIN32
2bb50 5f 49 45 20 3e 3d 20 30 78 30 35 30 30 0d 0a 2f  _IE >= 0x0500../
2bb60 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f  / #endif      //
2bb70 20 4e 4f 54 41 42 43 4f 4e 54 52 4f 4c 0d 0a 0d   NOTABCONTROL...
2bb80 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 41 4e  .// #ifndef NOAN
2bb90 49 4d 41 54 45 0d 0a 0d 0a 2f 2f 20 23 69 66 64  IMATE....// #ifd
2bba0 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 63 6f 6e  ef _WIN32....con
2bbb0 73 74 20 77 63 68 61 72 5b 5d 20 41 4e 49 4d 41  st wchar[] ANIMA
2bbc0 54 45 5f 43 4c 41 53 53 57 20 3d 20 22 53 79 73  TE_CLASSW = "Sys
2bbd0 41 6e 69 6d 61 74 65 33 32 22 3b 0d 0a 63 6f 6e  Animate32";..con
2bbe0 73 74 20 63 68 61 72 5b 5d 20 41 4e 49 4d 41 54  st char[] ANIMAT
2bbf0 45 5f 43 4c 41 53 53 41 20 3d 20 22 53 79 73 41  E_CLASSA = "SysA
2bc00 6e 69 6d 61 74 65 33 32 22 3b 0d 0a 0d 0a 2f 2f  nimate32";....//
2bc10 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
2bc20 0a 61 6c 69 61 73 20 41 4e 49 4d 41 54 45 5f 43  .alias ANIMATE_C
2bc30 4c 41 53 53 57 20 41 4e 49 4d 41 54 45 5f 43 4c  LASSW ANIMATE_CL
2bc40 41 53 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ASS;..// #else..
2bc50 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
2bc60 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
2bc70 74 20 7b 20 41 43 53 5f 43 45 4e 54 45 52 20 3d  t { ACS_CENTER =
2bc80 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
2bc90 3a 20 75 69 6e 74 20 7b 20 41 43 53 5f 54 52 41  : uint { ACS_TRA
2bca0 4e 53 50 41 52 45 4e 54 20 3d 20 30 78 30 30 30  NSPARENT = 0x000
2bcb0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
2bcc0 20 7b 20 41 43 53 5f 41 55 54 4f 50 4c 41 59 20   { ACS_AUTOPLAY 
2bcd0 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23  = 0x0004 }..// #
2bce0 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d  if (_WIN32_IE >=
2bcf0 20 30 78 30 33 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0300)..enum :
2bd00 20 75 69 6e 74 20 7b 20 41 43 53 5f 54 49 4d 45   uint { ACS_TIME
2bd10 52 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f  R = 0x0008 }..//
2bd20 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
2bd30 3a 20 75 69 6e 74 20 7b 20 41 43 4d 5f 4f 50 45  : uint { ACM_OPE
2bd40 4e 41 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 30  NA = WM_USER+100
2bd50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2bd60 7b 20 41 43 4d 5f 4f 50 45 4e 57 20 3d 20 57 4d  { ACM_OPENW = WM
2bd70 5f 55 53 45 52 2b 31 30 33 20 7d 0d 0a 0d 0a 2f  _USER+103 }..../
2bd80 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
2bd90 0d 0a 61 6c 69 61 73 20 41 43 4d 5f 4f 50 45 4e  ..alias ACM_OPEN
2bda0 57 20 41 43 4d 5f 4f 50 45 4e 3b 0d 0a 2f 2f 20  W ACM_OPEN;..// 
2bdb0 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
2bdc0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
2bdd0 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4d 5f 50  m : uint { ACM_P
2bde0 4c 41 59 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30  LAY = WM_USER+10
2bdf0 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
2be00 20 7b 20 41 43 4d 5f 53 54 4f 50 20 3d 20 57 4d   { ACM_STOP = WM
2be10 5f 55 53 45 52 2b 31 30 32 20 7d 0d 0a 0d 0a 65  _USER+102 }....e
2be20 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4e  num : uint { ACN
2be30 5f 53 54 41 52 54 20 3d 20 31 20 7d 0d 0a 65 6e  _START = 1 }..en
2be40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 43 4e 5f  um : uint { ACN_
2be50 53 54 4f 50 20 3d 20 32 20 7d 0d 0a 0d 0a 2f 2f  STOP = 2 }....//
2be60 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61 74 65   #define Animate
2be70 5f 43 72 65 61 74 65 28 68 77 6e 64 50 2c 20 69  _Create(hwndP, i
2be80 64 2c 20 64 77 53 74 79 6c 65 2c 20 68 49 6e 73  d, dwStyle, hIns
2be90 74 61 6e 63 65 29 20 43 72 65 61 74 65 57 69 6e  tance) CreateWin
2bea0 64 6f 77 28 41 4e 49 4d 41 54 45 5f 43 4c 41 53  dow(ANIMATE_CLAS
2beb0 53 2c 20 4e 55 4c 4c 2c 20 64 77 53 74 79 6c 65  S, NULL, dwStyle
2bec0 2c 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 68 77  , 0, 0, 0, 0, hw
2bed0 6e 64 50 2c 20 28 48 4d 45 4e 55 29 28 69 64 29  ndP, (HMENU)(id)
2bee0 2c 20 68 49 6e 73 74 61 6e 63 65 2c 20 4e 55 4c  , hInstance, NUL
2bef0 4c 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  L)....// #define
2bf00 20 41 6e 69 6d 61 74 65 5f 4f 70 65 6e 28 68 77   Animate_Open(hw
2bf10 6e 64 2c 20 73 7a 4e 61 6d 65 29 20 28 42 4f 4f  nd, szName) (BOO
2bf20 4c 29 53 4e 44 4d 53 47 28 68 77 6e 64 2c 20 41  L)SNDMSG(hwnd, A
2bf30 43 4d 5f 4f 50 45 4e 2c 20 30 2c 20 28 4c 50 41  CM_OPEN, 0, (LPA
2bf40 52 41 4d 29 28 4c 50 54 53 54 52 29 28 73 7a 4e  RAM)(LPTSTR)(szN
2bf50 61 6d 65 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  ame))..// #defin
2bf60 65 20 41 6e 69 6d 61 74 65 5f 4f 70 65 6e 45 78  e Animate_OpenEx
2bf70 28 68 77 6e 64 2c 20 68 49 6e 73 74 2c 20 73 7a  (hwnd, hInst, sz
2bf80 4e 61 6d 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  Name) (BOOL)SNDM
2bf90 53 47 28 68 77 6e 64 2c 20 41 43 4d 5f 4f 50 45  SG(hwnd, ACM_OPE
2bfa0 4e 2c 20 28 57 50 41 52 41 4d 29 28 68 49 6e 73  N, (WPARAM)(hIns
2bfb0 74 29 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50 54  t), (LPARAM)(LPT
2bfc0 53 54 52 29 28 73 7a 4e 61 6d 65 29 29 0d 0a 2f  STR)(szName))../
2bfd0 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61 74  / #define Animat
2bfe0 65 5f 50 6c 61 79 28 68 77 6e 64 2c 20 66 72 6f  e_Play(hwnd, fro
2bff0 6d 2c 20 74 6f 2c 20 72 65 70 29 20 28 42 4f 4f  m, to, rep) (BOO
2c000 4c 29 53 4e 44 4d 53 47 28 68 77 6e 64 2c 20 41  L)SNDMSG(hwnd, A
2c010 43 4d 5f 50 4c 41 59 2c 20 28 57 50 41 52 41 4d  CM_PLAY, (WPARAM
2c020 29 28 72 65 70 29 2c 20 28 4c 50 41 52 41 4d 29  )(rep), (LPARAM)
2c030 4d 41 4b 45 4c 4f 4e 47 28 66 72 6f 6d 2c 20 74  MAKELONG(from, t
2c040 6f 29 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  o))..// #define 
2c050 41 6e 69 6d 61 74 65 5f 53 74 6f 70 28 68 77 6e  Animate_Stop(hwn
2c060 64 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  d) (BOOL)SNDMSG(
2c070 68 77 6e 64 2c 20 41 43 4d 5f 53 54 4f 50 2c 20  hwnd, ACM_STOP, 
2c080 30 2c 20 30 29 0d 0a 2f 2f 20 23 64 65 66 69 6e  0, 0)..// #defin
2c090 65 20 41 6e 69 6d 61 74 65 5f 43 6c 6f 73 65 28  e Animate_Close(
2c0a0 68 77 6e 64 29 20 41 6e 69 6d 61 74 65 5f 4f 70  hwnd) Animate_Op
2c0b0 65 6e 28 68 77 6e 64 2c 20 4e 55 4c 4c 29 0d 0a  en(hwnd, NULL)..
2c0c0 2f 2f 20 23 64 65 66 69 6e 65 20 41 6e 69 6d 61  // #define Anima
2c0d0 74 65 5f 53 65 65 6b 28 68 77 6e 64 2c 20 66 72  te_Seek(hwnd, fr
2c0e0 61 6d 65 29 20 41 6e 69 6d 61 74 65 5f 50 6c 61  ame) Animate_Pla
2c0f0 79 28 68 77 6e 64 2c 20 66 72 61 6d 65 2c 20 66  y(hwnd, frame, f
2c100 72 61 6d 65 2c 20 31 29 0d 0a 2f 2f 20 23 65 6e  rame, 1)..// #en
2c110 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
2c120 20 20 20 20 20 20 2f 2f 20 4e 4f 41 4e 49 4d 41        // NOANIMA
2c130 54 45 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  TE....// #if (_W
2c140 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 33 30  IN32_IE >= 0x030
2c150 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  0)....// #ifndef
2c160 20 4e 4f 4d 4f 4e 54 48 43 41 4c 0d 0a 2f 2f 20   NOMONTHCAL..// 
2c170 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
2c180 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 4d  .const wchar[] M
2c190 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 57 20 3d  ONTHCAL_CLASSW =
2c1a0 20 22 53 79 73 4d 6f 6e 74 68 43 61 6c 33 32 22   "SysMonthCal32"
2c1b0 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20  ;..const char[] 
2c1c0 4d 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 41 20  MONTHCAL_CLASSA 
2c1d0 3d 20 22 53 79 73 4d 6f 6e 74 68 43 61 6c 33 32  = "SysMonthCal32
2c1e0 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ";....// #ifdef 
2c1f0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d  UNICODE..alias M
2c200 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 57 20 4d  ONTHCAL_CLASSW M
2c210 4f 4e 54 48 43 41 4c 5f 43 4c 41 53 53 3b 0d 0a  ONTHCAL_CLASS;..
2c220 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
2c230 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
2c240 61 6c 69 61 73 20 44 57 4f 52 44 20 4d 4f 4e 54  alias DWORD MONT
2c250 48 44 41 59 53 54 41 54 45 3b 0d 0a 61 6c 69 61  HDAYSTATE;..alia
2c260 73 20 44 57 4f 52 44 2a 20 4c 50 4d 4f 4e 54 48  s DWORD* LPMONTH
2c270 44 41 59 53 54 41 54 45 3b 0d 0a 0d 0a 65 6e 75  DAYSTATE;....enu
2c280 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 46  m : uint { MCM_F
2c290 49 52 53 54 20 3d 20 30 78 31 30 30 30 20 7d 0d  IRST = 0x1000 }.
2c2a0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2c2b0 20 4d 43 4d 5f 47 45 54 43 55 52 53 45 4c 20 3d   MCM_GETCURSEL =
2c2c0 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 20 7d   MCM_FIRST + 1 }
2c2d0 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e  ..// #define Mon
2c2e0 74 68 43 61 6c 5f 47 65 74 43 75 72 53 65 6c 28  thCal_GetCurSel(
2c2f0 68 6d 63 2c 20 70 73 74 29 20 28 42 4f 4f 4c 29  hmc, pst) (BOOL)
2c300 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f  SNDMSG(hmc, MCM_
2c310 47 45 54 43 55 52 53 45 4c 2c 20 30 2c 20 28 4c  GETCURSEL, 0, (L
2c320 50 41 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a  PARAM)(pst))....
2c330 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2c340 4d 5f 53 45 54 43 55 52 53 45 4c 20 3d 20 4d 43  M_SETCURSEL = MC
2c350 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f  M_FIRST + 2 }../
2c360 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43  / #define MonthC
2c370 61 6c 5f 53 65 74 43 75 72 53 65 6c 28 68 6d 63  al_SetCurSel(hmc
2c380 2c 20 70 73 74 29 20 28 42 4f 4f 4c 29 53 4e 44  , pst) (BOOL)SND
2c390 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45 54  MSG(hmc, MCM_SET
2c3a0 43 55 52 53 45 4c 2c 20 30 2c 20 28 4c 50 41 52  CURSEL, 0, (LPAR
2c3b0 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a 65 6e 75  AM)(pst))....enu
2c3c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47  m : uint { MCM_G
2c3d0 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 20 3d 20  ETMAXSELCOUNT = 
2c3e0 4d 43 4d 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d  MCM_FIRST + 3 }.
2c3f0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74  .// #define Mont
2c400 68 43 61 6c 5f 47 65 74 4d 61 78 53 65 6c 43 6f  hCal_GetMaxSelCo
2c410 75 6e 74 28 68 6d 63 29 20 28 44 57 4f 52 44 29  unt(hmc) (DWORD)
2c420 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f  SNDMSG(hmc, MCM_
2c430 47 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 2c 20  GETMAXSELCOUNT, 
2c440 30 2c 20 30 4c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a  0, 0L)....enum :
2c450 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 4d   uint { MCM_SETM
2c460 41 58 53 45 4c 43 4f 55 4e 54 20 3d 20 4d 43 4d  AXSELCOUNT = MCM
2c470 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 2f 2f  _FIRST + 4 }..//
2c480 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61   #define MonthCa
2c490 6c 5f 53 65 74 4d 61 78 53 65 6c 43 6f 75 6e 74  l_SetMaxSelCount
2c4a0 28 68 6d 63 2c 20 6e 29 20 28 42 4f 4f 4c 29 53  (hmc, n) (BOOL)S
2c4b0 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53  NDMSG(hmc, MCM_S
2c4c0 45 54 4d 41 58 53 45 4c 43 4f 55 4e 54 2c 20 28  ETMAXSELCOUNT, (
2c4d0 57 50 41 52 41 4d 29 28 6e 29 2c 20 30 4c 29 0d  WPARAM)(n), 0L).
2c4e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2c4f0 20 4d 43 4d 5f 47 45 54 53 45 4c 52 41 4e 47 45   MCM_GETSELRANGE
2c500 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 35   = MCM_FIRST + 5
2c510 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d   }..// #define M
2c520 6f 6e 74 68 43 61 6c 5f 47 65 74 53 65 6c 52 61  onthCal_GetSelRa
2c530 6e 67 65 28 68 6d 63 2c 20 72 67 73 74 29 20 53  nge(hmc, rgst) S
2c540 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47  NDMSG(hmc, MCM_G
2c550 45 54 53 45 4c 52 41 4e 47 45 2c 20 30 2c 20 28  ETSELRANGE, 0, (
2c560 4c 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d 0a  LPARAM)(rgst))..
2c570 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2c580 4d 43 4d 5f 53 45 54 53 45 4c 52 41 4e 47 45 20  MCM_SETSELRANGE 
2c590 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 36 20  = MCM_FIRST + 6 
2c5a0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f  }..// #define Mo
2c5b0 6e 74 68 43 61 6c 5f 53 65 74 53 65 6c 52 61 6e  nthCal_SetSelRan
2c5c0 67 65 28 68 6d 63 2c 20 72 67 73 74 29 20 53 4e  ge(hmc, rgst) SN
2c5d0 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45  DMSG(hmc, MCM_SE
2c5e0 54 53 45 4c 52 41 4e 47 45 2c 20 30 2c 20 28 4c  TSELRANGE, 0, (L
2c5f0 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d 0a 0d  PARAM)(rgst))...
2c600 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2c610 43 4d 5f 47 45 54 4d 4f 4e 54 48 52 41 4e 47 45  CM_GETMONTHRANGE
2c620 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 37   = MCM_FIRST + 7
2c630 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d   }..// #define M
2c640 6f 6e 74 68 43 61 6c 5f 47 65 74 4d 6f 6e 74 68  onthCal_GetMonth
2c650 52 61 6e 67 65 28 68 6d 63 2c 20 67 6d 72 2c 20  Range(hmc, gmr, 
2c660 72 67 73 74 29 20 28 44 57 4f 52 44 29 53 4e 44  rgst) (DWORD)SND
2c670 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54  MSG(hmc, MCM_GET
2c680 4d 4f 4e 54 48 52 41 4e 47 45 2c 20 28 57 50 41  MONTHRANGE, (WPA
2c690 52 41 4d 29 28 67 6d 72 29 2c 20 28 4c 50 41 52  RAM)(gmr), (LPAR
2c6a0 41 4d 29 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e  AM)(rgst))....en
2c6b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f  um : uint { MCM_
2c6c0 53 45 54 44 41 59 53 54 41 54 45 20 3d 20 4d 43  SETDAYSTATE = MC
2c6d0 4d 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a 2f  M_FIRST + 8 }../
2c6e0 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43  / #define MonthC
2c6f0 61 6c 5f 53 65 74 44 61 79 53 74 61 74 65 28 68  al_SetDayState(h
2c700 6d 63 2c 20 63 62 64 73 2c 20 72 67 64 73 29 20  mc, cbds, rgds) 
2c710 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f  SNDMSG(hmc, MCM_
2c720 53 45 54 44 41 59 53 54 41 54 45 2c 20 28 57 50  SETDAYSTATE, (WP
2c730 41 52 41 4d 29 28 63 62 64 73 29 2c 20 28 4c 50  ARAM)(cbds), (LP
2c740 41 52 41 4d 29 28 72 67 64 73 29 29 0d 0a 0d 0a  ARAM)(rgds))....
2c750 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2c760 4d 5f 47 45 54 4d 49 4e 52 45 51 52 45 43 54 20  M_GETMINREQRECT 
2c770 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 39 20  = MCM_FIRST + 9 
2c780 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f  }..// #define Mo
2c790 6e 74 68 43 61 6c 5f 47 65 74 4d 69 6e 52 65 71  nthCal_GetMinReq
2c7a0 52 65 63 74 28 68 6d 63 2c 20 70 72 63 29 20 53  Rect(hmc, prc) S
2c7b0 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47  NDMSG(hmc, MCM_G
2c7c0 45 54 4d 49 4e 52 45 51 52 45 43 54 2c 20 30 2c  ETMINREQRECT, 0,
2c7d0 20 28 4c 50 41 52 41 4d 29 28 70 72 63 29 29 0d   (LPARAM)(prc)).
2c7e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2c7f0 20 4d 43 4d 5f 53 45 54 43 4f 4c 4f 52 20 3d 20   MCM_SETCOLOR = 
2c800 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 30 20 7d  MCM_FIRST + 10 }
2c810 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e  ..// #define Mon
2c820 74 68 43 61 6c 5f 53 65 74 43 6f 6c 6f 72 28 68  thCal_SetColor(h
2c830 6d 63 2c 20 69 43 6f 6c 6f 72 2c 20 63 6c 72 29  mc, iColor, clr)
2c840 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d   SNDMSG(hmc, MCM
2c850 5f 53 45 54 43 4f 4c 4f 52 2c 20 69 43 6f 6c 6f  _SETCOLOR, iColo
2c860 72 2c 20 63 6c 72 29 0d 0a 0d 0a 65 6e 75 6d 20  r, clr)....enum 
2c870 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 47 45 54  : uint { MCM_GET
2c880 43 4f 4c 4f 52 20 3d 20 4d 43 4d 5f 46 49 52 53  COLOR = MCM_FIRS
2c890 54 20 2b 20 31 31 20 7d 0d 0a 2f 2f 20 23 64 65  T + 11 }..// #de
2c8a0 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 65  fine MonthCal_Ge
2c8b0 74 43 6f 6c 6f 72 28 68 6d 63 2c 20 69 43 6f 6c  tColor(hmc, iCol
2c8c0 6f 72 29 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20  or) SNDMSG(hmc, 
2c8d0 4d 43 4d 5f 47 45 54 43 4f 4c 4f 52 2c 20 69 43  MCM_GETCOLOR, iC
2c8e0 6f 6c 6f 72 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d  olor, 0)....enum
2c8f0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 53 43 5f 42   : uint { MCSC_B
2c900 41 43 4b 47 52 4f 55 4e 44 20 3d 20 30 20 7d 0d  ACKGROUND = 0 }.
2c910 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2c920 43 53 43 5f 54 45 58 54 20 3d 20 31 20 7d 0d 0a  CSC_TEXT = 1 }..
2c930 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2c940 53 43 5f 54 49 54 4c 45 42 4b 20 3d 20 32 20 7d  SC_TITLEBK = 2 }
2c950 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2c960 4d 43 53 43 5f 54 49 54 4c 45 54 45 58 54 20 3d  MCSC_TITLETEXT =
2c970 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
2c980 74 20 7b 20 4d 43 53 43 5f 4d 4f 4e 54 48 42 4b  t { MCSC_MONTHBK
2c990 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 4 }..enum : u
2c9a0 69 6e 74 20 7b 20 4d 43 53 43 5f 54 52 41 49 4c  int { MCSC_TRAIL
2c9b0 49 4e 47 54 45 58 54 20 3d 20 35 20 7d 0d 0a 0d  INGTEXT = 5 }...
2c9c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2c9d0 43 4d 5f 53 45 54 54 4f 44 41 59 20 3d 20 4d 43  CM_SETTODAY = MC
2c9e0 4d 5f 46 49 52 53 54 20 2b 20 31 32 20 7d 0d 0a  M_FIRST + 12 }..
2c9f0 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68  // #define Month
2ca00 43 61 6c 5f 53 65 74 54 6f 64 61 79 28 68 6d 63  Cal_SetToday(hmc
2ca10 2c 20 70 73 74 29 20 53 4e 44 4d 53 47 28 68 6d  , pst) SNDMSG(hm
2ca20 63 2c 20 4d 43 4d 5f 53 45 54 54 4f 44 41 59 2c  c, MCM_SETTODAY,
2ca30 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 73 74   0, (LPARAM)(pst
2ca40 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
2ca50 74 20 7b 20 4d 43 4d 5f 47 45 54 54 4f 44 41 59  t { MCM_GETTODAY
2ca60 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31   = MCM_FIRST + 1
2ca70 33 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  3 }..// #define 
2ca80 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 54 6f 64 61  MonthCal_GetToda
2ca90 79 28 68 6d 63 2c 20 70 73 74 29 20 28 42 4f 4f  y(hmc, pst) (BOO
2caa0 4c 29 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d 43  L)SNDMSG(hmc, MC
2cab0 4d 5f 47 45 54 54 4f 44 41 59 2c 20 30 2c 20 28  M_GETTODAY, 0, (
2cac0 4c 50 41 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d  LPARAM)(pst))...
2cad0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2cae0 43 4d 5f 48 49 54 54 45 53 54 20 3d 20 4d 43 4d  CM_HITTEST = MCM
2caf0 5f 46 49 52 53 54 20 2b 20 31 34 20 7d 0d 0a 2f  _FIRST + 14 }../
2cb00 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43  / #define MonthC
2cb10 61 6c 5f 48 69 74 54 65 73 74 28 68 6d 63 2c 20  al_HitTest(hmc, 
2cb20 70 69 6e 66 6f 29 20 53 4e 44 4d 53 47 28 68 6d  pinfo) SNDMSG(hm
2cb30 63 2c 20 4d 43 4d 5f 48 49 54 54 45 53 54 2c 20  c, MCM_HITTEST, 
2cb40 30 2c 20 28 4c 50 41 52 41 4d 29 28 50 4d 43 48  0, (LPARAM)(PMCH
2cb50 49 54 54 45 53 54 49 4e 46 4f 29 28 70 69 6e 66  ITTESTINFO)(pinf
2cb60 6f 29 29 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31  o))....struct _1
2cb70 35 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 53 69  5 {..  UINT cbSi
2cb80 7a 65 3b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 3b  ze;..  POINT pt;
2cb90 0d 0a 20 20 55 49 4e 54 20 75 48 69 74 3b 0d 0a  ..  UINT uHit;..
2cba0 20 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b    SYSTEMTIME st;
2cbb0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 35 20 4d  ..}..alias _15 M
2cbc0 43 48 49 54 54 45 53 54 49 4e 46 4f 3b 0d 0a 61  CHITTESTINFO;..a
2cbd0 6c 69 61 73 20 5f 31 35 2a 20 50 4d 43 48 49 54  lias _15* PMCHIT
2cbe0 54 45 53 54 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75  TESTINFO;....enu
2cbf0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f  m : uint { MCHT_
2cc00 54 49 54 4c 45 20 3d 20 30 78 30 30 30 31 30 30  TITLE = 0x000100
2cc10 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
2cc20 74 20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41  t { MCHT_CALENDA
2cc30 52 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  R = 0x00020000 }
2cc40 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2cc50 4d 43 48 54 5f 54 4f 44 41 59 4c 49 4e 4b 20 3d  MCHT_TODAYLINK =
2cc60 20 30 78 30 30 30 33 30 30 30 30 20 7d 0d 0a 0d   0x00030000 }...
2cc70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2cc80 43 48 54 5f 4e 45 58 54 20 3d 20 30 78 30 31 30  CHT_NEXT = 0x010
2cc90 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
2cca0 75 69 6e 74 20 7b 20 4d 43 48 54 5f 50 52 45 56  uint { MCHT_PREV
2ccb0 20 3d 20 30 78 30 32 30 30 30 30 30 30 20 7d 0d   = 0x02000000 }.
2ccc0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2ccd0 20 4d 43 48 54 5f 4e 4f 57 48 45 52 45 20 3d 20   MCHT_NOWHERE = 
2cce0 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00000000 }....
2ccf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
2cd00 48 54 5f 54 49 54 4c 45 42 4b 20 3d 20 4d 43 48  HT_TITLEBK = MCH
2cd10 54 5f 54 49 54 4c 45 20 7d 0d 0a 65 6e 75 6d 20  T_TITLE }..enum 
2cd20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 54 49  : uint { MCHT_TI
2cd30 54 4c 45 4d 4f 4e 54 48 20 3d 20 4d 43 48 54 5f  TLEMONTH = MCHT_
2cd40 54 49 54 4c 45 20 7c 20 30 78 30 30 30 31 20 7d  TITLE | 0x0001 }
2cd50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2cd60 4d 43 48 54 5f 54 49 54 4c 45 59 45 41 52 20 3d  MCHT_TITLEYEAR =
2cd70 20 4d 43 48 54 5f 54 49 54 4c 45 20 7c 20 30 78   MCHT_TITLE | 0x
2cd80 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
2cd90 69 6e 74 20 7b 20 4d 43 48 54 5f 54 49 54 4c 45  int { MCHT_TITLE
2cda0 42 54 4e 4e 45 58 54 20 3d 20 4d 43 48 54 5f 54  BTNNEXT = MCHT_T
2cdb0 49 54 4c 45 20 7c 20 4d 43 48 54 5f 4e 45 58 54  ITLE | MCHT_NEXT
2cdc0 20 7c 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75   | 0x0003 }..enu
2cdd0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f  m : uint { MCHT_
2cde0 54 49 54 4c 45 42 54 4e 50 52 45 56 20 3d 20 4d  TITLEBTNPREV = M
2cdf0 43 48 54 5f 54 49 54 4c 45 20 7c 20 4d 43 48 54  CHT_TITLE | MCHT
2ce00 5f 50 52 45 56 20 7c 20 30 78 30 30 30 33 20 7d  _PREV | 0x0003 }
2ce10 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2ce20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 42  { MCHT_CALENDARB
2ce30 4b 20 3d 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41  K = MCHT_CALENDA
2ce40 52 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  R }..enum : uint
2ce50 20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52   { MCHT_CALENDAR
2ce60 44 41 54 45 20 3d 20 4d 43 48 54 5f 43 41 4c 45  DATE = MCHT_CALE
2ce70 4e 44 41 52 20 7c 20 30 78 30 30 30 31 20 7d 0d  NDAR | 0x0001 }.
2ce80 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2ce90 43 48 54 5f 43 41 4c 45 4e 44 41 52 44 41 54 45  CHT_CALENDARDATE
2cea0 4e 45 58 54 20 3d 20 4d 43 48 54 5f 43 41 4c 45  NEXT = MCHT_CALE
2ceb0 4e 44 41 52 44 41 54 45 20 7c 20 4d 43 48 54 5f  NDARDATE | MCHT_
2cec0 4e 45 58 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  NEXT }..enum : u
2ced0 69 6e 74 20 7b 20 4d 43 48 54 5f 43 41 4c 45 4e  int { MCHT_CALEN
2cee0 44 41 52 44 41 54 45 50 52 45 56 20 3d 20 4d 43  DARDATEPREV = MC
2cef0 48 54 5f 43 41 4c 45 4e 44 41 52 44 41 54 45 20  HT_CALENDARDATE 
2cf00 7c 20 4d 43 48 54 5f 50 52 45 56 20 7d 0d 0a 65  | MCHT_PREV }..e
2cf10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 48  num : uint { MCH
2cf20 54 5f 43 41 4c 45 4e 44 41 52 44 41 59 20 3d 20  T_CALENDARDAY = 
2cf30 4d 43 48 54 5f 43 41 4c 45 4e 44 41 52 20 7c 20  MCHT_CALENDAR | 
2cf40 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
2cf50 20 75 69 6e 74 20 7b 20 4d 43 48 54 5f 43 41 4c   uint { MCHT_CAL
2cf60 45 4e 44 41 52 57 45 45 4b 4e 55 4d 20 3d 20 4d  ENDARWEEKNUM = M
2cf70 43 48 54 5f 43 41 4c 45 4e 44 41 52 20 7c 20 30  CHT_CALENDAR | 0
2cf80 78 30 30 30 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x0003 }....enum 
2cf90 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54  : uint { MCM_SET
2cfa0 46 49 52 53 54 44 41 59 4f 46 57 45 45 4b 20 3d  FIRSTDAYOFWEEK =
2cfb0 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20 31 35 20   MCM_FIRST + 15 
2cfc0 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 6f  }..// #define Mo
2cfd0 6e 74 68 43 61 6c 5f 53 65 74 46 69 72 73 74 44  nthCal_SetFirstD
2cfe0 61 79 4f 66 57 65 65 6b 28 68 6d 63 2c 20 69 44  ayOfWeek(hmc, iD
2cff0 61 79 29 20 53 4e 44 4d 53 47 28 68 6d 63 2c 20  ay) SNDMSG(hmc, 
2d000 4d 43 4d 5f 53 45 54 46 49 52 53 54 44 41 59 4f  MCM_SETFIRSTDAYO
2d010 46 57 45 45 4b 2c 20 30 2c 20 69 44 61 79 29 0d  FWEEK, 0, iDay).
2d020 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2d030 20 4d 43 4d 5f 47 45 54 46 49 52 53 54 44 41 59   MCM_GETFIRSTDAY
2d040 4f 46 57 45 45 4b 20 3d 20 4d 43 4d 5f 46 49 52  OFWEEK = MCM_FIR
2d050 53 54 20 2b 20 31 36 20 7d 0d 0a 2f 2f 20 23 64  ST + 16 }..// #d
2d060 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 47  efine MonthCal_G
2d070 65 74 46 69 72 73 74 44 61 79 4f 66 57 65 65 6b  etFirstDayOfWeek
2d080 28 68 6d 63 29 20 28 44 57 4f 52 44 29 53 4e 44  (hmc) (DWORD)SND
2d090 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45 54  MSG(hmc, MCM_GET
2d0a0 46 49 52 53 54 44 41 59 4f 46 57 45 45 4b 2c 20  FIRSTDAYOFWEEK, 
2d0b0 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0, 0)....enum : 
2d0c0 75 69 6e 74 20 7b 20 4d 43 4d 5f 47 45 54 52 41  uint { MCM_GETRA
2d0d0 4e 47 45 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20  NGE = MCM_FIRST 
2d0e0 2b 20 31 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  + 17 }..// #defi
2d0f0 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 52  ne MonthCal_GetR
2d100 61 6e 67 65 28 68 6d 63 2c 20 72 67 73 74 29 20  ange(hmc, rgst) 
2d110 28 44 57 4f 52 44 29 53 4e 44 4d 53 47 28 68 6d  (DWORD)SNDMSG(hm
2d120 63 2c 20 4d 43 4d 5f 47 45 54 52 41 4e 47 45 2c  c, MCM_GETRANGE,
2d130 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 72 67 73   0, (LPARAM)(rgs
2d140 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  t))....enum : ui
2d150 6e 74 20 7b 20 4d 43 4d 5f 53 45 54 52 41 4e 47  nt { MCM_SETRANG
2d160 45 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b 20  E = MCM_FIRST + 
2d170 31 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  18 }..// #define
2d180 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74 52 61 6e   MonthCal_SetRan
2d190 67 65 28 68 6d 63 2c 20 67 64 2c 20 72 67 73 74  ge(hmc, gd, rgst
2d1a0 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68  ) (BOOL)SNDMSG(h
2d1b0 6d 63 2c 20 4d 43 4d 5f 53 45 54 52 41 4e 47 45  mc, MCM_SETRANGE
2d1c0 2c 20 28 57 50 41 52 41 4d 29 28 67 64 29 2c 20  , (WPARAM)(gd), 
2d1d0 28 4c 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d  (LPARAM)(rgst)).
2d1e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2d1f0 20 4d 43 4d 5f 47 45 54 4d 4f 4e 54 48 44 45 4c   MCM_GETMONTHDEL
2d200 54 41 20 3d 20 4d 43 4d 5f 46 49 52 53 54 20 2b  TA = MCM_FIRST +
2d210 20 31 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   19 }..// #defin
2d220 65 20 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 4d 6f  e MonthCal_GetMo
2d230 6e 74 68 44 65 6c 74 61 28 68 6d 63 29 20 28 69  nthDelta(hmc) (i
2d240 6e 74 29 53 4e 44 4d 53 47 28 68 6d 63 2c 20 4d  nt)SNDMSG(hmc, M
2d250 43 4d 5f 47 45 54 4d 4f 4e 54 48 44 45 4c 54 41  CM_GETMONTHDELTA
2d260 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20  , 0, 0)....enum 
2d270 3a 20 75 69 6e 74 20 7b 20 4d 43 4d 5f 53 45 54  : uint { MCM_SET
2d280 4d 4f 4e 54 48 44 45 4c 54 41 20 3d 20 4d 43 4d  MONTHDELTA = MCM
2d290 5f 46 49 52 53 54 20 2b 20 32 30 20 7d 0d 0a 2f  _FIRST + 20 }../
2d2a0 2f 20 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43  / #define MonthC
2d2b0 61 6c 5f 53 65 74 4d 6f 6e 74 68 44 65 6c 74 61  al_SetMonthDelta
2d2c0 28 68 6d 63 2c 20 6e 29 20 28 69 6e 74 29 53 4e  (hmc, n) (int)SN
2d2d0 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 53 45  DMSG(hmc, MCM_SE
2d2e0 54 4d 4f 4e 54 48 44 45 4c 54 41 2c 20 6e 2c 20  TMONTHDELTA, n, 
2d2f0 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
2d300 74 20 7b 20 4d 43 4d 5f 47 45 54 4d 41 58 54 4f  t { MCM_GETMAXTO
2d310 44 41 59 57 49 44 54 48 20 3d 20 4d 43 4d 5f 46  DAYWIDTH = MCM_F
2d320 49 52 53 54 20 2b 20 32 31 20 7d 0d 0a 2f 2f 20  IRST + 21 }..// 
2d330 23 64 65 66 69 6e 65 20 4d 6f 6e 74 68 43 61 6c  #define MonthCal
2d340 5f 47 65 74 4d 61 78 54 6f 64 61 79 57 69 64 74  _GetMaxTodayWidt
2d350 68 28 68 6d 63 29 20 28 44 57 4f 52 44 29 53 4e  h(hmc) (DWORD)SN
2d360 44 4d 53 47 28 68 6d 63 2c 20 4d 43 4d 5f 47 45  DMSG(hmc, MCM_GE
2d370 54 4d 41 58 54 4f 44 41 59 57 49 44 54 48 2c 20  TMAXTODAYWIDTH, 
2d380 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20  0, 0)....// #if 
2d390 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78  (_WIN32_IE >= 0x
2d3a0 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 43 43 4d  0400)..alias CCM
2d3b0 5f 53 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d 41  _SETUNICODEFORMA
2d3c0 54 20 4d 43 4d 5f 53 45 54 55 4e 49 43 4f 44 45  T MCM_SETUNICODE
2d3d0 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 64 65 66  FORMAT;..// #def
2d3e0 69 6e 65 20 4d 6f 6e 74 68 43 61 6c 5f 53 65 74  ine MonthCal_Set
2d3f0 55 6e 69 63 6f 64 65 46 6f 72 6d 61 74 28 68 77  UnicodeFormat(hw
2d400 6e 64 2c 20 66 55 6e 69 63 6f 64 65 29 20 28 42  nd, fUnicode) (B
2d410 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
2d420 29 2c 20 4d 43 4d 5f 53 45 54 55 4e 49 43 4f 44  ), MCM_SETUNICOD
2d430 45 46 4f 52 4d 41 54 2c 20 28 57 50 41 52 41 4d  EFORMAT, (WPARAM
2d440 29 28 66 55 6e 69 63 6f 64 65 29 2c 20 30 29 0d  )(fUnicode), 0).
2d450 0a 0d 0a 61 6c 69 61 73 20 43 43 4d 5f 47 45 54  ...alias CCM_GET
2d460 55 4e 49 43 4f 44 45 46 4f 52 4d 41 54 20 4d 43  UNICODEFORMAT MC
2d470 4d 5f 47 45 54 55 4e 49 43 4f 44 45 46 4f 52 4d  M_GETUNICODEFORM
2d480 41 54 3b 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  AT;..// #define 
2d490 4d 6f 6e 74 68 43 61 6c 5f 47 65 74 55 6e 69 63  MonthCal_GetUnic
2d4a0 6f 64 65 46 6f 72 6d 61 74 28 68 77 6e 64 29 20  odeFormat(hwnd) 
2d4b0 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
2d4c0 6e 64 29 2c 20 4d 43 4d 5f 47 45 54 55 4e 49 43  nd), MCM_GETUNIC
2d4d0 4f 44 45 46 4f 52 4d 41 54 2c 20 30 2c 20 30 29  ODEFORMAT, 0, 0)
2d4e0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
2d4f0 74 72 75 63 74 20 74 61 67 4e 4d 53 45 4c 43 48  truct tagNMSELCH
2d500 41 4e 47 45 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  ANGE {..  NMHDR 
2d510 6e 6d 68 64 72 3b 0d 0a 0d 0a 20 20 53 59 53 54  nmhdr;....  SYST
2d520 45 4d 54 49 4d 45 20 73 74 53 65 6c 53 74 61 72  EMTIME stSelStar
2d530 74 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45  t;..  SYSTEMTIME
2d540 20 73 74 53 65 6c 45 6e 64 3b 0d 0a 7d 0d 0a 61   stSelEnd;..}..a
2d550 6c 69 61 73 20 74 61 67 4e 4d 53 45 4c 43 48 41  lias tagNMSELCHA
2d560 4e 47 45 20 4e 4d 53 45 4c 43 48 41 4e 47 45 3b  NGE NMSELCHANGE;
2d570 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 53 45 4c  ..alias tagNMSEL
2d580 43 48 41 4e 47 45 2a 20 4c 50 4e 4d 53 45 4c 43  CHANGE* LPNMSELC
2d590 48 41 4e 47 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  HANGE;....enum :
2d5a0 20 75 69 6e 74 20 7b 20 4d 43 4e 5f 53 45 4c 43   uint { MCN_SELC
2d5b0 48 41 4e 47 45 20 3d 20 4d 43 4e 5f 46 49 52 53  HANGE = MCN_FIRS
2d5c0 54 20 2b 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63  T + 1 }....struc
2d5d0 74 20 74 61 67 4e 4d 44 41 59 53 54 41 54 45 20  t tagNMDAYSTATE 
2d5e0 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72  {..  NMHDR nmhdr
2d5f0 3b 0d 0a 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d  ;....  SYSTEMTIM
2d600 45 20 73 74 53 74 61 72 74 3b 0d 0a 20 20 69 6e  E stStart;..  in
2d610 74 20 63 44 61 79 53 74 61 74 65 3b 0d 0a 20 20  t cDayState;..  
2d620 4c 50 4d 4f 4e 54 48 44 41 59 53 54 41 54 45 20  LPMONTHDAYSTATE 
2d630 70 72 67 44 61 79 53 74 61 74 65 3b 0d 0a 7d 0d  prgDayState;..}.
2d640 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 59 53  .alias tagNMDAYS
2d650 54 41 54 45 20 4e 4d 44 41 59 53 54 41 54 45 3b  TATE NMDAYSTATE;
2d660 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 59  ..alias tagNMDAY
2d670 53 54 41 54 45 2a 20 4c 50 4e 4d 44 41 59 53 54  STATE* LPNMDAYST
2d680 41 54 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ATE;....enum : u
2d690 69 6e 74 20 7b 20 4d 43 4e 5f 47 45 54 44 41 59  int { MCN_GETDAY
2d6a0 53 54 41 54 45 20 3d 20 4d 43 4e 5f 46 49 52 53  STATE = MCN_FIRS
2d6b0 54 20 2b 20 33 20 7d 0d 0a 0d 0a 61 6c 69 61 73  T + 3 }....alias
2d6c0 20 4e 4d 53 45 4c 43 48 41 4e 47 45 20 4e 4d 53   NMSELCHANGE NMS
2d6d0 45 4c 45 43 54 3b 0d 0a 61 6c 69 61 73 20 4e 4d  ELECT;..alias NM
2d6e0 53 45 4c 43 48 41 4e 47 45 2a 20 4c 50 4e 4d 53  SELCHANGE* LPNMS
2d6f0 45 4c 45 43 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  ELECT;....enum :
2d700 20 75 69 6e 74 20 7b 20 4d 43 4e 5f 53 45 4c 45   uint { MCN_SELE
2d710 43 54 20 3d 20 4d 43 4e 5f 46 49 52 53 54 20 2b  CT = MCN_FIRST +
2d720 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   4 }....enum : u
2d730 69 6e 74 20 7b 20 4d 43 53 5f 44 41 59 53 54 41  int { MCS_DAYSTA
2d740 54 45 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65  TE = 0x0001 }..e
2d750 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 53  num : uint { MCS
2d760 5f 4d 55 4c 54 49 53 45 4c 45 43 54 20 3d 20 30  _MULTISELECT = 0
2d770 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
2d780 75 69 6e 74 20 7b 20 4d 43 53 5f 57 45 45 4b 4e  uint { MCS_WEEKN
2d790 55 4d 42 45 52 53 20 3d 20 30 78 30 30 30 34 20  UMBERS = 0x0004 
2d7a0 7d 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  }..// #if (_WIN3
2d7b0 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30 29 0d  2_IE >= 0x0400).
2d7c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
2d7d0 43 53 5f 4e 4f 54 4f 44 41 59 43 49 52 43 4c 45  CS_NOTODAYCIRCLE
2d7e0 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75   = 0x0008 }..enu
2d7f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 53 5f 4e  m : uint { MCS_N
2d800 4f 54 4f 44 41 59 20 3d 20 30 78 30 30 31 30 20  OTODAY = 0x0010 
2d810 7d 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  }..// #else..// 
2d820 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
2d830 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2d840 20 47 4d 52 5f 56 49 53 49 42 4c 45 20 3d 20 30   GMR_VISIBLE = 0
2d850 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2d860 7b 20 47 4d 52 5f 44 41 59 53 54 41 54 45 20 3d  { GMR_DAYSTATE =
2d870 20 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69   1 }....// #endi
2d880 66 20 2f 2f 20 5f 57 49 4e 33 32 0d 0a 2f 2f 20  f // _WIN32..// 
2d890 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 4d 4f 4e 54  #endif // NOMONT
2d8a0 48 43 41 4c 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  HCAL....// #ifnd
2d8b0 65 66 20 4e 4f 44 41 54 45 54 49 4d 45 50 49 43  ef NODATETIMEPIC
2d8c0 4b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  K..// #ifdef _WI
2d8d0 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68  N32....const wch
2d8e0 61 72 5b 5d 20 44 41 54 45 54 49 4d 45 50 49 43  ar[] DATETIMEPIC
2d8f0 4b 5f 43 4c 41 53 53 57 20 3d 20 22 53 79 73 44  K_CLASSW = "SysD
2d900 61 74 65 54 69 6d 65 50 69 63 6b 33 32 22 3b 0d  ateTimePick32";.
2d910 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 44 41  .const char[] DA
2d920 54 45 54 49 4d 45 50 49 43 4b 5f 43 4c 41 53 53  TETIMEPICK_CLASS
2d930 41 20 3d 20 22 53 79 73 44 61 74 65 54 69 6d 65  A = "SysDateTime
2d940 50 69 63 6b 33 32 22 3b 0d 0a 0d 0a 2f 2f 20 23  Pick32";....// #
2d950 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
2d960 6c 69 61 73 20 44 41 54 45 54 49 4d 45 50 49 43  lias DATETIMEPIC
2d970 4b 5f 43 4c 41 53 53 57 20 44 41 54 45 54 49 4d  K_CLASSW DATETIM
2d980 45 50 49 43 4b 5f 43 4c 41 53 53 3b 0d 0a 2f 2f  EPICK_CLASS;..//
2d990 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
2d9a0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
2d9b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f  um : uint { DTM_
2d9c0 46 49 52 53 54 20 3d 20 30 78 31 30 30 30 20 7d  FIRST = 0x1000 }
2d9d0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2d9e0 7b 20 44 54 4d 5f 47 45 54 53 59 53 54 45 4d 54  { DTM_GETSYSTEMT
2d9f0 49 4d 45 20 3d 20 44 54 4d 5f 46 49 52 53 54 20  IME = DTM_FIRST 
2da00 2b 20 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e  + 1 }..// #defin
2da10 65 20 44 61 74 65 54 69 6d 65 5f 47 65 74 53 79  e DateTime_GetSy
2da20 73 74 65 6d 74 69 6d 65 28 68 64 70 2c 20 70 73  stemtime(hdp, ps
2da30 74 29 20 28 44 57 4f 52 44 29 53 4e 44 4d 53 47  t) (DWORD)SNDMSG
2da40 28 68 64 70 2c 20 44 54 4d 5f 47 45 54 53 59 53  (hdp, DTM_GETSYS
2da50 54 45 4d 54 49 4d 45 2c 20 30 2c 20 28 4c 50 41  TEMTIME, 0, (LPA
2da60 52 41 4d 29 28 70 73 74 29 29 0d 0a 0d 0a 65 6e  RAM)(pst))....en
2da70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f  um : uint { DTM_
2da80 53 45 54 53 59 53 54 45 4d 54 49 4d 45 20 3d 20  SETSYSTEMTIME = 
2da90 44 54 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d  DTM_FIRST + 2 }.
2daa0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65  .// #define Date
2dab0 54 69 6d 65 5f 53 65 74 53 79 73 74 65 6d 74 69  Time_SetSystemti
2dac0 6d 65 28 68 64 70 2c 20 67 64 2c 20 70 73 74 29  me(hdp, gd, pst)
2dad0 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68 64   (BOOL)SNDMSG(hd
2dae0 70 2c 20 44 54 4d 5f 53 45 54 53 59 53 54 45 4d  p, DTM_SETSYSTEM
2daf0 54 49 4d 45 2c 20 28 57 50 41 52 41 4d 29 28 67  TIME, (WPARAM)(g
2db00 64 29 2c 20 28 4c 50 41 52 41 4d 29 28 70 73 74  d), (LPARAM)(pst
2db10 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ))....enum : uin
2db20 74 20 7b 20 44 54 4d 5f 47 45 54 52 41 4e 47 45  t { DTM_GETRANGE
2db30 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20 33   = DTM_FIRST + 3
2db40 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44   }..// #define D
2db50 61 74 65 54 69 6d 65 5f 47 65 74 52 61 6e 67 65  ateTime_GetRange
2db60 28 68 64 70 2c 20 72 67 73 74 29 20 28 44 57 4f  (hdp, rgst) (DWO
2db70 52 44 29 53 4e 44 4d 53 47 28 68 64 70 2c 20 44  RD)SNDMSG(hdp, D
2db80 54 4d 5f 47 45 54 52 41 4e 47 45 2c 20 30 2c 20  TM_GETRANGE, 0, 
2db90 28 4c 50 41 52 41 4d 29 28 72 67 73 74 29 29 0d  (LPARAM)(rgst)).
2dba0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2dbb0 20 44 54 4d 5f 53 45 54 52 41 4e 47 45 20 3d 20   DTM_SETRANGE = 
2dbc0 44 54 4d 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d  DTM_FIRST + 4 }.
2dbd0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65  .// #define Date
2dbe0 54 69 6d 65 5f 53 65 74 52 61 6e 67 65 28 68 64  Time_SetRange(hd
2dbf0 70 2c 20 67 64 2c 20 72 67 73 74 29 20 28 42 4f  p, gd, rgst) (BO
2dc00 4f 4c 29 53 4e 44 4d 53 47 28 68 64 70 2c 20 44  OL)SNDMSG(hdp, D
2dc10 54 4d 5f 53 45 54 52 41 4e 47 45 2c 20 28 57 50  TM_SETRANGE, (WP
2dc20 41 52 41 4d 29 28 67 64 29 2c 20 28 4c 50 41 52  ARAM)(gd), (LPAR
2dc30 41 4d 29 28 72 67 73 74 29 29 0d 0a 0d 0a 65 6e  AM)(rgst))....en
2dc40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f  um : uint { DTM_
2dc50 53 45 54 46 4f 52 4d 41 54 41 20 3d 20 44 54 4d  SETFORMATA = DTM
2dc60 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 65 6e  _FIRST + 5 }..en
2dc70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4d 5f  um : uint { DTM_
2dc80 53 45 54 46 4f 52 4d 41 54 57 20 3d 20 44 54 4d  SETFORMATW = DTM
2dc90 5f 46 49 52 53 54 20 2b 20 35 30 20 7d 0d 0a 0d  _FIRST + 50 }...
2dca0 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
2dcb0 44 45 0d 0a 61 6c 69 61 73 20 44 54 4d 5f 53 45  DE..alias DTM_SE
2dcc0 54 46 4f 52 4d 41 54 57 20 44 54 4d 5f 53 45 54  TFORMATW DTM_SET
2dcd0 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23 65 6c 73  FORMAT;..// #els
2dce0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
2dcf0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 64 65 66  endif....// #def
2dd00 69 6e 65 20 44 61 74 65 54 69 6d 65 5f 53 65 74  ine DateTime_Set
2dd10 46 6f 72 6d 61 74 28 68 64 70 2c 20 73 7a 29 20  Format(hdp, sz) 
2dd20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 68 64 70  (BOOL)SNDMSG(hdp
2dd30 2c 20 44 54 4d 5f 53 45 54 46 4f 52 4d 41 54 2c  , DTM_SETFORMAT,
2dd40 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 73 7a 29   0, (LPARAM)(sz)
2dd50 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
2dd60 20 7b 20 44 54 4d 5f 53 45 54 4d 43 43 4f 4c 4f   { DTM_SETMCCOLO
2dd70 52 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20  R = DTM_FIRST + 
2dd80 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  6 }..// #define 
2dd90 44 61 74 65 54 69 6d 65 5f 53 65 74 4d 6f 6e 74  DateTime_SetMont
2dda0 68 43 61 6c 43 6f 6c 6f 72 28 68 64 70 2c 20 69  hCalColor(hdp, i
2ddb0 43 6f 6c 6f 72 2c 20 63 6c 72 29 20 53 4e 44 4d  Color, clr) SNDM
2ddc0 53 47 28 68 64 70 2c 20 44 54 4d 5f 53 45 54 4d  SG(hdp, DTM_SETM
2ddd0 43 43 4f 4c 4f 52 2c 20 69 43 6f 6c 6f 72 2c 20  CCOLOR, iColor, 
2dde0 63 6c 72 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  clr)....enum : u
2ddf0 69 6e 74 20 7b 20 44 54 4d 5f 47 45 54 4d 43 43  int { DTM_GETMCC
2de00 4f 4c 4f 52 20 3d 20 44 54 4d 5f 46 49 52 53 54  OLOR = DTM_FIRST
2de10 20 2b 20 37 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   + 7 }..// #defi
2de20 6e 65 20 44 61 74 65 54 69 6d 65 5f 47 65 74 4d  ne DateTime_GetM
2de30 6f 6e 74 68 43 61 6c 43 6f 6c 6f 72 28 68 64 70  onthCalColor(hdp
2de40 2c 20 69 43 6f 6c 6f 72 29 20 53 4e 44 4d 53 47  , iColor) SNDMSG
2de50 28 68 64 70 2c 20 44 54 4d 5f 47 45 54 4d 43 43  (hdp, DTM_GETMCC
2de60 4f 4c 4f 52 2c 20 69 43 6f 6c 6f 72 2c 20 30 29  OLOR, iColor, 0)
2de70 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2de80 7b 20 44 54 4d 5f 47 45 54 4d 4f 4e 54 48 43 41  { DTM_GETMONTHCA
2de90 4c 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20  L = DTM_FIRST + 
2dea0 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  8 }..// #define 
2deb0 44 61 74 65 54 69 6d 65 5f 47 65 74 4d 6f 6e 74  DateTime_GetMont
2dec0 68 43 61 6c 28 68 64 70 29 20 28 48 57 4e 44 29  hCal(hdp) (HWND)
2ded0 53 4e 44 4d 53 47 28 68 64 70 2c 20 44 54 4d 5f  SNDMSG(hdp, DTM_
2dee0 47 45 54 4d 4f 4e 54 48 43 41 4c 2c 20 30 2c 20  GETMONTHCAL, 0, 
2def0 30 29 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  0)....// #if (_W
2df00 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30  IN32_IE >= 0x040
2df10 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0)....enum : uin
2df20 74 20 7b 20 44 54 4d 5f 53 45 54 4d 43 46 4f 4e  t { DTM_SETMCFON
2df30 54 20 3d 20 44 54 4d 5f 46 49 52 53 54 20 2b 20  T = DTM_FIRST + 
2df40 39 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  9 }..// #define 
2df50 44 61 74 65 54 69 6d 65 5f 53 65 74 4d 6f 6e 74  DateTime_SetMont
2df60 68 43 61 6c 46 6f 6e 74 28 68 64 70 2c 20 68 66  hCalFont(hdp, hf
2df70 6f 6e 74 2c 20 66 52 65 64 72 61 77 29 20 53 4e  ont, fRedraw) SN
2df80 44 4d 53 47 28 68 64 70 2c 20 44 54 4d 5f 53 45  DMSG(hdp, DTM_SE
2df90 54 4d 43 46 4f 4e 54 2c 20 28 57 50 41 52 41 4d  TMCFONT, (WPARAM
2dfa0 29 28 68 66 6f 6e 74 29 2c 20 28 4c 50 41 52 41  )(hfont), (LPARA
2dfb0 4d 29 28 66 52 65 64 72 61 77 29 29 0d 0a 0d 0a  M)(fRedraw))....
2dfc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2dfd0 4d 5f 47 45 54 4d 43 46 4f 4e 54 20 3d 20 44 54  M_GETMCFONT = DT
2dfe0 4d 5f 46 49 52 53 54 20 2b 20 31 30 20 7d 0d 0a  M_FIRST + 10 }..
2dff0 2f 2f 20 23 64 65 66 69 6e 65 20 44 61 74 65 54  // #define DateT
2e000 69 6d 65 5f 47 65 74 4d 6f 6e 74 68 43 61 6c 46  ime_GetMonthCalF
2e010 6f 6e 74 28 68 64 70 29 20 53 4e 44 4d 53 47 28  ont(hdp) SNDMSG(
2e020 68 64 70 2c 20 44 54 4d 5f 47 45 54 4d 43 46 4f  hdp, DTM_GETMCFO
2e030 4e 54 2c 20 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20  NT, 0, 0)....// 
2e040 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f 20 5f  #endif      // _
2e050 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34  WIN32_IE >= 0x04
2e060 30 30 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00....enum : uin
2e070 74 20 7b 20 44 54 53 5f 55 50 44 4f 57 4e 20 3d  t { DTS_UPDOWN =
2e080 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
2e090 3a 20 75 69 6e 74 20 7b 20 44 54 53 5f 53 48 4f  : uint { DTS_SHO
2e0a0 57 4e 4f 4e 45 20 3d 20 30 78 30 30 30 32 20 7d  WNONE = 0x0002 }
2e0b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e0c0 44 54 53 5f 53 48 4f 52 54 44 41 54 45 46 4f 52  DTS_SHORTDATEFOR
2e0d0 4d 41 54 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  MAT = 0x0000 }..
2e0e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2e0f0 53 5f 4c 4f 4e 47 44 41 54 45 46 4f 52 4d 41 54  S_LONGDATEFORMAT
2e100 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20   = 0x0004 }..// 
2e110 23 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e  #if (_WIN32_IE >
2e120 3d 20 30 78 35 30 30 29 0d 0a 65 6e 75 6d 20 3a  = 0x500)..enum :
2e130 20 75 69 6e 74 20 7b 20 44 54 53 5f 53 48 4f 52   uint { DTS_SHOR
2e140 54 44 41 54 45 43 45 4e 54 55 52 59 46 4f 52 4d  TDATECENTURYFORM
2e150 41 54 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a 2f  AT = 0x000C }../
2e160 2f 20 23 65 6e 64 69 66 20 2f 2f 20 28 5f 57 49  / #endif // (_WI
2e170 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 29  N32_IE >= 0x500)
2e180 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e190 44 54 53 5f 54 49 4d 45 46 4f 52 4d 41 54 20 3d  DTS_TIMEFORMAT =
2e1a0 20 30 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20   0x0009 }..enum 
2e1b0 3a 20 75 69 6e 74 20 7b 20 44 54 53 5f 41 50 50  : uint { DTS_APP
2e1c0 43 41 4e 50 41 52 53 45 20 3d 20 30 78 30 30 31  CANPARSE = 0x001
2e1d0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2e1e0 20 7b 20 44 54 53 5f 52 49 47 48 54 41 4c 49 47   { DTS_RIGHTALIG
2e1f0 4e 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d 0a  N = 0x0020 }....
2e200 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2e210 4e 5f 44 41 54 45 54 49 4d 45 43 48 41 4e 47 45  N_DATETIMECHANGE
2e220 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 31   = DTN_FIRST + 1
2e230 20 7d 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d   }..struct tagNM
2e240 44 41 54 45 54 49 4d 45 43 48 41 4e 47 45 20 7b  DATETIMECHANGE {
2e250 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72 3b  ..  NMHDR nmhdr;
2e260 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
2e270 73 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45  s;..  SYSTEMTIME
2e280 20 73 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74   st;..}..alias t
2e290 61 67 4e 4d 44 41 54 45 54 49 4d 45 43 48 41 4e  agNMDATETIMECHAN
2e2a0 47 45 20 4e 4d 44 41 54 45 54 49 4d 45 43 48 41  GE NMDATETIMECHA
2e2b0 4e 47 45 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  NGE;..alias tagN
2e2c0 4d 44 41 54 45 54 49 4d 45 43 48 41 4e 47 45 2a  MDATETIMECHANGE*
2e2d0 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 43 48 41   LPNMDATETIMECHA
2e2e0 4e 47 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  NGE;....enum : u
2e2f0 69 6e 74 20 7b 20 44 54 4e 5f 55 53 45 52 53 54  int { DTN_USERST
2e300 52 49 4e 47 41 20 3d 20 44 54 4e 5f 46 49 52 53  RINGA = DTN_FIRS
2e310 54 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 2 }..enum : 
2e320 75 69 6e 74 20 7b 20 44 54 4e 5f 55 53 45 52 53  uint { DTN_USERS
2e330 54 52 49 4e 47 57 20 3d 20 44 54 4e 5f 46 49 52  TRINGW = DTN_FIR
2e340 53 54 20 2b 20 31 35 20 7d 0d 0a 73 74 72 75 63  ST + 15 }..struc
2e350 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 53  t tagNMDATETIMES
2e360 54 52 49 4e 47 41 20 7b 0d 0a 20 20 4e 4d 48 44  TRINGA {..  NMHD
2e370 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 53  R nmhdr;..  LPCS
2e380 54 52 20 70 73 7a 55 73 65 72 53 74 72 69 6e 67  TR pszUserString
2e390 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45 20  ;..  SYSTEMTIME 
2e3a0 73 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  st;..  DWORD dwF
2e3b0 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  lags;..}..alias 
2e3c0 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 53 54 52  tagNMDATETIMESTR
2e3d0 49 4e 47 41 20 4e 4d 44 41 54 45 54 49 4d 45 53  INGA NMDATETIMES
2e3e0 54 52 49 4e 47 41 3b 0d 0a 61 6c 69 61 73 20 74  TRINGA;..alias t
2e3f0 61 67 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49  agNMDATETIMESTRI
2e400 4e 47 41 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d  NGA* LPNMDATETIM
2e410 45 53 54 52 49 4e 47 41 3b 0d 0a 0d 0a 73 74 72  ESTRINGA;....str
2e420 75 63 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d  uct tagNMDATETIM
2e430 45 53 54 52 49 4e 47 57 20 7b 0d 0a 20 20 4e 4d  ESTRINGW {..  NM
2e440 48 44 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50  HDR nmhdr;..  LP
2e450 43 57 53 54 52 20 70 73 7a 55 73 65 72 53 74 72  CWSTR pszUserStr
2e460 69 6e 67 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49  ing;..  SYSTEMTI
2e470 4d 45 20 73 74 3b 0d 0a 20 20 44 57 4f 52 44 20  ME st;..  DWORD 
2e480 64 77 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69  dwFlags;..}..ali
2e490 61 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45  as tagNMDATETIME
2e4a0 53 54 52 49 4e 47 57 20 4e 4d 44 41 54 45 54 49  STRINGW NMDATETI
2e4b0 4d 45 53 54 52 49 4e 47 57 3b 0d 0a 61 6c 69 61  MESTRINGW;..alia
2e4c0 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 53  s tagNMDATETIMES
2e4d0 54 52 49 4e 47 57 2a 20 4c 50 4e 4d 44 41 54 45  TRINGW* LPNMDATE
2e4e0 54 49 4d 45 53 54 52 49 4e 47 57 3b 0d 0a 0d 0a  TIMESTRINGW;....
2e4f0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
2e500 45 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 55 53 45  E..alias DTN_USE
2e510 52 53 54 52 49 4e 47 57 20 44 54 4e 5f 55 53 45  RSTRINGW DTN_USE
2e520 52 53 54 52 49 4e 47 3b 0d 0a 61 6c 69 61 73 20  RSTRING;..alias 
2e530 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e 47  NMDATETIMESTRING
2e540 57 20 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49  W NMDATETIMESTRI
2e550 4e 47 3b 0d 0a 61 6c 69 61 73 20 4c 50 4e 4d 44  NG;..alias LPNMD
2e560 41 54 45 54 49 4d 45 53 54 52 49 4e 47 57 20 4c  ATETIMESTRINGW L
2e570 50 4e 4d 44 41 54 45 54 49 4d 45 53 54 52 49 4e  PNMDATETIMESTRIN
2e580 47 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  G;..// #else..//
2e590 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
2e5a0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
2e5b0 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
2e5c0 74 20 7b 20 44 54 4e 5f 57 4d 4b 45 59 44 4f 57  t { DTN_WMKEYDOW
2e5d0 4e 41 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b  NA = DTN_FIRST +
2e5e0 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
2e5f0 74 20 7b 20 44 54 4e 5f 57 4d 4b 45 59 44 4f 57  t { DTN_WMKEYDOW
2e600 4e 57 20 3d 20 44 54 4e 5f 46 49 52 53 54 20 2b  NW = DTN_FIRST +
2e610 20 31 36 20 7d 0d 0a 73 74 72 75 63 74 20 74 61   16 }..struct ta
2e620 67 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59  gNMDATETIMEWMKEY
2e630 44 4f 57 4e 41 20 7b 0d 0a 20 20 4e 4d 48 44 52  DOWNA {..  NMHDR
2e640 20 6e 6d 68 64 72 3b 0d 0a 20 20 69 6e 74 20 6e   nmhdr;..  int n
2e650 56 69 72 74 4b 65 79 3b 0d 0a 20 20 4c 50 43 53  VirtKey;..  LPCS
2e660 54 52 20 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20  TR pszFormat;.. 
2e670 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d   SYSTEMTIME st;.
2e680 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44  .}..alias tagNMD
2e690 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e  ATETIMEWMKEYDOWN
2e6a0 41 20 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45  A NMDATETIMEWMKE
2e6b0 59 44 4f 57 4e 41 3b 0d 0a 61 6c 69 61 73 20 74  YDOWNA;..alias t
2e6c0 61 67 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45  agNMDATETIMEWMKE
2e6d0 59 44 4f 57 4e 41 2a 20 4c 50 4e 4d 44 41 54 45  YDOWNA* LPNMDATE
2e6e0 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 41 3b 0d  TIMEWMKEYDOWNA;.
2e6f0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 44  ...struct tagNMD
2e700 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e  ATETIMEWMKEYDOWN
2e710 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68  W {..  NMHDR nmh
2e720 64 72 3b 0d 0a 20 20 69 6e 74 20 6e 56 69 72 74  dr;..  int nVirt
2e730 4b 65 79 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  Key;..  LPCWSTR 
2e740 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 59  pszFormat;..  SY
2e750 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d 0a 7d 0d  STEMTIME st;..}.
2e760 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45  .alias tagNMDATE
2e770 54 49 4d 45 57 4d 4b 45 59 44 4f 57 4e 57 20 4e  TIMEWMKEYDOWNW N
2e780 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f  MDATETIMEWMKEYDO
2e790 57 4e 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  WNW;..alias tagN
2e7a0 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f  MDATETIMEWMKEYDO
2e7b0 57 4e 57 2a 20 4c 50 4e 4d 44 41 54 45 54 49 4d  WNW* LPNMDATETIM
2e7c0 45 57 4d 4b 45 59 44 4f 57 4e 57 3b 0d 0a 0d 0a  EWMKEYDOWNW;....
2e7d0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
2e7e0 45 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 57 4d 4b  E..alias DTN_WMK
2e7f0 45 59 44 4f 57 4e 57 20 44 54 4e 5f 57 4d 4b 45  EYDOWNW DTN_WMKE
2e800 59 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4e 4d  YDOWN;..alias NM
2e810 44 41 54 45 54 49 4d 45 57 4d 4b 45 59 44 4f 57  DATETIMEWMKEYDOW
2e820 4e 57 20 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b  NW NMDATETIMEWMK
2e830 45 59 44 4f 57 4e 3b 0d 0a 61 6c 69 61 73 20 4c  EYDOWN;..alias L
2e840 50 4e 4d 44 41 54 45 54 49 4d 45 57 4d 4b 45 59  PNMDATETIMEWMKEY
2e850 44 4f 57 4e 57 20 4c 50 4e 4d 44 41 54 45 54 49  DOWNW LPNMDATETI
2e860 4d 45 57 4d 4b 45 59 44 4f 57 4e 3b 0d 0a 2f 2f  MEWMKEYDOWN;..//
2e870 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
2e880 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
2e890 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
2e8a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2e8b0 4e 5f 46 4f 52 4d 41 54 41 20 3d 20 44 54 4e 5f  N_FORMATA = DTN_
2e8c0 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 65 6e 75  FIRST + 4 }..enu
2e8d0 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4e 5f 46  m : uint { DTN_F
2e8e0 4f 52 4d 41 54 57 20 3d 20 44 54 4e 5f 46 49 52  ORMATW = DTN_FIR
2e8f0 53 54 20 2b 20 31 37 20 7d 0d 0a 73 74 72 75 63  ST + 17 }..struc
2e900 74 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46  t tagNMDATETIMEF
2e910 4f 52 4d 41 54 41 20 7b 0d 0a 20 20 4e 4d 48 44  ORMATA {..  NMHD
2e920 52 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 53  R nmhdr;..  LPCS
2e930 54 52 20 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20  TR pszFormat;.. 
2e940 20 53 59 53 54 45 4d 54 49 4d 45 20 73 74 3b 0d   SYSTEMTIME st;.
2e950 0a 20 20 4c 50 43 53 54 52 20 70 73 7a 44 69 73  .  LPCSTR pszDis
2e960 70 6c 61 79 3b 0d 0a 20 20 43 48 41 52 20 73 7a  play;..  CHAR sz
2e970 44 69 73 70 6c 61 79 5b 36 34 5d 3b 0d 0a 7d 0d  Display[64];..}.
2e980 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45  .alias tagNMDATE
2e990 54 49 4d 45 46 4f 52 4d 41 54 41 20 4e 4d 44 41  TIMEFORMATA NMDA
2e9a0 54 45 54 49 4d 45 46 4f 52 4d 41 54 41 3b 0d 0a  TETIMEFORMATA;..
2e9b0 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45 54  alias tagNMDATET
2e9c0 49 4d 45 46 4f 52 4d 41 54 41 2a 20 4c 50 4e 4d  IMEFORMATA* LPNM
2e9d0 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 41 3b  DATETIMEFORMATA;
2e9e0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
2e9f0 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 57 20  DATETIMEFORMATW 
2ea00 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e 6d 68 64 72  {..  NMHDR nmhdr
2ea10 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a  ;..  LPCWSTR psz
2ea20 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 59 53 54 45  Format;..  SYSTE
2ea30 4d 54 49 4d 45 20 73 74 3b 0d 0a 20 20 4c 50 43  MTIME st;..  LPC
2ea40 57 53 54 52 20 70 73 7a 44 69 73 70 6c 61 79 3b  WSTR pszDisplay;
2ea50 0d 0a 20 20 57 43 48 41 52 20 73 7a 44 69 73 70  ..  WCHAR szDisp
2ea60 6c 61 79 5b 36 34 5d 3b 0d 0a 7d 0d 0a 61 6c 69  lay[64];..}..ali
2ea70 61 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45  as tagNMDATETIME
2ea80 46 4f 52 4d 41 54 57 20 4e 4d 44 41 54 45 54 49  FORMATW NMDATETI
2ea90 4d 45 46 4f 52 4d 41 54 57 3b 0d 0a 61 6c 69 61  MEFORMATW;..alia
2eaa0 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46  s tagNMDATETIMEF
2eab0 4f 52 4d 41 54 57 2a 20 4c 50 4e 4d 44 41 54 45  ORMATW* LPNMDATE
2eac0 54 49 4d 45 46 4f 52 4d 41 54 57 3b 0d 0a 0d 0a  TIMEFORMATW;....
2ead0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
2eae0 45 0d 0a 61 6c 69 61 73 20 44 54 4e 5f 46 4f 52  E..alias DTN_FOR
2eaf0 4d 41 54 57 20 44 54 4e 5f 46 4f 52 4d 41 54 3b  MATW DTN_FORMAT;
2eb00 0d 0a 61 6c 69 61 73 20 4e 4d 44 41 54 45 54 49  ..alias NMDATETI
2eb10 4d 45 46 4f 52 4d 41 54 57 20 4e 4d 44 41 54 45  MEFORMATW NMDATE
2eb20 54 49 4d 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69  TIMEFORMAT;..ali
2eb30 61 73 20 4c 50 4e 4d 44 41 54 45 54 49 4d 45 46  as LPNMDATETIMEF
2eb40 4f 52 4d 41 54 57 20 4c 50 4e 4d 44 41 54 45 54  ORMATW LPNMDATET
2eb50 49 4d 45 46 4f 52 4d 41 54 3b 0d 0a 2f 2f 20 23  IMEFORMAT;..// #
2eb60 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
2eb70 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
2eb80 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
2eb90 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54 4e 5f  um : uint { DTN_
2eba0 46 4f 52 4d 41 54 51 55 45 52 59 41 20 3d 20 44  FORMATQUERYA = D
2ebb0 54 4e 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a  TN_FIRST + 5 }..
2ebc0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 54  enum : uint { DT
2ebd0 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59 57 20 3d  N_FORMATQUERYW =
2ebe0 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 31 38 20   DTN_FIRST + 18 
2ebf0 7d 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d 44  }..struct tagNMD
2ec00 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 55 45  ATETIMEFORMATQUE
2ec10 52 59 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 6e  RYA {..  NMHDR n
2ec20 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 53 54 52 20  mhdr;..  LPCSTR 
2ec30 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20 20 53 49  pszFormat;..  SI
2ec40 5a 45 20 73 7a 4d 61 78 3b 0d 0a 7d 0d 0a 61 6c  ZE szMax;..}..al
2ec50 69 61 73 20 74 61 67 4e 4d 44 41 54 45 54 49 4d  ias tagNMDATETIM
2ec60 45 46 4f 52 4d 41 54 51 55 45 52 59 41 20 4e 4d  EFORMATQUERYA NM
2ec70 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 55  DATETIMEFORMATQU
2ec80 45 52 59 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ERYA;..alias tag
2ec90 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54  NMDATETIMEFORMAT
2eca0 51 55 45 52 59 41 2a 20 4c 50 4e 4d 44 41 54 45  QUERYA* LPNMDATE
2ecb0 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 41  TIMEFORMATQUERYA
2ecc0 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e  ;....struct tagN
2ecd0 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51  MDATETIMEFORMATQ
2ece0 55 45 52 59 57 20 7b 0d 0a 20 20 4e 4d 48 44 52  UERYW {..  NMHDR
2ecf0 20 6e 6d 68 64 72 3b 0d 0a 20 20 4c 50 43 57 53   nmhdr;..  LPCWS
2ed00 54 52 20 70 73 7a 46 6f 72 6d 61 74 3b 0d 0a 20  TR pszFormat;.. 
2ed10 20 53 49 5a 45 20 73 7a 4d 61 78 3b 0d 0a 7d 0d   SIZE szMax;..}.
2ed20 0a 61 6c 69 61 73 20 74 61 67 4e 4d 44 41 54 45  .alias tagNMDATE
2ed30 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 57  TIMEFORMATQUERYW
2ed40 20 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41   NMDATETIMEFORMA
2ed50 54 51 55 45 52 59 57 3b 0d 0a 61 6c 69 61 73 20  TQUERYW;..alias 
2ed60 74 61 67 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52  tagNMDATETIMEFOR
2ed70 4d 41 54 51 55 45 52 59 57 2a 20 4c 50 4e 4d 44  MATQUERYW* LPNMD
2ed80 41 54 45 54 49 4d 45 46 4f 52 4d 41 54 51 55 45  ATETIMEFORMATQUE
2ed90 52 59 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  RYW;....// #ifde
2eda0 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
2edb0 20 44 54 4e 5f 46 4f 52 4d 41 54 51 55 45 52 59   DTN_FORMATQUERY
2edc0 57 20 44 54 4e 5f 46 4f 52 4d 41 54 51 55 45 52  W DTN_FORMATQUER
2edd0 59 3b 0d 0a 61 6c 69 61 73 20 4e 4d 44 41 54 45  Y;..alias NMDATE
2ede0 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 57  TIMEFORMATQUERYW
2edf0 20 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41   NMDATETIMEFORMA
2ee00 54 51 55 45 52 59 3b 0d 0a 61 6c 69 61 73 20 4c  TQUERY;..alias L
2ee10 50 4e 4d 44 41 54 45 54 49 4d 45 46 4f 52 4d 41  PNMDATETIMEFORMA
2ee20 54 51 55 45 52 59 57 20 4c 50 4e 4d 44 41 54 45  TQUERYW LPNMDATE
2ee30 54 49 4d 45 46 4f 52 4d 41 54 51 55 45 52 59 3b  TIMEFORMATQUERY;
2ee40 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
2ee50 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
2ee60 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
2ee70 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2ee80 7b 20 44 54 4e 5f 44 52 4f 50 44 4f 57 4e 20 3d  { DTN_DROPDOWN =
2ee90 20 44 54 4e 5f 46 49 52 53 54 20 2b 20 36 20 7d   DTN_FIRST + 6 }
2eea0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2eeb0 44 54 4e 5f 43 4c 4f 53 45 55 50 20 3d 20 44 54  DTN_CLOSEUP = DT
2eec0 4e 5f 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 0d  N_FIRST + 7 }...
2eed0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
2eee0 44 54 52 5f 4d 49 4e 20 3d 20 30 78 30 30 30 31  DTR_MIN = 0x0001
2eef0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2ef00 7b 20 47 44 54 52 5f 4d 41 58 20 3d 20 30 78 30  { GDTR_MAX = 0x0
2ef10 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 20  002 }....enum { 
2ef20 47 44 54 5f 45 52 52 4f 52 20 3d 20 2d 31 20 7d  GDT_ERROR = -1 }
2ef30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2ef40 47 44 54 5f 56 41 4c 49 44 20 3d 20 30 20 7d 0d  GDT_VALID = 0 }.
2ef50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 47  .enum : uint { G
2ef60 44 54 5f 4e 4f 4e 45 20 3d 20 31 20 7d 0d 0a 0d  DT_NONE = 1 }...
2ef70 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 5f 57  .// #endif // _W
2ef80 49 4e 33 32 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  IN32..// #endif 
2ef90 2f 2f 20 4e 4f 44 41 54 45 54 49 4d 45 50 49 43  // NODATETIMEPIC
2efa0 4b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  K....// #if (_WI
2efb0 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
2efc0 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  )....// #ifndef 
2efd0 4e 4f 49 50 41 44 44 52 45 53 53 0d 0a 0d 0a 65  NOIPADDRESS....e
2efe0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 4d  num : uint { IPM
2eff0 5f 43 4c 45 41 52 41 44 44 52 45 53 53 20 3d 20  _CLEARADDRESS = 
2f000 57 4d 5f 55 53 45 52 2b 31 30 30 20 7d 0d 0a 65  WM_USER+100 }..e
2f010 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 4d  num : uint { IPM
2f020 5f 53 45 54 41 44 44 52 45 53 53 20 3d 20 57 4d  _SETADDRESS = WM
2f030 5f 55 53 45 52 2b 31 30 31 20 7d 0d 0a 65 6e 75  _USER+101 }..enu
2f040 6d 20 3a 20 75 69 6e 74 20 7b 20 49 50 4d 5f 47  m : uint { IPM_G
2f050 45 54 41 44 44 52 45 53 53 20 3d 20 57 4d 5f 55  ETADDRESS = WM_U
2f060 53 45 52 2b 31 30 32 20 7d 0d 0a 65 6e 75 6d 20  SER+102 }..enum 
2f070 3a 20 75 69 6e 74 20 7b 20 49 50 4d 5f 53 45 54  : uint { IPM_SET
2f080 52 41 4e 47 45 20 3d 20 57 4d 5f 55 53 45 52 2b  RANGE = WM_USER+
2f090 31 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  103 }..enum : ui
2f0a0 6e 74 20 7b 20 49 50 4d 5f 53 45 54 46 4f 43 55  nt { IPM_SETFOCU
2f0b0 53 20 3d 20 57 4d 5f 55 53 45 52 2b 31 30 34 20  S = WM_USER+104 
2f0c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2f0d0 20 49 50 4d 5f 49 53 42 4c 41 4e 4b 20 3d 20 57   IPM_ISBLANK = W
2f0e0 4d 5f 55 53 45 52 2b 31 30 35 20 7d 0d 0a 0d 0a  M_USER+105 }....
2f0f0 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43  const wchar[] WC
2f100 5f 49 50 41 44 44 52 45 53 53 57 20 3d 20 22 53  _IPADDRESSW = "S
2f110 79 73 49 50 41 64 64 72 65 73 73 33 32 22 3b 0d  ysIPAddress32";.
2f120 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57 43  .const char[] WC
2f130 5f 49 50 41 44 44 52 45 53 53 41 20 3d 20 22 53  _IPADDRESSA = "S
2f140 79 73 49 50 41 64 64 72 65 73 73 33 32 22 3b 0d  ysIPAddress32";.
2f150 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
2f160 43 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 49  CODE..alias WC_I
2f170 50 41 44 44 52 45 53 53 57 20 57 43 5f 49 50 41  PADDRESSW WC_IPA
2f180 44 44 52 45 53 53 3b 0d 0a 2f 2f 20 23 65 6c 73  DDRESS;..// #els
2f190 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
2f1a0 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
2f1b0 75 69 6e 74 20 7b 20 49 50 4e 5f 46 49 45 4c 44  uint { IPN_FIELD
2f1c0 43 48 41 4e 47 45 44 20 3d 20 49 50 4e 5f 46 49  CHANGED = IPN_FI
2f1d0 52 53 54 20 2d 20 30 20 7d 0d 0a 73 74 72 75 63  RST - 0 }..struc
2f1e0 74 20 74 61 67 4e 4d 49 50 41 44 44 52 45 53 53  t tagNMIPADDRESS
2f1f0 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b   {..  NMHDR hdr;
2f200 0d 0a 20 20 69 6e 74 20 69 46 69 65 6c 64 3b 0d  ..  int iField;.
2f210 0a 20 20 69 6e 74 20 69 56 61 6c 75 65 3b 0d 0a  .  int iValue;..
2f220 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 49 50  }..alias tagNMIP
2f230 41 44 44 52 45 53 53 20 4e 4d 49 50 41 44 44 52  ADDRESS NMIPADDR
2f240 45 53 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4e  ESS;..alias tagN
2f250 4d 49 50 41 44 44 52 45 53 53 2a 20 4c 50 4e 4d  MIPADDRESS* LPNM
2f260 49 50 41 44 44 52 45 53 53 3b 0d 0a 0d 0a 2f 2f  IPADDRESS;....//
2f270 20 23 64 65 66 69 6e 65 20 4d 41 4b 45 49 50 52   #define MAKEIPR
2f280 41 4e 47 45 28 6c 6f 77 2c 20 68 69 67 68 29 20  ANGE(low, high) 
2f290 28 28 4c 50 41 52 41 4d 29 28 57 4f 52 44 29 28  ((LPARAM)(WORD)(
2f2a0 28 28 42 59 54 45 29 28 68 69 67 68 29 20 3c 3c  ((BYTE)(high) <<
2f2b0 20 38 29 20 2b 20 28 42 59 54 45 29 28 6c 6f 77   8) + (BYTE)(low
2f2c0 29 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  )))....// #defin
2f2d0 65 20 4d 41 4b 45 49 50 41 44 44 52 45 53 53 28  e MAKEIPADDRESS(
2f2e0 62 31 2c 62 32 2c 62 33 2c 62 34 29 20 28 28 4c  b1,b2,b3,b4) ((L
2f2f0 50 41 52 41 4d 29 28 28 28 44 57 4f 52 44 29 28  PARAM)(((DWORD)(
2f300 62 31 29 3c 3c 32 34 29 2b 28 28 44 57 4f 52 44  b1)<<24)+((DWORD
2f310 29 28 62 32 29 3c 3c 31 36 29 2b 28 28 44 57 4f  )(b2)<<16)+((DWO
2f320 52 44 29 28 62 33 29 3c 3c 38 29 2b 28 28 44 57  RD)(b3)<<8)+((DW
2f330 4f 52 44 29 28 62 34 29 29 29 29 0d 0a 0d 0a 2f  ORD)(b4))))..../
2f340 2f 20 23 64 65 66 69 6e 65 20 46 49 52 53 54 5f  / #define FIRST_
2f350 49 50 41 44 44 52 45 53 53 28 78 29 20 28 28 78  IPADDRESS(x) ((x
2f360 3e 3e 32 34 29 20 26 20 30 78 66 66 29 0d 0a 2f  >>24) & 0xff)../
2f370 2f 20 23 64 65 66 69 6e 65 20 53 45 43 4f 4e 44  / #define SECOND
2f380 5f 49 50 41 44 44 52 45 53 53 28 78 29 20 28 28  _IPADDRESS(x) ((
2f390 78 3e 3e 31 36 29 20 26 20 30 78 66 66 29 0d 0a  x>>16) & 0xff)..
2f3a0 2f 2f 20 23 64 65 66 69 6e 65 20 54 48 49 52 44  // #define THIRD
2f3b0 5f 49 50 41 44 44 52 45 53 53 28 78 29 20 28 28  _IPADDRESS(x) ((
2f3c0 78 3e 3e 38 29 20 26 20 30 78 66 66 29 0d 0a 2f  x>>8) & 0xff)../
2f3d0 2f 20 23 64 65 66 69 6e 65 20 46 4f 55 52 54 48  / #define FOURTH
2f3e0 5f 49 50 41 44 44 52 45 53 53 28 78 29 20 28 78  _IPADDRESS(x) (x
2f3f0 20 26 20 30 78 66 66 29 0d 0a 0d 0a 2f 2f 20 23   & 0xff)....// #
2f400 65 6e 64 69 66 20 2f 2f 20 4e 4f 49 50 41 44 44  endif // NOIPADD
2f410 52 45 53 53 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  RESS....// #ifnd
2f420 65 66 20 4e 4f 50 41 47 45 53 43 52 4f 4c 4c 45  ef NOPAGESCROLLE
2f430 52 0d 0a 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72  R....const wchar
2f440 5b 5d 20 57 43 5f 50 41 47 45 53 43 52 4f 4c 4c  [] WC_PAGESCROLL
2f450 45 52 57 20 3d 20 22 53 79 73 50 61 67 65 72 22  ERW = "SysPager"
2f460 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20  ;..const char[] 
2f470 57 43 5f 50 41 47 45 53 43 52 4f 4c 4c 45 52 41  WC_PAGESCROLLERA
2f480 20 3d 20 22 53 79 73 50 61 67 65 72 22 3b 0d 0a   = "SysPager";..
2f490 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
2f4a0 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 50 41  ODE..alias WC_PA
2f4b0 47 45 53 43 52 4f 4c 4c 45 52 57 20 57 43 5f 50  GESCROLLERW WC_P
2f4c0 41 47 45 53 43 52 4f 4c 4c 45 52 3b 0d 0a 2f 2f  AGESCROLLER;..//
2f4d0 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
2f4e0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
2f4f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 53 5f  um : uint { PGS_
2f500 56 45 52 54 20 3d 20 30 78 30 30 30 30 30 30 30  VERT = 0x0000000
2f510 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
2f520 20 7b 20 50 47 53 5f 48 4f 52 5a 20 3d 20 30 78   { PGS_HORZ = 0x
2f530 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
2f540 20 3a 20 75 69 6e 74 20 7b 20 50 47 53 5f 41 55   : uint { PGS_AU
2f550 54 4f 53 43 52 4f 4c 4c 20 3d 20 30 78 30 30 30  TOSCROLL = 0x000
2f560 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
2f570 75 69 6e 74 20 7b 20 50 47 53 5f 44 52 41 47 4e  uint { PGS_DRAGN
2f580 44 52 4f 50 20 3d 20 30 78 30 30 30 30 30 30 30  DROP = 0x0000000
2f590 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  4 }....enum : ui
2f5a0 6e 74 20 7b 20 50 47 46 5f 49 4e 56 49 53 49 42  nt { PGF_INVISIB
2f5b0 4c 45 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a  LE = 0 }..enum :
2f5c0 20 75 69 6e 74 20 7b 20 50 47 46 5f 4e 4f 52 4d   uint { PGF_NORM
2f5d0 41 4c 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  AL = 1 }..enum :
2f5e0 20 75 69 6e 74 20 7b 20 50 47 46 5f 47 52 41 59   uint { PGF_GRAY
2f5f0 45 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  ED = 2 }..enum :
2f600 20 75 69 6e 74 20 7b 20 50 47 46 5f 44 45 50 52   uint { PGF_DEPR
2f610 45 53 53 45 44 20 3d 20 34 20 7d 0d 0a 65 6e 75  ESSED = 4 }..enu
2f620 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f 48  m : uint { PGF_H
2f630 4f 54 20 3d 20 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  OT = 8 }....enum
2f640 20 3a 20 75 69 6e 74 20 7b 20 50 47 42 5f 54 4f   : uint { PGB_TO
2f650 50 4f 52 4c 45 46 54 20 3d 20 30 20 7d 0d 0a 65  PORLEFT = 0 }..e
2f660 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 42  num : uint { PGB
2f670 5f 42 4f 54 54 4f 4d 4f 52 52 49 47 48 54 20 3d  _BOTTOMORRIGHT =
2f680 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   1 }....enum : u
2f690 69 6e 74 20 7b 20 50 47 4d 5f 53 45 54 43 48 49  int { PGM_SETCHI
2f6a0 4c 44 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b  LD = PGM_FIRST +
2f6b0 20 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   1 }..// #define
2f6c0 20 50 61 67 65 72 5f 53 65 74 43 68 69 6c 64 28   Pager_SetChild(
2f6d0 68 77 6e 64 2c 20 68 77 6e 64 43 68 69 6c 64 29  hwnd, hwndChild)
2f6e0 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68   (void)SNDMSG((h
2f6f0 77 6e 64 29 2c 20 50 47 4d 5f 53 45 54 43 48 49  wnd), PGM_SETCHI
2f700 4c 44 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28  LD, 0, (LPARAM)(
2f710 68 77 6e 64 43 68 69 6c 64 29 29 0d 0a 0d 0a 65  hwndChild))....e
2f720 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d  num : uint { PGM
2f730 5f 52 45 43 41 4c 43 53 49 5a 45 20 3d 20 50 47  _RECALCSIZE = PG
2f740 4d 5f 46 49 52 53 54 20 2b 20 32 20 7d 0d 0a 2f  M_FIRST + 2 }../
2f750 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f  / #define Pager_
2f760 52 65 63 61 6c 63 53 69 7a 65 28 68 77 6e 64 29  RecalcSize(hwnd)
2f770 20 28 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68   (void)SNDMSG((h
2f780 77 6e 64 29 2c 20 50 47 4d 5f 52 45 43 41 4c 43  wnd), PGM_RECALC
2f790 53 49 5a 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 65  SIZE, 0, 0)....e
2f7a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d  num : uint { PGM
2f7b0 5f 46 4f 52 57 41 52 44 4d 4f 55 53 45 20 3d 20  _FORWARDMOUSE = 
2f7c0 50 47 4d 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d  PGM_FIRST + 3 }.
2f7d0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65  .// #define Page
2f7e0 72 5f 46 6f 72 77 61 72 64 4d 6f 75 73 65 28 68  r_ForwardMouse(h
2f7f0 77 6e 64 2c 20 62 46 6f 72 77 61 72 64 29 20 28  wnd, bForward) (
2f800 76 6f 69 64 29 53 4e 44 4d 53 47 28 28 68 77 6e  void)SNDMSG((hwn
2f810 64 29 2c 20 50 47 4d 5f 46 4f 52 57 41 52 44 4d  d), PGM_FORWARDM
2f820 4f 55 53 45 2c 20 28 57 50 41 52 41 4d 29 28 62  OUSE, (WPARAM)(b
2f830 46 6f 72 77 61 72 64 29 2c 20 30 29 0d 0a 0d 0a  Forward), 0)....
2f840 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47  enum : uint { PG
2f850 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 20 3d 20 50  M_SETBKCOLOR = P
2f860 47 4d 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a  GM_FIRST + 4 }..
2f870 2f 2f 20 23 64 65 66 69 6e 65 20 50 61 67 65 72  // #define Pager
2f880 5f 53 65 74 42 6b 43 6f 6c 6f 72 28 68 77 6e 64  _SetBkColor(hwnd
2f890 2c 20 63 6c 72 29 20 28 43 4f 4c 4f 52 52 45 46  , clr) (COLORREF
2f8a0 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
2f8b0 50 47 4d 5f 53 45 54 42 4b 43 4f 4c 4f 52 2c 20  PGM_SETBKCOLOR, 
2f8c0 30 2c 20 28 4c 50 41 52 41 4d 29 28 63 6c 72 29  0, (LPARAM)(clr)
2f8d0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
2f8e0 20 7b 20 50 47 4d 5f 47 45 54 42 4b 43 4f 4c 4f   { PGM_GETBKCOLO
2f8f0 52 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b 20  R = PGM_FIRST + 
2f900 35 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  5 }..// #define 
2f910 50 61 67 65 72 5f 47 65 74 42 6b 43 6f 6c 6f 72  Pager_GetBkColor
2f920 28 68 77 6e 64 29 20 28 43 4f 4c 4f 52 52 45 46  (hwnd) (COLORREF
2f930 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20  )SNDMSG((hwnd), 
2f940 50 47 4d 5f 47 45 54 42 4b 43 4f 4c 4f 52 2c 20  PGM_GETBKCOLOR, 
2f950 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  0, 0)....enum : 
2f960 75 69 6e 74 20 7b 20 50 47 4d 5f 53 45 54 42 4f  uint { PGM_SETBO
2f970 52 44 45 52 20 3d 20 50 47 4d 5f 46 49 52 53 54  RDER = PGM_FIRST
2f980 20 2b 20 36 20 7d 0d 0a 2f 2f 20 23 64 65 66 69   + 6 }..// #defi
2f990 6e 65 20 50 61 67 65 72 5f 53 65 74 42 6f 72 64  ne Pager_SetBord
2f9a0 65 72 28 68 77 6e 64 2c 20 69 42 6f 72 64 65 72  er(hwnd, iBorder
2f9b0 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28 68  ) (int)SNDMSG((h
2f9c0 77 6e 64 29 2c 20 50 47 4d 5f 53 45 54 42 4f 52  wnd), PGM_SETBOR
2f9d0 44 45 52 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  DER, 0, (LPARAM)
2f9e0 28 69 42 6f 72 64 65 72 29 29 0d 0a 0d 0a 65 6e  (iBorder))....en
2f9f0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4d 5f  um : uint { PGM_
2fa00 47 45 54 42 4f 52 44 45 52 20 3d 20 50 47 4d 5f  GETBORDER = PGM_
2fa10 46 49 52 53 54 20 2b 20 37 20 7d 0d 0a 2f 2f 20  FIRST + 7 }..// 
2fa20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47 65  #define Pager_Ge
2fa30 74 42 6f 72 64 65 72 28 68 77 6e 64 29 20 28 69  tBorder(hwnd) (i
2fa40 6e 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  nt)SNDMSG((hwnd)
2fa50 2c 20 50 47 4d 5f 47 45 54 42 4f 52 44 45 52 2c  , PGM_GETBORDER,
2fa60 20 30 2c 20 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a   0, 0)....enum :
2fa70 20 75 69 6e 74 20 7b 20 50 47 4d 5f 53 45 54 50   uint { PGM_SETP
2fa80 4f 53 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b  OS = PGM_FIRST +
2fa90 20 38 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   8 }..// #define
2faa0 20 50 61 67 65 72 5f 53 65 74 50 6f 73 28 68 77   Pager_SetPos(hw
2fab0 6e 64 2c 20 69 50 6f 73 29 20 28 69 6e 74 29 53  nd, iPos) (int)S
2fac0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47  NDMSG((hwnd), PG
2fad0 4d 5f 53 45 54 50 4f 53 2c 20 30 2c 20 28 4c 50  M_SETPOS, 0, (LP
2fae0 41 52 41 4d 29 28 69 50 6f 73 29 29 0d 0a 0d 0a  ARAM)(iPos))....
2faf0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47  enum : uint { PG
2fb00 4d 5f 47 45 54 50 4f 53 20 3d 20 50 47 4d 5f 46  M_GETPOS = PGM_F
2fb10 49 52 53 54 20 2b 20 39 20 7d 0d 0a 2f 2f 20 23  IRST + 9 }..// #
2fb20 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47 65 74  define Pager_Get
2fb30 50 6f 73 28 68 77 6e 64 29 20 28 69 6e 74 29 53  Pos(hwnd) (int)S
2fb40 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47  NDMSG((hwnd), PG
2fb50 4d 5f 47 45 54 50 4f 53 2c 20 30 2c 20 30 29 0d  M_GETPOS, 0, 0).
2fb60 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2fb70 20 50 47 4d 5f 53 45 54 42 55 54 54 4f 4e 53 49   PGM_SETBUTTONSI
2fb80 5a 45 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b  ZE = PGM_FIRST +
2fb90 20 31 30 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e   10 }..// #defin
2fba0 65 20 50 61 67 65 72 5f 53 65 74 42 75 74 74 6f  e Pager_SetButto
2fbb0 6e 53 69 7a 65 28 68 77 6e 64 2c 20 69 53 69 7a  nSize(hwnd, iSiz
2fbc0 65 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 28  e) (int)SNDMSG((
2fbd0 68 77 6e 64 29 2c 20 50 47 4d 5f 53 45 54 42 55  hwnd), PGM_SETBU
2fbe0 54 54 4f 4e 53 49 5a 45 2c 20 30 2c 20 28 4c 50  TTONSIZE, 0, (LP
2fbf0 41 52 41 4d 29 28 69 53 69 7a 65 29 29 0d 0a 0d  ARAM)(iSize))...
2fc00 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2fc10 47 4d 5f 47 45 54 42 55 54 54 4f 4e 53 49 5a 45  GM_GETBUTTONSIZE
2fc20 20 3d 20 50 47 4d 5f 46 49 52 53 54 20 2b 20 31   = PGM_FIRST + 1
2fc30 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  1 }..// #define 
2fc40 50 61 67 65 72 5f 47 65 74 42 75 74 74 6f 6e 53  Pager_GetButtonS
2fc50 69 7a 65 28 68 77 6e 64 29 20 28 69 6e 74 29 53  ize(hwnd) (int)S
2fc60 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47  NDMSG((hwnd), PG
2fc70 4d 5f 47 45 54 42 55 54 54 4f 4e 53 49 5a 45 2c  M_GETBUTTONSIZE,
2fc80 20 30 2c 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20   0,0)....enum : 
2fc90 75 69 6e 74 20 7b 20 50 47 4d 5f 47 45 54 42 55  uint { PGM_GETBU
2fca0 54 54 4f 4e 53 54 41 54 45 20 3d 20 50 47 4d 5f  TTONSTATE = PGM_
2fcb0 46 49 52 53 54 20 2b 20 31 32 20 7d 0d 0a 2f 2f  FIRST + 12 }..//
2fcc0 20 23 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47   #define Pager_G
2fcd0 65 74 42 75 74 74 6f 6e 53 74 61 74 65 28 68 77  etButtonState(hw
2fce0 6e 64 2c 20 69 42 75 74 74 6f 6e 29 20 28 44 57  nd, iButton) (DW
2fcf0 4f 52 44 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  ORD)SNDMSG((hwnd
2fd00 29 2c 20 50 47 4d 5f 47 45 54 42 55 54 54 4f 4e  ), PGM_GETBUTTON
2fd10 53 54 41 54 45 2c 20 30 2c 20 28 4c 50 41 52 41  STATE, 0, (LPARA
2fd20 4d 29 28 69 42 75 74 74 6f 6e 29 29 0d 0a 0d 0a  M)(iButton))....
2fd30 61 6c 69 61 73 20 43 43 4d 5f 47 45 54 44 52 4f  alias CCM_GETDRO
2fd40 50 54 41 52 47 45 54 20 50 47 4d 5f 47 45 54 44  PTARGET PGM_GETD
2fd50 52 4f 50 54 41 52 47 45 54 3b 0d 0a 2f 2f 20 23  ROPTARGET;..// #
2fd60 64 65 66 69 6e 65 20 50 61 67 65 72 5f 47 65 74  define Pager_Get
2fd70 44 72 6f 70 54 61 72 67 65 74 28 68 77 6e 64 2c  DropTarget(hwnd,
2fd80 20 70 70 64 74 29 20 28 76 6f 69 64 29 53 4e 44   ppdt) (void)SND
2fd90 4d 53 47 28 28 68 77 6e 64 29 2c 20 50 47 4d 5f  MSG((hwnd), PGM_
2fda0 47 45 54 44 52 4f 50 54 41 52 47 45 54 2c 20 30  GETDROPTARGET, 0
2fdb0 2c 20 28 4c 50 41 52 41 4d 29 28 70 70 64 74 29  , (LPARAM)(ppdt)
2fdc0 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  )....enum : uint
2fdd0 20 7b 20 50 47 4e 5f 53 43 52 4f 4c 4c 20 3d 20   { PGN_SCROLL = 
2fde0 50 47 4e 5f 46 49 52 53 54 2d 31 20 7d 0d 0a 0d  PGN_FIRST-1 }...
2fdf0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2fe00 47 46 5f 53 43 52 4f 4c 4c 55 50 20 3d 20 31 20  GF_SCROLLUP = 1 
2fe10 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2fe20 20 50 47 46 5f 53 43 52 4f 4c 4c 44 4f 57 4e 20   PGF_SCROLLDOWN 
2fe30 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
2fe40 6e 74 20 7b 20 50 47 46 5f 53 43 52 4f 4c 4c 4c  nt { PGF_SCROLLL
2fe50 45 46 54 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20  EFT = 4 }..enum 
2fe60 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f 53 43 52  : uint { PGF_SCR
2fe70 4f 4c 4c 52 49 47 48 54 20 3d 20 38 20 7d 0d 0a  OLLRIGHT = 8 }..
2fe80 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2fe90 50 47 4b 5f 53 48 49 46 54 20 3d 20 31 20 7d 0d  PGK_SHIFT = 1 }.
2fea0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2feb0 47 4b 5f 43 4f 4e 54 52 4f 4c 20 3d 20 32 20 7d  GK_CONTROL = 2 }
2fec0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2fed0 50 47 4b 5f 4d 45 4e 55 20 3d 20 34 20 7d 0d 0a  PGK_MENU = 4 }..
2fee0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
2fef0 33 32 0d 0a 61 6c 69 67 6e 28 31 29 3a 0d 0a 2f  32..align(1):../
2ff00 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75  / #endif....stru
2ff10 63 74 20 5f 31 36 20 7b 0d 0a 20 20 4e 4d 48 44  ct _16 {..  NMHD
2ff20 52 20 68 64 72 3b 0d 0a 20 20 57 4f 52 44 20 66  R hdr;..  WORD f
2ff30 77 4b 65 79 73 3b 0d 0a 20 20 52 45 43 54 20 72  wKeys;..  RECT r
2ff40 63 50 61 72 65 6e 74 3b 0d 0a 20 20 69 6e 74 20  cParent;..  int 
2ff50 69 44 69 72 3b 0d 0a 20 20 69 6e 74 20 69 58 70  iDir;..  int iXp
2ff60 6f 73 3b 0d 0a 20 20 69 6e 74 20 69 59 70 6f 73  os;..  int iYpos
2ff70 3b 0d 0a 20 20 69 6e 74 20 69 53 63 72 6f 6c 6c  ;..  int iScroll
2ff80 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 36 20  ;..}..alias _16 
2ff90 4e 4d 50 47 53 43 52 4f 4c 4c 3b 0d 0a 61 6c 69  NMPGSCROLL;..ali
2ffa0 61 73 20 5f 31 36 2a 20 4c 50 4e 4d 50 47 53 43  as _16* LPNMPGSC
2ffb0 52 4f 4c 4c 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  ROLL;....// #ifd
2ffc0 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 67 6e  ef _WIN32..align
2ffd0 3a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  :..// #endif....
2ffe0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47  enum : uint { PG
2fff0 4e 5f 43 41 4c 43 53 49 5a 45 20 3d 20 50 47 4e  N_CALCSIZE = PGN
30000 5f 46 49 52 53 54 2d 32 20 7d 0d 0a 0d 0a 65 6e  _FIRST-2 }....en
30010 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 46 5f  um : uint { PGF_
30020 43 41 4c 43 57 49 44 54 48 20 3d 20 31 20 7d 0d  CALCWIDTH = 1 }.
30030 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
30040 47 46 5f 43 41 4c 43 48 45 49 47 48 54 20 3d 20  GF_CALCHEIGHT = 
30050 32 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 31  2 }....struct _1
30060 37 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72  7 {..  NMHDR hdr
30070 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ;..  DWORD dwFla
30080 67 3b 0d 0a 20 20 69 6e 74 20 69 57 69 64 74 68  g;..  int iWidth
30090 3b 0d 0a 20 20 69 6e 74 20 69 48 65 69 67 68 74  ;..  int iHeight
300a0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 31 37 20  ;..}..alias _17 
300b0 4e 4d 50 47 43 41 4c 43 53 49 5a 45 3b 0d 0a 61  NMPGCALCSIZE;..a
300c0 6c 69 61 73 20 5f 31 37 2a 20 4c 50 4e 4d 50 47  lias _17* LPNMPG
300d0 43 41 4c 43 53 49 5a 45 3b 0d 0a 0d 0a 65 6e 75  CALCSIZE;....enu
300e0 6d 20 3a 20 75 69 6e 74 20 7b 20 50 47 4e 5f 48  m : uint { PGN_H
300f0 4f 54 49 54 45 4d 43 48 41 4e 47 45 20 3d 20 50  OTITEMCHANGE = P
30100 47 4e 5f 46 49 52 53 54 2d 33 20 7d 0d 0a 0d 0a  GN_FIRST-3 }....
30110 73 74 72 75 63 74 20 74 61 67 4e 4d 50 47 48 4f  struct tagNMPGHO
30120 54 49 54 45 4d 20 7b 0d 0a 20 20 4e 4d 48 44 52  TITEM {..  NMHDR
30130 20 68 64 72 3b 0d 0a 20 20 69 6e 74 20 69 64 4f   hdr;..  int idO
30140 6c 64 3b 0d 0a 20 20 69 6e 74 20 69 64 4e 65 77  ld;..  int idNew
30150 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61  ;..  DWORD dwFla
30160 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  gs;..}..alias ta
30170 67 4e 4d 50 47 48 4f 54 49 54 45 4d 20 4e 4d 50  gNMPGHOTITEM NMP
30180 47 48 4f 54 49 54 45 4d 3b 0d 0a 61 6c 69 61 73  GHOTITEM;..alias
30190 20 74 61 67 4e 4d 50 47 48 4f 54 49 54 45 4d 2a   tagNMPGHOTITEM*
301a0 20 4c 50 4e 4d 50 47 48 4f 54 49 54 45 4d 3b 0d   LPNMPGHOTITEM;.
301b0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
301c0 4e 4f 50 41 47 45 53 43 52 4f 4c 4c 45 52 0d 0a  NOPAGESCROLLER..
301d0 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 4e  ..// #ifndef NON
301e0 41 54 49 56 45 46 4f 4e 54 43 54 4c 0d 0a 0d 0a  ATIVEFONTCTL....
301f0 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43  const wchar[] WC
30200 5f 4e 41 54 49 56 45 46 4f 4e 54 43 54 4c 57 20  _NATIVEFONTCTLW 
30210 3d 20 22 4e 61 74 69 76 65 46 6f 6e 74 43 74 6c  = "NativeFontCtl
30220 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d  ";..const char[]
30230 20 57 43 5f 4e 41 54 49 56 45 46 4f 4e 54 43 54   WC_NATIVEFONTCT
30240 4c 41 20 3d 20 22 4e 61 74 69 76 65 46 6f 6e 74  LA = "NativeFont
30250 43 74 6c 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  Ctl";....// #ifd
30260 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
30270 73 20 57 43 5f 4e 41 54 49 56 45 46 4f 4e 54 43  s WC_NATIVEFONTC
30280 54 4c 57 20 57 43 5f 4e 41 54 49 56 45 46 4f 4e  TLW WC_NATIVEFON
30290 54 43 54 4c 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  TCTL;..// #else.
302a0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
302b0 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
302c0 6e 74 20 7b 20 4e 46 53 5f 45 44 49 54 20 3d 20  nt { NFS_EDIT = 
302d0 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0001 }..enum :
302e0 20 75 69 6e 74 20 7b 20 4e 46 53 5f 53 54 41 54   uint { NFS_STAT
302f0 49 43 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  IC = 0x0002 }..e
30300 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 46 53  num : uint { NFS
30310 5f 4c 49 53 54 43 4f 4d 42 4f 20 3d 20 30 78 30  _LISTCOMBO = 0x0
30320 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
30330 6e 74 20 7b 20 4e 46 53 5f 42 55 54 54 4f 4e 20  nt { NFS_BUTTON 
30340 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
30350 20 3a 20 75 69 6e 74 20 7b 20 4e 46 53 5f 41 4c   : uint { NFS_AL
30360 4c 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  L = 0x0010 }..en
30370 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 46 53 5f  um : uint { NFS_
30380 55 53 45 46 4f 4e 54 41 53 53 4f 43 20 3d 20 30  USEFONTASSOC = 0
30390 78 30 30 32 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65  x0020 }....// #e
303a0 6e 64 69 66 20 2f 2f 20 4e 4f 4e 41 54 49 56 45  ndif // NONATIVE
303b0 46 4f 4e 54 43 54 4c 0d 0a 0d 0a 2f 2f 20 23 69  FONTCTL....// #i
303c0 66 6e 64 65 66 20 4e 4f 42 55 54 54 4f 4e 0d 0a  fndef NOBUTTON..
303d0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
303e0 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72  32....const char
303f0 5b 5d 20 57 43 5f 42 55 54 54 4f 4e 41 20 3d 20  [] WC_BUTTONA = 
30400 22 42 75 74 74 6f 6e 22 3b 0d 0a 63 6f 6e 73 74  "Button";..const
30410 20 77 63 68 61 72 5b 5d 20 57 43 5f 42 55 54 54   wchar[] WC_BUTT
30420 4f 4e 57 20 3d 20 22 42 75 74 74 6f 6e 22 3b 0d  ONW = "Button";.
30430 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
30440 43 4f 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 42  CODE..alias WC_B
30450 55 54 54 4f 4e 57 20 57 43 5f 42 55 54 54 4f 4e  UTTONW WC_BUTTON
30460 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
30470 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
30480 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
30490 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  #.....// #endif.
304a0 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33  ...// #if (_WIN3
304b0 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31  2_WINNT >= 0x501
304c0 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  )..enum : uint {
304d0 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45 4c 49 53   BUTTON_IMAGELIS
304e0 54 5f 41 4c 49 47 4e 5f 4c 45 46 54 20 3d 20 30  T_ALIGN_LEFT = 0
304f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
30500 7b 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45 4c 49  { BUTTON_IMAGELI
30510 53 54 5f 41 4c 49 47 4e 5f 52 49 47 48 54 20 3d  ST_ALIGN_RIGHT =
30520 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
30530 74 20 7b 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45  t { BUTTON_IMAGE
30540 4c 49 53 54 5f 41 4c 49 47 4e 5f 54 4f 50 20 3d  LIST_ALIGN_TOP =
30550 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
30560 74 20 7b 20 42 55 54 54 4f 4e 5f 49 4d 41 47 45  t { BUTTON_IMAGE
30570 4c 49 53 54 5f 41 4c 49 47 4e 5f 42 4f 54 54 4f  LIST_ALIGN_BOTTO
30580 4d 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  M = 3 }..enum : 
30590 75 69 6e 74 20 7b 20 42 55 54 54 4f 4e 5f 49 4d  uint { BUTTON_IM
305a0 41 47 45 4c 49 53 54 5f 41 4c 49 47 4e 5f 43 45  AGELIST_ALIGN_CE
305b0 4e 54 45 52 20 3d 20 34 20 7d 0d 0a 0d 0a 73 74  NTER = 4 }....st
305c0 72 75 63 74 20 5f 31 38 20 7b 0d 0a 20 20 48 49  ruct _18 {..  HI
305d0 4d 41 47 45 4c 49 53 54 20 68 69 6d 6c 3b 0d 0a  MAGELIST himl;..
305e0 20 20 52 45 43 54 20 6d 61 72 67 69 6e 3b 0d 0a    RECT margin;..
305f0 20 20 55 49 4e 54 20 75 41 6c 69 67 6e 3b 0d 0a    UINT uAlign;..
30600 7d 0d 0a 61 6c 69 61 73 20 5f 31 38 20 42 55 54  }..alias _18 BUT
30610 54 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 3b 0d 0a  TON_IMAGELIST;..
30620 61 6c 69 61 73 20 5f 31 38 2a 20 50 42 55 54 54  alias _18* PBUTT
30630 4f 4e 5f 49 4d 41 47 45 4c 49 53 54 3b 0d 0a 0d  ON_IMAGELIST;...
30640 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42  .enum : uint { B
30650 43 4d 5f 47 45 54 49 44 45 41 4c 53 49 5a 45 20  CM_GETIDEALSIZE 
30660 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78  = BCM_FIRST + 0x
30670 30 30 30 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  0001 }..// #defi
30680 6e 65 20 42 75 74 74 6f 6e 5f 47 65 74 49 64 65  ne Button_GetIde
30690 61 6c 53 69 7a 65 28 68 77 6e 64 2c 20 70 73 69  alSize(hwnd, psi
306a0 7a 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47  ze) (BOOL)SNDMSG
306b0 28 28 68 77 6e 64 29 2c 20 42 43 4d 5f 47 45 54  ((hwnd), BCM_GET
306c0 49 44 45 41 4c 53 49 5a 45 2c 20 30 2c 20 28 4c  IDEALSIZE, 0, (L
306d0 50 41 52 41 4d 29 28 70 73 69 7a 65 29 29 0d 0a  PARAM)(psize))..
306e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
306f0 42 43 4d 5f 53 45 54 49 4d 41 47 45 4c 49 53 54  BCM_SETIMAGELIST
30700 20 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30   = BCM_FIRST + 0
30710 78 30 30 30 32 20 7d 0d 0a 2f 2f 20 23 64 65 66  x0002 }..// #def
30720 69 6e 65 20 42 75 74 74 6f 6e 5f 53 65 74 49 6d  ine Button_SetIm
30730 61 67 65 4c 69 73 74 28 68 77 6e 64 2c 20 70 62  ageList(hwnd, pb
30740 75 74 74 6f 6e 49 6d 61 67 65 6c 69 73 74 29 20  uttonImagelist) 
30750 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77  (BOOL)SNDMSG((hw
30760 6e 64 29 2c 20 42 43 4d 5f 53 45 54 49 4d 41 47  nd), BCM_SETIMAG
30770 45 4c 49 53 54 2c 20 30 2c 20 28 4c 50 41 52 41  ELIST, 0, (LPARA
30780 4d 29 28 70 62 75 74 74 6f 6e 49 6d 61 67 65 6c  M)(pbuttonImagel
30790 69 73 74 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ist))....enum : 
307a0 75 69 6e 74 20 7b 20 42 43 4d 5f 47 45 54 49 4d  uint { BCM_GETIM
307b0 41 47 45 4c 49 53 54 20 3d 20 42 43 4d 5f 46 49  AGELIST = BCM_FI
307c0 52 53 54 20 2b 20 30 78 30 30 30 33 20 7d 0d 0a  RST + 0x0003 }..
307d0 2f 2f 20 23 64 65 66 69 6e 65 20 42 75 74 74 6f  // #define Butto
307e0 6e 5f 47 65 74 49 6d 61 67 65 4c 69 73 74 28 68  n_GetImageList(h
307f0 77 6e 64 2c 20 70 62 75 74 74 6f 6e 49 6d 61 67  wnd, pbuttonImag
30800 65 6c 69 73 74 29 20 28 42 4f 4f 4c 29 53 4e 44  elist) (BOOL)SND
30810 4d 53 47 28 28 68 77 6e 64 29 2c 20 42 43 4d 5f  MSG((hwnd), BCM_
30820 47 45 54 49 4d 41 47 45 4c 49 53 54 2c 20 30 2c  GETIMAGELIST, 0,
30830 20 28 4c 50 41 52 41 4d 29 28 70 62 75 74 74 6f   (LPARAM)(pbutto
30840 6e 49 6d 61 67 65 6c 69 73 74 29 29 0d 0a 0d 0a  nImagelist))....
30850 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 43  enum : uint { BC
30860 4d 5f 53 45 54 54 45 58 54 4d 41 52 47 49 4e 20  M_SETTEXTMARGIN 
30870 3d 20 42 43 4d 5f 46 49 52 53 54 20 2b 20 30 78  = BCM_FIRST + 0x
30880 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 64 65 66 69  0004 }..// #defi
30890 6e 65 20 42 75 74 74 6f 6e 5f 53 65 74 54 65 78  ne Button_SetTex
308a0 74 4d 61 72 67 69 6e 28 68 77 6e 64 2c 20 70 6d  tMargin(hwnd, pm
308b0 61 72 67 69 6e 29 20 28 42 4f 4f 4c 29 53 4e 44  argin) (BOOL)SND
308c0 4d 53 47 28 28 68 77 6e 64 29 2c 20 42 43 4d 5f  MSG((hwnd), BCM_
308d0 53 45 54 54 45 58 54 4d 41 52 47 49 4e 2c 20 30  SETTEXTMARGIN, 0
308e0 2c 20 28 4c 50 41 52 41 4d 29 28 70 6d 61 72 67  , (LPARAM)(pmarg
308f0 69 6e 29 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  in))..enum : uin
30900 74 20 7b 20 42 43 4d 5f 47 45 54 54 45 58 54 4d  t { BCM_GETTEXTM
30910 41 52 47 49 4e 20 3d 20 42 43 4d 5f 46 49 52 53  ARGIN = BCM_FIRS
30920 54 20 2b 20 30 78 30 30 30 35 20 7d 0d 0a 2f 2f  T + 0x0005 }..//
30930 20 23 64 65 66 69 6e 65 20 42 75 74 74 6f 6e 5f   #define Button_
30940 47 65 74 54 65 78 74 4d 61 72 67 69 6e 28 68 77  GetTextMargin(hw
30950 6e 64 2c 20 70 6d 61 72 67 69 6e 29 20 28 42 4f  nd, pmargin) (BO
30960 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29  OL)SNDMSG((hwnd)
30970 2c 20 42 43 4d 5f 47 45 54 54 45 58 54 4d 41 52  , BCM_GETTEXTMAR
30980 47 49 4e 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29  GIN, 0, (LPARAM)
30990 28 70 6d 61 72 67 69 6e 29 29 0d 0a 0d 0a 73 74  (pmargin))....st
309a0 72 75 63 74 20 74 61 67 4e 4d 42 43 48 4f 54 49  ruct tagNMBCHOTI
309b0 54 45 4d 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68  TEM {..  NMHDR h
309c0 64 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  dr;..  DWORD dwF
309d0 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  lags;..}..alias 
309e0 74 61 67 4e 4d 42 43 48 4f 54 49 54 45 4d 20 4e  tagNMBCHOTITEM N
309f0 4d 42 43 48 4f 54 49 54 45 4d 3b 0d 0a 61 6c 69  MBCHOTITEM;..ali
30a00 61 73 20 74 61 67 4e 4d 42 43 48 4f 54 49 54 45  as tagNMBCHOTITE
30a10 4d 2a 20 4c 50 4e 4d 42 43 48 4f 54 49 54 45 4d  M* LPNMBCHOTITEM
30a20 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
30a30 20 7b 20 42 43 4e 5f 48 4f 54 49 54 45 4d 43 48   { BCN_HOTITEMCH
30a40 41 4e 47 45 20 3d 20 42 43 4e 5f 46 49 52 53 54  ANGE = BCN_FIRST
30a50 20 2b 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 65   + 0x0001 }....e
30a60 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 42 53 54  num : uint { BST
30a70 5f 48 4f 54 20 3d 20 30 78 30 32 30 30 20 7d 0d  _HOT = 0x0200 }.
30a80 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
30a90 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4e 4f 42  // #endif // NOB
30aa0 55 54 54 4f 4e 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  UTTON....// #ifn
30ab0 64 65 66 20 4e 4f 53 54 41 54 49 43 0d 0a 0d 0a  def NOSTATIC....
30ac0 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
30ad0 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d  ....const char[]
30ae0 20 57 43 5f 53 54 41 54 49 43 41 20 3d 20 22 53   WC_STATICA = "S
30af0 74 61 74 69 63 22 3b 0d 0a 63 6f 6e 73 74 20 77  tatic";..const w
30b00 63 68 61 72 5b 5d 20 57 43 5f 53 54 41 54 49 43  char[] WC_STATIC
30b10 57 20 3d 20 22 53 74 61 74 69 63 22 3b 0d 0a 0d  W = "Static";...
30b20 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
30b30 44 45 0d 0a 61 6c 69 61 73 20 57 43 5f 53 54 41  DE..alias WC_STA
30b40 54 49 43 57 20 57 43 5f 53 54 41 54 49 43 3b 0d  TICW WC_STATIC;.
30b50 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
30b60 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
30b70 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
30b80 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
30b90 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 4e 4f  .// #endif // NO
30ba0 53 54 41 54 49 43 0d 0a 0d 0a 2f 2f 20 23 69 66  STATIC....// #if
30bb0 6e 64 65 66 20 4e 4f 45 44 49 54 0d 0a 0d 0a 2f  ndef NOEDIT..../
30bc0 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
30bd0 0a 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20  ...const char[] 
30be0 57 43 5f 45 44 49 54 41 20 3d 20 22 45 64 69 74  WC_EDITA = "Edit
30bf0 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b  ";..const wchar[
30c00 5d 20 57 43 5f 45 44 49 54 57 20 3d 20 22 45 64  ] WC_EDITW = "Ed
30c10 69 74 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  it";....// #ifde
30c20 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
30c30 20 57 43 5f 45 44 49 54 57 20 57 43 5f 45 44 49   WC_EDITW WC_EDI
30c40 54 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  T;..// #else..//
30c50 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
30c60 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
30c70 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
30c80 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  ....// #if (_WIN
30c90 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
30ca0 31 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  1)..enum : uint 
30cb0 7b 20 45 4d 5f 53 45 54 43 55 45 42 41 4e 4e 45  { EM_SETCUEBANNE
30cc0 52 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20  R = ECM_FIRST + 
30cd0 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  1 }..// #define 
30ce0 45 64 69 74 5f 53 65 74 43 75 65 42 61 6e 6e 65  Edit_SetCueBanne
30cf0 72 54 65 78 74 28 68 77 6e 64 2c 20 6c 70 63 77  rText(hwnd, lpcw
30d00 54 65 78 74 29 20 28 42 4f 4f 4c 29 53 4e 44 4d  Text) (BOOL)SNDM
30d10 53 47 28 28 68 77 6e 64 29 2c 20 45 4d 5f 53 45  SG((hwnd), EM_SE
30d20 54 43 55 45 42 41 4e 4e 45 52 2c 20 30 2c 20 28  TCUEBANNER, 0, (
30d30 4c 50 41 52 41 4d 29 28 6c 70 63 77 54 65 78 74  LPARAM)(lpcwText
30d40 29 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ))..enum : uint 
30d50 7b 20 45 4d 5f 47 45 54 43 55 45 42 41 4e 4e 45  { EM_GETCUEBANNE
30d60 52 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20  R = ECM_FIRST + 
30d70 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  2 }..// #define 
30d80 45 64 69 74 5f 47 65 74 43 75 65 42 61 6e 6e 65  Edit_GetCueBanne
30d90 72 54 65 78 74 28 68 77 6e 64 2c 20 6c 70 77 54  rText(hwnd, lpwT
30da0 65 78 74 2c 20 63 63 68 54 65 78 74 29 20 28 42  ext, cchText) (B
30db0 4f 4f 4c 29 53 4e 44 4d 53 47 28 28 68 77 6e 64  OOL)SNDMSG((hwnd
30dc0 29 2c 20 45 4d 5f 47 45 54 43 55 45 42 41 4e 4e  ), EM_GETCUEBANN
30dd0 45 52 2c 20 28 57 50 41 52 41 4d 29 28 6c 70 77  ER, (WPARAM)(lpw
30de0 54 65 78 74 29 2c 20 28 4c 50 41 52 41 4d 29 28  Text), (LPARAM)(
30df0 63 63 68 54 65 78 74 29 29 0d 0a 0d 0a 73 74 72  cchText))....str
30e00 75 63 74 20 5f 74 61 67 45 44 49 54 42 41 4c 4c  uct _tagEDITBALL
30e10 4f 4f 4e 54 49 50 20 7b 0d 0a 20 20 44 57 4f 52  OONTIP {..  DWOR
30e20 44 20 63 62 53 74 72 75 63 74 3b 0d 0a 20 20 4c  D cbStruct;..  L
30e30 50 43 57 53 54 52 20 70 73 7a 54 69 74 6c 65 3b  PCWSTR pszTitle;
30e40 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 73 7a 54  ..  LPCWSTR pszT
30e50 65 78 74 3b 0d 0a 20 20 49 4e 54 20 74 74 69 49  ext;..  INT ttiI
30e60 63 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  con;..}..alias _
30e70 74 61 67 45 44 49 54 42 41 4c 4c 4f 4f 4e 54 49  tagEDITBALLOONTI
30e80 50 20 45 44 49 54 42 41 4c 4c 4f 4f 4e 54 49 50  P EDITBALLOONTIP
30e90 3b 0d 0a 61 6c 69 61 73 20 5f 74 61 67 45 44 49  ;..alias _tagEDI
30ea0 54 42 41 4c 4c 4f 4f 4e 54 49 50 2a 20 50 45 44  TBALLOONTIP* PED
30eb0 49 54 42 41 4c 4c 4f 4f 4e 54 49 50 3b 0d 0a 0d  ITBALLOONTIP;...
30ec0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
30ed0 4d 5f 53 48 4f 57 42 41 4c 4c 4f 4f 4e 54 49 50  M_SHOWBALLOONTIP
30ee0 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20 33   = ECM_FIRST + 3
30ef0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 45   }..// #define E
30f00 64 69 74 5f 53 68 6f 77 42 61 6c 6c 6f 6f 6e 54  dit_ShowBalloonT
30f10 69 70 28 68 77 6e 64 2c 20 70 65 64 69 74 62 61  ip(hwnd, peditba
30f20 6c 6c 6f 6f 6e 74 69 70 29 20 28 42 4f 4f 4c 29  lloontip) (BOOL)
30f30 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 45  SNDMSG((hwnd), E
30f40 4d 5f 53 48 4f 57 42 41 4c 4c 4f 4f 4e 54 49 50  M_SHOWBALLOONTIP
30f50 2c 20 30 2c 20 28 4c 50 41 52 41 4d 29 28 70 65  , 0, (LPARAM)(pe
30f60 64 69 74 62 61 6c 6c 6f 6f 6e 74 69 70 29 29 0d  ditballoontip)).
30f70 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
30f80 4d 5f 48 49 44 45 42 41 4c 4c 4f 4f 4e 54 49 50  M_HIDEBALLOONTIP
30f90 20 3d 20 45 43 4d 5f 46 49 52 53 54 20 2b 20 34   = ECM_FIRST + 4
30fa0 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 45   }..// #define E
30fb0 64 69 74 5f 48 69 64 65 42 61 6c 6c 6f 6f 6e 54  dit_HideBalloonT
30fc0 69 70 28 68 77 6e 64 29 20 28 42 4f 4f 4c 29 53  ip(hwnd) (BOOL)S
30fd0 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c 20 45 4d  NDMSG((hwnd), EM
30fe0 5f 48 49 44 45 42 41 4c 4c 4f 4f 4e 54 49 50 2c  _HIDEBALLOONTIP,
30ff0 20 30 2c 20 30 29 0d 0a 2f 2f 20 23 65 6e 64 69   0, 0)..// #endi
31000 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  f....// #endif /
31010 2f 20 4e 4f 45 44 49 54 0d 0a 0d 0a 2f 2f 20 23  / NOEDIT....// #
31020 69 66 6e 64 65 66 20 4e 4f 4c 49 53 54 42 4f 58  ifndef NOLISTBOX
31030 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
31040 49 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68  IN32....const ch
31050 61 72 5b 5d 20 57 43 5f 4c 49 53 54 42 4f 58 41  ar[] WC_LISTBOXA
31060 20 3d 20 22 4c 69 73 74 42 6f 78 22 3b 0d 0a 63   = "ListBox";..c
31070 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 57 43 5f  onst wchar[] WC_
31080 4c 49 53 54 42 4f 58 57 20 3d 20 22 4c 69 73 74  LISTBOXW = "List
31090 42 6f 78 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  Box";....// #ifd
310a0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
310b0 73 20 57 43 5f 4c 49 53 54 42 4f 58 57 20 57 43  s WC_LISTBOXW WC
310c0 5f 4c 49 53 54 42 4f 58 3b 0d 0a 2f 2f 20 23 65  _LISTBOX;..// #e
310d0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
310e0 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65   #endif....// #e
310f0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
31100 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65   #endif....// #e
31110 6e 64 69 66 20 2f 2f 20 4e 4f 4c 49 53 54 42 4f  ndif // NOLISTBO
31120 58 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  X....// #ifndef 
31130 4e 4f 43 4f 4d 42 4f 42 4f 58 0d 0a 0d 0a 2f 2f  NOCOMBOBOX....//
31140 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
31150 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 57  ..const char[] W
31160 43 5f 43 4f 4d 42 4f 42 4f 58 41 20 3d 20 22 43  C_COMBOBOXA = "C
31170 6f 6d 62 6f 42 6f 78 22 3b 0d 0a 63 6f 6e 73 74  omboBox";..const
31180 20 77 63 68 61 72 5b 5d 20 57 43 5f 43 4f 4d 42   wchar[] WC_COMB
31190 4f 42 4f 58 57 20 3d 20 22 43 6f 6d 62 6f 42 6f  OBOXW = "ComboBo
311a0 78 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  x";....// #ifdef
311b0 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
311c0 57 43 5f 43 4f 4d 42 4f 42 4f 58 57 20 57 43 5f  WC_COMBOBOXW WC_
311d0 43 4f 4d 42 4f 42 4f 58 3b 0d 0a 2f 2f 20 23 65  COMBOBOX;..// #e
311e0 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
311f0 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65   #endif....// #e
31200 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
31210 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65   #endif....// #e
31220 6e 64 69 66 20 2f 2f 20 4e 4f 43 4f 4d 42 4f 42  ndif // NOCOMBOB
31230 4f 58 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57  OX....// #if (_W
31240 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78  IN32_WINNT >= 0x
31250 35 30 31 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  501)....enum : u
31260 69 6e 74 20 7b 20 43 42 5f 53 45 54 4d 49 4e 56  int { CB_SETMINV
31270 49 53 49 42 4c 45 20 3d 20 43 42 4d 5f 46 49 52  ISIBLE = CBM_FIR
31280 53 54 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ST + 1 }..enum :
31290 20 75 69 6e 74 20 7b 20 43 42 5f 47 45 54 4d 49   uint { CB_GETMI
312a0 4e 56 49 53 49 42 4c 45 20 3d 20 43 42 4d 5f 46  NVISIBLE = CBM_F
312b0 49 52 53 54 20 2b 20 32 20 7d 0d 0a 0d 0a 2f 2f  IRST + 2 }....//
312c0 20 23 64 65 66 69 6e 65 20 43 6f 6d 62 6f 42 6f   #define ComboBo
312d0 78 5f 53 65 74 4d 69 6e 56 69 73 69 62 6c 65 28  x_SetMinVisible(
312e0 68 77 6e 64 2c 20 69 4d 69 6e 56 69 73 69 62 6c  hwnd, iMinVisibl
312f0 65 29 20 28 42 4f 4f 4c 29 53 4e 44 4d 53 47 28  e) (BOOL)SNDMSG(
31300 28 68 77 6e 64 29 2c 20 43 42 5f 53 45 54 4d 49  (hwnd), CB_SETMI
31310 4e 56 49 53 49 42 4c 45 2c 20 28 57 50 41 52 41  NVISIBLE, (WPARA
31320 4d 29 69 4d 69 6e 56 69 73 69 62 6c 65 2c 20 30  M)iMinVisible, 0
31330 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  )....// #define 
31340 43 6f 6d 62 6f 42 6f 78 5f 47 65 74 4d 69 6e 56  ComboBox_GetMinV
31350 69 73 69 62 6c 65 28 68 77 6e 64 29 20 28 69 6e  isible(hwnd) (in
31360 74 29 53 4e 44 4d 53 47 28 28 68 77 6e 64 29 2c  t)SNDMSG((hwnd),
31370 20 43 42 5f 47 45 54 4d 49 4e 56 49 53 49 42 4c   CB_GETMINVISIBL
31380 45 2c 20 30 2c 20 30 29 0d 0a 0d 0a 2f 2f 20 23  E, 0, 0)....// #
31390 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  endif....// #ifn
313a0 64 65 66 20 4e 4f 53 43 52 4f 4c 4c 42 41 52 0d  def NOSCROLLBAR.
313b0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
313c0 4e 33 32 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61  N32....const cha
313d0 72 5b 5d 20 57 43 5f 53 43 52 4f 4c 4c 42 41 52  r[] WC_SCROLLBAR
313e0 41 20 3d 20 22 53 63 72 6f 6c 6c 42 61 72 22 3b  A = "ScrollBar";
313f0 0d 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20  ..const wchar[] 
31400 57 43 5f 53 43 52 4f 4c 4c 42 41 52 57 20 3d 20  WC_SCROLLBARW = 
31410 22 53 63 72 6f 6c 6c 42 61 72 22 3b 0d 0a 0d 0a  "ScrollBar";....
31420 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
31430 45 0d 0a 61 6c 69 61 73 20 57 43 5f 53 43 52 4f  E..alias WC_SCRO
31440 4c 4c 42 41 52 57 20 57 43 5f 53 43 52 4f 4c 4c  LLBARW WC_SCROLL
31450 42 41 52 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  BAR;..// #else..
31460 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
31470 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  if....// #else..
31480 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
31490 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  if....// #endif 
314a0 2f 2f 20 4e 4f 53 43 52 4f 4c 4c 42 41 52 0d 0a  // NOSCROLLBAR..
314b0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
314c0 33 32 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e  32..// #if (_WIN
314d0 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30  32_WINNT >= 0x50
314e0 31 29 0d 0a 0d 0a 65 6e 75 6d 20 7b 20 49 4e 56  1)....enum { INV
314f0 41 4c 49 44 5f 4c 49 4e 4b 5f 49 4e 44 45 58 20  ALID_LINK_INDEX 
31500 3d 20 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = -1 }..enum : u
31510 69 6e 74 20 7b 20 4d 41 58 5f 4c 49 4e 4b 49 44  int { MAX_LINKID
31520 5f 54 45 58 54 20 3d 20 34 38 20 7d 0d 0a 65 6e  _TEXT = 48 }..en
31530 75 6d 20 7b 20 4c 5f 4d 41 58 5f 55 52 4c 5f 4c  um { L_MAX_URL_L
31540 45 4e 47 54 48 20 3d 20 32 30 34 38 20 2b 20 33  ENGTH = 2048 + 3
31550 32 20 2b 20 34 20 7d 0d 0a 0d 0a 63 6f 6e 73 74  2 + 4 }....const
31560 20 77 63 68 61 72 5b 5d 20 57 43 5f 4c 49 4e 4b   wchar[] WC_LINK
31570 20 3d 20 22 53 79 73 4c 69 6e 6b 22 3b 0d 0a 0d   = "SysLink";...
31580 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
31590 57 53 5f 54 52 41 4e 53 50 41 52 45 4e 54 20 3d  WS_TRANSPARENT =
315a0 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
315b0 3a 20 75 69 6e 74 20 7b 20 4c 57 53 5f 49 47 4e  : uint { LWS_IGN
315c0 4f 52 45 52 45 54 55 52 4e 20 3d 20 30 78 30 30  ORERETURN = 0x00
315d0 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  02 }....enum : u
315e0 69 6e 74 20 7b 20 4c 49 46 5f 49 54 45 4d 49 4e  int { LIF_ITEMIN
315f0 44 45 58 20 3d 20 30 78 30 30 30 30 30 30 30 31  DEX = 0x00000001
31600 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31610 7b 20 4c 49 46 5f 53 54 41 54 45 20 3d 20 30 78  { LIF_STATE = 0x
31620 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
31630 20 3a 20 75 69 6e 74 20 7b 20 4c 49 46 5f 49 54   : uint { LIF_IT
31640 45 4d 49 44 20 3d 20 30 78 30 30 30 30 30 30 30  EMID = 0x0000000
31650 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
31660 20 7b 20 4c 49 46 5f 55 52 4c 20 3d 20 30 78 30   { LIF_URL = 0x0
31670 30 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75  0000008 }....enu
31680 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 49 53 5f 46  m : uint { LIS_F
31690 4f 43 55 53 45 44 20 3d 20 30 78 30 30 30 30 30  OCUSED = 0x00000
316a0 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
316b0 6e 74 20 7b 20 4c 49 53 5f 45 4e 41 42 4c 45 44  nt { LIS_ENABLED
316c0 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
316d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c  .enum : uint { L
316e0 49 53 5f 56 49 53 49 54 45 44 20 3d 20 30 78 30  IS_VISITED = 0x0
316f0 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 73 74 72  0000004 }....str
31700 75 63 74 20 74 61 67 4c 49 54 45 4d 20 7b 0d 0a  uct tagLITEM {..
31710 20 20 55 49 4e 54 20 6d 61 73 6b 20 3b 0d 0a 20    UINT mask ;.. 
31720 20 69 6e 74 20 69 4c 69 6e 6b 20 3b 0d 0a 20 20   int iLink ;..  
31730 55 49 4e 54 20 73 74 61 74 65 20 3b 0d 0a 20 20  UINT state ;..  
31740 55 49 4e 54 20 73 74 61 74 65 4d 61 73 6b 20 3b  UINT stateMask ;
31750 0d 0a 20 20 57 43 48 41 52 20 73 7a 49 44 5b 4d  ..  WCHAR szID[M
31760 41 58 5f 4c 49 4e 4b 49 44 5f 54 45 58 54 5d 20  AX_LINKID_TEXT] 
31770 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 55 72 6c  ;..  WCHAR szUrl
31780 5b 4c 5f 4d 41 58 5f 55 52 4c 5f 4c 45 4e 47 54  [L_MAX_URL_LENGT
31790 48 5d 20 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  H] ;..}..alias t
317a0 61 67 4c 49 54 45 4d 20 4c 49 54 45 4d 3b 0d 0a  agLITEM LITEM;..
317b0 61 6c 69 61 73 20 74 61 67 4c 49 54 45 4d 2a 20  alias tagLITEM* 
317c0 50 4c 49 54 45 4d 3b 0d 0a 0d 0a 73 74 72 75 63  PLITEM;....struc
317d0 74 20 74 61 67 4c 48 49 54 54 45 53 54 49 4e 46  t tagLHITTESTINF
317e0 4f 20 7b 0d 0a 20 20 50 4f 49 4e 54 20 70 74 20  O {..  POINT pt 
317f0 3b 0d 0a 20 20 4c 49 54 45 4d 20 69 74 65 6d 20  ;..  LITEM item 
31800 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4c  ;..}..alias tagL
31810 48 49 54 54 45 53 54 49 4e 46 4f 20 4c 48 49 54  HITTESTINFO LHIT
31820 54 45 53 54 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73  TESTINFO;..alias
31830 20 74 61 67 4c 48 49 54 54 45 53 54 49 4e 46 4f   tagLHITTESTINFO
31840 2a 20 50 4c 48 49 54 54 45 53 54 49 4e 46 4f 3b  * PLHITTESTINFO;
31850 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4e 4d  ....struct tagNM
31860 4c 49 4e 4b 20 7b 0d 0a 20 20 4e 4d 48 44 52 20  LINK {..  NMHDR 
31870 68 64 72 3b 0d 0a 20 20 4c 49 54 45 4d 20 69 74  hdr;..  LITEM it
31880 65 6d 20 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  em ;..}..alias t
31890 61 67 4e 4d 4c 49 4e 4b 20 4e 4d 4c 49 4e 4b 3b  agNMLINK NMLINK;
318a0 0d 0a 61 6c 69 61 73 20 74 61 67 4e 4d 4c 49 4e  ..alias tagNMLIN
318b0 4b 2a 20 50 4e 4d 4c 49 4e 4b 3b 0d 0a 0d 0a 65  K* PNMLINK;....e
318c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 4d 5f  num : uint { LM_
318d0 48 49 54 54 45 53 54 20 3d 20 57 4d 5f 55 53 45  HITTEST = WM_USE
318e0 52 2b 30 78 33 30 30 20 7d 0d 0a 65 6e 75 6d 20  R+0x300 }..enum 
318f0 3a 20 75 69 6e 74 20 7b 20 4c 4d 5f 47 45 54 49  : uint { LM_GETI
31900 44 45 41 4c 48 45 49 47 48 54 20 3d 20 57 4d 5f  DEALHEIGHT = WM_
31910 55 53 45 52 2b 30 78 33 30 31 20 7d 0d 0a 65 6e  USER+0x301 }..en
31920 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4c 4d 5f 53  um : uint { LM_S
31930 45 54 49 54 45 4d 20 3d 20 57 4d 5f 55 53 45 52  ETITEM = WM_USER
31940 2b 30 78 33 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  +0x302 }..enum :
31950 20 75 69 6e 74 20 7b 20 4c 4d 5f 47 45 54 49 54   uint { LM_GETIT
31960 45 4d 20 3d 20 57 4d 5f 55 53 45 52 2b 30 78 33  EM = WM_USER+0x3
31970 30 33 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  03 }....// #endi
31980 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  f..// #endif // 
31990 5f 57 49 4e 33 32 0d 0a 0d 0a 2f 2f 20 23 69 66  _WIN32....// #if
319a0 6e 64 65 66 20 4e 4f 4d 55 49 0d 0a 65 78 74 65  ndef NOMUI..exte
319b0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
319c0 72 74 20 76 6f 69 64 20 49 6e 69 74 4d 55 49 4c  rt void InitMUIL
319d0 61 6e 67 75 61 67 65 28 4c 41 4e 47 49 44 20 75  anguage(LANGID u
319e0 69 4c 61 6e 67 29 3b 0d 0a 0d 0a 65 78 74 65 72  iLang);....exter
319f0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
31a00 74 20 4c 41 4e 47 49 44 20 47 65 74 4d 55 49 4c  t LANGID GetMUIL
31a10 61 6e 67 75 61 67 65 28 29 3b 0d 0a 2f 2f 20 23  anguage();..// #
31a20 65 6e 64 69 66 20 20 2f 2f 20 4e 4f 4d 55 49 0d  endif  // NOMUI.
31a30 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20  ...// #endif    
31a40 20 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e    // _WIN32_IE >
31a50 3d 20 30 78 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23  = 0x0400....// #
31a60 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a  ifdef _WIN32....
31a70 2f 2f 20 23 69 66 6e 64 65 66 20 4e 4f 54 52 41  // #ifndef NOTRA
31a80 43 4b 4d 4f 55 53 45 45 56 45 4e 54 0d 0a 0d 0a  CKMOUSEEVENT....
31a90 2f 2f 20 23 69 66 6e 64 65 66 20 57 4d 5f 4d 4f  // #ifndef WM_MO
31aa0 55 53 45 48 4f 56 45 52 0d 0a 2f 2f 20 23 2e 2e  USEHOVER..// #..
31ab0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
31ac0 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  endif....// #ifn
31ad0 64 65 66 20 54 4d 45 5f 48 4f 56 45 52 0d 0a 0d  def TME_HOVER...
31ae0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
31af0 4d 45 5f 48 4f 56 45 52 20 3d 20 30 78 30 30 30  ME_HOVER = 0x000
31b00 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
31b10 75 69 6e 74 20 7b 20 54 4d 45 5f 4c 45 41 56 45  uint { TME_LEAVE
31b20 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
31b30 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20  .// #if (WINVER 
31b40 3e 3d 20 30 78 30 35 30 30 29 0d 0a 65 6e 75 6d  >= 0x0500)..enum
31b50 20 3a 20 75 69 6e 74 20 7b 20 54 4d 45 5f 4e 4f   : uint { TME_NO
31b60 4e 43 4c 49 45 4e 54 20 3d 20 30 78 30 30 30 30  NCLIENT = 0x0000
31b70 30 30 31 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0010 }..// #endi
31b80 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30  f /* WINVER >= 0
31b90 78 30 35 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20 3a  x0500 */..enum :
31ba0 20 75 69 6e 74 20 7b 20 54 4d 45 5f 51 55 45 52   uint { TME_QUER
31bb0 59 20 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d  Y = 0x40000000 }
31bc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31bd0 54 4d 45 5f 43 41 4e 43 45 4c 20 3d 20 30 78 38  TME_CANCEL = 0x8
31be0 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000000 }....enu
31bf0 6d 20 3a 20 75 69 6e 74 20 7b 20 48 4f 56 45 52  m : uint { HOVER
31c00 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 46 46 46  _DEFAULT = 0xFFF
31c10 46 46 46 46 46 20 7d 0d 0a 0d 0a 73 74 72 75 63  FFFFF }....struc
31c20 74 20 74 61 67 54 52 41 43 4b 4d 4f 55 53 45 45  t tagTRACKMOUSEE
31c30 56 45 4e 54 20 7b 0d 0a 20 20 44 57 4f 52 44 20  VENT {..  DWORD 
31c40 63 62 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  cbSize;..  DWORD
31c50 20 64 77 46 6c 61 67 73 3b 0d 0a 20 20 48 57 4e   dwFlags;..  HWN
31c60 44 20 68 77 6e 64 54 72 61 63 6b 3b 0d 0a 20 20  D hwndTrack;..  
31c70 44 57 4f 52 44 20 64 77 48 6f 76 65 72 54 69 6d  DWORD dwHoverTim
31c80 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  e;..}..alias tag
31c90 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 20  TRACKMOUSEEVENT 
31ca0 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 3b  TRACKMOUSEEVENT;
31cb0 0d 0a 61 6c 69 61 73 20 74 61 67 54 52 41 43 4b  ..alias tagTRACK
31cc0 4d 4f 55 53 45 45 56 45 4e 54 2a 20 4c 50 54 52  MOUSEEVENT* LPTR
31cd0 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 3b 0d 0a  ACKMOUSEEVENT;..
31ce0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
31cf0 54 4d 45 5f 48 4f 56 45 52 0d 0a 0d 0a 65 78 74  TME_HOVER....ext
31d00 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
31d10 6f 72 74 20 42 4f 4f 4c 20 5f 54 72 61 63 6b 4d  ort BOOL _TrackM
31d20 6f 75 73 65 45 76 65 6e 74 28 0d 0a 20 20 4c 50  ouseEvent(..  LP
31d30 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e 54 20  TRACKMOUSEEVENT 
31d40 6c 70 45 76 65 6e 74 54 72 61 63 6b 29 3b 0d 0a  lpEventTrack);..
31d50 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
31d60 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e  NOTRACKMOUSEEVEN
31d70 54 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49  T....// #if (_WI
31d80 4e 33 32 5f 49 45 20 3e 3d 20 30 78 30 34 30 30  N32_IE >= 0x0400
31d90 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  )....// #ifndef 
31da0 4e 4f 46 4c 41 54 53 42 41 50 49 53 0d 0a 0d 0a  NOFLATSBAPIS....
31db0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 53  enum : uint { WS
31dc0 42 5f 50 52 4f 50 5f 43 59 56 53 43 52 4f 4c 4c  B_PROP_CYVSCROLL
31dd0 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
31de0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
31df0 53 42 5f 50 52 4f 50 5f 43 58 48 53 43 52 4f 4c  SB_PROP_CXHSCROL
31e00 4c 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  L = 0x00000002 }
31e10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31e20 57 53 42 5f 50 52 4f 50 5f 43 59 48 53 43 52 4f  WSB_PROP_CYHSCRO
31e30 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  LL = 0x00000004 
31e40 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
31e50 20 57 53 42 5f 50 52 4f 50 5f 43 58 56 53 43 52   WSB_PROP_CXVSCR
31e60 4f 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30 38  OLL = 0x00000008
31e70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31e80 7b 20 57 53 42 5f 50 52 4f 50 5f 43 58 48 54 48  { WSB_PROP_CXHTH
31e90 55 4d 42 20 3d 20 30 78 30 30 30 30 30 30 31 30  UMB = 0x00000010
31ea0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31eb0 7b 20 57 53 42 5f 50 52 4f 50 5f 43 59 56 54 48  { WSB_PROP_CYVTH
31ec0 55 4d 42 20 3d 20 30 78 30 30 30 30 30 30 32 30  UMB = 0x00000020
31ed0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31ee0 7b 20 57 53 42 5f 50 52 4f 50 5f 56 42 4b 47 43  { WSB_PROP_VBKGC
31ef0 4f 4c 4f 52 20 3d 20 30 78 30 30 30 30 30 30 34  OLOR = 0x0000004
31f00 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
31f10 20 7b 20 57 53 42 5f 50 52 4f 50 5f 48 42 4b 47   { WSB_PROP_HBKG
31f20 43 4f 4c 4f 52 20 3d 20 30 78 30 30 30 30 30 30  COLOR = 0x000000
31f30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
31f40 74 20 7b 20 57 53 42 5f 50 52 4f 50 5f 56 53 54  t { WSB_PROP_VST
31f50 59 4c 45 20 3d 20 30 78 30 30 30 30 30 31 30 30  YLE = 0x00000100
31f60 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
31f70 7b 20 57 53 42 5f 50 52 4f 50 5f 48 53 54 59 4c  { WSB_PROP_HSTYL
31f80 45 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d  E = 0x00000200 }
31f90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31fa0 57 53 42 5f 50 52 4f 50 5f 57 49 4e 53 54 59 4c  WSB_PROP_WINSTYL
31fb0 45 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d  E = 0x00000400 }
31fc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
31fd0 57 53 42 5f 50 52 4f 50 5f 50 41 4c 45 54 54 45  WSB_PROP_PALETTE
31fe0 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d   = 0x00000800 }.
31ff0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
32000 53 42 5f 50 52 4f 50 5f 4d 41 53 4b 20 3d 20 30  SB_PROP_MASK = 0
32010 78 30 30 30 30 30 46 46 46 20 7d 0d 0a 0d 0a 65  x00000FFF }....e
32020 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 53 42  num : uint { FSB
32030 5f 46 4c 41 54 5f 4d 4f 44 45 20 3d 20 32 20 7d  _FLAT_MODE = 2 }
32040 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
32050 46 53 42 5f 45 4e 43 41 52 54 41 5f 4d 4f 44 45  FSB_ENCARTA_MODE
32060 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
32070 69 6e 74 20 7b 20 46 53 42 5f 52 45 47 55 4c 41  int { FSB_REGULA
32080 52 5f 4d 4f 44 45 20 3d 20 30 20 7d 0d 0a 0d 0a  R_MODE = 0 }....
32090 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
320a0 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 6c 61 74  export BOOL Flat
320b0 53 42 5f 45 6e 61 62 6c 65 53 63 72 6f 6c 6c 42  SB_EnableScrollB
320c0 61 72 28 48 57 4e 44 2c 20 69 6e 74 2c 20 55 49  ar(HWND, int, UI
320d0 4e 54 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  NT);..extern(Win
320e0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
320f0 4c 20 46 6c 61 74 53 42 5f 53 68 6f 77 53 63 72  L FlatSB_ShowScr
32100 6f 6c 6c 42 61 72 28 48 57 4e 44 2c 20 69 6e 74  ollBar(HWND, int
32110 20 63 6f 64 65 2c 20 42 4f 4f 4c 29 3b 0d 0a 0d   code, BOOL);...
32120 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
32130 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 6c 61   export BOOL Fla
32140 74 53 42 5f 47 65 74 53 63 72 6f 6c 6c 52 61 6e  tSB_GetScrollRan
32150 67 65 28 48 57 4e 44 2c 20 69 6e 74 20 63 6f 64  ge(HWND, int cod
32160 65 2c 20 4c 50 49 4e 54 2c 20 4c 50 49 4e 54 29  e, LPINT, LPINT)
32170 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
32180 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46  s) export BOOL F
32190 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c 6c 49  latSB_GetScrollI
321a0 6e 66 6f 28 48 57 4e 44 2c 20 69 6e 74 20 63 6f  nfo(HWND, int co
321b0 64 65 2c 20 4c 50 53 43 52 4f 4c 4c 49 4e 46 4f  de, LPSCROLLINFO
321c0 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
321d0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69 6e 74  dows) export int
321e0 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72 6f 6c   FlatSB_GetScrol
321f0 6c 50 6f 73 28 48 57 4e 44 2c 20 69 6e 74 20 63  lPos(HWND, int c
32200 6f 64 65 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  ode);....extern(
32210 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
32220 42 4f 4f 4c 20 46 6c 61 74 53 42 5f 47 65 74 53  BOOL FlatSB_GetS
32230 63 72 6f 6c 6c 50 72 6f 70 28 48 57 4e 44 2c 20  crollProp(HWND, 
32240 69 6e 74 20 70 72 6f 70 49 6e 64 65 78 2c 20 4c  int propIndex, L
32250 50 49 4e 54 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  PINT);..// #ifde
32260 66 20 5f 57 49 4e 36 34 0d 0a 2f 2f 20 2e 2e 2e  f _WIN64..// ...
32270 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
32280 73 20 46 6c 61 74 53 42 5f 47 65 74 53 63 72 6f  s FlatSB_GetScro
32290 6c 6c 50 72 6f 70 20 46 6c 61 74 53 42 5f 47 65  llProp FlatSB_Ge
322a0 74 53 63 72 6f 6c 6c 50 72 6f 70 50 74 72 3b 0d  tScrollPropPtr;.
322b0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78  .// #endif....ex
322c0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
322d0 70 6f 72 74 20 69 6e 74 20 46 6c 61 74 53 42 5f  port int FlatSB_
322e0 53 65 74 53 63 72 6f 6c 6c 50 6f 73 28 48 57 4e  SetScrollPos(HWN
322f0 44 2c 20 69 6e 74 20 63 6f 64 65 2c 20 69 6e 74  D, int code, int
32300 20 70 6f 73 2c 20 42 4f 4f 4c 20 66 52 65 64 72   pos, BOOL fRedr
32310 61 77 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  aw);....extern(W
32320 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
32330 6e 74 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72  nt FlatSB_SetScr
32340 6f 6c 6c 49 6e 66 6f 28 48 57 4e 44 2c 20 69 6e  ollInfo(HWND, in
32350 74 20 63 6f 64 65 2c 20 4c 50 53 43 52 4f 4c 4c  t code, LPSCROLL
32360 49 4e 46 4f 2c 20 42 4f 4f 4c 20 66 52 65 64 72  INFO, BOOL fRedr
32370 61 77 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  aw);....extern(W
32380 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 69  indows) export i
32390 6e 74 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72  nt FlatSB_SetScr
323a0 6f 6c 6c 52 61 6e 67 65 28 48 57 4e 44 2c 20 69  ollRange(HWND, i
323b0 6e 74 20 63 6f 64 65 2c 20 69 6e 74 20 6d 69 6e  nt code, int min
323c0 2c 20 69 6e 74 20 6d 61 78 2c 20 42 4f 4f 4c 20  , int max, BOOL 
323d0 66 52 65 64 72 61 77 29 3b 0d 0a 65 78 74 65 72  fRedraw);..exter
323e0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
323f0 74 20 42 4f 4f 4c 20 46 6c 61 74 53 42 5f 53 65  t BOOL FlatSB_Se
32400 74 53 63 72 6f 6c 6c 50 72 6f 70 28 48 57 4e 44  tScrollProp(HWND
32410 2c 20 55 49 4e 54 20 69 6e 64 65 78 2c 20 49 4e  , UINT index, IN
32420 54 5f 50 54 52 20 6e 65 77 56 61 6c 75 65 2c 20  T_PTR newValue, 
32430 42 4f 4f 4c 29 3b 0d 0a 61 6c 69 61 73 20 46 6c  BOOL);..alias Fl
32440 61 74 53 42 5f 53 65 74 53 63 72 6f 6c 6c 50 72  atSB_SetScrollPr
32450 6f 70 20 46 6c 61 74 53 42 5f 53 65 74 53 63 72  op FlatSB_SetScr
32460 6f 6c 6c 50 72 6f 70 50 74 72 3b 0d 0a 0d 0a 65  ollPropPtr;....e
32470 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
32480 78 70 6f 72 74 20 42 4f 4f 4c 20 49 6e 69 74 69  xport BOOL Initi
32490 61 6c 69 7a 65 46 6c 61 74 53 42 28 48 57 4e 44  alizeFlatSB(HWND
324a0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
324b0 77 73 29 20 65 78 70 6f 72 74 20 48 52 45 53 55  ws) export HRESU
324c0 4c 54 20 55 6e 69 6e 69 74 69 61 6c 69 7a 65 46  LT UninitializeF
324d0 6c 61 74 53 42 28 48 57 4e 44 29 3b 0d 0a 0d 0a  latSB(HWND);....
324e0 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 20 4e  // #endif  //  N
324f0 4f 46 4c 41 54 53 42 41 50 49 53 0d 0a 0d 0a 2f  OFLATSBAPIS..../
32500 2f 20 23 65 6e 64 69 66 20 20 20 20 20 20 2f 2f  / #endif      //
32510 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78   _WIN32_IE >= 0x
32520 30 34 30 30 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  0400....// #endi
32530 66 20 2f 2a 20 5f 57 49 4e 33 32 20 2a 2f 0d 0a  f /* _WIN32 */..
32540 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 20 20 20  ..// #endif     
32550 20 2f 2f 20 5f 57 49 4e 33 32 5f 49 45 20 3e 3d   // _WIN32_IE >=
32560 20 30 78 30 33 30 30 0d 0a 0d 0a 2f 2f 20 23 69   0x0300....// #i
32570 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20  f (_WIN32_WINNT 
32580 3e 3d 20 30 78 35 30 31 29 0d 0a 0d 0a 65 78 74  >= 0x501)....ext
32590 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
325a0 61 73 20 4c 52 45 53 55 4c 54 20 66 75 6e 63 74  as LRESULT funct
325b0 69 6f 6e 28 48 57 4e 44 20 68 57 6e 64 2c 20 55  ion(HWND hWnd, U
325c0 49 4e 54 20 75 4d 73 67 2c 20 57 50 41 52 41 4d  INT uMsg, WPARAM
325d0 20 77 50 61 72 61 6d 2c 20 4c 50 41 52 41 4d 20   wParam, LPARAM 
325e0 6c 50 61 72 61 6d 2c 20 55 49 4e 54 5f 50 54 52  lParam, UINT_PTR
325f0 20 75 49 64 53 75 62 63 6c 61 73 73 2c 20 44 57   uIdSubclass, DW
32600 4f 52 44 5f 50 54 52 20 64 77 52 65 66 44 61 74  ORD_PTR dwRefDat
32610 61 29 20 53 55 42 43 4c 41 53 53 50 52 4f 43 3b  a) SUBCLASSPROC;
32620 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
32630 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
32640 53 65 74 57 69 6e 64 6f 77 53 75 62 63 6c 61 73  SetWindowSubclas
32650 73 28 48 57 4e 44 20 68 57 6e 64 2c 20 53 55 42  s(HWND hWnd, SUB
32660 43 4c 41 53 53 50 52 4f 43 20 70 66 6e 53 75 62  CLASSPROC pfnSub
32670 63 6c 61 73 73 2c 20 55 49 4e 54 5f 50 54 52 20  class, UINT_PTR 
32680 75 49 64 53 75 62 63 6c 61 73 73 2c 0d 0a 20 20  uIdSubclass,..  
32690 44 57 4f 52 44 5f 50 54 52 20 64 77 52 65 66 44  DWORD_PTR dwRefD
326a0 61 74 61 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ata);..extern(Wi
326b0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
326c0 4f 4c 20 47 65 74 57 69 6e 64 6f 77 53 75 62 63  OL GetWindowSubc
326d0 6c 61 73 73 28 48 57 4e 44 20 68 57 6e 64 2c 20  lass(HWND hWnd, 
326e0 53 55 42 43 4c 41 53 53 50 52 4f 43 20 70 66 6e  SUBCLASSPROC pfn
326f0 53 75 62 63 6c 61 73 73 2c 20 55 49 4e 54 5f 50  Subclass, UINT_P
32700 54 52 20 75 49 64 53 75 62 63 6c 61 73 73 2c 0d  TR uIdSubclass,.
32710 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 2a 70 64  .  DWORD_PTR *pd
32720 77 52 65 66 44 61 74 61 29 3b 0d 0a 65 78 74 65  wRefData);..exte
32730 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
32740 72 74 20 42 4f 4f 4c 20 52 65 6d 6f 76 65 57 69  rt BOOL RemoveWi
32750 6e 64 6f 77 53 75 62 63 6c 61 73 73 28 48 57 4e  ndowSubclass(HWN
32760 44 20 68 57 6e 64 2c 20 53 55 42 43 4c 41 53 53  D hWnd, SUBCLASS
32770 50 52 4f 43 20 70 66 6e 53 75 62 63 6c 61 73 73  PROC pfnSubclass
32780 2c 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75 49  ,..  UINT_PTR uI
32790 64 53 75 62 63 6c 61 73 73 29 3b 0d 0a 0d 0a 65  dSubclass);....e
327a0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
327b0 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20 44 65  xport LRESULT De
327c0 66 53 75 62 63 6c 61 73 73 50 72 6f 63 28 48 57  fSubclassProc(HW
327d0 4e 44 20 68 57 6e 64 2c 20 55 49 4e 54 20 75 4d  ND hWnd, UINT uM
327e0 73 67 2c 20 57 50 41 52 41 4d 20 77 50 61 72 61  sg, WPARAM wPara
327f0 6d 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  m, LPARAM lParam
32800 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  );..// #endif...
32810 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f  .// #if (_WIN32_
32820 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 0d  WINNT >= 0x501).
32830 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
32840 73 29 20 65 78 70 6f 72 74 20 69 6e 74 20 44 72  s) export int Dr
32850 61 77 53 68 61 64 6f 77 54 65 78 74 28 48 44 43  awShadowText(HDC
32860 20 68 64 63 2c 20 4c 50 43 57 53 54 52 20 70 73   hdc, LPCWSTR ps
32870 7a 54 65 78 74 2c 20 55 49 4e 54 20 63 63 68 2c  zText, UINT cch,
32880 20 52 45 43 54 2a 20 70 72 63 2c 20 44 57 4f 52   RECT* prc, DWOR
32890 44 20 64 77 46 6c 61 67 73 2c 20 43 4f 4c 4f 52  D dwFlags, COLOR
328a0 52 45 46 20 63 72 54 65 78 74 2c 20 43 4f 4c 4f  REF crText, COLO
328b0 52 52 45 46 20 63 72 53 68 61 64 6f 77 2c 0d 0a  RREF crShadow,..
328c0 20 20 69 6e 74 20 69 78 4f 66 66 73 65 74 2c 20    int ixOffset, 
328d0 69 6e 74 20 69 79 4f 66 66 73 65 74 29 3b 0d 0a  int iyOffset);..
328e0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
328f0 23 69 66 20 21 64 65 66 69 6e 65 64 28 52 43 5f  #if !defined(RC_
32900 49 4e 56 4f 4b 45 44 29 20 2f 2a 20 52 43 20 63  INVOKED) /* RC c
32910 6f 6d 70 6c 61 69 6e 73 20 61 62 6f 75 74 20 6c  omplains about l
32920 6f 6e 67 20 73 79 6d 62 6f 6c 73 20 69 6e 20 23  ong symbols in #
32930 69 66 73 20 2a 2f 0d 0a 2f 2f 20 23 69 66 20 49  ifs */..// #if I
32940 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45 5f 45  SOLATION_AWARE_E
32950 4e 41 42 4c 45 44 0d 0a 0d 0a 2f 2f 20 23 69 66  NABLED....// #if
32960 20 21 64 65 66 69 6e 65 64 28 49 53 4f 4c 41 54   !defined(ISOLAT
32970 49 4f 4e 5f 41 57 41 52 45 5f 49 4e 4c 49 4e 45  ION_AWARE_INLINE
32980 29 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e 65  )..// #if define
32990 64 28 5f 5f 63 70 6c 75 73 70 6c 75 73 29 0d 0a  d(__cplusplus)..
329a0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
329b0 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
329c0 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
329d0 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
329e0 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 64 65 66   .....// #if def
329f0 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d 5f 49  ined(__IStream_I
32a00 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e 45 44  NTERFACE_DEFINED
32a10 5f 5f 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  __)..// .....// 
32a20 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 49 53  #if defined(__IS
32a30 74 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45 5f  tream_INTERFACE_
32a40 44 45 46 49 4e 45 44 5f 5f 29 20 26 26 20 20 28  DEFINED__) &&  (
32a50 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
32a60 30 78 30 35 30 31 29 0d 0a 2f 2f 20 2e 2e 2e 0d  0x0501)..// ....
32a70 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 64 65  .// #endif /* de
32a80 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d 5f  fined(__IStream_
32a90 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e 45  INTERFACE_DEFINE
32aa0 44 5f 5f 29 20 26 26 20 20 28 5f 57 49 4e 33 32  D__) &&  (_WIN32
32ab0 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 31  _WINNT >= 0x0501
32ac0 29 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ) */..// #endif 
32ad0 2f 2a 20 64 65 66 69 6e 65 64 28 5f 5f 49 53 74  /* defined(__ISt
32ae0 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45 5f 44  ream_INTERFACE_D
32af0 45 46 49 4e 45 44 5f 5f 29 20 2a 2f 0d 0a 2f 2f  EFINED__) */..//
32b00 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 21 64 65   .....// #if !de
32b10 66 69 6e 65 64 28 4e 4f 54 52 41 43 4b 4d 4f 55  fined(NOTRACKMOU
32b20 53 45 45 56 45 4e 54 29 0d 0a 2f 2f 20 2e 2e 2e  SEEVENT)..// ...
32b30 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 21  ..// #endif /* !
32b40 64 65 66 69 6e 65 64 28 4e 4f 54 52 41 43 4b 4d  defined(NOTRACKM
32b50 4f 55 53 45 45 56 45 4e 54 29 20 2a 2f 0d 0a 2f  OUSEEVENT) */../
32b60 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 28 5f  / .....// #if (_
32b70 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 36  WIN32_IE >= 0x56
32b80 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  0)..// .....// #
32b90 65 6e 64 69 66 20 2f 2a 20 28 5f 57 49 4e 33 32  endif /* (_WIN32
32ba0 5f 49 45 20 3e 3d 20 30 78 35 36 30 29 20 2a 2f  _IE >= 0x560) */
32bb0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23  ..// .......// #
32bc0 69 66 20 64 65 66 69 6e 65 64 28 55 4e 49 43 4f  if defined(UNICO
32bd0 44 45 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  DE)....// #.....
32be0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
32bf0 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f 2a 20  ....// #else /* 
32c00 55 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a 2f 2f  UNICODE */....//
32c10 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
32c20 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65  // #.......// #e
32c30 6e 64 69 66 20 2f 2a 20 55 4e 49 43 4f 44 45 20  ndif /* UNICODE 
32c40 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  */....// .......
32c50 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
32c60 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
32c70 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
32c80 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
32c90 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
32ca0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
32cb0 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
32cc0 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
32cd0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
32ce0 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
32cf0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
32d00 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
32d10 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
32d20 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
32d30 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
32d40 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
32d50 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
32d60 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64   .......// #if d
32d70 65 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61 6d  efined(__IStream
32d80 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49 4e  _INTERFACE_DEFIN
32d90 45 44 5f 5f 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  ED__)....// ....
32da0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
32db0 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 49 53  #if defined(__IS
32dc0 74 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45 5f  tream_INTERFACE_
32dd0 44 45 46 49 4e 45 44 5f 5f 29 20 26 26 20 20 28  DEFINED__) &&  (
32de0 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20  _WIN32_WINNT >= 
32df0 30 78 30 35 30 31 29 0d 0a 0d 0a 2f 2f 20 2e 2e  0x0501)....// ..
32e00 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f  .....// ......./
32e10 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
32e20 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
32e30 64 65 66 69 6e 65 64 28 5f 5f 49 53 74 72 65 61  defined(__IStrea
32e40 6d 5f 49 4e 54 45 52 46 41 43 45 5f 44 45 46 49  m_INTERFACE_DEFI
32e50 4e 45 44 5f 5f 29 20 26 26 20 20 28 5f 57 49 4e  NED__) &&  (_WIN
32e60 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35  32_WINNT >= 0x05
32e70 30 31 29 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  01) */..// #endi
32e80 66 20 2f 2a 20 64 65 66 69 6e 65 64 28 5f 5f 49  f /* defined(__I
32e90 53 74 72 65 61 6d 5f 49 4e 54 45 52 46 41 43 45  Stream_INTERFACE
32ea0 5f 44 45 46 49 4e 45 44 5f 5f 29 20 2a 2f 0d 0a  _DEFINED__) */..
32eb0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
32ec0 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
32ed0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
32ee0 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
32ef0 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
32f00 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
32f10 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
32f20 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e  // .......// ...
32f30 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
32f40 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
32f50 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
32f60 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
32f70 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66  // .......// #if
32f80 20 21 64 65 66 69 6e 65 64 28 4e 4f 54 52 41 43   !defined(NOTRAC
32f90 4b 4d 4f 55 53 45 45 56 45 4e 54 29 0d 0a 0d 0a  KMOUSEEVENT)....
32fa0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e  // .......// #en
32fb0 64 69 66 20 2f 2a 20 21 64 65 66 69 6e 65 64 28  dif /* !defined(
32fc0 4e 4f 54 52 41 43 4b 4d 4f 55 53 45 45 56 45 4e  NOTRACKMOUSEEVEN
32fd0 54 29 20 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  T) */....// ....
32fe0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
32ff0 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d  .......// ......
33000 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e  .// .......// ..
33010 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  .....// .....// 
33020 23 69 66 20 64 65 66 69 6e 65 64 28 5f 57 49 4e  #if defined(_WIN
33030 36 34 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  64)..// .....// 
33040 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
33050 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 2e 2e 2e  / #endif..// ...
33060 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f  ....// .......//
33070 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   .......// .....
33080 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e  ..// .......// .
33090 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a  ......// .......
330a0 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 69 66  // .......// #if
330b0 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30   (_WIN32_IE >= 0
330c0 78 35 36 30 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  x560)....// ....
330d0 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
330e0 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  .......// #endif
330f0 20 2f 2a 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e   /* (_WIN32_IE >
33100 3d 20 30 78 35 36 30 29 20 2a 2f 0d 0a 0d 0a 2f  = 0x560) */..../
33110 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d  / .......// ....
33120 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20  ...// .......// 
33130 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
33140 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
33150 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
33160 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
33170 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
33180 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
33190 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
331a0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 69  ..// #.....// #i
331b0 66 20 64 65 66 69 6e 65 64 28 46 6c 61 74 53 42  f defined(FlatSB
331c0 5f 47 65 74 53 63 72 6f 6c 6c 50 72 6f 70 50 74  _GetScrollPropPt
331d0 72 29 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  r)..// #.....// 
331e0 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 2e 2e 2e 0d  #endif..// #....
331f0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
33200 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
33210 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
33220 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
33230 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
33240 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
33250 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
33260 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
33270 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
33280 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
33290 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
332a0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
332b0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
332c0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
332d0 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
332e0 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
332f0 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
33300 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
33310 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
33320 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
33330 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
33340 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
33350 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
33360 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
33370 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
33380 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
33390 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
333a0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
333b0 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
333c0 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
333d0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
333e0 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
333f0 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
33400 20 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45   ISOLATION_AWARE
33410 5f 45 4e 41 42 4c 45 44 20 2a 2f 0d 0a 2f 2f 20  _ENABLED */..// 
33420 23 65 6e 64 69 66 20 2f 2a 20 52 43 20 2a 2f 0d  #endif /* RC */.
33430 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63  ...// #ifdef __c
33440 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a  plusplus..// }..
33450 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
33460 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
33470 64 69 66 20 20 2f 2f 20 5f 49 4e 43 5f 43 4f 4d  dif  // _INC_COM
33480 4d 43 54 52 4c 0d 0a 0d 0a                       MCTRL....