На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

System Palette and Static Colors



Ordinarily, the system palette entries that Windows reserves for static colors cannot be changed. An application can override this default behavior by using the SetSystemPaletteUse function to reduce the number of static color entries and, thereby, increase the number of unused system palette entries. However, because changing the static colors can have an immediate and dramatic effect on all windows on the display, an application should not call SetSystemPaletteUse, unless it has a maximized window and the input focus.

When an application calls SetSystemPaletteUse with the SYSPAL_NOSTATIC value, Windows frees all but two of the reserved entries, allowing those entries to receive new color values when the application subsequently realizes its logical palette. The remaining two static color entries remain reserved and are set to white and black. An application can restore the reserved entries by calling SetSystemPaletteUse with the SYSPAL_STATIC value. It can discover the current system palette usage by using the GetSystemPaletteUse function.

Furthermore, after setting the system palette usage to SYSPAL_NOSTATIC, the application must immediately realize its logical palette, call the GetSysColor function to save the current system color settings, call the SetSysColors function to set the system colors to reasonable values using black and white, and finally send the WM_SYSCOLORCHANGE message to other top-level windows to allow them to be redrawn with the new system colors. When setting system colors using black and white, the application should make sure adjacent or overlapping items, such as window frames and borders, are set to black and white, respectively.

Before the application loses the input focus, closes its window, or terminates, it must immediately call SetSystemPaletteUse with the SYSPAL_STATIC value, realize its logical palette, restore the system colors to their previous values, and send the WM_SYSCOLORCHANGE message. Windows sends a WM_PAINT message to any window that is affected by a system color change. Applications that have brushes using the existing system colors should delete those brushes and recreate them using the new system colors.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Системная Палитра и Статические Цвета



Обычно, системные данные палитры, что Окно резервируется для статических цветов не мочь быть измениться. Приложение может аннулировать это встроенное поведение используя функцию SetSystemPaletteUse, чтобы уменьшать номер статических цветных данных и, этим самым, увеличивать номер неиспользованных системных данных палитры. Тем не менее, поскольку изменяя статические цвета может иметь безотлагательный и драматический эффект во всем окне в показе, приложение не должно называть SetSystemPaletteUse, если это не имеет расширенное окно и входной фокус.

Когда приложение называет SetSystemPaletteUse с величиной SYSPAL_NOSTATIC, Окно освобождает почти два из резервных данных, допускающих те данные, чтобы получать новые цветные величины когда приложение впоследствии реализовывает свою логическую палитру. Остальное два статических цветных данных остается резервным и установлено на белый и черный. Приложение может восстановить резервные данные вызывая SetSystemPaletteUse с величиной SYSPAL_STATIC. Это может обнаружить текущее системное использование палитры используя функцию GetSystemPaletteUse.

Кроме того, после установки системного использования палитры на SYSPAL_NOSTATIC, приложение должно немедленно реализовать свою логическую палитру, вызовите функцию GetSysColor, чтобы сохранять текущую системную цветную обстановку, вызовите функцию SetSysColors, чтобы устанавливать системные цвета в разумные величины, использовавшие черными и белыми, и наконец пошлите сообщение WM_SYSCOLORCHANGE в другое окно верхнего уровня, чтобы позволять им, чтобы быть redrawn с новыми системными цветами. При установке системных цветов, использовавших черными и белыми, приложение должно убедиться смежные или перекрывающие пункты, как например, фреймы окна и границ, установлены на черный и белый, соответственно.

Прежде, чем приложение потеряет входной фокус, закрывает свое окно, или завершается, это должно немедленно вызвать SetSystemPaletteUse с величиной SYSPAL_STATIC, реализуйте свою логическую палитру, восстанавливайте системные цвета в их предшествующие величины и посылайте сообщение WM_SYSCOLORCHANGE. Окно посылает сообщение WM_PAINT в любое окно, которое поражено системным цветным изменением. Приложения, которые имеют щетки, использовавшие существующие системные цвета должно удалить те щетки и воссоздавать их используя новые системные цвета.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz