Следующий код работает должным образом с Delphi 2007. Он берет растровое изображение из списка изображений, рисует красный X над ним и добавляет новое растровое изображение в конец того же списка изображений:
DynBmp:=Graphics.TBitMap.Create;
DynBmp.Transparent:=TRUE;
DynBmp.TransparentMode:=tmFixed;
ImgList.GetBitmap(9, DynBmp);
DynBmp.TransparentColor:=DynBmp.canvas.pixels[0, DynBmp.Height - 1];
DynBmp.Canvas.MoveTo(1, 1);
DynBmp.Canvas.Pen.Style:=psAlternate; //psSolid;
DynBmp.Canvas.Pen.Color:=clRed;
DynBmp.Canvas.Pen.Width:=2;
DynBmp.Canvas.LineTo(DynBmp.Width - 1, DynBmp.Height - 1);
DynBmp.Canvas.MoveTo(DynBmp.Width - 1, 1);
DynBmp.Canvas.LineTo(1, DynBmp.Height - 1);
FErrBmpIdx:=ImgList.AddMasked(DynBmp, DynBmp.TransParentColor);
aResetIcon.ImageIndex:=FErrBmpIdx;
FreeAndNil(DynBmp);
В Delphi 2010, используя тот же код, красный X становится прозрачным X. Что мне нужно добавить / изменить, чтобы он работал, как и ожидалось, в Delphi 2010? Спасибо