CListCtrl设置选中行

原文链接: http://blog.163.com/[email protected]/blog/static/11650292013610103232600/

CListCtrl 设置选中状态

1. 使用CListCtrl的函数SetItemState(int nItem, UINT nState, UINT nMask);

如:
m_list.SetItemState(index,LVNI_FOCUSED | LVIS_SELECTED, LVNI_FOCUSED | LVIS_SELECTED); //设置行index为选中并高亮(如果未设置Focuse,被选中行会变为灰色)
state 字段就是设置item 的状态。 stateMask是设置影响到的状态。
这样要修改 item 状态,就不需要先获取每个状态值,只需要在 stateMask 中指定要修改的某个或者某几个状态即可。
例如这里要修改LVIS_SELECTED状态,只需要将 item 的 state 和 stateMask 都设置为LVIS_SELECTED ,
如果stateMask没有LVIS_SELECTED,则state中的LVIS_SELECTED也不生效。

2. 另外,要使被选中行高亮显示,除了将item 的 state 和 stateMask 都设置LVNI_FOCUSED之外,还要将List Control控件的Always show selection属性设置为TRUE(默认为FALSE,也就是说当前选择的 item 在控件非激活状态下是不显示选中行的)。

3. 经过以上修改,在打开对话框之后,指定item在List Control控件中显示为选中状态,但是背景色是灰色,因为打开的对话框焦点不在List Control控件上,
因此需要在对话框类的OnInitDialog()中加一句m_list.SetFocus(),同时将return TRUE改为return FALSE来指示窗口不按照Tab顺序来指定焦点。

时间: 2024-08-02 13:37:35

CListCtrl设置选中行的相关文章

jquery easyui datagrid 在翻页以后仍能记录被选中的行及刷新设置选中行数据

//easyUI的datagrid在复选框多选时,如何在翻页以后仍能记录被选中的行://注意datagrid中需要配置idField属性,一般为数据的主键 $.ajax({ type: 'GET', url:url, async:false, success: function (dt) { var grid = $('#list'); grid.datagrid('reload');//刷新表格数据 grid.datagrid({ onLoadSuccess:function(){ grid.

C#winform的datagridview设置选中行

this.dataGridView1.CurrentCell = this.dataGridView1[colIndex, rowIndex];this.dataGridView1.BindingContext[this.dataGridView1.DataSource].Position = 5; 当指定Cell所在的列被用户动态设置了隐藏,第一种方法会报错. 第二种应该是万能的. 参考:https://bbs.csdn.net/topics/120043076 原文地址:https://ww

eazyUI 修改datagrid选中行默认背景色

<style> .datagrid-row-selected { background: #D1EEEE; color: #fff; } </style> 在html代码中,加入这段CSS样式,重新设置选中行背景色即可

easyui的datagrid获取选中行

注意设置idfield="id",这里的id要和下面field的id保持一致,而且要保证唯一性. easyui的datagrid获取选中行,布布扣,bubuko.com

浅谈Notepad++选中行操作+快捷键+使用技巧【超详解】

Notepad++选中行操作 快捷键 使用技巧 用Notepad++写代码,要是有一些重复的代码想copy一下,还真不容易,又得动用鼠标,巨烦人.... 有木有简单的方法呢,确实还是有的不过也不算太好用. 主要是应用键盘上的 Home 键 和 End 键. 鼠标光标停留在一行的某处,按 Home 键光标会跳到行首,按End键光标会跳到行尾. 鼠标光标停留在行尾,按 Shift + Home 选中一行. 鼠标光标停留在行首,按 Shift + End 选中一行. 鼠标光标停留在类中某处,按 Shi

winform编程设定listview选中行

在做项目中,需要用到listview显示数据.同时,项目要求,通过检索用户输入的数据,程序通过搜索,确定数据所在的行并通过程序设定为选中状态并高亮显示.同时,正常响应鼠标单击响应的效果,单击时,程序设定的选中行清除选中状态.类似的效果如下: 以选中第4行为例,我的实现代码如下: //更改listView属性 this.listViewUser.GridLines = true;//显示表格线 this.listViewUser.View = View.Details;//显示表格细节 this.

asp.net GridView 表格之选中行

一.GridView 表格之选中行 asp.net选中行的功能最初以为只能通过属性中AllowGenerateSelectButton(运行时是否自动生成选择按钮)来实现,需要点击生成的选择按钮来操作,但这样使用并是很方便. 经寻找找到了改进办法如下效果 鼠标经过时背景色会改变,选中后可获取响应行的数据 实现方法如下: 首先前台设计属性框中事件绑定RowDataBound(在对时局进行了绑定后激发)事件 后台代码如下: /// <summary> /// 在对数据进行了绑定后激发 /// 主要

通过JS获取页面表格选中行信息

在ASP.NET中表格的显式方法多种多样,有html标签<table></table>,有asp服务器控件GridView,还有Repeater控件等都可以帮我们在页面显式表格信息.GridView控件比较强大,它有自带的属性和方法可以用来对显式的表格数据进行各种操作.但是如果使用传统html标签<table></table>或者是Repeater控件来显式数据,又该如何取到选中行的数据呢.这里我们来介绍一下利用JS来取页面表格数据的方法. 如图所示,我们需

C#——DataGridView选中行,在TextBox中显示选中行的内容

C#--DataGridView选中行,在TextBox中显示选中行的内容,在DataGridView的SelectionChanged实践中设置如下代码 private void dataGridView1_SelectionChanged(object sender, EventArgs e) { int index = dataGridView1.SelectedRows[0].Index; //获取选中行的行号 textBox1.Text = dataGridView1.Rows[ind