mfc列表控件改变字符串中一部分字符颜色

由于很少用界面对MFC不太熟,所在也参数了一下网络完成了一个自绘clistctrl类,不正确的请指出来。

//MyListCtrl.h

#pragma once
#include "afxcmn.h"


class CMyListCtrl :
public CListCtrl
{
public:
CString m_KeyStr;//要更改颜色的字符串
public:
CMyListCtrl(void);
~CMyListCtrl(void);
void GetKeyStrInfo(CString str);//获得要显示的字符串
protected:
//DECLARE_MESSAGE_MAP()
virtual void PreSubclassWindow();
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
};

//MyListCtrl.cpp

#include "StdAfx.h"
#include "MyListCtrl.h"
#include <vector>
#include <iostream>


CMyListCtrl::CMyListCtrl(void)
{
m_KeyStr = L"";
}


CMyListCtrl::~CMyListCtrl(void)
{
}
void CMyListCtrl::PreSubclassWindow()
{
// TODO: 在此添加专用代码和/或调用基类
ModifyStyle(0,LVS_OWNERDRAWFIXED);
CListCtrl::PreSubclassWindow();
}
//获得要显示的字符串
void CMyListCtrl::GetKeyStrInfo(CString str)
{
     m_KeyStr = str;
}
void CMyListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
TCHAR lpBuffer[256];
LV_ITEM lvi;
LV_COLUMN lvc, lvcprev ;
::ZeroMemory(&lvc, sizeof(lvc));
::ZeroMemory(&lvcprev, sizeof(lvcprev));
lvc.mask = LVCF_WIDTH | LVCF_FMT;
lvcprev.mask = LVCF_WI

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值