Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП02_Органы управления.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
576 Кб
Скачать

Приложение 2

Таблица 2.1. Список имен определенных в системе классов

Имя класса

Пояснение

Сообщение родительскому окну

"button"

Окно, состояние которого изменяется при выборе и нажатии. Это нажимающиеся кнопки (push button), переключатели (radio button) и флажки (check box)

WMCOMMAND

"static"

Текстовое поле, прямоугольник выделения и другие элементы оформления

WMNCHITTEST

"scrollbar"

Полоса прокрутки – прямоугольник с ползунком и стрелками направления в оба конца. Родительское окно обеспечивает калибровку и установку позиций ползунка. Полоса прокрутки имеет такие же вид и функцию, что и полосы просмотра окна, но может появиться где угодно. Она также обеспечивает изменение размеров окна

WMHSCROLL и WMVSCROLL

"edit"

Окно ввода текста из клавиатуры или редактор

WMCOMMAND

"listbox"

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

WMCOMMAND

"combobox"

Орган управления, состоящий из списка и поля выбора. Список может быть распахнут или свернут. Если список распахнут, при вводе символов в поле выбора список устанавливает в начало первое вхождение наиболее похожей строки списка

WMCOMMAND

Таблица 2.2. Список стилей окон класса "button"

Стили

Пояснение

BS_3STATE

Флажок (квадратик), который может находиться во включенном (перечеркнут), выключенном (не перечеркнут) и неактивном (отображается серым цветом) состоянии

ВS_AUTO3STATE

То же, что и ВS_3STATE, но вид квадратика автоматически изменяется при переключении, циклически отображая включенное, выключенное и неактивное состояние

BS_AUTOCHECKBOX

Флажок, который может находиться только во включенном или выключенном (неактивном) состоянии

BS_AUTORADIOBUTTON

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

BS_CHECKBOX

То же, что и BS_AUTOCHECKBOX, но с текстом справа от флажка

BS_DEFPUSHBUTTON

То же, что и BS_PUSHBUTTON, но кнопка имеет толстую черную рамку. Если такая кнопка находится в диалоговом окне, то она посылает сообщение родительскому окну при нажатии клавиши Enter, даже если она не имеет фокуса ввода. Этот стиль используется для задания кнопок по умолчанию

BS_GROUPBOX

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

BS_LEFTTEXT или ВS_RIGHTBUTTON

Этот стиль дополняет стиль флажка или переключателя и помещает текст слева от элемента

BS_PUSHBUTTON

Стандартная кнопка без рамки

ВS_RADIOBUTTON

Переключатель с текстом справа, который может находиться во включенном или выключенном состоянии

BS_ICON

Органом управления является иконка

ВS_MULTILINE

Распределить текст в нескольких строках внутри прямоугольника кнопки

BSNOTIFY

Орган управления посылает сообщения BN_DBLCLK, BN_KILLFOCUS и BN_SETFOCUS родительскому окну

BS_PUSHLIKE

Флажок или переключатель этого стиля ведет себя подобно кнопке – приподнимается или протапливается

BS_TEXT

Орган управления является текстом

BS_RIGHT, BS_LEFT, BS_TOP и BS_BOTTOM

Текст выровнен соответственно по правому, левому, верхнему или нижнему краю в прямоугольнике кнопки

BS_CENTER

Центрирует текст по горизонтали в прямоугольнике кнопки

BS_VCENTER

Центрирует текст по вертикали в прямоугольнике кнопки

Таблица 2.3. Список стилей окон класса "static"

Стили

Описание

SS_BLACKFRAME, SS_GRAYFRAME или SS_WHITEFRAME

Прямоугольня рамка системного цвета соответственно

COLOR_WINDOWFRAME ("черного" цвета рамок окон), COLOR_BACKGROUND ("серого" цвета фона экрана) или COLOR_WINDOW ("белого" цвета рабочей области окон). Внутренняя область остается незакрашенной. Текст заголовка окна не используется. Соответствующий параметр функции CreateWindow указывают как NULL

SS_BLACKRECT, SS_GRAYRECT или SS_WHITERECT

Закрашенный прямоугольник системного цвета соответственно COLOR_WINDOWFRAME ("черного" цвета рамок окон), COLOR_BACKGROUND ("серого" цвета фона экрана) или COLOR_WINDOW ("белого" цвета рабочей области окон). Текст заголовка окна не используют. Этот параметр функции CreateWindow указывают как NULL

SS_LEFT, SS_RIGHT или SS_CENTER

В заданном прямоугольнике указанный текст выводит функция DrawText, соответственно выравнивая его по левому, правому краю или центрируя и перенося слова в следующую строку. Не поместившаяся в прямоугольнике часть текста не отображается. Символы табуляции заменяются пробелами

SS_LEFTNOWORDWRAP

То же, что и SS_LEFT, но без переноса слов

SS_NOPREFIX

Этот стиль дополняет другие стили в тех случаях, когда необходимо отменить специальную обработку символа &. Обычно этот символ не выводится статическими органами управления на экран, а следующий за ним символ изображается подчеркнутым (для изображения символа & его надо повторить 2 раза подряд)

SS_NOTIFY

Окно этого стиля функции родительского окна посылает сообщения STN_CLICKED и STN_DBLCLK о нажатии или двойном щелчке левой клавишей мыши

SS_SIMPLE

Выводит текст в одну строку, используя функцию TextOut и выравнивая по левому краю. Символы табуляции не заменяет пробелами. При повторном выводе текста содержимое прямоугольника не стирается, поэтому новый текст не должен быть короче прежнего. Обычно комбинируют со стилем SS_NOPREFIX (используется более быстрая функция ExtTextOut)

Таблица 2.4. Список стилей окон класса "scrollbar"

Стили

Описание

SBS_BOTTOMALIGN или SBS_TOPALIGN

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

SBS_HORZ

Если не указан стиль SBS_BOTTOMALIGN или SBS_TOPALIGN, то позиция, высота и ширина горизонтальной полосы прокрутки определяются аргументами х, у, nWidth и nHeight вызова функции CreateWindow

SBS_LEFTALIGN или SBS_RIGHTALIGN

В левом или правом краю прямоугольника, заданного аргументами вызова функции CreateWindow, создается вертикальная полоса прокрутки, ширина которой равна ширине системной полосы просмотра. Этот стиль используется вместе с SBS_VERT

SBS_SIZEBOX

Создается прямоугольник серого цвета. Если установить курсор мыши внутрь прямоугольника, нажать левую клавишу и перемещать мышь, родительское окно получает сообщения, аналогичные сообщениям от рамки изменения размера окна. Если стили SBS_SIZEBOXBOTTOMRIGHTALIGN и SBS_SIZEBOXTOPLEFTALIGN не указаны, то прямоугольник задается аргументами х, у, nWidth и nHeight функции CreateWindow

SBS_SIZEBOXBOTTOMRIGHTALIGN (SBS_SIZEBOXTOPLEFTALIGN)

Аналогично SBS_SIZEBOX, но правый нижний (левый верхний) угол прямоугольника выравнивается по правому нижнему (Левому верхнему) углу прямоугольника, определенного при вызове функции CreateWindow, а для высоты и ширины органа управления используются системные значения. Этот стиль применяется вместе с SBS_SIZEBOX

SBS_SIZEGRIP

Тот же самый, что и SBS_SIZEBOX, но с поднятым краем

SBS_VERT

Если не указан стиль SBS_RIGHTALIGN или SBS_LEFTALIGN, то позиция, высота и ширина вертикальной полосы прокрутки определяются аргументами вызова функции CreateWindow

Таблица 2.5. Список стилей окон класса "edit"

Стиль

Назначение

ES_AUTOHSCROLL

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

ES_AUTOVSCROLL

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

ES_CENTER

Центрировать строки по горизонтали

ES_LEFT

Выравнивать текст по левому краю окна ввода. Часто используется для задания однострочного редактора текста и комбинируется со стилем ES_AUTOHSCROLL

ES_LOWERCASE

Преобразовать вводимые символы в строчные

ES_MULTILINE

Многострочный редактор. Обычно комбинируют со стилями ES_WANTRETURN (для использования клавиши Enter в целях перехода на новую строку), ES_AUTOVSCROLL (для перелистывания текста по вертикали, иначе текст только сдвигается вверх при достижении нижнего края окна и подается звуковой сигнал), ES_AUTOHSCROLL (для перелистывания текста по горизонтали, иначе ввод автоматически переносится в начало следующей строки при достижении правого края окна). Для подключения полос просмотра многострочному редактору этот стиль комбинируют со значениями WS_HSCROLL и WS_VSCROLL. Функция окна многострочного редактора сама обрабатывает сообщения от полос просмотра

ES_NOHIDESEL

При потере фокуса ввода выделенный в окне фрагмент текста отображать в инверсном цвете. Если этот стиль не указан, выделение фрагмента пропадает до возврата фокуса ввода

ES_NUMBER

Разрешить ввод только цифр

ES_PASSWORD

Отображать звездочку (*) для каждого вводимого символа

ES_READONLY

Запрет редактирования текста в окне редактирования

ES_RIGHT

Выравнивать текст по правому краю окна

ES_UPPERCASE

Преобразовать вводимые символы в прописные

ES_WANTRETURN

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

Таблица 2.6. Список стилей окон класса "listbox"

Стиль

Пояснение

LBS_DISABLENOSCROLL

Вертикальную полосу просмотра отображать в неактивном состоянии (но не скрывать), если в списке помещаются все строки. Без указания стиля LBS_DISABLENOSCROLL в аналогичной ситуации вертикальная полоса просмотра пропадает. Используется, если нежелательно изменение внешнего вида списка

LBS_EXTENDEDSEL

С помощью клавиши Shift или мыши можно выделять несколько расположенных рядом строк

LBS_HASSTRINGS

Список родительскому окну посылает сообщение WM_VKEYTOITEM с кодом виртуальной клавиши LOWORD(wParam), с номером текущей строки HIWORD (wParam) и дескриптором списка lParam

LBS_MULTICOLUMN

Многоколоночный список. Количество колонок задают сообщением LB_SETCOLUMNWIDTH

LBS_MULTIPLESEL

С помощью клавиши Shift или мыши можно выделять несколько строк в любом месте списка

LBS_NOINTEGRALHEIGHT

Высота окна не обязательно кратна высоте строк

LBS_NOREDRAW

Не перерисовывать содержимое при добавлении или удалении строк

LBS_NOSEL

Определяет, что окно списка содержит единицы, которые могут просматриваться, но не выбран

LBS_NOTIFY

Сообщать о двойном щелчке мышью по строке

LBS_OWNERDRAWFIXED

Список строк одинаковой высоты, перерисовывается родительским окном

LBS_OWNERDRAWVARIABLE

Список строк переменной высоты, перерисовывается родительским окном

LBS_SORT

Сортировать строки в алфавитном порядке

LBS_STANDARD

Комбинация стилей LBS_NOTIFY, LBS_SORT, WS_BORDER и WS_VSCROLL. Обычно используют для создания простейшего одноколоночного списка

LBS_USETABSTOPS

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

LBS_WANTKEYBOARDINPUT

Родительское окно от списка получает сообщения WM_VKEYTOITEM или WM_CHARTOITEM при работе со списком при помощи клавиатуры. Это дает возможность приложению выполнить специальную обработку ввода с клавиатуры

Таблица 2.7. Список стилей окон класса "ComboBox"

Стиль

Пояснение

CBS_AUTOHSCROLL

Автоматическая свертка текста по горизонтали в окне редактирования

CBS_DISABLENOSCROLL

Вертикальную полосу просмотра отображать в неактивном состоянии, даже если в списке помещаются все строки

CBS_DROPDOWN

Подобен CBS_SIMPLE, но список остается в невидимом состоянии до тех пор, пока пользователь не нажмет пиктограмму, предназначенную для отображения списка

CBS_DROPDOWNLIST

Подобен CBS_DROPDOWN, но однострочный текстовый редактор может быть использован только для отображения текста, а не для редактирования

CBS_LOWERCASE

Преобразовать все символы в строчные

CBS_SIMPLE

Создается список, который всегда виден и расположен под окном однострочного редактора текста, содержащего выделенную в списке строку

CBS_SORT

Автоматически сортирует строки, введенные в окно списка

CBS_UPPERCASE

Преобразовать все символы в прописные