;--- include file created by h2incx v0.99.6, copyright 2005 japheth
;--- source file: c:\programme\devstudio\vc6\include\COMMCTRL.H, last modified: 4/24/1998 0:0

ifndef _INC_COMMCTRL
_INC_COMMCTRL	EQU	<>
ifndef _WIN32_IE
_WIN32_IE	EQU	0400h
else 
if (_WIN32_IE lt 0400h) AND defined(_WIN32_WINNT) AND (_WIN32_WINNT ge 0500h)
;#error _WIN32_IE setting conflicts with _WIN32_WINNT setting 
endif 
endif 
ifndef _HRESULT_DEFINED
_HRESULT_DEFINED	EQU	<>
HRESULT typedef SDWORD
endif 
ifndef NOUSER
ifndef WINCOMMCTRLAPI
if  NOT defined(_COMCTL32_) AND defined(_WIN32)
WINCOMMCTRLAPI	EQU	<DECLSPEC_IMPORT>
else 
WINCOMMCTRLAPI	EQU	<>
endif 
endif 
ifndef DUMMYUNIONNAME
ifdef NONAMELESSUNION
DUMMYUNIONNAME	EQU	<u>
DUMMYUNIONNAME2	EQU	<u2>
DUMMYUNIONNAME3	EQU	<u3>
DUMMYUNIONNAME4	EQU	<u4>
DUMMYUNIONNAME5	EQU	<u5>
else 
DUMMYUNIONNAME	EQU	<>
DUMMYUNIONNAME2	EQU	<>
DUMMYUNIONNAME3	EQU	<>
DUMMYUNIONNAME4	EQU	<>
DUMMYUNIONNAME5	EQU	<>
endif 
endif 
ifdef _WIN32
	include pshpack1.inc
endif 
ifdef __cplusplus
;extern "C"
;{
endif 
	include prsht.inc
ifndef SNDMSG
ifdef __cplusplus
ifndef _MAC
SNDMSG	EQU	<:: SendMessage>
else 
SNDMSG	EQU	<:: AfxSendMessage>
endif 
else 
ifndef _MAC
SNDMSG	EQU	<SendMessage>
else 
SNDMSG	EQU	<AfxSendMessage>
endif 
endif 
endif 
ifdef _MAC
ifndef RC_INVOKED
ifndef _WLM_NOFORCE_LIBS
ifndef _WLMDLL
ifdef _DEBUG
;#pragma comment ( lib , "comctld.lib" ) 
else 
;#pragma comment ( lib , "comctl.lib" ) 
endif 
;#pragma comment ( linker , "/macres:comctl.rsc" ) 
else 
ifdef _DEBUG
;#pragma comment ( lib , "msvcctld.lib" ) 
else 
;#pragma comment ( lib , "msvcctl.lib" ) 
endif 
endif 
endif 
endif 
endif 
proto_InitCommonControls typedef proto stdcall 
externdef stdcall _imp__InitCommonControls@0: ptr proto_InitCommonControls
InitCommonControls equ <_imp__InitCommonControls@0>
if (_WIN32_IE ge 0300h)
INITCOMMONCONTROLSEX	struct
dwSize	DWORD	?
dwICC	DWORD	?
INITCOMMONCONTROLSEX	ends

LPINITCOMMONCONTROLSEX typedef ptr INITCOMMONCONTROLSEX

ICC_LISTVIEW_CLASSES	EQU	00000001h
ICC_TREEVIEW_CLASSES	EQU	00000002h
ICC_BAR_CLASSES	EQU	00000004h
ICC_TAB_CLASSES	EQU	00000008h
ICC_UPDOWN_CLASS	EQU	00000010h
ICC_PROGRESS_CLASS	EQU	00000020h
ICC_HOTKEY_CLASS	EQU	00000040h
ICC_ANIMATE_CLASS	EQU	00000080h
ICC_WIN95_CLASSES	EQU	000000FFh
ICC_DATE_CLASSES	EQU	00000100h
ICC_USEREX_CLASSES	EQU	00000200h
ICC_COOL_CLASSES	EQU	00000400h
if (_WIN32_IE ge 0400h)
ICC_INTERNET_CLASSES	EQU	00000800h
ICC_PAGESCROLLER_CLASS	EQU	00001000h
ICC_NATIVEFNTCTL_CLASS	EQU	00002000h
endif 
proto_InitCommonControlsEx typedef proto stdcall  :LPINITCOMMONCONTROLSEX
externdef stdcall _imp__InitCommonControlsEx@4: ptr proto_InitCommonControlsEx
InitCommonControlsEx equ <_imp__InitCommonControlsEx@4>
endif 
ODT_HEADER	EQU	100
ODT_TAB	EQU	101
ODT_LISTVIEW	EQU	102
LVM_FIRST	EQU	1000h
TV_FIRST	EQU	1100h
HDM_FIRST	EQU	1200h
TCM_FIRST	EQU	1300h
if (_WIN32_IE ge 0400h)
PGM_FIRST	EQU	1400h
CCM_FIRST	EQU	2000h
CCM_SETBKCOLOR	EQU	( CCM_FIRST + 1 )
COLORSCHEME	struct
dwSize	DWORD	?
clrBtnHighlight	COLORREF	?
clrBtnShadow	COLORREF	?
COLORSCHEME	ends

LPCOLORSCHEME typedef ptr COLORSCHEME

CCM_SETCOLORSCHEME	EQU	( CCM_FIRST + 2 )
CCM_GETCOLORSCHEME	EQU	( CCM_FIRST + 3 )
CCM_GETDROPTARGET	EQU	( CCM_FIRST + 4 )
CCM_SETUNICODEFORMAT	EQU	( CCM_FIRST + 5 )
CCM_GETUNICODEFORMAT	EQU	( CCM_FIRST + 6 )
endif 
if (_WIN32_IE ge 0400h)
INFOTIPSIZE	EQU	1024
endif 
HANDLE_WM_NOTIFY macro hwnd,wParam,lParam,fn
	exitm <( fn ) ( ( hwnd ) , ( wParam ) , ( lParam ) ) >
	endm
FORWARD_WM_NOTIFY macro hwnd,idFrom,pnmhdr,fn
	exitm <( fn ) ( ( hwnd ) , WM_NOTIFY , ( idFrom ) , ( pnmhdr ) ) >
	endm
NM_OUTOFMEMORY	EQU	( NM_FIRST - 1 )
NM_CLICK	EQU	( NM_FIRST - 2 )
NM_DBLCLK	EQU	( NM_FIRST - 3 )
NM_RETURN	EQU	( NM_FIRST - 4 )
NM_RCLICK	EQU	( NM_FIRST - 5 )
NM_RDBLCLK	EQU	( NM_FIRST - 6 )
NM_SETFOCUS	EQU	( NM_FIRST - 7 )
NM_KILLFOCUS	EQU	( NM_FIRST - 8 )
if (_WIN32_IE ge 0300h)
NM_CUSTOMDRAW	EQU	( NM_FIRST - 12 )
NM_HOVER	EQU	( NM_FIRST - 13 )
endif 
if (_WIN32_IE ge 0400h)
NM_NCHITTEST	EQU	( NM_FIRST - 14 )
NM_KEYDOWN	EQU	( NM_FIRST - 15 )
NM_RELEASEDCAPTURE	EQU	( NM_FIRST - 16 )
NM_SETCURSOR	EQU	( NM_FIRST - 17 )
NM_CHAR	EQU	( NM_FIRST - 18 )
endif 
ifndef CCSIZEOF_STRUCT
CCSIZEOF_STRUCT macro structname,member
	exitm <( ( ( ( LPBYTE ) (  and  ( ( structname * ) 0 ) -> member ) - ( ( LPBYTE ) ( ( structname * ) 0 ) ) ) ) + sizeof ( ( ( structname * ) 0 ) -> member ) ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
NMMOUSE	struct
hdr	NMHDR	<>
dwItemSpec	DWORD	?
dwItemData	DWORD	?
pt	POINT	<>
dwHitInfo	DWORD	?
NMMOUSE	ends

LPNMMOUSE typedef ptr NMMOUSE

NMCLICK typedef NMMOUSE
LPNMCLICK typedef LPNMMOUSE
NMOBJECTNOTIFY	struct
hdr	NMHDR	<>
iItem	DWORD	?
ifdef __IID_DEFINED__
piid	DWORD	?
else 
piid	DWORD	?
endif 
pObject	DWORD	?
hResult	HRESULT	?
dwFlags	DWORD	?
NMOBJECTNOTIFY	ends

LPNMOBJECTNOTIFY typedef ptr NMOBJECTNOTIFY

NMKEY	struct
hdr	NMHDR	<>
nVKey	DWORD	?
uFlags	DWORD	?
NMKEY	ends

LPNMKEY typedef ptr NMKEY

NMCHAR	struct
hdr	NMHDR	<>
ch_	DWORD	?
dwItemPrev	DWORD	?
dwItemNext	DWORD	?
NMCHAR	ends

LPNMCHAR typedef ptr NMCHAR

endif 
NM_FIRST	EQU	( 0 - 0 )
NM_LAST	EQU	( 0 - 99 )
LVN_FIRST	EQU	( 0 - 100 )
LVN_LAST	EQU	( 0 - 199 )
HDN_FIRST	EQU	( 0 - 300 )
HDN_LAST	EQU	( 0 - 399 )
TVN_FIRST	EQU	( 0 - 400 )
TVN_LAST	EQU	( 0 - 499 )
TTN_FIRST	EQU	( 0 - 520 )
TTN_LAST	EQU	( 0 - 549 )
TCN_FIRST	EQU	( 0 - 550 )
TCN_LAST	EQU	( 0 - 580 )
CDN_FIRST	EQU	( 0 - 601 )
CDN_LAST	EQU	( 0 - 699 )
TBN_FIRST	EQU	( 0 - 700 )
TBN_LAST	EQU	( 0 - 720 )
UDN_FIRST	EQU	( 0 - 721 )
UDN_LAST	EQU	( 0 - 740 )
if (_WIN32_IE ge 0300h)
MCN_FIRST	EQU	( 0 - 750 )
MCN_LAST	EQU	( 0 - 759 )
DTN_FIRST	EQU	( 0 - 760 )
DTN_LAST	EQU	( 0 - 799 )
CBEN_FIRST	EQU	( 0 - 800 )
CBEN_LAST	EQU	( 0 - 830 )
RBN_FIRST	EQU	( 0 - 831 )
RBN_LAST	EQU	( 0 - 859 )
endif 
if (_WIN32_IE ge 0400h)
IPN_FIRST	EQU	( 0 - 860 )
IPN_LAST	EQU	( 0 - 879 )
SBN_FIRST	EQU	( 0 - 880 )
SBN_LAST	EQU	( 0 - 899 )
PGN_FIRST	EQU	( 0 - 900 )
PGN_LAST	EQU	( 0 - 950 )
endif 
MSGF_COMMCTRL_BEGINDRAG	EQU	4200h
MSGF_COMMCTRL_SIZEHEADER	EQU	4201h
MSGF_COMMCTRL_DRAGSELECT	EQU	4202h
MSGF_COMMCTRL_TOOLBARCUST	EQU	4203h
if (_WIN32_IE ge 0300h)
CDRF_DODEFAULT	EQU	00000000h
CDRF_NEWFONT	EQU	00000002h
CDRF_SKIPDEFAULT	EQU	00000004h
CDRF_NOTIFYPOSTPAINT	EQU	00000010h
CDRF_NOTIFYITEMDRAW	EQU	00000020h
if (_WIN32_IE ge 0400h)
CDRF_NOTIFYSUBITEMDRAW	EQU	00000020h
endif 
CDRF_NOTIFYPOSTERASE	EQU	00000040h
CDDS_PREPAINT	EQU	00000001h
CDDS_POSTPAINT	EQU	00000002h
CDDS_PREERASE	EQU	00000003h
CDDS_POSTERASE	EQU	00000004h
CDDS_ITEM	EQU	00010000h
CDDS_ITEMPREPAINT	EQU	( CDDS_ITEM  or  CDDS_PREPAINT )
CDDS_ITEMPOSTPAINT	EQU	( CDDS_ITEM  or  CDDS_POSTPAINT )
CDDS_ITEMPREERASE	EQU	( CDDS_ITEM  or  CDDS_PREERASE )
CDDS_ITEMPOSTERASE	EQU	( CDDS_ITEM  or  CDDS_POSTERASE )
if (_WIN32_IE ge 0400h)
CDDS_SUBITEM	EQU	00020000h
endif 
CDIS_SELECTED	EQU	0001h
CDIS_GRAYED	EQU	0002h
CDIS_DISABLED	EQU	0004h
CDIS_CHECKED	EQU	0008h
CDIS_FOCUS	EQU	0010h
CDIS_DEFAULT	EQU	0020h
CDIS_HOT	EQU	0040h
CDIS_MARKED	EQU	0080h
CDIS_INDETERMINATE	EQU	0100h
NMCUSTOMDRAW	struct
hdr	NMHDR	<>
dwDrawStage	DWORD	?
hdc	HDC	?
rc	RECT	<>
dwItemSpec	DWORD	?
uItemState	DWORD	?
lItemlParam	LPARAM	?
NMCUSTOMDRAW	ends

LPNMCUSTOMDRAW typedef ptr NMCUSTOMDRAW

NMTTCUSTOMDRAW	struct
nmcd	NMCUSTOMDRAW	<>
uDrawFlags	DWORD	?
NMTTCUSTOMDRAW	ends

LPNMTTCUSTOMDRAW typedef ptr NMTTCUSTOMDRAW

endif 
ifndef NOIMAGEAPIS
CLR_NONE	EQU	0FFFFFFFFh
CLR_DEFAULT	EQU	0FF000000h

_IMAGELIST struct
_IMAGELIST ends

HIMAGELIST typedef ptr _IMAGELIST

if (_WIN32_IE ge 0300h)
IMAGELISTDRAWPARAMS	struct
cbSize	DWORD	?
himl	HIMAGELIST	?
i	DWORD	?
hdcDst	HDC	?
x	DWORD	?
y	DWORD	?
cx_	DWORD	?
cy	DWORD	?
xBitmap	DWORD	?
yBitmap	DWORD	?
rgbBk	COLORREF	?
rgbFg	COLORREF	?
fStyle	DWORD	?
dwRop	DWORD	?
IMAGELISTDRAWPARAMS	ends

LPIMAGELISTDRAWPARAMS typedef ptr IMAGELISTDRAWPARAMS

endif 
ILC_MASK	EQU	0001h
ILC_COLOR	EQU	0000h
ILC_COLORDDB	EQU	00FEh
ILC_COLOR4	EQU	0004h
ILC_COLOR8	EQU	0008h
ILC_COLOR16	EQU	0010h
ILC_COLOR24	EQU	0018h
ILC_COLOR32	EQU	0020h
ILC_PALETTE	EQU	0800h
proto_ImageList_Create typedef proto stdcall  :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
externdef stdcall _imp__ImageList_Create@20: ptr proto_ImageList_Create
ImageList_Create equ <_imp__ImageList_Create@20>
proto_ImageList_Destroy typedef proto stdcall  :HIMAGELIST
externdef stdcall _imp__ImageList_Destroy@4: ptr proto_ImageList_Destroy
ImageList_Destroy equ <_imp__ImageList_Destroy@4>
proto_ImageList_GetImageCount typedef proto stdcall  :HIMAGELIST
externdef stdcall _imp__ImageList_GetImageCount@4: ptr proto_ImageList_GetImageCount
ImageList_GetImageCount equ <_imp__ImageList_GetImageCount@4>
if (_WIN32_IE ge 0300h)
proto_ImageList_SetImageCount typedef proto stdcall  :HIMAGELIST, :DWORD
externdef stdcall _imp__ImageList_SetImageCount@8: ptr proto_ImageList_SetImageCount
ImageList_SetImageCount equ <_imp__ImageList_SetImageCount@8>
endif 
proto_ImageList_Add typedef proto stdcall  :HIMAGELIST, :HBITMAP, :HBITMAP
externdef stdcall _imp__ImageList_Add@12: ptr proto_ImageList_Add
ImageList_Add equ <_imp__ImageList_Add@12>
proto_ImageList_ReplaceIcon typedef proto stdcall  :HIMAGELIST, :DWORD, :HICON
externdef stdcall _imp__ImageList_ReplaceIcon@12: ptr proto_ImageList_ReplaceIcon
ImageList_ReplaceIcon equ <_imp__ImageList_ReplaceIcon@12>
proto_ImageList_SetBkColor typedef proto stdcall  :HIMAGELIST, :COLORREF
externdef stdcall _imp__ImageList_SetBkColor@8: ptr proto_ImageList_SetBkColor
ImageList_SetBkColor equ <_imp__ImageList_SetBkColor@8>
proto_ImageList_GetBkColor typedef proto stdcall  :HIMAGELIST
externdef stdcall _imp__ImageList_GetBkColor@4: ptr proto_ImageList_GetBkColor
ImageList_GetBkColor equ <_imp__ImageList_GetBkColor@4>
proto_ImageList_SetOverlayImage typedef proto stdcall  :HIMAGELIST, :DWORD, :DWORD
externdef stdcall _imp__ImageList_SetOverlayImage@12: ptr proto_ImageList_SetOverlayImage
ImageList_SetOverlayImage equ <_imp__ImageList_SetOverlayImage@12>
ImageList_AddIcon macro himl,hicon
	exitm <ImageList_ReplaceIcon, himl , - 1 , hicon >
	endm
ILD_NORMAL	EQU	0000h
ILD_TRANSPARENT	EQU	0001h
ILD_MASK	EQU	0010h
ILD_IMAGE	EQU	0020h
if (_WIN32_IE ge 0300h)
ILD_ROP	EQU	0040h
endif 
ILD_BLEND25	EQU	0002h
ILD_BLEND50	EQU	0004h
ILD_OVERLAYMASK	EQU	0F00h
INDEXTOOVERLAYMASK macro i
	exitm <( ( i )  shl  8 ) >
	endm
ILD_SELECTED	EQU	<ILD_BLEND50>
ILD_FOCUS	EQU	<ILD_BLEND25>
ILD_BLEND	EQU	<ILD_BLEND50>
CLR_HILIGHT	EQU	<CLR_DEFAULT>
proto_ImageList_Draw typedef proto stdcall  :HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD
externdef stdcall _imp__ImageList_Draw@24: ptr proto_ImageList_Draw
ImageList_Draw equ <_imp__ImageList_Draw@24>
ifdef _WIN32
proto_ImageList_Replace typedef proto stdcall  :HIMAGELIST, :DWORD, :HBITMAP, :HBITMAP
externdef stdcall _imp__ImageList_Replace@16: ptr proto_ImageList_Replace
ImageList_Replace equ <_imp__ImageList_Replace@16>
proto_ImageList_AddMasked typedef proto stdcall  :HIMAGELIST, :HBITMAP, :COLORREF
externdef stdcall _imp__ImageList_AddMasked@12: ptr proto_ImageList_AddMasked
ImageList_AddMasked equ <_imp__ImageList_AddMasked@12>
proto_ImageList_DrawEx typedef proto stdcall  :HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD, :DWORD, :COLORREF, :COLORREF, :DWORD
externdef stdcall _imp__ImageList_DrawEx@40: ptr proto_ImageList_DrawEx
ImageList_DrawEx equ <_imp__ImageList_DrawEx@40>
if (_WIN32_IE ge 0300h)
proto_ImageList_DrawIndirect typedef proto stdcall  :ptr IMAGELISTDRAWPARAMS
externdef stdcall _imp__ImageList_DrawIndirect@4: ptr proto_ImageList_DrawIndirect
ImageList_DrawIndirect equ <_imp__ImageList_DrawIndirect@4>
endif 
proto_ImageList_Remove typedef proto stdcall  :HIMAGELIST, :DWORD
externdef stdcall _imp__ImageList_Remove@8: ptr proto_ImageList_Remove
ImageList_Remove equ <_imp__ImageList_Remove@8>
proto_ImageList_GetIcon typedef proto stdcall  :HIMAGELIST, :DWORD, :DWORD
externdef stdcall _imp__ImageList_GetIcon@12: ptr proto_ImageList_GetIcon
ImageList_GetIcon equ <_imp__ImageList_GetIcon@12>
proto_ImageList_LoadImageA typedef proto stdcall  :HINSTANCE, :LPSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD
externdef stdcall _imp__ImageList_LoadImageA@28: ptr proto_ImageList_LoadImageA
ImageList_LoadImageA equ <_imp__ImageList_LoadImageA@28>
proto_ImageList_LoadImageW typedef proto stdcall  :HINSTANCE, :LPWSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD
externdef stdcall _imp__ImageList_LoadImageW@28: ptr proto_ImageList_LoadImageW
ImageList_LoadImageW equ <_imp__ImageList_LoadImageW@28>
ifdef UNICODE
ImageList_LoadImage	EQU	<ImageList_LoadImageW>
else 
ImageList_LoadImage	EQU	<ImageList_LoadImageA>
endif 
if (_WIN32_IE ge 0300h)
ILCF_MOVE	EQU	00000000h
ILCF_SWAP	EQU	00000001h
proto_ImageList_Copy typedef proto stdcall  :HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD
externdef stdcall _imp__ImageList_Copy@20: ptr proto_ImageList_Copy
ImageList_Copy equ <_imp__ImageList_Copy@20>
endif 
proto_ImageList_BeginDrag typedef proto stdcall  :HIMAGELIST, :DWORD, :DWORD, :DWORD
externdef stdcall _imp__ImageList_BeginDrag@16: ptr proto_ImageList_BeginDrag
ImageList_BeginDrag equ <_imp__ImageList_BeginDrag@16>
proto_ImageList_EndDrag typedef proto stdcall 
externdef stdcall _imp__ImageList_EndDrag@0: ptr proto_ImageList_EndDrag
ImageList_EndDrag equ <_imp__ImageList_EndDrag@0>
proto_ImageList_DragEnter typedef proto stdcall  :HWND, :DWORD, :DWORD
externdef stdcall _imp__ImageList_DragEnter@12: ptr proto_ImageList_DragEnter
ImageList_DragEnter equ <_imp__ImageList_DragEnter@12>
proto_ImageList_DragLeave typedef proto stdcall  :HWND
externdef stdcall _imp__ImageList_DragLeave@4: ptr proto_ImageList_DragLeave
ImageList_DragLeave equ <_imp__ImageList_DragLeave@4>
proto_ImageList_DragMove typedef proto stdcall  :DWORD, :DWORD
externdef stdcall _imp__ImageList_DragMove@8: ptr proto_ImageList_DragMove
ImageList_DragMove equ <_imp__ImageList_DragMove@8>
proto_ImageList_SetDragCursorImage typedef proto stdcall  :HIMAGELIST, :DWORD, :DWORD, :DWORD
externdef stdcall _imp__ImageList_SetDragCursorImage@16: ptr proto_ImageList_SetDragCursorImage
ImageList_SetDragCursorImage equ <_imp__ImageList_SetDragCursorImage@16>
proto_ImageList_DragShowNolock typedef proto stdcall  :BOOL
externdef stdcall _imp__ImageList_DragShowNolock@4: ptr proto_ImageList_DragShowNolock
ImageList_DragShowNolock equ <_imp__ImageList_DragShowNolock@4>
proto_ImageList_GetDragImage typedef proto stdcall  :ptr POINT, :ptr POINT
externdef stdcall _imp__ImageList_GetDragImage@8: ptr proto_ImageList_GetDragImage
ImageList_GetDragImage equ <_imp__ImageList_GetDragImage@8>
ImageList_RemoveAll macro himl
	exitm <ImageList_Remove, himl , - 1 >
	endm
ImageList_ExtractIcon macro hi,himl,i
	exitm <ImageList_GetIcon, himl , i , 0 >
	endm
ImageList_LoadBitmap macro hi,lpbmp,cx_,cGrow,crMask
	exitm <ImageList_LoadImage, hi , lpbmp , cx_ , cGrow , crMask , IMAGE_BITMAP , 0 >
	endm
ifdef __IStream_INTERFACE_DEFINED__
proto_ImageList_Read typedef proto stdcall  :LPSTREAM
externdef stdcall _imp__ImageList_Read@4: ptr proto_ImageList_Read
ImageList_Read equ <_imp__ImageList_Read@4>
proto_ImageList_Write typedef proto stdcall  :HIMAGELIST, :LPSTREAM
externdef stdcall _imp__ImageList_Write@8: ptr proto_ImageList_Write
ImageList_Write equ <_imp__ImageList_Write@8>
endif 
IMAGEINFO	struct
hbmImage	HBITMAP	?
hbmMask	HBITMAP	?
Unused1	DWORD	?
Unused2	DWORD	?
rcImage	RECT	<>
IMAGEINFO	ends

LPIMAGEINFO typedef ptr IMAGEINFO

proto_ImageList_GetIconSize typedef proto stdcall  :HIMAGELIST, :ptr DWORD, :ptr DWORD
externdef stdcall _imp__ImageList_GetIconSize@12: ptr proto_ImageList_GetIconSize
ImageList_GetIconSize equ <_imp__ImageList_GetIconSize@12>
proto_ImageList_SetIconSize typedef proto stdcall  :HIMAGELIST, :DWORD, :DWORD
externdef stdcall _imp__ImageList_SetIconSize@12: ptr proto_ImageList_SetIconSize
ImageList_SetIconSize equ <_imp__ImageList_SetIconSize@12>
proto_ImageList_GetImageInfo typedef proto stdcall  :HIMAGELIST, :DWORD, :ptr IMAGEINFO
externdef stdcall _imp__ImageList_GetImageInfo@12: ptr proto_ImageList_GetImageInfo
ImageList_GetImageInfo equ <_imp__ImageList_GetImageInfo@12>
proto_ImageList_Merge typedef proto stdcall  :HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD, :DWORD
externdef stdcall _imp__ImageList_Merge@24: ptr proto_ImageList_Merge
ImageList_Merge equ <_imp__ImageList_Merge@24>
if (_WIN32_IE ge 0400h)
proto_ImageList_Duplicate typedef proto stdcall  :HIMAGELIST
externdef stdcall _imp__ImageList_Duplicate@4: ptr proto_ImageList_Duplicate
ImageList_Duplicate equ <_imp__ImageList_Duplicate@4>
endif 
endif 
endif 
ifndef NOHEADER
ifdef _WIN32
WC_HEADERA	EQU	<"SysHeader32">
WC_HEADERW	EQU	<L("SysHeader32")>
ifdef UNICODE
WC_HEADER	EQU	<WC_HEADERW>
else 
WC_HEADER	EQU	<WC_HEADERA>
endif 
else 
WC_HEADER	EQU	<"SysHeader">
endif 
HDS_HORZ	EQU	0000h
HDS_BUTTONS	EQU	0002h
if (_WIN32_IE ge 0300h)
HDS_HOTTRACK	EQU	0004h
endif 
HDS_HIDDEN	EQU	0008h
if (_WIN32_IE ge 0300h)
HDS_DRAGDROP	EQU	0040h
HDS_FULLDRAG	EQU	0080h
endif 
if (_WIN32_IE ge 0300h)
HD_ITEMA	EQU	<HDITEMA>
HD_ITEMW	EQU	<HDITEMW>
else 
HDITEMW	EQU	<HD_ITEMW>
HDITEMA	EQU	<HD_ITEMA>
endif 
HD_ITEM	EQU	<HDITEM>
HDITEMA	struct
mask_	DWORD	?
cxy	DWORD	?
pszText	LPSTR	?
hbm	HBITMAP	?
cchTextMax	DWORD	?
fmt	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
HDITEMA	ends

LPHDITEMA typedef ptr HDITEMA

HDITEMA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( HDITEMA , lParam )>
HDITEMW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( HDITEMW , lParam )>
HDITEMW	struct
mask_	DWORD	?
cxy	DWORD	?
pszText	LPWSTR	?
hbm	HBITMAP	?
cchTextMax	DWORD	?
fmt	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
HDITEMW	ends

LPHDITEMW typedef ptr HDITEMW

ifdef UNICODE
HDITEM	EQU	<HDITEMW>
LPHDITEM	EQU	<LPHDITEMW>
HDITEM_V1_SIZE	EQU	<HDITEMW_V1_SIZE>
else 
HDITEM	EQU	<HDITEMA>
LPHDITEM	EQU	<LPHDITEMA>
HDITEM_V1_SIZE	EQU	<HDITEMA_V1_SIZE>
endif 
HDI_WIDTH	EQU	0001h
HDI_HEIGHT	EQU	<HDI_WIDTH>
HDI_TEXT	EQU	0002h
HDI_FORMAT	EQU	0004h
HDI_LPARAM	EQU	0008h
HDI_BITMAP	EQU	0010h
if (_WIN32_IE ge 0300h)
HDI_IMAGE	EQU	0020h
HDI_DI_SETITEM	EQU	0040h
HDI_ORDER	EQU	0080h
endif 
HDF_LEFT	EQU	0
HDF_RIGHT	EQU	1
HDF_CENTER	EQU	2
HDF_JUSTIFYMASK	EQU	0003h
HDF_RTLREADING	EQU	4
HDF_OWNERDRAW	EQU	8000h
HDF_STRING	EQU	4000h
HDF_BITMAP	EQU	2000h
if (_WIN32_IE ge 0300h)
HDF_BITMAP_ON_RIGHT	EQU	1000h
HDF_IMAGE	EQU	0800h
endif 
HDM_GETITEMCOUNT	EQU	( HDM_FIRST + 0 )
Header_GetItemCount macro hwndHD
	exitm <SNDMSG ( ( hwndHD ) , HDM_GETITEMCOUNT , 0 , 0 ) >
	endm
HDM_INSERTITEMA	EQU	( HDM_FIRST + 1 )
HDM_INSERTITEMW	EQU	( HDM_FIRST + 10 )
ifdef UNICODE
HDM_INSERTITEM	EQU	<HDM_INSERTITEMW>
else 
HDM_INSERTITEM	EQU	<HDM_INSERTITEMA>
endif 
Header_InsertItem macro hwndHD,i,phdi
	exitm <SNDMSG ( ( hwndHD ) , HDM_INSERTITEM , ( i ) , <phdi> ) >
	endm
HDM_DELETEITEM	EQU	( HDM_FIRST + 2 )
Header_DeleteItem macro hwndHD,i
	exitm <SNDMSG ( ( hwndHD ) , HDM_DELETEITEM , ( i ) , 0 ) >
	endm
HDM_GETITEMA	EQU	( HDM_FIRST + 3 )
HDM_GETITEMW	EQU	( HDM_FIRST + 11 )
ifdef UNICODE
HDM_GETITEM	EQU	<HDM_GETITEMW>
else 
HDM_GETITEM	EQU	<HDM_GETITEMA>
endif 
Header_GetItem macro hwndHD,i,phdi
	exitm <SNDMSG ( ( hwndHD ) , HDM_GETITEM , ( i ) , <phdi> ) >
	endm
HDM_SETITEMA	EQU	( HDM_FIRST + 4 )
HDM_SETITEMW	EQU	( HDM_FIRST + 12 )
ifdef UNICODE
HDM_SETITEM	EQU	<HDM_SETITEMW>
else 
HDM_SETITEM	EQU	<HDM_SETITEMA>
endif 
Header_SetItem macro hwndHD,i,phdi
	exitm <SNDMSG ( ( hwndHD ) , HDM_SETITEM , ( i ) , <phdi> ) >
	endm
if (_WIN32_IE ge 0300h)
HD_LAYOUT	EQU	<HDLAYOUT>
else 
HDLAYOUT	EQU	<HD_LAYOUT>
endif 
HDLAYOUT	struct
prc	DWORD	?
pwpos	DWORD	?
HDLAYOUT	ends

LPHDLAYOUT typedef ptr HDLAYOUT

HDM_LAYOUT	EQU	( HDM_FIRST + 5 )
Header_Layout macro hwndHD,playout
	exitm <SNDMSG ( ( hwndHD ) , HDM_LAYOUT , 0 , <playout> ) >
	endm
HHT_NOWHERE	EQU	0001h
HHT_ONHEADER	EQU	0002h
HHT_ONDIVIDER	EQU	0004h
HHT_ONDIVOPEN	EQU	0008h
HHT_ABOVE	EQU	0100h
HHT_BELOW	EQU	0200h
HHT_TORIGHT	EQU	0400h
HHT_TOLEFT	EQU	0800h
if (_WIN32_IE ge 0300h)
HD_HITTESTINFO	EQU	<HDHITTESTINFO>
else 
HDHITTESTINFO	EQU	<HD_HITTESTINFO>
endif 
HDHITTESTINFO	struct
pt	POINT	<>
flags	DWORD	?
iItem	DWORD	?
HDHITTESTINFO	ends

LPHDHITTESTINFO typedef ptr HDHITTESTINFO

HDM_HITTEST	EQU	( HDM_FIRST + 6 )
if (_WIN32_IE ge 0300h)
HDM_GETITEMRECT	EQU	( HDM_FIRST + 7 )
Header_GetItemRect macro hwnd,iItem,lprc
	exitm <SNDMSG ( ( hwnd ) , HDM_GETITEMRECT , iItem , <lprc> ) >
	endm
HDM_SETIMAGELIST	EQU	( HDM_FIRST + 8 )
Header_SetImageList macro hwnd,himl
	exitm <SNDMSG ( ( hwnd ) , HDM_SETIMAGELIST , 0 , himl ) >
	endm
HDM_GETIMAGELIST	EQU	( HDM_FIRST + 9 )
Header_GetImageList macro hwnd
	exitm <SNDMSG ( ( hwnd ) , HDM_GETIMAGELIST , 0 , 0 ) >
	endm
HDM_ORDERTOINDEX	EQU	( HDM_FIRST + 15 )
Header_OrderToIndex macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , HDM_ORDERTOINDEX , i , 0 ) >
	endm
HDM_CREATEDRAGIMAGE	EQU	( HDM_FIRST + 16 )
Header_CreateDragImage macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , HDM_CREATEDRAGIMAGE , i , 0 ) >
	endm
HDM_GETORDERARRAY	EQU	( HDM_FIRST + 17 )
Header_GetOrderArray macro hwnd,iCount,lpi
	exitm <SNDMSG ( ( hwnd ) , HDM_GETORDERARRAY , iCount , <lpi> ) >
	endm
HDM_SETORDERARRAY	EQU	( HDM_FIRST + 18 )
Header_SetOrderArray macro hwnd,iCount,lpi
	exitm <SNDMSG ( ( hwnd ) , HDM_SETORDERARRAY , iCount , <lpi> ) >
	endm
HDM_SETHOTDIVIDER	EQU	( HDM_FIRST + 19 )
Header_SetHotDivider macro hwnd,fPos,dw_
	exitm <SNDMSG ( ( hwnd ) , HDM_SETHOTDIVIDER , fPos , dw_ ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
HDM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
Header_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , HDM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
HDM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
Header_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , HDM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
HDN_ITEMCHANGINGA	EQU	( HDN_FIRST - 0 )
HDN_ITEMCHANGINGW	EQU	( HDN_FIRST - 20 )
HDN_ITEMCHANGEDA	EQU	( HDN_FIRST - 1 )
HDN_ITEMCHANGEDW	EQU	( HDN_FIRST - 21 )
HDN_ITEMCLICKA	EQU	( HDN_FIRST - 2 )
HDN_ITEMCLICKW	EQU	( HDN_FIRST - 22 )
HDN_ITEMDBLCLICKA	EQU	( HDN_FIRST - 3 )
HDN_ITEMDBLCLICKW	EQU	( HDN_FIRST - 23 )
HDN_DIVIDERDBLCLICKA	EQU	( HDN_FIRST - 5 )
HDN_DIVIDERDBLCLICKW	EQU	( HDN_FIRST - 25 )
HDN_BEGINTRACKA	EQU	( HDN_FIRST - 6 )
HDN_BEGINTRACKW	EQU	( HDN_FIRST - 26 )
HDN_ENDTRACKA	EQU	( HDN_FIRST - 7 )
HDN_ENDTRACKW	EQU	( HDN_FIRST - 27 )
HDN_TRACKA	EQU	( HDN_FIRST - 8 )
HDN_TRACKW	EQU	( HDN_FIRST - 28 )
if (_WIN32_IE ge 0300h)
HDN_GETDISPINFOA	EQU	( HDN_FIRST - 9 )
HDN_GETDISPINFOW	EQU	( HDN_FIRST - 29 )
HDN_BEGINDRAG	EQU	( HDN_FIRST - 10 )
HDN_ENDDRAG	EQU	( HDN_FIRST - 11 )
endif 
ifdef UNICODE
HDN_ITEMCHANGING	EQU	<HDN_ITEMCHANGINGW>
HDN_ITEMCHANGED	EQU	<HDN_ITEMCHANGEDW>
HDN_ITEMCLICK	EQU	<HDN_ITEMCLICKW>
HDN_ITEMDBLCLICK	EQU	<HDN_ITEMDBLCLICKW>
HDN_DIVIDERDBLCLICK	EQU	<HDN_DIVIDERDBLCLICKW>
HDN_BEGINTRACK	EQU	<HDN_BEGINTRACKW>
HDN_ENDTRACK	EQU	<HDN_ENDTRACKW>
HDN_TRACK	EQU	<HDN_TRACKW>
if (_WIN32_IE ge 0300h)
HDN_GETDISPINFO	EQU	<HDN_GETDISPINFOW>
endif 
else 
HDN_ITEMCHANGING	EQU	<HDN_ITEMCHANGINGA>
HDN_ITEMCHANGED	EQU	<HDN_ITEMCHANGEDA>
HDN_ITEMCLICK	EQU	<HDN_ITEMCLICKA>
HDN_ITEMDBLCLICK	EQU	<HDN_ITEMDBLCLICKA>
HDN_DIVIDERDBLCLICK	EQU	<HDN_DIVIDERDBLCLICKA>
HDN_BEGINTRACK	EQU	<HDN_BEGINTRACKA>
HDN_ENDTRACK	EQU	<HDN_ENDTRACKA>
HDN_TRACK	EQU	<HDN_TRACKA>
if (_WIN32_IE ge 0300h)
HDN_GETDISPINFO	EQU	<HDN_GETDISPINFOA>
endif 
endif 
if (_WIN32_IE ge 0300h)
HD_NOTIFYA	EQU	<NMHEADERA>
HD_NOTIFYW	EQU	<NMHEADERW>
else 
tagNMHEADERA	EQU	<_HD_NOTIFY>
NMHEADERA	EQU	<HD_NOTIFYA>
tagHMHEADERW	EQU	<_HD_NOTIFYW>
NMHEADERW	EQU	<HD_NOTIFYW>
endif 
HD_NOTIFY	EQU	<NMHEADER>
NMHEADERA	struct
hdr	NMHDR	<>
iItem	DWORD	?
iButton	DWORD	?
pitem	DWORD	?
NMHEADERA	ends

LPNMHEADERA typedef ptr NMHEADERA

NMHEADERW	struct
hdr	NMHDR	<>
iItem	DWORD	?
iButton	DWORD	?
pitem	DWORD	?
NMHEADERW	ends

LPNMHEADERW typedef ptr NMHEADERW

ifdef UNICODE
NMHEADER	EQU	<NMHEADERW>
LPNMHEADER	EQU	<LPNMHEADERW>
else 
NMHEADER	EQU	<NMHEADERA>
LPNMHEADER	EQU	<LPNMHEADERA>
endif 
NMHDDISPINFOW	struct
hdr	NMHDR	<>
iItem	DWORD	?
mask_	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
NMHDDISPINFOW	ends

LPNMHDDISPINFOW typedef ptr NMHDDISPINFOW

NMHDDISPINFOA	struct
hdr	NMHDR	<>
iItem	DWORD	?
mask_	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
NMHDDISPINFOA	ends

LPNMHDDISPINFOA typedef ptr NMHDDISPINFOA

ifdef UNICODE
NMHDDISPINFO	EQU	<NMHDDISPINFOW>
LPNMHDDISPINFO	EQU	<LPNMHDDISPINFOW>
else 
NMHDDISPINFO	EQU	<NMHDDISPINFOA>
LPNMHDDISPINFO	EQU	<LPNMHDDISPINFOA>
endif 
endif 
ifndef NOTOOLBAR
ifdef _WIN32
TOOLBARCLASSNAMEW	EQU	<L("ToolbarWindow32")>
TOOLBARCLASSNAMEA	EQU	<"ToolbarWindow32">
ifdef UNICODE
TOOLBARCLASSNAME	EQU	<TOOLBARCLASSNAMEW>
else 
TOOLBARCLASSNAME	EQU	<TOOLBARCLASSNAMEA>
endif 
else 
TOOLBARCLASSNAME	EQU	<"ToolbarWindow">
endif 
TBBUTTON	struct
iBitmap	DWORD	?
idCommand	DWORD	?
fsState	BYTE	?
fsStyle	BYTE	?
ifdef _WIN32
bReserved	BYTE 2 dup (?)
endif 
dwData	DWORD	?
iString	DWORD	?
TBBUTTON	ends

PTBBUTTON typedef ptr TBBUTTON
LPTBBUTTON typedef ptr TBBUTTON

LPCTBBUTTON typedef ptr TBBUTTON
COLORMAP	struct
from	COLORREF	?
to	COLORREF	?
COLORMAP	ends

LPCOLORMAP typedef ptr COLORMAP

proto_CreateToolbarEx typedef proto stdcall  :HWND, :DWORD, :DWORD, :DWORD, :HINSTANCE, :DWORD, :LPCTBBUTTON, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
externdef stdcall _imp__CreateToolbarEx@52: ptr proto_CreateToolbarEx
CreateToolbarEx equ <_imp__CreateToolbarEx@52>
proto_CreateMappedBitmap typedef proto stdcall  :HINSTANCE, :DWORD, :DWORD, :LPCOLORMAP, :DWORD
externdef stdcall _imp__CreateMappedBitmap@20: ptr proto_CreateMappedBitmap
CreateMappedBitmap equ <_imp__CreateMappedBitmap@20>
CMB_MASKED	EQU	02h
TBSTATE_CHECKED	EQU	01h
TBSTATE_PRESSED	EQU	02h
TBSTATE_ENABLED	EQU	04h
TBSTATE_HIDDEN	EQU	08h
TBSTATE_INDETERMINATE	EQU	10h
TBSTATE_WRAP	EQU	20h
if (_WIN32_IE ge 0300h)
TBSTATE_ELLIPSES	EQU	40h
endif 
if (_WIN32_IE ge 0400h)
TBSTATE_MARKED	EQU	80h
endif 
TBSTYLE_BUTTON	EQU	0000h
TBSTYLE_SEP	EQU	0001h
TBSTYLE_CHECK	EQU	0002h
TBSTYLE_GROUP	EQU	0004h
TBSTYLE_CHECKGROUP	EQU	( TBSTYLE_GROUP  or  TBSTYLE_CHECK )
if (_WIN32_IE ge 0300h)
TBSTYLE_DROPDOWN	EQU	0008h
endif 
if (_WIN32_IE ge 0400h)
TBSTYLE_AUTOSIZE	EQU	0010h
TBSTYLE_NOPREFIX	EQU	0020h
endif 
TBSTYLE_TOOLTIPS	EQU	0100h
TBSTYLE_WRAPABLE	EQU	0200h
TBSTYLE_ALTDRAG	EQU	0400h
if (_WIN32_IE ge 0300h)
TBSTYLE_FLAT	EQU	0800h
TBSTYLE_LIST	EQU	1000h
TBSTYLE_CUSTOMERASE	EQU	2000h
endif 
if (_WIN32_IE ge 0400h)
TBSTYLE_REGISTERDROP	EQU	4000h
TBSTYLE_TRANSPARENT	EQU	8000h
TBSTYLE_EX_DRAWDDARROWS	EQU	00000001h
endif 
if (_WIN32_IE ge 0400h)
NMTBCUSTOMDRAW	struct
nmcd	NMCUSTOMDRAW	<>
hbrMonoDither	HBRUSH	?
hbrLines	HBRUSH	?
hpenLines	HPEN	?
clrText	COLORREF	?
clrMark	COLORREF	?
clrTextHighlight	COLORREF	?
clrBtnFace	COLORREF	?
clrBtnHighlight	COLORREF	?
clrHighlightHotTrack	COLORREF	?
rcText	RECT	<>
nStringBkMode	DWORD	?
nHLStringBkMode	DWORD	?
NMTBCUSTOMDRAW	ends

LPNMTBCUSTOMDRAW typedef ptr NMTBCUSTOMDRAW

TBCDRF_NOEDGES	EQU	00010000h
TBCDRF_HILITEHOTTRACK	EQU	00020000h
TBCDRF_NOOFFSET	EQU	00040000h
TBCDRF_NOMARK	EQU	00080000h
TBCDRF_NOETCHEDEFFECT	EQU	00100000h
endif 
TB_ENABLEBUTTON	EQU	( WM_USER + 1 )
TB_CHECKBUTTON	EQU	( WM_USER + 2 )
TB_PRESSBUTTON	EQU	( WM_USER + 3 )
TB_HIDEBUTTON	EQU	( WM_USER + 4 )
TB_INDETERMINATE	EQU	( WM_USER + 5 )
if (_WIN32_IE ge 0400h)
TB_MARKBUTTON	EQU	( WM_USER + 6 )
endif 
TB_ISBUTTONENABLED	EQU	( WM_USER + 9 )
TB_ISBUTTONCHECKED	EQU	( WM_USER + 10 )
TB_ISBUTTONPRESSED	EQU	( WM_USER + 11 )
TB_ISBUTTONHIDDEN	EQU	( WM_USER + 12 )
TB_ISBUTTONINDETERMINATE	EQU	( WM_USER + 13 )
if (_WIN32_IE ge 0400h)
TB_ISBUTTONHIGHLIGHTED	EQU	( WM_USER + 14 )
endif 
TB_SETSTATE	EQU	( WM_USER + 17 )
TB_GETSTATE	EQU	( WM_USER + 18 )
TB_ADDBITMAP	EQU	( WM_USER + 19 )
ifdef _WIN32
TBADDBITMAP	struct
hInst	HINSTANCE	?
nID	DWORD	?
TBADDBITMAP	ends

LPTBADDBITMAP typedef ptr TBADDBITMAP

HINST_COMMCTRL	EQU	( ( HINSTANCE ) - 1 )
IDB_STD_SMALL_COLOR	EQU	0
IDB_STD_LARGE_COLOR	EQU	1
IDB_VIEW_SMALL_COLOR	EQU	4
IDB_VIEW_LARGE_COLOR	EQU	5
if (_WIN32_IE ge 0300h)
IDB_HIST_SMALL_COLOR	EQU	8
IDB_HIST_LARGE_COLOR	EQU	9
endif 
STD_CUT	EQU	0
STD_COPY	EQU	1
STD_PASTE	EQU	2
STD_UNDO	EQU	3
STD_REDOW	EQU	4
STD_DELETE	EQU	5
STD_FILENEW	EQU	6
STD_FILEOPEN	EQU	7
STD_FILESAVE	EQU	8
STD_PRINTPRE	EQU	9
STD_PROPERTIES	EQU	10
STD_HELP	EQU	11
STD_FIND	EQU	12
STD_REPLACE	EQU	13
STD_PRINT	EQU	14
VIEW_LARGEICONS	EQU	0
VIEW_SMALLICONS	EQU	1
VIEW_LIST	EQU	2
VIEW_DETAILS	EQU	3
VIEW_SORTNAME	EQU	4
VIEW_SORTSIZE	EQU	5
VIEW_SORTDATE	EQU	6
VIEW_SORTTYPE	EQU	7
VIEW_PARENTFOLDER	EQU	8
VIEW_NETCONNECT	EQU	9
VIEW_NETDISCONNECT	EQU	10
VIEW_NEWFOLDER	EQU	11
if (_WIN32_IE ge 0400h)
VIEW_VIEWMENU	EQU	12
endif 
if (_WIN32_IE ge 0300h)
HIST_BACK	EQU	0
HIST_FORWARD	EQU	1
HIST_FAVORITES	EQU	2
HIST_ADDTOFAVORITES	EQU	3
HIST_VIEWTREE	EQU	4
endif 
endif 
if (_WIN32_IE ge 0400h)
TB_ADDBUTTONSA	EQU	( WM_USER + 20 )
TB_INSERTBUTTONA	EQU	( WM_USER + 21 )
else 
TB_ADDBUTTONS	EQU	( WM_USER + 20 )
TB_INSERTBUTTON	EQU	( WM_USER + 21 )
endif 
TB_DELETEBUTTON	EQU	( WM_USER + 22 )
TB_GETBUTTON	EQU	( WM_USER + 23 )
TB_BUTTONCOUNT	EQU	( WM_USER + 24 )
TB_COMMANDTOINDEX	EQU	( WM_USER + 25 )
ifdef _WIN32
TBSAVEPARAMSA	struct
hkr	HKEY	?
pszSubKey	LPSTR	?
pszValueName	LPSTR	?
TBSAVEPARAMSA	ends

LPTBSAVEPARAMSA typedef ptr TBSAVEPARAMSA

TBSAVEPARAMSW	struct
hkr	HKEY	?
pszSubKey	LPWSTR	?
pszValueName	LPWSTR	?
TBSAVEPARAMSW	ends

LPTBSAVEPARAMW typedef ptr TBSAVEPARAMSW

ifdef UNICODE
TBSAVEPARAMS	EQU	<TBSAVEPARAMSW>
LPTBSAVEPARAMS	EQU	<LPTBSAVEPARAMSW>
else 
TBSAVEPARAMS	EQU	<TBSAVEPARAMSA>
LPTBSAVEPARAMS	EQU	<LPTBSAVEPARAMSA>
endif 
endif 
TB_SAVERESTOREA	EQU	( WM_USER + 26 )
TB_SAVERESTOREW	EQU	( WM_USER + 76 )
TB_CUSTOMIZE	EQU	( WM_USER + 27 )
TB_ADDSTRINGA	EQU	( WM_USER + 28 )
TB_ADDSTRINGW	EQU	( WM_USER + 77 )
TB_GETITEMRECT	EQU	( WM_USER + 29 )
TB_BUTTONSTRUCTSIZE	EQU	( WM_USER + 30 )
TB_SETBUTTONSIZE	EQU	( WM_USER + 31 )
TB_SETBITMAPSIZE	EQU	( WM_USER + 32 )
TB_AUTOSIZE	EQU	( WM_USER + 33 )
TB_GETTOOLTIPS	EQU	( WM_USER + 35 )
TB_SETTOOLTIPS	EQU	( WM_USER + 36 )
TB_SETPARENT	EQU	( WM_USER + 37 )
TB_SETROWS	EQU	( WM_USER + 39 )
TB_GETROWS	EQU	( WM_USER + 40 )
TB_SETCMDID	EQU	( WM_USER + 42 )
TB_CHANGEBITMAP	EQU	( WM_USER + 43 )
TB_GETBITMAP	EQU	( WM_USER + 44 )
TB_GETBUTTONTEXTA	EQU	( WM_USER + 45 )
TB_GETBUTTONTEXTW	EQU	( WM_USER + 75 )
TB_REPLACEBITMAP	EQU	( WM_USER + 46 )
if (_WIN32_IE ge 0300h)
TB_SETINDENT	EQU	( WM_USER + 47 )
TB_SETIMAGELIST	EQU	( WM_USER + 48 )
TB_GETIMAGELIST	EQU	( WM_USER + 49 )
TB_LOADIMAGES	EQU	( WM_USER + 50 )
TB_GETRECT	EQU	( WM_USER + 51 )
TB_SETHOTIMAGELIST	EQU	( WM_USER + 52 )
TB_GETHOTIMAGELIST	EQU	( WM_USER + 53 )
TB_SETDISABLEDIMAGELIST	EQU	( WM_USER + 54 )
TB_GETDISABLEDIMAGELIST	EQU	( WM_USER + 55 )
TB_SETSTYLE	EQU	( WM_USER + 56 )
TB_GETSTYLE	EQU	( WM_USER + 57 )
TB_GETBUTTONSIZE	EQU	( WM_USER + 58 )
TB_SETBUTTONWIDTH	EQU	( WM_USER + 59 )
TB_SETMAXTEXTROWS	EQU	( WM_USER + 60 )
TB_GETTEXTROWS	EQU	( WM_USER + 61 )
endif 
ifdef UNICODE
TB_GETBUTTONTEXT	EQU	<TB_GETBUTTONTEXTW>
TB_SAVERESTORE	EQU	<TB_SAVERESTOREW>
TB_ADDSTRING	EQU	<TB_ADDSTRINGW>
else 
TB_GETBUTTONTEXT	EQU	<TB_GETBUTTONTEXTA>
TB_SAVERESTORE	EQU	<TB_SAVERESTOREA>
TB_ADDSTRING	EQU	<TB_ADDSTRINGA>
endif 
if (_WIN32_IE ge 0400h)
TB_GETOBJECT	EQU	( WM_USER + 62 )
TB_GETHOTITEM	EQU	( WM_USER + 71 )
TB_SETHOTITEM	EQU	( WM_USER + 72 )
TB_SETANCHORHIGHLIGHT	EQU	( WM_USER + 73 )
TB_GETANCHORHIGHLIGHT	EQU	( WM_USER + 74 )
TB_MAPACCELERATORA	EQU	( WM_USER + 78 )
TBINSERTMARK	struct
iButton	DWORD	?
dwFlags	DWORD	?
TBINSERTMARK	ends

LPTBINSERTMARK typedef ptr TBINSERTMARK

TBIMHT_AFTER	EQU	00000001h
TBIMHT_BACKGROUND	EQU	00000002h
TB_GETINSERTMARK	EQU	( WM_USER + 79 )
TB_SETINSERTMARK	EQU	( WM_USER + 80 )
TB_INSERTMARKHITTEST	EQU	( WM_USER + 81 )
TB_MOVEBUTTON	EQU	( WM_USER + 82 )
TB_GETMAXSIZE	EQU	( WM_USER + 83 )
TB_SETEXTENDEDSTYLE	EQU	( WM_USER + 84 )
TB_GETEXTENDEDSTYLE	EQU	( WM_USER + 85 )
TB_GETPADDING	EQU	( WM_USER + 86 )
TB_SETPADDING	EQU	( WM_USER + 87 )
TB_SETINSERTMARKCOLOR	EQU	( WM_USER + 88 )
TB_GETINSERTMARKCOLOR	EQU	( WM_USER + 89 )
TB_SETCOLORSCHEME	EQU	<CCM_SETCOLORSCHEME>
TB_GETCOLORSCHEME	EQU	<CCM_GETCOLORSCHEME>
TB_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TB_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
TB_MAPACCELERATORW	EQU	( WM_USER + 90 )
ifdef UNICODE
TB_MAPACCELERATOR	EQU	<TB_MAPACCELERATORW>
else 
TB_MAPACCELERATOR	EQU	<TB_MAPACCELERATORA>
endif 
endif 
TBREPLACEBITMAP	struct
hInstOld	HINSTANCE	?
nIDOld	DWORD	?
hInstNew	HINSTANCE	?
nIDNew	DWORD	?
nButtons	DWORD	?
TBREPLACEBITMAP	ends

LPTBREPLACEBITMAP typedef ptr TBREPLACEBITMAP

ifdef _WIN32
TBBF_LARGE	EQU	0001h
TB_GETBITMAPFLAGS	EQU	( WM_USER + 41 )
if (_WIN32_IE ge 0400h)
TBIF_IMAGE	EQU	00000001h
TBIF_TEXT	EQU	00000002h
TBIF_STATE	EQU	00000004h
TBIF_STYLE	EQU	00000008h
TBIF_LPARAM	EQU	00000010h
TBIF_COMMAND	EQU	00000020h
TBIF_SIZE	EQU	00000040h
TBBUTTONINFOA	struct
cbSize	DWORD	?
dwMask	DWORD	?
idCommand	DWORD	?
iImage	DWORD	?
fsState	BYTE	?
fsStyle	BYTE	?
cx_	WORD	?
lParam	DWORD	?
pszText	LPSTR	?
cchText	DWORD	?
TBBUTTONINFOA	ends

LPTBBUTTONINFOA typedef ptr TBBUTTONINFOA

TBBUTTONINFOW	struct
cbSize	DWORD	?
dwMask	DWORD	?
idCommand	DWORD	?
iImage	DWORD	?
fsState	BYTE	?
fsStyle	BYTE	?
cx_	WORD	?
lParam	DWORD	?
pszText	LPWSTR	?
cchText	DWORD	?
TBBUTTONINFOW	ends

LPTBBUTTONINFOW typedef ptr TBBUTTONINFOW

ifdef UNICODE
TBBUTTONINFO	EQU	<TBBUTTONINFOW>
LPTBBUTTONINFO	EQU	<LPTBBUTTONINFOW>
else 
TBBUTTONINFO	EQU	<TBBUTTONINFOA>
LPTBBUTTONINFO	EQU	<LPTBBUTTONINFOA>
endif 
TB_GETBUTTONINFOW	EQU	( WM_USER + 63 )
TB_SETBUTTONINFOW	EQU	( WM_USER + 64 )
TB_GETBUTTONINFOA	EQU	( WM_USER + 65 )
TB_SETBUTTONINFOA	EQU	( WM_USER + 66 )
ifdef UNICODE
TB_GETBUTTONINFO	EQU	<TB_GETBUTTONINFOW>
TB_SETBUTTONINFO	EQU	<TB_SETBUTTONINFOW>
else 
TB_GETBUTTONINFO	EQU	<TB_GETBUTTONINFOA>
TB_SETBUTTONINFO	EQU	<TB_SETBUTTONINFOA>
endif 
TB_INSERTBUTTONW	EQU	( WM_USER + 67 )
TB_ADDBUTTONSW	EQU	( WM_USER + 68 )
TB_HITTEST	EQU	( WM_USER + 69 )
ifdef UNICODE
TB_INSERTBUTTON	EQU	<TB_INSERTBUTTONW>
TB_ADDBUTTONS	EQU	<TB_ADDBUTTONSW>
else 
TB_INSERTBUTTON	EQU	<TB_INSERTBUTTONA>
TB_ADDBUTTONS	EQU	<TB_ADDBUTTONSA>
endif 
TB_SETDRAWTEXTFLAGS	EQU	( WM_USER + 70 )
endif 
TBN_GETBUTTONINFOA	EQU	( TBN_FIRST - 0 )
TBN_GETBUTTONINFOW	EQU	( TBN_FIRST - 20 )
TBN_BEGINDRAG	EQU	( TBN_FIRST - 1 )
TBN_ENDDRAG	EQU	( TBN_FIRST - 2 )
TBN_BEGINADJUST	EQU	( TBN_FIRST - 3 )
TBN_ENDADJUST	EQU	( TBN_FIRST - 4 )
TBN_RESET	EQU	( TBN_FIRST - 5 )
TBN_QUERYINSERT	EQU	( TBN_FIRST - 6 )
TBN_QUERYDELETE	EQU	( TBN_FIRST - 7 )
TBN_TOOLBARCHANGE	EQU	( TBN_FIRST - 8 )
TBN_CUSTHELP	EQU	( TBN_FIRST - 9 )
if (_WIN32_IE ge 0300h)
TBN_DROPDOWN	EQU	( TBN_FIRST - 10 )
endif 
if (_WIN32_IE ge 0400h)
TBN_GETOBJECT	EQU	( TBN_FIRST - 12 )
NMTBHOTITEM	struct
hdr	NMHDR	<>
idOld	DWORD	?
idNew	DWORD	?
dwFlags	DWORD	?
NMTBHOTITEM	ends

LPNMTBHOTITEM typedef ptr NMTBHOTITEM

HICF_OTHER	EQU	00000000h
HICF_MOUSE	EQU	00000001h
HICF_ARROWKEYS	EQU	00000002h
HICF_ACCELERATOR	EQU	00000004h
HICF_DUPACCEL	EQU	00000008h
HICF_ENTERING	EQU	00000010h
HICF_LEAVING	EQU	00000020h
HICF_RESELECT	EQU	00000040h
TBN_HOTITEMCHANGE	EQU	( TBN_FIRST - 13 )
TBN_DRAGOUT	EQU	( TBN_FIRST - 14 )
TBN_DELETINGBUTTON	EQU	( TBN_FIRST - 15 )
TBN_GETDISPINFOA	EQU	( TBN_FIRST - 16 )
TBN_GETDISPINFOW	EQU	( TBN_FIRST - 17 )
TBN_GETINFOTIPA	EQU	( TBN_FIRST - 18 )
TBN_GETINFOTIPW	EQU	( TBN_FIRST - 19 )
NMTBGETINFOTIPA	struct
hdr	NMHDR	<>
pszText	LPSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
lParam	LPARAM	?
NMTBGETINFOTIPA	ends

LPNMTBGETINFOTIPA typedef ptr NMTBGETINFOTIPA

NMTBGETINFOTIPW	struct
hdr	NMHDR	<>
pszText	LPWSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
lParam	LPARAM	?
NMTBGETINFOTIPW	ends

LPNMTBGETINFOTIPW typedef ptr NMTBGETINFOTIPW

ifdef UNICODE
TBN_GETINFOTIP	EQU	<TBN_GETINFOTIPW>
NMTBGETINFOTIP	EQU	<NMTBGETINFOTIPW>
LPNMTBGETINFOTIP	EQU	<LPNMTBGETINFOTIPW>
else 
TBN_GETINFOTIP	EQU	<TBN_GETINFOTIPA>
NMTBGETINFOTIP	EQU	<NMTBGETINFOTIPA>
LPNMTBGETINFOTIP	EQU	<LPNMTBGETINFOTIPA>
endif 
TBNF_IMAGE	EQU	00000001h
TBNF_TEXT	EQU	00000002h
TBNF_DI_SETITEM	EQU	10000000h
NMTBDISPINFOA	struct
hdr	NMHDR	<>
dwMask	DWORD	?
idCommand	DWORD	?
lParam	DWORD	?
iImage	DWORD	?
pszText	LPSTR	?
cchText	DWORD	?
NMTBDISPINFOA	ends

LPNMTBDISPINFOA typedef ptr NMTBDISPINFOA

NMTBDISPINFOW	struct
hdr	NMHDR	<>
dwMask	DWORD	?
idCommand	DWORD	?
lParam	DWORD	?
iImage	DWORD	?
pszText	LPWSTR	?
cchText	DWORD	?
NMTBDISPINFOW	ends

LPNMTBDISPINFOW typedef ptr NMTBDISPINFOW

ifdef UNICODE
TBN_GETDISPINFO	EQU	<TBN_GETDISPINFOW>
NMTBDISPINFO	EQU	<NMTBDISPINFOW>
LPNMTBDISPINFO	EQU	<LPNMTBDISPINFOW>
else 
TBN_GETDISPINFO	EQU	<TBN_GETDISPINFOA>
NMTBDISPINFO	EQU	<NMTBDISPINFOA>
LPNMTBDISPINFO	EQU	<LPNMTBDISPINFOA>
endif 
TBDDRET_DEFAULT	EQU	0
TBDDRET_NODEFAULT	EQU	1
TBDDRET_TREATPRESSED	EQU	2
endif 
ifdef UNICODE
TBN_GETBUTTONINFO	EQU	<TBN_GETBUTTONINFOW>
else 
TBN_GETBUTTONINFO	EQU	<TBN_GETBUTTONINFOA>
endif 
if (_WIN32_IE ge 0300h)
TBNOTIFYA	EQU	<NMTOOLBARA>
TBNOTIFYW	EQU	<NMTOOLBARW>
LPTBNOTIFYA	EQU	<LPNMTOOLBARA>
LPTBNOTIFYW	EQU	<LPNMTOOLBARW>
else 
tagNMTOOLBARA	EQU	<tagTBNOTIFYA>
NMTOOLBARA	EQU	<TBNOTIFYA>
LPNMTOOLBARA	EQU	<LPTBNOTIFYA>
tagNMTOOLBARW	EQU	<tagTBNOTIFYW>
NMTOOLBARW	EQU	<TBNOTIFYW>
LPNMTOOLBARW	EQU	<LPTBNOTIFYW>
endif 
TBNOTIFY	EQU	<NMTOOLBAR>
LPTBNOTIFY	EQU	<LPNMTOOLBAR>
if (_WIN32_IE ge 0300h)
NMTOOLBARA	struct
hdr	NMHDR	<>
iItem	DWORD	?
tbButton	TBBUTTON	<>
cchText	DWORD	?
pszText	LPSTR	?
NMTOOLBARA	ends

LPNMTOOLBARA typedef ptr NMTOOLBARA

endif 
if (_WIN32_IE ge 0300h)
NMTOOLBARW	struct
hdr	NMHDR	<>
iItem	DWORD	?
tbButton	TBBUTTON	<>
cchText	DWORD	?
pszText	LPWSTR	?
NMTOOLBARW	ends

LPNMTOOLBARW typedef ptr NMTOOLBARW

endif 
ifdef UNICODE
NMTOOLBAR	EQU	<NMTOOLBARW>
LPNMTOOLBAR	EQU	<LPNMTOOLBARW>
else 
NMTOOLBAR	EQU	<NMTOOLBARA>
LPNMTOOLBAR	EQU	<LPNMTOOLBARA>
endif 
endif 
endif 
if (_WIN32_IE ge 0300h)
ifndef NOREBAR
ifdef _WIN32
REBARCLASSNAMEW	EQU	<L("ReBarWindow32")>
REBARCLASSNAMEA	EQU	<"ReBarWindow32">
ifdef UNICODE
REBARCLASSNAME	EQU	<REBARCLASSNAMEW>
else 
REBARCLASSNAME	EQU	<REBARCLASSNAMEA>
endif 
else 
REBARCLASSNAME	EQU	<"ReBarWindow">
endif 
RBIM_IMAGELIST	EQU	00000001h
if (_WIN32_IE ge 0400h)
RBS_TOOLTIPS	EQU	0100h
RBS_VARHEIGHT	EQU	0200h
RBS_BANDBORDERS	EQU	0400h
RBS_FIXEDORDER	EQU	0800h
RBS_REGISTERDROP	EQU	1000h
RBS_AUTOSIZE	EQU	2000h
RBS_VERTICALGRIPPER	EQU	4000h
RBS_DBLCLKTOGGLE	EQU	8000h
else 
RBS_TOOLTIPS	EQU	00000100h
RBS_VARHEIGHT	EQU	00000200h
RBS_BANDBORDERS	EQU	00000400h
RBS_FIXEDORDER	EQU	00000800h
endif 
REBARINFO	struct
cbSize	DWORD	?
fMask	DWORD	?
ifndef NOIMAGEAPIS
himl	HIMAGELIST	?
else 
himl	HANDLE	?
endif 
REBARINFO	ends

LPREBARINFO typedef ptr REBARINFO

RBBS_BREAK	EQU	00000001h
RBBS_FIXEDSIZE	EQU	00000002h
RBBS_CHILDEDGE	EQU	00000004h
RBBS_HIDDEN	EQU	00000008h
RBBS_NOVERT	EQU	00000010h
RBBS_FIXEDBMP	EQU	00000020h
if (_WIN32_IE ge 0400h)
RBBS_VARIABLEHEIGHT	EQU	00000040h
RBBS_GRIPPERALWAYS	EQU	00000080h
RBBS_NOGRIPPER	EQU	00000100h
endif 
RBBIM_STYLE	EQU	00000001h
RBBIM_COLORS	EQU	00000002h
RBBIM_TEXT	EQU	00000004h
RBBIM_IMAGE	EQU	00000008h
RBBIM_CHILD	EQU	00000010h
RBBIM_CHILDSIZE	EQU	00000020h
RBBIM_SIZE	EQU	00000040h
RBBIM_BACKGROUND	EQU	00000080h
RBBIM_ID	EQU	00000100h
if (_WIN32_IE ge 0400h)
RBBIM_IDEALSIZE	EQU	00000200h
RBBIM_LPARAM	EQU	00000400h
RBBIM_HEADERSIZE	EQU	00000800h
endif 
REBARBANDINFOA	struct
cbSize	DWORD	?
fMask	DWORD	?
fStyle	DWORD	?
clrFore	COLORREF	?
clrBack	COLORREF	?
lpText	LPSTR	?
cch	DWORD	?
iImage	DWORD	?
hwndChild	HWND	?
cxMinChild	DWORD	?
cyMinChild	DWORD	?
cx_	DWORD	?
hbmBack	HBITMAP	?
wID	DWORD	?
if (_WIN32_IE ge 0400h)
cyChild	DWORD	?
cyMaxChild	DWORD	?
cyIntegral	DWORD	?
cxIdeal	DWORD	?
lParam	LPARAM	?
cxHeader	DWORD	?
endif 
REBARBANDINFOA	ends

LPREBARBANDINFOA typedef ptr REBARBANDINFOA

LPCREBARBANDINFOA typedef ptr REBARBANDINFOA
REBARBANDINFOA_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( REBARBANDINFOA , wID )>
REBARBANDINFOW_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( REBARBANDINFOW , wID )>
REBARBANDINFOW	struct
cbSize	DWORD	?
fMask	DWORD	?
fStyle	DWORD	?
clrFore	COLORREF	?
clrBack	COLORREF	?
lpText	LPWSTR	?
cch	DWORD	?
iImage	DWORD	?
hwndChild	HWND	?
cxMinChild	DWORD	?
cyMinChild	DWORD	?
cx_	DWORD	?
hbmBack	HBITMAP	?
wID	DWORD	?
if (_WIN32_IE ge 0400h)
cyChild	DWORD	?
cyMaxChild	DWORD	?
cyIntegral	DWORD	?
cxIdeal	DWORD	?
lParam	LPARAM	?
cxHeader	DWORD	?
endif 
REBARBANDINFOW	ends

LPREBARBANDINFOW typedef ptr REBARBANDINFOW

LPCREBARBANDINFOW typedef ptr REBARBANDINFOW
ifdef UNICODE
REBARBANDINFO	EQU	<REBARBANDINFOW>
LPREBARBANDINFO	EQU	<LPREBARBANDINFOW>
LPCREBARBANDINFO	EQU	<LPCREBARBANDINFOW>
REBARBANDINFO_V3_SIZE	EQU	<REBARBANDINFOW_V3_SIZE>
else 
REBARBANDINFO	EQU	<REBARBANDINFOA>
LPREBARBANDINFO	EQU	<LPREBARBANDINFOA>
LPCREBARBANDINFO	EQU	<LPCREBARBANDINFOA>
REBARBANDINFO_V3_SIZE	EQU	<REBARBANDINFOA_V3_SIZE>
endif 
RB_INSERTBANDA	EQU	( WM_USER + 1 )
RB_DELETEBAND	EQU	( WM_USER + 2 )
RB_GETBARINFO	EQU	( WM_USER + 3 )
RB_SETBARINFO	EQU	( WM_USER + 4 )
if (_WIN32_IE lt 0400h)
RB_GETBANDINFO	EQU	( WM_USER + 5 )
endif 
RB_SETBANDINFOA	EQU	( WM_USER + 6 )
RB_SETPARENT	EQU	( WM_USER + 7 )
if (_WIN32_IE ge 0400h)
RB_HITTEST	EQU	( WM_USER + 8 )
RB_GETRECT	EQU	( WM_USER + 9 )
endif 
RB_INSERTBANDW	EQU	( WM_USER + 10 )
RB_SETBANDINFOW	EQU	( WM_USER + 11 )
RB_GETBANDCOUNT	EQU	( WM_USER + 12 )
RB_GETROWCOUNT	EQU	( WM_USER + 13 )
RB_GETROWHEIGHT	EQU	( WM_USER + 14 )
if (_WIN32_IE ge 0400h)
RB_IDTOINDEX	EQU	( WM_USER + 16 )
RB_GETTOOLTIPS	EQU	( WM_USER + 17 )
RB_SETTOOLTIPS	EQU	( WM_USER + 18 )
RB_SETBKCOLOR	EQU	( WM_USER + 19 )
RB_GETBKCOLOR	EQU	( WM_USER + 20 )
RB_SETTEXTCOLOR	EQU	( WM_USER + 21 )
RB_GETTEXTCOLOR	EQU	( WM_USER + 22 )
RB_SIZETORECT	EQU	( WM_USER + 23 )
endif 
RB_SETCOLORSCHEME	EQU	<CCM_SETCOLORSCHEME>
RB_GETCOLORSCHEME	EQU	<CCM_GETCOLORSCHEME>
ifdef UNICODE
RB_INSERTBAND	EQU	<RB_INSERTBANDW>
RB_SETBANDINFO	EQU	<RB_SETBANDINFOW>
else 
RB_INSERTBAND	EQU	<RB_INSERTBANDA>
RB_SETBANDINFO	EQU	<RB_SETBANDINFOA>
endif 
if (_WIN32_IE ge 0400h)
RB_BEGINDRAG	EQU	( WM_USER + 24 )
RB_ENDDRAG	EQU	( WM_USER + 25 )
RB_DRAGMOVE	EQU	( WM_USER + 26 )
RB_GETBARHEIGHT	EQU	( WM_USER + 27 )
RB_GETBANDINFOW	EQU	( WM_USER + 28 )
RB_GETBANDINFOA	EQU	( WM_USER + 29 )
ifdef UNICODE
RB_GETBANDINFO	EQU	<RB_GETBANDINFOW>
else 
RB_GETBANDINFO	EQU	<RB_GETBANDINFOA>
endif 
RB_MINIMIZEBAND	EQU	( WM_USER + 30 )
RB_MAXIMIZEBAND	EQU	( WM_USER + 31 )
RB_GETDROPTARGET	EQU	<( CCM_GETDROPTARGET )>
RB_GETBANDBORDERS	EQU	( WM_USER + 34 )
RB_SHOWBAND	EQU	( WM_USER + 35 )
RB_SETPALETTE	EQU	( WM_USER + 37 )
RB_GETPALETTE	EQU	( WM_USER + 38 )
RB_MOVEBAND	EQU	( WM_USER + 39 )
RB_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
RB_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
RBN_HEIGHTCHANGE	EQU	( RBN_FIRST - 0 )
if (_WIN32_IE ge 0400h)
RBN_GETOBJECT	EQU	( RBN_FIRST - 1 )
RBN_LAYOUTCHANGED	EQU	( RBN_FIRST - 2 )
RBN_AUTOSIZE	EQU	( RBN_FIRST - 3 )
RBN_BEGINDRAG	EQU	( RBN_FIRST - 4 )
RBN_ENDDRAG	EQU	( RBN_FIRST - 5 )
RBN_DELETINGBAND	EQU	( RBN_FIRST - 6 )
RBN_DELETEDBAND	EQU	( RBN_FIRST - 7 )
RBN_CHILDSIZE	EQU	( RBN_FIRST - 8 )
NMREBARCHILDSIZE	struct
hdr	NMHDR	<>
uBand	DWORD	?
wID	DWORD	?
rcChild	RECT	<>
rcBand	RECT	<>
NMREBARCHILDSIZE	ends

LPNMREBARCHILDSIZE typedef ptr NMREBARCHILDSIZE

NMREBAR	struct
hdr	NMHDR	<>
dwMask	DWORD	?
uBand	DWORD	?
fStyle	DWORD	?
wID	DWORD	?
lParam	LPARAM	?
NMREBAR	ends

LPNMREBAR typedef ptr NMREBAR

RBNM_ID	EQU	00000001h
RBNM_STYLE	EQU	00000002h
RBNM_LPARAM	EQU	00000004h
NMRBAUTOSIZE	struct
hdr	NMHDR	<>
fChanged	BOOL	?
rcTarget	RECT	<>
rcActual	RECT	<>
NMRBAUTOSIZE	ends

LPNMRBAUTOSIZE typedef ptr NMRBAUTOSIZE

RBHT_NOWHERE	EQU	0001h
RBHT_CAPTION	EQU	0002h
RBHT_CLIENT	EQU	0003h
RBHT_GRABBER	EQU	0004h
RBHITTESTINFO	struct
pt	POINT	<>
flags	DWORD	?
iBand	DWORD	?
RBHITTESTINFO	ends

LPRBHITTESTINFO typedef ptr RBHITTESTINFO

endif 
endif 
endif 
ifndef NOTOOLTIPS
ifdef _WIN32
TOOLTIPS_CLASSW	EQU	<L("tooltips_class32")>
TOOLTIPS_CLASSA	EQU	<"tooltips_class32">
ifdef UNICODE
TOOLTIPS_CLASS	EQU	<TOOLTIPS_CLASSW>
else 
TOOLTIPS_CLASS	EQU	<TOOLTIPS_CLASSA>
endif 
else 
TOOLTIPS_CLASS	EQU	<"tooltips_class">
endif 
if (_WIN32_IE ge 0300h)
LPTOOLINFOA	EQU	<LPTTTOOLINFOA>
LPTOOLINFOW	EQU	<LPTTTOOLINFOW>
TOOLINFOA	EQU	<TTTOOLINFOA>
TOOLINFOW	EQU	<TTTOOLINFOW>
else 
TTTOOLINFOA	EQU	<TOOLINFOA>
LPTTTOOLINFOA	EQU	<LPTOOLINFOA>
TTTOOLINFOW	EQU	<TOOLINFOW>
LPTTTOOLINFOW	EQU	<LPTOOLINFOW>
endif 
LPTOOLINFO	EQU	<LPTTTOOLINFO>
TOOLINFO	EQU	<TTTOOLINFO>
TTTOOLINFOA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOA , lpszText )>
TTTOOLINFOW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOW , lpszText )>
TTTOOLINFOA	struct
cbSize	DWORD	?
uFlags	DWORD	?
hwnd	HWND	?
uId	DWORD	?
rect	RECT	<>
hinst	HINSTANCE	?
lpszText	LPSTR	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
TTTOOLINFOA	ends

PTOOLINFOA typedef ptr TTTOOLINFOA
LPTTTOOLINFOA typedef ptr TTTOOLINFOA

TTTOOLINFOW	struct
cbSize	DWORD	?
uFlags	DWORD	?
hwnd	HWND	?
uId	DWORD	?
rect	RECT	<>
hinst	HINSTANCE	?
lpszText	LPWSTR	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
TTTOOLINFOW	ends

PTOOLINFOW typedef ptr TTTOOLINFOW
LPTTTOOLINFOW typedef ptr TTTOOLINFOW

ifdef UNICODE
TTTOOLINFO	EQU	<TTTOOLINFOW>
PTOOLINFO	EQU	<PTOOLINFOW>
LPTTTOOLINFO	EQU	<LPTTTOOLINFOW>
TTTOOLINFO_V1_SIZE	EQU	<TTTOOLINFOW_V1_SIZE>
else 
PTOOLINFO	EQU	<PTOOLINFOA>
TTTOOLINFO	EQU	<TTTOOLINFOA>
LPTTTOOLINFO	EQU	<LPTTTOOLINFOA>
TTTOOLINFO_V1_SIZE	EQU	<TTTOOLINFOA_V1_SIZE>
endif 
TTS_ALWAYSTIP	EQU	01h
TTS_NOPREFIX	EQU	02h
TTF_IDISHWND	EQU	0001h
TTF_CENTERTIP	EQU	0002h
TTF_RTLREADING	EQU	0004h
TTF_SUBCLASS	EQU	0010h
if (_WIN32_IE ge 0300h)
TTF_TRACK	EQU	0020h
TTF_ABSOLUTE	EQU	0080h
TTF_TRANSPARENT	EQU	0100h
TTF_DI_SETITEM	EQU	8000h
endif 
TTDT_AUTOMATIC	EQU	0
TTDT_RESHOW	EQU	1
TTDT_AUTOPOP	EQU	2
TTDT_INITIAL	EQU	3
TTM_ACTIVATE	EQU	( WM_USER + 1 )
TTM_SETDELAYTIME	EQU	( WM_USER + 3 )
TTM_ADDTOOLA	EQU	( WM_USER + 4 )
TTM_ADDTOOLW	EQU	( WM_USER + 50 )
TTM_DELTOOLA	EQU	( WM_USER + 5 )
TTM_DELTOOLW	EQU	( WM_USER + 51 )
TTM_NEWTOOLRECTA	EQU	( WM_USER + 6 )
TTM_NEWTOOLRECTW	EQU	( WM_USER + 52 )
TTM_RELAYEVENT	EQU	( WM_USER + 7 )
TTM_GETTOOLINFOA	EQU	( WM_USER + 8 )
TTM_GETTOOLINFOW	EQU	( WM_USER + 53 )
TTM_SETTOOLINFOA	EQU	( WM_USER + 9 )
TTM_SETTOOLINFOW	EQU	( WM_USER + 54 )
TTM_HITTESTA	EQU	( WM_USER + 10 )
TTM_HITTESTW	EQU	( WM_USER + 55 )
TTM_GETTEXTA	EQU	( WM_USER + 11 )
TTM_GETTEXTW	EQU	( WM_USER + 56 )
TTM_UPDATETIPTEXTA	EQU	( WM_USER + 12 )
TTM_UPDATETIPTEXTW	EQU	( WM_USER + 57 )
TTM_GETTOOLCOUNT	EQU	( WM_USER + 13 )
TTM_ENUMTOOLSA	EQU	( WM_USER + 14 )
TTM_ENUMTOOLSW	EQU	( WM_USER + 58 )
TTM_GETCURRENTTOOLA	EQU	( WM_USER + 15 )
TTM_GETCURRENTTOOLW	EQU	( WM_USER + 59 )
TTM_WINDOWFROMPOINT	EQU	( WM_USER + 16 )
if (_WIN32_IE ge 0300h)
TTM_TRACKACTIVATE	EQU	( WM_USER + 17 )
TTM_TRACKPOSITION	EQU	( WM_USER + 18 )
TTM_SETTIPBKCOLOR	EQU	( WM_USER + 19 )
TTM_SETTIPTEXTCOLOR	EQU	( WM_USER + 20 )
TTM_GETDELAYTIME	EQU	( WM_USER + 21 )
TTM_GETTIPBKCOLOR	EQU	( WM_USER + 22 )
TTM_GETTIPTEXTCOLOR	EQU	( WM_USER + 23 )
TTM_SETMAXTIPWIDTH	EQU	( WM_USER + 24 )
TTM_GETMAXTIPWIDTH	EQU	( WM_USER + 25 )
TTM_SETMARGIN	EQU	( WM_USER + 26 )
TTM_GETMARGIN	EQU	( WM_USER + 27 )
TTM_POP	EQU	( WM_USER + 28 )
endif 
if (_WIN32_IE ge 0400h)
TTM_UPDATE	EQU	( WM_USER + 29 )
endif 
ifdef UNICODE
TTM_ADDTOOL	EQU	<TTM_ADDTOOLW>
TTM_DELTOOL	EQU	<TTM_DELTOOLW>
TTM_NEWTOOLRECT	EQU	<TTM_NEWTOOLRECTW>
TTM_GETTOOLINFO	EQU	<TTM_GETTOOLINFOW>
TTM_SETTOOLINFO	EQU	<TTM_SETTOOLINFOW>
TTM_HITTEST	EQU	<TTM_HITTESTW>
TTM_GETTEXT	EQU	<TTM_GETTEXTW>
TTM_UPDATETIPTEXT	EQU	<TTM_UPDATETIPTEXTW>
TTM_ENUMTOOLS	EQU	<TTM_ENUMTOOLSW>
TTM_GETCURRENTTOOL	EQU	<TTM_GETCURRENTTOOLW>
else 
TTM_ADDTOOL	EQU	<TTM_ADDTOOLA>
TTM_DELTOOL	EQU	<TTM_DELTOOLA>
TTM_NEWTOOLRECT	EQU	<TTM_NEWTOOLRECTA>
TTM_GETTOOLINFO	EQU	<TTM_GETTOOLINFOA>
TTM_SETTOOLINFO	EQU	<TTM_SETTOOLINFOA>
TTM_HITTEST	EQU	<TTM_HITTESTA>
TTM_GETTEXT	EQU	<TTM_GETTEXTA>
TTM_UPDATETIPTEXT	EQU	<TTM_UPDATETIPTEXTA>
TTM_ENUMTOOLS	EQU	<TTM_ENUMTOOLSA>
TTM_GETCURRENTTOOL	EQU	<TTM_GETCURRENTTOOLA>
endif 
if (_WIN32_IE ge 0300h)
LPHITTESTINFOW	EQU	<LPTTHITTESTINFOW>
LPHITTESTINFOA	EQU	<LPTTHITTESTINFOA>
else 
LPTTHITTESTINFOA	EQU	<LPHITTESTINFOA>
LPTTHITTESTINFOW	EQU	<LPHITTESTINFOW>
endif 
LPHITTESTINFO	EQU	<LPTTHITTESTINFO>
TTHITTESTINFOA	struct
hwnd	HWND	?
pt	POINT	<>
ti	TTTOOLINFOA	<>
TTHITTESTINFOA	ends

LPTTHITTESTINFOA typedef ptr TTHITTESTINFOA

TTHITTESTINFOW	struct
hwnd	HWND	?
pt	POINT	<>
ti	TTTOOLINFOW	<>
TTHITTESTINFOW	ends

LPTTHITTESTINFOW typedef ptr TTHITTESTINFOW

ifdef UNICODE
TTHITTESTINFO	EQU	<TTHITTESTINFOW>
LPTTHITTESTINFO	EQU	<LPTTHITTESTINFOW>
else 
TTHITTESTINFO	EQU	<TTHITTESTINFOA>
LPTTHITTESTINFO	EQU	<LPTTHITTESTINFOA>
endif 
TTN_GETDISPINFOA	EQU	( TTN_FIRST - 0 )
TTN_GETDISPINFOW	EQU	( TTN_FIRST - 10 )
TTN_SHOW	EQU	( TTN_FIRST - 1 )
TTN_POP	EQU	( TTN_FIRST - 2 )
ifdef UNICODE
TTN_GETDISPINFO	EQU	<TTN_GETDISPINFOW>
else 
TTN_GETDISPINFO	EQU	<TTN_GETDISPINFOA>
endif 
TTN_NEEDTEXT	EQU	<TTN_GETDISPINFO>
TTN_NEEDTEXTA	EQU	<TTN_GETDISPINFOA>
TTN_NEEDTEXTW	EQU	<TTN_GETDISPINFOW>
if (_WIN32_IE ge 0300h)
TOOLTIPTEXTW	EQU	<NMTTDISPINFOW>
TOOLTIPTEXTA	EQU	<NMTTDISPINFOA>
LPTOOLTIPTEXTA	EQU	<LPNMTTDISPINFOA>
LPTOOLTIPTEXTW	EQU	<LPNMTTDISPINFOW>
else 
tagNMTTDISPINFOA	EQU	<tagTOOLTIPTEXTA>
NMTTDISPINFOA	EQU	<TOOLTIPTEXTA>
LPNMTTDISPINFOA	EQU	<LPTOOLTIPTEXTA>
tagNMTTDISPINFOW	EQU	<tagTOOLTIPTEXTW>
NMTTDISPINFOW	EQU	<TOOLTIPTEXTW>
LPNMTTDISPINFOW	EQU	<LPTOOLTIPTEXTW>
endif 
TOOLTIPTEXT	EQU	<NMTTDISPINFO>
LPTOOLTIPTEXT	EQU	<LPNMTTDISPINFO>
NMTTDISPINFOA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( NMTTDISPINFOA , uFlags )>
NMTTDISPINFOW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( NMTTDISPINFOW , uFlags )>
NMTTDISPINFOA	struct
hdr	NMHDR	<>
lpszText	LPSTR	?
szText	SBYTE 80 dup (?)
hinst	HINSTANCE	?
uFlags	DWORD	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
NMTTDISPINFOA	ends

LPNMTTDISPINFOA typedef ptr NMTTDISPINFOA

NMTTDISPINFOW	struct
hdr	NMHDR	<>
lpszText	LPWSTR	?
szText	WCHAR 80 dup (?)
hinst	HINSTANCE	?
uFlags	DWORD	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
NMTTDISPINFOW	ends

LPNMTTDISPINFOW typedef ptr NMTTDISPINFOW

ifdef UNICODE
NMTTDISPINFO	EQU	<NMTTDISPINFOW>
LPNMTTDISPINFO	EQU	<LPNMTTDISPINFOW>
NMTTDISPINFO_V1_SIZE	EQU	<NMTTDISPINFOW_V1_SIZE>
else 
NMTTDISPINFO	EQU	<NMTTDISPINFOA>
LPNMTTDISPINFO	EQU	<LPNMTTDISPINFOA>
NMTTDISPINFO_V1_SIZE	EQU	<NMTTDISPINFOA_V1_SIZE>
endif 
endif 
ifndef NOSTATUSBAR
SBARS_SIZEGRIP	EQU	0100h
proto_DrawStatusTextA typedef proto stdcall  :HDC, :LPRECT, :LPSTR, :DWORD
externdef stdcall _imp__DrawStatusTextA@16: ptr proto_DrawStatusTextA
DrawStatusTextA equ <_imp__DrawStatusTextA@16>
proto_DrawStatusTextW typedef proto stdcall  :HDC, :LPRECT, :LPWSTR, :DWORD
externdef stdcall _imp__DrawStatusTextW@16: ptr proto_DrawStatusTextW
DrawStatusTextW equ <_imp__DrawStatusTextW@16>
proto_CreateStatusWindowA typedef proto stdcall  :SDWORD, :LPSTR, :HWND, :DWORD
externdef stdcall _imp__CreateStatusWindowA@16: ptr proto_CreateStatusWindowA
CreateStatusWindowA equ <_imp__CreateStatusWindowA@16>
proto_CreateStatusWindowW typedef proto stdcall  :SDWORD, :LPWSTR, :HWND, :DWORD
externdef stdcall _imp__CreateStatusWindowW@16: ptr proto_CreateStatusWindowW
CreateStatusWindowW equ <_imp__CreateStatusWindowW@16>
ifdef UNICODE
CreateStatusWindow	EQU	<CreateStatusWindowW>
DrawStatusText	EQU	<DrawStatusTextW>
else 
CreateStatusWindow	EQU	<CreateStatusWindowA>
DrawStatusText	EQU	<DrawStatusTextA>
endif 
ifdef _WIN32
STATUSCLASSNAMEW	EQU	<L("msctls_statusbar32")>
STATUSCLASSNAMEA	EQU	<"msctls_statusbar32">
ifdef UNICODE
STATUSCLASSNAME	EQU	<STATUSCLASSNAMEW>
else 
STATUSCLASSNAME	EQU	<STATUSCLASSNAMEA>
endif 
else 
STATUSCLASSNAME	EQU	<"msctls_statusbar">
endif 
SB_SETTEXTA	EQU	( WM_USER + 1 )
SB_SETTEXTW	EQU	( WM_USER + 11 )
SB_GETTEXTA	EQU	( WM_USER + 2 )
SB_GETTEXTW	EQU	( WM_USER + 13 )
SB_GETTEXTLENGTHA	EQU	( WM_USER + 3 )
SB_GETTEXTLENGTHW	EQU	( WM_USER + 12 )
ifdef UNICODE
SB_GETTEXT	EQU	<SB_GETTEXTW>
SB_SETTEXT	EQU	<SB_SETTEXTW>
SB_GETTEXTLENGTH	EQU	<SB_GETTEXTLENGTHW>
if (_WIN32_IE ge 0400h)
SB_SETTIPTEXT	EQU	<SB_SETTIPTEXTW>
SB_GETTIPTEXT	EQU	<SB_GETTIPTEXTW>
endif 
else 
SB_GETTEXT	EQU	<SB_GETTEXTA>
SB_SETTEXT	EQU	<SB_SETTEXTA>
SB_GETTEXTLENGTH	EQU	<SB_GETTEXTLENGTHA>
if (_WIN32_IE ge 0400h)
SB_SETTIPTEXT	EQU	<SB_SETTIPTEXTA>
SB_GETTIPTEXT	EQU	<SB_GETTIPTEXTA>
endif 
endif 
SB_SETPARTS	EQU	( WM_USER + 4 )
SB_GETPARTS	EQU	( WM_USER + 6 )
SB_GETBORDERS	EQU	( WM_USER + 7 )
SB_SETMINHEIGHT	EQU	( WM_USER + 8 )
SB_SIMPLE	EQU	( WM_USER + 9 )
SB_GETRECT	EQU	( WM_USER + 10 )
if (_WIN32_IE ge 0300h)
SB_ISSIMPLE	EQU	( WM_USER + 14 )
endif 
if (_WIN32_IE ge 0400h)
SB_SETICON	EQU	( WM_USER + 15 )
SB_SETTIPTEXTA	EQU	( WM_USER + 16 )
SB_SETTIPTEXTW	EQU	( WM_USER + 17 )
SB_GETTIPTEXTA	EQU	( WM_USER + 18 )
SB_GETTIPTEXTW	EQU	( WM_USER + 19 )
SB_GETICON	EQU	( WM_USER + 20 )
SB_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
SB_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
SBT_OWNERDRAW	EQU	1000h
SBT_NOBORDERS	EQU	0100h
SBT_POPOUT	EQU	0200h
SBT_RTLREADING	EQU	0400h
if (_WIN32_IE ge 0400h)
SBT_TOOLTIPS	EQU	0800h
endif 
SB_SETBKCOLOR	EQU	<CCM_SETBKCOLOR>
if (_WIN32_IE ge 0400h)
SBN_SIMPLEMODECHANGE	EQU	( SBN_FIRST - 0 )
endif 
endif 
ifndef NOMENUHELP
proto_MenuHelp typedef proto stdcall  :DWORD, :WPARAM, :LPARAM, :HMENU, :HINSTANCE, :HWND, :ptr DWORD
externdef stdcall _imp__MenuHelp@28: ptr proto_MenuHelp
MenuHelp equ <_imp__MenuHelp@28>
proto_ShowHideMenuCtl typedef proto stdcall  :HWND, :DWORD, :LPINT
externdef stdcall _imp__ShowHideMenuCtl@12: ptr proto_ShowHideMenuCtl
ShowHideMenuCtl equ <_imp__ShowHideMenuCtl@12>
proto_GetEffectiveClientRect typedef proto stdcall  :HWND, :LPRECT, :LPINT
externdef stdcall _imp__GetEffectiveClientRect@12: ptr proto_GetEffectiveClientRect
GetEffectiveClientRect equ <_imp__GetEffectiveClientRect@12>
MINSYSCOMMAND	EQU	<SC_SIZE>
endif 
ifndef NOTRACKBAR
ifdef _WIN32
TRACKBAR_CLASSA	EQU	<"msctls_trackbar32">
TRACKBAR_CLASSW	EQU	<L("msctls_trackbar32")>
ifdef UNICODE
TRACKBAR_CLASS	EQU	<TRACKBAR_CLASSW>
else 
TRACKBAR_CLASS	EQU	<TRACKBAR_CLASSA>
endif 
else 
TRACKBAR_CLASS	EQU	<"msctls_trackbar">
endif 
TBS_AUTOTICKS	EQU	0001h
TBS_VERT	EQU	0002h
TBS_HORZ	EQU	0000h
TBS_TOP	EQU	0004h
TBS_BOTTOM	EQU	0000h
TBS_LEFT	EQU	0004h
TBS_RIGHT	EQU	0000h
TBS_BOTH	EQU	0008h
TBS_NOTICKS	EQU	0010h
TBS_ENABLESELRANGE	EQU	0020h
TBS_FIXEDLENGTH	EQU	0040h
TBS_NOTHUMB	EQU	0080h
if (_WIN32_IE ge 0300h)
TBS_TOOLTIPS	EQU	0100h
endif 
TBM_GETPOS	EQU	<( WM_USER )>
TBM_GETRANGEMIN	EQU	( WM_USER + 1 )
TBM_GETRANGEMAX	EQU	( WM_USER + 2 )
TBM_GETTIC	EQU	( WM_USER + 3 )
TBM_SETTIC	EQU	( WM_USER + 4 )
TBM_SETPOS	EQU	( WM_USER + 5 )
TBM_SETRANGE	EQU	( WM_USER + 6 )
TBM_SETRANGEMIN	EQU	( WM_USER + 7 )
TBM_SETRANGEMAX	EQU	( WM_USER + 8 )
TBM_CLEARTICS	EQU	( WM_USER + 9 )
TBM_SETSEL	EQU	( WM_USER + 10 )
TBM_SETSELSTART	EQU	( WM_USER + 11 )
TBM_SETSELEND	EQU	( WM_USER + 12 )
TBM_GETPTICS	EQU	( WM_USER + 14 )
TBM_GETTICPOS	EQU	( WM_USER + 15 )
TBM_GETNUMTICS	EQU	( WM_USER + 16 )
TBM_GETSELSTART	EQU	( WM_USER + 17 )
TBM_GETSELEND	EQU	( WM_USER + 18 )
TBM_CLEARSEL	EQU	( WM_USER + 19 )
TBM_SETTICFREQ	EQU	( WM_USER + 20 )
TBM_SETPAGESIZE	EQU	( WM_USER + 21 )
TBM_GETPAGESIZE	EQU	( WM_USER + 22 )
TBM_SETLINESIZE	EQU	( WM_USER + 23 )
TBM_GETLINESIZE	EQU	( WM_USER + 24 )
TBM_GETTHUMBRECT	EQU	( WM_USER + 25 )
TBM_GETCHANNELRECT	EQU	( WM_USER + 26 )
TBM_SETTHUMBLENGTH	EQU	( WM_USER + 27 )
TBM_GETTHUMBLENGTH	EQU	( WM_USER + 28 )
if (_WIN32_IE ge 0300h)
TBM_SETTOOLTIPS	EQU	( WM_USER + 29 )
TBM_GETTOOLTIPS	EQU	( WM_USER + 30 )
TBM_SETTIPSIDE	EQU	( WM_USER + 31 )
TBTS_TOP	EQU	0
TBTS_LEFT	EQU	1
TBTS_BOTTOM	EQU	2
TBTS_RIGHT	EQU	3
TBM_SETBUDDY	EQU	( WM_USER + 32 )
TBM_GETBUDDY	EQU	( WM_USER + 33 )
endif 
if (_WIN32_IE ge 0400h)
TBM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TBM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
TB_LINEUP	EQU	0
TB_LINEDOWN	EQU	1
TB_PAGEUP	EQU	2
TB_PAGEDOWN	EQU	3
TB_THUMBPOSITION	EQU	4
TB_THUMBTRACK	EQU	5
TB_TOP	EQU	6
TB_BOTTOM	EQU	7
TB_ENDTRACK	EQU	8
if (_WIN32_IE ge 0300h)
TBCD_TICS	EQU	0001h
TBCD_THUMB	EQU	0002h
TBCD_CHANNEL	EQU	0003h
endif 
endif 
ifndef NODRAGLIST
DRAGLISTINFO	struct
uNotification	DWORD	?
hWnd	HWND	?
ptCursor	POINT	<>
DRAGLISTINFO	ends

LPDRAGLISTINFO typedef ptr DRAGLISTINFO

DL_BEGINDRAG	EQU	( WM_USER + 133 )
DL_DRAGGING	EQU	( WM_USER + 134 )
DL_DROPPED	EQU	( WM_USER + 135 )
DL_CANCELDRAG	EQU	( WM_USER + 136 )
DL_CURSORSET	EQU	0
DL_STOPCURSOR	EQU	1
DL_COPYCURSOR	EQU	2
DL_MOVECURSOR	EQU	3
DRAGLISTMSGSTRING	EQU	<TEXT ( "commctrl_DragListMsg" )>
proto_MakeDragList typedef proto stdcall  :HWND
externdef stdcall _imp__MakeDragList@4: ptr proto_MakeDragList
MakeDragList equ <_imp__MakeDragList@4>
proto_DrawInsert typedef proto stdcall  :HWND, :HWND, :DWORD
externdef stdcall _imp__DrawInsert@12: ptr proto_DrawInsert
DrawInsert equ <_imp__DrawInsert@12>
proto_LBItemFromPt typedef proto stdcall  :HWND, :POINT, :BOOL
externdef stdcall _imp__LBItemFromPt@16: ptr proto_LBItemFromPt
LBItemFromPt equ <_imp__LBItemFromPt@16>
endif 
ifndef NOUPDOWN
ifdef _WIN32
UPDOWN_CLASSA	EQU	<"msctls_updown32">
UPDOWN_CLASSW	EQU	<L("msctls_updown32")>
ifdef UNICODE
UPDOWN_CLASS	EQU	<UPDOWN_CLASSW>
else 
UPDOWN_CLASS	EQU	<UPDOWN_CLASSA>
endif 
else 
UPDOWN_CLASS	EQU	<"msctls_updown">
endif 
UDACCEL	struct
nSec	DWORD	?
nInc	DWORD	?
UDACCEL	ends

LPUDACCEL typedef ptr UDACCEL

UD_MAXVAL	EQU	7fffh
UD_MINVAL	EQU	( - UD_MAXVAL )
UDS_WRAP	EQU	0001h
UDS_SETBUDDYINT	EQU	0002h
UDS_ALIGNRIGHT	EQU	0004h
UDS_ALIGNLEFT	EQU	0008h
UDS_AUTOBUDDY	EQU	0010h
UDS_ARROWKEYS	EQU	0020h
UDS_HORZ	EQU	0040h
UDS_NOTHOUSANDS	EQU	0080h
if (_WIN32_IE ge 0300h)
UDS_HOTTRACK	EQU	0100h
endif 
UDM_SETRANGE	EQU	( WM_USER + 101 )
UDM_GETRANGE	EQU	( WM_USER + 102 )
UDM_SETPOS	EQU	( WM_USER + 103 )
UDM_GETPOS	EQU	( WM_USER + 104 )
UDM_SETBUDDY	EQU	( WM_USER + 105 )
UDM_GETBUDDY	EQU	( WM_USER + 106 )
UDM_SETACCEL	EQU	( WM_USER + 107 )
UDM_GETACCEL	EQU	( WM_USER + 108 )
UDM_SETBASE	EQU	( WM_USER + 109 )
UDM_GETBASE	EQU	( WM_USER + 110 )
if (_WIN32_IE ge 0400h)
UDM_SETRANGE32	EQU	( WM_USER + 111 )
UDM_GETRANGE32	EQU	( WM_USER + 112 )
UDM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
UDM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
proto_CreateUpDownControl typedef proto stdcall  :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :HWND, :DWORD, :HINSTANCE, :HWND, :DWORD, :DWORD, :DWORD
externdef stdcall _imp__CreateUpDownControl@48: ptr proto_CreateUpDownControl
CreateUpDownControl equ <_imp__CreateUpDownControl@48>
if (_WIN32_IE ge 0300h)
NM_UPDOWN	EQU	<NMUPDOWN>
LPNM_UPDOWN	EQU	<LPNMUPDOWN>
else 
NMUPDOWN	EQU	<NM_UPDOWN>
LPNMUPDOWN	EQU	<LPNM_UPDOWN>
endif 
NMUPDOWN	struct
hdr	NMHDR	<>
iPos	DWORD	?
iDelta	DWORD	?
NMUPDOWN	ends

LPNMUPDOWN typedef ptr NMUPDOWN

UDN_DELTAPOS	EQU	( UDN_FIRST - 1 )
endif 
ifndef NOPROGRESS
ifdef _WIN32
PROGRESS_CLASSA	EQU	<"msctls_progress32">
PROGRESS_CLASSW	EQU	<L("msctls_progress32")>
ifdef UNICODE
PROGRESS_CLASS	EQU	<PROGRESS_CLASSW>
else 
PROGRESS_CLASS	EQU	<PROGRESS_CLASSA>
endif 
else 
PROGRESS_CLASS	EQU	<"msctls_progress">
endif 
if (_WIN32_IE ge 0300h)
PBS_SMOOTH	EQU	01h
PBS_VERTICAL	EQU	04h
endif 
PBM_SETRANGE	EQU	( WM_USER + 1 )
PBM_SETPOS	EQU	( WM_USER + 2 )
PBM_DELTAPOS	EQU	( WM_USER + 3 )
PBM_SETSTEP	EQU	( WM_USER + 4 )
PBM_STEPIT	EQU	( WM_USER + 5 )
if (_WIN32_IE ge 0300h)
PBM_SETRANGE32	EQU	( WM_USER + 6 )
PBRANGE	struct
iLow	DWORD	?
iHigh	DWORD	?
PBRANGE	ends

PPBRANGE typedef ptr PBRANGE

PBM_GETRANGE	EQU	( WM_USER + 7 )
PBM_GETPOS	EQU	( WM_USER + 8 )
if (_WIN32_IE ge 0400h)
PBM_SETBARCOLOR	EQU	( WM_USER + 9 )
endif 
PBM_SETBKCOLOR	EQU	<CCM_SETBKCOLOR>
endif 
endif 
ifndef NOHOTKEY
HOTKEYF_SHIFT	EQU	01h
HOTKEYF_CONTROL	EQU	02h
HOTKEYF_ALT	EQU	04h
ifdef _MAC
HOTKEYF_EXT	EQU	80h
else 
HOTKEYF_EXT	EQU	08h
endif 
HKCOMB_NONE	EQU	0001h
HKCOMB_S	EQU	0002h
HKCOMB_C	EQU	0004h
HKCOMB_A	EQU	0008h
HKCOMB_SC	EQU	0010h
HKCOMB_SA	EQU	0020h
HKCOMB_CA	EQU	0040h
HKCOMB_SCA	EQU	0080h
HKM_SETHOTKEY	EQU	( WM_USER + 1 )
HKM_GETHOTKEY	EQU	( WM_USER + 2 )
HKM_SETRULES	EQU	( WM_USER + 3 )
ifdef _WIN32
HOTKEY_CLASSA	EQU	<"msctls_hotkey32">
HOTKEY_CLASSW	EQU	<L("msctls_hotkey32")>
ifdef UNICODE
HOTKEY_CLASS	EQU	<HOTKEY_CLASSW>
else 
HOTKEY_CLASS	EQU	<HOTKEY_CLASSA>
endif 
else 
HOTKEY_CLASS	EQU	<"msctls_hotkey">
endif 
endif 
CCS_TOP	EQU	00000001h
CCS_NOMOVEY	EQU	00000002h
CCS_BOTTOM	EQU	00000003h
CCS_NORESIZE	EQU	00000004h
CCS_NOPARENTALIGN	EQU	00000008h
CCS_ADJUSTABLE	EQU	00000020h
CCS_NODIVIDER	EQU	00000040h
if (_WIN32_IE ge 0300h)
CCS_VERT	EQU	00000080h
CCS_LEFT	EQU	( CCS_VERT  or  CCS_TOP )
CCS_RIGHT	EQU	( CCS_VERT  or  CCS_BOTTOM )
CCS_NOMOVEX	EQU	( CCS_VERT  or  CCS_NOMOVEY )
endif 
ifndef NOLISTVIEW
ifdef _WIN32
WC_LISTVIEWA	EQU	<"SysListView32">
WC_LISTVIEWW	EQU	<L("SysListView32")>
ifdef UNICODE
WC_LISTVIEW	EQU	<WC_LISTVIEWW>
else 
WC_LISTVIEW	EQU	<WC_LISTVIEWA>
endif 
else 
WC_LISTVIEW	EQU	<"SysListView">
endif 
LVS_ICON	EQU	0000h
LVS_REPORT	EQU	0001h
LVS_SMALLICON	EQU	0002h
LVS_LIST	EQU	0003h
LVS_TYPEMASK	EQU	0003h
LVS_SINGLESEL	EQU	0004h
LVS_SHOWSELALWAYS	EQU	0008h
LVS_SORTASCENDING	EQU	0010h
LVS_SORTDESCENDING	EQU	0020h
LVS_SHAREIMAGELISTS	EQU	0040h
LVS_NOLABELWRAP	EQU	0080h
LVS_AUTOARRANGE	EQU	0100h
LVS_EDITLABELS	EQU	0200h
if (_WIN32_IE ge 0300h)
LVS_OWNERDATA	EQU	1000h
endif 
LVS_NOSCROLL	EQU	2000h
LVS_TYPESTYLEMASK	EQU	0fc00h
LVS_ALIGNTOP	EQU	0000h
LVS_ALIGNLEFT	EQU	0800h
LVS_ALIGNMASK	EQU	0c00h
LVS_OWNERDRAWFIXED	EQU	0400h
LVS_NOCOLUMNHEADER	EQU	4000h
LVS_NOSORTHEADER	EQU	8000h
if (_WIN32_IE ge 0400h)
LVM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
ListView_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , LVM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
LVM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
ListView_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
LVM_GETBKCOLOR	EQU	( LVM_FIRST + 0 )
ListView_GetBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETBKCOLOR , 0 , 0 ) >
	endm
LVM_SETBKCOLOR	EQU	( LVM_FIRST + 1 )
ListView_SetBkColor macro hwnd,clrBk
	exitm <SNDMSG ( ( hwnd ) , LVM_SETBKCOLOR , 0 , ( clrBk ) ) >
	endm
LVM_GETIMAGELIST	EQU	( LVM_FIRST + 2 )
ListView_GetImageList macro hwnd,iImageList
	exitm <SNDMSG ( ( hwnd ) , LVM_GETIMAGELIST , ( iImageList ) , 0 ) >
	endm
LVSIL_NORMAL	EQU	0
LVSIL_SMALL	EQU	1
LVSIL_STATE	EQU	2
LVM_SETIMAGELIST	EQU	( LVM_FIRST + 3 )
ListView_SetImageList macro hwnd,himl,iImageList
	exitm <SNDMSG ( ( hwnd ) , LVM_SETIMAGELIST , ( iImageList ) , ( himl ) ) >
	endm
LVM_GETITEMCOUNT	EQU	( LVM_FIRST + 4 )
ListView_GetItemCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETITEMCOUNT , 0 , 0 ) >
	endm
LVIF_TEXT	EQU	0001h
LVIF_IMAGE	EQU	0002h
LVIF_PARAM	EQU	0004h
LVIF_STATE	EQU	0008h
if (_WIN32_IE ge 0300h)
LVIF_INDENT	EQU	0010h
LVIF_NORECOMPUTE	EQU	0800h
endif 
LVIS_FOCUSED	EQU	0001h
LVIS_SELECTED	EQU	0002h
LVIS_CUT	EQU	0004h
LVIS_DROPHILITED	EQU	0008h
LVIS_ACTIVATING	EQU	0020h
LVIS_OVERLAYMASK	EQU	0F00h
LVIS_STATEIMAGEMASK	EQU	0F000h
INDEXTOSTATEIMAGEMASK macro i
	exitm <( ( i )  shl  12 ) >
	endm
if (_WIN32_IE ge 0300h)
I_INDENTCALLBACK	EQU	- 1
LV_ITEMA	EQU	<LVITEMA>
LV_ITEMW	EQU	<LVITEMW>
else 
tagLVITEMA	EQU	<_LV_ITEMA>
LVITEMA	EQU	<LV_ITEMA>
tagLVITEMW	EQU	<_LV_ITEMW>
LVITEMW	EQU	<LV_ITEMW>
endif 
LV_ITEM	EQU	<LVITEM>
LVITEMA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVITEMA , lParam )>
LVITEMW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVITEMW , lParam )>
LVITEMA	struct
mask_	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iIndent	DWORD	?
endif 
LVITEMA	ends

LPLVITEMA typedef ptr LVITEMA

LVITEMW	struct
mask_	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iIndent	DWORD	?
endif 
LVITEMW	ends

LPLVITEMW typedef ptr LVITEMW

ifdef UNICODE
LVITEM	EQU	<LVITEMW>
LPLVITEM	EQU	<LPLVITEMW>
LVITEM_V1_SIZE	EQU	<LVITEMW_V1_SIZE>
else 
LVITEM	EQU	<LVITEMA>
LPLVITEM	EQU	<LPLVITEMA>
LVITEM_V1_SIZE	EQU	<LVITEMA_V1_SIZE>
endif 
LPSTR_TEXTCALLBACKW	EQU	- 1
LPSTR_TEXTCALLBACKA	EQU	- 1
ifdef UNICODE
LPSTR_TEXTCALLBACK	EQU	<LPSTR_TEXTCALLBACKW>
else 
LPSTR_TEXTCALLBACK	EQU	<LPSTR_TEXTCALLBACKA>
endif 
I_IMAGECALLBACK	EQU	- 1
LVM_GETITEMA	EQU	( LVM_FIRST + 5 )
LVM_GETITEMW	EQU	( LVM_FIRST + 75 )
ifdef UNICODE
LVM_GETITEM	EQU	<LVM_GETITEMW>
else 
LVM_GETITEM	EQU	<LVM_GETITEMA>
endif 
ListView_GetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , LVM_GETITEM , 0 , <pitem> ) >
	endm
LVM_SETITEMA	EQU	( LVM_FIRST + 6 )
LVM_SETITEMW	EQU	( LVM_FIRST + 76 )
ifdef UNICODE
LVM_SETITEM	EQU	<LVM_SETITEMW>
else 
LVM_SETITEM	EQU	<LVM_SETITEMA>
endif 
ListView_SetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , LVM_SETITEM , 0 , <pitem> ) >
	endm
LVM_INSERTITEMA	EQU	( LVM_FIRST + 7 )
LVM_INSERTITEMW	EQU	( LVM_FIRST + 77 )
ifdef UNICODE
LVM_INSERTITEM	EQU	<LVM_INSERTITEMW>
else 
LVM_INSERTITEM	EQU	<LVM_INSERTITEMA>
endif 
ListView_InsertItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , LVM_INSERTITEM , 0 , <pitem> ) >
	endm
LVM_DELETEITEM	EQU	( LVM_FIRST + 8 )
ListView_DeleteItem macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , LVM_DELETEITEM , ( i ) , 0 ) >
	endm
LVM_DELETEALLITEMS	EQU	( LVM_FIRST + 9 )
ListView_DeleteAllItems macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_DELETEALLITEMS , 0 , 0 ) >
	endm
LVM_GETCALLBACKMASK	EQU	( LVM_FIRST + 10 )
ListView_GetCallbackMask macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCALLBACKMASK , 0 , 0 ) >
	endm
LVM_SETCALLBACKMASK	EQU	( LVM_FIRST + 11 )
ListView_SetCallbackMask macro hwnd,mask_
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCALLBACKMASK , ( mask_ ) , 0 ) >
	endm
LVNI_ALL	EQU	0000h
LVNI_FOCUSED	EQU	0001h
LVNI_SELECTED	EQU	0002h
LVNI_CUT	EQU	0004h
LVNI_DROPHILITED	EQU	0008h
LVNI_ABOVE	EQU	0100h
LVNI_BELOW	EQU	0200h
LVNI_TOLEFT	EQU	0400h
LVNI_TORIGHT	EQU	0800h
LVM_GETNEXTITEM	EQU	( LVM_FIRST + 12 )
ListView_GetNextItem macro hwnd,i,flags
	exitm <SNDMSG ( ( hwnd ) , LVM_GETNEXTITEM , ( i ) , flags ) >
	endm
LVFI_PARAM	EQU	0001h
LVFI_STRING	EQU	0002h
LVFI_PARTIAL	EQU	0008h
LVFI_WRAP	EQU	0020h
LVFI_NEARESTXY	EQU	0040h
if (_WIN32_IE ge 0300h)
LV_FINDINFOA	EQU	<LVFINDINFOA>
LV_FINDINFOW	EQU	<LVFINDINFOW>
else 
tagLVFINDINFOA	EQU	<_LV_FINDINFOA>
LVFINDINFOA	EQU	<LV_FINDINFOA>
tagLVFINDINFOW	EQU	<_LV_FINDINFOW>
LVFINDINFOW	EQU	<LV_FINDINFOW>
endif 
LV_FINDINFO	EQU	<LVFINDINFO>
LVFINDINFOA	struct
flags	DWORD	?
psz	LPSTR	?
lParam	LPARAM	?
pt	POINT	<>
vkDirection	DWORD	?
LVFINDINFOA	ends

LPFINDINFOA typedef ptr LVFINDINFOA

LVFINDINFOW	struct
flags	DWORD	?
psz	LPWSTR	?
lParam	LPARAM	?
pt	POINT	<>
vkDirection	DWORD	?
LVFINDINFOW	ends

LPFINDINFOW typedef ptr LVFINDINFOW

ifdef UNICODE
LVFINDINFO	EQU	<LVFINDINFOW>
else 
LVFINDINFO	EQU	<LVFINDINFOA>
endif 
LVM_FINDITEMA	EQU	( LVM_FIRST + 13 )
LVM_FINDITEMW	EQU	( LVM_FIRST + 83 )
ifdef UNICODE
LVM_FINDITEM	EQU	<LVM_FINDITEMW>
else 
LVM_FINDITEM	EQU	<LVM_FINDITEMA>
endif 
ListView_FindItem macro hwnd,iStart,plvfi
	exitm <SNDMSG ( ( hwnd ) , LVM_FINDITEM , ( iStart ) , <plvfi> ) >
	endm
LVIR_BOUNDS	EQU	0
LVIR_ICON	EQU	1
LVIR_LABEL	EQU	2
LVIR_SELECTBOUNDS	EQU	3
LVM_GETITEMRECT	EQU	( LVM_FIRST + 14 )
ListView_GetItemRect macro hwnd,i,prc,code
	push ecx
    mov  ecx, prc
    push code
    pop [ecx].RECT.left
    pop ecx
	exitm <SNDMSG ( ( hwnd ) , LVM_GETITEMRECT , ( i ) , <prc> ) >
	endm
LVM_SETITEMPOSITION	EQU	( LVM_FIRST + 15 )
ListView_SetItemPosition macro hwndLV,i,x,y
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETITEMPOSITION , ( i ) , MAKELPARAM ( ( x ) , ( y ) ) ) >
	endm
LVM_GETITEMPOSITION	EQU	( LVM_FIRST + 16 )
ListView_GetItemPosition macro hwndLV,i,ppt
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETITEMPOSITION , ( i ) , <ppt> ) >
	endm
LVM_GETSTRINGWIDTHA	EQU	( LVM_FIRST + 17 )
LVM_GETSTRINGWIDTHW	EQU	( LVM_FIRST + 87 )
ifdef UNICODE
LVM_GETSTRINGWIDTH	EQU	<LVM_GETSTRINGWIDTHW>
else 
LVM_GETSTRINGWIDTH	EQU	<LVM_GETSTRINGWIDTHA>
endif 
ListView_GetStringWidth macro hwndLV,psz
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETSTRINGWIDTH , 0 , <psz> ) >
	endm
LVHT_NOWHERE	EQU	0001h
LVHT_ONITEMICON	EQU	0002h
LVHT_ONITEMLABEL	EQU	0004h
LVHT_ONITEMSTATEICON	EQU	0008h
LVHT_ONITEM	EQU	( LVHT_ONITEMICON  or  LVHT_ONITEMLABEL  or  LVHT_ONITEMSTATEICON )
LVHT_ABOVE	EQU	0008h
LVHT_BELOW	EQU	0010h
LVHT_TORIGHT	EQU	0020h
LVHT_TOLEFT	EQU	0040h
if (_WIN32_IE ge 0300h)
LV_HITTESTINFO	EQU	<LVHITTESTINFO>
else 
tagLVHITTESTINFO	EQU	<_LV_HITTESTINFO>
LVHITTESTINFO	EQU	<LV_HITTESTINFO>
endif 
LVHITTESTINFO_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVHITTESTINFO , iItem )>
LVHITTESTINFO	struct
pt	POINT	<>
flags	DWORD	?
iItem	DWORD	?
if (_WIN32_IE ge 0300h)
iSubItem	DWORD	?
endif 
LVHITTESTINFO	ends

LPLVHITTESTINFO typedef ptr LVHITTESTINFO

LVM_HITTEST	EQU	( LVM_FIRST + 18 )
ListView_HitTest macro hwndLV,pinfo
	exitm <SNDMSG ( ( hwndLV ) , LVM_HITTEST , 0 , <pinfo> ) >
	endm
LVM_ENSUREVISIBLE	EQU	( LVM_FIRST + 19 )
ListView_EnsureVisible macro hwndLV,i,fPartialOK
	exitm <SNDMSG ( ( hwndLV ) , LVM_ENSUREVISIBLE , ( i ) , MAKELPARAM ( ( fPartialOK ) , 0 ) ) >
	endm
LVM_SCROLL	EQU	( LVM_FIRST + 20 )
ListView_Scroll macro hwndLV,dx_,dy
	exitm <SNDMSG ( ( hwndLV ) , LVM_SCROLL , dx_ , dy ) >
	endm
LVM_REDRAWITEMS	EQU	( LVM_FIRST + 21 )
ListView_RedrawItems macro hwndLV,iFirst,iLast
	exitm <SNDMSG ( ( hwndLV ) , LVM_REDRAWITEMS , iFirst , iLast ) >
	endm
LVA_DEFAULT	EQU	0000h
LVA_ALIGNLEFT	EQU	0001h
LVA_ALIGNTOP	EQU	0002h
LVA_SNAPTOGRID	EQU	0005h
LVM_ARRANGE	EQU	( LVM_FIRST + 22 )
ListView_Arrange macro hwndLV,code
	exitm <SNDMSG ( ( hwndLV ) , LVM_ARRANGE , ( code ) , 0 ) >
	endm
LVM_EDITLABELA	EQU	( LVM_FIRST + 23 )
LVM_EDITLABELW	EQU	( LVM_FIRST + 118 )
ifdef UNICODE
LVM_EDITLABEL	EQU	<LVM_EDITLABELW>
else 
LVM_EDITLABEL	EQU	<LVM_EDITLABELA>
endif 
ListView_EditLabel macro hwndLV,i
	exitm <SNDMSG ( ( hwndLV ) , LVM_EDITLABEL , ( i ) , 0 ) >
	endm
LVM_GETEDITCONTROL	EQU	( LVM_FIRST + 24 )
ListView_GetEditControl macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETEDITCONTROL , 0 , 0 ) >
	endm
if (_WIN32_IE ge 0300h)
LV_COLUMNA	EQU	<LVCOLUMNA>
LV_COLUMNW	EQU	<LVCOLUMNW>
else 
tagLVCOLUMNA	EQU	<_LV_COLUMNA>
LVCOLUMNA	EQU	<LV_COLUMNA>
tagLVCOLUMNW	EQU	<_LV_COLUMNW>
LVCOLUMNW	EQU	<LV_COLUMNW>
endif 
LV_COLUMN	EQU	<LVCOLUMN>
LVCOLUMNA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVCOLUMNA , iSubItem )>
LVCOLUMNW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVCOLUMNW , iSubItem )>
LVCOLUMNA	struct
mask_	DWORD	?
fmt	DWORD	?
cx_	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iSubItem	DWORD	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
LVCOLUMNA	ends

LPLVCOLUMNA typedef ptr LVCOLUMNA

LVCOLUMNW	struct
mask_	DWORD	?
fmt	DWORD	?
cx_	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iSubItem	DWORD	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
LVCOLUMNW	ends

LPLVCOLUMNW typedef ptr LVCOLUMNW

ifdef UNICODE
LVCOLUMN	EQU	<LVCOLUMNW>
LPLVCOLUMN	EQU	<LPLVCOLUMNW>
LVCOLUMN_V1_SIZE	EQU	<LVCOLUMNW_V1_SIZE>
else 
LVCOLUMN	EQU	<LVCOLUMNA>
LPLVCOLUMN	EQU	<LPLVCOLUMNA>
LVCOLUMN_V1_SIZE	EQU	<LVCOLUMNA_V1_SIZE>
endif 
LVCF_FMT	EQU	0001h
LVCF_WIDTH	EQU	0002h
LVCF_TEXT	EQU	0004h
LVCF_SUBITEM	EQU	0008h
if (_WIN32_IE ge 0300h)
LVCF_IMAGE	EQU	0010h
LVCF_ORDER	EQU	0020h
endif 
LVCFMT_LEFT	EQU	0000h
LVCFMT_RIGHT	EQU	0001h
LVCFMT_CENTER	EQU	0002h
LVCFMT_JUSTIFYMASK	EQU	0003h
if (_WIN32_IE ge 0300h)
LVCFMT_IMAGE	EQU	0800h
LVCFMT_BITMAP_ON_RIGHT	EQU	1000h
LVCFMT_COL_HAS_IMAGES	EQU	8000h
endif 
LVM_GETCOLUMNA	EQU	( LVM_FIRST + 25 )
LVM_GETCOLUMNW	EQU	( LVM_FIRST + 95 )
ifdef UNICODE
LVM_GETCOLUMN	EQU	<LVM_GETCOLUMNW>
else 
LVM_GETCOLUMN	EQU	<LVM_GETCOLUMNA>
endif 
ListView_GetColumn macro hwnd,iCol,pcol
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCOLUMN , ( iCol ) , <pcol> ) >
	endm
LVM_SETCOLUMNA	EQU	( LVM_FIRST + 26 )
LVM_SETCOLUMNW	EQU	( LVM_FIRST + 96 )
ifdef UNICODE
LVM_SETCOLUMN	EQU	<LVM_SETCOLUMNW>
else 
LVM_SETCOLUMN	EQU	<LVM_SETCOLUMNA>
endif 
ListView_SetColumn macro hwnd,iCol,pcol
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCOLUMN , ( iCol ) , <pcol> ) >
	endm
LVM_INSERTCOLUMNA	EQU	( LVM_FIRST + 27 )
LVM_INSERTCOLUMNW	EQU	( LVM_FIRST + 97 )
ifdef UNICODE
LVM_INSERTCOLUMN	EQU	<LVM_INSERTCOLUMNW>
else 
LVM_INSERTCOLUMN	EQU	<LVM_INSERTCOLUMNA>
endif 
ListView_InsertColumn macro hwnd,iCol,pcol
	exitm <SNDMSG ( ( hwnd ) , LVM_INSERTCOLUMN , ( iCol ) , <pcol> ) >
	endm
LVM_DELETECOLUMN	EQU	( LVM_FIRST + 28 )
ListView_DeleteColumn macro hwnd,iCol
	exitm <SNDMSG ( ( hwnd ) , LVM_DELETECOLUMN , ( iCol ) , 0 ) >
	endm
LVM_GETCOLUMNWIDTH	EQU	( LVM_FIRST + 29 )
ListView_GetColumnWidth macro hwnd,iCol
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCOLUMNWIDTH , ( iCol ) , 0 ) >
	endm
LVSCW_AUTOSIZE	EQU	- 1
LVSCW_AUTOSIZE_USEHEADER	EQU	- 2
LVM_SETCOLUMNWIDTH	EQU	( LVM_FIRST + 30 )
ListView_SetColumnWidth macro hwnd,iCol,cx_
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCOLUMNWIDTH , ( iCol ) , cx_ ) >
	endm
if (_WIN32_IE ge 0300h)
LVM_GETHEADER	EQU	( LVM_FIRST + 31 )
ListView_GetHeader macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETHEADER , 0 , 0 ) >
	endm
endif 
LVM_CREATEDRAGIMAGE	EQU	( LVM_FIRST + 33 )
ListView_CreateDragImage macro hwnd,i,lpptUpLeft
	exitm <SNDMSG ( ( hwnd ) , LVM_CREATEDRAGIMAGE , ( i ) , <lpptUpLeft> ) >
	endm
LVM_GETVIEWRECT	EQU	( LVM_FIRST + 34 )
ListView_GetViewRect macro hwnd,prc
	exitm <SNDMSG ( ( hwnd ) , LVM_GETVIEWRECT , 0 , <prc> ) >
	endm
LVM_GETTEXTCOLOR	EQU	( LVM_FIRST + 35 )
ListView_GetTextColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETTEXTCOLOR , 0 , 0 ) >
	endm
LVM_SETTEXTCOLOR	EQU	( LVM_FIRST + 36 )
ListView_SetTextColor macro hwnd,clrText
	exitm <SNDMSG ( ( hwnd ) , LVM_SETTEXTCOLOR , 0 , ( clrText ) ) >
	endm
LVM_GETTEXTBKCOLOR	EQU	( LVM_FIRST + 37 )
ListView_GetTextBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETTEXTBKCOLOR , 0 , 0 ) >
	endm
LVM_SETTEXTBKCOLOR	EQU	( LVM_FIRST + 38 )
ListView_SetTextBkColor macro hwnd,clrTextBk
	exitm <SNDMSG ( ( hwnd ) , LVM_SETTEXTBKCOLOR , 0 , ( clrTextBk ) ) >
	endm
LVM_GETTOPINDEX	EQU	( LVM_FIRST + 39 )
ListView_GetTopIndex macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETTOPINDEX , 0 , 0 ) >
	endm
LVM_GETCOUNTPERPAGE	EQU	( LVM_FIRST + 40 )
ListView_GetCountPerPage macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETCOUNTPERPAGE , 0 , 0 ) >
	endm
LVM_GETORIGIN	EQU	( LVM_FIRST + 41 )
ListView_GetOrigin macro hwndLV,ppt
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETORIGIN , 0 , <ppt> ) >
	endm
LVM_UPDATE	EQU	( LVM_FIRST + 42 )
ListView_Update macro hwndLV,i
	exitm <SNDMSG ( ( hwndLV ) , LVM_UPDATE , i , 0 ) >
	endm
LVM_SETITEMSTATE	EQU	( LVM_FIRST + 43 )
ListView_SetItemState macro hwndLV,i,data,mask_
;;	exitm <{ LV_ITEM _ms_lvi ; _ms_lvi.stateMask = mask ; _ms_lvi.state = data ; SNDMSG ( ( hwndLV ) , LVM_SETITEMSTATE , i , ( LV_ITEM FAR * )  and  _ms_lvi ) ; } >
	sub esp,sizeof LV_ITEM
	mov [esp].LV_ITEM.state,data
	mov [esp].LV_ITEM.stateMask,mask_
	invoke SendMessage,hwndLV,LVM_SETITEMSTATE,i,esp
	add esp,sizeof LV_ITEM
	endm
LVM_GETITEMSTATE	EQU	( LVM_FIRST + 44 )
ListView_GetItemState macro hwndLV,i,mask_
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETITEMSTATE , i , mask_ ) >
	endm
if (_WIN32_IE ge 0300h)
ListView_GetCheckState macro hwndLV,i
	invoke SendMessage,hwndLV,LVM_GETITEMSTATE,i, LVIS_STATEIMAGEMASK
	shr eax,12
    dec eax
	endm
endif 
LVM_GETITEMTEXTA	EQU	( LVM_FIRST + 45 )
LVM_GETITEMTEXTW	EQU	( LVM_FIRST + 115 )
ifdef UNICODE
LVM_GETITEMTEXT	EQU	<LVM_GETITEMTEXTW>
else 
LVM_GETITEMTEXT	EQU	<LVM_GETITEMTEXTA>
endif 
ListView_GetItemText macro hwndLV,i,iSubItem_,pszText_,cchTextMax_
;	exitm <{ LV_ITEM _ms_lvi ; _ms_lvi.iSubItem = iSubItem_ ; _ms_lvi.cchTextMax = cchTextMax_ ; _ms_lvi.pszText = pszText_ ; SNDMSG ( ( hwndLV ) , LVM_GETITEMTEXT , i , ( LV_ITEM FAR * )  and  _ms_lvi ) ; } >
	sub esp,sizeof LV_ITEM
	mov [esp].LV_ITEM.iSubItem,iSubItem_
	mov [esp].LV_ITEM.pszText,pszText_
	mov [esp].LV_ITEM.cchTextMax,cchTextMax_
	invoke SendMessage,hwndLV,LVM_GETITEMTEXT,i,esp
	add esp,sizeof LV_ITEM
	endm
LVM_SETITEMTEXTA	EQU	( LVM_FIRST + 46 )
LVM_SETITEMTEXTW	EQU	( LVM_FIRST + 116 )
ifdef UNICODE
LVM_SETITEMTEXT	EQU	<LVM_SETITEMTEXTW>
else 
LVM_SETITEMTEXT	EQU	<LVM_SETITEMTEXTA>
endif 
ListView_SetItemText macro hwndLV,i,iSubItem_,pszText_
;;	exitm <{ LV_ITEM _ms_lvi ; _ms_lvi.iSubItem = iSubItem_ ; _ms_lvi.pszText = pszText_ ; SNDMSG ( ( hwndLV ) , LVM_SETITEMTEXT , i , ( LV_ITEM FAR * )  and  _ms_lvi ) ; } >
	sub esp,sizeof LV_ITEM
	mov [esp].LV_ITEM.iSubItem,iSubItem_
	mov [esp].LV_ITEM.pszText,pszText_
	invoke SendMessage,hwndLV,LVM_SETITEMTEXT,i,esp
	add esp,sizeof LV_ITEM
	endm
if (_WIN32_IE ge 0300h)
LVSICF_NOINVALIDATEALL	EQU	00000001h
LVSICF_NOSCROLL	EQU	00000002h
endif 
LVM_SETITEMCOUNT	EQU	( LVM_FIRST + 47 )
ListView_SetItemCount macro hwndLV,cItems
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETITEMCOUNT , cItems , 0 ) >
	endm
if (_WIN32_IE ge 0300h)
ListView_SetItemCountEx macro hwndLV,cItems,dwFlags
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETITEMCOUNT , cItems , dwFlags ) >
	endm
endif 
proto_PFNLVCOMPARE typedef proto stdcall :LPARAM,:LPARAM,:LPARAM
PFNLVCOMPARE typedef ptr proto_PFNLVCOMPARE
LVM_SORTITEMS	EQU	( LVM_FIRST + 48 )
ListView_SortItems macro hwndLV,_pfnCompare,_lPrm
	exitm <SNDMSG ( ( hwndLV ) , LVM_SORTITEMS , _lPrm , _pfnCompare ) >
	endm
LVM_SETITEMPOSITION32	EQU	( LVM_FIRST + 49 )
ListView_SetItemPosition32 macro hwndLV,i,x,y
	exitm <{ POINT ptNewPos = { x , y } ; SNDMSG ( ( hwndLV ) , LVM_SETITEMPOSITION32 , ( i ) ,  and  ptNewPos ) ; } >
	endm
LVM_GETSELECTEDCOUNT	EQU	( LVM_FIRST + 50 )
ListView_GetSelectedCount macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETSELECTEDCOUNT , 0 , 0 ) >
	endm
LVM_GETITEMSPACING	EQU	( LVM_FIRST + 51 )
ListView_GetItemSpacing macro hwndLV,fSmall
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETITEMSPACING , fSmall , 0 ) >
	endm
LVM_GETISEARCHSTRINGA	EQU	( LVM_FIRST + 52 )
LVM_GETISEARCHSTRINGW	EQU	( LVM_FIRST + 117 )
ifdef UNICODE
LVM_GETISEARCHSTRING	EQU	<LVM_GETISEARCHSTRINGW>
else 
LVM_GETISEARCHSTRING	EQU	<LVM_GETISEARCHSTRINGA>
endif 
ListView_GetISearchString macro hwndLV,lpsz
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETISEARCHSTRING , 0 , <lpsz> ) >
	endm
if (_WIN32_IE ge 0300h)
LVM_SETICONSPACING	EQU	( LVM_FIRST + 53 )
ListView_SetIconSpacing macro hwndLV,cx_,cy
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETICONSPACING , 0 , MAKELONG ( cx_ , cy ) ) >
	endm
LVM_SETEXTENDEDLISTVIEWSTYLE	EQU	( LVM_FIRST + 54 )
ListView_SetExtendedListViewStyle macro hwndLV,dw_
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETEXTENDEDLISTVIEWSTYLE , 0 , dw_ ) >
	endm
if (_WIN32_IE ge 0400h)
ListView_SetExtendedListViewStyleEx macro hwndLV,dwMask,dw_
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETEXTENDEDLISTVIEWSTYLE , dwMask , dw_ ) >
	endm
endif 
LVM_GETEXTENDEDLISTVIEWSTYLE	EQU	( LVM_FIRST + 55 )
ListView_GetExtendedListViewStyle macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETEXTENDEDLISTVIEWSTYLE , 0 , 0 ) >
	endm
LVS_EX_GRIDLINES	EQU	00000001h
LVS_EX_SUBITEMIMAGES	EQU	00000002h
LVS_EX_CHECKBOXES	EQU	00000004h
LVS_EX_TRACKSELECT	EQU	00000008h
LVS_EX_HEADERDRAGDROP	EQU	00000010h
LVS_EX_FULLROWSELECT	EQU	00000020h
LVS_EX_ONECLICKACTIVATE	EQU	00000040h
LVS_EX_TWOCLICKACTIVATE	EQU	00000080h
if (_WIN32_IE ge 0400h)
LVS_EX_FLATSB	EQU	00000100h
LVS_EX_REGIONAL	EQU	00000200h
LVS_EX_INFOTIP	EQU	00000400h
LVS_EX_UNDERLINEHOT	EQU	00000800h
LVS_EX_UNDERLINECOLD	EQU	00001000h
LVS_EX_MULTIWORKAREAS	EQU	00002000h
endif 
LVM_GETSUBITEMRECT	EQU	( LVM_FIRST + 56 )
ListView_GetSubItemRect macro hwnd,iItem,iSubItem,code,prc
;;	exitm <SNDMSG ( ( hwnd ) , LVM_GETSUBITEMRECT , ( iItem ) , ( ( prc ) ? ( ( ( ( LPRECT ) ( prc ) ) -> top = iSubItem ) , ( ( ( LPRECT ) ( prc ) ) -> left = code ) , ( prc ) ) : ( LPRECT ) NULL ) ) >
	push ecx
    mov ecx, prc
    push code
    pop [ecx].RECT.left
    push iSubItem
    pop [ecx].RECT.top
    pop ecx
	exitm <SNDMSG ( ( hwnd ) , LVM_GETSUBITEMRECT , ( iItem ) , <prc> ) >
	endm
LVM_SUBITEMHITTEST	EQU	( LVM_FIRST + 57 )
ListView_SubItemHitTest macro hwnd,plvhti
	exitm <SNDMSG ( ( hwnd ) , LVM_SUBITEMHITTEST , 0 , <plvhti> ) >
	endm
LVM_SETCOLUMNORDERARRAY	EQU	( LVM_FIRST + 58 )
ListView_SetColumnOrderArray macro hwnd,iCount,pi
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCOLUMNORDERARRAY , iCount , <pi> ) >
	endm
LVM_GETCOLUMNORDERARRAY	EQU	( LVM_FIRST + 59 )
ListView_GetColumnOrderArray macro hwnd,iCount,pi
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCOLUMNORDERARRAY , iCount , <pi> ) >
	endm
LVM_SETHOTITEM	EQU	( LVM_FIRST + 60 )
ListView_SetHotItem macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , LVM_SETHOTITEM , i , 0 ) >
	endm
LVM_GETHOTITEM	EQU	( LVM_FIRST + 61 )
ListView_GetHotItem macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETHOTITEM , 0 , 0 ) >
	endm
LVM_SETHOTCURSOR	EQU	( LVM_FIRST + 62 )
ListView_SetHotCursor macro hwnd,hcur
	exitm <( HCURSOR ) SNDMSG ( ( hwnd ) , LVM_SETHOTCURSOR , 0 , hcur ) >
	endm
LVM_GETHOTCURSOR	EQU	( LVM_FIRST + 63 )
ListView_GetHotCursor macro hwnd
	exitm <( HCURSOR ) SNDMSG ( ( hwnd ) , LVM_GETHOTCURSOR , 0 , 0 ) >
	endm
LVM_APPROXIMATEVIEWRECT	EQU	( LVM_FIRST + 64 )
ListView_ApproximateViewRect macro hwnd,iWidth,iHeight,iCount
	exitm <SNDMSG ( ( hwnd ) , LVM_APPROXIMATEVIEWRECT , iCount , MAKELPARAM ( iWidth , iHeight ) ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
LV_MAX_WORKAREAS	EQU	16
LVM_SETWORKAREAS	EQU	( LVM_FIRST + 65 )
ListView_SetWorkAreas macro hwnd,nWorkAreas,prc
	exitm <SNDMSG ( ( hwnd ) , LVM_SETWORKAREAS , nWorkAreas , <prc> ) >
	endm
LVM_GETWORKAREAS	EQU	( LVM_FIRST + 70 )
ListView_GetWorkAreas macro hwnd,nWorkAreas,prc
	exitm <SNDMSG ( ( hwnd ) , LVM_GETWORKAREAS , nWorkAreas , <prc> ) >
	endm
LVM_GETNUMBEROFWORKAREAS	EQU	( LVM_FIRST + 73 )
ListView_GetNumberOfWorkAreas macro hwnd,pnWorkAreas
	exitm <SNDMSG ( ( hwnd ) , LVM_GETNUMBEROFWORKAREAS , 0 , <pnWorkAreas> ) >
	endm
LVM_GETSELECTIONMARK	EQU	( LVM_FIRST + 66 )
ListView_GetSelectionMark macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETSELECTIONMARK , 0 , 0 ) >
	endm
LVM_SETSELECTIONMARK	EQU	( LVM_FIRST + 67 )
ListView_SetSelectionMark macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , LVM_SETSELECTIONMARK , 0 , i ) >
	endm
LVM_SETHOVERTIME	EQU	( LVM_FIRST + 71 )
ListView_SetHoverTime macro hwndLV,dwHoverTimeMs
	exitm <SendMessage ( ( hwndLV ) , LVM_SETHOVERTIME , 0 , dwHoverTimeMs ) >
	endm
LVM_GETHOVERTIME	EQU	( LVM_FIRST + 72 )
ListView_GetHoverTime macro hwndLV
	exitm <SendMessage ( ( hwndLV ) , LVM_GETHOVERTIME , 0 , 0 ) >
	endm
LVM_SETTOOLTIPS	EQU	( LVM_FIRST + 74 )
ListView_SetToolTips macro hwndLV,hwndNewHwnd
	exitm <SendMessage ( ( hwndLV ) , LVM_SETTOOLTIPS , hwndNewHwnd , 0 ) >
	endm
LVM_GETTOOLTIPS	EQU	( LVM_FIRST + 78 )
ListView_GetToolTips macro hwndLV
	exitm <SendMessage ( ( hwndLV ) , LVM_GETTOOLTIPS , 0 , 0 ) >
	endm
LVBKIMAGEA	struct
ulFlags	DWORD	?
hbm	HBITMAP	?
pszImage	LPSTR	?
cchImageMax	DWORD	?
xOffsetPercent	DWORD	?
yOffsetPercent	DWORD	?
LVBKIMAGEA	ends

LPLVBKIMAGEA typedef ptr LVBKIMAGEA

LVBKIMAGEW	struct
ulFlags	DWORD	?
hbm	HBITMAP	?
pszImage	LPWSTR	?
cchImageMax	DWORD	?
xOffsetPercent	DWORD	?
yOffsetPercent	DWORD	?
LVBKIMAGEW	ends

LPLVBKIMAGEW typedef ptr LVBKIMAGEW

LVBKIF_SOURCE_NONE	EQU	00000000h
LVBKIF_SOURCE_HBITMAP	EQU	00000001h
LVBKIF_SOURCE_URL	EQU	00000002h
LVBKIF_SOURCE_MASK	EQU	00000003h
LVBKIF_STYLE_NORMAL	EQU	00000000h
LVBKIF_STYLE_TILE	EQU	00000010h
LVBKIF_STYLE_MASK	EQU	00000010h
LVM_SETBKIMAGEA	EQU	( LVM_FIRST + 68 )
LVM_SETBKIMAGEW	EQU	( LVM_FIRST + 138 )
LVM_GETBKIMAGEA	EQU	( LVM_FIRST + 69 )
LVM_GETBKIMAGEW	EQU	( LVM_FIRST + 139 )
ifdef UNICODE
LVBKIMAGE	EQU	<LVBKIMAGEW>
LPLVBKIMAGE	EQU	<LPLVBKIMAGEW>
LVM_SETBKIMAGE	EQU	<LVM_SETBKIMAGEW>
LVM_GETBKIMAGE	EQU	<LVM_GETBKIMAGEW>
else 
LVBKIMAGE	EQU	<LVBKIMAGEA>
LPLVBKIMAGE	EQU	<LPLVBKIMAGEA>
LVM_SETBKIMAGE	EQU	<LVM_SETBKIMAGEA>
LVM_GETBKIMAGE	EQU	<LVM_GETBKIMAGEA>
endif 
ListView_SetBkImage macro hwnd,plvbki
	exitm <SNDMSG ( ( hwnd ) , LVM_SETBKIMAGE , 0 , plvbki ) >
	endm
ListView_GetBkImage macro hwnd,plvbki
	exitm <SNDMSG ( ( hwnd ) , LVM_GETBKIMAGE , 0 , plvbki ) >
	endm
endif 
if (_WIN32_IE ge 0300h)
LPNM_LISTVIEW	EQU	<LPNMLISTVIEW>
NM_LISTVIEW	EQU	<NMLISTVIEW>
else 
tagNMLISTVIEW	EQU	<_NM_LISTVIEW>
NMLISTVIEW	EQU	<NM_LISTVIEW>
LPNMLISTVIEW	EQU	<LPNM_LISTVIEW>
endif 
NMLISTVIEW	struct
hdr	NMHDR	<>
iItem	DWORD	?
iSubItem	DWORD	?
uNewState	DWORD	?
uOldState	DWORD	?
uChanged	DWORD	?
ptAction	POINT	<>
lParam	LPARAM	?
NMLISTVIEW	ends

LPNMLISTVIEW typedef ptr NMLISTVIEW

if (_WIN32_IE ge 400h)
NMITEMACTIVATE	struct
hdr	NMHDR	<>
iItem	DWORD	?
iSubItem	DWORD	?
uNewState	DWORD	?
uOldState	DWORD	?
uChanged	DWORD	?
ptAction	POINT	<>
lParam	LPARAM	?
uKeyFlags	DWORD	?
NMITEMACTIVATE	ends

LPNMITEMACTIVATE typedef ptr NMITEMACTIVATE

LVKF_ALT	EQU	0001h
LVKF_CONTROL	EQU	0002h
LVKF_SHIFT	EQU	0004h
endif 
if (_WIN32_IE ge 0300h)
NMLVCUSTOMDRAW_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( NMLVCUSTOMDRW , clrTextBk )>
NMLVCUSTOMDRAW	struct
nmcd	NMCUSTOMDRAW	<>
clrText	COLORREF	?
clrTextBk	COLORREF	?
if (_WIN32_IE ge 0400h)
iSubItem	DWORD	?
endif 
NMLVCUSTOMDRAW	ends

LPNMLVCUSTOMDRAW typedef ptr NMLVCUSTOMDRAW

NMLVCACHEHINT	struct
hdr	NMHDR	<>
iFrom	DWORD	?
iTo	DWORD	?
NMLVCACHEHINT	ends

LPNMLVCACHEHINT typedef ptr NMLVCACHEHINT

LPNM_CACHEHINT	EQU	<LPNMLVCACHEHINT>
PNM_CACHEHINT	EQU	<LPNMLVCACHEHINT>
NM_CACHEHINT	EQU	<NMLVCACHEHINT>
NMLVFINDITEM	struct
hdr	NMHDR	<>
iStart	DWORD	?
lvfi	LVFINDINFO	<>
NMLVFINDITEM	ends

LPNMLVFINDITEM typedef ptr NMLVFINDITEM

PNM_FINDITEM	EQU	<LPNMLVFINDITEM>
LPNM_FINDITEM	EQU	<LPNMLVFINDITEM>
NM_FINDITEM	EQU	<NMLVFINDITEM>
NMLVODSTATECHANGE	struct
hdr	NMHDR	<>
iFrom	DWORD	?
iTo	DWORD	?
uNewState	DWORD	?
uOldState	DWORD	?
NMLVODSTATECHANGE	ends

LPNMLVODSTATECHANGE typedef ptr NMLVODSTATECHANGE

PNM_ODSTATECHANGE	EQU	<LPNMLVODSTATECHANGE>
LPNM_ODSTATECHANGE	EQU	<LPNMLVODSTATECHANGE>
NM_ODSTATECHANGE	EQU	<NMLVODSTATECHANGE>
endif 
LVN_ITEMCHANGING	EQU	( LVN_FIRST - 0 )
LVN_ITEMCHANGED	EQU	( LVN_FIRST - 1 )
LVN_INSERTITEM	EQU	( LVN_FIRST - 2 )
LVN_DELETEITEM	EQU	( LVN_FIRST - 3 )
LVN_DELETEALLITEMS	EQU	( LVN_FIRST - 4 )
LVN_BEGINLABELEDITA	EQU	( LVN_FIRST - 5 )
LVN_BEGINLABELEDITW	EQU	( LVN_FIRST - 75 )
LVN_ENDLABELEDITA	EQU	( LVN_FIRST - 6 )
LVN_ENDLABELEDITW	EQU	( LVN_FIRST - 76 )
LVN_COLUMNCLICK	EQU	( LVN_FIRST - 8 )
LVN_BEGINDRAG	EQU	( LVN_FIRST - 9 )
LVN_BEGINRDRAG	EQU	( LVN_FIRST - 11 )
if (_WIN32_IE ge 0300h)
LVN_ODCACHEHINT	EQU	( LVN_FIRST - 13 )
LVN_ODFINDITEMA	EQU	( LVN_FIRST - 52 )
LVN_ODFINDITEMW	EQU	( LVN_FIRST - 79 )
LVN_ITEMACTIVATE	EQU	( LVN_FIRST - 14 )
LVN_ODSTATECHANGED	EQU	( LVN_FIRST - 15 )
ifdef UNICODE
LVN_ODFINDITEM	EQU	<LVN_ODFINDITEMW>
else 
LVN_ODFINDITEM	EQU	<LVN_ODFINDITEMA>
endif 
endif 
if (_WIN32_IE ge 0400h)
LVN_HOTTRACK	EQU	( LVN_FIRST - 21 )
endif 
LVN_GETDISPINFOA	EQU	( LVN_FIRST - 50 )
LVN_GETDISPINFOW	EQU	( LVN_FIRST - 77 )
LVN_SETDISPINFOA	EQU	( LVN_FIRST - 51 )
LVN_SETDISPINFOW	EQU	( LVN_FIRST - 78 )
ifdef UNICODE
LVN_BEGINLABELEDIT	EQU	<LVN_BEGINLABELEDITW>
LVN_ENDLABELEDIT	EQU	<LVN_ENDLABELEDITW>
LVN_GETDISPINFO	EQU	<LVN_GETDISPINFOW>
LVN_SETDISPINFO	EQU	<LVN_SETDISPINFOW>
else 
LVN_BEGINLABELEDIT	EQU	<LVN_BEGINLABELEDITA>
LVN_ENDLABELEDIT	EQU	<LVN_ENDLABELEDITA>
LVN_GETDISPINFO	EQU	<LVN_GETDISPINFOA>
LVN_SETDISPINFO	EQU	<LVN_SETDISPINFOA>
endif 
LVIF_DI_SETITEM	EQU	1000h
if (_WIN32_IE ge 0300h)
LV_DISPINFOA	EQU	<NMLVDISPINFOA>
LV_DISPINFOW	EQU	<NMLVDISPINFOW>
else 
tagLVDISPINFO	EQU	<_LV_DISPINFO>
NMLVDISPINFOA	EQU	<LV_DISPINFOA>
tagLVDISPINFOW	EQU	<_LV_DISPINFOW>
NMLVDISPINFOW	EQU	<LV_DISPINFOW>
endif 
LV_DISPINFO	EQU	<NMLVDISPINFO>
NMLVDISPINFOA	struct
hdr	NMHDR	<>
item	LVITEMA	<>
NMLVDISPINFOA	ends

LPNMLVDISPINFOA typedef ptr NMLVDISPINFOA

NMLVDISPINFOW	struct
hdr	NMHDR	<>
item	LVITEMW	<>
NMLVDISPINFOW	ends

LPNMLVDISPINFOW typedef ptr NMLVDISPINFOW

ifdef UNICODE
NMLVDISPINFO	EQU	<NMLVDISPINFOW>
else 
NMLVDISPINFO	EQU	<NMLVDISPINFOA>
endif 
LVN_KEYDOWN	EQU	( LVN_FIRST - 55 )
if (_WIN32_IE ge 0300h)
LV_KEYDOWN	EQU	<NMLVKEYDOWN>
else 
tagLVKEYDOWN	EQU	<_LV_KEYDOWN>
NMLVKEYDOWN	EQU	<LV_KEYDOWN>
endif 
NMLVKEYDOWN	struct
hdr	NMHDR	<>
wVKey	WORD	?
flags	DWORD	?
NMLVKEYDOWN	ends

LPNMLVKEYDOWN typedef ptr NMLVKEYDOWN

if (_WIN32_IE ge 0300h)
LVN_MARQUEEBEGIN	EQU	( LVN_FIRST - 56 )
endif 
if (_WIN32_IE ge 0400h)
NMLVGETINFOTIPA	struct
hdr	NMHDR	<>
dwFlags	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
lParam	LPARAM	?
NMLVGETINFOTIPA	ends

LPNMLVGETINFOTIPA typedef ptr NMLVGETINFOTIPA

NMLVGETINFOTIPW	struct
hdr	NMHDR	<>
dwFlags	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
lParam	LPARAM	?
NMLVGETINFOTIPW	ends

LPNMLVGETINFOTIPW typedef ptr NMLVGETINFOTIPW

LVGIT_UNFOLDED	EQU	0001h
LVN_GETINFOTIPA	EQU	( LVN_FIRST - 57 )
LVN_GETINFOTIPW	EQU	( LVN_FIRST - 58 )
ifdef UNICODE
LVN_GETINFOTIP	EQU	<LVN_GETINFOTIPW>
NMLVGETINFOTIP	EQU	<NMLVGETINFOTIPW>
LPNMLVGETINFOTIP	EQU	<LPNMLVGETINFOTIPW>
else 
LVN_GETINFOTIP	EQU	<LVN_GETINFOTIPA>
NMLVGETINFOTIP	EQU	<NMLVGETINFOTIPA>
LPNMLVGETINFOTIP	EQU	<LPNMLVGETINFOTIPA>
endif 
endif 
endif 
ifndef NOTREEVIEW
ifdef _WIN32
WC_TREEVIEWA	EQU	<"SysTreeView32">
WC_TREEVIEWW	EQU	<L("SysTreeView32")>
ifdef UNICODE
WC_TREEVIEW	EQU	<WC_TREEVIEWW>
else 
WC_TREEVIEW	EQU	<WC_TREEVIEWA>
endif 
else 
WC_TREEVIEW	EQU	<"SysTreeView">
endif 
TVS_HASBUTTONS	EQU	0001h
TVS_HASLINES	EQU	0002h
TVS_LINESATROOT	EQU	0004h
TVS_EDITLABELS	EQU	0008h
TVS_DISABLEDRAGDROP	EQU	0010h
TVS_SHOWSELALWAYS	EQU	0020h
if (_WIN32_IE ge 0300h)
TVS_RTLREADING	EQU	0040h
TVS_NOTOOLTIPS	EQU	0080h
TVS_CHECKBOXES	EQU	0100h
TVS_TRACKSELECT	EQU	0200h
if (_WIN32_IE ge 0400h)
TVS_SINGLEEXPAND	EQU	0400h
TVS_INFOTIP	EQU	0800h
TVS_FULLROWSELECT	EQU	1000h
TVS_NOSCROLL	EQU	2000h
TVS_NONEVENHEIGHT	EQU	4000h
endif 
endif

ifndef _TREEITEM
_TREEITEM struct
_TREEITEM ends
endif

HTREEITEM typedef ptr _TREEITEM

TVIF_TEXT	EQU	0001h
TVIF_IMAGE	EQU	0002h
TVIF_PARAM	EQU	0004h
TVIF_STATE	EQU	0008h
TVIF_HANDLE	EQU	0010h
TVIF_SELECTEDIMAGE	EQU	0020h
TVIF_CHILDREN	EQU	0040h
if (_WIN32_IE ge 0400h)
TVIF_INTEGRAL	EQU	0080h
endif 
TVIS_SELECTED	EQU	0002h
TVIS_CUT	EQU	0004h
TVIS_DROPHILITED	EQU	0008h
TVIS_BOLD	EQU	0010h
TVIS_EXPANDED	EQU	0020h
TVIS_EXPANDEDONCE	EQU	0040h
if (_WIN32_IE ge 0300h)
TVIS_EXPANDPARTIAL	EQU	0080h
endif 
TVIS_OVERLAYMASK	EQU	0F00h
TVIS_STATEIMAGEMASK	EQU	0F000h
TVIS_USERMASK	EQU	0F000h
I_CHILDRENCALLBACK	EQU	- 1
if (_WIN32_IE ge 0300h)
LPTV_ITEMW	EQU	<LPTVITEMW>
LPTV_ITEMA	EQU	<LPTVITEMA>
TV_ITEMW	EQU	<TVITEMW>
TV_ITEMA	EQU	<TVITEMA>
else 
tagTVITEMA	EQU	<_TV_ITEMA>
TVITEMA	EQU	<TV_ITEMA>
LPTVITEMA	EQU	<LPTV_ITEMA>
tagTVITEMW	EQU	<_TV_ITEMW>
TVITEMW	EQU	<TV_ITEMW>
LPTVITEMW	EQU	<LPTV_ITEMW>
endif 
LPTV_ITEM	EQU	<LPTVITEM>
TV_ITEM	EQU	<TVITEM>
TVITEMA	struct
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
TVITEMA	ends

LPTVITEMA typedef ptr TVITEMA

TVITEMW	struct
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
TVITEMW	ends

LPTVITEMW typedef ptr TVITEMW

if (_WIN32_IE ge 0400h)
TVITEMEXA	struct
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
iIntegral	DWORD	?
TVITEMEXA	ends

LPTVITEMEXA typedef ptr TVITEMEXA

TVITEMEXW	struct
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
iIntegral	DWORD	?
TVITEMEXW	ends

LPTVITEMEXW typedef ptr TVITEMEXW

ifdef UNICODE
TVITEMEX typedef TVITEMEXW
LPTVITEMEX typedef LPTVITEMEXW
else 
TVITEMEX typedef TVITEMEXA
LPTVITEMEX typedef LPTVITEMEXA
endif 
endif 
ifdef UNICODE
TVITEM	EQU	<TVITEMW>
LPTVITEM	EQU	<LPTVITEMW>
else 
TVITEM	EQU	<TVITEMA>
LPTVITEM	EQU	<LPTVITEMA>
endif 
TVI_ROOT	EQU	0FFFF0000h
TVI_FIRST	EQU	0FFFF0001h
TVI_LAST	EQU	0FFFF0002h
TVI_SORT	EQU	0FFFF0003h
if (_WIN32_IE ge 0300h)
LPTV_INSERTSTRUCTA	EQU	<LPTVINSERTSTRUCTA>
LPTV_INSERTSTRUCTW	EQU	<LPTVINSERTSTRUCTW>
TV_INSERTSTRUCTA	EQU	<TVINSERTSTRUCTA>
TV_INSERTSTRUCTW	EQU	<TVINSERTSTRUCTW>
else 
tagTVINSERTSTRUCTA	EQU	<_TV_INSERTSTRUCTA>
TVINSERTSTRUCTA	EQU	<TV_INSERTSTRUCTA>
LPTVINSERTSTRUCTA	EQU	<LPTV_INSERTSTRUCTA>
tagTVINSERTSTRUCTW	EQU	<_TV_INSERTSTRUCTW>
TVINSERTSTRUCTW	EQU	<TV_INSERTSTRUCTW>
LPTVINSERTSTRUCTW	EQU	<LPTV_INSERTSTRUCTW>
endif 
TV_INSERTSTRUCT	EQU	<TVINSERTSTRUCT>
LPTV_INSERTSTRUCT	EQU	<LPTVINSERTSTRUCT>
TVINSERTSTRUCTA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TVINSERTSTRUCTA , item )>
TVINSERTSTRUCTW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TVINSERTSTRUCTW , item )>
TVINSERTSTRUCTA	struct
hParent	HTREEITEM	?
hInsertAfter	HTREEITEM	?
if (_WIN32_IE ge 0400h)
union DUMMYUNIONNAME
itemex	TVITEMEXA	<>
item	TV_ITEMA	<>
ends
else 
item	TV_ITEMA	<>
endif 
TVINSERTSTRUCTA	ends

LPTVINSERTSTRUCTA typedef ptr TVINSERTSTRUCTA

TVINSERTSTRUCTW	struct
hParent	HTREEITEM	?
hInsertAfter	HTREEITEM	?
if (_WIN32_IE ge 0400h)
union DUMMYUNIONNAME
itemex	TVITEMEXW	<>
item	TV_ITEMW	<>
ends
else 
item	TV_ITEMW	<>
endif 
TVINSERTSTRUCTW	ends

LPTVINSERTSTRUCTW typedef ptr TVINSERTSTRUCTW

ifdef UNICODE
TVINSERTSTRUCT	EQU	<TVINSERTSTRUCTW>
LPTVINSERTSTRUCT	EQU	<LPTVINSERTSTRUCTW>
TVINSERTSTRUCT_V1_SIZE	EQU	<TVINSERTSTRUCTW_V1_SIZE>
else 
TVINSERTSTRUCT	EQU	<TVINSERTSTRUCTA>
LPTVINSERTSTRUCT	EQU	<LPTVINSERTSTRUCTA>
TVINSERTSTRUCT_V1_SIZE	EQU	<TVINSERTSTRUCTA_V1_SIZE>
endif 
TVM_INSERTITEMA	EQU	( TV_FIRST + 0 )
TVM_INSERTITEMW	EQU	( TV_FIRST + 50 )
ifdef UNICODE
TVM_INSERTITEM	EQU	<TVM_INSERTITEMW>
else 
TVM_INSERTITEM	EQU	<TVM_INSERTITEMA>
endif 
TreeView_InsertItem macro hwnd,lpis
	exitm <SNDMSG ( ( hwnd ) , TVM_INSERTITEM , 0 , <lpis> ) >
	endm
TVM_DELETEITEM	EQU	( TV_FIRST + 1 )
TreeView_DeleteItem macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_DELETEITEM , 0 , ( hitem ) ) >
	endm
TreeView_DeleteAllItems macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_DELETEITEM , 0 , TVI_ROOT ) >
	endm
TVM_EXPAND	EQU	( TV_FIRST + 2 )
TreeView_Expand macro hwnd,hitem,code
	exitm <SNDMSG ( ( hwnd ) , TVM_EXPAND , code , ( hitem ) ) >
	endm
TVE_COLLAPSE	EQU	0001h
TVE_EXPAND	EQU	0002h
TVE_TOGGLE	EQU	0003h
if (_WIN32_IE ge 0300h)
TVE_EXPANDPARTIAL	EQU	4000h
endif 
TVE_COLLAPSERESET	EQU	8000h
TVM_GETITEMRECT	EQU	( TV_FIRST + 4 )
TreeView_GetItemRect macro hwnd,hitem,prc,code
	push ecx
    mov ecx, prc
    push hitem
    pop dword ptr [ecx]
    pop ecx
    exitm <SNDMSG ( ( hwnd ) , TVM_GETITEMRECT , ( code ) , <prc> ) >
	endm
TVM_GETCOUNT	EQU	( TV_FIRST + 5 )
TreeView_GetCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETCOUNT , 0 , 0 ) >
	endm
TVM_GETINDENT	EQU	( TV_FIRST + 6 )
TreeView_GetIndent macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETINDENT , 0 , 0 ) >
	endm
TVM_SETINDENT	EQU	( TV_FIRST + 7 )
TreeView_SetIndent macro hwnd,indent
	exitm <SNDMSG ( ( hwnd ) , TVM_SETINDENT , indent , 0 ) >
	endm
TVM_GETIMAGELIST	EQU	( TV_FIRST + 8 )
TreeView_GetImageList macro hwnd,iImage
	exitm <SNDMSG ( ( hwnd ) , TVM_GETIMAGELIST , iImage , 0 ) >
	endm
TVSIL_NORMAL	EQU	0
TVSIL_STATE	EQU	2
TVM_SETIMAGELIST	EQU	( TV_FIRST + 9 )
TreeView_SetImageList macro hwnd,himl,iImage
	exitm <SNDMSG ( ( hwnd ) , TVM_SETIMAGELIST , iImage , ( himl ) ) >
	endm
TVM_GETNEXTITEM	EQU	( TV_FIRST + 10 )
TreeView_GetNextItem macro hwnd,hitem,code
	exitm <SNDMSG ( ( hwnd ) , TVM_GETNEXTITEM , code , ( hitem ) ) >
	endm
TVGN_ROOT	EQU	0000h
TVGN_NEXT	EQU	0001h
TVGN_PREVIOUS	EQU	0002h
TVGN_PARENT	EQU	0003h
TVGN_CHILD	EQU	0004h
TVGN_FIRSTVISIBLE	EQU	0005h
TVGN_NEXTVISIBLE	EQU	0006h
TVGN_PREVIOUSVISIBLE	EQU	0007h
TVGN_DROPHILITE	EQU	0008h
TVGN_CARET	EQU	0009h
if (_WIN32_IE ge 0400h)
TVGN_LASTVISIBLE	EQU	000Ah
endif 
TreeView_GetChild macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_CHILD ) >
	endm
TreeView_GetNextSibling macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_NEXT ) >
	endm
TreeView_GetPrevSibling macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_PREVIOUS ) >
	endm
TreeView_GetParent macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_PARENT ) >
	endm
TreeView_GetFirstVisible macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_FIRSTVISIBLE ) >
	endm
TreeView_GetNextVisible macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_NEXTVISIBLE ) >
	endm
TreeView_GetPrevVisible macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_PREVIOUSVISIBLE ) >
	endm
TreeView_GetSelection macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_CARET ) >
	endm
TreeView_GetDropHilight macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_DROPHILITE ) >
	endm
TreeView_GetRoot macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_ROOT ) >
	endm
if (_WIN32_IE ge 0400h)
TreeView_GetLastVisible macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_LASTVISIBLE ) >
	endm
endif 
TVM_SELECTITEM	EQU	( TV_FIRST + 11 )
TreeView_Select macro hwnd,hitem,code
	exitm <SNDMSG ( ( hwnd ) , TVM_SELECTITEM , code , ( hitem ) ) >
	endm
TreeView_SelectItem macro hwnd,hitem
	exitm <TreeView_Select ( hwnd , hitem , TVGN_CARET ) >
	endm
TreeView_SelectDropTarget macro hwnd,hitem
	exitm <TreeView_Select ( hwnd , hitem , TVGN_DROPHILITE ) >
	endm
TreeView_SelectSetFirstVisible macro hwnd,hitem
	exitm <TreeView_Select ( hwnd , hitem , TVGN_FIRSTVISIBLE ) >
	endm
TVM_GETITEMA	EQU	( TV_FIRST + 12 )
TVM_GETITEMW	EQU	( TV_FIRST + 62 )
ifdef UNICODE
TVM_GETITEM	EQU	<TVM_GETITEMW>
else 
TVM_GETITEM	EQU	<TVM_GETITEMA>
endif 
TreeView_GetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , TVM_GETITEM , 0 , <pitem> ) >
	endm
TVM_SETITEMA	EQU	( TV_FIRST + 13 )
TVM_SETITEMW	EQU	( TV_FIRST + 63 )
ifdef UNICODE
TVM_SETITEM	EQU	<TVM_SETITEMW>
else 
TVM_SETITEM	EQU	<TVM_SETITEMA>
endif 
TreeView_SetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , TVM_SETITEM , 0 , <pitem> ) >
	endm
TVM_EDITLABELA	EQU	( TV_FIRST + 14 )
TVM_EDITLABELW	EQU	( TV_FIRST + 65 )
ifdef UNICODE
TVM_EDITLABEL	EQU	<TVM_EDITLABELW>
else 
TVM_EDITLABEL	EQU	<TVM_EDITLABELA>
endif 
TreeView_EditLabel macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_EDITLABEL , 0 , ( hitem ) ) >
	endm
TVM_GETEDITCONTROL	EQU	( TV_FIRST + 15 )
TreeView_GetEditControl macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETEDITCONTROL , 0 , 0 ) >
	endm
TVM_GETVISIBLECOUNT	EQU	( TV_FIRST + 16 )
TreeView_GetVisibleCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETVISIBLECOUNT , 0 , 0 ) >
	endm
TVM_HITTEST	EQU	( TV_FIRST + 17 )
TreeView_HitTest macro hwnd,lpht
	exitm <SNDMSG ( ( hwnd ) , TVM_HITTEST , 0 , <lpht> ) >
	endm
if (_WIN32_IE ge 0300h)
LPTV_HITTESTINFO	EQU	<LPTVHITTESTINFO>
TV_HITTESTINFO	EQU	<TVHITTESTINFO>
else 
tagTVHITTESTINFO	EQU	<_TV_HITTESTINFO>
TVHITTESTINFO	EQU	<TV_HITTESTINFO>
LPTVHITTESTINFO	EQU	<LPTV_HITTESTINFO>
endif 
TVHITTESTINFO	struct
pt	POINT	<>
flags	DWORD	?
hItem	HTREEITEM	?
TVHITTESTINFO	ends

LPTVHITTESTINFO typedef ptr TVHITTESTINFO

TVHT_NOWHERE	EQU	0001h
TVHT_ONITEMICON	EQU	0002h
TVHT_ONITEMLABEL	EQU	0004h
TVHT_ONITEM	EQU	( TVHT_ONITEMICON  or  TVHT_ONITEMLABEL  or  TVHT_ONITEMSTATEICON )
TVHT_ONITEMINDENT	EQU	0008h
TVHT_ONITEMBUTTON	EQU	0010h
TVHT_ONITEMRIGHT	EQU	0020h
TVHT_ONITEMSTATEICON	EQU	0040h
TVHT_ABOVE	EQU	0100h
TVHT_BELOW	EQU	0200h
TVHT_TORIGHT	EQU	0400h
TVHT_TOLEFT	EQU	0800h
TVM_CREATEDRAGIMAGE	EQU	( TV_FIRST + 18 )
TreeView_CreateDragImage macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_CREATEDRAGIMAGE , 0 , ( hitem ) ) >
	endm
TVM_SORTCHILDREN	EQU	( TV_FIRST + 19 )
TreeView_SortChildren macro hwnd,hitem,recurse
	exitm <SNDMSG ( ( hwnd ) , TVM_SORTCHILDREN , recurse , ( hitem ) ) >
	endm
TVM_ENSUREVISIBLE	EQU	( TV_FIRST + 20 )
TreeView_EnsureVisible macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_ENSUREVISIBLE , 0 , ( hitem ) ) >
	endm
TVM_SORTCHILDRENCB	EQU	( TV_FIRST + 21 )
TreeView_SortChildrenCB macro hwnd,psort,recurse
	exitm <SNDMSG ( ( hwnd ) , TVM_SORTCHILDRENCB , <recurse> , <psort> ) >
	endm
TVM_ENDEDITLABELNOW	EQU	( TV_FIRST + 22 )
TreeView_EndEditLabelNow macro hwnd,fCancel
	exitm <SNDMSG ( ( hwnd ) , TVM_ENDEDITLABELNOW , fCancel , 0 ) >
	endm
TVM_GETISEARCHSTRINGA	EQU	( TV_FIRST + 23 )
TVM_GETISEARCHSTRINGW	EQU	( TV_FIRST + 64 )
ifdef UNICODE
TVM_GETISEARCHSTRING	EQU	<TVM_GETISEARCHSTRINGW>
else 
TVM_GETISEARCHSTRING	EQU	<TVM_GETISEARCHSTRINGA>
endif 
if (_WIN32_IE ge 0300h)
TVM_SETTOOLTIPS	EQU	( TV_FIRST + 24 )
TreeView_SetToolTips macro hwnd,hwndTT
	exitm <SNDMSG ( ( hwnd ) , TVM_SETTOOLTIPS , hwndTT , 0 ) >
	endm
TVM_GETTOOLTIPS	EQU	( TV_FIRST + 25 )
TreeView_GetToolTips macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETTOOLTIPS , 0 , 0 ) >
	endm
endif 
TreeView_GetISearchString macro hwndTV,lpsz
	exitm <SNDMSG ( ( hwndTV ) , TVM_GETISEARCHSTRING , 0 , <lpsz> ) >
	endm
if (_WIN32_IE ge 0400h)
TVM_SETINSERTMARK	EQU	( TV_FIRST + 26 )
TreeView_SetInsertMark macro hwnd,hItem,fAfter
	exitm <SNDMSG ( ( hwnd ) , TVM_SETINSERTMARK , ( fAfter ) , ( hItem ) ) >
	endm
TVM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TreeView_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , TVM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
TVM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
TreeView_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
TVM_SETITEMHEIGHT	EQU	( TV_FIRST + 27 )
TreeView_SetItemHeight macro hwnd,iHeight
	exitm <SNDMSG ( ( hwnd ) , TVM_SETITEMHEIGHT , iHeight , 0 ) >
	endm
TVM_GETITEMHEIGHT	EQU	( TV_FIRST + 28 )
TreeView_GetItemHeight macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETITEMHEIGHT , 0 , 0 ) >
	endm
TVM_SETBKCOLOR	EQU	( TV_FIRST + 29 )
TreeView_SetBkColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , TVM_SETBKCOLOR , 0 , clr ) >
	endm
TVM_SETTEXTCOLOR	EQU	( TV_FIRST + 30 )
TreeView_SetTextColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , TVM_SETTEXTCOLOR , 0 , clr ) >
	endm
TVM_GETBKCOLOR	EQU	( TV_FIRST + 31 )
TreeView_GetBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETBKCOLOR , 0 , 0 ) >
	endm
TVM_GETTEXTCOLOR	EQU	( TV_FIRST + 32 )
TreeView_GetTextColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETTEXTCOLOR , 0 , 0 ) >
	endm
TVM_SETSCROLLTIME	EQU	( TV_FIRST + 33 )
TreeView_SetScrollTime macro hwnd,uTime
	exitm <SNDMSG ( ( hwnd ) , TVM_SETSCROLLTIME , uTime , 0 ) >
	endm
TVM_GETSCROLLTIME	EQU	( TV_FIRST + 34 )
TreeView_GetScrollTime macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETSCROLLTIME , 0 , 0 ) >
	endm
if (_WIN32_IE ge 0400h)
TVM_SETINSERTMARKCOLOR	EQU	( TV_FIRST + 37 )
TreeView_SetInsertMarkColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , TVM_SETINSERTMARKCOLOR , 0 , clr ) >
	endm
TVM_GETINSERTMARKCOLOR	EQU	( TV_FIRST + 38 )
TreeView_GetInsertMarkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETINSERTMARKCOLOR , 0 , 0 ) >
	endm
endif 
endif 
proto_PFNTVCOMPARE typedef proto stdcall :LPARAM,:LPARAM,:LPARAM
PFNTVCOMPARE typedef ptr proto_PFNTVCOMPARE
if (_WIN32_IE ge 0300h)
LPTV_SORTCB	EQU	<LPTVSORTCB>
TV_SORTCB	EQU	<TVSORTCB>
else 
tagTVSORTCB	EQU	<_TV_SORTCB>
TVSORTCB	EQU	<TV_SORTCB>
LPTVSORTCB	EQU	<LPTV_SORTCB>
endif 
TVSORTCB	struct
hParent	HTREEITEM	?
lpfnCompare	PFNTVCOMPARE	?
lParam	LPARAM	?
TVSORTCB	ends

LPTVSORTCB typedef ptr TVSORTCB

if (_WIN32_IE ge 0300h)
LPNM_TREEVIEWA	EQU	<LPNMTREEVIEWA>
LPNM_TREEVIEWW	EQU	<LPNMTREEVIEWW>
NM_TREEVIEWW	EQU	<NMTREEVIEWW>
NM_TREEVIEWA	EQU	<NMTREEVIEWA>
else 
tagNMTREEVIEWA	EQU	<_NM_TREEVIEWA>
tagNMTREEVIEWW	EQU	<_NM_TREEVIEWW>
NMTREEVIEWA	EQU	<NM_TREEVIEWA>
NMTREEVIEWW	EQU	<NM_TREEVIEWW>
LPNMTREEVIEWA	EQU	<LPNM_TREEVIEWA>
LPNMTREEVIEWW	EQU	<LPNM_TREEVIEWW>
endif 
LPNM_TREEVIEW	EQU	<LPNMTREEVIEW>
NM_TREEVIEW	EQU	<NMTREEVIEW>
NMTREEVIEWA	struct
hdr	NMHDR	<>
action	DWORD	?
itemOld	TVITEMA	<>
itemNew	TVITEMA	<>
ptDrag	POINT	<>
NMTREEVIEWA	ends

LPNMTREEVIEWA typedef ptr NMTREEVIEWA

NMTREEVIEWW	struct
hdr	NMHDR	<>
action	DWORD	?
itemOld	TVITEMW	<>
itemNew	TVITEMW	<>
ptDrag	POINT	<>
NMTREEVIEWW	ends

LPNMTREEVIEWW typedef ptr NMTREEVIEWW

ifdef UNICODE
NMTREEVIEW	EQU	<NMTREEVIEWW>
LPNMTREEVIEW	EQU	<LPNMTREEVIEWW>
else 
NMTREEVIEW	EQU	<NMTREEVIEWA>
LPNMTREEVIEW	EQU	<LPNMTREEVIEWA>
endif 
TVN_SELCHANGINGA	EQU	( TVN_FIRST - 1 )
TVN_SELCHANGINGW	EQU	( TVN_FIRST - 50 )
TVN_SELCHANGEDA	EQU	( TVN_FIRST - 2 )
TVN_SELCHANGEDW	EQU	( TVN_FIRST - 51 )
TVC_UNKNOWN	EQU	0000h
TVC_BYMOUSE	EQU	0001h
TVC_BYKEYBOARD	EQU	0002h
TVN_GETDISPINFOA	EQU	( TVN_FIRST - 3 )
TVN_GETDISPINFOW	EQU	( TVN_FIRST - 52 )
TVN_SETDISPINFOA	EQU	( TVN_FIRST - 4 )
TVN_SETDISPINFOW	EQU	( TVN_FIRST - 53 )
TVIF_DI_SETITEM	EQU	1000h
if (_WIN32_IE ge 0300h)
TV_DISPINFOA	EQU	<NMTVDISPINFOA>
TV_DISPINFOW	EQU	<NMTVDISPINFOW>
else 
tagTVDISPINFOA	EQU	<_TV_DISPINFOA>
NMTVDISPINFOA	EQU	<TV_DISPINFOA>
tagTVDISPINFOW	EQU	<_TV_DISPINFOW>
NMTVDISPINFOW	EQU	<TV_DISPINFOW>
endif 
TV_DISPINFO	EQU	<NMTVDISPINFO>
NMTVDISPINFOA	struct
hdr	NMHDR	<>
item	TVITEMA	<>
NMTVDISPINFOA	ends

LPNMTVDISPINFOA typedef ptr NMTVDISPINFOA

NMTVDISPINFOW	struct
hdr	NMHDR	<>
item	TVITEMW	<>
NMTVDISPINFOW	ends

LPNMTVDISPINFOW typedef ptr NMTVDISPINFOW

ifdef UNICODE
NMTVDISPINFO	EQU	<NMTVDISPINFOW>
LPNMTVDISPINFO	EQU	<LPNMTVDISPINFOW>
else 
NMTVDISPINFO	EQU	<NMTVDISPINFOA>
LPNMTVDISPINFO	EQU	<LPNMTVDISPINFOA>
endif 
TVN_ITEMEXPANDINGA	EQU	( TVN_FIRST - 5 )
TVN_ITEMEXPANDINGW	EQU	( TVN_FIRST - 54 )
TVN_ITEMEXPANDEDA	EQU	( TVN_FIRST - 6 )
TVN_ITEMEXPANDEDW	EQU	( TVN_FIRST - 55 )
TVN_BEGINDRAGA	EQU	( TVN_FIRST - 7 )
TVN_BEGINDRAGW	EQU	( TVN_FIRST - 56 )
TVN_BEGINRDRAGA	EQU	( TVN_FIRST - 8 )
TVN_BEGINRDRAGW	EQU	( TVN_FIRST - 57 )
TVN_DELETEITEMA	EQU	( TVN_FIRST - 9 )
TVN_DELETEITEMW	EQU	( TVN_FIRST - 58 )
TVN_BEGINLABELEDITA	EQU	( TVN_FIRST - 10 )
TVN_BEGINLABELEDITW	EQU	( TVN_FIRST - 59 )
TVN_ENDLABELEDITA	EQU	( TVN_FIRST - 11 )
TVN_ENDLABELEDITW	EQU	( TVN_FIRST - 60 )
TVN_KEYDOWN	EQU	( TVN_FIRST - 12 )
if (_WIN32_IE ge 0400h)
TVN_GETINFOTIPA	EQU	( TVN_FIRST - 13 )
TVN_GETINFOTIPW	EQU	( TVN_FIRST - 14 )
TVN_SINGLEEXPAND	EQU	( TVN_FIRST - 15 )
endif 
if (_WIN32_IE ge 0300h)
TV_KEYDOWN	EQU	<NMTVKEYDOWN>
else 
tagTVKEYDOWN	EQU	<_TV_KEYDOWN>
NMTVKEYDOWN	EQU	<TV_KEYDOWN>
endif 
NMTVKEYDOWN	struct
hdr	NMHDR	<>
wVKey	WORD	?
flags	DWORD	?
NMTVKEYDOWN	ends

LPNMTVKEYDOWN typedef ptr NMTVKEYDOWN

ifdef UNICODE
TVN_SELCHANGING	EQU	<TVN_SELCHANGINGW>
TVN_SELCHANGED	EQU	<TVN_SELCHANGEDW>
TVN_GETDISPINFO	EQU	<TVN_GETDISPINFOW>
TVN_SETDISPINFO	EQU	<TVN_SETDISPINFOW>
TVN_ITEMEXPANDING	EQU	<TVN_ITEMEXPANDINGW>
TVN_ITEMEXPANDED	EQU	<TVN_ITEMEXPANDEDW>
TVN_BEGINDRAG	EQU	<TVN_BEGINDRAGW>
TVN_BEGINRDRAG	EQU	<TVN_BEGINRDRAGW>
TVN_DELETEITEM	EQU	<TVN_DELETEITEMW>
TVN_BEGINLABELEDIT	EQU	<TVN_BEGINLABELEDITW>
TVN_ENDLABELEDIT	EQU	<TVN_ENDLABELEDITW>
else 
TVN_SELCHANGING	EQU	<TVN_SELCHANGINGA>
TVN_SELCHANGED	EQU	<TVN_SELCHANGEDA>
TVN_GETDISPINFO	EQU	<TVN_GETDISPINFOA>
TVN_SETDISPINFO	EQU	<TVN_SETDISPINFOA>
TVN_ITEMEXPANDING	EQU	<TVN_ITEMEXPANDINGA>
TVN_ITEMEXPANDED	EQU	<TVN_ITEMEXPANDEDA>
TVN_BEGINDRAG	EQU	<TVN_BEGINDRAGA>
TVN_BEGINRDRAG	EQU	<TVN_BEGINRDRAGA>
TVN_DELETEITEM	EQU	<TVN_DELETEITEMA>
TVN_BEGINLABELEDIT	EQU	<TVN_BEGINLABELEDITA>
TVN_ENDLABELEDIT	EQU	<TVN_ENDLABELEDITA>
endif 
if (_WIN32_IE ge 0300h)
NMTVCUSTOMDRAW_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( NMTVCUSTOMDRAW , clrTextBk )>
NMTVCUSTOMDRAW	struct
nmcd	NMCUSTOMDRAW	<>
clrText	COLORREF	?
clrTextBk	COLORREF	?
if (_WIN32_IE ge 0400h)
iLevel	DWORD	?
endif 
NMTVCUSTOMDRAW	ends

LPNMTVCUSTOMDRAW typedef ptr NMTVCUSTOMDRAW

endif 
if (_WIN32_IE ge 0400h)
NMTVGETINFOTIPA	struct
hdr	NMHDR	<>
pszText	LPSTR	?
cchTextMax	DWORD	?
hItem	HTREEITEM	?
lParam	LPARAM	?
NMTVGETINFOTIPA	ends

LPNMTVGETINFOTIPA typedef ptr NMTVGETINFOTIPA

NMTVGETINFOTIPW	struct
hdr	NMHDR	<>
pszText	LPWSTR	?
cchTextMax	DWORD	?
hItem	HTREEITEM	?
lParam	LPARAM	?
NMTVGETINFOTIPW	ends

LPNMTVGETINFOTIPW typedef ptr NMTVGETINFOTIPW

ifdef UNICODE
TVN_GETINFOTIP	EQU	<TVN_GETINFOTIPW>
NMTVGETINFOTIP	EQU	<NMTVGETINFOTIPW>
LPNMTVGETINFOTIP	EQU	<LPNMTVGETINFOTIPW>
else 
TVN_GETINFOTIP	EQU	<TVN_GETINFOTIPA>
NMTVGETINFOTIP	EQU	<NMTVGETINFOTIPA>
LPNMTVGETINFOTIP	EQU	<LPNMTVGETINFOTIPA>
endif 
TVCDRF_NOIMAGES	EQU	00010000h
endif 
endif 
if (_WIN32_IE ge 0300h)
ifndef NOUSEREXCONTROLS
WC_COMBOBOXEXW	EQU	<L("ComboBoxEx32")>
WC_COMBOBOXEXA	EQU	<"ComboBoxEx32">
ifdef UNICODE
WC_COMBOBOXEX	EQU	<WC_COMBOBOXEXW>
else 
WC_COMBOBOXEX	EQU	<WC_COMBOBOXEXA>
endif 
CBEIF_TEXT	EQU	00000001h
CBEIF_IMAGE	EQU	00000002h
CBEIF_SELECTEDIMAGE	EQU	00000004h
CBEIF_OVERLAY	EQU	00000008h
CBEIF_INDENT	EQU	00000010h
CBEIF_LPARAM	EQU	00000020h
CBEIF_DI_SETITEM	EQU	10000000h
COMBOBOXEXITEMA	struct
mask_	DWORD	?
iItem	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
iOverlay	DWORD	?
iIndent	DWORD	?
lParam	LPARAM	?
COMBOBOXEXITEMA	ends

PCOMBOBOXEXITEMA typedef ptr COMBOBOXEXITEMA

PCCOMBOEXITEMA typedef ptr COMBOBOXEXITEMA
COMBOBOXEXITEMW	struct
mask_	DWORD	?
iItem	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
iOverlay	DWORD	?
iIndent	DWORD	?
lParam	LPARAM	?
COMBOBOXEXITEMW	ends

PCOMBOBOXEXITEMW typedef ptr COMBOBOXEXITEMW

PCCOMBOEXITEMW typedef ptr COMBOBOXEXITEMW
ifdef UNICODE
COMBOBOXEXITEM	EQU	<COMBOBOXEXITEMW>
PCOMBOBOXEXITEM	EQU	<PCOMBOBOXEXITEMW>
PCCOMBOBOXEXITEM	EQU	<PCCOMBOBOXEXITEMW>
else 
COMBOBOXEXITEM	EQU	<COMBOBOXEXITEMA>
PCOMBOBOXEXITEM	EQU	<PCOMBOBOXEXITEMA>
PCCOMBOBOXEXITEM	EQU	<PCCOMBOBOXEXITEMA>
endif 
CBEM_INSERTITEMA	EQU	( WM_USER + 1 )
CBEM_SETIMAGELIST	EQU	( WM_USER + 2 )
CBEM_GETIMAGELIST	EQU	( WM_USER + 3 )
CBEM_GETITEMA	EQU	( WM_USER + 4 )
CBEM_SETITEMA	EQU	( WM_USER + 5 )
CBEM_DELETEITEM	EQU	<CB_DELETESTRING>
CBEM_GETCOMBOCONTROL	EQU	( WM_USER + 6 )
CBEM_GETEDITCONTROL	EQU	( WM_USER + 7 )
if (_WIN32_IE ge 0400h)
CBEM_SETEXSTYLE	EQU	( WM_USER + 8 )
CBEM_SETEXTENDEDSTYLE	EQU	( WM_USER + 14 )
CBEM_GETEXSTYLE	EQU	( WM_USER + 9 )
CBEM_GETEXTENDEDSTYLE	EQU	( WM_USER + 9 )
CBEM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
CBEM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
else 
CBEM_SETEXSTYLE	EQU	( WM_USER + 8 )
CBEM_GETEXSTYLE	EQU	( WM_USER + 9 )
endif 
CBEM_HASEDITCHANGED	EQU	( WM_USER + 10 )
CBEM_INSERTITEMW	EQU	( WM_USER + 11 )
CBEM_SETITEMW	EQU	( WM_USER + 12 )
CBEM_GETITEMW	EQU	( WM_USER + 13 )
ifdef UNICODE
CBEM_INSERTITEM	EQU	<CBEM_INSERTITEMW>
CBEM_SETITEM	EQU	<CBEM_SETITEMW>
CBEM_GETITEM	EQU	<CBEM_GETITEMW>
else 
CBEM_INSERTITEM	EQU	<CBEM_INSERTITEMA>
CBEM_SETITEM	EQU	<CBEM_SETITEMA>
CBEM_GETITEM	EQU	<CBEM_GETITEMA>
endif 
CBES_EX_NOEDITIMAGE	EQU	00000001h
CBES_EX_NOEDITIMAGEINDENT	EQU	00000002h
CBES_EX_PATHWORDBREAKPROC	EQU	00000004h
if (_WIN32_IE ge 0400h)
CBES_EX_NOSIZELIMIT	EQU	00000008h
CBES_EX_CASESENSITIVE	EQU	00000010h
NMCOMBOBOXEXA	struct
hdr	NMHDR	<>
ceItem	COMBOBOXEXITEMA	<>
NMCOMBOBOXEXA	ends

PNMCOMBOBOXEXA typedef ptr NMCOMBOBOXEXA

NMCOMBOBOXEXW	struct
hdr	NMHDR	<>
ceItem	COMBOBOXEXITEMW	<>
NMCOMBOBOXEXW	ends

PNMCOMBOBOXEXW typedef ptr NMCOMBOBOXEXW

ifdef UNICODE
NMCOMBOBOXEX	EQU	<NMCOMBOBOXEXW>
PNMCOMBOBOXEX	EQU	<PNMCOMBOBOXEXW>
CBEN_GETDISPINFO	EQU	<CBEN_GETDISPINFOW>
else 
NMCOMBOBOXEX	EQU	<NMCOMBOBOXEXA>
PNMCOMBOBOXEX	EQU	<PNMCOMBOBOXEXA>
CBEN_GETDISPINFO	EQU	<CBEN_GETDISPINFOA>
endif 
else 
NMCOMBOBOXEX	struct
hdr	NMHDR	<>
ceItem	COMBOBOXEXITEM	?
NMCOMBOBOXEX	ends

PNMCOMBOBOXEX typedef ptr NMCOMBOBOXEX

CBEN_GETDISPINFO	EQU	( CBEN_FIRST - 0 )
endif 
if (_WIN32_IE ge 0400h)
CBEN_GETDISPINFOA	EQU	( CBEN_FIRST - 0 )
endif 
CBEN_INSERTITEM	EQU	( CBEN_FIRST - 1 )
CBEN_DELETEITEM	EQU	( CBEN_FIRST - 2 )
CBEN_BEGINEDIT	EQU	( CBEN_FIRST - 4 )
CBEN_ENDEDITA	EQU	( CBEN_FIRST - 5 )
CBEN_ENDEDITW	EQU	( CBEN_FIRST - 6 )
if (_WIN32_IE ge 0400h)
CBEN_GETDISPINFOW	EQU	( CBEN_FIRST - 7 )
endif 
if (_WIN32_IE ge 0400h)
CBEN_DRAGBEGINA	EQU	( CBEN_FIRST - 8 )
CBEN_DRAGBEGINW	EQU	( CBEN_FIRST - 9 )
ifdef UNICODE
CBEN_DRAGBEGIN	EQU	<CBEN_DRAGBEGINW>
else 
CBEN_DRAGBEGIN	EQU	<CBEN_DRAGBEGINA>
endif 
endif 
ifdef UNICODE
CBEN_ENDEDIT	EQU	<CBEN_ENDEDITW>
else 
CBEN_ENDEDIT	EQU	<CBEN_ENDEDITA>
endif 
CBENF_KILLFOCUS	EQU	1
CBENF_RETURN	EQU	2
CBENF_ESCAPE	EQU	3
CBENF_DROPDOWN	EQU	4
CBEMAXSTRLEN	EQU	260
if (_WIN32_IE ge 0400h)
NMCBEDRAGBEGINW	struct
hdr	NMHDR	<>
iItemid	DWORD	?
szText	WCHAR CBEMAXSTRLEN dup (?)
NMCBEDRAGBEGINW	ends

LPNMCBEDRAGBEGINW typedef ptr NMCBEDRAGBEGINW
PNMCBEDRAGBEGINW typedef ptr NMCBEDRAGBEGINW

NMCBEDRAGBEGINA	struct
hdr	NMHDR	<>
iItemid	DWORD	?
szText	SBYTE CBEMAXSTRLEN dup (?)
NMCBEDRAGBEGINA	ends

LPNMCBEDRAGBEGINA typedef ptr NMCBEDRAGBEGINA
PNMCBEDRAGBEGINA typedef ptr NMCBEDRAGBEGINA

ifdef UNICODE
NMCBEDRAGBEGIN	EQU	<NMCBEDRAGBEGINW>
LPNMCBEDRAGBEGIN	EQU	<LPNMCBEDRAGBEGINW>
PNMCBEDRAGBEGIN	EQU	<PNMCBEDRAGBEGINW>
else 
NMCBEDRAGBEGIN	EQU	<NMCBEDRAGBEGINA>
LPNMCBEDRAGBEGIN	EQU	<LPNMCBEDRAGBEGINA>
PNMCBEDRAGBEGIN	EQU	<PNMCBEDRAGBEGINA>
endif 
endif 
NMCBEENDEDITW	struct
hdr	NMHDR	<>
fChanged	BOOL	?
iNewSelection	DWORD	?
szText	WCHAR CBEMAXSTRLEN dup (?)
iWhy	DWORD	?
NMCBEENDEDITW	ends

LPNMCBEENDEDITW typedef ptr NMCBEENDEDITW
PNMCBEENDEDITW typedef ptr NMCBEENDEDITW

NMCBEENDEDITA	struct
hdr	NMHDR	<>
fChanged	BOOL	?
iNewSelection	DWORD	?
szText	SBYTE CBEMAXSTRLEN dup (?)
iWhy	DWORD	?
NMCBEENDEDITA	ends

LPNMCBEENDEDITA typedef ptr NMCBEENDEDITA
PNMCBEENDEDITA typedef ptr NMCBEENDEDITA

ifdef UNICODE
NMCBEENDEDIT	EQU	<NMCBEENDEDITW>
LPNMCBEENDEDIT	EQU	<LPNMCBEENDEDITW>
PNMCBEENDEDIT	EQU	<PNMCBEENDEDITW>
else 
NMCBEENDEDIT	EQU	<NMCBEENDEDITA>
LPNMCBEENDEDIT	EQU	<LPNMCBEENDEDITA>
PNMCBEENDEDIT	EQU	<PNMCBEENDEDITA>
endif 
endif 
endif 
ifndef NOTABCONTROL
ifdef _WIN32
WC_TABCONTROLA	EQU	<"SysTabControl32">
WC_TABCONTROLW	EQU	<L("SysTabControl32")>
ifdef UNICODE
WC_TABCONTROL	EQU	<WC_TABCONTROLW>
else 
WC_TABCONTROL	EQU	<WC_TABCONTROLA>
endif 
else 
WC_TABCONTROL	EQU	<"SysTabControl">
endif 
if (_WIN32_IE ge 0300h)
TCS_SCROLLOPPOSITE	EQU	0001h
TCS_BOTTOM	EQU	0002h
TCS_RIGHT	EQU	0002h
TCS_MULTISELECT	EQU	0004h
endif 
if (_WIN32_IE ge 0400h)
TCS_FLATBUTTONS	EQU	0008h
endif 
TCS_FORCEICONLEFT	EQU	0010h
TCS_FORCELABELLEFT	EQU	0020h
if (_WIN32_IE ge 0300h)
TCS_HOTTRACK	EQU	0040h
TCS_VERTICAL	EQU	0080h
endif 
TCS_TABS	EQU	0000h
TCS_BUTTONS	EQU	0100h
TCS_SINGLELINE	EQU	0000h
TCS_MULTILINE	EQU	0200h
TCS_RIGHTJUSTIFY	EQU	0000h
TCS_FIXEDWIDTH	EQU	0400h
TCS_RAGGEDRIGHT	EQU	0800h
TCS_FOCUSONBUTTONDOWN	EQU	1000h
TCS_OWNERDRAWFIXED	EQU	2000h
TCS_TOOLTIPS	EQU	4000h
TCS_FOCUSNEVER	EQU	8000h
if (_WIN32_IE ge 0400h)
TCS_EX_FLATSEPARATORS	EQU	00000001h
TCS_EX_REGISTERDROP	EQU	00000002h
endif 
TCM_GETIMAGELIST	EQU	( TCM_FIRST + 2 )
TabCtrl_GetImageList macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETIMAGELIST , 0 , 0 ) >
	endm
TCM_SETIMAGELIST	EQU	( TCM_FIRST + 3 )
TabCtrl_SetImageList macro hwnd,himl
	exitm <SNDMSG ( ( hwnd ) , TCM_SETIMAGELIST , 0 , ( himl ) ) >
	endm
TCM_GETITEMCOUNT	EQU	( TCM_FIRST + 4 )
TabCtrl_GetItemCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETITEMCOUNT , 0 , 0 ) >
	endm
TCIF_TEXT	EQU	0001h
TCIF_IMAGE	EQU	0002h
TCIF_RTLREADING	EQU	0004h
TCIF_PARAM	EQU	0008h
if (_WIN32_IE ge 0300h)
TCIF_STATE	EQU	0010h
TCIS_BUTTONPRESSED	EQU	0001h
endif 
if (_WIN32_IE ge 0400h)
TCIS_HIGHLIGHTED	EQU	0002h
endif 
if (_WIN32_IE ge 0300h)
TC_ITEMHEADERA	EQU	<TCITEMHEADERA>
TC_ITEMHEADERW	EQU	<TCITEMHEADERW>
else 
tagTCITEMHEADERA	EQU	<_TC_ITEMHEADERA>
TCITEMHEADERA	EQU	<TC_ITEMHEADERA>
tagTCITEMHEADERW	EQU	<_TC_ITEMHEADERW>
TCITEMHEADERW	EQU	<TC_ITEMHEADERW>
endif 
TC_ITEMHEADER	EQU	<TCITEMHEADER>
TCITEMHEADERA	struct
mask_	DWORD	?
lpReserved1	DWORD	?
lpReserved2	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
TCITEMHEADERA	ends

LPTCITEMHEADERA typedef ptr TCITEMHEADERA

TCITEMHEADERW	struct
mask_	DWORD	?
lpReserved1	DWORD	?
lpReserved2	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
TCITEMHEADERW	ends

LPTCITEMHEADERW typedef ptr TCITEMHEADERW

ifdef UNICODE
TCITEMHEADER	EQU	<TCITEMHEADERW>
LPTCITEMHEADER	EQU	<LPTCITEMHEADERW>
else 
TCITEMHEADER	EQU	<TCITEMHEADERA>
LPTCITEMHEADER	EQU	<LPTCITEMHEADERA>
endif 
if (_WIN32_IE ge 0300h)
TC_ITEMA	EQU	<TCITEMA>
TC_ITEMW	EQU	<TCITEMW>
else 
tagTCITEMA	EQU	<_TC_ITEMA>
TCITEMA	EQU	<TC_ITEMA>
tagTCITEMW	EQU	<_TC_ITEMW>
TCITEMW	EQU	<TC_ITEMW>
endif 
TC_ITEM	EQU	<TCITEM>
TCITEMA	struct
mask_	DWORD	?
if (_WIN32_IE ge 0300h)
dwState	DWORD	?
dwStateMask	DWORD	?
else 
lpReserved1	DWORD	?
lpReserved2	DWORD	?
endif 
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
TCITEMA	ends

LPTCITEMA typedef ptr TCITEMA

TCITEMW	struct
mask_	DWORD	?
if (_WIN32_IE ge 0300h)
dwState	DWORD	?
dwStateMask	DWORD	?
else 
lpReserved1	DWORD	?
lpReserved2	DWORD	?
endif 
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
TCITEMW	ends

LPTCITEMW typedef ptr TCITEMW

ifdef UNICODE
TCITEM	EQU	<TCITEMW>
LPTCITEM	EQU	<LPTCITEMW>
else 
TCITEM	EQU	<TCITEMA>
LPTCITEM	EQU	<LPTCITEMA>
endif 
TCM_GETITEMA	EQU	( TCM_FIRST + 5 )
TCM_GETITEMW	EQU	( TCM_FIRST + 60 )
ifdef UNICODE
TCM_GETITEM	EQU	<TCM_GETITEMW>
else 
TCM_GETITEM	EQU	<TCM_GETITEMA>
endif 
TabCtrl_GetItem macro hwnd,iItem,pitem
	exitm <SNDMSG ( ( hwnd ) , TCM_GETITEM , iItem , <pitem> ) >
	endm
TCM_SETITEMA	EQU	( TCM_FIRST + 6 )
TCM_SETITEMW	EQU	( TCM_FIRST + 61 )
ifdef UNICODE
TCM_SETITEM	EQU	<TCM_SETITEMW>
else 
TCM_SETITEM	EQU	<TCM_SETITEMA>
endif 
TabCtrl_SetItem macro hwnd,iItem,pitem
	exitm <SNDMSG ( ( hwnd ) , TCM_SETITEM , iItem , <pitem> ) >
	endm
TCM_INSERTITEMA	EQU	( TCM_FIRST + 7 )
TCM_INSERTITEMW	EQU	( TCM_FIRST + 62 )
ifdef UNICODE
TCM_INSERTITEM	EQU	<TCM_INSERTITEMW>
else 
TCM_INSERTITEM	EQU	<TCM_INSERTITEMA>
endif 
TabCtrl_InsertItem macro hwnd,iItem,pitem
	exitm <SNDMSG ( ( hwnd ) , TCM_INSERTITEM , iItem , <pitem> ) >
	endm
TCM_DELETEITEM	EQU	( TCM_FIRST + 8 )
TabCtrl_DeleteItem macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_DELETEITEM , ( i ) , 0 ) >
	endm
TCM_DELETEALLITEMS	EQU	( TCM_FIRST + 9 )
TabCtrl_DeleteAllItems macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_DELETEALLITEMS , 0 , 0 ) >
	endm
TCM_GETITEMRECT	EQU	( TCM_FIRST + 10 )
TabCtrl_GetItemRect macro hwnd,i,prc
	exitm <SNDMSG ( ( hwnd ) , TCM_GETITEMRECT , ( i ) , <prc> ) >
	endm
TCM_GETCURSEL	EQU	( TCM_FIRST + 11 )
TabCtrl_GetCurSel macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETCURSEL , 0 , 0 ) >
	endm
TCM_SETCURSEL	EQU	( TCM_FIRST + 12 )
TabCtrl_SetCurSel macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_SETCURSEL , i , 0 ) >
	endm
TCHT_NOWHERE	EQU	0001h
TCHT_ONITEMICON	EQU	0002h
TCHT_ONITEMLABEL	EQU	0004h
TCHT_ONITEM	EQU	( TCHT_ONITEMICON  or  TCHT_ONITEMLABEL )
if (_WIN32_IE ge 0300h)
LPTC_HITTESTINFO	EQU	<LPTCHITTESTINFO>
TC_HITTESTINFO	EQU	<TCHITTESTINFO>
else 
tagTCHITTESTINFO	EQU	<_TC_HITTESTINFO>
TCHITTESTINFO	EQU	<TC_HITTESTINFO>
LPTCHITTESTINFO	EQU	<LPTC_HITTESTINFO>
endif 
TCHITTESTINFO	struct
pt	POINT	<>
flags	DWORD	?
TCHITTESTINFO	ends

LPTCHITTESTINFO typedef ptr TCHITTESTINFO

TCM_HITTEST	EQU	( TCM_FIRST + 13 )
TabCtrl_HitTest macro hwndTC,pinfo
	exitm <SNDMSG ( ( hwndTC ) , TCM_HITTEST , 0 , <pinfo> ) >
	endm
TCM_SETITEMEXTRA	EQU	( TCM_FIRST + 14 )
TabCtrl_SetItemExtra macro hwndTC,cb
	exitm <SNDMSG ( ( hwndTC ) , TCM_SETITEMEXTRA , ( cb ) , 0 ) >
	endm
TCM_ADJUSTRECT	EQU	( TCM_FIRST + 40 )
TabCtrl_AdjustRect macro hwnd,bLarger,prc
	exitm <SNDMSG ( hwnd , TCM_ADJUSTRECT , bLarger , <prc> ) >
	endm
TCM_SETITEMSIZE	EQU	( TCM_FIRST + 41 )
TabCtrl_SetItemSize macro hwnd,x,y
	exitm <SNDMSG ( ( hwnd ) , TCM_SETITEMSIZE , 0 , MAKELPARAM ( x , y ) ) >
	endm
TCM_REMOVEIMAGE	EQU	( TCM_FIRST + 42 )
TabCtrl_RemoveImage macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_REMOVEIMAGE , i , 0 ) >
	endm
TCM_SETPADDING	EQU	( TCM_FIRST + 43 )
TabCtrl_SetPadding macro hwnd,cx_,cy
	exitm <SNDMSG ( ( hwnd ) , TCM_SETPADDING , 0 , MAKELPARAM ( cx_ , cy ) ) >
	endm
TCM_GETROWCOUNT	EQU	( TCM_FIRST + 44 )
TabCtrl_GetRowCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETROWCOUNT , 0 , 0 ) >
	endm
TCM_GETTOOLTIPS	EQU	( TCM_FIRST + 45 )
TabCtrl_GetToolTips macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETTOOLTIPS , 0 , 0 ) >
	endm
TCM_SETTOOLTIPS	EQU	( TCM_FIRST + 46 )
TabCtrl_SetToolTips macro hwnd,hwndTT
	exitm <SNDMSG ( ( hwnd ) , TCM_SETTOOLTIPS , hwndTT , 0 ) >
	endm
TCM_GETCURFOCUS	EQU	( TCM_FIRST + 47 )
TabCtrl_GetCurFocus macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETCURFOCUS , 0 , 0 ) >
	endm
TCM_SETCURFOCUS	EQU	( TCM_FIRST + 48 )
TabCtrl_SetCurFocus macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_SETCURFOCUS , i , 0 ) >
	endm
if (_WIN32_IE ge 0300h)
TCM_SETMINTABWIDTH	EQU	( TCM_FIRST + 49 )
TabCtrl_SetMinTabWidth macro hwnd,x
	exitm <SNDMSG ( ( hwnd ) , TCM_SETMINTABWIDTH , 0 , x ) >
	endm
TCM_DESELECTALL	EQU	( TCM_FIRST + 50 )
TabCtrl_DeselectAll macro hwnd,fExcludeFocus
	exitm <SNDMSG ( ( hwnd ) , TCM_DESELECTALL , fExcludeFocus , 0 ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
TCM_HIGHLIGHTITEM	EQU	( TCM_FIRST + 51 )
TabCtrl_HighlightItem macro hwnd,i,fHighlight
	exitm <SNDMSG ( ( hwnd ) , TCM_HIGHLIGHTITEM , i , MAKELONG ( fHighlight , 0 ) ) >
	endm
TCM_SETEXTENDEDSTYLE	EQU	( TCM_FIRST + 52 )
TabCtrl_SetExtendedStyle macro hwnd,dw_
	exitm <SNDMSG ( ( hwnd ) , TCM_SETEXTENDEDSTYLE , 0 , dw_ ) >
	endm
TCM_GETEXTENDEDSTYLE	EQU	( TCM_FIRST + 53 )
TabCtrl_GetExtendedStyle macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETEXTENDEDSTYLE , 0 , 0 ) >
	endm
TCM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TabCtrl_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , TCM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
TCM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
TabCtrl_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
TCN_KEYDOWN	EQU	( TCN_FIRST - 0 )
if (_WIN32_IE ge 0300h)
TC_KEYDOWN	EQU	<NMTCKEYDOWN>
else 
tagTCKEYDOWN	EQU	<_TC_KEYDOWN>
NMTCKEYDOWN	EQU	<TC_KEYDOWN>
endif 
NMTCKEYDOWN	struct
hdr	NMHDR	<>
wVKey	WORD	?
flags	DWORD	?
NMTCKEYDOWN	ends

TCN_SELCHANGE	EQU	( TCN_FIRST - 1 )
TCN_SELCHANGING	EQU	( TCN_FIRST - 2 )
if (_WIN32_IE ge 0400h)
TCN_GETOBJECT	EQU	( TCN_FIRST - 3 )
endif 
endif 
ifndef NOANIMATE
ifdef _WIN32
ANIMATE_CLASSW	EQU	<L("SysAnimate32")>
ANIMATE_CLASSA	EQU	<"SysAnimate32">
ifdef UNICODE
ANIMATE_CLASS	EQU	<ANIMATE_CLASSW>
else 
ANIMATE_CLASS	EQU	<ANIMATE_CLASSA>
endif 
ACS_CENTER	EQU	0001h
ACS_TRANSPARENT	EQU	0002h
ACS_AUTOPLAY	EQU	0004h
if (_WIN32_IE ge 0300h)
ACS_TIMER	EQU	0008h
endif 
ACM_OPENA	EQU	( WM_USER + 100 )
ACM_OPENW	EQU	( WM_USER + 103 )
ifdef UNICODE
ACM_OPEN	EQU	<ACM_OPENW>
else 
ACM_OPEN	EQU	<ACM_OPENA>
endif 
ACM_PLAY	EQU	( WM_USER + 101 )
ACM_STOP	EQU	( WM_USER + 102 )
ACN_START	EQU	1
ACN_STOP	EQU	2
Animate_Create macro hwndP,id,dwStyle,hInstance
	exitm <CreateWindow ( ANIMATE_CLASS , NULL , dwStyle , 0 , 0 , 0 , 0 , hwndP , ( HMENU ) ( id ) , hInstance , NULL ) >
	endm
Animate_Open macro hwnd,szName
	exitm <SNDMSG ( hwnd , ACM_OPEN , 0 , <szName> ) >
	endm
Animate_OpenEx macro hwnd,hInst,szName
	exitm <SNDMSG ( hwnd , ACM_OPEN , hInst , <szName> ) >
	endm
Animate_Play macro hwnd,from,to,rep
	exitm <SNDMSG ( hwnd , ACM_PLAY , ( rep ) , MAKELONG ( from , to ) ) >
	endm
Animate_Stop macro hwnd
	exitm <SNDMSG ( hwnd , ACM_STOP , 0 , 0 ) >
	endm
Animate_Close macro hwnd
	exitm <Animate_Open ( hwnd , NULL ) >
	endm
Animate_Seek macro hwnd,frame
	exitm <Animate_Play ( hwnd , frame , frame , 1 ) >
	endm
endif 
endif 
if (_WIN32_IE ge 0300h)
ifndef NOMONTHCAL
ifdef _WIN32
MONTHCAL_CLASSW	EQU	<L("SysMonthCal32")>
MONTHCAL_CLASSA	EQU	<"SysMonthCal32">
ifdef UNICODE
MONTHCAL_CLASS	EQU	<MONTHCAL_CLASSW>
else 
MONTHCAL_CLASS	EQU	<MONTHCAL_CLASSA>
endif 
MONTHDAYSTATE typedef DWORD
LPMONTHDAYSTATE typedef ptr DWORD
MCM_FIRST	EQU	1000h
MCM_GETCURSEL	EQU	( MCM_FIRST + 1 )
MonthCal_GetCurSel macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_GETCURSEL , 0 , ( pst ) ) >
	endm
MCM_SETCURSEL	EQU	( MCM_FIRST + 2 )
MonthCal_SetCurSel macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_SETCURSEL , 0 , ( pst ) ) >
	endm
MCM_GETMAXSELCOUNT	EQU	( MCM_FIRST + 3 )
MonthCal_GetMaxSelCount macro hmc
	exitm <SNDMSG ( hmc , MCM_GETMAXSELCOUNT , 0 , 0 ) >
	endm
MCM_SETMAXSELCOUNT	EQU	( MCM_FIRST + 4 )
MonthCal_SetMaxSelCount macro hmc,n
	exitm <SNDMSG ( hmc , MCM_SETMAXSELCOUNT , ( n ) , 0 ) >
	endm
MCM_GETSELRANGE	EQU	( MCM_FIRST + 5 )
MonthCal_GetSelRange macro hmc,rgst
	exitm <SNDMSG ( hmc , MCM_GETSELRANGE , 0 , ( rgst ) ) >
	endm
MCM_SETSELRANGE	EQU	( MCM_FIRST + 6 )
MonthCal_SetSelRange macro hmc,rgst
	exitm <SNDMSG ( hmc , MCM_SETSELRANGE , 0 , ( rgst ) ) >
	endm
MCM_GETMONTHRANGE	EQU	( MCM_FIRST + 7 )
MonthCal_GetMonthRange macro hmc,gmr,rgst
	exitm <SNDMSG ( hmc , MCM_GETMONTHRANGE , ( gmr ) , ( rgst ) ) >
	endm
MCM_SETDAYSTATE	EQU	( MCM_FIRST + 8 )
MonthCal_SetDayState macro hmc,cbds,rgds
	exitm <SNDMSG ( hmc , MCM_SETDAYSTATE , ( cbds ) , ( rgds ) ) >
	endm
MCM_GETMINREQRECT	EQU	( MCM_FIRST + 9 )
MonthCal_GetMinReqRect macro hmc,prc
	exitm <SNDMSG ( hmc , MCM_GETMINREQRECT , 0 , ( prc ) ) >
	endm
MCM_SETCOLOR	EQU	( MCM_FIRST + 10 )
MonthCal_SetColor macro hmc,iColor,clr
	exitm <SNDMSG ( hmc , MCM_SETCOLOR , iColor , clr ) >
	endm
MCM_GETCOLOR	EQU	( MCM_FIRST + 11 )
MonthCal_GetColor macro hmc,iColor
	exitm <SNDMSG ( hmc , MCM_SETCOLOR , iColor , 0 ) >
	endm
MCSC_BACKGROUND	EQU	0
MCSC_TEXT	EQU	1
MCSC_TITLEBK	EQU	2
MCSC_TITLETEXT	EQU	3
MCSC_MONTHBK	EQU	4
MCSC_TRAILINGTEXT	EQU	5
MCM_SETTODAY	EQU	( MCM_FIRST + 12 )
MonthCal_SetToday macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_SETTODAY , 0 , pst ) >
	endm
MCM_GETTODAY	EQU	( MCM_FIRST + 13 )
MonthCal_GetToday macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_GETTODAY , 0 , pst ) >
	endm
MCM_HITTEST	EQU	( MCM_FIRST + 14 )
MonthCal_HitTest macro hmc,pinfo
	exitm <SNDMSG ( hmc , MCM_HITTEST , 0 , ( PMCHITTESTINFO ) pinfo ) >
	endm
MCHITTESTINFO	struct
cbSize	DWORD	?
pt	POINT	<>
uHit	DWORD	?
st_	SYSTEMTIME	<>
MCHITTESTINFO	ends

PMCHITTESTINFO typedef ptr MCHITTESTINFO

MCHT_TITLE	EQU	00010000h
MCHT_CALENDAR	EQU	00020000h
MCHT_TODAYLINK	EQU	00030000h
MCHT_NEXT	EQU	01000000h
MCHT_PREV	EQU	02000000h
MCHT_NOWHERE	EQU	00000000h
MCHT_TITLEBK	EQU	<( MCHT_TITLE )>
MCHT_TITLEMONTH	EQU	( MCHT_TITLE  or  0001h )
MCHT_TITLEYEAR	EQU	( MCHT_TITLE  or  0002h )
MCHT_TITLEBTNNEXT	EQU	( MCHT_TITLE  or  MCHT_NEXT  or  0003h )
MCHT_TITLEBTNPREV	EQU	( MCHT_TITLE  or  MCHT_PREV  or  0003h )
MCHT_CALENDARBK	EQU	<( MCHT_CALENDAR )>
MCHT_CALENDARDATE	EQU	( MCHT_CALENDAR  or  0001h )
MCHT_CALENDARDATENEXT	EQU	( MCHT_CALENDARDATE  or  MCHT_NEXT )
MCHT_CALENDARDATEPREV	EQU	( MCHT_CALENDARDATE  or  MCHT_PREV )
MCHT_CALENDARDAY	EQU	( MCHT_CALENDAR  or  0002h )
MCHT_CALENDARWEEKNUM	EQU	( MCHT_CALENDAR  or  0003h )
MCM_SETFIRSTDAYOFWEEK	EQU	( MCM_FIRST + 15 )
MonthCal_SetFirstDayOfWeek macro hmc,iDay
	exitm <SNDMSG ( hmc , MCM_SETFIRSTDAYOFWEEK , 0 , iDay ) >
	endm
MCM_GETFIRSTDAYOFWEEK	EQU	( MCM_FIRST + 16 )
MonthCal_GetFirstDayOfWeek macro hmc
	exitm <SNDMSG ( hmc , MCM_GETFIRSTDAYOFWEEK , 0 , 0 ) >
	endm
MCM_GETRANGE	EQU	( MCM_FIRST + 17 )
MonthCal_GetRange macro hmc,rgst
	exitm <SNDMSG ( hmc , MCM_GETRANGE , 0 , ( rgst ) ) >
	endm
MCM_SETRANGE	EQU	( MCM_FIRST + 18 )
MonthCal_SetRange macro hmc,gd,rgst
	exitm <SNDMSG ( hmc , MCM_SETRANGE , ( gd ) , ( rgst ) ) >
	endm
MCM_GETMONTHDELTA	EQU	( MCM_FIRST + 19 )
MonthCal_GetMonthDelta macro hmc
	exitm <SNDMSG ( hmc , MCM_GETMONTHDELTA , 0 , 0 ) >
	endm
MCM_SETMONTHDELTA	EQU	( MCM_FIRST + 20 )
MonthCal_SetMonthDelta macro hmc,n
	exitm <SNDMSG ( hmc , MCM_SETMONTHDELTA , n , 0 ) >
	endm
MCM_GETMAXTODAYWIDTH	EQU	( MCM_FIRST + 21 )
MonthCal_GetMaxTodayWidth macro hmc
	exitm <SNDMSG ( hmc , MCM_GETMAXTODAYWIDTH , 0 , 0 ) >
	endm
if (_WIN32_IE ge 0400h)
MCM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
MonthCal_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , MCM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
MCM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
MonthCal_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , MCM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
NMSELCHANGE	struct
nmhdr	NMHDR	<>
stSelStart	SYSTEMTIME	<>
stSelEnd	SYSTEMTIME	<>
NMSELCHANGE	ends

LPNMSELCHANGE typedef ptr NMSELCHANGE

MCN_SELCHANGE	EQU	( MCN_FIRST + 1 )
NMDAYSTATE	struct
nmhdr	NMHDR	<>
stStart	SYSTEMTIME	<>
cDayState	DWORD	?
prgDayState	LPMONTHDAYSTATE	?
NMDAYSTATE	ends

LPNMDAYSTATE typedef ptr NMDAYSTATE

MCN_GETDAYSTATE	EQU	( MCN_FIRST + 3 )
NMSELECT typedef NMSELCHANGE
LPNMSELECT typedef ptr NMSELCHANGE
MCN_SELECT	EQU	( MCN_FIRST + 4 )
MCS_DAYSTATE	EQU	0001h
MCS_MULTISELECT	EQU	0002h
MCS_WEEKNUMBERS	EQU	0004h
if (_WIN32_IE ge 0400h)
MCS_NOTODAYCIRCLE	EQU	0008h
MCS_NOTODAY	EQU	0010h
else 
MCS_NOTODAY	EQU	0008h
endif 
GMR_VISIBLE	EQU	0
GMR_DAYSTATE	EQU	1
endif 
endif 
ifndef NODATETIMEPICK
ifdef _WIN32
DATETIMEPICK_CLASSW	EQU	<L("SysDateTimePick32")>
DATETIMEPICK_CLASSA	EQU	<"SysDateTimePick32">
ifdef UNICODE
DATETIMEPICK_CLASS	EQU	<DATETIMEPICK_CLASSW>
else 
DATETIMEPICK_CLASS	EQU	<DATETIMEPICK_CLASSA>
endif 
DTM_FIRST	EQU	1000h
DTM_GETSYSTEMTIME	EQU	( DTM_FIRST + 1 )
DateTime_GetSystemtime macro hdp,pst
	exitm <SNDMSG ( hdp , DTM_GETSYSTEMTIME , 0 , ( pst ) ) >
	endm
DTM_SETSYSTEMTIME	EQU	( DTM_FIRST + 2 )
DateTime_SetSystemtime macro hdp,gd,pst
	exitm <SNDMSG ( hdp , DTM_SETSYSTEMTIME , ( gd ) , ( pst ) ) >
	endm
DTM_GETRANGE	EQU	( DTM_FIRST + 3 )
DateTime_GetRange macro hdp,rgst
	exitm <SNDMSG ( hdp , DTM_GETRANGE , 0 , ( rgst ) ) >
	endm
DTM_SETRANGE	EQU	( DTM_FIRST + 4 )
DateTime_SetRange macro hdp,gd,rgst
	exitm <SNDMSG ( hdp , DTM_SETRANGE , ( gd ) , ( rgst ) ) >
	endm
DTM_SETFORMATA	EQU	( DTM_FIRST + 5 )
DTM_SETFORMATW	EQU	( DTM_FIRST + 50 )
ifdef UNICODE
DTM_SETFORMAT	EQU	<DTM_SETFORMATW>
else 
DTM_SETFORMAT	EQU	<DTM_SETFORMATA>
endif 
DateTime_SetFormat macro hdp,sz
	exitm <SNDMSG ( hdp , DTM_SETFORMAT , 0 , ( sz ) ) >
	endm
DTM_SETMCCOLOR	EQU	( DTM_FIRST + 6 )
DateTime_SetMonthCalColor macro hdp,iColor,clr
	exitm <SNDMSG ( hdp , DTM_SETMCCOLOR , iColor , clr ) >
	endm
DTM_GETMCCOLOR	EQU	( DTM_FIRST + 7 )
DateTime_GetMonthCalColor macro hdp,iColor
	exitm <SNDMSG ( hdp , DTM_GETMCCOLOR , iColor , 0 ) >
	endm
DTM_GETMONTHCAL	EQU	( DTM_FIRST + 8 )
DateTime_GetMonthCal macro hdp
	exitm <SNDMSG ( hdp , DTM_GETMONTHCAL , 0 , 0 ) >
	endm
if (_WIN32_IE ge 0400h)
DTM_SETMCFONT	EQU	( DTM_FIRST + 9 )
DateTime_SetMonthCalFont macro hdp,hfont,fRedraw
	exitm <SNDMSG ( hdp , DTM_SETMCFONT , hfont , fRedraw ) >
	endm
DTM_GETMCFONT	EQU	( DTM_FIRST + 10 )
DateTime_GetMonthCalFont macro hdp
	exitm <SNDMSG ( hdp , DTM_GETMCFONT , 0 , 0 ) >
	endm
endif 
DTS_UPDOWN	EQU	0001h
DTS_SHOWNONE	EQU	0002h
DTS_SHORTDATEFORMAT	EQU	0000h
DTS_LONGDATEFORMAT	EQU	0004h
DTS_TIMEFORMAT	EQU	0009h
DTS_APPCANPARSE	EQU	0010h
DTS_RIGHTALIGN	EQU	0020h
DTN_DATETIMECHANGE	EQU	( DTN_FIRST + 1 )
NMDATETIMECHANGE	struct
nmhdr	NMHDR	<>
dwFlags	DWORD	?
st_	SYSTEMTIME	<>
NMDATETIMECHANGE	ends

LPNMDATETIMECHANGE typedef ptr NMDATETIMECHANGE

DTN_USERSTRINGA	EQU	( DTN_FIRST + 2 )
DTN_USERSTRINGW	EQU	( DTN_FIRST + 15 )
NMDATETIMESTRINGA	struct
nmhdr	NMHDR	<>
pszUserString	LPSTR	?
st_	SYSTEMTIME	<>
dwFlags	DWORD	?
NMDATETIMESTRINGA	ends

LPNMDATETIMESTRINGA typedef ptr NMDATETIMESTRINGA

NMDATETIMESTRINGW	struct
nmhdr	NMHDR	<>
pszUserString	LPWSTR	?
st_	SYSTEMTIME	<>
dwFlags	DWORD	?
NMDATETIMESTRINGW	ends

LPNMDATETIMESTRINGW typedef ptr NMDATETIMESTRINGW

ifdef UNICODE
DTN_USERSTRING	EQU	<DTN_USERSTRINGW>
NMDATETIMESTRING	EQU	<NMDATETIMESTRINGW>
LPNMDATETIMESTRING	EQU	<LPNMDATETIMESTRINGW>
else 
DTN_USERSTRING	EQU	<DTN_USERSTRINGA>
NMDATETIMESTRING	EQU	<NMDATETIMESTRINGA>
LPNMDATETIMESTRING	EQU	<LPNMDATETIMESTRINGA>
endif 
DTN_WMKEYDOWNA	EQU	( DTN_FIRST + 3 )
DTN_WMKEYDOWNW	EQU	( DTN_FIRST + 16 )
NMDATETIMEWMKEYDOWNA	struct
nmhdr	NMHDR	<>
nVirtKey	DWORD	?
pszFormat	LPSTR	?
st_	SYSTEMTIME	<>
NMDATETIMEWMKEYDOWNA	ends

LPNMDATETIMEWMKEYDOWNA typedef ptr NMDATETIMEWMKEYDOWNA

NMDATETIMEWMKEYDOWNW	struct
nmhdr	NMHDR	<>
nVirtKey	DWORD	?
pszFormat	LPWSTR	?
st_	SYSTEMTIME	<>
NMDATETIMEWMKEYDOWNW	ends

LPNMDATETIMEWMKEYDOWNW typedef ptr NMDATETIMEWMKEYDOWNW

ifdef UNICODE
DTN_WMKEYDOWN	EQU	<DTN_WMKEYDOWNW>
NMDATETIMEWMKEYDOWN	EQU	<NMDATETIMEWMKEYDOWNW>
LPNMDATETIMEWMKEYDOWN	EQU	<LPNMDATETIMEWMKEYDOWNW>
else 
DTN_WMKEYDOWN	EQU	<DTN_WMKEYDOWNA>
NMDATETIMEWMKEYDOWN	EQU	<NMDATETIMEWMKEYDOWNA>
LPNMDATETIMEWMKEYDOWN	EQU	<LPNMDATETIMEWMKEYDOWNA>
endif 
DTN_FORMATA	EQU	( DTN_FIRST + 4 )
DTN_FORMATW	EQU	( DTN_FIRST + 17 )
NMDATETIMEFORMATA	struct
nmhdr	NMHDR	<>
pszFormat	LPSTR	?
st_	SYSTEMTIME	<>
pszDisplay	LPSTR	?
szDisplay	CHAR 64 dup (?)
NMDATETIMEFORMATA	ends

LPNMDATETIMEFORMATA typedef ptr NMDATETIMEFORMATA

NMDATETIMEFORMATW	struct
nmhdr	NMHDR	<>
pszFormat	LPWSTR	?
st_	SYSTEMTIME	<>
pszDisplay	LPWSTR	?
szDisplay	WCHAR 64 dup (?)
NMDATETIMEFORMATW	ends

LPNMDATETIMEFORMATW typedef ptr NMDATETIMEFORMATW

ifdef UNICODE
DTN_FORMAT	EQU	<DTN_FORMATW>
NMDATETIMEFORMAT	EQU	<NMDATETIMEFORMATW>
LPNMDATETIMEFORMAT	EQU	<LPNMDATETIMEFORMATW>
else 
DTN_FORMAT	EQU	<DTN_FORMATA>
NMDATETIMEFORMAT	EQU	<NMDATETIMEFORMATA>
LPNMDATETIMEFORMAT	EQU	<LPNMDATETIMEFORMATA>
endif 
DTN_FORMATQUERYA	EQU	( DTN_FIRST + 5 )
DTN_FORMATQUERYW	EQU	( DTN_FIRST + 18 )
NMDATETIMEFORMATQUERYA	struct
nmhdr	NMHDR	<>
pszFormat	LPSTR	?
szMax	SIZE_	<>
NMDATETIMEFORMATQUERYA	ends

LPNMDATETIMEFORMATQUERYA typedef ptr NMDATETIMEFORMATQUERYA

NMDATETIMEFORMATQUERYW	struct
nmhdr	NMHDR	<>
pszFormat	LPWSTR	?
szMax	SIZE_	<>
NMDATETIMEFORMATQUERYW	ends

LPNMDATETIMEFORMATQUERYW typedef ptr NMDATETIMEFORMATQUERYW

ifdef UNICODE
DTN_FORMATQUERY	EQU	<DTN_FORMATQUERYW>
NMDATETIMEFORMATQUERY	EQU	<NMDATETIMEFORMATQUERYW>
LPNMDATETIMEFORMATQUERY	EQU	<LPNMDATETIMEFORMATQUERYW>
else 
DTN_FORMATQUERY	EQU	<DTN_FORMATQUERYA>
NMDATETIMEFORMATQUERY	EQU	<NMDATETIMEFORMATQUERYA>
LPNMDATETIMEFORMATQUERY	EQU	<LPNMDATETIMEFORMATQUERYA>
endif 
DTN_DROPDOWN	EQU	( DTN_FIRST + 6 )
DTN_CLOSEUP	EQU	( DTN_FIRST + 7 )
GDTR_MIN	EQU	0001h
GDTR_MAX	EQU	0002h
GDT_ERROR	EQU	- 1
GDT_VALID	EQU	0
GDT_NONE	EQU	1
endif 
endif 
if (_WIN32_IE ge 0400h)
ifndef NOIPADDRESS
IPM_CLEARADDRESS	EQU	( WM_USER + 100 )
IPM_SETADDRESS	EQU	( WM_USER + 101 )
IPM_GETADDRESS	EQU	( WM_USER + 102 )
IPM_SETRANGE	EQU	( WM_USER + 103 )
IPM_SETFOCUS	EQU	( WM_USER + 104 )
IPM_ISBLANK	EQU	( WM_USER + 105 )
WC_IPADDRESSW	EQU	<L("SysIPAddress32")>
WC_IPADDRESSA	EQU	<"SysIPAddress32">
ifdef UNICODE
WC_IPADDRESS	EQU	<WC_IPADDRESSW>
else 
WC_IPADDRESS	EQU	<WC_IPADDRESSA>
endif 
IPN_FIELDCHANGED	EQU	( IPN_FIRST - 0 )
NMIPADDRESS	struct
hdr	NMHDR	<>
iField	DWORD	?
iValue	DWORD	?
NMIPADDRESS	ends

LPNMIPADDRESS typedef ptr NMIPADDRESS

MAKEIPRANGE macro low_,high_
	exitm <( ( ( ( high_ )  shl  8 ) + ( low_ ) ) ) >
	endm
MAKEIPADDRESS macro b1,b2,b3,b4
	exitm <( ( ( ( b1 )  shl  24 ) + ( ( b2 )  shl  16 ) + ( ( b3 )  shl  8 ) + ( ( b4 ) ) ) ) >
	endm
FIRST_IPADDRESS macro x
	exitm <( ( x  shr  24 )  and  0ffh ) >
	endm
SECOND_IPADDRESS macro x
	exitm <( ( x  shr  16 )  and  0ffh ) >
	endm
THIRD_IPADDRESS macro x
	exitm <( ( x  shr  8 )  and  0ffh ) >
	endm
FOURTH_IPADDRESS macro x
	exitm <( x  and  0ffh ) >
	endm
endif 
ifndef NOPAGESCROLLER
WC_PAGESCROLLERW	EQU	<L("SysPager")>
WC_PAGESCROLLERA	EQU	<"SysPager">
ifdef UNICODE
WC_PAGESCROLLER	EQU	<WC_PAGESCROLLERW>
else 
WC_PAGESCROLLER	EQU	<WC_PAGESCROLLERA>
endif 
PGS_VERT	EQU	00000000h
PGS_HORZ	EQU	00000001h
PGS_AUTOSCROLL	EQU	00000002h
PGS_DRAGNDROP	EQU	00000004h
PGF_INVISIBLE	EQU	0
PGF_NORMAL	EQU	1
PGF_GRAYED	EQU	2
PGF_DEPRESSED	EQU	4
PGF_HOT	EQU	8
PGB_TOPORLEFT	EQU	0
PGB_BOTTOMORRIGHT	EQU	1
PGM_SETCHILD	EQU	( PGM_FIRST + 1 )
Pager_SetChild macro hwnd,hwndChild
	exitm <SNDMSG ( ( hwnd ) , PGM_SETCHILD , 0 , ( hwndChild ) ) >
	endm
PGM_RECALCSIZE	EQU	( PGM_FIRST + 2 )
Pager_RecalcSize macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_RECALCSIZE , 0 , 0 ) >
	endm
PGM_FORWARDMOUSE	EQU	( PGM_FIRST + 3 )
Pager_ForwardMouse macro hwnd,bForward
	exitm <SNDMSG ( ( hwnd ) , PGM_FORWARDMOUSE , ( bForward ) , 0 ) >
	endm
PGM_SETBKCOLOR	EQU	( PGM_FIRST + 4 )
Pager_SetBkColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , PGM_SETBKCOLOR , 0 , clr ) >
	endm
PGM_GETBKCOLOR	EQU	( PGM_FIRST + 5 )
Pager_GetBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBKCOLOR , 0 , 0 ) >
	endm
PGM_SETBORDER	EQU	( PGM_FIRST + 6 )
Pager_SetBorder macro hwnd,iBorder
	exitm <SNDMSG ( ( hwnd ) , PGM_SETBORDER , 0 , iBorder ) >
	endm
PGM_GETBORDER	EQU	( PGM_FIRST + 7 )
Pager_GetBorder macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBORDER , 0 , 0 ) >
	endm
PGM_SETPOS	EQU	( PGM_FIRST + 8 )
Pager_SetPos macro hwnd,iPos
	exitm <SNDMSG ( ( hwnd ) , PGM_SETPOS , 0 , iPos ) >
	endm
PGM_GETPOS	EQU	( PGM_FIRST + 9 )
Pager_GetPos macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETPOS , 0 , 0 ) >
	endm
PGM_SETBUTTONSIZE	EQU	( PGM_FIRST + 10 )
Pager_SetButtonSize macro hwnd,iSize
	exitm <SNDMSG ( ( hwnd ) , PGM_SETBUTTONSIZE , 0 , iSize ) >
	endm
PGM_GETBUTTONSIZE	EQU	( PGM_FIRST + 11 )
Pager_GetButtonSize macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBUTTONSIZE , 0 , 0 ) >
	endm
PGM_GETBUTTONSTATE	EQU	( PGM_FIRST + 12 )
Pager_GetButtonState macro hwnd,iButton
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBUTTONSTATE , 0 , iButton ) >
	endm
PGM_GETDROPTARGET	EQU	<CCM_GETDROPTARGET>
Pager_GetDropTarget macro hwnd,ppdt
	exitm <SNDMSG ( ( hwnd ) , PGM_GETDROPTARGET , 0 , ppdt ) >
	endm
PGN_SCROLL	EQU	( PGN_FIRST - 1 )
PGF_SCROLLUP	EQU	1
PGF_SCROLLDOWN	EQU	2
PGF_SCROLLLEFT	EQU	4
PGF_SCROLLRIGHT	EQU	8
PGK_SHIFT	EQU	1
PGK_CONTROL	EQU	2
PGK_MENU	EQU	4
NMPGSCROLL	struct
hdr	NMHDR	<>
fwKeys	WORD	?
rcParent	RECT	<>
iDir	DWORD	?
iXpos	DWORD	?
iYpos	DWORD	?
iScroll	DWORD	?
NMPGSCROLL	ends

LPNMPGSCROLL typedef ptr NMPGSCROLL

PGN_CALCSIZE	EQU	( PGN_FIRST - 2 )
PGF_CALCWIDTH	EQU	1
PGF_CALCHEIGHT	EQU	2
NMPGCALCSIZE	struct
hdr	NMHDR	<>
dwFlag	DWORD	?
iWidth	DWORD	?
iHeight	DWORD	?
NMPGCALCSIZE	ends

LPNMPGCALCSIZE typedef ptr NMPGCALCSIZE

endif 
ifndef NONATIVEFONTCTL
WC_NATIVEFONTCTLW	EQU	<L("NativeFontCtl")>
WC_NATIVEFONTCTLA	EQU	<"NativeFontCtl">
ifdef UNICODE
WC_NATIVEFONTCTL	EQU	<WC_NATIVEFONTCTLW>
else 
WC_NATIVEFONTCTL	EQU	<WC_NATIVEFONTCTLA>
endif 
NFS_EDIT	EQU	0001h
NFS_STATIC	EQU	0002h
NFS_LISTCOMBO	EQU	0004h
NFS_BUTTON	EQU	0008h
NFS_ALL	EQU	0010h
endif 
endif 
ifdef _WIN32
ifndef NOTRACKMOUSEEVENT
ifndef WM_MOUSEHOVER
WM_MOUSEHOVER	EQU	02A1h
WM_MOUSELEAVE	EQU	02A3h
endif 
ifndef TME_HOVER
TME_HOVER	EQU	00000001h
TME_LEAVE	EQU	00000002h
TME_QUERY	EQU	40000000h
TME_CANCEL	EQU	80000000h
HOVER_DEFAULT	EQU	0FFFFFFFFh
TRACKMOUSEEVENT	struct
cbSize	DWORD	?
dwFlags	DWORD	?
hwndTrack	HWND	?
dwHoverTime	DWORD	?
TRACKMOUSEEVENT	ends

LPTRACKMOUSEEVENT typedef ptr TRACKMOUSEEVENT

endif 
proto__TrackMouseEvent typedef proto stdcall  :LPTRACKMOUSEEVENT
externdef stdcall _imp___TrackMouseEvent@4: ptr proto__TrackMouseEvent
_TrackMouseEvent equ <_imp___TrackMouseEvent@4>
endif 
if (_WIN32_IE ge 0400h)
ifndef NOFLATSBAPIS
WSB_PROP_CYVSCROLL	EQU	00000001h
WSB_PROP_CXHSCROLL	EQU	00000002h
WSB_PROP_CYHSCROLL	EQU	00000004h
WSB_PROP_CXVSCROLL	EQU	00000008h
WSB_PROP_CXHTHUMB	EQU	00000010h
WSB_PROP_CYVTHUMB	EQU	00000020h
WSB_PROP_VBKGCOLOR	EQU	00000040h
WSB_PROP_HBKGCOLOR	EQU	00000080h
WSB_PROP_VSTYLE	EQU	00000100h
WSB_PROP_HSTYLE	EQU	00000200h
WSB_PROP_WINSTYLE	EQU	00000400h
WSB_PROP_PALETTE	EQU	00000800h
WSB_PROP_MASK	EQU	00000FFFh
FSB_FLAT_MODE	EQU	2
FSB_ENCARTA_MODE	EQU	1
FSB_REGULAR_MODE	EQU	0
proto_FlatSB_EnableScrollBar typedef proto stdcall  :HWND, :DWORD, :DWORD
externdef stdcall _imp__FlatSB_EnableScrollBar@12: ptr proto_FlatSB_EnableScrollBar
FlatSB_EnableScrollBar equ <_imp__FlatSB_EnableScrollBar@12>
proto_FlatSB_ShowScrollBar typedef proto stdcall  :HWND, :DWORD, :BOOL
externdef stdcall _imp__FlatSB_ShowScrollBar@12: ptr proto_FlatSB_ShowScrollBar
FlatSB_ShowScrollBar equ <_imp__FlatSB_ShowScrollBar@12>
proto_FlatSB_GetScrollRange typedef proto stdcall  :HWND, :DWORD, :LPINT, :LPINT
externdef stdcall _imp__FlatSB_GetScrollRange@16: ptr proto_FlatSB_GetScrollRange
FlatSB_GetScrollRange equ <_imp__FlatSB_GetScrollRange@16>
proto_FlatSB_GetScrollInfo typedef proto stdcall  :HWND, :DWORD, :LPSCROLLINFO
externdef stdcall _imp__FlatSB_GetScrollInfo@12: ptr proto_FlatSB_GetScrollInfo
FlatSB_GetScrollInfo equ <_imp__FlatSB_GetScrollInfo@12>
proto_FlatSB_GetScrollPos typedef proto stdcall  :HWND, :DWORD
externdef stdcall _imp__FlatSB_GetScrollPos@8: ptr proto_FlatSB_GetScrollPos
FlatSB_GetScrollPos equ <_imp__FlatSB_GetScrollPos@8>
proto_FlatSB_GetScrollProp typedef proto stdcall  :HWND, :DWORD, :LPINT
externdef stdcall _imp__FlatSB_GetScrollProp@12: ptr proto_FlatSB_GetScrollProp
FlatSB_GetScrollProp equ <_imp__FlatSB_GetScrollProp@12>
proto_FlatSB_SetScrollPos typedef proto stdcall  :HWND, :DWORD, :DWORD, :BOOL
externdef stdcall _imp__FlatSB_SetScrollPos@16: ptr proto_FlatSB_SetScrollPos
FlatSB_SetScrollPos equ <_imp__FlatSB_SetScrollPos@16>
proto_FlatSB_SetScrollInfo typedef proto stdcall  :HWND, :DWORD, :LPSCROLLINFO, :BOOL
externdef stdcall _imp__FlatSB_SetScrollInfo@16: ptr proto_FlatSB_SetScrollInfo
FlatSB_SetScrollInfo equ <_imp__FlatSB_SetScrollInfo@16>
proto_FlatSB_SetScrollRange typedef proto stdcall  :HWND, :DWORD, :DWORD, :DWORD, :BOOL
externdef stdcall _imp__FlatSB_SetScrollRange@20: ptr proto_FlatSB_SetScrollRange
FlatSB_SetScrollRange equ <_imp__FlatSB_SetScrollRange@20>
proto_FlatSB_SetScrollProp typedef proto stdcall  :HWND, :DWORD, :DWORD, :BOOL
externdef stdcall _imp__FlatSB_SetScrollProp@16: ptr proto_FlatSB_SetScrollProp
FlatSB_SetScrollProp equ <_imp__FlatSB_SetScrollProp@16>
proto_InitializeFlatSB typedef proto stdcall  :HWND
externdef stdcall _imp__InitializeFlatSB@4: ptr proto_InitializeFlatSB
InitializeFlatSB equ <_imp__InitializeFlatSB@4>
proto_UninitializeFlatSB typedef proto stdcall  :HWND
externdef stdcall _imp__UninitializeFlatSB@4: ptr proto_UninitializeFlatSB
UninitializeFlatSB equ <_imp__UninitializeFlatSB@4>
endif 
endif 
endif 
endif 
ifdef __cplusplus
;}
endif 
ifdef _WIN32
	include poppack.inc
endif 
endif 
endif 

;--- errors: 0
;--- end of file ---
