高手指教!怎样改变VC中CListBox中每行文字的背景颜色,使得奇数行和偶数行的背景颜色不同?十万火急啊!!

xuwei904 2010-08-09 01:35:23
高手指教!怎样改变VC中CListBox中每行文字的背景颜色,使得奇数行和偶数行的背景颜色不同?十万火急啊!!比如文字我都用黑色的来显示,但奇数行文字的背景用蓝色;偶数行文字的背景用红色,怎样制作呢?重载CListBox 中的DrawItem方法,又该怎么重载呢?谢谢啦!!!
...全文
145 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuwei904 2010-09-17
  • 打赏
  • 举报
回复
谢谢大家的帮助,由于生了场大病,所有暂时先搁下了,不好意思这么长时间才结贴,谢谢啦
向立天 2010-09-04
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
hurryboylqs 2010-08-09
  • 打赏
  • 举报
回复
这个简单啊,大概这样画

void CMyListBox::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{

COLORREF clrItemText;
LPDRAWITEMSTRUCT lpDIS = lpDrawItemStruct;
switch ( lpDIS->itemAction )
{
case ODA_SELECT:
case ODA_DRAWENTIRE:
// Is the item selected?
if ( lpDIS->itemState & ODS_SELECTED )
{
clrItemText = GetSysColor( COLOR_HIGHLIGHTTEXT );
// Clear the rectangle
FillRect( lpDIS->hDC, &lpDIS->rcItem, (HBRUSH)(COLOR_ACTIVECAPTION+1) );
}
else
{
clrItemText = GetSysColor( COLOR_WINDOWTEXT );
// Clear the rectangle
FillRect( lpDIS->hDC, &lpDIS->rcItem, (HBRUSH)m_EvenItemBkgBrush);
}
}

if (lpDIS->itemID%2==0)
{
FillRect( lpDIS->hDC, &lpDIS->rcItem, (HBRUSH)m_OddItemBkgBrush);
}
else
{

}
CDC dc;
dc.Attach(lpDIS->hDC);
CRect rectFull = lpDIS->rcItem;
CRect rect2 = rectFull;
rect2.right = rectFull.Width() - 1;
UINT nIndex = lpDIS->itemID;
if (nIndex != (UINT) -1)
{
LOGFONT lf;
dc.GetCurrentFont()->GetLogFont(&lf);
CFont font, *pOldFont;
lf.lfCharSet = SHIFTJIS_CHARSET;
lstrcpy(lf.lfFaceName,_T("MS Mincho"));
lf.lfHeight=50; //
lf.lfWidth=0;
font.CreateFontIndirect(&lf);
pOldFont=dc.SelectObject(&font);
CString sss;
GetText(nIndex,sss);
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(RGB(0,0,0));
dc.DrawText(sss,CRect(rect2.left+3,rect2.top+3, rect2.right-3,rect2.bottom+3), DT_LEFT | DT_SINGLELINE);
dc.SelectObject(pOldFont);
}
dc.Detach();
}
dvlinker 2010-08-09
  • 打赏
  • 举报
回复
帮忙顶一个~

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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