- •В.В. Чуркин
- •Содержание
- •Ознакомление с Интегрированной Средой Разработки (иср)
- •Основное окно иср
- •Библиографический список
- •Занятие 1 Формы и компоненты Включение в проект новой формы
- •Размещение компонентов на форме
- •Депозитарий – хранилище форм и проектов
- •Задание 7. Опробовать режимы заимствования форм из Депозитария
- •Контрольные вопросы
- •Библиографический список
- •Занятие 2 Отладка приложений Компиляция и компоновка проекта
- •Сообщения компилятора и компоновщика
- •Действия в случае ошибки выполнения
- •Дальнейшие действия
- •Окно наблюдения Список Часов
- •Окно оценки и модификации Оценить|Изменить
- •Пошаговое выполнение приложения
- •Точки прерывания
- •Использование окна Инспектора Отладки
- •Другие средства отладки
- •Контрольные вопросы
- •Библиографический список
- •Занятие 3 Компоненты ввода и отображения текстовой информации
- •Компоненты Label, StaticText, Panel
- •Компоненты Edit, LabeledEdit, MaskEdit
- •Компоненты Memo, RichEdit
- •Компоненты ListBox, CheckListBox, ValueListEditor
- •Компонент StringGrid
- •Контрольные вопросы
- •Библиографический список
- •Занятие 4 Диаграммы и графики Компонент Chart
- •Компонент Image
- •Контрольные вопросы
- •Библиографический список
- •Контрольные вопросы
- •Библиографический список
- •Формирование квадратных матриц
- •Контрольные вопросы
- •Библиографический список
- •Кнопки, индикаторы, управляющие элементы
- •Управляющие кнопки Button и BitBtn
- •Кнопка с фиксацией SpeedButton
- •Группы радиокнопок − компоненты RadioGroup, RadioButton и GroupBox
- •Индикаторы CheckBox и CheckListBox
- •Ползунки и полосы прокрутки − компоненты TrackBar и ScrollBar
- •Заголовки − компоненты HeaderControl и Header
- •Таймер − компонент Timer
- •Календарь − компонент DateTimePicker
- •Панели и компоненты внешнего оформления
- •Панели общего назначения − компоненты Panel,
- •Многостраничные панели − компоненты TabControl,
- •Инструментальные панели − компоненты ToolBar и PageScroller
- •Перестраиваемые панели − компоненты CoolBar и ControlBar
- •Контрольные вопросы
- •Библиографический список
- •Занятие 8 Системные диалоги
- •Диалоги открытия и сохранения файлов – компоненты
- •Фрагменты диалогов – компоненты
- •Диалог выбора шрифта – компонент FontDialog
- •Диалоги выбора цвета – компоненты ColorDialog, ColorBox
- •Контрольные вопросы
- •Библиографический список
- •Занятие 9 Технология разработки приложений. Диспетчеризация действий
- •Диспетчеризация действий на основе компонента ActionList
- •Диспетчеризация действий на основе компонентов ActionManager, ActionMainMenuBar, ActionToolBar, CustomizeDlg
- •Контрольные вопросы
- •Библиографический список
- •Занятие 10 Динамически присоединяемые библиотеки dll Назначение dll
- •Статическое и динамическое связывание dll с приложением
- •Создание dll
- •Примеры статического и динамического связывания dll
- •Контрольные вопросы
- •Библиографический список
Индикаторы CheckBox и CheckListBox
Индикаторы с флажком CheckBox используются в основном для того, чтобы пользователь мог включать и выключать какие-то опции, или для индикации состояния.
При каждом щелчке пользователя на индикаторе его состояние изменяется, проходя последовательно через три значения (при значении свойства AllowGrayed равном true): промежуточное (серое окно индикатора и серая галочка), выделение (появление черной галочки) и не выделенное (пустое окно индикатора).
Этим трем состояниям соответствуют три значения свойства State: cbGrayed, cbChecked, cbUnchecked. При AllowGrayed = false (значение по умолчанию), допускается только два состояния: выделенное и невыделенное. И State, и AllowGrayed можно устанавливать во время проектирования или программно во время выполнения.
Проверять состояние индикатора можно не только по значению State, но и по значению свойства Checked. Если Checked равно true, то индикатор выбран, т.е. State = cbChecked. Если Checked равно false, то State равно cbUnchecked или cbGrayed. Установка Checked в true во время проектирования или выполнения автоматически переключает State в cbChecked.
В индикаторе CheckBox надпись задается свойством Caption, а ее размещение по отношению к индикатору − свойством Alignment.
Список CheckListBox − это еще один компонент, имеющий индикаторы (см. раздел «Компоненты ввода и отображения текстовой информации»). Каждая строка списка имеет индикатор, состояние которого пользователь может изменять.
Состояния индикаторов определяют два свойства: State и Checked. Оба эти свойства можно рассматривать как индексированные массивы, каждый элемент которого соответствует индексу строки. Общее количество элементов определяется свойством Count (только для чтения). Поскольку индексы начинаются с нуля, то индекс последнего элемента равен Count – 1.
Свойства State и Checked можно устанавливать программно или читать, определяя установки пользователя. Например, операторы
CheckListBox1->Checked[1] = true;
CheckListBox1->State[2] = cbGrayed;
Устанавливают индикатор второй строки списка CheckListBox1 в состояние выбранного, а индикатор третьей строки − в промежуточное состояние.
Оператор
for(int i=0; i < CheckListBox1->Items->Count; i++)
if(CheckListBox1->Checked[i] …
проверяет состояние всех индикаторов списка, и для выбранных пользователем строк осуществляет какие-то действия (многоточие).
В компоненте CheckListBox имеется событие OnClickCheck, возникающее при каждом изменении пользователем состояния индикатора. Его можно использовать для обработки результатов изменения.
Продолжим выполнение задания 3.
Перенесите на форму панель Panel, на которой по горизонтали разместите метку Label с надписью CheckBox и два индикатора CheckBox с надписями опция 1 и опция 2 соответственно. В первом индикаторе свойство AllowGrayed установите в false, а во втором − в true. Выполните приложение. Убедитесь в том, что первый индикатор имеет два положения, а второй − три.