#include "common/pch.h"
|
#include "QueueListCtrl.h"
|
|
|
void QueueListCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
|
{
|
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
|
CRect rcItem(lpDrawItemStruct->rcItem);
|
int nItem = lpDrawItemStruct->itemID;
|
LVITEM lvItem;
|
lvItem.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE;
|
lvItem.iItem = nItem;
|
lvItem.iSubItem = 0;
|
lvItem.stateMask = 0xFFFF; // Get all state flags
|
GetItem(&lvItem);
|
|
// »æÖƱ³¾°
|
pDC->FillSolidRect(rcItem, RGB(255, 255, 255)); // ÉèÖñ³¾°ÑÕÉ«
|
|
// »æÖÆÎı¾
|
CString strText = GetItemText(nItem, 0);
|
pDC->SetTextColor(RGB(0, 0, 0)); // ÉèÖÃÎı¾ÑÕÉ«
|
pDC->DrawText(strText, rcItem, DT_LEFT | DT_VCENTER | DT_SINGLELINE);
|
|
// »æÖÆÍ¼±ê£¨Èç¹ûÐèÒª£©
|
if (lvItem.iImage != -1)
|
{
|
CImageList* pImageList = GetImageList(LVSIL_SMALL);
|
if (pImageList)
|
{
|
IMAGEINFO imageInfo;
|
pImageList->GetImageInfo(lvItem.iImage, &imageInfo);
|
CRect rcImage = imageInfo.rcImage;
|
pImageList->Draw(pDC, lvItem.iImage, CPoint(rcItem.left, rcItem.top), ILD_NORMAL);
|
}
|
}
|
}
|