Шаг 56.
Visual Prolog.
Флаги стиля

    На этом шаге мы рассмотрим флаги стиля.

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

Таблица 1. Основные флаги стиля элементов управления
Идентификатор флага Значение
wsf_Disabled Изначально элемент управления будет заблокирован
wsf_Checked Изначально флажок будет находиться в отмеченном состоянии
wsf_Default Флаг для заданной по умолчанию кнопки в диалоговом окне
wsf_Invisible Создать скрытый элемент управления
wsf_Group Флаг для начала создания новой группы элементов управления
wsf_TabStop Позволить переход по табуляции к элементу управления
wsf_ReadOnly Поле редактирования только для чтения
wsf_MultiLine Позволить многострочные поля редактирования
wsf_MultiSelect Позволить списки множественного выбора
wsf_Mu1tiCo1umn Определить несколько колонок в списке
wsf_A1ignLeft Выравнивание текста по левому краю
wsf_AlignCenter Выравнивание текста по центру
wsf_AlignRight Выравнивание текста по правому краю
wsf_LeftText Определяет, что флажок или переключатель должен иметь текст с левой стороны
wsf_OwnerDraw Определяет "собственное рисование" (ownerdrawing) для элемента управления, в этом случае программист должен выполнять все операции рисования для элемента управления
wsf_VScroll Определяет, что многострочное поле редактирования или окно списка при необходимости будет иметь вертикальную полосу прокрутки
wsf_HScroll Определяет, что многострочное поле редактирования или окно списка при необходимости будет иметь горизонтальную полосу прокрутки
wsf_NoBorder Определяет, что элемент управления не должен иметь границу
wsf_Simple Определяет простой прямоугольник и отображает одиночную текстовую строку, выравненную по левой границе в прямоугольнике. Эта строка не может быть сокращена или изменена
wsf_NoWrap Определяет простой прямоугольник и отображает данный текст, выравненный по левой границе в прямоугольнике. Позиции табуляции расширены, но слова не переносятся автоматически на другую строку. Текст, который выходит за пределы прямоугольника, отсекается
wsf_NoPrefix Предотвращает интерпретацию символов & в тексте элемента управления как акселераторов, обычно префиксный символ & используется для обозначения того, что следующий за ним символ является акселератором (такой префиксный символ & не отображается (удаляется), а последующий за ним символ отображается подчеркнутым и может быть использован как акселератор). Этот стиль статического элемента управления может быть применен к любым из определенных статических элементов управления. Часто используется, когда имена файлов или другие строки, которые могут содержать символ &, необходимо отобразить в статическом элементе управления в диалоговом окне
wsf_Uppercase Преобразовывает все символы к верхнему регистру по мере того, как они появляются в поле редактирования
wsf_Lowercase Преобразовывает все символы к нижнему регистру по мере того, как они появляются в поле редактирования
wsf_Password Отображает все символы звездочками (*) по мере того, как они появляются в поле редактирования
wsf_AutoVScroll Автоматически прокручивает текст вверх, когда пользователь нажимает клавишу <Enter> в конце последней строки
wsf_AutoHScroll Автоматически прокручивает текст вправо на 10 символов, когда пользователь печатает символ в конце строки. Если нажать клавишу <Enter>, элемент управления прокручивает весь текст назад, в нулевую позицию
wsf_NoHideSel Не разрешает поведение по умолчанию для поля редактирования. По умолчанию выбранный подтекст не подсвечивается, когда элемент управления теряет фокус ввода, и подсвечивается, когда элемент управления получает фокус ввода
wsf_OEMConvert Преобразовывает текст, введенный в поле редактирования, из набора символов Windows в набор символов OEM и обратно. Этот флаг гарантирует необходимое символьное преобразование, когда приложение вызывает функцию AnsiToOem для преобразования строки Windows в символы OEM. Этот стиль более всего полезен для элементов редактирования, которые содержат имена файлов
wsf_WantReturn Определяет, что при нажатии клавиши <Enter> в многострочном поле редактирования в текст будет вставлен символ возврата каретки. Если этот стиль не определен, то нажатие клавиши <Enter> вызовет те же действия, что и нажатие заданной по умолчанию командной кнопки диалогового окна. Этот стиль никак не влияет на поведение однострочных полей редактирования
wsf_3State Создает кнопку, которая, по сути, является флажком, за исключением того, что она может быть как заблокирована, так и отмечена. Заблокированное состояние используется, чтобы показать, что состояние флажка метки не определено
wsf_Auto Группы автоматических переключателей или автоматических флажков
wsf_Auto3State Автоматический флажок с тремя состояниями
wsf_NoNotify Отказ от уведомления родительского окна входным сообщением
wsf_Sort Сортирует строки в списке в алфавитном порядке
wsf_NoReDraw Определяет, что вид списка не обновляется при сделанных изменениях. Этот стиль можно изменить в любое время пользуя константы lbox_Suspend и lbox_ReSume
wsf_OwnerDrawVariable Определяет, что владелец списка ответствен за изображение его содержимого и что элементы в списке различаются по высоте. Окно владельца получает сообщение e_OwnerMeasureItem для каждого элемента при создании списка, и сообщение e_OwnerDrawItem всякий раз, когда изменяется внешний вид списка
wsf_HasStrings Определяет, что список содержит элементы, состоящие из строк. По умолчанию, все окна списков, кроме списков со стилем wsf_OwnerDraw, имеют этот стиль. Приложение может создать wsf_OwnerDraw-список с этим стилем или без него
wsf_UseTabStops Позволяет окну списка распознавать и расширять символы табуляции при отображении его строк. Заданные по умолчанию позиции табуляции - это 32 базовые диалоговые единицы
wsf_NoIntegralHeight Определяет, что размер окна списка - тот размер, который указан приложением при создании списка. Обычно Windows изменяет размеры списка так, чтобы элементы отображались целиком
wsf_WantKeyboardInput Определяет, что родительское окно списка получает сообщения WM_VKEYTOITEM или WM_CHARTOITEM всякий раз, когда пользователь нажимает клавишу и список имеет фокус ввода, что позволяет приложению выполнять специальную обработку ввода с клавиатуры. Если список имеет стиль LBS_HASSTRINGS, то он может получать сообщения WM_VKEYTOITEM, но не WM_CHARTOITEM. Если список не имеет стиля LBS_HASSTRINGS, он может получать сообщения WM_CHARTOITEM, но не WM_VKEYTOITEM
wsf_ExtendedSel Разрешает множественный выбор элементов при помощи клавиши <Shift> и мыши или специальных комбинаций клавиш
wsf_DisableNoScroll Отображает заблокированную вертикальную полосу прокрутки для списка, когда список содержит недостаточное для прокрутки количество элементов. Если этот стиль не определен, то полоса прокрутки будет скрыта, когда список содержит недостаточное для прокрутки количество элементов
wsf_BlackRect Устанавливает заполнение wc_Text цветом, используемым для изображения рамки окна. В заданной по умолчанию схеме цветов Windows - это черный цвет
wsf_GrayRect Устанавливает заполнение wc_Text цветом, используемым для изображения фона экрана. В заданной по умолчанию схеме цветов Windows - это серый цвет
ws_WhiteRect Устанавливает заполнение wc_Text цветом, используемым для изображения фона окна. В заданной по умолчанию схеме цветов Windows - это белый цвет
wsf_BlackFrame Определяет wc_Text с рамкой, нарисованной тем же цветом, что и рамки окна. В заданной по умолчанию схеме цветов Windows - это черный цвет
wsf_GrayFrame Определяет wc_Text с рамкой, нарисованной тем же цветом, что и фон экрана (рабочий стол). В заданной по умолчанию схеме цветов Windows - это серый цвет
wsf_WhiteFrame Определяет поле с рамкой, нарисованной тем же цветом, что и фон окна. В заданной по умолчанию схеме цветов Windows - это белый цвет

    На следующем шаге мы рассмотрим события от элементов управления.




Предыдущий шаг Содержание Следующий шаг