2015-06-18 10 views
1

У меня есть CListCtrl в MFC, где я добавляю набор изображений размером 128x128 пикселей. Теперь я хотел бы добавить 16x16 маленький значок статуса (стиль OK/NOK) к этим изображениям. Как я могу это сделать?Добавить значок статуса в изображение в CListCtrl

+0

Не могли бы вы дать небольшой пример (рисунок или объяснить более), где вы хотите добавить их? – Blacktempel

+1

[Оверлей изображений в списках изображений] (https://msdn.microsoft.com/en-us/library/az91ees4.aspx) на MSDN, по-видимому, является тем, что вам нужно исследовать. (Удалил мой ответ.) – acraig5075

+0

@ acraig5075 эй. Я не могу найти хороший пример на этом и никакой документации вообще, и поэтому я застрял. Можете ли вы дать какие-либо указания? (Пример MSDN для меня не достаточен) – manatttta

ответ

0

Я думаю, что это может не решить вашу проблему, но находится рядом с решением.

CBitmap drawBitmap; 

HICON hicon= m_pImageList->ExtractIcon(ix); 
drawBitmap.Attach(hicon); 

CDC dc; 
dc.CreateCompatibleDC(NULL); 
dc.SetBkMode(TRANSPARENT); 


CPoint pt; 
// do your calculations: pt will be define in what part of the image the icon will appear 
DrawIcon(&dc.GetSafeHdc(), pt.x, pt.y, IDI_YOUR_ICON); 
DeleteDC(dc); 

m_pImageList->Replace(ix, &drawBitmap, (CBitmap*)NULL); 

ix - это индекс того, который вы хотите заменить.

+0

Я могу сказать, что я уже использовал такой подход в реальном приложении. – sergiol

0

Только после публикации предыдущего ответа, я обнаружил, что существует CImageList::SetOverlayImage

+0

Чем ты. Но я не могу найти хороший пример или даже хорошую документацию о том, как это сделать, и поэтому я застрял. – manatttta