Стили окна

Стили окна определяют вид окна. Данные стили используются в основном при создании окна. Но некоторые стили можно попробовать изменить во время работы программы. Стили окна можно комбинировать

Общие стили окна

Стили, применимые почти ко всем окнам

WS_BORDER = &H800000
Окно имеет рамку
WS_CAPTION = &HC00000
Окно имеет заголовак
WS_CHILD = &H40000000
Окно является дочерним
WS_CHILDWINDOW = &H40000000
Аналогично WS_CHILD
WS_CLIPCHILDREN = &H2000000
Запрещает родительскому окну рисовать поверх дочернего окна
WS_CLIPSIBLINGS = &H4000000
Запрещает дочернему окну рисовать поверх другого дочернего окна
WS_DISABLED = &H8000000
Окно заблокировано
WS_DLGFRAME = &H400000
Окно имеет рамку, как у диалогового окна и не имеет заголовка
WS_GROUP = &H20000
Окно является началом группы элементов
WS_HSCROLL = &H100000
Окно имеет горизонтальную полосу прокрутки
WS_ICONIC = &H20000000
Аналогично WS_MINIMIZE
WS_MAXIMIZE = &H1000000
Окно развернуто
WS_MAXIMIZEBOX = &H10000
Имеется кнопка Восстановить в правой части заголовка. Нельзя комбинировать с расширенным стилем WS_EX_CONTEXTHELP. Можно дополнительно определить стиль WS_SYSMENU
WS_MINIMIZE = &H20000000
Окно свернуто
WS_MINIMIZEBOX = &H20000
Окно имеет кнопку Свернуть в правой части заголовка. Нельзя комбинировать с расширенным стилем WS_EX_CONTEXTHELP. Можно дополнительно определить стиль WS_SYSMENU
WS_OVERLAPPED = &H0
По умолчанию создается перекрывающее окно с заголовком и рамкой
WS_OVERLAPPEDWINDOW = &HCF0000
Создается перекрывающее окно с заголовком, изменяющей рамкой, системное меню, кнопки развертывания и сворачивания
WS_POPUP = &H80000000
Всплывающее окно. Нельзя использовать с WS_CHILD
WS_POPUPWINDOW = &H80880000
Всплывающее окно, имеющее рамку и системное меню
WS_SIZEBOX = &H40000
Аналогично WS_THICKFRAME.
WS_SYSMENU = &H80000
Окно имеет системное меню. Можно дополнительно определить стиль WS_CAPTION
WS_TABSTOP = &H10000
Возможно использование клавиши табуляции для получения фокуса
WS_THICKFRAME = &H40000
Окно имеет рамку, позволяющую изменять размеры окна
WS_TILED = &H0
Аналогично WS_OVERLAPPED.
WS_TILEDWINDOW = &HCF0000
Аналогично WS_OVERLAPPEDWINDOW.
WS_VISIBLE = &H10000000
Окно видимо
WS_VSCROLL = &H200000
Окно имеет вертикальную полосу прокрутки

Стили для класса Button

Данные стили можно применять к элементам класса "BUTTON"

BS_3STATE = &H5
Флажок с тремя состояниями: checked, grayed, и cleared.
BS_AUTO3STATE = &H6
Флажок с тремя состояниями. Флажок автоматически меняет свои состояния на следующий при использовании пользователем
BS_AUTOCHECKBOX = &H3
Флажок, автоматически переключаемый при использовании пользователем
BS_AUTORADIOBUTTON = &H9
Переключатель (радиокнопка), автоматически меняет свое состояние. При этом остальные радиокнопки группы сбрасывают свои значения
BS_BITMAP = &H80
Кнопка содержит рисунок
BS_BOTTOM = &H800
Текст расположен в нижней части кнопки
BS_CENTER = &H300
Текст расположен в центре кнопки
BS_CHECKBOX = &H2
Кнопка-флажок
BS_DEFPUSHBUTTON = &H1
Стандартная кнопка
BS_GROUPBOX = &H7
Рамка для группы кнопок
BS_FLAT = &H8000
Плоская кнопка
BS_ICON = &H40
Кнопка содержит значок
BS_LEFT = &H100
Текст в кнопке выравнивается по левому краю
BS_LEFTTEXT = &H20
Текст в радикнопке и кнопке-флажке выравнивается по левому краю
BS_MULTILINE = &H2000
Многострочные текст
BS_NOTIFY = &H4000
Кнопка посылает уведомление о получении фокуса родительскому окну
BS_OWNERDRAW = &HB
Перерисовка кнопки приложением. Нельзя комбинировать с другими стилями
BS_PUSHBUTTON = &H0
Обычная кнопка
BS_PUSHLIKE = &H1000
Флажок и радиокнопка выглядят как обычная кнопка
BS_RADIOBUTTON = &H4
Радиокнопка
BS_RIGHT = &H200
Текст выравнивается по правому краю
BS_RIGHTBUTTON = &H20
Аналогично BS_LEFTTEXT.
BS_TEXT = &H0
Кнопка содержит текст
BS_TOP = &H400
Текст выводится по верхнему краю кнопки
BS_USERBUTTON = &H8
Устаревший стили; используйте BS_OWNERDRAW
BS_VCENTER = &HC00
Текст выравнивается в центре кнопки по вертикали

Стили Combo Box

Стили, применимые к элементу "COMBOBOX"

CBS_AUTOHSCROLL = &H40
Автоматическое прокручивание текста вправо при достижении конца строки
CBS_DISABLENOSCROLL = &H800
Отображение вертикальной полосы прокрутки, даже если она требуется
CBS_DROPDOWN = &H2
Список отображается при щелчке на кнопке раскрытия списка
CBS_DROPDOWNLIST = &H3
Аналогично CBS_DROPDOWN, но при этом пользователь не может менять содержимое выделенной строки
CBS_HASSTRINGS = &H200
Список прорисовывается приложением и содержит строку. Также нужно определить CBS_OWNERDRAWFICED или CBS_OWNERDRAWVARIABLE
CBS_LOWERCASE = &H4000
Текст в списке конвертируется в нижний регистр
CBS_NOINTEGRALHEIGHT = &H400
Произвольный размер списка
CBS_OEMCONVERT = &H80
Текст преобразуется в кодировку OEM
CBS_OWNERDRAWFIXED = &H10
Прорисовка осуществляется приложением
CBS_OWNERDRAWVARIABLE = &H20
Прорисовка осуществляется приложением
CBS_SIMPLE = &H1
Список отображается все время
CBS_SORT = &H100
Автоматическая сортировка строк
CBS_UPPERCASE = &H2000
Текст конвертируется в верхний регистр

Стили класса Edit

ES_AUTOHSCROLL = &H80
Автоматический скроллинг по горизонтали при достижении конца строки
ES_AUTOVSCROLL = &H40
Автоматический скроллинг вверх при нажатии Enter в последней строке
ES_CENTER = &H1
Выравнивание текста по центру
ES_LEFT = &H0
Выравнивание по левому краю. По умолчанию
ES_LOWERCASE = &H10
В процессе печатания все символы автоматически преобразуются в нижний регистр
ES_MULTILINE = &H4
Многострочное текстовое поле
ES_NOHIDESEL = &H100
Не убирать выделение текста при потере фокуса
ES_NUMBER = &H2000
Ввод только чисел
ES_OEMCONVERT = &H400
Текст преобразуется в OEM-кодировку
ES_PASSWORD = &H20
Вместо символов отображаются звездочки. Нельзя использовать с ES_MULTILINE
ES_READONLY = &H800
Пользователь не может редактировать текст
ES_RIGHT = &H2
Выравнивание по правому краю
ES_UPPERCASE = &H8
Автоматическое преобразование символов в верхний регистр
ES_WANTRETURN = &H1000
Вставляет символ перевода строки в многострочное текстовое поле при нажатии ENTER

Стили List Box

LBS_DISABLENOSCROLL = &H1000
Вертикальная полоса прокрутки отображается всегда
LBS_EXTENDEDSEL = &H800
Возможность выделения нескольких строк
LBS_HASSTRINGS = &H40
Прорисовка осуществляется приложением и содержит строки. Также должны быть определены LBS_OWNERDRAWFICED или LBS_OWNERDRAWVARIABLE
LBS_MULTICOLUMN = &H200
Список содержит несколько столбцов
LBS_MULTIPLESEL = &H8
Возможность выбрать несколько строк
LBS_NODATA = &H2000
Для списков, не содержащих данных
LBS_NOINTEGRALHEIGHT = &H100
Возможность изменения размеров списка
LBS_NOREDRAW = &H4
Запрещается обновлять список во время модификации
LBS_NOSEL = &H4000
Нельзя выделить строку
LBS_NOTIFY = &H1
Уведомляет родительское окно о событиях списка
LBS_OWNERDRAWFIXED = &H10
Прорисовка осуществляется приложением
LBS_OWNERDRAWVARIABLE = &H20
Прорисовка осуществляется приложением
LBS_SORT = &H2
Автоматическая сортировка содержимого списка
LBS_STANDARD = &HA00006
Стандартный вид списка
LBS_USETABSTOPS = &H80
Выравнивание по позициям табуляции
LBS_WANTKEYBOARDINPUT = &H400
Список получает ввод с клавиатуры, если имеет фокус

Стили Scroll Bar

SBS_BOTTOMALIGN = &H4
Выравнивание по нижней части полосы прокрутки. Также нужно задать SBS_HORZ
SBS_HORZ = &H0
Горизонтальная полоса прокрутки
SBS_LEFTALIGN = &H2
Выравнивание по левой стороне полосы прокрутки. Также нужно задать SBS_VERT
SBS_RIGHTALIGN = &H4
Выравнивание по правой стороне полосы прокрутки. Также нужно задать SBS_VERT
SBS_SIZEBOX = &H8
Кнопка изменения размеров
SBS_SIZEBOXBOTTOMRIGHTALIGN = &H4
Выравнивание кнопки по нижнему правому углу. Также нужно задать SBS_SIZEBOX
SBS_SIZEBOXTOPLEFTALIGN = &H2
Выравнивание кнопки по верхнему левому углу. Также нужно задать SBS_SIZEBOX
SBS_SIZEGRIP = &H10
Аналогично SBS_SIZEBOX
SBS_TOPALIGN = &H2
Выравнивание по верхнейй стороне полосы прокрутки. Также нужно задать SBS_HORZ
SBS_VERT = &H1
Вертикальная полоса прокрутки

Стили Static

SS_BITMAP = &HE
Изображается картинка, заданная текстом элемента
SS_BLACKFRAME = &H7
Выводит рамку вокруг элемента с таким же цветом, как у рамки окна (по умолчанию - черный)
SS_BLACKRECT = &H4
Элемент управления заполнет таким же цветом, что и окно (по умолчанию - черный)
SS_CENTER = &H1
Текст выравнен по центру
SS_CENTERIMAGE = &H200
Если изображение меньше размера элемента управления, то заполняется свободное место цветом верхнего левого угла изображения
SS_ENDELLIPSIS
Windows NT/2000: Заменяет конец строки точками, если слишком длинный текст
SS_ENHMETAFILE = &HF
Изображается метафайл, заданный текстом элемента
SS_ETCHEDFRAME = &H12
Вывод рамки, используя стиль EDGE_ETCHED функции DrawEdge
SS_ETCHEDHORZ = &H10
Выводится только верх и низ рамки
SS_ETCHEDVERT = &H11
Выводится только левый и правый края рамки
SS_GRAYFRAME = &H8
Выводит рамку вокруг элемента управления со цветом, совпадающим с задним фоном окна (по умолчанию - серый)
SS_GRAYRECT = &H5
Заполняет элемент цветом, совпадающим с задним фоном окна (по умолчанию - серый)
SS_ICON = &H3
Выводит значок, определенный текстом элемента управления
SS_LEFT = &H0
Текст выравнивается по левому краю
SS_LEFTNOWORDWRAP = &HC
Текст выравнивается по левому краю, но без переноса слов
SS_NOPREFIX = &H80
Символ амперсанда(&) не используется в качестве акселератора (подчеркивания следующей буквы), а отображается как символ
SS_OWNERDRAW = &HD
Элемент, прорисовка которого осуществляется приложением
SS_PATHELLIPSIS
Windows NT/2000/XP: Заменяет символы в середине строки точками
SS_REALSIZEIMAGE = &H800
Сохраняет размер картинки, если она больше элемента без масшабирования самого элемента
SS_RIGHT = &H2
Текст выравнивается по правому краю
SS_RIGHTJUST = &H400
Не перемещает нижний правый угол элемента при масшабировании
SS_SIMPLE = &HB
Стандартный прямоугольник, в котором отображается однострочный текст с левым выравниванием
SS_SUNKEN = &H1000
Выводит утопленную рамку вокруг элемента
SS_WHITEFRAME = &H9
Рисует рамку вокруг элемента со цветом фона окон (по умолчанию - белый)
SS_WHITERECT = &H6
Заполняет элемент цветом фона окон
SS_WORDELLIPSIS
Windows NT/2000/XP: Укорачивает текст и добавляет точки

Используется в

GetClassLong, GetWindowLong, SetClassLong, SetWindowLong