Проблема - при переключении между прилoжениями в 256 color mode мое окно меняет палитру (берет с активного). Уже перепробовал все - создал палитру, меняю ее по OnPaletteChanged/OnQueryNewPalette, делаю SelectPalette, RealizePalette - ничего не помогает - когда окно активное - все нормально, как только теряет фокус - труба!
Структура OnPaint класическая - создаю контекст CreateCompatibleDC, там все рисую, потом вывожу через BitBlt(....., SRCCOPY).
Похоже как раз там и проблема, т.к. когда рисую непосредственно в контексте окна - все работает (но ужасно мелькает ).
Помогите, народ, второй день бьюсь - на Привет не хожу
Блин! В пору стреляться (256 colors)...
-
- Уже с Приветом
- Posts: 6906
- Joined: 20 Apr 1999 09:01
- Location: Seattle
-
- Уже с Приветом
- Posts: 660
- Joined: 21 Dec 1999 10:01
Re: Блин! В пору стреляться (256 colors)...
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