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