Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Создание и использование




Компоненты ListBox, ComboBox и Memo, расположены на первой же вкладке палитры компонентов.

Каждая строка компонентов ListBox и ComboBox является объектом Items[i], а Memo - Lines[i], где i - номер строки, который отсчитывается от нуля. Добавление строк в компоненты выполняется методами Addи Insert:

 

begin
Memo1.Lines.Add('Первая строка');
ComboBox1.Items.Add('Первая строка');
ComboBox1.Items.Add('Вторая строка');
ListBox1.Items.Add('Первая строка');
ListBox1.Items.Add('Вторая строка');
end;

Метод Add добавляет новую строку в конец. Метод Insert имеет дополнительный параметр, указывающий, после какой строки разместить новую строку. Доступ к строкам осуществляется так:

ComboBox1.Items[0] := 'Первая строка изменилась';
ListBox1.Items[1] := 'Вторая строка изменилась' ;

У компонента ComboBox дополнительно есть свойство Text, где (как и у компонента Edit) находится вводимый текст:

ComboBox1.Text := 'Вводимый текст ';

 

На выделенную в данный момент строку компонента ComboBox указывает свойство ItemIndex типа Integer, то есть это номер выделенной строки. Следовательно, получить саму выделенную строку компонентаComboBox можно следующей конструкцией:

 

S := ComboBox1.Items[ComboBox1.ItemIndex];

или, пользуясь оператором присоединения

With ComboBox1 do
S := Items[ItemIndex];

Вот как по нажатию клавиши Enter можно заносить в этот компонент вводимую в строку информацию и удалять нажатием Escape:

Выделите на Форме ComboBox и перейдите в Инспектор объектов, на вкладку Events. Щёлкните дважды по обработчику OnKeyPress. Система Delphi создаст заготовку обработчика. Напишите:

begin
if Key = #13 then
ComboBox1.Items.Add(ComboBox1.Text)
if Key = #27 then;
ComboBox1.Items.Delete(ComboBox1.Items.Count-1);
end;

Key - определённая в этом обработчике переменная, содержащая код нажатой клавиши, #13 и #27 - коды клавиш Enter и Escape соответственно. Items.Count - количество содержащихся в компоненте строк. Так как отсчёт строк идёт от нуля, мы отнимаем единицу. После очередного удаления количество строк меняется, таким образом, Items.Count-1 всегда указывает на последнюю строку. Последовательно нажимая Escape, мы можем удалить все строки. Командой
ComboBox1.Items.Delete(0);
можно добиться того же эффекта, только удаляться будут первые строки. Впрочем, чтобы стереть всё сразу, есть метод Clear.

Компонент Delphi StringGrid (Таблица строк) расположен на странице Additional Палитры компонентов. Использование электронных таблиц пользователями компьютеров стало привычным и достаточно удобным средством в работе с данными. С помощью компонента StringGrid создаются таблицы, в ячейках которых содержаться произвольные текстовые данные. Он является прямым потомком компонента DrawGrid, много свойств и методов унаследовано от него.

Основное свойство компонента StringGrid - это двумерный массив Cells[ACol, ARow : integer] типа String с помощью него можно обращаться к содержимому ячеек и изменять их содержание. ACol устанавливает номер столбца, ARow - задает строку в таблице. Этим свойством можно воспользоваться только во время выполнения программы, оно доступно для записи и чтения.

Нумерация строк и столбцов идет с нуля. Свойство ColCount задает число столбцов, RowCount - число строк.

Компонент StringGrid по умолчанию слева и сверху имеет заголовочные области, они имеют серый цвет. Количество подобных строк и столбцов устанавливается в свойствах FixedCols и FixedRow. Если же для таблицы не нужны заголовочные области, то эти свойства должны быть равны нулю.

Для закрепления материала давайте создадим приложение, которое покажет нам таблицу умножения. На форму шириной (Width) равной 365 и высотой (Height) 389 поместим компонент StringGrid. Обработчик onCreate формы (возникает двойным щелчком мыши по форме) будет таким:

procedure TForm1.FormCreate(Sender: TObject);var x, y : integer;begin // Задаем число столбцов и строк таблицы StringGrid1.ColCount := 10; StringGrid1.RowCount := 10; // Задаем шируну и высоту ячеек StringGrid1.DefaultColWidth := 30; StringGrid1.DefaultRowHeight:= 30; // раставляем цифры от 1 до 9 в // горизонтальной области заголовка for x := 1 to StringGrid1.ColCount - 1 do StringGrid1.Cells[x, 0] := IntToStr(x); // растравляем цифры от 1 до 9 в // вертикальной области заголовка for y := 1 to StringGrid1.ColCount - 1 do StringGrid1.Cells[0, y] := IntToStr(y); // выводим результаты умножения в ячейки таблицы for x := 1 to StringGrid1.ColCount - 1 do for y := 1 to StringGrid1.RowCount - 1 do StringGrid1.Cells[x, y] := IntToStr(x*y);end;

Запустим приложение внешний вид его будет примерно таким:

Итог: нами был рассмотрен компонент StringGrid, его свойства и методы.


Поделиться:

Дата добавления: 2015-09-15; просмотров: 81; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты