Так вот в чем дело. Спасибо. Никогда бы не догадался искать ошибку в DATA.INCФоновый цвет накладывается только на первые 29 иконок. Лучше вообще не использовать такие константы, а определять их прямо из изображения - Image.Width и Image.Height.
Тоже спасибо, не знал.Так делать не стоит, деление - медленная операция, размер такого кода тоже больше, чем мог бы быть. На степени двойки можно делить сдвигом вправо: деление на 2 эквивалентно