// ------------------------------------------------------------------- //
//        COMMCTRL.H-- для Sphinx C-- (COMCTL32.DLL)                   //
//        Основан на COMMCTRL.H и PRSHT.H из C++ Builder               //
//        Предложения и плевки отправляйте на hd_keeper@mail.ru        //
// ------------------------------------------------------------------- //

// Описание констант

#define WC_HEADER               "SysHeader32"
#define WC_LISTVIEW             "SysListView32"
#define WC_TREEVIEW             "SysTreeView32"
#define WC_COMBOBOXEX           "ComboBoxEx32"
#define WC_TABCONTROL           "SysTabControl32"
#define WC_IPADDRESS            "SysIPAddress32"
#define WC_PAGESCROLLER         "SysPager"
#define WC_NATIVEFONTCTL        "NativeFontCtl"
#define TOOLTIPS_CLASS          "tooltips_class32"
#define TRACKBAR_CLASS          "msctls_trackbar32"
#define UPDOWN_CLASS            "msctls_updown32"
#define PROGRESS_CLASS          "msctls_progress32"
#define HOTKEY_CLASS            "msctls_hotkey32"
#define ANIMATE_CLASS           "SysAnimate32"
#define MONTHCAL_CLASS          "SysMonthCal32"
#define DATETIMEPICK_CLASS      "SysDateTimePick32"
#define TOOLBARCLASSNAME        "ToolbarWindow32"
#define REBARCLASSNAME          "ReBarWindow32"
#define STATUSCLASSNAME         "msctls_statusbar32"

#define PSP_DEFAULT                0x00000000
#define PSP_DLGINDIRECT            0x00000001
#define PSP_USEHICON               0x00000002
#define PSP_USEICONID              0x00000004
#define PSP_USETITLE               0x00000008
#define PSP_RTLREADING             0x00000010
#define PSP_HASHELP                0x00000020
#define PSP_USEREFPARENT           0x00000040
#define PSP_USECALLBACK            0x00000080
#define PSP_PREMATURE              0x00000400
#define PSP_HIDEHEADER             0x00000800
#define PSP_USEHEADERTITLE         0x00001000
#define PSP_USEHEADERSUBTITLE      0x00002000

#define PSH_DEFAULT             0x00000000
#define PSH_PROPTITLE           0x00000001
#define PSH_USEHICON            0x00000002
#define PSH_USEICONID           0x00000004
#define PSH_PROPSHEETPAGE       0x00000008
#define PSH_WIZARDHASFINISH     0x00000010
#define PSH_WIZARD              0x00000020
#define PSH_USEPSTARTPAGE       0x00000040
#define PSH_NOAPPLYNOW          0x00000080
#define PSH_USECALLBACK         0x00000100
#define PSH_HASHELP             0x00000200
#define PSH_MODELESS            0x00000400
#define PSH_RTLREADING          0x00000800
#define PSH_WIZARDCONTEXTHELP   0x00001000
#define PSH_WIZARD97            0x00002000
#define PSH_WATERMARK           0x00008000
#define PSH_USEHBMWATERMARK     0x00010000
#define PSH_USEHPLWATERMARK     0x00020000
#define PSH_STRETCHWATERMARK    0x00040000
#define PSH_HEADER              0x00080000
#define PSH_USEHBMHEADER        0x00100000
#define PSH_USEPAGELANG         0x00200000

#define PSCB_INITIALIZED  1
#define PSCB_PRECREATE    2

#define PSN_FIRST              -200
#define PSN_LAST               -299
#define PSN_SETACTIVE           PSN_FIRST
#define PSN_KILLACTIVE          PSN_FIRST-1
#define PSN_APPLY               PSN_FIRST-2
#define PSN_RESET               PSN_FIRST-3
#define PSN_HELP                PSN_FIRST-5
#define PSN_WIZBACK             PSN_FIRST-6
#define PSN_WIZNEXT             PSN_FIRST-7
#define PSN_WIZFINISH           PSN_FIRST-8
#define PSN_QUERYCANCEL         PSN_FIRST-9
#define PSN_GETOBJECT           PSN_FIRST-10

#define PSM_SETCURSEL           WM_USER+101
#define PSM_REMOVEPAGE          WM_USER+102
#define PSM_ADDPAGE             WM_USER+103
#define PSM_CHANGED             WM_USER+104
#define PSM_RESTARTWINDOWS      WM_USER+105
#define PSM_REBOOTSYSTEM        WM_USER+106
#define PSM_CANCELTOCLOSE       WM_USER+107
#define PSM_QUERYSIBLINGS       WM_USER+108
#define PSM_UNCHANGED           WM_USER+109
#define PSM_APPLY               WM_USER+110
#define PSM_SETTITLE            WM_USER+111
#define PSM_SETWIZBUTTONS       WM_USER+112
#define PSM_PRESSBUTTON         WM_USER+113
#define PSM_SETCURSELID         WM_USER+114
#define PSM_SETFINISHTEXT       WM_USER+115
#define PSM_GETTABCONTROL       WM_USER+116
#define PSM_ISDIALOGMESSAGE     WM_USER+117
#define PSM_GETCURRENTPAGEHWND  WM_USER+118

#define PSNRET_NOERROR              0
#define PSNRET_INVALID              1
#define PSNRET_INVALID_NOCHANGEPAGE 2

#define PSWIZB_BACK             0x00000001
#define PSWIZB_NEXT             0x00000002
#define PSWIZB_FINISH           0x00000004
#define PSWIZB_DISABLEDFINISH   0x00000008

#define PSBTN_BACK              0
#define PSBTN_NEXT              1
#define PSBTN_FINISH            2
#define PSBTN_OK                3
#define PSBTN_APPLYNOW          4
#define PSBTN_CANCEL            5
#define PSBTN_HELP              6
#define PSBTN_MAX               6
#define ID_PSRESTARTWINDOWS     2
#define ID_PSREBOOTSYSTEM       3
#define WIZ_CXDLG               276
#define WIZ_CYDLG               140
#define WIZ_CXBMP               80
#define WIZ_BODYX               92
#define WIZ_BODYCX              184
#define PROP_SM_CXDLG           212
#define PROP_SM_CYDLG           188
#define PROP_MED_CXDLG          227
#define PROP_MED_CYDLG          215
#define PROP_LG_CXDLG           252
#define PROP_LG_CYDLG           218

#define ODT_HEADER              100
#define ODT_TAB                 101
#define ODT_LISTVIEW            102

#define LVM_FIRST               0x1000
#define TV_FIRST                0x1100
#define HDM_FIRST               0x1200
#define TCM_FIRST               0x1300
#define PGM_FIRST               0x1400
#define CCM_FIRST               0x2000
#define NM_FIRST                0
#define NM_LAST                -99
#define LVN_FIRST              -100
#define LVN_LAST               -199
#define HDN_FIRST              -300
#define HDN_LAST               -399
#define TVN_FIRST              -400
#define TVN_LAST               -499
#define TTN_FIRST              -520
#define TTN_LAST               -549
#define TCN_FIRST              -550
#define TCN_LAST               -580
#define TBN_FIRST              -700
#define TBN_LAST               -720
#define UDN_FIRST              -721
#define UDN_LAST               -740
#define MCN_FIRST              -750
#define MCN_LAST               -759
#define DTN_FIRST              -760
#define DTN_LAST               -799
#define CBEN_FIRST             -800
#define CBEN_LAST              -830
#define RBN_FIRST              -831
#define RBN_LAST               -859
#define IPN_FIRST              -860
#define IPN_LAST               -879
#define SBN_FIRST              -880
#define SBN_LAST               -899
#define PGN_FIRST              -900
#define PGN_LAST               -950

#define CCM_SETBKCOLOR          CCM_FIRST+1
#define CCM_SETCOLORSCHEME      CCM_FIRST+2
#define CCM_GETCOLORSCHEME      CCM_FIRST+3
#define CCM_GETDROPTARGET       CCM_FIRST+4
#define CCM_SETUNICODEFORMAT    CCM_FIRST+5
#define CCM_GETUNICODEFORMAT    CCM_FIRST+6

#define NM_OUTOFMEMORY          NM_FIRST-1
#define NM_CLICK                NM_FIRST-2
#define NM_DBLCLK               NM_FIRST-3
#define NM_RETURN               NM_FIRST-4
#define NM_RCLICK               NM_FIRST-5
#define NM_RDBLCLK              NM_FIRST-6
#define NM_SETFOCUS             NM_FIRST-7
#define NM_KILLFOCUS            NM_FIRST-8
#define NM_CUSTOMDRAW           NM_FIRST-12
#define NM_HOVER                NM_FIRST-13
#define NM_NCHITTEST            NM_FIRST-14
#define NM_KEYDOWN              NM_FIRST-15
#define NM_RELEASEDCAPTURE      NM_FIRST-16
#define NM_SETCURSOR            NM_FIRST-17
#define NM_CHAR                 NM_FIRST-18

#define CLR_NONE                0xFFFFFFFF
#define CLR_DEFAULT             0xFF000000
#define CLR_HILIGHT             CLR_DEFAULT

#define ILC_MASK                0x0001
#define ILC_COLOR               0x0000
#define ILC_COLORDDB            0x00FE
#define ILC_COLOR4              0x0004
#define ILC_COLOR8              0x0008
#define ILC_COLOR16             0x0010
#define ILC_COLOR24             0x0018
#define ILC_COLOR32             0x0020
#define ILC_PALETTE             0x0800

#define ILD_NORMAL              0x0000
#define ILD_TRANSPARENT         0x0001
#define ILD_MASK                0x0010
#define ILD_IMAGE               0x0020
#define ILD_ROP                 0x0040
#define ILD_BLEND25             0x0002
#define ILD_BLEND50             0x0004
#define ILD_OVERLAYMASK         0x0F00
#define ILD_SELECTED            ILD_BLEND50
#define ILD_FOCUS               ILD_BLEND25
#define ILD_BLEND               ILD_BLEND50

#define HDS_HORZ                0x0000
#define HDS_BUTTONS             0x0002
#define HDS_HOTTRACK            0x0004
#define HDS_HIDDEN              0x0008
#define HDS_DRAGDROP            0x0040
#define HDS_FULLDRAG            0x0080

#define HDI_WIDTH               0x0001
#define HDI_HEIGHT              HDI_WIDTH
#define HDI_TEXT                0x0002
#define HDI_FORMAT              0x0004
#define HDI_LPARAM              0x0008
#define HDI_BITMAP              0x0010
#define HDI_IMAGE               0x0020
#define HDI_DI_SETITEM          0x0040
#define HDI_ORDER               0x0080

#define HDF_LEFT                0
#define HDF_RIGHT               1
#define HDF_CENTER              2
#define HDF_JUSTIFYMASK         0x0003
#define HDF_RTLREADING          4
#define HDF_OWNERDRAW           0x8000
#define HDF_STRING              0x4000
#define HDF_BITMAP              0x2000
#define HDF_BITMAP_ON_RIGHT     0x1000
#define HDF_IMAGE               0x0800

#define HDM_GETITEMCOUNT        HDM_FIRST
#define HDM_INSERTITEM          HDM_FIRST+1
#define HDM_DELETEITEM          HDM_FIRST+2
#define HDM_GETITEM             HDM_FIRST+3
#define HDM_SETITEM             HDM_FIRST+4
#define HDM_LAYOUT              HDM_FIRST+5
#define HDM_HITTEST             HDM_FIRST+6
#define HDM_GETITEMRECT         HDM_FIRST+7
#define HDM_SETIMAGELIST        HDM_FIRST+8
#define HDM_GETIMAGELIST        HDM_FIRST+9
#define HDM_ORDERTOINDEX        HDM_FIRST+15
#define HDM_CREATEDRAGIMAGE     HDM_FIRST+16
#define HDM_GETORDERARRAY       HDM_FIRST+17
#define HDM_SETORDERARRAY       HDM_FIRST+18
#define HDM_SETHOTDIVIDER       HDM_FIRST+19

#define HHT_NOWHERE             0x0001
#define HHT_ONHEADER            0x0002
#define HHT_ONDIVIDER           0x0004
#define HHT_ONDIVOPEN           0x0008
#define HHT_ABOVE               0x0100
#define HHT_BELOW               0x0200
#define HHT_TORIGHT             0x0400
#define HHT_TOLEFT              0x0800

#define HDN_ITEMCHANGING        HDN_FIRST-0
#define HDN_ITEMCHANGED         HDN_FIRST-1
#define HDN_ITEMCLICK           HDN_FIRST-2
#define HDN_ITEMDBLCLICK        HDN_FIRST-3
#define HDN_DIVIDERDBLCLICK     HDN_FIRST-5
#define HDN_BEGINTRACK          HDN_FIRST-6
#define HDN_ENDTRACK            HDN_FIRST-7
#define HDN_TRACK               HDN_FIRST-8
#define HDN_GETDISPINFO         HDN_FIRST-9
#define HDN_BEGINDRAG           HDN_FIRST-10
#define HDN_ENDDRAG             HDN_FIRST-11

#define CMB_MASKED              0x02
#define TBSTATE_CHECKED         0x01
#define TBSTATE_PRESSED         0x02
#define TBSTATE_ENABLED         0x04
#define TBSTATE_HIDDEN          0x08
#define TBSTATE_INDETERMINATE   0x10
#define TBSTATE_WRAP            0x20
#define TBSTATE_ELLIPSES        0x40
#define TBSTATE_MARKED          0x80

#define TBSTYLE_BUTTON          0x0000
#define TBSTYLE_SEP             0x0001
#define TBSTYLE_CHECK           0x0002
#define TBSTYLE_GROUP           0x0004
#define TBSTYLE_CHECKGROUP      TBSTYLE_GROUP|TBSTYLE_CHECK
#define TBSTYLE_DROPDOWN        0x0008
#define TBSTYLE_AUTOSIZE        0x0010
#define TBSTYLE_NOPREFIX        0x0020
#define TBSTYLE_TOOLTIPS        0x0100
#define TBSTYLE_WRAPABLE        0x0200
#define TBSTYLE_ALTDRAG         0x0400
#define TBSTYLE_FLAT            0x0800
#define TBSTYLE_LIST            0x1000
#define TBSTYLE_CUSTOMERASE     0x2000
#define TBSTYLE_REGISTERDROP    0x4000
#define TBSTYLE_TRANSPARENT     0x8000
#define TBSTYLE_EX_DRAWDDARROWS 0x0001

#define TB_ENABLEBUTTON         WM_USER+1
#define TB_CHECKBUTTON          WM_USER+2
#define TB_PRESSBUTTON          WM_USER+3
#define TB_HIDEBUTTON           WM_USER+4
#define TB_INDETERMINATE        WM_USER+5
#define TB_MARKBUTTON           WM_USER+6
#define TB_ISBUTTONENABLED      WM_USER+9
#define TB_ISBUTTONCHECKED      WM_USER+10
#define TB_ISBUTTONPRESSED      WM_USER+11
#define TB_ISBUTTONHIDDEN       WM_USER+12
#define TB_ISBUTTONINDETERMINATE WM_USER+13
#define TB_ISBUTTONHIGHLIGHTED  WM_USER+14
#define TB_SETSTATE             WM_USER+17
#define TB_GETSTATE             WM_USER+18
#define TB_ADDBITMAP            WM_USER+19
#define TB_ADDBUTTONS           WM_USER+20
#define TB_INSERTBUTTON         WM_USER+21
#define TB_DELETEBUTTON         WM_USER+22
#define TB_GETBUTTON            WM_USER+23
#define TB_BUTTONCOUNT          WM_USER+24
#define TB_COMMANDTOINDEX       WM_USER+25
#define TB_SAVERESTORE          WM_USER+26
#define TB_CUSTOMIZE            WM_USER+27
#define TB_ADDSTRINGA           WM_USER+28
#define TB_ADDSTRINGW           WM_USER+77
#define TB_GETITEMRECT          WM_USER+29
#define TB_BUTTONSTRUCTSIZE     WM_USER+30
#define TB_SETBUTTONSIZE        WM_USER+31
#define TB_SETBITMAPSIZE        WM_USER+32
#define TB_AUTOSIZE             WM_USER+33
#define TB_GETTOOLTIPS          WM_USER+35
#define TB_SETTOOLTIPS          WM_USER+36
#define TB_SETPARENT            WM_USER+37
#define TB_SETROWS              WM_USER+39
#define TB_GETROWS              WM_USER+40
#define TB_GETBITMAPFLAGS       WM_USER+41
#define TB_SETCMDID             WM_USER+42
#define TB_CHANGEBITMAP         WM_USER+43
#define TB_GETBITMAP            WM_USER+44
#define TB_GETBUTTONTEXT        WM_USER+45
#define TB_REPLACEBITMAP        WM_USER+46
#define TB_SETINDENT            WM_USER+47
#define TB_SETIMAGELIST         WM_USER+48
#define TB_GETIMAGELIST         WM_USER+49
#define TB_LOADIMAGES           WM_USER+50
#define TB_GETRECT              WM_USER+51
#define TB_SETHOTIMAGELIST      WM_USER+52
#define TB_GETHOTIMAGELIST      WM_USER+53
#define TB_SETDISABLEDIMAGELIST WM_USER+54
#define TB_GETDISABLEDIMAGELIST WM_USER+55
#define TB_SETSTYLE             WM_USER+56
#define TB_GETSTYLE             WM_USER+57
#define TB_GETBUTTONSIZE        WM_USER+58
#define TB_SETBUTTONWIDTH       WM_USER+59
#define TB_SETMAXTEXTROWS       WM_USER+60
#define TB_GETTEXTROWS          WM_USER+61
#define TB_GETOBJECT            WM_USER+62
#define TB_GETHOTITEM           WM_USER+71
#define TB_SETHOTITEM           WM_USER+72
#define TB_SETANCHORHIGHLIGHT   WM_USER+73
#define TB_GETANCHORHIGHLIGHT   WM_USER+74
#define TB_MAPACCELERATOR       WM_USER+78
#define TB_GETINSERTMARK        WM_USER+79
#define TB_SETINSERTMARK        WM_USER+80
#define TB_INSERTMARKHITTEST    WM_USER+81
#define TB_MOVEBUTTON           WM_USER+82
#define TB_GETMAXSIZE           WM_USER+83
#define TB_SETEXTENDEDSTYLE     WM_USER+84
#define TB_GETEXTENDEDSTYLE     WM_USER+85
#define TB_GETPADDING           WM_USER+86
#define TB_SETPADDING           WM_USER+87
#define TB_SETINSERTMARKCOLOR   WM_USER+88
#define TB_GETINSERTMARKCOLOR   WM_USER+89
#define TB_SETCOLORSCHEME       CCM_SETCOLORSCHEME
#define TB_GETCOLORSCHEME       CCM_GETCOLORSCHEME
#define TB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
#define TB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT

#define HINST_COMMCTRL         -1
#define IDB_STD_SMALL_COLOR     0
#define IDB_STD_LARGE_COLOR     1
#define IDB_VIEW_SMALL_COLOR    4
#define IDB_VIEW_LARGE_COLOR    5
#define IDB_HIST_SMALL_COLOR    8
#define IDB_HIST_LARGE_COLOR    9

#define STD_CUT                 0
#define STD_COPY                1
#define STD_PASTE               2
#define STD_UNDO                3
#define STD_REDOW               4
#define STD_DELETE              5
#define STD_FILENEW             6
#define STD_FILEOPEN            7
#define STD_FILESAVE            8
#define STD_PRINTPRE            9
#define STD_PROPERTIES          10
#define STD_HELP                11
#define STD_FIND                12
#define STD_REPLACE             13
#define STD_PRINT               14

#define VIEW_LARGEICONS         0
#define VIEW_SMALLICONS         1
#define VIEW_LIST               2
#define VIEW_DETAILS            3
#define VIEW_SORTNAME           4
#define VIEW_SORTSIZE           5
#define VIEW_SORTDATE           6
#define VIEW_SORTTYPE           7
#define VIEW_PARENTFOLDER       8
#define VIEW_NETCONNECT         9
#define VIEW_NETDISCONNECT      10
#define VIEW_NEWFOLDER          11
#define VIEW_VIEWMENU           12

#define HIST_BACK               0
#define HIST_FORWARD            1
#define HIST_FAVORITES          2
#define HIST_ADDTOFAVORITES     3
#define HIST_VIEWTREE           4

#define TBIMHT_AFTER      0x00000001
#define TBIMHT_BACKGROUND 0x00000002

#define TBBF_LARGE              0x0001

#define TBN_GETBUTTONINFO       TBN_FIRST
#define TBN_BEGINDRAG           TBN_FIRST-1
#define TBN_ENDDRAG             TBN_FIRST-2
#define TBN_BEGINADJUST         TBN_FIRST-3
#define TBN_ENDADJUST           TBN_FIRST-4
#define TBN_RESET               TBN_FIRST-5
#define TBN_QUERYINSERT         TBN_FIRST-6
#define TBN_QUERYDELETE         TBN_FIRST-7
#define TBN_TOOLBARCHANGE       TBN_FIRST-8
#define TBN_CUSTHELP            TBN_FIRST-9
#define TBN_DROPDOWN            TBN_FIRST-10
#define TBN_GETOBJECT           TBN_FIRST-12
#define TBN_HOTITEMCHANGE       TBN_FIRST-13
#define TBN_DRAGOUT             TBN_FIRST-14
#define TBN_DELETINGBUTTON      TBN_FIRST-15
#define TBN_GETDISPINFO         TBN_FIRST-16
#define TBN_GETINFOTIP          TBN_FIRST-18

#define TTS_ALWAYSTIP           0x01

#define TTS_NOPREFIX            0x02
#define TTF_IDISHWND            0x0001
#define TTF_CENTERTIP           0x0002
#define TTF_RTLREADING          0x0004
#define TTF_SUBCLASS            0x0010
#define TTF_TRACK               0x0020
#define TTF_ABSOLUTE            0x0080
#define TTF_TRANSPARENT         0x0100
#define TTF_DI_SETITEM          0x8000

#define TTDT_AUTOMATIC          0
#define TTDT_RESHOW             1
#define TTDT_AUTOPOP            2
#define TTDT_INITIAL            3

#define TTM_ACTIVATE            WM_USER+1
#define TTM_SETDELAYTIME        WM_USER+3
#define TTM_ADDTOOL             WM_USER+4
#define TTM_DELTOOL             WM_USER+5
#define TTM_NEWTOOLRECT         WM_USER+6
#define TTM_RELAYEVENT          WM_USER+7
#define TTM_GETTOOLINFO         WM_USER+8
#define TTM_SETTOOLINFO         WM_USER+9
#define TTM_HITTEST             WM_USER+10
#define TTM_GETTEXT             WM_USER+11
#define TTM_UPDATETIPTEXT       WM_USER+12
#define TTM_GETTOOLCOUNT        WM_USER+13
#define TTM_ENUMTOOLSA          WM_USER+14
#define TTM_GETCURRENTTOOL      WM_USER+15
#define TTM_WINDOWFROMPOINT     WM_USER+16
#define TTM_TRACKACTIVATE       WM_USER+17
#define TTM_TRACKPOSITION       WM_USER+18
#define TTM_SETTIPBKCOLOR       WM_USER+19
#define TTM_SETTIPTEXTCOLOR     WM_USER+20
#define TTM_GETDELAYTIME        WM_USER+21
#define TTM_GETTIPBKCOLOR       WM_USER+22
#define TTM_GETTIPTEXTCOLOR     WM_USER+23
#define TTM_SETMAXTIPWIDTH      WM_USER+24
#define TTM_GETMAXTIPWIDTH      WM_USER+25
#define TTM_SETMARGIN           WM_USER+26
#define TTM_GETMARGIN           WM_USER+27
#define TTM_POP                 WM_USER+28
#define TTM_UPDATE              WM_USER+29

#define TTN_GETDISPINFOA        TTN_FIRST
#define TTN_SHOW                TTN_FIRST-1
#define TTN_POP                 TTN_FIRST-2
#define TTN_NEEDTEXT            TTN_GETDISPINFO

#define SBARS_SIZEGRIP          0x0100
#define SBN_SIMPLEMODECHANGE    SBN_FIRST

#define SB_SETTEXT              WM_USER+1
#define SB_GETTEXT              WM_USER+2
#define SB_GETTEXTLENGTH        WM_USER+3
#define SB_SETPARTS             WM_USER+4
#define SB_GETPARTS             WM_USER+6
#define SB_GETBORDERS           WM_USER+7
#define SB_SETMINHEIGHT         WM_USER+8
#define SB_SIMPLE               WM_USER+9
#define SB_GETRECT              WM_USER+10
#define SB_ISSIMPLE             WM_USER+14
#define SB_SETICON              WM_USER+15
#define SB_SETTIPTEXT           WM_USER+16
#define SB_GETTIPTEXT           WM_USER+18
#define SB_GETICON              WM_USER+20
#define SB_SETUNICODEFORMAT     CCM_SETUNICODEFORMAT
#define SB_GETUNICODEFORMAT     CCM_GETUNICODEFORMAT
#define SB_SETBKCOLOR           CCM_SETBKCOLOR

#define SBT_OWNERDRAW            0x1000
#define SBT_NOBORDERS            0x0100
#define SBT_POPOUT               0x0200
#define SBT_RTLREADING           0x0400
#define SBT_TOOLTIPS             0x0800

#define TBS_AUTOTICKS           0x0001
#define TBS_VERT                0x0002
#define TBS_HORZ                0x0000
#define TBS_TOP                 0x0004
#define TBS_BOTTOM              0x0000
#define TBS_LEFT                0x0004
#define TBS_RIGHT               0x0000
#define TBS_BOTH                0x0008
#define TBS_NOTICKS             0x0010
#define TBS_ENABLESELRANGE      0x0020
#define TBS_FIXEDLENGTH         0x0040
#define TBS_NOTHUMB             0x0080
#define TBS_TOOLTIPS            0x0100

#define TBM_GETPOS              WM_USER
#define TBM_GETRANGEMIN         WM_USER+1
#define TBM_GETRANGEMAX         WM_USER+2
#define TBM_GETTIC              WM_USER+3
#define TBM_SETTIC              WM_USER+4
#define TBM_SETPOS              WM_USER+5
#define TBM_SETRANGE            WM_USER+6
#define TBM_SETRANGEMIN         WM_USER+7
#define TBM_SETRANGEMAX         WM_USER+8
#define TBM_CLEARTICS           WM_USER+9
#define TBM_SETSEL              WM_USER+10
#define TBM_SETSELSTART         WM_USER+11
#define TBM_SETSELEND           WM_USER+12
#define TBM_GETPTICS            WM_USER+14
#define TBM_GETTICPOS           WM_USER+15
#define TBM_GETNUMTICS          WM_USER+16
#define TBM_GETSELSTART         WM_USER+17
#define TBM_GETSELEND           WM_USER+18
#define TBM_CLEARSEL            WM_USER+19
#define TBM_SETTICFREQ          WM_USER+20
#define TBM_SETPAGESIZE         WM_USER+21
#define TBM_GETPAGESIZE         WM_USER+22
#define TBM_SETLINESIZE         WM_USER+23
#define TBM_GETLINESIZE         WM_USER+24
#define TBM_GETTHUMBRECT        WM_USER+25
#define TBM_GETCHANNELRECT      WM_USER+26
#define TBM_SETTHUMBLENGTH      WM_USER+27
#define TBM_GETTHUMBLENGTH      WM_USER+28
#define TBM_SETTOOLTIPS         WM_USER+29
#define TBM_GETTOOLTIPS         WM_USER+30
#define TBM_SETTIPSIDE          WM_USER+31
#define TBM_SETBUDDY            WM_USER+32
#define TBM_GETBUDDY            WM_USER+33
#define TBM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
#define TBM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT

#define TB_LINEUP               0
#define TB_LINEDOWN             1
#define TB_PAGEUP               2
#define TB_PAGEDOWN             3
#define TB_THUMBPOSITION        4
#define TB_THUMBTRACK           5
#define TB_TOP                  6
#define TB_BOTTOM               7
#define TB_ENDTRACK             8

#define DL_BEGINDRAG            WM_USER+133
#define DL_DRAGGING             WM_USER+134
#define DL_DROPPED              WM_USER+135
#define DL_CANCELDRAG           WM_USER+136
#define DL_CURSORSET            0
#define DL_STOPCURSOR           1
#define DL_COPYCURSOR           2
#define DL_MOVECURSOR           3

#define UD_MAXVAL               0x7fff
#define UD_MINVAL              -UD_MAXVAL

#define UDS_WRAP                0x0001
#define UDS_SETBUDDYINT         0x0002
#define UDS_ALIGNRIGHT          0x0004
#define UDS_ALIGNLEFT           0x0008
#define UDS_AUTOBUDDY           0x0010
#define UDS_ARROWKEYS           0x0020
#define UDS_HORZ                0x0040
#define UDS_NOTHOUSANDS         0x0080
#define UDS_HOTTRACK            0x0100

#define UDM_SETRANGE            WM_USER+101
#define UDM_GETRANGE            WM_USER+102
#define UDM_SETPOS              WM_USER+103
#define UDM_GETPOS              WM_USER+104
#define UDM_SETBUDDY            WM_USER+105
#define UDM_GETBUDDY            WM_USER+106
#define UDM_SETACCEL            WM_USER+107
#define UDM_GETACCEL            WM_USER+108
#define UDM_SETBASE             WM_USER+109
#define UDM_GETBASE             WM_USER+110
#define UDM_SETRANGE32          WM_USER+111
#define UDM_GETRANGE32          WM_USER+112
#define UDM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
#define UDM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT

#define PBS_SMOOTH              0x01
#define PBS_VERTICAL            0x04

#define PBM_SETRANGE            WM_USER+1
#define PBM_SETPOS              WM_USER+2
#define PBM_DELTAPOS            WM_USER+3
#define PBM_SETSTEP             WM_USER+4
#define PBM_STEPIT              WM_USER+5
#define PBM_SETRANGE32          WM_USER+6
#define PBM_GETRANGE            WM_USER+7
#define PBM_GETPOS              WM_USER+8
#define PBM_SETBARCOLOR         WM_USER+9
#define PBM_SETBKCOLOR          CCM_SETBKCOLOR

#define HOTKEYF_SHIFT           0x01
#define HOTKEYF_CONTROL         0x02
#define HOTKEYF_ALT             0x04
#define HOTKEYF_EXT             0x08
#define HKCOMB_NONE             0x0001
#define HKCOMB_S                0x0002
#define HKCOMB_C                0x0004
#define HKCOMB_A                0x0008
#define HKCOMB_SC               0x0010
#define HKCOMB_SA               0x0020
#define HKCOMB_CA               0x0040
#define HKCOMB_SCA              0x0080

#define HKM_SETHOTKEY           WM_USER+1
#define HKM_GETHOTKEY           WM_USER+2
#define HKM_SETRULES            WM_USER+3

#define CCS_TOP                 0x00000001
#define CCS_NOMOVEY             0x00000002
#define CCS_BOTTOM              0x00000003
#define CCS_NORESIZE            0x00000004
#define CCS_NOPARENTALIGN       0x00000008
#define CCS_ADJUSTABLE          0x00000020
#define CCS_NODIVIDER           0x00000040
#define CCS_VERT                0x00000080
#define CCS_LEFT                CCS_VERT|CCS_TOP
#define CCS_RIGHT               CCS_VERT|CCS_BOTTOM
#define CCS_NOMOVEX             CCS_VERT|CCS_NOMOVEY

#define LVS_ICON                0x0000
#define LVS_REPORT              0x0001
#define LVS_SMALLICON           0x0002
#define LVS_LIST                0x0003
#define LVS_TYPEMASK            0x0003
#define LVS_SINGLESEL           0x0004
#define LVS_SHOWSELALWAYS       0x0008
#define LVS_SORTASCENDING       0x0010
#define LVS_SORTDESCENDING      0x0020
#define LVS_SHAREIMAGELISTS     0x0040
#define LVS_NOLABELWRAP         0x0080
#define LVS_AUTOARRANGE         0x0100
#define LVS_EDITLABELS          0x0200
#define LVS_OWNERDATA           0x1000
#define LVS_NOSCROLL            0x2000
#define LVS_TYPESTYLEMASK       0xfc00
#define LVS_ALIGNTOP            0x0000
#define LVS_ALIGNLEFT           0x0800
#define LVS_ALIGNMASK           0x0c00
#define LVS_OWNERDRAWFIXED      0x0400
#define LVS_NOCOLUMNHEADER      0x4000
#define LVS_NOSORTHEADER        0x8000

#define LVIF_TEXT               0x0001
#define LVIF_IMAGE              0x0002
#define LVIF_PARAM              0x0004
#define LVIF_STATE              0x0008
#define LVIF_INDENT             0x0010
#define LVIF_NORECOMPUTE        0x0800

#define LVIS_FOCUSED            0x0001
#define LVIS_SELECTED           0x0002
#define LVIS_CUT                0x0004
#define LVIS_DROPHILITED        0x0008
#define LVIS_ACTIVATING         0x0020
#define LVIS_OVERLAYMASK        0x0F00
#define LVIS_STATEIMAGEMASK     0xF000

#define I_INDENTCALLBACK        -1
#define I_IMAGECALLBACK         -1
#define I_CHILDRENCALLBACK      -1
#define LPSTR_TEXTCALLBACK      -1

#define LVM_GETBKCOLOR          LVM_FIRST
#define LVM_SETBKCOLOR          LVM_FIRST+1
#define LVM_GETIMAGELIST        LVM_FIRST+2
#define LVM_SETIMAGELIST        LVM_FIRST+3
#define LVM_GETITEMCOUNT        LVM_FIRST+4
#define LVM_GETITEM             LVM_FIRST+5
#define LVM_SETITEM             LVM_FIRST+6
#define LVM_INSERTITEM          LVM_FIRST+7
#define LVM_DELETEITEM          LVM_FIRST+8
#define LVM_DELETEALLITEMS      LVM_FIRST+9
#define LVM_GETCALLBACKMASK     LVM_FIRST+10
#define LVM_SETCALLBACKMASK     LVM_FIRST+11
#define LVM_GETNEXTITEM         LVM_FIRST+12
#define LVM_FINDITEM            LVM_FIRST+13
#define LVM_GETITEMRECT         LVM_FIRST+14
#define LVM_SETITEMPOSITION     LVM_FIRST+15
#define LVM_GETITEMPOSITION     LVM_FIRST+16
#define LVM_GETSTRINGWIDTH      LVM_FIRST+17
#define LVM_HITTEST             LVM_FIRST+18
#define LVM_ENSUREVISIBLE       LVM_FIRST+19
#define LVM_SCROLL              LVM_FIRST+20
#define LVM_REDRAWITEMS         LVM_FIRST+21
#define LVM_ARRANGE             LVM_FIRST+22
#define LVM_EDITLABEL           LVM_FIRST+23
#define LVM_GETEDITCONTROL      LVM_FIRST+24
#define LVM_GETCOLUMN           LVM_FIRST+25
#define LVM_SETCOLUMN           LVM_FIRST+26
#define LVM_INSERTCOLUMN        LVM_FIRST+27
#define LVM_DELETECOLUMN        LVM_FIRST+28
#define LVM_GETCOLUMNWIDTH      LVM_FIRST+29
#define LVM_SETCOLUMNWIDTH      LVM_FIRST+30
#define LVM_GETHEADER           LVM_FIRST+31
#define LVM_CREATEDRAGIMAGE     LVM_FIRST+33
#define LVM_GETVIEWRECT         LVM_FIRST+34
#define LVM_GETTEXTCOLOR        LVM_FIRST+35
#define LVM_SETTEXTCOLOR        LVM_FIRST+36
#define LVM_GETTEXTBKCOLOR      LVM_FIRST+37
#define LVM_SETTEXTBKCOLOR      LVM_FIRST+38
#define LVM_GETTOPINDEX         LVM_FIRST+39
#define LVM_GETCOUNTPERPAGE     LVM_FIRST+40
#define LVM_GETORIGIN           LVM_FIRST+41
#define LVM_UPDATE              LVM_FIRST+42
#define LVM_SETITEMSTATE        LVM_FIRST+43
#define LVM_GETITEMSTATE        LVM_FIRST+44
#define LVM_GETITEMTEXT         LVM_FIRST+45
#define LVM_SETITEMTEXT         LVM_FIRST+46
#define LVM_SETITEMCOUNT        LVM_FIRST+47
#define LVM_SORTITEMS           LVM_FIRST+48
#define LVM_SETITEMPOSITION32   LVM_FIRST+49
#define LVM_GETSELECTEDCOUNT    LVM_FIRST+50
#define LVM_GETITEMSPACING      LVM_FIRST+51
#define LVM_GETISEARCHSTRING    LVM_FIRST+52
#define LVM_SETICONSPACING      LVM_FIRST+53
#define LVM_SETEXTENDEDLISTVIEWSTYLE LVM_FIRST+54
#define LVM_GETEXTENDEDLISTVIEWSTYLE LVM_FIRST+55
#define LVM_GETSUBITEMRECT      LVM_FIRST+56
#define LVM_SUBITEMHITTEST      LVM_FIRST+57
#define LVM_SETCOLUMNORDERARRAY LVM_FIRST+58
#define LVM_GETCOLUMNORDERARRAY LVM_FIRST+59
#define LVM_SETHOTITEM          LVM_FIRST+60
#define LVM_GETHOTITEM          LVM_FIRST+61
#define LVM_SETHOTCURSOR        LVM_FIRST+62
#define LVM_GETHOTCURSOR        LVM_FIRST+63
#define LVM_APPROXIMATEVIEWRECT LVM_FIRST+64
#define LVM_SETWORKAREAS        LVM_FIRST+65
#define LVM_GETSELECTIONMARK    LVM_FIRST+66
#define LVM_SETSELECTIONMARK    LVM_FIRST+67
#define LVM_SETBKIMAGE          LVM_FIRST+68
#define LVM_GETBKIMAGE          LVM_FIRST+69
#define LVM_GETWORKAREAS        LVM_FIRST+70
#define LVM_SETHOVERTIME        LVM_FIRST+71
#define LVM_GETHOVERTIME        LVM_FIRST+72
#define LVM_GETNUMBEROFWORKAREAS LVM_FIRST+73
#define LVM_SETTOOLTIPS         LVM_FIRST+74
#define LVM_GETTOOLTIPS         LVM_FIRST+78

#define LVSIL_NORMAL            0
#define LVSIL_SMALL             1
#define LVSIL_STATE             2

#define LVNI_ALL                0x0000
#define LVNI_FOCUSED            0x0001
#define LVNI_SELECTED           0x0002
#define LVNI_CUT                0x0004
#define LVNI_DROPHILITED        0x0008
#define LVNI_ABOVE              0x0100
#define LVNI_BELOW              0x0200
#define LVNI_TOLEFT             0x0400
#define LVNI_TORIGHT            0x0800

#define LVFI_PARAM              0x0001
#define LVFI_STRING             0x0002
#define LVFI_PARTIAL            0x0008
#define LVFI_WRAP               0x0020
#define LVFI_NEARESTXY          0x0040

#define LVIR_BOUNDS             0
#define LVIR_ICON               1
#define LVIR_LABEL              2
#define LVIR_SELECTBOUNDS       3

#define LVHT_NOWHERE            0x0001
#define LVHT_ONITEMICON         0x0002
#define LVHT_ONITEMLABEL        0x0004
#define LVHT_ONITEMSTATEICON    0x0008
#define LVHT_ONITEM             LVHT_ONITEMICON|LVHT_ONITEMLABEL|LVHT_ONITEMSTATEICON
#define LVHT_ABOVE              0x0008
#define LVHT_BELOW              0x0010
#define LVHT_TORIGHT            0x0020
#define LVHT_TOLEFT             0x0040

#define LVA_DEFAULT             0x0000
#define LVA_ALIGNLEFT           0x0001
#define LVA_ALIGNTOP            0x0002
#define LVA_SNAPTOGRID          0x0005

#define LVCF_FMT                0x0001
#define LVCF_WIDTH              0x0002
#define LVCF_TEXT               0x0004
#define LVCF_SUBITEM            0x0008
#define LVCF_IMAGE              0x0010
#define LVCF_ORDER              0x0020

#define LVCFMT_LEFT             0x0000
#define LVCFMT_RIGHT            0x0001
#define LVCFMT_CENTER           0x0002
#define LVCFMT_JUSTIFYMASK      0x0003
#define LVCFMT_IMAGE            0x0800
#define LVCFMT_BITMAP_ON_RIGHT  0x1000
#define LVCFMT_COL_HAS_IMAGES   0x8000

#define LVSCW_AUTOSIZE              -1
#define LVSCW_AUTOSIZE_USEHEADER    -2

#define LVSICF_NOINVALIDATEALL  0x00000001
#define LVSICF_NOSCROLL         0x00000002

#define LVN_ITEMCHANGING        LVN_FIRST
#define LVN_ITEMCHANGED         LVN_FIRST-1
#define LVN_INSERTITEM          LVN_FIRST-2
#define LVN_DELETEITEM          LVN_FIRST-3
#define LVN_DELETEALLITEMS      LVN_FIRST-4
#define LVN_BEGINLABELEDIT      LVN_FIRST-5
#define LVN_ENDLABELEDIT        LVN_FIRST-6
#define LVN_COLUMNCLICK         LVN_FIRST-8
#define LVN_BEGINDRAG           LVN_FIRST-9
#define LVN_BEGINRDRAG          LVN_FIRST-11
#define LVN_ODCACHEHINT         LVN_FIRST-13
#define LVN_ODFINDITEM          LVN_FIRST-52
#define LVN_ITEMACTIVATE        LVN_FIRST-14
#define LVN_ODSTATECHANGED      LVN_FIRST-15
#define LVN_HOTTRACK            LVN_FIRST-21
#define LVN_GETDISPINFO         LVN_FIRST-50
#define LVN_SETDISPINFO         LVN_FIRST-51
#define LVN_KEYDOWN             LVN_FIRST-55
#define LVN_GETINFOTIP          LVN_FIRST-57

#define LVIF_DI_SETITEM         0x1000
#define LVGIT_UNFOLDED          0x0001

#define TVS_HASBUTTONS          0x0001
#define TVS_HASLINES            0x0002
#define TVS_LINESATROOT         0x0004
#define TVS_EDITLABELS          0x0008
#define TVS_DISABLEDRAGDROP     0x0010
#define TVS_SHOWSELALWAYS       0x0020
#define TVS_RTLREADING          0x0040
#define TVS_NOTOOLTIPS          0x0080
#define TVS_CHECKBOXES          0x0100
#define TVS_TRACKSELECT         0x0200
#define TVS_SINGLEEXPAND        0x0400
#define TVS_INFOTIP             0x0800
#define TVS_FULLROWSELECT       0x1000
#define TVS_NOSCROLL            0x2000
#define TVS_NONEVENHEIGHT       0x4000

#define TVIF_TEXT               0x0001
#define TVIF_IMAGE              0x0002
#define TVIF_PARAM              0x0004
#define TVIF_STATE              0x0008
#define TVIF_HANDLE             0x0010
#define TVIF_SELECTEDIMAGE      0x0020
#define TVIF_CHILDREN           0x0040
#define TVIF_INTEGRAL           0x0080
#define TVIF_DI_SETITEM         0x1000

#define TVIS_SELECTED           0x0002
#define TVIS_CUT                0x0004
#define TVIS_DROPHILITED        0x0008
#define TVIS_BOLD               0x0010
#define TVIS_EXPANDED           0x0020
#define TVIS_EXPANDEDONCE       0x0040
#define TVIS_EXPANDPARTIAL      0x0080
#define TVIS_OVERLAYMASK        0x0F00
#define TVIS_STATEIMAGEMASK     0xF000
#define TVIS_USERMASK           0xF000

#define TVI_ROOT                0xFFFF0000
#define TVI_FIRST               0xFFFF0001
#define TVI_LAST                0xFFFF0002
#define TVI_SORT                0xFFFF0003

#define TVM_INSERTITEM          TV_FIRST
#define TVM_DELETEITEM          TV_FIRST+1
#define TVM_EXPAND              TV_FIRST+2
#define TVM_GETITEMRECT         TV_FIRST+4
#define TVM_GETCOUNT            TV_FIRST+5
#define TVM_GETINDENT           TV_FIRST+6
#define TVM_SETINDENT           TV_FIRST+7
#define TVM_GETIMAGELIST        TV_FIRST+8
#define TVM_SETIMAGELIST        TV_FIRST+9
#define TVM_GETNEXTITEM         TV_FIRST+10
#define TVM_SELECTITEM          TV_FIRST+11
#define TVM_GETITEM             TV_FIRST+12
#define TVM_SETITEM             TV_FIRST+13
#define TVM_EDITLABEL           TV_FIRST+14
#define TVM_GETEDITCONTROL      TV_FIRST+15
#define TVM_GETVISIBLECOUNT     TV_FIRST+16
#define TVM_HITTEST             TV_FIRST+17
#define TVM_CREATEDRAGIMAGE     TV_FIRST+18
#define TVM_SORTCHILDREN        TV_FIRST+19
#define TVM_ENSUREVISIBLE       TV_FIRST+20
#define TVM_SORTCHILDRENCB      TV_FIRST+21
#define TVM_ENDEDITLABELNOW     TV_FIRST+22
#define TVM_GETISEARCHSTRING    TV_FIRST+23
#define TVM_SETTOOLTIPS         TV_FIRST+24
#define TVM_GETTOOLTIPS         TV_FIRST+25
#define TVM_SETINSERTMARK       TV_FIRST+26
#define TVM_SETITEMHEIGHT       TV_FIRST+27
#define TVM_SETBKCOLOR          TV_FIRST+29
#define TVM_SETTEXTCOLOR        TV_FIRST+30
#define TVM_GETBKCOLOR          TV_FIRST+31
#define TVM_GETTEXTCOLOR        TV_FIRST+32
#define TVM_SETSCROLLTIME       TV_FIRST+33
#define TVM_GETSCROLLTIME       TV_FIRST+34
#define TVM_SETINSERTMARKCOLOR  TV_FIRST+37
#define TVM_GETINSERTMARKCOLOR  TV_FIRST+38

#define TVE_COLLAPSE            0x0001
#define TVE_EXPAND              0x0002
#define TVE_TOGGLE              0x0003
#define TVE_EXPANDPARTIAL       0x4000
#define TVE_COLLAPSERESET       0x8000

#define TVSIL_NORMAL            0
#define TVSIL_STATE             2

#define TVGN_ROOT               0x0000
#define TVGN_NEXT               0x0001
#define TVGN_PREVIOUS           0x0002
#define TVGN_PARENT             0x0003
#define TVGN_CHILD              0x0004
#define TVGN_FIRSTVISIBLE       0x0005
#define TVGN_NEXTVISIBLE        0x0006
#define TVGN_PREVIOUSVISIBLE    0x0007
#define TVGN_DROPHILITE         0x0008
#define TVGN_CARET              0x0009
#define TVGN_LASTVISIBLE        0x000A

#define TVHT_NOWHERE            0x0001
#define TVHT_ONITEMICON         0x0002
#define TVHT_ONITEMLABEL        0x0004
#define TVHT_ONITEMINDENT       0x0008
#define TVHT_ONITEMBUTTON       0x0010
#define TVHT_ONITEMRIGHT        0x0020
#define TVHT_ONITEMSTATEICON    0x0040
#define TVHT_ABOVE              0x0100
#define TVHT_BELOW              0x0200
#define TVHT_TORIGHT            0x0400
#define TVHT_TOLEFT             0x0800
#define TVHT_ONITEM             TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON

#define TVN_SELCHANGING         TVN_FIRST-1
#define TVN_SELCHANGED          TVN_FIRST-2
#define TVN_GETDISPINFO         TVN_FIRST-3
#define TVN_SETDISPINFO         TVN_FIRST-4
#define TVN_ITEMEXPANDING       TVN_FIRST-5
#define TVN_ITEMEXPANDED        TVN_FIRST-6
#define TVN_BEGINDRAG           TVN_FIRST-7
#define TVN_BEGINRDRAG          TVN_FIRST-8
#define TVN_DELETEITEM          TVN_FIRST-9
#define TVN_BEGINLABELEDIT      TVN_FIRST-10
#define TVN_ENDLABELEDIT        TVN_FIRST-11
#define TVN_KEYDOWN             TVN_FIRST-12
#define TVN_GETINFOTIP          TVN_FIRST-13
#define TVN_SINGLEEXPAND        TVN_FIRST-15

#define TVC_UNKNOWN             0x0000
#define TVC_BYMOUSE             0x0001
#define TVC_BYKEYBOARD          0x0002

#define TCS_SCROLLOPPOSITE      0x0001
#define TCS_BOTTOM              0x0002
#define TCS_RIGHT               0x0002
#define TCS_MULTISELECT         0x0004
#define TCS_FLATBUTTONS         0x0008
#define TCS_FORCEICONLEFT       0x0010
#define TCS_FORCELABELLEFT      0x0020
#define TCS_HOTTRACK            0x0040
#define TCS_VERTICAL            0x0080
#define TCS_TABS                0x0000
#define TCS_BUTTONS             0x0100
#define TCS_SINGLELINE          0x0000
#define TCS_MULTILINE           0x0200
#define TCS_RIGHTJUSTIFY        0x0000
#define TCS_FIXEDWIDTH          0x0400
#define TCS_RAGGEDRIGHT         0x0800
#define TCS_FOCUSONBUTTONDOWN   0x1000
#define TCS_OWNERDRAWFIXED      0x2000
#define TCS_TOOLTIPS            0x4000
#define TCS_FOCUSNEVER          0x8000
#define TCS_EX_FLATSEPARATORS   0x0001
#define TCS_EX_REGISTERDROP     0x0002

#define TCM_GETIMAGELIST        TCM_FIRST+2
#define TCM_SETIMAGELIST        TCM_FIRST+3
#define TCM_GETITEMCOUNT        TCM_FIRST+4
#define TCM_GETITEM             TCM_FIRST+5
#define TCM_SETITEM             TCM_FIRST+6
#define TCM_INSERTITEM          TCM_FIRST+7
#define TCM_DELETEITEM          TCM_FIRST+8
#define TCM_DELETEALLITEMS      TCM_FIRST+9
#define TCM_GETITEMRECT         TCM_FIRST+10
#define TCM_GETCURSEL           TCM_FIRST+11
#define TCM_SETCURSEL           TCM_FIRST+12
#define TCM_HITTEST             TCM_FIRST+13
#define TCM_SETITEMEXTRA        TCM_FIRST+14
#define TCM_ADJUSTRECT          TCM_FIRST+40
#define TCM_SETITEMSIZE         TCM_FIRST+41
#define TCM_REMOVEIMAGE         TCM_FIRST+42
#define TCM_SETPADDING          TCM_FIRST+43
#define TCM_GETROWCOUNT         TCM_FIRST+44
#define TCM_GETTOOLTIPS         TCM_FIRST+45
#define TCM_SETTOOLTIPS         TCM_FIRST+46
#define TCM_GETCURFOCUS         TCM_FIRST+47
#define TCM_SETCURFOCUS         TCM_FIRST+48
#define TCM_SETMINTABWIDTH      TCM_FIRST+49
#define TCM_DESELECTALL         TCM_FIRST+50
#define TCM_HIGHLIGHTITEM       TCM_FIRST+51
#define TCM_SETEXTENDEDSTYLE    TCM_FIRST+52
#define TCM_GETEXTENDEDSTYLE    TCM_FIRST+53
#define TCM_SETUNICODEFORMAT    CCM_SETUNICODEFORMAT
#define TCM_GETUNICODEFORMAT    CCM_GETUNICODEFORMAT

#define TCIF_TEXT               0x0001
#define TCIF_IMAGE              0x0002
#define TCIF_RTLREADING         0x0004
#define TCIF_PARAM              0x0008
#define TCIF_STATE              0x0010
#define TCIS_BUTTONPRESSED      0x0001
#define TCIS_HIGHLIGHTED        0x0002

#define TCHT_NOWHERE            0x0001
#define TCHT_ONITEMICON         0x0002
#define TCHT_ONITEMLABEL        0x0004
#define TCHT_ONITEM             TCHT_ONITEMICON|TCHT_ONITEMLABEL

#define TCN_KEYDOWN             TCN_FIRST
#define TCN_SELCHANGE           TCN_FIRST-1
#define TCN_SELCHANGING         TCN_FIRST-2
#define TCN_GETOBJECT           TCN_FIRST-3

#define ACS_CENTER              0x0001
#define ACS_TRANSPARENT         0x0002
#define ACS_AUTOPLAY            0x0004
#define ACS_TIMER               0x0008

#define ACM_OPEN                WM_USER+100
#define ACM_PLAY                WM_USER+101
#define ACM_STOP                WM_USER+102

#define ACN_START               1
#define ACN_STOP                2

// Описание структур

struct NMHDR {
  HWND hwndFrom;
  UINT idFrom;
  UINT code;
};

struct PROPSHEETPAGE {
  DWORD dwSize;
  DWORD dwFlags;
  HINSTANCE hInstance;
  union {
    LPCSTR pszTemplate;
    LPVOID pResource;
  };
  union {
    HICON hIcon;
    LPCSTR pszIcon;
  };
  LPCSTR pszTitle;
  LPVOID pfnDlgProc;
  LPARAM lParam;
  LPVOID pfnCallback;
  LPVOID pcRefParent;
};

struct PROPSHEETHEADER {
  DWORD dwSize;
  DWORD dwFlags;
  HWND hwndParent;
  HINSTANCE hInstance;
  union {
    HICON hIcon;
    LPCSTR pszIcon;
  };
  LPCSTR pszCaption;
  UINT nPages;
  union {
    UINT nStartPage;
    LPCSTR pStartPage;
  };
  union {
    LPVOID ppsp;
    LPVOID phpage;
  };
  LPVOID pfnCallback;
};

struct PSHNOTIFY {
  struct NMHDR hdr;
  LPARAM lParam;
};

struct COLORSCHEME {
  DWORD dwSize;
  COLORREF clrBtnHighlight;
  COLORREF clrBtnShadow;
};

struct IMAGEINFO {
  HBITMAP hbmImage;
  HBITMAP hbmMask;
  INT Unused1;
  INT Unused2;
  struct RECT rcImage;
};

struct HD_ITEM {
  UINT mask;
  INT cxy;
  LPSTR pszText;
  HBITMAP hbm;
  INT cchTextMax;
  INT fmt;
  LPARAM lParam;
};

struct HD_LAYOUT {
  LPVOID prc;
  LPVOID pwpos;
};

struct HD_HITTESTINFO {
  struct POINT pt;
  UINT flags;
  INT iItem;
};

struct TBBUTTON {
  INT iBitmap;
  INT idCommand;
  BYTE fsState;
  BYTE fsStyle;
  DWORD dwData;
  INT iString;
};

struct COLORMAP {
  COLORREF from;
  COLORREF to;
};

struct TBADDBITMAP {
  HINSTANCE hInst;
  UINT nID;
};

struct TBSAVEPARAMSA {
  HKEY hkr;
  LPCSTR pszSubKey;
  LPCSTR pszValueName;
};

struct TBINSERTMARK {
  INT iButton;
  DWORD dwFlags;
};

struct TBREPLACEBITMAP {
  HINSTANCE hInstOld;
  UINT nIDOld;
  HINSTANCE hInstNew;
  UINT nIDNew;
  INT nButtons;
};

struct TTTOOLINFO {
  UINT cbSize;
  UINT uFlags;
  HWND hwnd;
  UINT uId;
  struct RECT rect;
  HINSTANCE hinst;
  LPSTR lpszText;
};

struct TTHITTESTINFO {
  HWND hwnd;
  struct POINT pt;
  struct TTTOOLINFO ti;
};

struct DRAGLISTINFO {
  UINT uNotification;
  HWND hWnd;
  struct POINT ptCursor;
};

struct UDACCEL {
  UINT nSec;
  UINT nInc;
};

struct LV_ITEM {
  UINT mask;
  INT iItem;
  INT iSubItem;
  UINT state;
  UINT stateMask;
  LPSTR pszText;
  INT cchTextMax;
  INT iImage;
  LPARAM lParam;
};

struct LV_FINDINFO {
  UINT flags;
  LPCSTR psz;
  LPARAM lParam;
  struct POINT pt;
  UINT vkDirection;
};

struct LV_HITTESTINFO {
  struct POINT pt;
  UINT flags;
  INT iItem;
};

struct LV_COLUMN {
  UINT mask;
  INT fmt;
  INT cx;
  LPSTR pszText;
  INT cchTextMax;
  INT iSubItem;
};

struct NM_LISTVIEW {
  struct NMHDR hdr;
  INT iItem;
  INT iSubItem;
  UINT uNewState;
  UINT uOldState;
  UINT uChanged;
  struct POINT ptAction;
  LPARAM lParam;
};

struct LV_DISPINFO {
  struct NMHDR hdr;
  struct LV_ITEM item;
};

struct LV_KEYDOWN {
  struct NMHDR hdr;
  WORD wVKey;
  UINT flags;
};

struct TV_ITEM {
  UINT mask;
  HTREEITEM hItem;
  UINT state;
  UINT stateMask;
  LPSTR pszText;
  INT cchTextMax;
  INT iImage;
  INT iSelectedImage;
  INT cChildren;
  LPARAM lParam;
};

struct TV_INSERTSTRUCT {
  HTREEITEM hParent;
  HTREEITEM hInsertAfter;
  struct TV_ITEM item;
};

struct TV_HITTESTINFO {
  struct POINT pt;
  UINT flags;
  HTREEITEM hItem;
};

struct TV_SORTCB {
  HTREEITEM hParent;
  LPVOID lpfnCompare;
  LPARAM lParam;
};

struct NM_TREEVIEW {
  struct NMHDR hdr;
  UINT action;
  struct TV_ITEM itemOld;
  struct TV_ITEM itemNew;
  struct POINT ptDrag;
};

struct TV_DISPINFO {
  struct NMHDR hdr;
  struct TV_ITEM item;
};

struct TV_KEYDOWN {
  struct NMHDR hdr;
  WORD wVKey;
  UINT flags;
};

struct TC_ITEMHEADER {
  UINT mask;
  UINT lpReserved1;
  UINT lpReserved2;
  LPSTR pszText;
  INT cchTextMax;
  INT iImage;
};

struct TC_ITEM {
  UINT mask;
  DWORD dwState;
  DWORD dwStateMask;
  LPSTR pszText;
  INT cchTextMax;
  INT iImage;
  LPARAM lParam;
};

struct TC_HITTESTINFO {
  struct POINT pt;
  UINT flags;
};

struct TC_KEYDOWN {
  struct NMHDR hdr;
  WORD wVKey;
  UINT flags;
};

// Импорт функций

extern WINAPI "comctl32.dll" {
	void InitCommonControls();
  CreatePropertySheetPageA();
  DestroyPropertySheetPage();
  PropertySheetA();
  ImageList_Create();
  ImageList_Destroy();
  ImageList_GetImageCount();
  ImageList_Add();
  ImageList_ReplaceIcon();
  ImageList_SetBkColor();
  ImageList_GetBkColor();
  ImageList_SetOverlayImage();
  ImageList_Draw();
  ImageList_Replace();
  ImageList_AddMasked();
  ImageList_DrawEx();
  ImageList_Remove();
  ImageList_GetIcon();
  ImageList_LoadImageA();
  ImageList_BeginDrag();
  ImageList_EndDrag();
  ImageList_DragEnter();
  ImageList_DragLeave();
  ImageList_DragMove();
  ImageList_SetDragCursorImage();
  ImageList_DragShowNolock();
  ImageList_GetDragImage();
  ImageList_Read();
  ImageList_Write();
  ImageList_GetIconSize();
  ImageList_SetIconSize();
  ImageList_GetImageInfo();
  ImageList_Merge();
	HWND CreateToolbarEx();
  CreateMappedBitmap();
  DrawStatusTextA();
	HWND CreateStatusWindowA();
  MenuHelp();
  ShowHideMenuCtl();
  GetEffectiveClientRect();
  MakeDragList();
  DrawInsert();
  LBItemFromPt();
	HWND CreateUpDownControl();
}

#define CreatePropertySheetPage CreatePropertySheetPageA
#define PropertySheet PropertySheetA
#define ImageList_LoadImage ImageList_LoadImageA
#define DrawStatusText DrawStatusTextA
#define CreateStatusWindow CreateStatusWindowA

