Стили оконных классов
Стили классов определяют дополнительные элементы класса window. Два или более стилей можно объединить с помощью побитового оператора OR (|). Чтобы назначить стиль классу окна, назначьте стиль члену стиля структуры WNDCLASSEX .
Пример
WNDCLASS wc = {};
wc.lpfnWndProc = s_DropDownWndProc;
wc.cbWndExtra = sizeof(CTipACDialog *);
wc.hInstance = g_hInstance;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.style = CS_SAVEBITS | CS_DROPSHADOW;
wc.lpszClassName = s_wzClassName;
RegisterClass(&wc);
Пример из классических примеров Windows на сайте GitHub.
Константы
Ниже приведены стили класса окна.
Констант/значение | Описание |
---|---|
|
Выравнивает клиентскую область окна по границе байтов (в направлении x). Этот стиль влияет на ширину окна и его горизонтальное размещение на дисплее. |
|
Выравнивает окно по границе байтов (в направлении x). Этот стиль влияет на ширину окна и его горизонтальное размещение на дисплее. |
|
Выделяет один контекст устройства для совместного использования всеми окнами в классе . Так как классы окон зависят от процесса, несколько потоков приложения могут создать окно одного класса. Потоки также могут попытаться одновременно использовать контекст устройства. В этом случае система позволяет успешно завершить операцию рисования только одному потоку. |
|
Отправляет сообщение двойного щелчка в процедуру окна, когда пользователь дважды щелкает мышью, когда курсор находится в окне, принадлежащем классу . |
|
Включает эффект тени для окна. Эффект включается и отключается через SPI_SETDROPSHADOW. Как правило, это включено для небольших, кратковременных окон, таких как меню, чтобы подчеркнуть их связь по Z-заказу с другими окнами. Окна, созданные из класса с этим стилем, должны быть окнами верхнего уровня; они не могут быть дочерними окнами. |
|
Указывает, что класс window является глобальным классом приложения. Дополнительные сведения см. в разделе "Глобальные классы приложения" статьи О классах окон. |
|
Перерисовывает все окно, если изменение размера или перемещение изменяет ширину клиентской области. |
|
Отключает закрыть в меню окна. |
|
Выделяет уникальный контекст устройства для каждого окна в классе . |
|
Задает прямоугольник обрезки дочернего окна в виде прямоугольника родительского окна, чтобы дочерний элемент можно было рисовать на родительском. Окно с битом стиля CS_PARENTDC получает обычный контекст устройства из системного кэша контекстов устройств. Он не предоставляет дочернему элементу контекст устройства или параметры контекста устройства родительского элемента. Указание CS_PARENTDC повышает производительность приложения. |
|
Сохраняет в виде растрового изображения часть изображения экрана, скрытую окном этого класса. При удалении окна система использует сохраненное растровое изображение для восстановления изображения экрана, включая другие окна, которые были скрыты. Таким образом, система не отправляет WM_PAINT сообщения в окна, которые были скрыты, если память, используемая растровым изображением, не была удалена и если другие действия экрана не сделали сохраненное изображение недействительным. Этот стиль полезен для небольших окон (например, меню или диалоговых окон), которые отображаются кратко, а затем удаляются перед выполнением других действий на экране. Этот стиль увеличивает время, необходимое для отображения окна, так как система сначала должна выделить память для хранения растрового изображения. |
|
Перерисовывает все окно, если изменение размера или перемещение изменяет высоту клиентской области. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|