CListCtrl的某一项变灰,不可选中

法尔我给他 2009-08-20 11:28:05
如何使CListCtrl的某一项变灰,不可选中.
要代码,或者例子!只有原理看不明白!
谢谢!
...全文
829 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
狮子小宝 2010-09-06
  • 打赏
  • 举报
回复
同求解决方法
MoXiaoRab 2009-08-20
  • 打赏
  • 举报
回复
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
//这样貌似也行,简单点
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
m_ListCtrl.SetItemState(pNMListView->iItem, 0,-1);

}
*pResult = 0;
}
MoXiaoRab 2009-08-20
  • 打赏
  • 举报
回复
添加listctrl控件的NM_CLICK消息相应函数
void CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{

DWORD dwPos = GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos) );

m_list.ScreenToClient(&point);

LVHITTESTINFO lvinfo;
lvinfo.pt = point;
lvinfo.flags = LVHT_ABOVE;

int nItem = m_list.SubItemHitTest(&lvinfo);
if(nItem != -1)
{
CString strtemp;
m_ListCtrl.SetItemState(nItem, 0,-1);
}
}
法尔我给他 2009-08-20
  • 打赏
  • 举报
回复
是的,只要满足条件,就一直是灰色不可选中的
danxuezx 2009-08-20
  • 打赏
  • 举报
回复
我做过一个窗口上某个按钮在某条件下变灰选然后在另一条件下又可选的效果。对于CListCtrl中的某一项灰选没试验过。另外问一下您是一直让它灰选吗?
法尔我给他 2009-08-20
  • 打赏
  • 举报
回复
我想在CListCtrl加载数据的时候,如果满足条件,该行就不可选中,并且颜色变灰,
我看网上的例子,好像是按规律变色的呀!

或者是需要单独调用什么其他的函数呀?

在OnCustomDraw(NMHDR* pNMHDR, LRESULT* pResult)函数中,如何确定是否满足条件,或者
在程序加载数据的过程中,如果条件满足,如何调用函数,使其改变颜色!

我菜到了极点,希望大大们能耐心的给点详细的方法或例子!
谢谢!
zyq1600356618 2009-08-20
  • 打赏
  • 举报
回复
mark
MoXiaoRab 2009-08-20
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090622/16/5123b597-b302-4001-bb43-20ffaa139eb8.html

改变颜色
churenxh 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tr0j4n 的回复:]
C/C++ codevoid CTest6Dlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{//这样貌似也行,简单点 NM_LISTVIEW* pNMListView= (NM_LISTVIEW*)pNMHDR;if(pNMListView->iItem!=-1)
{
m_ListC¡­
[/Quote]
使得无效后
CRect rcBounds;
m_ListCtrl.GetItemRect(2,rcBounds, LVIR_LABEL) ;//取得选取行区域的大小
然后绘上灰色的背景
法尔我给他 2009-08-20
  • 打赏
  • 举报
回复
在自绘里怎么取得isubitem的字符串呀,我是根据isubitem 的内容来判断否设置灰色

我看到有个方法是调用redrawitem,不过没看懂,不知道是什么意思呀!
大大如果有方法就给个代码,谢谢!
MoXiaoRab 2009-08-20
  • 打赏
  • 举报
回复
设颜色的话需要自绘,麻烦的很
法尔我给他 2009-08-20
  • 打赏
  • 举报
回复
谢谢Tr0j4n大大,
大大的方法好像只是不选中吧,怎么设置颜色成灰色呀?


谢谢了!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧