Здравствуйте, Michael Chelnokov, Вы писали:
MC>Здравствуйте, ksi, Вы писали:
ksi>>Помогите. Для режима 256 цветов, при загрузке новой системной палитры при активации приложения, функции рисования типа Ellipse, LineTo не видят загруженных цветов, а используют 16 стандартных, тоже делает и функция GetNearestColor. Хотя функция GetSystemPaletteEntries возвращает загруженную палитру правильно.Возможно есть какая-нибудь фишка в винде поэтому поводу?
MC>По поводу палитр там много разных фишек было. К сожалению, давно уже с эти не сталкивался, поэтому сходу сказать не могу. Можете привести куски кода с CreatePalette/AnimatePalette/RealizePalette и т.п.?
Проблема в том, что палитра устанавливается функцией RealizePalette, а при создании Brush с использованием цвета, который точно есть в палитре, и макроса PaletteRGB например
br:CBrush;
br.CreateSolidBrush(PALETTERGB(r,g,b));
получается цвет разбитый на 16 стандартных цветов, а не чистый цвет из палитры.