Стили класса
Стили класса определяют дополнительные элементы класса окна. Два или несколько стилей могут быть объединены, используя побитовый оператор ИЛИ (OR) (|). Чтобы назначить стиль для класса окна, установите этот стиль в члене style структуры WNDCLASSEX. Стили класса следуют ниже.
Стиль | Действие |
---|---|
CS_BYTEALIGNCLIENT | Выравнивает рабочую область окна по границе байта (по направлению x). Этот стиль влияет на на ширину окна и его горизонтальное размещение при выводе на экран. |
CS_BYTEALIGNWINDOW | Выравнивает окно по границе байта (по x направлению). Этот стиль влияет на на ширину окна и его горизонтальное размещение при выводе на экран. |
CS_CLASSDC | Назначает единый контекст устройства, который совместно используется всеми окнами в классе. Поскольку классы окна - это специальный процесс, то имеется возможность создать окно одного и того же класса для нескольких потоков приложения. Имеется также возможность для потоков попытаться использовать контекст устройства одновременно. Когда это случается, система позволяет только одному потоку успешно закончить его операцию рисования. |
CS_DBLCLKSit carefully | Отправляет сообщение о двойном щелчке оконной процедуре, когда пользователь щелкает два раза мышью, в то время, когда курсор находится внутри окно, принадлежащего классу. |
CS_DROPSHADOW | Windows XP: Создает эффект падающей тени на окно. Эффект включается и выключается благодаря флажку SPI_SETDROPSHADOW. Как правило, он включается для маленьких, временных окон типа меню, чтобы подчеркнуть их зависимость в Z-последовательности от других окон. |
CS_GLOBALCLASS | Устанавливает, что класс окна - класс глобальной переменной приложения. Дополнительную информацию, см. в статье Классы глобальной переменной приложения. |
CS_HREDRAW | Перерисовывает все окно, если перемещение или регулировка размера изменяют ширину рабочей области. |
CS_NOCLOSE | Отключает кнопку Закрыть (Close) на системном меню окна. |
CS_OWNDC | Назначает уникальный контекст устройства для каждого окна в классе. |
CS_PARENTDC | Устанавливает прямоугольник отсечения дочернего окна его родительского окна так, чтобы дочерний элемент мог рисовать родителя. Окно с битом стиля CS_PARENTDC получает обычный контекст устройства от КЭШа системы контекстов устройства. Кэш не дает дочернему элементу контекст устройства родителя или настройки контекста устройства. Определение CS_PARENTDC увеличивает производительность приложения. |
CS_SAVEBITS | Сохраняет, как точечный
рисунок, часть экранного изображения,
затененного окном этого класса. Когда
окно удаляется, система использует
сохраненный точечный рисунок, чтобы
восстановить экранное изображение,
включая другие окна, которые были
затенены. Поэтому, система не
отправляет сообщения WM_PAINT в окна,
которые были затенены, если память,
используемая точечным рисунком не
сбрасывалась, и если другие экранные
операции не лишили законной силы
сохраненное изображение.
Этот стиль полезен для маленьких окон (например, для меню или диалоговых окон), которые показываются краткосрочно на экране, а затем удаляются до того, как происходит другая экранная деятельность. Этот стиль увеличивает время необходимое, чтобы показать на экране окно, потому что система должна сначала распределить память, чтобы сохранить точечный рисунок. |
CS_VREDRAW | Перерисовывает все окно, если перемещение или регулировка размера изменяют высоту рабочей области. |
О связи классов и контекстов смотри статью