CListCtrl选中颜色更改!

if ( CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage )
 {

     if( m_LCselect.GetItemState(nItem, CDIS_SELECTED) )
    {
     //pLVCD->nmcd.uItemState ^= CDIS_SELECTED;// 也对!
                 pLVCD->nmcd.uItemState &= ~CDIS_SELECTED; //一样是对的
     pLVCD->clrTextBk =RGB(255, 0, 0);
     //pLVCD->clrText   = RGB(0, 0, 255);   
     *pResult = CDRF_NEWFONT;
     //return;
    }

}

 

//英文材料
//          pLVCD->nmcd.uItemState &= ~CDIS_SELECTED;
//          pLVCD->nmcd.uItemState &= ~CDIS_FOCUS;

Clistctrl是MFC中非常常用的控件之一,可以用于显示列表,表格等等。其中一个常用的特性是单行颜色。在列表中,我们可以为每一行添加不同的背景颜色,以区分不同的记录或状态。具体方法如下: 1. 定义一个CListCtrl对象,在对话框资源中添加一个List Control控件。 2. 在OnInitDialog函数中为List Control添加表头,并设置表头的宽度。 3. 在List Control控件中添加行,并为每行设置不同的颜色。我们可以使用CListCtrl::SetItemBkColor函数来设置每行的背景颜色。 4. 在设置颜色时,我们需要为每一行设置相应的参数。可以使用CListCtrl::SetItemData函数为每行设置一个唯一的标识符,用来区分不同的行。 以下代码演示了如何设置List Control控件的单行颜色CListCtrl m_listCtrl; m_listCtrl.Create(WS_VISIBLE|WS_CHILD|LVS_REPORT,CRect(10,50,600,400),this,ID_LISTCTRL); m_listCtrl.InsertColumn(0, _T("Column1"), LVCFMT_LEFT,75); m_listCtrl.InsertColumn(1, _T("Column2"), LVCFMT_LEFT,100); m_listCtrl.InsertColumn(2, _T("Column3"), LVCFMT_LEFT,200); //设置第一行为红色 m_listCtrl.InsertItem(0, _T("First")); m_listCtrl.SetItemBkColor(0, RGB(255, 0, 0)); //设置第二行为绿色 m_listCtrl.InsertItem(1, _T("Second")); m_listCtrl.SetItemBkColor(1, RGB(0, 255, 0)); //设置第三行为蓝色 m_listCtrl.InsertItem(2, _T("Third")); m_listCtrl.SetItemBkColor(2, RGB(0, 0, 255)); 通过以上代码,我们就可以在控件中为每一行添加不同的背景颜色,以便于用户的查看和区分不同记录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值