- •Введение
- •Основные концепции объектно-ориентированного программирования
- •Принципы ооп
- •Архитектура программы при ооп
- •Объектно-ориентированные языки програм-мирования
- •Описание класса в Object Pascal
- •События и реакция на них
- •Интегрированная среда разработки
- •Интегрированная среда разработки Delphi 7: 1 – главное окно; 2 - окно Дерева объектов; 3 – окно Инспектора объектов; 4 – окно Проводника кода; 5 – окно Конструктора форм; 6 – окно Редактора кода
- •Характеристика проекта Delphi
- •Компиляция и выполнение проекта
- •Знакомство со средой программирования
- •Компонент Lable
- •Компонент Label
- •Инспектор объектов
- •Компонент Edit
- •Компонент Edit
- •Компоненты Button, BitBtn, SpeedButton
- •Примеры кнопок Button, BitBtn и SpeedButton
- •Пример приложения
- •Форма с размещенными на ней компонентами
- •Компоненты для работы с текстом
- •Строковый редактор
- •Пример работы с компонентом Memo
- •Компонент RichEdit
- •Примеры форматирования текста в компоненте RichEdit
- •Списки строк
- •Компонент ListBox
- •Пример работы со списками строк
- •Компонент ComboBox
- •Переключатели
- •Компонент CheckBox
- •Пример работы с независимыми переключателями
- •Компоненты RadioButton и RadioGroup
- •Пример работы с группой зависимых переключателей
- •Объединение элементов управления. Компонент Panel
- •Примеры различного оформления рамки панелей
- •Компоненты OpenDialog и SaveDialog
- •Диалоговое окно открытия файла
- •Редактор фильтра
- •Работа с меню
- •Компонент MainMenu
- •Конструктор меню
- •Компонент PopupMenu
- •Пример контекстного меню
- •Работа с базами данных
- •Средства для работы с базами данных
- •Создание баз данных с помощью Database Desktop
- •Окно выбора формата таблицы
- •Окно определения структуры таблицы
- •Пример структуры таблицы
- •Пример заполненной таблицы
- •Создание псевдонимов бд в bde Administrator
- •Диалоговое окно создания псевдонима бд
- •Главное окно Администратора bde
- •Компоненты для работы с бд
- •Пример приложения
- •Форма с компонентами Table, DataSource и dbGrid
- •Редактор полей таблицы
- •Пример таблицы с измененными свойствами
- •Работа с графикой
- •Пример работы с графикой
- •Лабораторное задание
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Пример работы со списками строк
Свойство Columns определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента ListBox.
Свойство Sorted позволяет упорядочить список по алфавиту.
Компонент ComboBox
Комбинированный список ComboBox представляет собой комбинацию списка ListBox и редактора Edit , и поэтому большинство его свойств и методов заимствованы у этих компонентов.
Поведение ComboBox в основном определяется значением его свойства Style:
csDropDown - обычное поле со списком, которое допускает непосредственное редактирование и по запросу отображает список;
csDropDownList - поле со списком, которое не допускает редактирования;
csSimple – поле с постоянно раскрытым списком; для того чтобы список был виден, необходимо увеличить высоту (свойство Height) компонента ComboBox;
csOwnerDrawFixed – список с элементами одинаковой высоты, которую задает свойство ItemHeight;
csOwnerDrawVariable – список с элементами, которые могут иметь разную высоту.
Свойство DropDownCount типа integer определяет количество строк, которые одновременно отображаются в раскрывающемся списке. Если значение свойства меньше числа строк списка, то на раскрывающемся списке автоматически появляется вертикальная полоса прокрутки.
Свойство DroppedDown типа boolean позволяет определить, раскрыт ли список. Если свойство имеет значение true, то список отображается в раскрытом виде, в противном случае список свернут. Свойство DroppedDown действует только, если Style имеет значение, не равное csSimple.
При работе с комбинированным списком генерируются следующие события:
OnDropDown – открытие списка;
OnCloseUp – закрытие списка;
OnSelect – выбор элемента;
OnChange – изменение текста в поле редактирования.
Например, пусть надо при выборе новой строки в списке ComboBox1 записать эту строку в Edit1:
// - - - - Object Pascal - - - -
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Edit1.Text := ComboBox1.Text;
end;
// - - - - - - - C++ - - - - - - -
void __fastcall TForm1::ComboBox1Click(TObject *Sender)
{
Edit1->Text = ComboBox1->Text;
}
Переключатели
Компонент CheckBox
Переключатели (флажки) позволяют выбрать какое-либо значение из определенного множества. Они могут находиться во включенном (установленном) или выключенном (сброшенном) состояниях. Анализ состояния переключателя позволяет программисту выполнять соответствующие операции.
Компонент CheckBox представляет собой переключатель с независимой фиксацией. Данный переключатель действует независимо от других подобных переключателей.
Текст, расположенный рядом с флажком, задается свойством Caption. По умолчанию текст располагается справа от флажка, но можно расположить текст слева, изменив значение свойства Alignment.
Для определения состояния переключателя используется свойство Checked типа boolean. По умолчанию оно имеет значение false, и переключатель выключен.
Пользователь может переключать флажок щелчком мыши. Если флажок выключен, то после щелчка он становится включенным, и наоборот. При этом соответственно изменяется значение свойства Checked. Кроме того, флажок можно переключить и с помощью клавиши <Пробел>.
Флажком можно управлять программно, устанавливая свойству Checked требуемые значения.
Сделать флажок недоступным для изменения (заблокировать) можно, присвоив свойству Enabled значение false.
При изменении состояния переключателя возникает событие OnClick, независимо от того, в какое состояние он переходит. В обработчике события OnClick обычно располагаются операторы, выполняющие проверку состояния переключателя и осуществляющие требуемые действия.
Например, изменим текст при изменении состояния переключателя:
// - - - - Object Pascal - - - -
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked
then CheckBox1.Caption := 'Флажок №1 установлен'
else CheckBox1.Caption := 'Флажок №1 снят';
end;
// - - - - - - - C++ - - - - - - -
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if (CheckBox1->Checked)
CheckBox1->Caption = "Флажок №1 установлен";
else
CheckBox1->Caption = "Флажок №1 снят";
}
Поместим на форму еще 2 флажка и напишем для них аналогичный код (рис. 12).