#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); } } }