namespace win.ui.ctrl; 
import win.ui.ctrl.metaProperty;//导入控件属性元表支持
import win.ui.ctrl.common;

//_LVM_FIRST =@0x1000/*_LVM_FIRST*/
//_LVM_SETEXTENDEDLISTVIEWSTYLE = @4150/*_LVM_SETEXTENDEDLISTVIEWSTYLE*/
class listview{
    ctor(parent,tvalue){ 
    	if(tvalue){
    		tvalue.cls = "SysListView32"; 
    		//tvalue.style |= 3/*_LVS_LIST*/ | 0x4000 /*_LVS_NOCOLUMNHEADER*/
   			if(tvalue.edge)   
					tvalue.exstyle |= 0x200/*_WS_EX_CLIENTEDGE*/;  
					
   			select(tvalue.mode){
				case "icon" 
					tvalue.style |= 0x0/*_LVS_ICON*/
				case "list"  
					tvalue.style |= 0x3/*_LVS_LIST*/
				case "smallicon" 
					tvalue.style |= 0x2/*_LVS_SMALLICON*/            
				else {
					tvalue.style |= 0x1/*_LVS_REPORT*/
				} 					
			} 
			
			if(tvalue.hscroll)
				tvalue.style |= 0x800/*_LVS_ALIGNLEFT*/ 
			if(tvalue.vscroll)
				tvalue.style |= 0x0/*_LVS_ALIGNTOP*/
				
			if(tvalue.msel===false)
    			tvalue.style |= 0x4/*_LVS_SINGLESEL*/
		}  
    }
    oncreate = function(){ 
    } 
    @metaProperty;
}



namespace listview{ 

	LVCOLUMN = class { /* 列 */
		INT		mask;
		int		fmt; 
		int		cx; 
		string	pszText; 
		int		cchTextMax; 
		int		iSubItem; 
		int		iImage;
		int		iOrder;
	}
	LVITEM = class { /* 项 */
		INT		mask; 
		int		iItem; 
		int		iSubItem; 
		INT		state; 
		INT		stateMask; 
		string	pszText; 
		int		cchTextMax; 
		int		iImage; 
		int		lParam;
		int		iIndent;
		int		iGroupId;
		INT		cColumns;
		struct	puColumns = ::POINT();
	}
	
	LVTILEVIEWINFO = class {
		INT cbSize = 40;
		INT dwMask;
		INT dwFlags;
		struct  sizeTile = ::SIZE();
		int   cLines;
		struct  rcLabelMargin = ::RECT();
	}
 
	metaProperty = ..win.ui.ctrl.metaProperty( 
		count = {
			_get = function(){  
				return ::SendMessage(owner.hwnd, 0x1004/*_LVM_GETITEMCOUNT*/ )  
			} 
		};
		setTileViewInfo = function(inf){
			if(! inf[["rcLabelMargin"]])
				error("参数不是合法的LVTILEVIEWINFO()结构体",2)
				
			::SendMessageByStruct(owner.hwnd,0x10A2/*_LVM_SETTILEVIEWINFO*/,0,inf);
		}
		getTileViewInfo = function(){
			var inf = LVTILEVIEWINFO();
			::SendMessageByStruct(owner.hwnd,0x10A3/*_LVM_GETTILEVIEWINFO*/,0,inf);
			return inf;
		} 
		items = {
			_get = function(){  
				tab = {}; 
				for(i=1;owner.count){ 
               		..table.push(tab,owner.getItemText(i) )
            	} 
				return tab;
			}
			_set = function( v ){ 
		    	for(i=1;#(v) ){  
					owner.addItem(v[i],i);  
				} 
			} 	
		}
		editable ={
			get = function(){
				return  ..win.getStyle(owner[["hwnd"]],0x200/*_LVS_EDITLABELS*/ ) 
			}
			set = function(v){
				if(v)
					owner.modifyStyle(,0x200/*_LVS_EDITLABELS*/)
				else
					owner.modifyStyle(0x200/*_LVS_EDITLABELS*/)
			} 
		}
		insertColumn = function (text /* 文本 */,width /* 列宽 */, ind = 1 /* 插入位置 */,fmt){
			var col		= LVCOLUMN();
			col.mask	= 0x4/*_LVCF_TEXT*/ | 0x8/*_LVCF_SUBITEM*/; 
			col.pszText	= text;
			
			if(width){
				col.mask |= 0x2/*_LVCF_WIDTH*/ 
				col.cx	= width;
			}
			if(align){
				col.mask |= 0x1/*_LVCF_FMT*/
				col.fmt	|= fmt;
			}
			return ::SendMessageByStruct(owner.hwnd, 0x101B/*_LVM_INSERTCOLUMNA*/,ind-1, col);
		} 
		addItem = function(text, ind ) {
			ind := owner.count + 1;
				
			var item		= LVITEM();
			item.mask		= 0x1/*_LVIF_TEXT*/;
			item.iItem		= ind-1;
			item.iSubItem	= 0; 
			item.pszText	= text;
			return ::SendMessageByStruct(owner.hwnd, 0x1007/*_LVM_INSERTITEM*/, 0, item) + 1;
		}
		delItem = function(ind){
			ind := owner.count;
			return ::SendMessageInt(owner.hwnd, 0x1008/*_LVM_DELETEITEM*/,ind-1,0); 
		}
		clear = function(){
			return ::SendMessage(owner.hwnd, 0x1009/*_LVM_DELETEALLITEMS*/); 
		} 
		setItemText = function (text,row,col=1 ) {
			var item		= LVITEM();
			item.mask		= 0x1/*_LVIF_TEXT*/;
			item.iSubItem	= col-1;
			item.pszText	= text;
			return ::SendMessageByStruct(owner.hwnd, 0x102E/*_LVM_SETITEMTEXT*/, row-1, item);
		}
		getItemText = function ( row,col=1,len=100 ) {
			var item		= LVITEM();
			item.mask		= 0x1/*_LVIF_TEXT*/;
			item.iSubItem	= col-1;
			item.pszText	= ..raw.malloc(len);
			item.cchTextMax = len
			var len = ::SendMessageByStruct(owner.hwnd, 0x102D/*_LVM_GETITEMTEXT*/, row-1, item); 
			return ..string.left( item.pszText ,len);
		}
		setItemPos = function ( ind,x,y ) { 
			return ::SendMessageInt(owner.hwnd,0x100F/*_LVM_SETITEMPOSITION*/,ind-1,y*65536+x);  
		} 
		/** 选中选择框 **/
		["select"] = function (row, selected=true) {
			var item		= LVITEM();
			item.mask		= 0x8/*_LVIF_STATE*/;
			item.state		= selected ? 0x2000 : 0x1000;
			item.stateMask	= 0xF000/*_LVIS_STATEIMAGEMASK*/;
			::SendMessageByStruct(owner.hwnd, 0x102B/*_LVM_SETITEMSTATE*/, row-1, item);
		}
		selected = function(){
			var item		= LVITEM();
			item.mask		= 0x8/*_LVIF_STATE*/;
			item.stateMask	= 0xF000/*_LVIS_STATEIMAGEMASK*/;
			::SendMessageByStruct(owner.hwnd, 0x102C/*_LVM_GETITEMSTATE*/, row-1, item);
			return item.state & 0x2000
		} 
		selIndex = {
			_get = function(){  
				return ::SendMessageInt(owner.hwnd, 0x100C/*_LVM_GETNEXTITEM*/, -1, 0x1/*_LVNI_FOCUSED*/) + 1
			}
			_set = function( v ){  
			} 	
		}; 
		setExtended = function(ex,v=true){
			return ::SendMessageInt(owner.hwnd, 4150/*_LVM_SETEXTENDEDLISTVIEWSTYLE*/,ex,v?ex:0);
		}
		getExtended = function(ex=~0){
			return ::SendMessage(owner.hwnd, 0x1037/*_LVM_GETEXTENDEDLISTVIEWSTYLE*/) & ex;
		} 
		gridLines = { 
			/**
			_get = function(){
				return owner.getExtended(0x1/*_LVS_EX_GRIDLINES*/)
			} 
			**/
			_set = function( v ){  
				 owner.setExtended(0x1/*_LVS_EX_GRIDLINES*/,v)
			} 	
		};
		fullRow = {
			/**
			_get = function(){
				return owner.getExtended(0x20/*_LVS_EX_FULLROWSELECT*/)
			} 
			**/
			_set = function( v ){  
				 owner.setExtended(0x20/*_LVS_EX_FULLROWSELECT*/,v)
			} 	
		};
	)

}

/**intellisense()
!listview.setItemPos(__/*项索引*/,x,y) = 设置图标项坐标
!listview.count = 项目总数
!listview.insertColumn(.(列名,列宽,位置,样式) = 除第一个参数以外,其他参数都可以省略\n样式使用_LVCFMT_前缀的常量指定,例如_LVCFMT_LEFT为文本左对齐
!listview.addItem(.(标题,位置) = 位置参数可省略,默认为count值
!listview.setItemText(.(文本,行,列) = 设置项文本
!listview.getItemText(.(行,列,缓冲区长度) = 列默认值为1,缓冲区最大字符数默认为100
!listview.select(项索引) = 选中项
!listview.select(项索引,false) = 取消选中项
!listview.selIndex = 选定项索引
!listview.fullRow = 是否选中整行
!listview.hwnd = 控件句柄
!listview.id = 控件ID
!listview.parent = 父窗口
!listview.parent.hwnd = 父窗口句柄
!listview.disabled = 控件ID
!listview.left = 左侧坐标
!listview.right = 右侧坐标
!listview.top = 顶部坐标
!listview.bottom = 底部坐标 
!listview.redraw() = 刷新
!listview.show(true__) = 显示控件
!listview.rect = 控件区块位置(::RECT结构体)
!listview.clientRect =  控件客户区块位置(::RECT结构体)
!listview.font = 控件字体(::LOGFONT结构体)
!listview.clientRect =  获取控件客户区块位置(::RECT结构体)
!listview.theme = 外观主题,例如\nwinform.button.theme = "Explorer"\nwinform.button.theme = false
!listview.delItem(__) = 参数为数值，移除指定索引的项目
!listview.items = 列表项集合\ntable对象
!listview.editable = 是否允许编辑项文本
!listview.selectIndex = 读取或设置当前选项索引
!listview.modifyStyle(.(remove,add) = 如果指定第三个参数，则使用此参数调用::SetWidnowPos 
!listview.modifyStyleEx(.(remove,add) = 如果指定第三个参数，则使用此参数调用::SetWidnowPos
!listview.capture = 是否捕获全局鼠标消自息
!listview.close() = 关闭控件窗口
!listview.setExtended(_LVS_EX__) = 启用树视图指定扩展样式
!listview.setExtended(_LVS_EX__,false) = 取消树视图指定扩展样式
!listview.getExtended() = 获取树视图扩展样式
!listview.getExtended(_LVS_EX__) = 获取树视图指定扩展样式
!listview.gridLines = 是否显示网格线
!listview.setFocus() = 设置焦点 
!listview.setPos(.(x坐标,y坐标,宽,高,插入位置,参数) = 调整窗口位置或排序,所有参数可选\n同时指定x,y坐标则移动位置\n同时指定宽高则改变大小\n指定插入位置(句柄或_HWND前缀常量)则调整Z序
!listview.getPos() = 返回相对坐标,宽,高\nx,y,cx,cy=win.getPos(hwnd)
!listview.getTileViewInfo() = 返回排列显示相关属性
!listview.setTileViewInfo() = 设置排列显示相关属性
?win.ui.ctrl.listview  =!listview.

!tileviewinfo.dwMask = @.dwMask = _LVTVIM__ ;
!tileviewinfo.dwFlags = @.dwFlags = _LVTVIF__ ;
!tileviewinfo.sizeTile = !size.
!tileviewinfo.cLines = 行数
!tileviewinfo.rcLabelMargin = !rect.
?.getTileViewInfo = !tileviewinfo.

_LVTVIM_TILESIZE=@0x1/*_LVTVIM_TILESIZE*/
_LVTVIM_COLUMNS=@0x2/*_LVTVIM_COLUMNS*/
_LVTVIM_LABELMARGIN=@0x4/*_LVTVIM_LABELMARGIN*/
_LVTVIF_AUTOSIZE=@0x0/*_LVTVIF_AUTOSIZE*/
_LVTVIF_FIXEDWIDTH=@0x1/*_LVTVIF_FIXEDWIDTH*/
_LVTVIF_FIXEDHEIGHT=@0x2/*_LVTVIF_FIXEDHEIGHT*/
_LVTVIF_FIXEDSIZE=@0x3/*_LVTVIF_FIXEDSIZE*/
_LVTVIF_EXTENDED=@0x4/*_LVTVIF_EXTENDED*/

_LVS_ICON=@0x0/*_LVS_ICON*/
_LVS_REPORT=@0x1/*_LVS_REPORT*/
_LVS_SMALLICON=@0x2/*_LVS_SMALLICON*/
_LVS_LIST=@0x3/*_LVS_LIST*/
_LVS_TYPEMASK=@0x3/*_LVS_TYPEMASK*/
_LVS_SINGLESEL=@0x4/*_LVS_SINGLESEL*/
_LVS_SHOWSELALWAYS=@0x8/*_LVS_SHOWSELALWAYS*/
_LVS_SORTASCENDING=@0x10/*_LVS_SORTASCENDING*/
_LVS_SORTDESCENDING=@0x20/*_LVS_SORTDESCENDING*/
_LVS_SHAREIMAGELISTS=@0x40/*_LVS_SHAREIMAGELISTS*/
_LVS_NOLABELWRAP=@0x80/*_LVS_NOLABELWRAP*/
_LVS_AUTOARRANGE=@0x100/*_LVS_AUTOARRANGE*/
_LVS_EDITLABELS=@0x200/*_LVS_EDITLABELS*/
_LVS_OWNERDATA=@0x1000/*_LVS_OWNERDATA*/
_LVS_NOSCROLL=@0x2000/*_LVS_NOSCROLL*/
_LVS_TYPESTYLEMASK=@0xFC00/*_LVS_TYPESTYLEMASK*/
_LVS_ALIGNTOP=@0x0/*_LVS_ALIGNTOP*/
_LVS_ALIGNLEFT=@0x800/*_LVS_ALIGNLEFT*/
_LVS_ALIGNMASK=@0xC00/*_LVS_ALIGNMASK*/
_LVS_OWNERDRAWFIXED=@0x400/*_LVS_OWNERDRAWFIXED*/
_LVS_NOCOLUMNHEADER=@0x4000/*_LVS_NOCOLUMNHEADER*/
_LVS_NOSORTHEADER=@0x8000/*_LVS_NOSORTHEADER*/
_LVS_EX_GRIDLINES=@0x1/*_LVS_EX_GRIDLINES*/
_LVS_EX_SUBITEMIMAGES=@0x2/*_LVS_EX_SUBITEMIMAGES*/
_LVS_EX_CHECKBOXES=@0x4/*_LVS_EX_CHECKBOXES*/
_LVS_EX_TRACKSELECT=@0x8/*_LVS_EX_TRACKSELECT*/
_LVS_EX_HEADERDRAGDROP=@0x10/*_LVS_EX_HEADERDRAGDROP*/
_LVS_EX_FULLROWSELECT=@0x20/*_LVS_EX_FULLROWSELECT*/
_LVS_EX_ONECLICKACTIVATE=@0x40/*_LVS_EX_ONECLICKACTIVATE*/
_LVS_EX_TWOCLICKACTIVATE=@0x80/*_LVS_EX_TWOCLICKACTIVATE*/
_LVS_EX_FLATSB=@0x100/*_LVS_EX_FLATSB*/
_LVS_EX_REGIONAL=@0x200/*_LVS_EX_REGIONAL*/
_LVS_EX_INFOTIP=@0x400/*_LVS_EX_INFOTIP*/
_LVS_EX_UNDERLINEHOT=@0x800/*_LVS_EX_UNDERLINEHOT*/
_LVS_EX_UNDERLINECOLD=@0x1000/*_LVS_EX_UNDERLINECOLD*/
_LVS_EX_MULTIWORKAREAS=@0x2000/*_LVS_EX_MULTIWORKAREAS*/
_LVS_EX_LABELTIP=@0x4000/*_LVS_EX_LABELTIP*/
_LVS_EX_BORDERSELECT=@0x8000/*_LVS_EX_BORDERSELECT*/
_LVS_EX_DOUBLEBUFFER=@0x10000/*_LVS_EX_DOUBLEBUFFER*/
_LVS_EX_HIDELABELS=@0x20000/*_LVS_EX_HIDELABELS*/
_LVS_EX_SINGLEROW=@0x40000/*_LVS_EX_SINGLEROW*/
_LVS_EX_SNAPTOGRID=@0x80000/*_LVS_EX_SNAPTOGRID*/
_LVS_EX_SIMPLESELECT=@0x100000/*_LVS_EX_SIMPLESELECT*/
_LVS_EX_JUSTIFYCOLUMNS=@0x200000/*_LVS_EX_JUSTIFYCOLUMNS*/
_LVS_EX_TRANSPARENTBKGND=@0x400000/*_LVS_EX_TRANSPARENTBKGND*/
_LVS_EX_TRANSPARENTSHADOWTEXT=@0x800000/*_LVS_EX_TRANSPARENTSHADOWTEXT*/
_LVS_EX_AUTOAUTOARRANGE=@0x1000000/*_LVS_EX_AUTOAUTOARRANGE*/
_LVS_EX_HEADERINALLVIEWS=@0x2000000/*_LVS_EX_HEADERINALLVIEWS*/
_LVS_EX_AUTOCHECKSELECT=@0x8000000/*_LVS_EX_AUTOCHECKSELECT*/
_LVS_EX_AUTOSIZECOLUMNS=@0x10000000/*_LVS_EX_AUTOSIZECOLUMNS*/
_LVS_EX_COLUMNSNAPPOINTS=@0x40000000/*_LVS_EX_COLUMNSNAPPOINTS*/
_LVS_EX_COLUMNOVERFLOW=@0x80000000/*_LVS_EX_COLUMNOVERFLOW*/

_LVM_SETUNICODEFORMAT=@0x2005/*_LVM_SETUNICODEFORMAT*/
_LVM_GETUNICODEFORMAT=@0x2006/*_LVM_GETUNICODEFORMAT*/
_LVM_GETBKCOLOR=@0x1000/*_LVM_GETBKCOLOR*/
_LVM_SETBKCOLOR=@0x1001/*_LVM_SETBKCOLOR*/
_LVM_GETIMAGELIST=@0x1002/*_LVM_GETIMAGELIST*/
_LVM_SETIMAGELIST=@0x1003/*_LVM_SETIMAGELIST*/
_LVM_GETITEMCOUNT=@0x1004/*_LVM_GETITEMCOUNT*/
_LVM_GETITEM=@0x1005/*_LVM_GETITEM*/
_LVM_SETITEM=@0x1006/*_LVM_SETITEM*/
_LVM_INSERTITEM=@0x1007/*_LVM_INSERTITEM*/
_LVM_DELETEITEM=@0x1008/*_LVM_DELETEITEM*/
_LVM_DELETEALLITEMS=@0x1009/*_LVM_DELETEALLITEMS*/
_LVM_GETCALLBACKMASK=@0x100A/*_LVM_GETCALLBACKMASK*/
_LVM_SETCALLBACKMASK=@0x100B/*_LVM_SETCALLBACKMASK*/
_LVM_GETNEXTITEM=@0x100C/*_LVM_GETNEXTITEM*/
_LVM_FINDITEM=@0x100D/*_LVM_FINDITEM*/
_LVM_GETITEMRECT=@0x100E/*_LVM_GETITEMRECT*/
_LVM_SETITEMPOSITION=@0x100F/*_LVM_SETITEMPOSITION*/
_LVM_GETITEMPOSITION=@0x1010/*_LVM_GETITEMPOSITION*/
_LVM_GETSTRINGWIDTH=@0x1011/*_LVM_GETSTRINGWIDTH*/
_LVM_HITTEST=@0x1012/*_LVM_HITTEST*/
_LVM_ENSUREVISIBLE=@0x1013/*_LVM_ENSUREVISIBLE*/
_LVM_SCROLL=@0x1014/*_LVM_SCROLL*/
_LVM_REDRAWITEMS=@0x1015/*_LVM_REDRAWITEMS*/
_LVM_ARRANGE=@0x1016/*_LVM_ARRANGE*/
_LVM_EDITLABEL=@0x1017/*_LVM_EDITLABEL*/
_LVM_GETEDITCONTROL=@0x1018/*_LVM_GETEDITCONTROL*/
_LVM_GETCOLUMN=@0x1019/*_LVM_GETCOLUMN*/
_LVM_SETCOLUMN=@0x101A/*_LVM_SETCOLUMN*/
_LVM_INSERTCOLUMN=@0x101B/*_LVM_INSERTCOLUMNA*/
_LVM_DELETECOLUMN=@0x101C/*_LVM_DELETECOLUMN*/
_LVM_GETCOLUMNWIDTH=@0x101D/*_LVM_GETCOLUMNWIDTH*/
_LVM_SETCOLUMNWIDTH=@0x101E/*_LVM_SETCOLUMNWIDTH*/
_LVM_GETHEADER=@0x101F/*_LVM_GETHEADER*/
_LVM_CREATEDRAGIMAGE=@0x1021/*_LVM_CREATEDRAGIMAGE*/
_LVM_GETVIEWRECT=@0x1022/*_LVM_GETVIEWRECT*/
_LVM_GETTEXTCOLOR=@0x1023/*_LVM_GETTEXTCOLOR*/
_LVM_SETTEXTCOLOR=@0x1024/*_LVM_SETTEXTCOLOR*/
_LVM_GETTEXTBKCOLOR=@0x1025/*_LVM_GETTEXTBKCOLOR*/
_LVM_SETTEXTBKCOLOR=@0x1026/*_LVM_SETTEXTBKCOLOR*/
_LVM_GETTOPINDEX=@0x1027/*_LVM_GETTOPINDEX*/
_LVM_GETCOUNTPERPAGE=@0x1028/*_LVM_GETCOUNTPERPAGE*/
_LVM_GETORIGIN=@0x1029/*_LVM_GETORIGIN*/
_LVM_UPDATE=@0x102A/*_LVM_UPDATE*/
_LVM_SETITEMSTATE=@0x102B/*_LVM_SETITEMSTATE*/
_LVM_GETITEMSTATE=@0x102C/*_LVM_GETITEMSTATE*/
_LVM_GETITEMTEXT=@0x102D/*_LVM_GETITEMTEXT*/
_LVM_SETITEMTEXT=@0x102E/*_LVM_SETITEMTEXT*/
_LVM_SETITEMCOUNT=@0x102F/*_LVM_SETITEMCOUNT*/
_LVM_SORTITEMS=@0x1030/*_LVM_SORTITEMS*/
_LVM_SETITEMPOSITION32=@0x1031/*_LVM_SETITEMPOSITION32*/
_LVM_GETSELECTEDCOUNT=@0x1032/*_LVM_GETSELECTEDCOUNT*/
_LVM_GETITEMSPACING=@0x1033/*_LVM_GETITEMSPACING*/
_LVM_GETISEARCHSTRING=@0x1034/*_LVM_GETISEARCHSTRING*/
_LVM_SETICONSPACING=@0x1035/*_LVM_SETICONSPACING*/
_LVM_GETEXTENDEDLISTVIEWSTYLE=@0x1037/*_LVM_GETEXTENDEDLISTVIEWSTYLE*/
_LVM_GETSUBITEMRECT=@0x1038/*_LVM_GETSUBITEMRECT*/
_LVM_SUBITEMHITTEST=@0x1039/*_LVM_SUBITEMHITTEST*/
_LVM_SETCOLUMNORDERARRAY=@0x103A/*_LVM_SETCOLUMNORDERARRAY*/
_LVM_GETCOLUMNORDERARRAY=@0x103B/*_LVM_GETCOLUMNORDERARRAY*/
_LVM_SETHOTITEM=@0x103C/*_LVM_SETHOTITEM*/
_LVM_GETHOTITEM=@0x103D/*_LVM_GETHOTITEM*/
_LVM_SETHOTCURSOR=@0x103E/*_LVM_SETHOTCURSOR*/
_LVM_GETHOTCURSOR=@0x103F/*_LVM_GETHOTCURSOR*/
_LVM_APPROXIMATEVIEWRECT=@0x1040/*_LVM_APPROXIMATEVIEWRECT*/
_LVM_SETWORKAREAS=@0x1041/*_LVM_SETWORKAREAS*/
_LVM_GETWORKAREAS=@0x1046/*_LVM_GETWORKAREAS*/
_LVM_GETNUMBEROFWORKAREAS=@0x1049/*_LVM_GETNUMBEROFWORKAREAS*/
_LVM_GETSELECTIONMARK=@0x1042/*_LVM_GETSELECTIONMARK*/
_LVM_SETSELECTIONMARK=@0x1043/*_LVM_SETSELECTIONMARK*/
_LVM_SETHOVERTIME=@0x1047/*_LVM_SETHOVERTIME*/
_LVM_GETHOVERTIME=@0x1048/*_LVM_GETHOVERTIME*/
_LVM_SETTOOLTIPS=@0x104A/*_LVM_SETTOOLTIPS*/
_LVM_GETTOOLTIPS=@0x104E/*_LVM_GETTOOLTIPS*/
_LVM_SORTITEMSEX=@0x1051/*_LVM_SORTITEMSEX*/
_LVM_SETBKIMAGEA=@0x1044/*_LVM_SETBKIMAGEA*/
_LVM_GETBKIMAGEA=@0x1045/*_LVM_GETBKIMAGEA*/
_LVM_SETSELECTEDCOLUMN=@0x108C/*_LVM_SETSELECTEDCOLUMN*/
_LVM_SETVIEW=@0x108E/*_LVM_SETVIEW*/
_LVM_GETVIEW=@0x108F/*_LVM_GETVIEW*/
_LVM_INSERTGROUP=@0x1091/*_LVM_INSERTGROUP*/
_LVM_SETGROUPINFO=@0x1093/*_LVM_SETGROUPINFO*/
_LVM_GETGROUPINFO=@0x1095/*_LVM_GETGROUPINFO*/
_LVM_REMOVEGROUP=@0x1096/*_LVM_REMOVEGROUP*/
_LVM_MOVEGROUP=@0x1097/*_LVM_MOVEGROUP*/
_LVM_GETGROUPCOUNT=@0x1098/*_LVM_GETGROUPCOUNT*/
_LVM_GETGROUPINFOBYINDEX=@0x1099/*_LVM_GETGROUPINFOBYINDEX*/
_LVM_MOVEITEMTOGROUP=@0x109A/*_LVM_MOVEITEMTOGROUP*/
_LVM_GETGROUPRECT=@0x1062/*_LVM_GETGROUPRECT*/
_LVM_SETGROUPMETRICS=@0x109B/*_LVM_SETGROUPMETRICS*/
_LVM_GETGROUPMETRICS=@0x109C/*_LVM_GETGROUPMETRICS*/
_LVM_ENABLEGROUPVIEW=@0x109D/*_LVM_ENABLEGROUPVIEW*/
_LVM_SORTGROUPS=@0x109E/*_LVM_SORTGROUPS*/
_LVM_INSERTGROUPSORTED=@0x109F/*_LVM_INSERTGROUPSORTED*/
_LVM_REMOVEALLGROUPS=@0x10A0/*_LVM_REMOVEALLGROUPS*/
_LVM_HASGROUP=@0x10A1/*_LVM_HASGROUP*/
_LVM_GETGROUPSTATE=@0x105C/*_LVM_GETGROUPSTATE*/
_LVM_GETFOCUSEDGROUP=@0x105D/*_LVM_GETFOCUSEDGROUP*/
_LVM_SETTILEVIEWINFO=@0x10A2/*_LVM_SETTILEVIEWINFO*/
_LVM_GETTILEVIEWINFO=@0x10A3/*_LVM_GETTILEVIEWINFO*/
_LVM_SETTILEINFO=@0x10A4/*_LVM_SETTILEINFO*/
_LVM_GETTILEINFO=@0x10A5/*_LVM_GETTILEINFO*/
_LVM_SETINSERTMARK=@0x10A6/*_LVM_SETINSERTMARK*/
_LVM_GETINSERTMARK=@0x10A7/*_LVM_GETINSERTMARK*/
_LVM_INSERTMARKHITTEST=@0x10A8/*_LVM_INSERTMARKHITTEST*/
_LVM_GETINSERTMARKRECT=@0x10A9/*_LVM_GETINSERTMARKRECT*/
_LVM_SETINSERTMARKCOLOR=@0x10AA/*_LVM_SETINSERTMARKCOLOR*/
_LVM_GETINSERTMARKCOLOR=@0x10AB/*_LVM_GETINSERTMARKCOLOR*/
_LVM_SETINFOTIP=@0x10AD/*_LVM_SETINFOTIP*/
_LVM_GETSELECTEDCOLUMN=@0x10AE/*_LVM_GETSELECTEDCOLUMN*/
_LVM_ISGROUPVIEWENABLED=@0x10AF/*_LVM_ISGROUPVIEWENABLED*/
_LVM_GETOUTLINECOLOR=@0x10B0/*_LVM_GETOUTLINECOLOR*/
_LVM_SETOUTLINECOLOR=@0x10B1/*_LVM_SETOUTLINECOLOR*/
_LVM_CANCELEDITLABEL=@0x10B3/*_LVM_CANCELEDITLABEL*/
_LVM_MAPINDEXTOID=@0x10B4/*_LVM_MAPINDEXTOID*/
_LVM_MAPIDTOINDEX=@0x10B5/*_LVM_MAPIDTOINDEX*/
_LVM_ISITEMVISIBLE=@0x10B6/*_LVM_ISITEMVISIBLE*/
_LVM_GETEMPTYTEXT=@0x10CC/*_LVM_GETEMPTYTEXT*/
_LVM_GETFOOTERRECT=@0x10CD/*_LVM_GETFOOTERRECT*/
_LVM_GETFOOTERINFO=@0x10CE/*_LVM_GETFOOTERINFO*/
_LVM_GETFOOTERITEMRECT=@0x10CF/*_LVM_GETFOOTERITEMRECT*/
_LVM_GETFOOTERITEM=@0x10D0/*_LVM_GETFOOTERITEM*/
_LVM_GETITEMINDEXRECT=@0x10D1/*_LVM_GETITEMINDEXRECT*/
_LVM_SETITEMINDEXSTATE=@0x10D2/*_LVM_SETITEMINDEXSTATE*/
_LVM_GETNEXTITEMINDEX=@0x10D3/*_LVM_GETNEXTITEMINDEX*/
_LVM_SETBKIMAGE=@0x1044/*_LVM_SETBKIMAGE*/
_LVM_GETBKIMAGE=@0x1045/*_LVM_GETBKIMAGE*/

_LVCF_FMT=@0x1/*_LVCF_FMT*/
_LVCF_WIDTH=@0x2/*_LVCF_WIDTH*/
_LVCF_TEXT=@0x4/*_LVCF_TEXT*/
_LVCF_SUBITEM=@0x8/*_LVCF_SUBITEM*/
_LVCF_IMAGE=@0x10/*_LVCF_IMAGE*/
_LVCF_ORDER=@0x20/*_LVCF_ORDER*/
_LVCF_MINWIDTH=@0x40/*_LVCF_MINWIDTH*/
_LVCF_DEFAULTWIDTH=@0x80/*_LVCF_DEFAULTWIDTH*/
_LVCF_IDEALWIDTH=@0x100/*_LVCF_IDEALWIDTH*/

_LVCFMT_LEFT=@0x0/*_LVCFMT_LEFT*/
_LVCFMT_RIGHT=@0x1/*_LVCFMT_RIGHT*/
_LVCFMT_CENTER=@0x2/*_LVCFMT_CENTER*/
_LVCFMT_JUSTIFYMASK=@0x3/*_LVCFMT_JUSTIFYMASK*/
_LVCFMT_IMAGE=@0x800/*_LVCFMT_IMAGE*/
_LVCFMT_BITMAP_ON_RIGHT=@0x1000/*_LVCFMT_BITMAP_ON_RIGHT*/
_LVCFMT_COL_HAS_IMAGES=@0x8000/*_LVCFMT_COL_HAS_IMAGES*/
_LVCFMT_FIXED_WIDTH=@0x100/*_LVCFMT_FIXED_WIDTH*/
_LVCFMT_NO_DPI_SCALE=@0x40000/*_LVCFMT_NO_DPI_SCALE*/
_LVCFMT_FIXED_RATIO=@0x80000/*_LVCFMT_FIXED_RATIO*/
_LVCFMT_LINE_BREAK=@0x100000/*_LVCFMT_LINE_BREAK*/
_LVCFMT_FILL=@0x200000/*_LVCFMT_FILL*/
_LVCFMT_WRAP=@0x400000/*_LVCFMT_WRAP*/
_LVCFMT_NO_TITLE=@0x800000/*_LVCFMT_NO_TITLE*/
_LVCFMT_TILE_PLACEMENTMASK=@0x300000/*_LVCFMT_TILE_PLACEMENTMASK*/
_LVCFMT_SPLITBUTTON=@0x1000000/*_LVCFMT_SPLITBUTTON*/

_LVIF_TEXT=@0x1/*_LVIF_TEXT*/
_LVIF_IMAGE=@0x2/*_LVIF_IMAGE*/
_LVIF_PARAM=@0x4/*_LVIF_PARAM*/
_LVIF_STATE=@0x8/*_LVIF_STATE*/
_LVIF_INDENT=@0x10/*_LVIF_INDENT*/
_LVIF_NORECOMPUTE=@0x800/*_LVIF_NORECOMPUTE*/
_LVIF_GROUPID=@0x100/*_LVIF_GROUPID*/
_LVIF_COLUMNS=@0x200/*_LVIF_COLUMNS*/
_LVIF_COLFMT=@0x10000/*_LVIF_COLFMT*/

_LVIS_FOCUSED=@0x1/*_LVIS_FOCUSED*/
_LVIS_SELECTED=@0x2/*_LVIS_SELECTED*/
_LVIS_CUT=@0x4/*_LVIS_CUT*/
_LVIS_DROPHILITED=@0x8/*_LVIS_DROPHILITED*/
_LVIS_GLOW=@0x10/*_LVIS_GLOW*/
_LVIS_ACTIVATING=@0x20/*_LVIS_ACTIVATING*/
_LVIS_OVERLAYMASK=@0xF00/*_LVIS_OVERLAYMASK*/
_LVIS_STATEIMAGEMASK=@0xF000/*_LVIS_STATEIMAGEMASK*/

_LVNI_ALL=@0x0/*_LVNI_ALL*/
_LVNI_FOCUSED=@0x1/*_LVNI_FOCUSED*/
_LVNI_SELECTED=@0x2/*_LVNI_SELECTED*/
_LVNI_CUT=@0x4/*_LVNI_CUT*/
_LVNI_DROPHILITED=@0x8/*_LVNI_DROPHILITED*/
_LVNI_STATEMASK=@0xF/*_LVNI_STATEMASK*/
_LVNI_VISIBLEORDER=@0x10/*_LVNI_VISIBLEORDER*/
_LVNI_PREVIOUS=@0x20/*_LVNI_PREVIOUS*/
_LVNI_VISIBLEONLY=@0x40/*_LVNI_VISIBLEONLY*/
_LVNI_SAMEGROUPONLY=@0x80/*_LVNI_SAMEGROUPONLY*/
_LVNI_ABOVE=@0x100/*_LVNI_ABOVE*/
_LVNI_BELOW=@0x200/*_LVNI_BELOW*/
_LVNI_TOLEFT=@0x400/*_LVNI_TOLEFT*/
_LVNI_TORIGHT=@0x800/*_LVNI_TORIGHT*/
_LVNI_DIRECTIONMASK=@0xF00/*_LVNI_DIRECTIONMASK*/
end intellisense**/
