【第十一章 11.6】列表视图控件Listview -- 编辑列表项
演示:
代码:
// 导入 win.ui 库,用于创建图形界面 import win.ui; /*DSG{{*/ // 创建一个名为 winform 的窗口对象,并设置其属性 var winform = win.form(text="aardio form";right=343;bottom=244;parent=...) // 向窗口中添加控件 winform.add( // 添加"编辑当前选中项"按钮控件,并设置其属性 btnEdit={cls="button";text="编辑当前选中项";left=175;top=191;right=283;bottom=223;z=2}; // 添加列表视图控件,并设置其属性,注意要指定 editable=true 以支持编辑 listview={cls="listview";left=25;top=23;right=310;bottom=182;bgcolor=16777215;edge=1;editable=true;z=1} ) /*}}*/ // 注意在上面的 listview 属性中,一定要指定 editable=true // 向列表视图插入列 winform.listview.insertColumn("测试项",200) // 设置列表视图的项 winform.listview.items = {"鼠标点这里,稍候再点击一次";"鼠标单击选中项则进入编辑模式"} // "编辑当前选中项"按钮的命令事件处理函数 winform.btnEdit.oncommand = function(id,event){ // 触发列表视图编辑当前选中项 winform.listview.editLabel() } // 列表视图的通知处理函数 winform.listview.onnotify = function(id,code,ptr){ // 如果是开始编辑项的通知 if(code = 0xFFFFFF97/*_LVN_BEGINLABELEDIT*/ ){ // 返回 false,允许编辑项 return false; } // 如果是编辑项结束的通知 if( code == 0xFFFFFF50/*_LVN_ENDLABELEDITW*/ ){ // 获取编辑结束的相关信息 var dispInfo = winform.listview.getNotifyDispInfo(code,ptr); // 如果有编辑后的文本 if( dispInfo && dispInfo.item.text ) { // 设置列表视图指定项的文本 winform.listview.setItemText( dispInfo.item.text, dispInfo.item.iItem,dispInfo.item.iSubItem ); } } } // 显示窗口 winform.show() // 启动界面线程消息循环 win.loopMessage();
相关回复
-
暂无评论!