posts - 13,  comments - 11,  trackbacks - 0
参考http://www.cppblog.com/hlong/archive/2007/10/26/35217.html

1.先加入LVN_ITEMCHANGED消息及处理函数
2.消息处理函数:
..................
 
 1   NM_LISTVIEW* pNMLV = (NM_LISTVIEW*)pNMHDR;
 2    // TODO: Add your control notification handler code here
 3    if((pNMLV->uOldState & INDEXTOSTATEIMAGEMASK(1)) /* old state : unchecked */ 
 4        && (pNMLV->uNewState & INDEXTOSTATEIMAGEMASK(2)) /* new state : checked */ 
 5        ) 
 6    
 7        TRACE("Item %d is checked\n", pNMLV->iItem); 
 8        ChangeImgage(pNMLV->iItem);
 9    }
 
10    else if((pNMLV->uOldState & INDEXTOSTATEIMAGEMASK(2)) /* old state : checked */ 
11        && (pNMLV->uNewState & INDEXTOSTATEIMAGEMASK(1)) /* new state : unchecked */ 
12        ) 
13    
14        TRACE("Item %d is unchecked\n", pNMLV->iItem); 
15        ChangeImgage(pNMLV->iItem);
16    }
 
17    else 
18    
19        TRACE("Item %d does't change the check-status\n", pNMLV->iItem); 
20    }
 

.................

3...
ChangeImgage...
 1void CWatchServersDlg::ChangeImgage(int iItem)
 2{
 3    if( iItem != -1)
 4    {
 5        LVITEM lv_item;   
 6        memset(&lv_item,0,sizeof(LVITEM));
 7        lv_item.iItem = iItem;
 8        m_list.GetItem(&lv_item);
 9         lv_item.mask = LVIF_IMAGE;
10        if(m_list.GetCheck(iItem))
11         {
12        //勾住时显示图标
13            lv_item.iImage = 1;
14        }

15        else
16        {
17          //没勾住时不显示图标
18            lv_item.iImage = -1;
19        }

20        m_list.SetItem(&lv_item);
21        m_list.Update(iItem); //及时更新状态
22    }

23}

24
posted on 2008-04-27 15:09 冰风谷 阅读(435) 评论(0)  编辑 收藏 引用 所属分类: VC控件

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜