Блин! В пору стреляться (256 colors)...

User avatar
Mic
Уже с Приветом
Posts: 6906
Joined: 20 Apr 1999 09:01
Location: Seattle

Блин! В пору стреляться (256 colors)...

Post by Mic »

Проблема - при переключении между прилoжениями в 256 color mode мое окно меняет палитру (берет с активного). Уже перепробовал все - создал палитру, меняю ее по OnPaletteChanged/OnQueryNewPalette, делаю SelectPalette, RealizePalette - ничего не помогает - когда окно активное - все нормально, как только теряет фокус - труба! :(

Структура OnPaint класическая - создаю контекст CreateCompatibleDC, там все рисую, потом вывожу через BitBlt(....., SRCCOPY).
Похоже как раз там и проблема, т.к. когда рисую непосредственно в контексте окна - все работает (но ужасно мелькает :().
Помогите, народ, второй день бьюсь - на Привет не хожу ;)
Sheriff
Уже с Приветом
Posts: 660
Joined: 21 Dec 1999 10:01

Re: Блин! В пору стреляться (256 colors)...

Post by Sheriff »

Mic wrote:Проблема - при переключении между прилoжениями в 256 color mode мое окно меняет палитру (берет с активного). Уже перепробовал все - создал палитру, меняю ее по OnPaletteChanged/OnQueryNewPalette, делаю SelectPalette, RealizePalette - ничего не помогает - когда окно активное - все нормально, как только теряет фокус - труба! :(

Структура OnPaint класическая - создаю контекст CreateCompatibleDC, там все рисую, потом вывожу через BitBlt(....., SRCCOPY).
Похоже как раз там и проблема, т.к. когда рисую непосредственно в контексте окна - все работает (но ужасно мелькает :().
Помогите, народ, второй день бьюсь - на Привет не хожу ;)


Как обрабатывать WM_PALETTECHANGED и WM_QUERYNEWPALETTE cмотрите здесь:

http://support.microsoft.com/default.as ... n-us;77702

Tакже нужно делать SelectPalette и RealizePalette и для PaintDC и для MemDC в OnPaint.

Прочтите внимательно Remarks здесь от том как правильно выбирать значение для третьего параметра ::SelectPalette:

http://msdn.microsoft.com/library/defau ... s_4u79.asp

Return to “Вопросы и новости IT”