列表视图
用于在 wndproc 回调中提前调用默认消息回调函数,
所有窗口和控件定义了 wndproc 回调以后会自动创建这个函数,
调用此函数以后,wndproc 必须指定非 null 返回值,
以避免再次重复调用默认回调函数
返回创建控件的容器窗口(win.form对象),所有窗口控件都拥有此只读属性。
对于使用窗体设计器创建的窗口,也就是返回设计时窗体容器。
即使子窗口移除子窗口样式、更改父子关系,或以 orphanWindow显示,
控件的 _parentForm 始终都不会改变
listviewObject.addCtrl(
edit ={ cls="edit";left=0;top=0;right=50;bottom=50;autoResize=false ;hide=1;edge=1; }
)
参数 @1 可以是指定部分 LVITEM 字段的 table 对象。
text 字段必须指定项目文本内容(也可以是一个指定多列文本的字符串数组 )。
位置参数可省略,默认为 count 属性值。
返回新增项行号
参数 @1 为指定 1 到 n 列显示文本的字符串数组。
如果数组元素不是字符串也不是指针、空值则自动转换为字符串。
位置参数可省略,默认为 count 属性值。
返回新增项行号
位置参数可省略,默认为 count 属性值。
图像索引可省略,默认为-1,
如果列文本不是指针、空值则自动转换为字符串,
返回新增项行号
listviewObject.adjust = function( cx,cy,wParam ) {
/*父窗口改变大小后会自动触发此事件函数。
注意 onSize 是 adjust 事件的别名,作用相同。
所有 win.form 创建的窗体和控件都支持 adjust 事件,
重复赋值 adjust 会追加事件触发器而非替换原来的值。
cx 参数为窗口客户区宽度,cy 参数为窗口客户区高度,
wParam 参数来自 _WM_SIZE 消息的 wParam 参数,一般不用管。
一般不建议添加一个 wndproc 仅仅是为了处理 _WM_SIZE 消息,
定义 adjust 事件是更好的选择。
如果主动调用此函数,则检查并执行所有之前添加的 adjust 事件函数。
省略调用参数时 cx,cy 参数默认设为窗口大小*/
};
底部坐标
是否捕获全局鼠标消息
是否在每个项目前显示复选框
注意虚表不存在实际的项也不支持设置项目复选框
获取或设置所有已勾选项,这是包含所有已勾选的项目行索引的数组。
此数组内的行索引按实际显示的前后排序。
必须需先启用控件的复选框功能,才能获取或设置复选项是否勾选。
注意 selected 属性表示所有鼠标单击选中的项目,而 checked 表示所有复选项被勾选的项目。
请注意区分。
运行时类名
清空所有项
清空所有项,并且删除所有列
清除所有列的图像索引
控件窗口客户区宽度,只读属性。
获取控件客户区块位置(::RECT结构体)
控件窗口客户区宽度,只读属性。
关闭控件窗口
设计时类名
列总数
读取或设置所有的列。
值为由所有列配置信息的数组,每个列的配置也是一个数组。
表示单个列的数组格式为 [标题,列宽,对齐格式],
写入列配置时对齐格式可省略。
项目总数
用于实现虚表时可修改此属性
删除指定列
参数为数值,移除指定索引的项目
是否禁用
for itemIndex in listviewObject.each(){
/*遍历所有项*/
}
for item,value in listviewObject.eachChecked(){
/*从后向前倒序遍历所有勾选项,
迭代变量 item 为勾选项行号,
迭代变量 value 为 @col 参数所指定列的文本值
@col 参数省略则默认为1*/
}
for item,value in listviewObject.eachSelected(){
/*从后向前倒序遍历所有选中项,
迭代变量 item 为选中项目的行号。
迭代变量 value 为 @col 参数所指定列的文本值
@col 参数省略则默认为1。
也可以使用 listview 控件的 selected 属性直接返回所有已选中的行号。*/
}
编辑指定项,无参数则编辑选定项
此函数成功返回编辑文本框句柄
返则返回0
启用双缓冲,
可用于实现虚表时避免拖动时闪烁
滚动视图以确定可以显示参数指定行序号的项,
不指定参数则设置当前选中焦点项
使指定列自适应父窗口宽度,
如果不指定列默认调整最后一列,
用户调整窗口大小时会自动调用此函数调整自适应列
使用文本查找匹配项,
除第一个参数外,所有参数可选,
部分匹配仅限于匹配文本开始部分,默认值为true
全局搜索指搜索到最后一项以后转到第一项继续搜索
是否选中整行
返回指定索引项是否已勾选复选框,需要启用复选框支持
控件客户区块位置(::RECT结构体)
参数一可以为空,或是指定LVCOLUMN结构体成员键值的参数表,
返回LVCOLUMN结构体
获取指定列的图像索引,参数和返回值都是数值,
无图像返回null
取指定列文本
开始编辑时返回编辑控件,
此控件在完成编辑后会自动销毁,不必手动销毁
取消发送_WM_CANCELMODE消息即可
获取树视图扩展样式
获取树视图指定扩展样式
返回表示当前焦点项位置的数值。不存在焦点项则返回0。
如果指定返回字段列号,则第 2 个返回值为指定列的文本值。
不指定参数时返回值与 selIndex 属性相同。
设置 selIndex 属性可修改当前焦点项
控件字体(::LOGFONT结构体)
返回列标题窗口句柄
获取图像列表,
可选使用 LVSIL 前缀常量指定类型
返回LVITEM对象,参数为TVITEM结构体或指定部分成员的table对象.
可选使用参数一指定行号,参考二指定列序号,
不指定项目序号,则取当前焦点节点作为序号
获取指定行绑定的数据。
可用 setItemData 方法绑定数据到指定行。
setTable 方法也会自动绑定源数据表。
返回表示项目表示项目区块的RECT结构体,
除第一个参数以外,其他参数为可选参数,
如果不指定列则返回所在行区块,
使用_LVIR_前缀常量指定选项
读取状态值
返回指定项指定列文本,列默认值为1,
如果列指定为-1,则返回一个包含所有列文本的数组,
缓冲区最大字符数默认为520,
不指定行序号则默认取当前选中焦点行,
不指定列则默认设为1
参数二为一个或多个 LVNI 前缀的常量合并
默认为 _LVNI_ALL
起始索引默认为0
NM_CUSTOMDRAW通知消息返回NMLVCUSTOMDRAW结构体
该函数限用于onnotify通知回调函数中
code参数为通知码,ptr参数为NMHDR指针
如果NMHDR指针指向LV_DISPINFO对象则返回该对象,否则返回空值
该函数限用于onnotify通知回调函数中
code参数为通知码,如果ptr指向NMLISTVIEW对象则返回该对象.
返回父窗口
返回相对坐标,宽,高
x,y,cx,cy=win.getPos(hwnd)
控件区块位置(::RECT结构体)
控件屏幕区块位置(::RECT结构体)
指定项是否选中状态
获取选中项,返回数值,不存在选中项则返回0
可选指定起始索引,默认为0,
返回字段列号为可选参数,
返回值 2 为参数为返回行指定列的文本值
返回数据表。
如果参数 @1 指定列名数组(被复制为返回表的 fields 字段),
则返回的每行数据都是名值对,否则返回的每行数据都是文本数组。
如果参数 @1 为 true,则返回的文本数组第一行为列标题文本数组。
返回排列显示相关属性
是否显示网格线
高度
当前控件窗口是否隐藏。
仅检查当前窗口的可见性样式(窗口 是否移除了 _WS_VISIBLE 样式)。
不考虑父窗口是否可见,不考虑是否被其他窗口遮挡。
如果需要同时判断父窗口的可见性,应改用 win.isVisible 函数。
以 . 前导的 .hide() 作为成员函数被调用时,
作用等价于将 hide 属性设为 null 。
该函数返回指定坐标的行号,列号,_LVHT_前缀的状态常量
如果不指定任何参数,则自动调用 win.getMessagePos() 获取消息坐标
参数 @3 可省略,默认为 false
控件句柄
控件ID
第一个参数可以是标题字符串,图像索引,
或者指定LVCOLUMN结构体成员的table对象,
其他参数都是可选参数,
样式使用_LVCFMT_前缀的常量指定,
例如_LVCFMT_LEFT为文本左对齐,注意第一列只能左对齐,
不指定样式则默认左对齐,
如果列宽为-1,则自动调用fillParent(ind)函数填充剩余空间
返回或设置包含所有列表项的数组。
数组的每个元素表示一行数据,每行都是包含所有列文本的字符串数组。
赋值时也可以传入字符串数组,仅设置每行的第一列文本。
读取取属性返回的也是嵌套数组,并有一个可选字段 checked 包含了所有勾选的行
左侧坐标
修改窗口样式,所有参数都是可选参数,
@remove 用数值指定要移除的样式,可使用 WS 前缀的常量
@add 用数值指定要添加的样式,可使用 WS 前缀的常量
@swpFlags 可选用数值指定调整窗口选项,可使用 SWP 前缀的常量
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos
细节请参考 win.modifyStyle 函数源码
修改窗口扩展样式,所有参数都是可选参数,
@remove 用数值指定要移除的样式,可使用 WS_EX 前缀的常量
@add 用数值指定要添加的样式,可使用 WS_EX 前缀的常量
@swpFlags 可选用数值指定调整窗口选项,可使用 SWP 前缀的常量
如果指定了 @swpFlag ,则使用该参数调用::SetWindowPos
细节请参考 win.modifyStyle 函数源码
listviewObject.onCheckedChanged = function(checked,item){
/*勾选状态变更触发此事件。
checked 为是否勾选,item 为变更项序号*/
}
listviewObject.onClick = function(item,subItem,nmListView){
/*左键单击项目触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
listviewObject.onDestroy = function(){
/*窗口销毁前触发*/
}
listviewObject.onDoubleClick = function(item,subItem,nmListView){
/*左键双击项目触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
listviewObject.onFocusedChanged = function(item,subItem,nmListView){
/*焦点项变更触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
listviewObject.onGetDispItem = function(item,row,col){
/*处理 _LVN_GETDISPINFOW 通知消息
参数 @item 为 LVITEM 结构体,@row 为当前行号,@col 为当前列号,
返回 item 或包含 item 部分字段则更新 LVITEM 结构体*/
return {text="要显示的文本"};
}
listviewObject.onItemChanged = function(item,subItem,nmListView){
/*项目变更触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
listviewObject.onRightClick = function(item,subItem,nmListView){
/*右键点击项目触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
listviewObject.onSelChanged = function(selected,item,subItem,nmListView){
/*选中项更触发此事件。
selected 为是否选中,item 为变更项序号,
subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
listviewObject.onSize = function( width,height,wParam ) {
/*父窗口改变大小后会自动触发此事件函数。
注意 onSize 是 adjust 事件的别名,作用相同
所有 win.form 创建的窗体和控件都支持 onSize(或 adjust)事件,
重复赋值 onSize(或 adjust)会追加事件触发器而非替换原来的值。
width 参数为窗口客户区宽度,height 参数为窗口客户区高度,
wParam 参数来自 _WM_SIZE 消息的 wParam 参数,一般不用管。
一般不建议添加一个 wndproc 仅仅是为了处理 _WM_SIZE 消息,
定义 onSize 事件是更好的选择。
};*/
listviewObject.oncommand = function(id,event){
/*命令事件触发*/
}
listviewObject.onnotify = function(id,code,ptr){
/*通知事件触发*/
}
创建悬浮窗口。
悬浮窗口是模仿子窗口外观效果的独立窗口,父窗口可自动调整子窗口到设定位置。
可选参数 @transparent 为 true 则转换为分层透明窗口。
可选利用 @hwndBuddy 参数指定外部进程窗口句柄的并附加在内部控件上以实现相同的效果。
伙伴窗口总是会保持在悬浮窗口前面,并保持相同的大小、位置。
可重复调用此函数更换伙伴窗口,旧的伙伴窗口必须自行关闭。
可选指定 @borderless 参数 为 true 以移除 @hwndBuddy 的窗口边框。
投递窗口消息到消息队列中
此函数用法请参考 ::User32.PostMessage
刷新
listviewObject.reduce(
["✶";"✸";"✹";"✺";"✹";"✷"],
function(value,index,length,currentTime){
if(value){
listviewObject.setItemText(value + " 正在处理当前项",1,2);
}
/*参数 1 @array 指定要循环处理每个元素的数组或表。
@array 指定为 false 则取消之前创建的防抖单例循环。
参数 2 @callback 指定回调函数。
回调函数中可返回本次间隔延时,以毫秒为单位。
返回 0、null、false、以及不能转换为非 0 数的值中断处理。
回调参数为:当前数组元素值,当前索引,数组长度,本轮动画已执行毫秒数,
处理到数组尾部时回调参数 @1 为 null,
如果此时仍然返回可转换为非 0 数的值,将转到第一个数组元素重复循环。
参数 3 @debounce 指定是否创建为防抖单例循环,默认为 true。*/
return 150;
}
)
替换所有列表项。
参数@1 指定包含所有列表项的数组,格式与 items 属性相同。
数组的每个项表示一行,每行也必须是包含列文本的数组,
数组可以有一个可选字段 checked 包含了所有勾选的行。
此函数不会事先清空列表,而 items 则会事先清空列表。
当每次替换需要删除的项数较少时,此函数可避免清空导致的闪烁。
建议先用 enableDoubleBuffering 函数启用双缓冲
右侧坐标
当前获得控件内部输入焦点的选中项。
这指的是最后一次用鼠标点选的项。
如果要设置控件本身为输入焦点请调用 setFocus 函数
获取或设置所有选中项,这是包含所有选中的项目行索引的数组。
设为 null 或空表清除所有选中项。
也可以使用 eachSelected 方法创建迭代器并且 for in 循环遍历所有选中项。
注意 selected 属性表示所有鼠标单击选中的项目,而 checked 表示所有复选项被勾选的项目。
请注意区分。
发送窗口消息
此函数用法请参考 ::User32.SendMessage
发送 WM_NOTIFY 消息。
参数 @code 指定 _LVN 前缀的通知代码。
参数 @row 指定行号,起始行为 1,0 表示列标题。
参数 @col 指定列号,起始列为 1。
勾选指定索引项前面的复选框,需要启用复选框支持
参数@1为0则设置全部项目,
参数@2省略则默认为true
改变列宽
参数一指定LVCOLUMN结构体成员键值的参数表,
也可以是LVCOLUMN结构体对象,自动设置掩码参数.
使用 col 指定列索引设置该列的图像索引为iImage,
第一列 col 的索引值为1,但图像列表的第一个图像索引为 0,
可选用 fmt 指定图像显示位置,此参数用法参考此函数源码
设置图像列表,
参数可以是图像列表句柄,也可以传入win.imageList对象
设置指定列文本
设置列宽,可指定一个或多个列序号。
这里不能指定宽度为 -1 。
参数 @columns 传入包含所有列配置信息的数组。
单个列应当是 [标题,列宽,对齐格式] 格式的数组,对齐格式可省略。
可用不定个数的字符串参数用指定要显示的列文本。
如果参数 @1 为空则清空所有列
参数 @texts 用一个字符串数组指定所有列的显示文本。
如果参数 @texts 为空则清空所有列,
可选用参数 @widths 传入一个数值类型的数组指定各列宽度。
可选用参数 @alignments 传入一个数值类型的数组指定各列对齐样式。
启用树视图指定扩展样式
取消树视图指定扩展样式
设置窗口的焦点到当前控件。
如果要改变控件内部的焦点到某一行,请设置 selIndex 属性
指定LOGFONT字体对象,或逻辑字体句柄
listviewObject.setFont(point=10;name="宋体");
指定图像列表,
可选使用 LVSIL 前缀常量指定类型
listview控件在销毁时将自动销毁最后一次指定的图像列表,
通过替换并且不再使用的图像列表由用户负责销毁
更新项节点,参数为LVITEM结构体或指定部分成员的table对象
如果参数未指定节点序号,则取当前焦点节点序号
成功返回true;
此函数可自动检测非空成员并自动设定相应mask位
绑定数据到指定行。
数据仅与行号关联,与具体的列表项无关。
删除或改变列表项不会修改绑定的数据表。
但清空控件,设置 items 属性都会清除关联的数据表,
调用 setTable 方法也会绑定新的源数据表。
设置图标项坐标
设置状态,参数三如果省略则使用参数二的值.
参数@1为0则设置全部项目,
设置项目指定列文本。
设置的文本如果不是指针或空值则自动转换为字符串。
不指定行序号则默认取当前选中焦点行,
不指定列则默认设为1
设置项目指定列的文本。
参数@1为更新目标指针,
参数@2必须是getNotifyDispInfo函数的返回值
改变父窗口
调整窗口位置或排序,所有参数可选
同时指定x,y坐标则移动位置
同时指定宽高则改变大小
指定插入位置(句柄或_HWND前缀常量)则调整Z序
设置控件区块位置(::RECT结构体)
设置控件屏幕区块位置(::RECT结构体)
禁止重绘
恢复重绘
选中项,注意是选中列表项而不是勾选复选框
取消选中项,注意是选中而不是勾选复选框
用 listview 控件显示数据表(包含名值对的对象或数组组成的数组)。
此函数会自动清空控件之前的所有项。
如果没有创建任何列,则自动创建标题列。
如果要重新创建列,请先调用 clear 函数并指定参数为 true 以清空原来的列。
参数 @dataTable 指定要加载的数据表。
数据表应当包含行组成的数组。
数据行可以是数组,也可以是名值,值用 tostring 转为文本显示。
可选通过数据表的 fields 字段指定要显示的索引数组(键名或索引数值)。
如果视图控件的标题列为空,则用显示键名(或数组值)创建标题列。
如果数据行为数组,第一行填充到标题列以后,默认从第二行加载数据。
可用 startIndex 属性或元属性自定义要加载的起始行。
可用 length 属性自定义要加载的行数,默认加载所有行。
sqlite,access,sqlServer 等数据库对象,
提供的 getTable 函数可获取通过 fields 字段指定列名数组的数据表。
设置排列显示相关属性
显示控件
外观主题,例如
winform.button.theme = "Explorer"
winform.button.theme = false
开启此控件的跨线程调用功能
顶部坐标
允许转发转发子窗口的命令(_WM_COMMAND)与通知(_WM_NOTIFY)消息,
避免子窗口 oncommand,onnotify 等回调失效。
同时会处理子窗口的 _WM_CTLCOLORSTATIC 等消息,
以避免部分外观属性失效
窗口是否有效,
窗口未关闭返回 true ,
窗口已关闭或正在关闭返回 false
返回或设置包含所有列表项的数组。
数组的每个元素表示一行数据,每行都是包含所有列文本的字符串数组。
赋值时也可以传入字符串数组,仅设置每行的第一列文本。
读取取属性返回的也是嵌套数组,并有一个可选字段 checked 包含了所有勾选的行
宽度
listviewObject.wndproc = function(hwnd,message,wParam,lParam){
/*窗口消息回调,返回任意非null值阻止默认回调
wndproc重复赋值时追加函数而不是覆盖之前的回调
设为null添除所有消息回调函数
wndproc也可以是一个表,键要为处理的消息,值为对应的消息回调函数*/
}
鼠标指向项的行号
没有使用则为0
鼠标指向项的列序号
没有使用则为0
附加参数
类似LVITEM结构体中的mask成员
以LVIF_前缀的常量标明改变的属性
改变后状态
由_LVIS_作为前缀的常量指定
改变前状态
由_LVIS_作为前缀的常量指定
clrFace
文字颜色
文字背景色
dwItemType
iIconEffect
iIconPhase
iPartId
iStateId
列序号
绘图状态
行序号
设置句柄
自定义数据,LPARAM 参数
状态值,例如 _CDIS_FOCUS
对齐
更新数据
文本缓冲区长度
宽度
样式
图像索引
序号
列号
掩码;
文本指针
注意该值是指针类型而不是字符串类型
转换为字符串必须首先判断mask包含4/*_LVCF_TEXT*/
列数目
文本长度
组ID
图像索引
缩进
行
列
附加值
掩码
状态码
状态掩码
文本指针
注意该值是指针类型而不是字符串类型
转换为字符串必须首先判断mask是否包含1/*_LVIF_TEXT*/
行数
tileviewinfoObject.dwFlags = _LVTVIF ;
tileviewinfoObject.dwMask = _LVTVIM ;
_CDIS_CHECKED=8
_CDIS_DEFAULT=0x20
_CDIS_DISABLED=4
_CDIS_FOCUS=0x10
_CDIS_GRAYED=2
_CDIS_HOT=0x40
_CDIS_INDETERMINATE=0x100
_CDIS_MARKED=0x80
_CDIS_SELECTED=1
_CDIS_SHOWKEYBOARDCUES=0x200
_LVCFMT_BITMAP_ON_RIGHT=0x1000
_LVCFMT_CENTER=2
_LVCFMT_COL_HAS_IMAGES=0x8000
_LVCFMT_FILL=0x200000
_LVCFMT_FIXED_RATIO=0x80000
_LVCFMT_FIXED_WIDTH=0x100
_LVCFMT_IMAGE=0x800
_LVCFMT_JUSTIFYMASK=3
_LVCFMT_LEFT=0x0
_LVCFMT_LINE_BREAK=0x100000
_LVCFMT_NO_DPI_SCALE=0x40000
_LVCFMT_NO_TITLE=0x800000
_LVCFMT_RIGHT=1
_LVCFMT_SPLITBUTTON=0x1000000
_LVCFMT_TILE_PLACEMENTMASK=0x300000
_LVCFMT_WRAP=0x400000
_LVCF_DEFAULTWIDTH=0x80
_LVCF_FMT=1
_LVCF_IDEALWIDTH=0x100
_LVCF_IMAGE=0x10
_LVCF_MINWIDTH=0x40
_LVCF_ORDER=0x20
_LVCF_SUBITEM=8
_LVCF_TEXT=4
_LVCF_WIDTH=2
_LVFI_NEARESTXY=0x40
_LVFI_PARAM=1
_LVFI_STRING=2
_LVFI_SUBSTRING=4
_LVFI_WRAP=0x20
_LVHT_ABOVE=8
_LVHT_BELOW=0x10
_LVHT_NOWHERE=1
_LVHT_ONITEM=0xE
_LVHT_ONITEMICON=2
_LVHT_ONITEMLABEL=4
_LVHT_ONITEMSTATEICON=8
_LVHT_TOLEFT=0x40
_LVHT_TORIGHT=0x20
_LVIF_COLFMT=0x10000
_LVIF_COLUMNS=0x200
_LVIF_GROUPID=0x100
_LVIF_IMAGE=2
_LVIF_INDENT=0x10
_LVIF_NORECOMPUTE=0x800
_LVIF_PARAM=4
_LVIF_STATE=8
_LVIF_TEXT=1
_LVIR_BOUNDS=0
_LVIR_ICON=1
_LVIR_LABEL=2
_LVIR_SELECTBOUNDS=3
_LVIS_ACTIVATING=0x20
_LVIS_CUT=4
_LVIS_DROPHILITED=8
_LVIS_FOCUSED=1
_LVIS_GLOW=0x10
_LVIS_OVERLAYMASK=0xF00
_LVIS_SELECTED=2
_LVIS_STATEIMAGEMASK=0xF000
_LVM_APPROXIMATEVIEWRECT=0x1040
_LVM_ARRANGE=0x1016
_LVM_CANCELEDITLABEL=0x10B3
_LVM_CREATEDRAGIMAGE=0x1021
_LVM_DELETEALLITEMS=0x1009
_LVM_DELETECOLUMN=0x101C
_LVM_DELETEITEM=0x1008
_LVM_EDITLABEL=0x1017
_LVM_ENABLEGROUPVIEW=0x109D
_LVM_ENSUREVISIBLE=0x1013
_LVM_FINDITEM=0x100D
_LVM_FIRST=0x1000
_LVM_GETBKCOLOR=0x1000
_LVM_GETBKIMAGE=0x1045
_LVM_GETCALLBACKMASK=0x100A
_LVM_GETCOLUMN=0x1019
_LVM_GETCOLUMNORDERARRAY=0x103B
_LVM_GETCOLUMNW=0x105F
_LVM_GETCOLUMNWIDTH=0x101D
_LVM_GETCOUNTPERPAGE=0x1028
_LVM_GETEDITCONTROL=0x1018
_LVM_GETEMPTYTEXT=0x10CC
_LVM_GETEXTENDEDLISTVIEWSTYLE=0x1037
_LVM_GETFOCUSEDGROUP=0x105D
_LVM_GETFOOTERINFO=0x10CE
_LVM_GETFOOTERITEM=0x10D0
_LVM_GETFOOTERITEMRECT=0x10CF
_LVM_GETFOOTERRECT=0x10CD
_LVM_GETGROUPCOUNT=0x1098
_LVM_GETGROUPINFO=0x1095
_LVM_GETGROUPINFOBYINDEX=0x1099
_LVM_GETGROUPMETRICS=0x109C
_LVM_GETGROUPRECT=0x1062
_LVM_GETGROUPSTATE=0x105C
_LVM_GETHEADER=0x101F
_LVM_GETHOTCURSOR=0x103F
_LVM_GETHOTITEM=0x103D
_LVM_GETHOVERTIME=0x1048
_LVM_GETIMAGELIST=0x1002
_LVM_GETINSERTMARK=0x10A7
_LVM_GETINSERTMARKCOLOR=0x10AB
_LVM_GETINSERTMARKRECT=0x10A9
_LVM_GETISEARCHSTRING=0x1034
_LVM_GETITEMCOUNT=0x1004
_LVM_GETITEMINDEXRECT=0x10D1
_LVM_GETITEMPOSITION=0x1010
_LVM_GETITEMRECT=0x100E
_LVM_GETITEMSPACING=0x1033
_LVM_GETITEMSTATE=0x102C
_LVM_GETITEMTEXT=0x1073
_LVM_GETITEMW=0x104B
_LVM_GETNEXTITEM=0x100C
_LVM_GETNEXTITEMINDEX=0x10D3
_LVM_GETNUMBEROFWORKAREAS=0x1049
_LVM_GETORIGIN=0x1029
_LVM_GETOUTLINECOLOR=0x10B0
_LVM_GETSELECTEDCOLUMN=0x10AE
_LVM_GETSELECTEDCOUNT=0x1032
_LVM_GETSELECTIONMARK=0x1042
_LVM_GETSTRINGWIDTH=0x1011
_LVM_GETSUBITEMRECT=0x1038
_LVM_GETTEXTBKCOLOR=0x1025
_LVM_GETTEXTCOLOR=0x1023
_LVM_GETTILEINFO=0x10A5
_LVM_GETTILEVIEWINFO=0x10A3
_LVM_GETTOOLTIPS=0x104E
_LVM_GETTOPINDEX=0x1027
_LVM_GETUNICODEFORMAT=0x2006
_LVM_GETVIEW=0x108F
_LVM_GETVIEWRECT=0x1022
_LVM_GETWORKAREAS=0x1046
_LVM_HASGROUP=0x10A1
_LVM_HITTEST=0x1012
_LVM_INSERTCOLUMN=0x1061
_LVM_INSERTGROUP=0x1091
_LVM_INSERTGROUPSORTED=0x109F
_LVM_INSERTITEM=0x104D
_LVM_INSERTMARKHITTEST=0x10A8
_LVM_ISGROUPVIEWENABLED=0x10AF
_LVM_ISITEMVISIBLE=0x10B6
_LVM_MAPIDTOINDEX=0x10B5
_LVM_MAPINDEXTOID=0x10B4
_LVM_MOVEGROUP=0x1097
_LVM_MOVEITEMTOGROUP=0x109A
_LVM_REDRAWITEMS=0x1015
_LVM_REMOVEALLGROUPS=0x10A0
_LVM_REMOVEGROUP=0x1096
_LVM_SCROLL=0x1014
_LVM_SETBKCOLOR=0x1001
_LVM_SETBKIMAGE=0x1044
_LVM_SETCALLBACKMASK=0x100B
_LVM_SETCOLUMN=0x101A
_LVM_SETCOLUMNORDERARRAY=0x103A
_LVM_SETCOLUMNWIDTH=0x101E
_LVM_SETGROUPINFO=0x1093
_LVM_SETGROUPMETRICS=0x109B
_LVM_SETHOTCURSOR=0x103E
_LVM_SETHOTITEM=0x103C
_LVM_SETHOVERTIME=0x1047
_LVM_SETICONSPACING=0x1035
_LVM_SETIMAGELIST=0x1003
_LVM_SETINFOTIP=0x10AD
_LVM_SETINSERTMARK=0x10A6
_LVM_SETINSERTMARKCOLOR=0x10AA
_LVM_SETITEMCOUNT=0x102F
_LVM_SETITEMINDEXSTATE=0x10D2
_LVM_SETITEMPOSITION=0x100F
_LVM_SETITEMPOSITION32=0x1031
_LVM_SETITEMSTATE=0x102B
_LVM_SETITEMTEXT=0x1074
_LVM_SETITEMW=0x104C
_LVM_SETOUTLINECOLOR=0x10B1
_LVM_SETSELECTEDCOLUMN=0x108C
_LVM_SETSELECTIONMARK=0x1043
_LVM_SETTEXTBKCOLOR=0x1026
_LVM_SETTEXTCOLOR=0x1024
_LVM_SETTILEINFO=0x10A4
_LVM_SETTILEVIEWINFO=0x10A2
_LVM_SETTOOLTIPS=0x104A
_LVM_SETUNICODEFORMAT=0x2005
_LVM_SETVIEW=0x108E
_LVM_SETWORKAREAS=0x1041
_LVM_SORTGROUPS=0x109E
_LVM_SORTITEMS=0x1030
_LVM_SORTITEMSEX=0x1051
_LVM_SUBITEMHITTEST=0x1039
_LVM_UPDATE=0x102A
_LVNI_ABOVE=0x100
_LVNI_ALL=0x0
_LVNI_BELOW=0x200
_LVNI_CUT=4
_LVNI_DIRECTIONMASK=0xF00
_LVNI_DROPHILITED=8
_LVNI_FOCUSED=1
_LVNI_PREVIOUS=0x20
_LVNI_SAMEGROUPONLY=0x80
_LVNI_SELECTED=2
_LVNI_STATEMASK=0xF
_LVNI_TOLEFT=0x400
_LVNI_TORIGHT=0x800
_LVNI_VISIBLEONLY=0x40
_LVNI_VISIBLEORDER=0x10
_LVN_BEGINDRAG=0xFFFFFF93
_LVN_BEGINLABELEDIT=0xFFFFFF97
_LVN_BEGINLABELEDITW=0xFFFFFF51
_LVN_BEGINRDRAG=0xFFFFFF91
_LVN_COLUMNCLICK=0xFFFFFF94
_LVN_COLUMNDROPDOWN=0xFFFFFF5C
_LVN_COLUMNOVERFLOWCLICK=0xFFFFFF5A
_LVN_DELETEALLITEMS=0xFFFFFF98
_LVN_DELETEITEM=0xFFFFFF99
_LVN_ENDLABELEDIT=0xFFFFFF96
_LVN_ENDLABELEDITW=0xFFFFFF50
_LVN_FIRST=0xFFFFFF9C
_LVN_GETDISPINFOW=0xFFFFFF4F
_LVN_HOTTRACK=0xFFFFFF87
_LVN_INSERTITEM=0xFFFFFF9A
_LVN_ITEMACTIVATE=0xFFFFFF8E
_LVN_ITEMCHANGED=0xFFFFFF9B
_LVN_ITEMCHANGING=0xFFFFFF9C
_LVN_KEYDOWN=0xFFFFFF65
_LVN_LAST=FFFFFF39
_LVN_MARQUEEBEGIN=0xFFFFFF64
_LVN_ODCACHEHINT=0xFFFFFF8F
_LVN_ODFINDITEM=0xFFFFFF68
_LVN_ODSTATECHANGED=0xFFFFFF8D
_LVN_SETDISPINFO=0xFFFFFF69
_LVN_SETDISPINFOW=0xFFFFFF4E
_LVSIL_GROUPHEADER=3
_LVSIL_NORMAL=0
_LVSIL_SMALL=1
_LVSIL_STATE=2
_LVS_ALIGNLEFT=0x800
_LVS_ALIGNMASK=0xC00
_LVS_ALIGNTOP=0x0
_LVS_AUTOARRANGE=0x100
_LVS_EDITLABELS=0x200
_LVS_EX_AUTOAUTOARRANGE=0x1000000
_LVS_EX_AUTOCHECKSELECT=0x8000000
_LVS_EX_AUTOSIZECOLUMNS=0x10000000
_LVS_EX_BORDERSELECT=0x8000
_LVS_EX_CHECKBOXES=4
_LVS_EX_COLUMNOVERFLOW=0x80000000
_LVS_EX_COLUMNSNAPPOINTS=0x40000000
_LVS_EX_DOUBLEBUFFER=0x10000
_LVS_EX_FLATSB=0x100
_LVS_EX_FULLROWSELECT=0x20
_LVS_EX_GRIDLINES=1
_LVS_EX_HEADERDRAGDROP=0x10
_LVS_EX_HEADERINALLVIEWS=0x2000000
_LVS_EX_HIDELABELS=0x20000
_LVS_EX_INFOTIP=0x400
_LVS_EX_JUSTIFYCOLUMNS=0x200000
_LVS_EX_LABELTIP=0x4000
_LVS_EX_MULTIWORKAREAS=0x2000
_LVS_EX_ONECLICKACTIVATE=0x40
_LVS_EX_REGIONAL=0x200
_LVS_EX_SIMPLESELECT=0x100000
_LVS_EX_SINGLEROW=0x40000
_LVS_EX_SNAPTOGRID=0x80000
_LVS_EX_SUBITEMIMAGES=2
_LVS_EX_TRACKSELECT=8
_LVS_EX_TRANSPARENTBKGND=0x400000
_LVS_EX_TRANSPARENTSHADOWTEXT=0x800000
_LVS_EX_TWOCLICKACTIVATE=0x80
_LVS_EX_UNDERLINECOLD=0x1000
_LVS_EX_UNDERLINEHOT=0x800
_LVS_ICON=0x0
_LVS_LIST=3
_LVS_NOCOLUMNHEADER=0x4000
_LVS_NOLABELWRAP=0x80
_LVS_NOSCROLL=0x2000
_LVS_NOSORTHEADER=0x8000
_LVS_OWNERDATA=0x1000
_LVS_OWNERDRAWFIXED=0x400
_LVS_REPORT=1
_LVS_SHAREIMAGELISTS=0x40
_LVS_SHOWSELALWAYS=8
_LVS_SINGLESEL=4
_LVS_SMALLICON=2
_LVS_SORTASCENDING=0x10
_LVS_SORTDESCENDING=0x20
_LVS_TYPEMASK=3
_LVS_TYPESTYLEMASK=0xFC00
_LVTVIF_AUTOSIZE=0x0
_LVTVIF_EXTENDED=4
_LVTVIF_FIXEDHEIGHT=2
_LVTVIF_FIXEDSIZE=3
_LVTVIF_FIXEDWIDTH=1
_LVTVIM_COLUMNS=2
_LVTVIM_LABELMARGIN=4
_LVTVIM_TILESIZE=1