Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций Часть II.doc
Скачиваний:
14
Добавлен:
20.11.2018
Размер:
1.48 Mб
Скачать

2.1.3. Флажки и переключатели

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

В приложениях переключатели стилей BS_RADIOBUTTON и BS_AUTORADIOBUTTON используют аналогично кнопкам переклю­чения диапазонов в радиоприемнике. В одной группе располагают не­сколько таких "радиопереключателей", причем включенным может быть только один из них. Такие переключатели называют переключателями с зависимой фиксацией. Включение одного переключателя в группе вызывает выключение остальных.

Флажки BS_CHECKBOX, BS_AUTOCHECKBOX, BS_3STATE, BS_AUT03STATE используют как отдельные независимые флажки. В группе флажков одновременно могут быть включены несколько флажков.

С переключателем стиля BS_AUTORADIOBUTTON и флажком сти­ля BS_AUTOCHECKBOX работают так же, как и с кнопками стиля BS_PUSHBUTTON или BS_DEFPUSHBUTTON. При нажатии левой клавишей мыши такой переключатель или флажок автоматически изме­няет свое состояние. При этом неперечеркнутый квадратик становится перечеркнутым и, наоборот, перечеркнутый квадратик становится непе­речеркнутым. Состояние переключателя отмечается жирной точкой. При изменении состояния флажка или переключателя родительское окно по­лучает сообщение WM_COMMAND с кодом извещения BN_CLICKED.

Флажок стиля BS_3STATE или BS_AUT03STATE внешне похож на флажок стиля BS_CHECKBOX, но дополнительно имеет третье состоя­ние. В этом третьем состоянии он изображается серым цветом и может использоваться, например, для индикации недоступного для установки параметра.

Слово AUTO в названии стиля используют для обозначения режима ав­томатической перерисовки переключателя при изменении его состояния.

П 2.2. Статический орган управления

Статический орган управления - это окно класса "static". Он не посы­лает родительскому окну сообщение WM_COMMAND. Этот орган управления используют для оформления внешнего вида родительского окна. Статический орган управления имеет вид закрашенного или не за­крашенного прямоугольника или строк текста в заданном прямоуголь­нике (табл.8). Статические органы управления могут использоваться внутри диалоговых панелей для отображения пиктограмм.

Для создания статического органа управления вызывают функцию CreateWindow. В качестве первого параметра указывают "static".

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

HWND hStatic = CreateWndow("static", NULL,

WS_CHILD | WS.VISIBLE | SS_BLACKFRAME,

20,40,100,50, hwnd, (HMENU)O, hInstance.NULL);

Второй параметр определяет текст, который будет расположен внут­ри органа управления. Если текст не используется, этот параметр указы­вают как NULL.

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

Так как статический орган управления не посылает сообщения роди­тельскому окну, в качестве девятого параметра (идентификатор органа управления) можно указать любое число, например 0.

Стили статического органа управления определяют внешний вид и применение органа (табл.8). Статические органы управления удобно использовать для вывода текста.