windows窗体控件之listview列表视图

1.添加标题

winform.listview.gridLines=true;//显示列表线,也可在属性表设置

winform.listview.insertColumn("列标题",列宽,位置,样式)

winform.listview.insertColumn("标题2",列宽,位置,样式)//后加的在前面(若不注明位置)

winform.listview.insertColumn("第一列", 40, 1);

winform.listview.insertColumn("第二列", 40, 2);

2.添加列表项

winform.listview.addItem()//先增加一行才能增加下面的内容

winfrom.listview.setItemText("内容",1,1)//(内容,第一行,第一列)

或直接添加行内容

winform.listview.addItem("内容",位置)//位置可省略,默认count值

3.添加checkbox

winform.listview.setExtended(0x4/*_LVS_EX_CHECKBOXES*/);//设置CHECKBOXES

检索项的选中状态

winform.listview.getChecked(1)//1是索引号,返回指定索引项是否选中

winform.listview.setChecked(1)//选定指定索引项

winform.listview.setChecked(1,false)//取消选中


namespace win.ui.ctrl;

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

import win.ui.ctrl.common;

//_LVM_FIRST [email protected]/*_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*/

if(tvalue.asel===null || tvalue.asel )

tvalue.style |= 0x8/*_LVS_SHOWSELALWAYS*/

}

}

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;

}

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(fmt){

col.mask |= 0x1/*_LVCF_FMT*/

col.fmt = fmt;

}

return ::SendMessageByStruct(owner.hwnd, 0x101B/*_LVM_INSERTCOLUMNA*/,ind-1, col);

}

addItem = function(text, ind, image = -1, state = -1, indent = 0, lparam = 0) {

ind := owner.count + 1;

var item = LVITEM();

item.mask = 0x1/*_LVIF_TEXT*/ | 0x4/*_LVIF_PARAM*/ | 0x2/*_LVIF_IMAGE*/ | 0x8/*_LVIF_STATE*/ | 0x10/*_LVIF_INDENT*/ | 0x200/*_LVIF_COLUMNS*/;

item.iItem = ind-1;

item.iSubItem = 0;

item.pszText = text;

item.iImage = image;

item.state = (state + 1) * 4096;

item.stateMask = 0xF000/*_LVIS_STATEIMAGEMASK*/ | 0x8/*_LVS_SHOWSELALWAYS*/;

item.iIndent = indent;

item.lParam = lparam;

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);

}

items = {

_get = function(){

tab = {};

for(i=1;owner.count )

..table.push(tab,owner.getItemText(i))

return tab;

}

_set = function( v ){

owner.clear()

for(i=1;#v )

owner.addItem(v[i])

}

}

setItemPos = function ( ind,x,y ) {

return ::SendMessageInt(owner.hwnd,0x100F/*_LVM_SETITEMPOSITION*/,ind-1,y*65536+x);

}

setItemState = function(row,state=0,mask){

var item = LVITEM();

item.mask = 0x8/*_LVIF_STATE*/;

item.stateMask = mask===null?state:mask;

item.state = state

return ::SendMessageByStruct(owner.hwnd, 0x102B/*_LVM_SETITEMSTATE*/, row-1, item);

}

getItemState = function(row,mask=0){

return ::SendMessageInt(owner.hwnd, 0x102c/*LVM_GETITEMSTATE*/, row-1,mask)

}

/** 保证显示某一 item **/

ensureVisible = function (row) {

::SendMessageInt(owner.hwnd, 0x1013/*_LVM_ENSUREVISIBLE*/, (row : owner.selIndex) - 1, 0);

}

/** 选中选择框 **/

setSelected = function (row, selected=true) {

return owner.setItemState(row,selected ? 0x2/*_LVIS_SELECTED*/ : 0,0x2/*_LVIS_SELECTED*/ );

}

getSelected = function(row){

return owner.getItemState(row,0x2/*_LVIS_SELECTED*/ ) == 0x2/*_LVIS_SELECTED*/

}

getChecked = function(i){

return ( owner.getItemState(i,0xF000/*LVIS_STATEIMAGEMASK*/) >> 12 ) != 1;

}

setChecked = function(i,v=true){

return owner.setItemState(i,( (v)?2:1 )<<12 ,0xF000/*LVIS_STATEIMAGEMASK*/) ;

}

selIndex = {

_get = function(){

return ::SendMessageInt(owner.hwnd, 0x100C/*_LVM_GETNEXTITEM*/, -1, 0x1/*_LVNI_FOCUSED*/) + 1

}

_set = function( v ){

return owner.setItemState( v,0x1/*_LVNI_FOCUSED*/)

}

};

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.clear() = 清空所有项

!listview.addItem(.(标题,位置) = 位置参数可省略,默认为count值\n返回新增项行号

!listview.setItemText(.(文本,行,列) = 设置项文本

!listview.getItemText(.(行,列,缓冲区长度) = 列默认值为1,缓冲区最大字符数默认为100

!listview.setSelected(__/*项索引*/) = 选中项

!listview.setSelected(__/*项索引*/,false) = 取消选中项

!listview.getSelected(__/*项索引*/) = 指定项是否选中状态

!listview.getChecked(__) = 返回指定索引项是否选中

!listview.setChecked(__) = 选定指定索引项

!listview.setItemState(.(项索引,状态位,掩码) = 设置状态,参数三如果省略则使用参数二的值.

!listview.getItemState(.(项索引,状掩码 ) = 读取状态值

!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.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() = 设置排列显示相关属性

!listview.ensureVisible() = 保证显示选中项

!listview.ensureVisible(__) = 保证显示指定项

?win.ui.ctrl.listview  =!listview.

!tileviewinfo.dwMask = @.dwMask = _LVTVIM__ ;

!tileviewinfo.dwFlags = @.dwFlags = _LVTVIF__ ;

!tileviewinfo.sizeTile = !size.

!tileviewinfo.cLines = 行数

!tileviewinfo.rcLabelMargin = !rect.

?.getTileViewInfo = !tileviewinfo.

[email protected]/*_LVTVIM_TILESIZE*/

[email protected]/*_LVTVIM_COLUMNS*/

[email protected]/*_LVTVIM_LABELMARGIN*/

[email protected]/*_LVTVIF_AUTOSIZE*/

[email protected]/*_LVTVIF_FIXEDWIDTH*/

[email protected]/*_LVTVIF_FIXEDHEIGHT*/

[email protected]/*_LVTVIF_FIXEDSIZE*/

[email protected]/*_LVTVIF_EXTENDED*/

[email protected]/*_LVS_ICON*/

[email protected]/*_LVS_REPORT*/

[email protected]/*_LVS_SMALLICON*/

[email protected]/*_LVS_LIST*/

[email protected]/*_LVS_TYPEMASK*/

[email protected]/*_LVS_SINGLESEL*/

[email protected]/*_LVS_SHOWSELALWAYS*/

[email protected]/*_LVS_SORTASCENDING*/

[email protected]/*_LVS_SORTDESCENDING*/

[email protected]/*_LVS_SHAREIMAGELISTS*/

[email protected]/*_LVS_NOLABELWRAP*/

[email protected]/*_LVS_AUTOARRANGE*/

[email protected]/*_LVS_EDITLABELS*/

[email protected]/*_LVS_OWNERDATA*/

[email protected]/*_LVS_NOSCROLL*/

[email protected]/*_LVS_TYPESTYLEMASK*/

[email protected]/*_LVS_ALIGNTOP*/

[email protected]/*_LVS_ALIGNLEFT*/

[email protected]/*_LVS_ALIGNMASK*/

[email protected]/*_LVS_OWNERDRAWFIXED*/

[email protected]/*_LVS_NOCOLUMNHEADER*/

[email protected]/*_LVS_NOSORTHEADER*/

[email protected]/*_LVS_EX_GRIDLINES*/

[email protected]/*_LVS_EX_SUBITEMIMAGES*/

[email protected]/*_LVS_EX_CHECKBOXES*/

[email protected]/*_LVS_EX_TRACKSELECT*/

[email protected]/*_LVS_EX_HEADERDRAGDROP*/

[email protected]/*_LVS_EX_FULLROWSELECT*/

[email protected]/*_LVS_EX_ONECLICKACTIVATE*/

[email protected]/*_LVS_EX_TWOCLICKACTIVATE*/

[email protected]/*_LVS_EX_FLATSB*/

[email protected]/*_LVS_EX_REGIONAL*/

[email protected]/*_LVS_EX_INFOTIP*/

[email protected]/*_LVS_EX_UNDERLINEHOT*/

[email protected]/*_LVS_EX_UNDERLINECOLD*/

[email protected]/*_LVS_EX_MULTIWORKAREAS*/

[email protected]/*_LVS_EX_LABELTIP*/

[email protected]/*_LVS_EX_BORDERSELECT*/

[email protected]/*_LVS_EX_DOUBLEBUFFER*/

[email protected]/*_LVS_EX_HIDELABELS*/

[email protected]/*_LVS_EX_SINGLEROW*/

[email protected]/*_LVS_EX_SNAPTOGRID*/

[email protected]/*_LVS_EX_SIMPLESELECT*/

[email protected]/*_LVS_EX_JUSTIFYCOLUMNS*/

[email protected]/*_LVS_EX_TRANSPARENTBKGND*/

[email protected]/*_LVS_EX_TRANSPARENTSHADOWTEXT*/

[email protected]/*_LVS_EX_AUTOAUTOARRANGE*/

[email protected]/*_LVS_EX_HEADERINALLVIEWS*/

[email protected]/*_LVS_EX_AUTOCHECKSELECT*/

[email protected]/*_LVS_EX_AUTOSIZECOLUMNS*/

[email protected]/*_LVS_EX_COLUMNSNAPPOINTS*/

[email protected]/*_LVS_EX_COLUMNOVERFLOW*/

[email protected]/*_LVM_SETUNICODEFORMAT*/

[email protected]/*_LVM_GETUNICODEFORMAT*/

[email protected]/*_LVM_GETBKCOLOR*/

[email protected]/*_LVM_SETBKCOLOR*/

[email protected]/*_LVM_GETIMAGELIST*/

[email protected]/*_LVM_SETIMAGELIST*/

[email protected]/*_LVM_GETITEMCOUNT*/

[email protected]/*_LVM_GETITEM*/

[email protected]/*_LVM_SETITEM*/

[email protected]/*_LVM_INSERTITEM*/

[email protected]/*_LVM_DELETEITEM*/

[email protected]/*_LVM_DELETEALLITEMS*/

[email protected]/*_LVM_GETCALLBACKMASK*/

[email protected]/*_LVM_SETCALLBACKMASK*/

[email protected]/*_LVM_GETNEXTITEM*/

[email protected]/*_LVM_FINDITEM*/

[email protected]/*_LVM_GETITEMRECT*/

[email protected]/*_LVM_SETITEMPOSITION*/

[email protected]/*_LVM_GETITEMPOSITION*/

[email protected]/*_LVM_GETSTRINGWIDTH*/

[email protected]/*_LVM_HITTEST*/

[email protected]/*_LVM_ENSUREVISIBLE*/

[email protected]/*_LVM_SCROLL*/

[email protected]/*_LVM_REDRAWITEMS*/

[email protected]/*_LVM_ARRANGE*/

[email protected]/*_LVM_EDITLABEL*/

[email protected]/*_LVM_GETEDITCONTROL*/

[email protected]/*_LVM_GETCOLUMN*/

[email protected]/*_LVM_SETCOLUMN*/

[email protected]/*_LVM_INSERTCOLUMNA*/

[email protected]/*_LVM_DELETECOLUMN*/

[email protected]/*_LVM_GETCOLUMNWIDTH*/

[email protected]/*_LVM_SETCOLUMNWIDTH*/

[email protected]/*_LVM_GETHEADER*/

[email protected]/*_LVM_CREATEDRAGIMAGE*/

[email protected]/*_LVM_GETVIEWRECT*/

[email protected]/*_LVM_GETTEXTCOLOR*/

[email protected]/*_LVM_SETTEXTCOLOR*/

[email protected]/*_LVM_GETTEXTBKCOLOR*/

[email protected]/*_LVM_SETTEXTBKCOLOR*/

[email protected]/*_LVM_GETTOPINDEX*/

[email protected]/*_LVM_GETCOUNTPERPAGE*/

[email protected]/*_LVM_GETORIGIN*/

[email protected]/*_LVM_UPDATE*/

[email protected]/*_LVM_SETITEMSTATE*/

[email protected]/*_LVM_GETITEMSTATE*/

[email protected]/*_LVM_GETITEMTEXT*/

[email protected]/*_LVM_SETITEMTEXT*/

[email protected]/*_LVM_SETITEMCOUNT*/

[email protected]/*_LVM_SORTITEMS*/

[email protected]/*_LVM_SETITEMPOSITION32*/

[email protected]/*_LVM_GETSELECTEDCOUNT*/

[email protected]/*_LVM_GETITEMSPACING*/

[email protected]/*_LVM_GETISEARCHSTRING*/

[email protected]/*_LVM_SETICONSPACING*/

[email protected]/*_LVM_GETEXTENDEDLISTVIEWSTYLE*/

[email protected]/*_LVM_GETSUBITEMRECT*/

[email protected]/*_LVM_SUBITEMHITTEST*/

[email protected]/*_LVM_SETCOLUMNORDERARRAY*/

[email protected]/*_LVM_GETCOLUMNORDERARRAY*/

[email protected]/*_LVM_SETHOTITEM*/

[email protected]/*_LVM_GETHOTITEM*/

[email protected]/*_LVM_SETHOTCURSOR*/

[email protected]/*_LVM_GETHOTCURSOR*/

[email protected]/*_LVM_APPROXIMATEVIEWRECT*/

[email protected]/*_LVM_SETWORKAREAS*/

[email protected]/*_LVM_GETWORKAREAS*/

[email protected]/*_LVM_GETNUMBEROFWORKAREAS*/

[email protected]/*_LVM_GETSELECTIONMARK*/

[email protected]/*_LVM_SETSELECTIONMARK*/

[email protected]/*_LVM_SETHOVERTIME*/

[email protected]/*_LVM_GETHOVERTIME*/

[email protected]/*_LVM_SETTOOLTIPS*/

[email protected]/*_LVM_GETTOOLTIPS*/

[email protected]/*_LVM_SORTITEMSEX*/

[email protected]/*_LVM_SETBKIMAGEA*/

[email protected]/*_LVM_GETBKIMAGEA*/

[email protected]/*_LVM_SETSELECTEDCOLUMN*/

[email protected]/*_LVM_SETVIEW*/

[email protected]/*_LVM_GETVIEW*/

[email protected]/*_LVM_INSERTGROUP*/

[email protected]/*_LVM_SETGROUPINFO*/

[email protected]/*_LVM_GETGROUPINFO*/

[email protected]/*_LVM_REMOVEGROUP*/

[email protected]/*_LVM_MOVEGROUP*/

[email protected]/*_LVM_GETGROUPCOUNT*/

[email protected]/*_LVM_GETGROUPINFOBYINDEX*/

[email protected]/*_LVM_MOVEITEMTOGROUP*/

[email protected]/*_LVM_GETGROUPRECT*/

[email protected]/*_LVM_SETGROUPMETRICS*/

[email protected]/*_LVM_GETGROUPMETRICS*/

[email protected]/*_LVM_ENABLEGROUPVIEW*/

[email protected]/*_LVM_SORTGROUPS*/

[email protected]/*_LVM_INSERTGROUPSORTED*/

[email protected]/*_LVM_REMOVEALLGROUPS*/

[email protected]/*_LVM_HASGROUP*/

[email protected]/*_LVM_GETGROUPSTATE*/

[email protected]/*_LVM_GETFOCUSEDGROUP*/

[email protected]/*_LVM_SETTILEVIEWINFO*/

[email protected]/*_LVM_GETTILEVIEWINFO*/

[email protected]/*_LVM_SETTILEINFO*/

[email protected]/*_LVM_GETTILEINFO*/

[email protected]/*_LVM_SETINSERTMARK*/

[email protected]/*_LVM_GETINSERTMARK*/

[email protected]/*_LVM_INSERTMARKHITTEST*/

[email protected]/*_LVM_GETINSERTMARKRECT*/

[email protected]/*_LVM_SETINSERTMARKCOLOR*/

[email protected]/*_LVM_GETINSERTMARKCOLOR*/

[email protected]/*_LVM_SETINFOTIP*/

[email protected]/*_LVM_GETSELECTEDCOLUMN*/

[email protected]/*_LVM_ISGROUPVIEWENABLED*/

[email protected]/*_LVM_GETOUTLINECOLOR*/

[email protected]/*_LVM_SETOUTLINECOLOR*/

[email protected]/*_LVM_CANCELEDITLABEL*/

[email protected]/*_LVM_MAPINDEXTOID*/

[email protected]/*_LVM_MAPIDTOINDEX*/

[email protected]/*_LVM_ISITEMVISIBLE*/

[email protected]/*_LVM_GETEMPTYTEXT*/

[email protected]/*_LVM_GETFOOTERRECT*/

[email protected]/*_LVM_GETFOOTERINFO*/

[email protected]/*_LVM_GETFOOTERITEMRECT*/

[email protected]/*_LVM_GETFOOTERITEM*/

[email protected]/*_LVM_GETITEMINDEXRECT*/

[email protected]/*_LVM_SETITEMINDEXSTATE*/

[email protected]/*_LVM_GETNEXTITEMINDEX*/

[email protected]44/*_LVM_SETBKIMAGE*/

[email protected]/*_LVM_GETBKIMAGE*/

[email protected]/*_LVCF_FMT*/

[email protected]/*_LVCF_WIDTH*/

[email protected]/*_LVCF_TEXT*/

[email protected]/*_LVCF_SUBITEM*/

[email protected]/*_LVCF_IMAGE*/

[email protected]/*_LVCF_ORDER*/

[email protected]/*_LVCF_MINWIDTH*/

[email protected]/*_LVCF_DEFAULTWIDTH*/

[email protected]/*_LVCF_IDEALWIDTH*/

[email protected]/*_LVCFMT_LEFT*/

[email protected]/*_LVCFMT_RIGHT*/

[email protected]/*_LVCFMT_CENTER*/

[email protected]/*_LVCFMT_JUSTIFYMASK*/

[email protected]/*_LVCFMT_IMAGE*/

[email protected]/*_LVCFMT_BITMAP_ON_RIGHT*/

[email protected]/*_LVCFMT_COL_HAS_IMAGES*/

[email protected]/*_LVCFMT_FIXED_WIDTH*/

[email protected]/*_LVCFMT_NO_DPI_SCALE*/

[email protected]/*_LVCFMT_FIXED_RATIO*/

[email protected]/*_LVCFMT_LINE_BREAK*/

[email protected]/*_LVCFMT_FILL*/

[email protected]/*_LVCFMT_WRAP*/

[email protected]/*_LVCFMT_NO_TITLE*/

[email protected]/*_LVCFMT_TILE_PLACEMENTMASK*/

[email protected]/*_LVCFMT_SPLITBUTTON*/

[email protected]/*_LVIF_TEXT*/

[email protected]/*_LVIF_IMAGE*/

[email protected]/*_LVIF_PARAM*/

[email protected]/*_LVIF_STATE*/

[email protected]/*_LVIF_INDENT*/

[email protected]/*_LVIF_NORECOMPUTE*/

[email protected]/*_LVIF_GROUPID*/

[email protected]/*_LVIF_COLUMNS*/

[email protected]/*_LVIF_COLFMT*/

[email protected]/*_LVIS_FOCUSED*/

[email protected]/*_LVIS_SELECTED*/

[email protected]/*_LVIS_CUT*/

[email protected]/*_LVIS_DROPHILITED*/

[email protected]/*_LVIS_GLOW*/

[email protected]/*_LVIS_ACTIVATING*/

[email protected]/*_LVIS_OVERLAYMASK*/

[email protected]/*_LVIS_STATEIMAGEMASK*/

[email protected]/*_LVNI_ALL*/

[email protected]/*_LVNI_FOCUSED*/

[email protected]/*_LVNI_SELECTED*/

[email protected]/*_LVNI_CUT*/

[email protected]/*_LVNI_DROPHILITED*/

[email protected]/*_LVNI_STATEMASK*/

[email protected]/*_LVNI_VISIBLEORDER*/

[email protected]/*_LVNI_PREVIOUS*/

[email protected]/*_LVNI_VISIBLEONLY*/

[email protected]/*_LVNI_SAMEGROUPONLY*/

[email protected]/*_LVNI_ABOVE*/

[email protected]/*_LVNI_BELOW*/

[email protected]/*_LVNI_TOLEFT*/

[email protected]/*_LVNI_TORIGHT*/

[email protected]/*_LVNI_DIRECTIONMASK*/

end intellisense**/

/**intellisense()

[email protected]/*_LVN_FIRST*/

[email protected]/*_LVN_ITEMCHANGING*/

[email protected]/*_LVN_ITEMCHANGED*/

[email protected]/*_LVN_INSERTITEM*/

[email protected]/*_LVN_DELETEITEM*/

[email protected]/*_LVN_DELETEALLITEMS*/

[email protected]/*_LVN_BEGINLABELEDITA*/

[email protected]/*_LVN_BEGINLABELEDITW*/

[email protected]/*_LVN_ENDLABELEDITA*/

[email protected]/*_LVN_ENDLABELEDITW*/

[email protected]/*_LVN_COLUMNCLICK*/

[email protected]/*_LVN_BEGINDRAG*/

[email protected]/*_LVN_BEGINRDRAG*/

[email protected]F/*_LVN_ODCACHEHINT*/

[email protected]/*_LVN_ODFINDITEMA*/

[email protected]/*_LVN_ODFINDITEMW*/

[email protected]/*_LVN_ITEMACTIVATE*/

[email protected]/*_LVN_ODSTATECHANGED*/

[email protected]/*_LVN_ODFINDITEM*/

[email protected]/*_LVN_HOTTRACK*/

[email protected]/*_LVN_GETDISPINFOA*/

[email protected]/*_LVN_GETDISPINFOW*/

[email protected]/*_LVN_SETDISPINFOA*/

[email protected]/*_LVN_SETDISPINFOW*/

[email protected]/*_LVN_BEGINLABELEDIT*/

[email protected]/*_LVN_ENDLABELEDIT*/

[email protected]/*_LVN_GETDISPINFO*/

[email protected]/*_LVN_SETDISPINFO*/

end intellisense**/

时间: 2024-07-29 14:14:33

windows窗体控件之listview列表视图的相关文章

用于列出选项的Windows窗体控件

可以提供选项列表的控件有ListBox.ComboBox.CheckedListBox,如何正确的使用和选择这些控件,下面对此进行讨论.首先对这三种控件的功能分别进行说明: ListBox ListBox用于显示项列表,用户可以从中选择一项或多项.如果项目总数超出可以显式的项目数,则ListBox会自动添加滚动条.当MultiColumn属性为true时,列表框以多列形式显示条目,并且会出现一个水平滚动条.当MultiColumn为false时,列表框以单列形式显示条目,并且会出现一个垂直滚动条

如何跨线程调用Windows窗体控件

通过一个子线程来操作主线程中的控件,但是,这样作会出现一个问题(如图1所示),就是TextBox控件是在主线程中创建的,在子线程中并没有对其进行创建,也就是从不是创建控件的线程访问它.那么,如何解决跨线程调用Windows窗体控件呢?可以用线程委托实现跨线程调用Windows窗体控件.下面将上一个例子进行一下改动.代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using Sys

c#中跨线程调用windows窗体控件

c#中跨线程调用windows窗体控件解决. 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首先来看传统方法: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread thre

c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。

首先来看传统方法: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread thread = new Thread(ThreadFuntion); thread.IsBackground = true; thread.Start(); } private void Thread

c#中如何跨线程调用windows窗体控件?(from www.sysoft.cc)

我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题 首先来看传统方法: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Thread thread = new Thread(ThreadFuntion); t

c#中如何跨线程调用windows窗体控件?

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading; //线程操作引用的命名空间 namespace windowform线程操作 { p

如何 对 Windows 窗体控件进行线程安全调用

//主线程 public delegate void UpdateMessage(string mes); public void UpdatePortMessage(string mes) { this.txtMessage.AppendText(string.Format("Connected {0}. succeed", mes) + "\r\n"); this.txtClientIP.Text = mes; } // 线程1 UpdateMessage up

Qt qml中listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

Qt qml中listview 列表视图控件(下拉刷新.上拉分页.滚动轴) 来源 https://www.cnblogs.com/surfsky/p/4352898.html 设置ListView涉及到将contentsY,即视图的可见部分的顶部,设置y为委托的值.另一个更改是interactive将视图设置为false.这样可以防止视图移动.用户不能再滚动列表或更改当前Item. contentY为列表上拉后列表左上角点距显示框左上解点的高度listView1.height为可显示部分的高度,

Windows Phone 7 LongListSelector控件实现分类列表和字母索引

在wp7手机里面的联系人列表和程序里面里面我们可以看到一个根据字母索引来定位联系人或者应用程序的控件,那么这个控件就是LongListSelector控件了. LongListSelector是一种比ListBox更加强大的列表控件,你可以根据你列表的信息来分类排列,根据类别快速定位到你选中的类别的列表下,在数据量很大的情况下这种分类的优势很明显.LongListSelector可以自定义列表头,列表尾.类表头.列别尾等的样式和数据,可以实现各种个性化的列表样式和不同的数据的展现方式.Windo