怎样做一个自画的CListCtrl控件? 1.www.codeguru.com/listview,好好看看。2.CButton也是窗口,取得CDC,然后SetTextColor( COLORREF crColor ); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 能具体一点吗?我的英语水平有限?能说一下吗?怎样取得CButton的CDC呢?谢谢? 我现在也正在做呵呵,不过刚刚做,你命好。先从CListCtrl继承个类然后将窗口属性加上自画重载drawitem如下还有不明白的来信[email protected]自画很累,不如下载控件。void CMyList::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){ int count; char str[6]; m_widthcollumn=0; for (count=1;count<=m_columnnumber;count++) { sprintf(str,"item %d",lpDrawItemStruct->itemID); CDC * pDC=CDC::FromHandle(lpDrawItemStruct->hDC); pDC->SetBkMode(OPAQUE); if (count>1) { m_rect=lpDrawItemStruct->rcItem; m_rect.left=m_widthcollumn; m_rect.right=m_rect.left+this->GetColumnWidth(count-1); m_widthcollumn=m_rect.right; } else { m_rect=lpDrawItemStruct->rcItem; m_rect.right=m_rect.left+this->GetColumnWidth(count-1); m_widthcollumn=m_rect.right; } if (count==2) { pDC->Rectangle(m_rect); m_bitmap=::LoadBitmap(::AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP1)); CDC pCompDC; pCompDC.CreateCompatibleDC(pDC); pCompDC.SelectObject(m_bitmap); pDC->BitBlt(m_rect.left+1,m_rect.top+1,12,12,&pCompDC,0,0,SRCCOPY); m_rect.left=m_rect.left+16; m_rect.bottom--; m_rect.top++; pDC->DrawText("Check it",5,m_rect,DT_LEFT); } else { pDC->Rectangle(m_rect); m_bitmap=::LoadBitmap(::AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP2)); CDC pCompDC; pCompDC.CreateCompatibleDC(pDC); pCompDC.SelectObject(m_bitmap); pDC->BitBlt(m_rect.left+1,m_rect.top+1,12,12,&pCompDC,0,0,SRCCOPY); m_rect.left=m_rect.left+16; m_rect.bottom--; m_rect.top++; pDC->DrawText(str,6,m_rect,DT_LEFT); } }} 如何设置CListCtl中平滑滚动条 Win7 home 版禁止窗口最大化 一个关于Scroll bar 的问题 西行漫记(带链接) 如何判断指针类别 我还没有走,公司最近又新改革,一周6天工作制,从A8:30到P5:30,中午休息一个小时,事假100%扣除工资,病假50%扣除当天工资 数据库联接失败 最后的六十分了,还请大家帮帮忙.一个比较急的问题.. 换了台电脑,同一个工程编译时就报stdlib.h各种相关错误 一个没有人能解释的问题。 如何实现IP共享 如何在 .chm 中取得某个打包文件(大放血!)
我的英语水平有限?能说一下吗?
怎样取得CButton的CDC呢?
谢谢?
呵呵,不过刚刚做,你命好。
先从CListCtrl继承个类
然后将窗口属性加上自画
重载drawitem
如下
还有不明白的
来信[email protected]
自画很累,不如下载控件。
void CMyList::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
int count;
char str[6];
m_widthcollumn=0;
for (count=1;count<=m_columnnumber;count++)
{
sprintf(str,"item %d",lpDrawItemStruct->itemID);
CDC * pDC=CDC::FromHandle(lpDrawItemStruct->hDC);
pDC->SetBkMode(OPAQUE);
if (count>1)
{
m_rect=lpDrawItemStruct->rcItem;
m_rect.left=m_widthcollumn;
m_rect.right=m_rect.left+this->GetColumnWidth(count-1);
m_widthcollumn=m_rect.right;
}
else
{
m_rect=lpDrawItemStruct->rcItem;
m_rect.right=m_rect.left+this->GetColumnWidth(count-1);
m_widthcollumn=m_rect.right;
}
if (count==2)
{
pDC->Rectangle(m_rect);
m_bitmap=::LoadBitmap(::AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
CDC pCompDC;
pCompDC.CreateCompatibleDC(pDC);
pCompDC.SelectObject(m_bitmap);
pDC->BitBlt(m_rect.left+1,m_rect.top+1,12,12,&pCompDC,0,0,SRCCOPY);
m_rect.left=m_rect.left+16;
m_rect.bottom--;
m_rect.top++;
pDC->DrawText("Check it",5,m_rect,DT_LEFT); }
else
{
pDC->Rectangle(m_rect);
m_bitmap=::LoadBitmap(::AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP2));
CDC pCompDC;
pCompDC.CreateCompatibleDC(pDC);
pCompDC.SelectObject(m_bitmap);
pDC->BitBlt(m_rect.left+1,m_rect.top+1,12,12,&pCompDC,0,0,SRCCOPY);
m_rect.left=m_rect.left+16;
m_rect.bottom--;
m_rect.top++;
pDC->DrawText(str,6,m_rect,DT_LEFT);
}
}
}