Шаг 62.
Автоматизация Microsoft Word. Создание таблиц и работа с ними. Изменение положения таблицы и ее строк

    На этом шаге мы рассмотрим способы изменения положения таблицы и ее отдельных строк.

    Как ранее было сказано, таблица создается в определенной области, которая определяется как аргумент метода Add. Таблица вставляется в промежуток между символами текста или накладывается на область текста. Когда таблица создана, мы можем изменить ее положение относительно левой границы документа или по вертикальному направлению в документе. Положение таблицы по вертикали определяется текстом, расположенным в документе до таблицы. Положение таблицы относительно левой границы страницы документа определяется свойствами самой таблицы. Рассмотрим эти свойства подробней.

    Таблица включает в себя коллекции, объекты и другие свойства. Коллекция Rows объекта "таблица" определяет набор ее строк и общие свойства, присущие им. Свойство LeftIndent этой коллекции определяет положение таблицы относительно левой границы листа. Это свойство имеет числовой тип и может принимать как положительные, так и отрицательные значения.

    Используя значение LeftIndent, можно не только задать, но и изменить горизонтальное положение таблицы. Как и сама коллекция Rows, элемент этой коллекции, представляющий собой одну указанную строку, также имеет свойство LeftIndent. В данном случае оно определяет положение строки относительно левой границы документа. Остается добавить, что доступ к элементу коллекции Rows осуществляется через объект Item(i), где i - номер строки. Попробуем изменить горизонтальное положение таблицы и выбранной строки, для этого используем следующий программный код:

procedure TForm1.LeftPosChange(Sender: TObject);
//Запоминание левого отступа всей таблицы
begin
  table.Rows.LeftIndent:=StrToInt(LeftPos.Text);
end;

procedure TForm1.LeftPosRow1Change(Sender: TObject);
//Запоминание левого отступа впервой строки
begin
  table.Rows.Item(1).LeftIndent:=StrToInt(LeftPosRow1.Text);
end;
Текст этого приложения можно взять здесь (7,4 Кб).

    Результат работы приложения изображен на рисунке 1:


Рис.1. Результат работы приложения

    На рисунке 1 представлена форма, в которой задаются эти изменения. Компонент ListBox1 выбирает таблицу из списка и помещает ссылку на таблицу в переменную table типа variant. Компоненты LeftPos и LeftPosRow1 задают положение всей таблицы и первой строки соответственно.

    Рассмотрим еще некоторые свойства коллекций и элементов коллекций строк и столбцов, которые в большинстве своем аналогичны. Есть только различия, определяемые расположением этих элементов таблицы - если строки имеют параметр "высота", то столбцы имеют параметр "ширина".

    В состав коллекций Rows и Columns входит свойство, содержащее количество строк и столбцов таблицы Count.

    Доступ к отдельным строкам и столбцам осуществляется посредством объекта Item(). Чтобы задать высоту строки, используем свойство Height элемента коллекции Rows.Item(). Например:

  table.Rows.Item(1).Height:=21;.

    Для задания высоты одновременно всех строк таблицы используйте оператор

    table.Rows.Height:=21;. 

    Если попытаться задать слишком маленькую высоту строки, получим ошибку выполнения. Для задания ширины столбца используется свойство Width элемента коллекции Columns.Item(). Например, для задания ширины первого столбца используем следующий оператор Delphi:

    table.Columns.Item(1).Width:=43;. 

    Для задания одинаковой ширины всех столбцов используйте оператор:

    table.Columns.Width:=43;.

    На следующем шаге мы рассмотрим задание границ и заливку ячеек таблицы.




Предыдущий шаг Содержание Следующий шаг