День добрый!
Совсем запутался и зашел в тупик. Как правильно создать палитру, применить и работать с ней?
Есть программа, которая должна работать и на ПК, которые отображают только 256 цветов. При рисовании в контексте устройства смотрим:
int cColors = ::GetDeviceCaps(_dc.m_hDC, NUMCOLORS);
если их менее 256, то создаю палитру и пытаюсь ее использовать:
dc.SelectPalette(m_pPal, TRUE); // ок
cColors = dc.RealizePalette(); // = 256
cColors = ::GetDeviceCaps(dc.m_hDC, NUMCOLORS); // = 20 :???:
И никак не могу добиться "чистых" цветов (т.е. областей, залитых одним цветом). Где-то, чего-то я не понял. Перерыл инет. Везде примеры с битмапами. Я же просто в OnPaint отрисовываю контрол (с CMemDC). По идее разницы быть не должно. К сожалению я зашел в тупик, или это мои мысли в неверном направлении работали??

Укажите, плиз, куда смотреть.