Стили, используемые MFC

Используйте следующие флаги стиля, чтобы указать внешний вид окна или поведение элемента управления при создании соответствующего объекта MFC. В большинстве случаев эти стили задаются в dwStyle параметре функции класса Create .

Стили кнопки

Стили кнопки применяются к CButton Class объектам, таким как переключатели, проверка поля и pushbuttons. Укажите сочетание стилей в параметре dwStyleCButton::Create. Дополнительные сведения о стилях кнопок в Windows см. в разделе "Стили кнопок" (Windows).

Типы кнопок

В следующей таблице перечислены типы кнопок. При необходимости можно выбрать один из следующих вариантов. Если тип кнопки не указан, используется BS_PUSHBUTTONзначение по умолчанию.

Тип Описание
BS_3STATE Создает кнопку проверка поля с тремя состояниями: BST_CHECKED, BST_INDETERMINATEи BST_UNCHECKED. Нажатие кнопки отправляет BN_CLICKED уведомление в окно владельца, но не изменяет состояние кнопки. По умолчанию связанный текст отображается справа от поля проверка. Чтобы отобразить текст слева от поля проверка, используйте BS_LEFTTEXT или BS_RIGHTBUTTON стиль.
BS_AUTO3STATE Создает кнопку проверка поля с тремя состояниями: BST_CHECKED, BST_INDETERMINATEи BST_UNCHECKED. Нажатие кнопки отправляет BN_CLICKED уведомление в окно владельца и изменяет состояние кнопки. Состояние кнопки BST_CHECKEDциклирует в порядке , BST_INDETERMINATEа также BST_UNCHECKED. По умолчанию связанный текст отображается справа от поля проверка. Чтобы отобразить текст слева от поля проверка, используйте BS_LEFTTEXT или BS_RIGHTBUTTON стиль.
BS_AUTOCHECKBOX Создает кнопку проверка поля с двумя состояниями: BST_CHECKED и BST_UNCHECKED. Нажатие кнопки отправляет BN_CLICKED уведомление в окно владельца и изменяет состояние кнопки. По умолчанию связанный текст отображается справа от поля проверка. Чтобы отобразить текст слева от поля проверка, используйте BS_LEFTTEXT или BS_RIGHTBUTTON стиль.
BS_AUTORADIOBUTTON Создает переключатель с двумя состояниями: BST_CHECKED и BST_UNCHECKED. Переключатели обычно используются в группах, при этом каждая группа имеет не более одного проверка параметра одновременно. Нажатие кнопки отправляет BN_CLICKED уведомление в окно владельца, задает состояние нажатия переключателя BST_CHECKEDи задает состояния всех остальных переключателей в группе BST_UNCHECKEDкнопок. По умолчанию связанный текст отображается справа от переключателя. Чтобы отобразить текст слева от переключателя, используйте BS_LEFTTEXT или BS_RIGHTBUTTON стиль.
BS_CHECKBOX Создает кнопку проверка поля с двумя состояниями: BST_CHECKED и BST_UNCHECKED. Нажатие кнопки отправляет BN_CLICKED уведомление в окно владельца, но не изменяет состояние кнопки. По умолчанию связанный текст отображается справа от поля проверка. Чтобы отобразить текст слева от поля проверка, используйте BS_LEFTTEXT или BS_RIGHTBUTTON стиль.
BS_COMMANDLINK Создает кнопку ссылки на команду. Кнопка "Ссылка на команду" — это кнопка команды, связанная с Windows Vista, которая отображает зеленую стрелку слева от основного текста и примечание под основным текстом. Вы можете задать текст заметки с помощью CButton::SetNote.
BS_DEFCOMMANDLINK Создает кнопку ссылки на команду. Кнопка "Ссылка на команду" — это кнопка команды, связанная с Windows Vista, которая отображает зеленую стрелку слева от основного текста и примечание под основным текстом. Вы можете задать текст заметки с помощью CButton::SetNote. Если кнопка находится в диалоговом окне, нажатие клавиши ВВОД отправляет BN_CLICKED уведомление в диалоговое окно, даже если кнопка не имеет фокуса ввода.
BS_DEFPUSHBUTTON Создает кнопку команды, которая имеет тяжелую черную границу. Если кнопка находится в диалоговом окне, нажатие клавиши ВВОД отправляет BN_CLICKED уведомление в диалоговое окно, даже если кнопка не имеет фокуса ввода.
BS_DEFSPLITBUTTON Создает кнопку разделения. Кнопка разделения — это кнопка, связанная с Windows Vista, которая содержит кнопку рядом со стрелкой раскрывающегося списка. При нажатии кнопки выполняется команда по умолчанию. Щелкнув стрелку раскрывающегося списка, появится меню дополнительных команд. Если кнопка разделения находится в диалоговом окне, нажатие клавиши ВВОД отправляет BN_CLICKED уведомление в диалоговое окно, даже если кнопка не имеет фокуса ввода
BS_GROUPBOX Создает прямоугольник, в котором можно сгруппировать другие кнопки. Текст, связанный с этим стилем, отображается в верхнем левом углу прямоугольника.
BS_OWNERDRAW Создает нарисованную владельцем кнопку. Платформа вызывает DrawItem метод при изменении визуального аспекта кнопки. Этот стиль должен быть задан при использовании CBitmapButton класса.
BS_PUSHBUTTON Создает кнопку команды, которая отправляет BN_CLICKED уведомление в окно владельца, когда пользователь нажимает кнопку.
BS_RADIOBUTTON Создает переключатель с двумя состояниями: BST_CHECKED и BST_UNCHECKED. Переключатели обычно используются в группах, при этом каждая группа имеет не более одного проверка параметра одновременно. Нажатие кнопки отправляет BN_CLICKED уведомление в окно владельца, но не изменяет состояние любой кнопки в группе. По умолчанию связанный текст отображается справа от переключателя. Чтобы отобразить текст слева от переключателя, используйте BS_LEFTTEXT или BS_RIGHTBUTTON стиль.
BS_SPLITBUTTON Создает кнопку разделения. Кнопка разделения — это кнопка, связанная с Windows Vista, которая содержит кнопку рядом со стрелкой раскрывающегося списка. При нажатии кнопки выполняется команда по умолчанию. Щелкнув стрелку раскрывающегося списка, появится меню дополнительных команд.
BS_USERBUTTON Устаревшее, но предоставляется для совместимости с 16-разрядными версиями Windows. Вместо этого следует использовать BS_OWNERDRAW приложения на основе Win32.

Стили переключателя и проверка поля

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

Стиль Description
BS_LEFTTEXT При сочетании с переключателем или стилем проверка поле текст отображается в левой части переключателя или проверка поле.
BS_RIGHTBUTTON При сочетании с переключателем или стилем проверка поле текст отображается в левой части переключателя или проверка поле. Этот стиль идентичен стилю BS_LEFTTEXT .
BS_PUSHLIKE Делает поле проверка или переключатель выглядеть и вести себя как кнопка команды. Кнопка отображается при нажатии состояния BST_CHECKED, нажатии и отключении состояния, когда его состояние равно BST_INDETERMINATE, и освобождается при его состоянии BST_UNCHECKED.

Стили выравнивания текста кнопки

В следующей таблице перечислены параметры горизонтального и вертикального выравнивания текста. При необходимости можно выбрать один из следующих вариантов.

Стиль Description
BS_LEFT Влево выравнивается текст в прямоугольнике кнопки. Однако если кнопка является проверка полем или переключателем, который не имеет BS_RIGHTBUTTON стиля, текст выравнивается в правой части поля проверка или переключателя.
BS_RIGHT По правому краю текст в прямоугольнике кнопки выравнивается. Однако если кнопка является проверка полем или переключателем, не имеющим BS_RIGHTBUTTON стиля, текст выравнивается в правой части поля проверка или переключателя.
BS_CENTER Центризует текст по горизонтали в прямоугольнике кнопки.
BS_TOP Помещает текст в верхней части прямоугольника кнопки.
BS_BOTTOM Помещает текст в нижней части прямоугольника кнопки.
BS_VCENTER Центризует текст по вертикали в прямоугольнике кнопки.

Параметры содержимого кнопки

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

Стиль Description
BS_BITMAP Указывает, что кнопка отображает растровое изображение.
BS_ICON Указывает, что кнопка отображает значок.
BS_TEXT Указывает, что кнопка отображает текст.

Другие параметры кнопки

В следующей таблице перечислены дополнительные параметры, которые можно использовать с любым типом кнопки. При необходимости можно выбрать один или несколько из следующих вариантов.

Стиль Description
BS_FLAT Указывает, что кнопка является двухмерной и не рисуется с заливкой по умолчанию для создания трехмерного изображения.
BS_MULTILINE Помещает текст кнопки в несколько строк, если текстовая строка слишком длинна, чтобы поместиться в одну строку в прямоугольнике кнопки.
BS_NOTIFY Позволяет кнопке отправлять BN_DBLCLKBN_KILLFOCUSBN_SETFOCUS сообщения и уведомления в родительское окно. Обратите внимание, что кнопки отправляют BN_CLICKED уведомление независимо от того, указан ли этот стиль.

Стили со списком

В MFC доступны перечисленные далее стили полей со списками. Дополнительные сведения о стилях со списком в Windows см. в разделе "Стили со списком" (Windows).

Стиль Description
CBS_AUTOHSCROLL Автоматически прокручивает текст в элементе управления редактирования справа, когда пользователь вводит символ в конце строки. Если этот стиль не задан, допускается только текст, который умещается в прямоугольной области.
CBS_DISABLENOSCROLL В списке показана отключенная вертикальная полоса прокрутки, когда поле списка не содержит достаточно элементов для прокрутки. Если этот стиль не задан, полоса прокрутки будет скрыта при недостаточном количестве элементов в списке.
CBS_DROPDOWN CBS_SIMPLEАналогично , за исключением того, что поле списка не отображается, если пользователь не выбирает значок рядом с элементом управления редактированием.
CBS_DROPDOWNLIST CBS_DROPDOWNАналогично , за исключением того, что элемент управления редактирования заменяется статическим текстовым элементом, отображающим текущий выбор в поле списка.
CBS_HASSTRINGS Поле со списком владельца содержит элементы, состоящие из строк. Поле со списком поддерживает память и указатели для строк, поэтому приложение может использовать функцию-член GetText для получения текста для определенного элемента.
CBS_LOWERCASE Преобразует в нижний регистр весь текст как в поле выделения, так и в списке.
CBS_NOINTEGRALHEIGHT Указывает, что размер поля со списком — это именно размер, указанный приложением при создании поля со списком. Как правило, в Windows размер поля со списком определяется так, чтобы в избежать частичного отображения элементов.
CBS_OEMCONVERT Текст, введенный в элемент управления редактированием со списком, преобразуется из символа ANSI в набор символов OEM, а затем обратно в ANSI. Это гарантирует правильное преобразование символов, когда приложение вызывает функцию Windows AnsiToOem для преобразования строки ANSI в поле со списком в символы OEM. Этот стиль наиболее полезен для полей со списком, которые содержат имена файлов и применяются только к полям со списком, созданным с помощью CBS_SIMPLE стилей или CBS_DROPDOWN стилей.
CBS_OWNERDRAWFIXED Владелец поля списка отвечает за рисование его содержимого; Элементы в списке имеют одинаковую высоту.
CBS_OWNERDRAWVARIABLE Владелец поля списка отвечает за рисование его содержимого; Элементы в списке являются переменной высоты.
CBS_SIMPLE Поле списка отображается всегда. Текущее выделение в списке отображается в элементе управления "Поле ввода".
CBS_SORT Автоматически сортирует строки, введенные в поле списка.
CBS_UPPERCASE Преобразует в верхний регистр весь текст как в поле выделения, так и в списке.

Изменение стилей

Стили редактирования применяются к CEdit объектам класса . Укажите сочетание стилей в параметре dwStyleCEdit::Create. Дополнительные сведения об изменениях стилей элементов управления в Windows см. в разделе "Изменить стили элементов управления " (Windows)".

Стиль Description
ES_AUTOHSCROLL Автоматически прокручивает текст справа на 10 символов, когда пользователь вводит символ в конце строки. Когда пользователь нажимает клавишу ВВОД, элемент управления прокручивает весь текст обратно в положение 0.
ES_AUTOVSCROLL Автоматически прокручивает текст вверх по одной странице, когда пользователь нажимает ВВОД на последней строке.
ES_CENTER Центрирует текст в элементе управления редактирования с одной строкой или несколькими строками.
ES_LEFT По левому краю текст в элементе управления однострочного или многострочного редактирования.
ES_LOWERCASE Преобразует все символы в строчный регистр по мере их ввода в элемент управления редактирования.
ES_MULTILINE Задает элемент управления редактирования с несколькими строками. (По умолчанию используется одна строка.) ES_AUTOVSCROLL Если задан стиль, элемент управления редактирования отображает максимальное количество строк и прокручивается по вертикали, когда пользователь нажимает клавишу ВВОД. Если ES_AUTOVSCROLL это не задано, элемент управления редактирования отображает как можно больше строк и сигналов, если ввод нажимается, когда больше строк не может отображаться. ES_AUTOHSCROLL Если задан стиль, элемент управления редактирования с несколькими строками автоматически прокручивается по горизонтали, когда курсор проходит мимо правого края элемента управления. Чтобы начать новую строку, пользователю необходимо нажать клавишу ВВОД. Если ES_AUTOHSCROLL это не задано, элемент управления автоматически упаковывает слова в начало следующей строки при необходимости; при необходимости новая строка также запускается, если нажата клавиша ВВОД. Позиция wordwrap определяется размером окна. Если размер окна изменяется, позиция wordwrap изменяется и текст переигрывается. Элементы управления редактированием с несколькими строками могут иметь полосы прокрутки. Элемент управления редактирования с полосами прокрутки обрабатывает собственные сообщения полосы прокрутки. Изменение элементов управления без прокрутки прокрутки, как описано выше, и обработка сообщений прокрутки, отправляемых родительским окном.
ES_NOHIDESEL Как правило, элемент управления редактированием скрывает выделение, когда элемент управления теряет фокус ввода и преобразует выделение, когда элемент управления получает фокус ввода. Указание ES_NOHIDESEL удаления этого действия по умолчанию.
ES_NUMBER Позволяет вводить только цифры в элемент управления редактированием.
ES_OEMCONVERT Текст, введенный в элемент управления редактированием, преобразуется из символа ANSI в набор символов OEM, а затем возвращается в ANSI. Это гарантирует правильное преобразование символов, когда приложение вызывает AnsiToOem функцию Windows для преобразования строки ANSI в элемент управления редактирования в символы OEM. Этот стиль наиболее полезен для элементов управления редактирования, содержащих имена файлов.
ES_PASSWORD Отображает все символы в виде звездочки (*) при вводе в элемент управления редактирования. Приложение может использовать функцию-член для SetPasswordChar изменения отображаемого символа.
ES_READONLY Запрещает пользователю вводить или редактировать текст в элементе управления редактирования.
ES_RIGHT Выравнивание по правому краю текста в элементе управления редактирования с одной строкой или несколькими строками.
ES_UPPERCASE Преобразует все символы в верхний регистр при вводе в элемент управления редактирования.
ES_WANTRETURN Указывает, что возврат каретки будет вставлен, когда пользователь нажимает клавишу ВВОД при вводе текста в элемент управления редактирования с несколькими строками в диалоговом окне. Без этого стиля нажатие клавиши ВВОД имеет тот же эффект, что и нажатие кнопки по умолчанию диалогового окна. Этот стиль не влияет на элемент управления редактированием в одной строке.

Стили окна кадра

Стили окна кадра применяются к CFrameWnd объектам класса . Укажите сочетание стилей в параметре dwStyleCFrameWnd::Create.

Стиль Description
FWS_ADDTOTITLE Указывает сведения, добавляемые в конец заголовка окна кадра. Например, "Microsoft Draw — рисование в документе1". Строки, отображаемые на вкладке "Строки шаблона документа", можно указать в мастере приложений. Если этот параметр необходимо отключить, переопределите функцию-член CWnd::PreCreateWindow .
FWS_PREFIXTITLE Отображает имя документа перед именем приложения в заголовке окна кадра. Например, "Document - WordPad". Строки, отображаемые на вкладке "Строки шаблона документа", можно указать в мастере приложений. Если этот параметр необходимо отключить, переопределите функцию-член CWnd::PreCreateWindow .
FWS_SNAPTOBARS Определяет размер окна кадра, который заключает панель управления, если она находится в плавающем окне, а не закреплена в окне кадра. Этот стиль размер окна соответствует панели управления.

Стили списка

Стили списка применяются к CListBox объектам класса . Укажите сочетание стилей в параметре dwStyleCListBox::Create. Дополнительные сведения о стилях списков в Windows см. в разделе "Стили списков" (Windows).

Стиль Description
LBS_DISABLENOSCROLL В списке показана отключенная вертикальная полоса прокрутки, когда поле списка не содержит достаточно элементов для прокрутки. Если этот стиль не задан, полоса прокрутки будет скрыта при недостаточном количестве элементов в списке.
LBS_EXTENDEDSEL Пользователь может выбрать несколько элементов с помощью клавиши SHIFT и мыши или специальных сочетаний клавиш.
LBS_HASSTRINGS Указывает поле списка "Рисование владельца", содержащее элементы, состоящие из строк. Поле списка поддерживает память и указатели для строк, чтобы приложение может использовать GetText функцию-член для получения текста для определенного элемента.
LBS_MULTICOLUMN Задает поле списка с несколькими столбцами, которое прокручивается по горизонтали. Функция-член SetColumnWidth задает ширину столбцов.
LBS_MULTIPLESEL Выбор строки переключается каждый раз, когда пользователь щелкает или дважды щелкает строку. Можно выбрать любое количество строк.
LBS_NODATA Задает поле списка без данных. Укажите этот стиль, когда количество элементов в поле списка превысит одну тысячу. Поле списка без данных также должно иметь стиль, но не должен иметь LBS_OWNERDRAWFIXEDLBS_SORT стиль или LBS_HASSTRINGS стиль.

Поле списка без данных напоминает поле со списком, нарисованным владельцем, за исключением того, что он не содержит строковых или растровых данных для элемента. Команды для добавления, вставки или удаления элемента всегда игнорируют все заданные данные элемента; запросы на поиск строки в поле списка всегда завершаются ошибкой. Система отправляет WM_DRAWITEM сообщение в окно владельца, когда элемент должен быть нарисован. Элемент DRAWITEMSTRUCT itemID структуры, переданный с WM_DRAWITEM сообщением, указывает номер строки нарисованного элемента. Поле списка без данных не отправляет WM_DELETEITEM сообщение.
LBS_NOINTEGRALHEIGHT Размер поля списка — это именно размер, указанный приложением при создании поля списка. Как правило, Windows имеет размер поля списка, чтобы поле списка не отображалось частично.
LBS_NOREDRAW Отображение списка не обновляется при внесении изменений. Этот стиль можно изменить в любое время, отправив WM_SETREDRAW сообщение.
LBS_NOSEL Указывает, что поле списка содержит элементы, которые можно просмотреть, но не выбрать.
LBS_NOTIFY Родительское окно получает входное сообщение, когда пользователь щелкает или дважды щелкает строку.
LBS_OWNERDRAWFIXED Владелец поля списка отвечает за рисование его содержимого; Элементы в списке имеют одинаковую высоту.
LBS_OWNERDRAWVARIABLE Владелец поля списка отвечает за рисование его содержимого; Элементы в списке являются переменной высоты.
LBS_SORT Строки в поле списка отсортированы по алфавиту.
LBS_STANDARD Строки в списке отсортированы по алфавиту, а родительское окно получает входное сообщение, когда пользователь щелкает или дважды щелкает строку. Поле списка содержит границы со всеми сторонами.
LBS_USETABSTOPS Позволяет списку распознавать и развертывать символы табуляции при рисовании строк. Позиции вкладок по умолчанию — 32 блока диалоговых окон. (Единица диалога — это горизонтальное или вертикальное расстояние. Одно горизонтальное диалоговое окно равно одной четверти текущей единицы базовой ширины диалогового окна. Базовые единицы диалога вычисляются на основе высоты и ширины текущего системного шрифта. Функция GetDialogBaseUnits Windows возвращает текущие базовые единицы диалогового окна в пикселях.) Этот стиль не следует использовать с LBS_OWNERDRAWFIXED.
LBS_WANTKEYBOARDINPUT Владелец поля списка получает или WM_CHARTOITEM отправляет сообщения, когда пользователь нажимает WM_VKEYTOITEM клавишу, пока поле списка имеет фокус ввода. Это позволяет приложению выполнять специальную обработку на клавиатуре ввода.

Стили окна сообщений

Стили поля сообщений применяются к AfxMessageBox элементам. Укажите сочетание стилей в параметре nTypeAfxMessageBox. Дополнительные сведения о стилях полей сообщений в Windows см. в разделе MessageBox "Функция (Windows)".

Доступны следующие стили окна сообщений.

Типы сообщений

Стиль Description
MB_ABORTRETRYIGNORE Поле сообщения содержит три pushbuttons: Abort, Retry и Ignore.
MB_OK Поле сообщения содержит один pushbutton: OK.
MB_OKCANCEL Поле сообщения содержит два pushbuttons: OK и Cancel.
MB_RETRYCANCEL В поле сообщения есть два pushbuttons: повторная попытка и отмена.
MB_YESNO Поле сообщения содержит два pushbuttons: "Да" и "Нет".
MB_YESNOCANCEL Поле сообщения содержит три pushbuttons: Да, Нет и Отмена.

Модальность поля сообщения

Стиль Description
MB_APPLMODAL Пользователь должен ответить на поле сообщения, прежде чем продолжить работу в текущем окне. Однако пользователь может перейти в окна других приложений и работать в этих окнах. Значение по умолчанию не указано MB_APPLMODAL ни в том случае MB_SYSTEMMODAL , если оно не MB_TASKMODAL указано.
MB_SYSTEMMODAL Все приложения приостановлены до тех пор, пока пользователь не ответит на сообщение. Системные модальные окна сообщений используются для уведомления пользователя о серьезных, потенциально разрушительных ошибках, требующих немедленного внимания и которые следует использовать смешно.
MB_TASKMODAL MB_APPLMODALАналогично, но не полезно в приложении класса Microsoft Foundation. Этот флаг зарезервирован для вызывающего приложения или библиотеки, у которых нет дескриптора окна.

Значки поля сообщения

Стиль Description
MB_ICONEXCLAMATION Значок восклицательного знака отображается в окне сообщения.
MB_ICONINFORMATION Значок, состоящий из "I" в круге, отображается в окне сообщения.
MB_ICONQUESTION В окне сообщения появится значок вопросительного знака.
MB_ICONSTOP Значок знака остановки отображается в окне сообщения.

Кнопки по умолчанию для окна сообщений

Стиль Description
MB_DEFBUTTON1 Первая кнопка — это значение по умолчанию. Обратите внимание, что первая кнопка всегда является значением по умолчанию, если MB_DEFBUTTON2 не указано или MB_DEFBUTTON3 не указано.
MB_DEFBUTTON2 Вторая кнопка — это значение по умолчанию.
MB_DEFBUTTON3 Третья кнопка — это значение по умолчанию.

Стили полосы прокрутки

Стили полосы прокрутки применяются к CScrollBar объектам класса . Укажите сочетание стилей в параметре dwStyleCScrollBar::Create. Дополнительные сведения о стилях элементов управления полосой прокрутки в Windows см. в разделе "Стили элементов управления полосой прокрутки" (Windows).

Стиль Description
SBS_BOTTOMALIGN Используется с стилем SBS_HORZ . Нижний край полосы прокрутки выравнивается с нижним краем прямоугольника, указанного в функции-члене Create . Полоса прокрутки имеет высоту по умолчанию для полос прокрутки системы.
SBS_HORZ Задает горизонтальную полосу прокрутки. Если ни SBS_BOTTOMALIGN стиль не SBS_TOPALIGN указан, полоса прокрутки имеет высоту, ширину и позицию, указанную в функции-члене Create .
SBS_LEFTALIGN Используется с стилем SBS_VERT . Левый край полосы прокрутки выравнивается с левым краем прямоугольника, указанного в функции-члене Create . Полоса прокрутки имеет ширину по умолчанию для системных полос прокрутки.
SBS_RIGHTALIGN Используется с стилем SBS_VERT . Правый край полосы прокрутки выравнивается с правым краем прямоугольника, указанным в функции-члене Create . Полоса прокрутки имеет ширину по умолчанию для системных полос прокрутки.
SBS_SIZEBOX Задает поле размера. Если ни стиль не SBS_SIZEBOXBOTTOMRIGHTALIGNSBS_SIZEBOXTOPLEFTALIGN указан, поле размера имеет высоту, ширину и позицию, указанную в функции-члене Create .
SBS_SIZEBOXBOTTOMRIGHTALIGN Используется с стилем SBS_SIZEBOX . Правый нижний угол поля размера выравнивается с правым нижним углом прямоугольника, указанного Create в функции-члене. Поле размера имеет размер по умолчанию для полей размера системы.
SBS_SIZEBOXTOPLEFTALIGN Используется с стилем SBS_SIZEBOX . Верхний левый угол поля размера выравнивается с верхним левым углом прямоугольника, указанного Create в функции-члене. Поле размера имеет размер по умолчанию для полей размера системы.
SBS_SIZEGRIP То же самое, но SBS_SIZEBOXс поднятым краем.
SBS_TOPALIGN Используется с стилем SBS_HORZ . Верхний край полосы прокрутки выравнивается с верхним краем прямоугольника, указанного в функции-члене Create . Полоса прокрутки имеет высоту по умолчанию для полос прокрутки системы.
SBS_VERT Задает вертикальную полосу прокрутки. Если ни SBS_RIGHTALIGN стиль не SBS_LEFTALIGN указан, полоса прокрутки имеет высоту, ширину и позицию, указанную в функции-члене Create .

Статические стили

Статические стили применяются к CStatic объектам класса . Укажите сочетание стилей в параметре dwStyleCStatic::Create. Дополнительные сведения о стилях статических элементов управления в Windows см. в разделе "Стили статических элементов управления" (Windows).

Стиль Description
SS_BITMAP Указывает, что растровое изображение должно отображаться в статическом элементе управления. Данный текст — это имя растрового изображения (а не имени файла), определенного в другом месте файла ресурса. Стиль игнорирует параметры nWidth и nHeight; элемент управления автоматически размеров для размещения растрового изображения.
SS_BLACKFRAME Задает поле с кадром, нарисованным с тем же цветом, что и рамки окна. Значением по умолчанию является Black.
SS_BLACKRECT Задает прямоугольник, заполненный цветом, используемым для рисования кадров окна. Значением по умолчанию является Black.
SS_CENTER Задает простой прямоугольник и отображает заданный текст в центре прямоугольника. Текст отформатирован перед отображением. Слова, расширяющие конец строки, автоматически упаковываются в начало следующей по центру строки.
SS_CENTERIMAGE Указывает, что, если растровое изображение или значок меньше клиентской области статического элемента управления, остальная часть клиентской области заполняется цветом пикселя в левом верхнем углу растрового изображения или значка. Если статический элемент управления содержит одну строку текста, текст находится в центре в клиентской области элемента управления.
SS_ENDELLIPSIS или SS_PATHELLIPSIS заменяет часть заданной строки многоточием при необходимости, чтобы результат соответствовал указанному прямоугольнику.

Можно указать SS_END_ELLIPSIS , чтобы заменить символы в конце строки или SS_PATHELLIPSIS заменить символы в середине строки. Если строка содержит символы SS_PATHELLIPSIS обратной косой черты (\), сохраняет столько текста после последней обратной косой черты.
SS_ENHMETAFILE Указывает, что расширенный метафайл должен отображаться в статическом элементе управления. Заданный текст — это имя метафайла. Расширенный статический элемент управления метафайла имеет фиксированный размер; Метафайл масштабируется для соответствия клиентской области статического элемента управления.
SS_ETCHEDFRAME Рисует кадр статического элемента управления с помощью EDGE_ETCHED стиля края.
SS_ETCHEDHORZ Рисует верхние и нижние края статического элемента управления с помощью EDGE_ETCHED стиля края.
SS_ETCHEDVERT Рисует левые и правые края статического элемента управления с помощью EDGE_ETCHED стиля края.
SS_GRAYFRAME Задает поле с кадром, нарисованным с тем же цветом, что и фон экрана (рабочий стол). По умолчанию задано значение Gray.
SS_GRAYRECT Задает прямоугольник, заполненный цветом, используемым для заполнения фона экрана. По умолчанию задано значение Gray.
SS_ICON Указывает значок, отображаемый в диалоговом окне. Заданный текст — это имя значка (а не имени файла), определенного в другом месте файла ресурса. nHeight И nWidth параметры игнорируются; значок автоматически размеров.
SS_LEFT Задает простой прямоугольник и отображает заданный текст слева в прямоугольнике. Текст отформатирован перед отображением. Слова, которые будут расширяться до конца строки, автоматически упаковываются в начало следующей промывной левой строки.
SS_LEFTNOWORDWRAP Задает простой прямоугольник и отображает заданный текст слева в прямоугольнике. Вкладки развернуты, но слова не упаковываются. Текст, расширяющийся до конца строки, обрезается.
SS_NOPREFIX Если этот стиль не указан, Windows интерпретирует любые амперсанды (&) в тексте элемента управления, чтобы быть символами префикса акселератора. В этом случае амперсанд удаляется, а следующий символ в строке подчеркнут. Если статический элемент управления должен содержать текст, в котором эта функция не требуется, SS_NOPREFIX можно добавить. Этот стиль статического элемента управления может быть включен в любой из определенных статических элементов управления. Вы можете сочетать SS_NOPREFIX с другими стилями с помощью побитового оператора OR. Это чаще всего используется при отображении имен файлов или других строк, которые могут содержать амперсанд, в статическом элементе управления в диалоговом окне.
SS_NOTIFY Отправляет родительское окно STN_CLICKED, STN_DBLCLKSTN_DISABLEи STN_ENABLE уведомления, когда пользователь щелкает или дважды щелкает элемент управления.
SS_OWNERDRAW Указывает, что владелец статического элемента управления отвечает за рисование элемента управления. Окно владельца получает сообщение всякий WM_DRAWITEM раз, когда элемент управления должен быть нарисован.
SS_REALSIZEIMAGE Запрещает изменение размера статического значка или элемента управления растровым рисунком (то есть статических элементов управления, имеющих SS_ICONSS_BITMAP или стиль), при загрузке или рисовании. Если значок или растровое изображение больше целевой области, изображение обрезается.
SS_RIGHT Задает простой прямоугольник и отображает заданный текст справа в прямоугольнике. Текст отформатирован перед отображением. Слова, которые будут расширяться до конца строки, автоматически упаковываются в начало следующей промывной правой строки.
SS_RIGHTJUST Указывает, что правый нижний угол статического элемента управления со SS_BITMAP стилем или SS_ICON должен оставаться фиксированным при изменении размера элемента управления. Только верхние и левые стороны корректируются для размещения новой растровой карты или значка.
SS_SIMPLE Задает простой прямоугольник и отображает одну строку текста в прямоугольнике. Строка текста не может быть сокращена или изменена каким-либо образом. (Родительское окно или диалоговое окно элемента управления не должно обрабатывать WM_CTLCOLOR сообщение.)
SS_SUNKEN Рисует полузащитную границу вокруг статического элемента управления.
SS_USERITEM Указывает определяемый пользователем элемент.
SS_WHITEFRAME Задает поле с кадром, нарисованным с тем же цветом, что и фон окна. По умолчанию цвет белый.
SS_WHITERECT Задает прямоугольник, заполненный цветом, используемым для заполнения фона окна. По умолчанию цвет белый.
SS_WORDELLIPSIS Усечение текста, которое не соответствует и добавляет многоточие.

Стили окна

Стили окон применяются к CWnd объектам класса . Укажите сочетание стилей в параметре CWnd::Create dwStyle илиCWnd::CreateEx. Дополнительные сведения о стилях окон в Windows см. в разделе "Стили окон" (Windows).

Стиль Description
WS_BORDER Создает окно с границой.
WS_CAPTION Создает окно с заголовком (подразумевает WS_BORDER стиль). Нельзя использовать с стилем WS_DLGFRAME .
WS_CHILD Создает дочернее окно. Нельзя использовать с стилем WS_POPUP .
WS_CHILDWINDOW То же самое, что и WS_CHILD стиль.
WS_CLIPCHILDREN Исключает область, занятую дочерними окнами при рисовании в родительском окне. Используется при создании родительского окна.
WS_CLIPSIBLINGS Клипирует дочерние окна относительно друг друга; То есть, когда определенное дочернее окно получает сообщение о краске, WS_CLIPSIBLINGS стиль клипирует все остальные перекрывающиеся дочерние окна из области дочернего окна, которую необходимо обновить. (Если WS_CLIPSIBLINGS не задано и дочерние окна перекрываются, при рисовании в клиентской области дочернего окна можно нарисовать в клиентской области соседнего дочернего окна.) Для использования только с стилем WS_CHILD .
WS_DISABLED Создает окно, которое изначально отключено.
WS_DLGFRAME Создает окно с двойной границой, но не имеет заголовка.
WS_GROUP Указывает первый элемент управления группы элементов управления, в котором пользователь может перейти от одного элемента управления к следующему с помощью клавиш со стрелками. Все элементы управления, определенные стилем WS_GROUPFALSE после первого элемента управления, относятся к одной группе. Следующий элемент управления со WS_GROUP стилем запускает следующую группу (то есть одна группа заканчивается, где начинается следующая).
WS_HSCROLL Создает окно с горизонтальной полосой прокрутки.
WS_ICONIC Создает окно, которое изначально свернуто. То же самое, что и WS_MINIMIZE стиль.
WS_MAXIMIZE Создает окно максимального размера.
WS_MAXIMIZEBOX Создает окно с кнопкой "Развернуть".
WS_MINIMIZE Создает окно, которое изначально свернуто. Для использования только с стилем WS_OVERLAPPED .
WS_MINIMIZEBOX Создает окно с кнопкой "Свернуть".
WS_OVERLAPPED Создает перекрываемое окно. Перекрываемое окно обычно имеет подпись и границу.
WS_OVERLAPPEDWINDOW Создает перекрываемое окно с стилями WS_OVERLAPPED, WS_CAPTION, WS_SYSMENUWS_THICKFRAME, и WS_MINIMIZEBOXWS_MAXIMIZEBOX стилей.
WS_POPUP Создает всплывающее окно. Нельзя использовать с стилем WS_CHILD .
WS_POPUPWINDOW Создает всплывающее окно со стилями WS_BORDERWS_POPUPи WS_SYSMENU стилями. Стиль WS_CAPTION должен сочетаться со стилем WS_POPUPWINDOW , чтобы сделать меню управления видимым.
WS_SIZEBOX Создает окно с границой размера. То же самое, что и WS_THICKFRAME стиль.
WS_SYSMENU Создает окно с полем меню "Элемент управления" в строке заголовка. Используется только для окон с заголовками.
WS_TABSTOP Указывает одно из всех элементов управления, с помощью которого пользователь может перемещаться с помощью клавиши TAB. Клавиша TAB перемещает пользователя к следующему элементу управления, указанному WS_TABSTOP в стиле.
WS_THICKFRAME Создает окно с толстым кадром, который можно использовать для размера окна.
WS_TILED Создает перекрываемое окно. Перекрываемое окно имеет заголовок и границу. То же самое, что и WS_OVERLAPPED стиль.
WS_TILEDWINDOW Создает перекрываемое окно с стилями WS_OVERLAPPED, WS_CAPTION, WS_SYSMENUWS_THICKFRAME, и WS_MINIMIZEBOXWS_MAXIMIZEBOX стилей. То же самое, что и WS_OVERLAPPEDWINDOW стиль.
WS_VISIBLE Создает окно, которое изначально отображается.
WS_VSCROLL Создает окно с вертикальной полосой прокрутки.

Расширенные стили окон

Расширенные стили окон применяются к CWnd объектам класса . Укажите сочетание стилей в параметре dwExStyleCWnd::CreateEx. Дополнительные сведения о расширенных стилях окон в Windows см. в разделе "Расширенные стили окон" (Windows).

Стиль Description
WS_EX_ACCEPTFILES Указывает, что окно, созданное с помощью этого стиля, принимает файлы перетаскивания.
WS_EX_APPWINDOW Принудительно создает окно верхнего уровня на панели задач, когда окно отображается.
WS_EX_CLIENTEDGE Указывает, что окно имеет трехмерный вид — то есть границу с затопленным краем.
WS_EX_CONTEXTHELP Включает вопросительный знак в заголовке окна. Когда пользователь щелкает вопросительный знак, курсор изменяется на вопросительный знак с указателем. Если пользователь щелкает WM_HELP дочернее окно, ребенок получает сообщение.
WS_EX_CONTROLPARENT Позволяет пользователю перемещаться между дочерними окнами окна с помощью клавиши TAB.
WS_EX_DLGMODALFRAME Указывает окно с двойной границей, которая может (необязательно) быть создана с заголовком строки при указании WS_CAPTION флага стиля в параметре dwStyle .
WS_EX_LAYERED Окно представляет собой многоуровневое окно. Этот стиль нельзя использовать, если в окне есть стильCS_OWNDC класса или CS_CLASSDC. Однако Microsoft Windows 8 поддерживает WS_EX_LAYERED стиль дочерних окон, где предыдущие версии Windows поддерживают его только для окон верхнего уровня.
WS_EX_LEFT Предоставляет универсальные свойства, выровненные по левому краю окна. Это значение по умолчанию.
WS_EX_LEFTSCROLLBAR Помещает вертикальную полосу прокрутки слева от клиентской области.
WS_EX_LTRREADING Отображает текст окна с помощью свойств порядка чтения слева направо. Это значение по умолчанию.
WS_EX_MDICHILD Создает дочернее окно MDI.
WS_EX_NOPARENTNOTIFY Указывает, что дочернее окно, созданное с помощью этого стиля, не отправляет WM_PARENTNOTIFY сообщение в родительское окно при создании или уничтожении дочернего окна.
WS_EX_OVERLAPPEDWINDOW Объединяет стили WS_EX_CLIENTEDGE и WS_EX_WINDOWEDGE стили
WS_EX_PALETTEWINDOW Объединяет стили WS_EX_WINDOWEDGE и WS_EX_TOPMOST стили.
WS_EX_RIGHT Предоставляет универсальные свойства, выровненные по правому краю окна. Это зависит от класса окна.
WS_EX_RIGHTSCROLLBAR Помещает вертикальную полосу прокрутки (если она присутствует) справа от клиентской области. Это значение по умолчанию.
WS_EX_RTLREADING Отображает текст окна с помощью свойств порядка чтения справа налево.
WS_EX_STATICEDGE Создает окно с трехмерным стилем границы, предназначенным для элементов, которые не принимают входные данные пользователя.
WS_EX_TOOLWINDOW Создает окно инструментов, которое является окном, которое должно использоваться в качестве плавающей панели инструментов. Окно инструментов имеет строку заголовка, которая короче обычной строки заголовка, а заголовок окна рисуется с помощью меньшего шрифта. Окно инструментов не отображается на панели задач или в окне, которое отображается при нажатии клавиш ALT+TAB.
WS_EX_TOPMOST Указывает, что окно, созданное с использованием этого стиля, должно быть помещено над всеми неверными окнами и оставаться над ними даже при отключении окна. Приложение может использовать функцию-член для SetWindowPos добавления или удаления этого атрибута.
WS_EX_TRANSPARENT Указывает, что окно, созданное с помощью этого стиля, должно быть прозрачным. То есть все окна, находящиеся под окном, не замечаются окном. Окно, созданное с помощью этого стиля, получает WM_PAINT сообщения только после обновления всех одноуровневых окон под ним.
WS_EX_WINDOWEDGE Указывает, что окно имеет границу с поднятым краем.

См. также

Обзор класса MFC
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
Стили кнопок (Windows)
Стили полей со списком (Windows)
Изменение стилей элементов управления (Windows)
Стили списка (Windows)
MessageBox Функция (Windows)
Стили элементов управления полосой прокрутки (Windows)
Стили статических элементов управления (Windows)
Стили окон (Windows)
Расширенные стили окон (Windows)