zoukankan      html  css  js  c++  java
  • CListCtrl设置选中行


    原文链接: http://blog.163.com/lejianz@126/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顺序来指定焦点。

     

     

  • 相关阅读:
    三位水仙花数
    常用Json
    毫秒数日前格式化
    常用ajax请求
    T-SQL应用,视图、存储过程、触发器、游标、临时表等
    SQL2-子查询、join查询
    SQL1-(增删改查、常用函数)
    html回车事件
    插入数据,返回最新id
    iframe高度自适应
  • 原文地址:https://www.cnblogs.com/huhu0013/p/4709974.html
Copyright © 2011-2022 走看看