【问题标题】:Add status icon to image in CListCtrl向 CListCtrl 中的图像添加状态图标
【发布时间】:2015-09-04 00:06:51
【问题描述】:

我在 MFC 中有一个 CListCtrl,我在其中附加了一组 128x128 像素的图像。现在我想在这些图像上附加一个 16x16 的小状态图标(OK/NOK 样式)。我该怎么做?

【问题讨论】:

  • 你能举一个小例子(图片或解释更多)你想附加它们吗?
  • MSDN 上的 Image Overlays in ImageLists 似乎是您需要调查的内容。 (删除了我的答案。)
  • @acraig5075 嘿,我找不到任何好的例子,也找不到任何文档,因此我被卡住了。能给点指导吗? (MSDN 示例至少对我来说还不够)

标签: c++ mfc clistctrl


【解决方案1】:

我认为这可能无法解决您的问题,但已接近解决方案。

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 是您要替换的索引。

【讨论】:

  • 我可以说我已经在实际应用中使用过这样的方法。
【解决方案2】:

刚刚发布了之前的答案,我发现它存在CImageList::SetOverlayImage

【讨论】:

  • 比你。但是我找不到任何好的例子,甚至找不到任何好的文档来说明如何做到这一点,因此我被困住了。
猜你喜欢
  • 2023-03-18
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多