A
So, nach etwas hin und her probieren habe ich das jetzt wie folgt lauffähig bekommen (habe nur ILC_MASK gegen ILC_COLOR getauscht):
CImageList ImageList;
ImageList.Create(64, 64, ILC_COLOR, 5, 0);
ImageList.Add((HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_GREEN_ICON), IMAGE_ICON, 32, 32, LR_LOADTRANSPARENT));
ImageList.Add((HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_YELLOW_ICON), IMAGE_ICON, 32, 32, LR_LOADTRANSPARENT));
ImageList.Add((HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ORANGE_ICON), IMAGE_ICON, 32, 32, LR_LOADTRANSPARENT));
ImageList.Add((HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_RED_ICON), IMAGE_ICON, 32, 32, LR_LOADTRANSPARENT));
ImageList.Add((HICON)LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_GRAY_ICON), IMAGE_ICON, 32, 32, LR_LOADTRANSPARENT));
switch (m_Faelligkeitendialog.GetState_Bahnzugmesssystem())
{
case GRUEN:
ImageList.Draw(pDC, 0, CPoint(Druckbereich.left + 570, Druckbereich.top - 2100 - 16), ILD_TRANSPARENT);
break;
case GELB:
ImageList.Draw(pDC, 1, CPoint(Druckbereich.left + 570, Druckbereich.top - 2100 - 16), ILD_TRANSPARENT);
break;
case ORANGE:
ImageList.Draw(pDC, 2, CPoint(Druckbereich.left + 570, Druckbereich.top - 2100 - 16), ILD_TRANSPARENT);
break;
case ROT:
ImageList.Draw(pDC, 3, CPoint(Druckbereich.left + 570, Druckbereich.top - 2100 - 16), ILD_TRANSPARENT);
break;
default:
ImageList.Draw(pDC, 4, CPoint(Druckbereich.left + 570, Druckbereich.top - 2100 - 16), ILD_TRANSPARENT);
}