Практикум: Колонтитулы

Оформление колонтитула или, как принято говорить «шапки» планшета сводится к заполнению пространства отведенного под колонтитул элементами оформления («объектами колонтитула»). На колонтитуле можно размещать произвольное количество текстовых полей («текст»), автоматически заполняемых полей («автотекст») и рисунков («рисунок»). Каждый объект может быть оформлен определенным образом (размер, позиция, рамка, цвет заливки). Кроме того, можно задавать позицию и размер объектов с помощью мыши или путем задания точных числовых значений соответствующих параметров. В случае работы с мышью существует возможность «приклеивания» объектов друг к другу, что очень удобно при построении таблиц. Также существует возможность управлять поведением объектов колонтитула при изменении ширины планшета и способом наложения объектов при перекрытии. К дополнительным возможностям, облегчающим работу с объектами колонтитула, следует отнести также возможность группового выравнивания объектов друг относительно друга, групповые операции по изменению свойств объектов (например, цвета заливки или шрифта) и групповые операции по «перетаскиванию» объектов. Помимо перечисленных выше объектов, на колонтитуле могут быть размещены объекты «Легенда», поясняющие значение заливок, использованных при построении литологических колонок. Естественно, что операция вставки объекта «Легенда» доступна только в случае наличия на планшете хотя бы одной литологической колонки. Рассмотрим основные приемы работы с перечисленными выше объектами и попробуем разработать несложный заголовок каротажной диаграммы для иллюстрации работы с объектами и их свойствами. Для вставки любого объекта на заголовок диаграммы необходимо подвести курсор мыши к месту, где предположительно должен находиться правый верхний угол вставляемого объекта и нажать правую кнопку мыши. В появившемся контекстном меню следует выбрать пункт «Вставить» и из появившегося списка выбрать нужный объект. Используя описанный выше прием, вставим на заголовок объект «Текст». После выполнения команды на заголовке появится «бегущий» прямоугольник с надписью «Новый текст» и диалоговое окно со свойствами объекта.

Этот объект мы используем для того, чтобы написать на планшете название каротажного комплекса. Для этого переместимся в окно редактирования текста и вместо надписи «Новый текст» напишем «Стандартный каротаж». Затем нажмем кнопку «Шрифт». В появившемся стандартном диалоговом окне «Шрифт» выберем начертание «Жирный», цвет «Темно-синий» и размер «48пт».

Нажмем кнопку «Ок», чтобы вернуться в окно «Форматирование текста» и нажмем кнопку «Закрыть», для того, чтобы увидеть результаты форматирования. Результат должен выглядеть примерно так:

Обратите внимание на то, что весь набранный текст не поместился в прямоугольнике, окаймляющем объект. Очевидно, что для придания надписи нормального вида следует, как минимум, увеличить ширину объекта, а может быть и высоту. Сделать это можно двумя способами. Щелкните правой кнопкой мыши на объекте и в появившемся контекстном меню выберите пункт «Позиция и размер…». Изменяя значения соответствующих полей в появившемся окне «Позиция и размер объекта» можно точно в сантиметрах задать ширину объекта, его высоту, а также координаты правого верхнего угла объекта.

Второй способ изменения положения и размера объекта предполагает использование мыши. Для того, чтобы изменить положение объекта нужно просто «перетащить» его мышью в другое место. Для изменения же размеров объекта нужно «захватить» мышью серый треугольник в правом нижнем углу объекта и «перетаскивая» его установить новый размер объекта. Воспользовавшись вторым способом, изменим позицию и размеры объекта так, чтобы текст полностью поместился внутри прямоугольника, окаймляющего объект, а сам объект расположился приблизительно по центру заголовка диаграммы.

Обратите внимание на то, что на прошлом рисунке объект был обведен прерывистой рамкой. На этом рисунке объект без рамки. Бегущая прерывистая рамка указывает на то, что объект выделен. Одновременно могут быть выделены несколько объектов. Для того, что выделить один объект, необходимо «щелкнуть» на нем мышью. После этого вокруг него появится бегущая прерывистая рамка. Повторный «щелчок» мышью на выделенном объекте снимает выделение. Для того, чтобы выделить несколько объектов, существует два способа. Если выделять объекты мышью, удерживая нажатой клавишу «Ctrl», то каждый новый объект будет добавляться к группе уже выделенных объектов. Таким же образом можно удалять объекты из группы выделенных. Снять выделение со всех, выделенных на планшете объектов можно, нажав клавишу «Esc». Еще можно выделить группу объектов, обведя их рамкой. Для этого «щелкните» левой кнопкой мыши на заголовке и, удерживая ее нажатой, потяните курсор мыши. Появится «резиновая» рамка. Перемещайте курсор мыши таким образом, чтобы охватить рамкой те объекты, которые должны быть выделены. После отпускания левой кнопки мыши вокруг выделенных объектов появится бегущая прерывистая рамка. Над группой выделенных объектов могут производиться групповые операции, которые будут рассмотрены ниже в этой главе.
Под названием каротажного комплекса резонно было бы разместить название площади и номер скважины, интервал отображения и масштаб вывода. Конечно мы могли бы сделать это, используя объект «Текст» так же, как мы отображали название каротажного комплекса. Недостаток такого подхода состоит в том, что при повторном использовании созданного планшета для вывода информации по другой скважине или в другом масштабе нам пришлось бы опять редактировать заголовок диаграммы. Для того, чтобы обойти это неудобство разработчиками был предложен объект «Автотекст». Этот объект имеет такие же свойства, как и объект «Текст» и используется примерно таким же способом. Отличие состоит только в том, что вместо текста, который должен быть отображен, «Автотексту» указывается имя внутренней переменной, в которой хранится значение для отображения, а также способ форматирования этого значения. Рассмотрим использование «Автотекста» на примере. Таким же способом, каким мы вставляли «Текст» вставим «Автотекст» на заголовок диаграммы.

В диалогом окне «Свойства поля автотекст» из списка параметров выберем параметр «Площадь_Скважина». В поле «Формат» появится символ «%s». В данном случае этот символ обозначает, что значение переменной «Площадь_Скважина» должно быть выведено в виде текстовой строки. Если сейчас нажать кнопку «Закрыть» на диалоговом окне, заголовок нашей диаграммы приобретет следующий вид.

Надпись «Данные не загружены» будет заменена на реальное название площади и номер скважины после того, как в планшет будут загружены геофизические данные. Теперь вы можете использовать этот планшет в качестве шаблона и, в зависимости от того, какие данные в него будут загружены, имя площади и номер скважины будут изменяться автоматически. Таким же образом можно использовать объект «Автотекст» и для отображения значений других внутренних переменных планшета. В общем случае в планшете может существовать произвольное количество внутренних переменных. Например, прикладные управляющие модули могут сами создавать переменные, в которых могут сохраняться результаты их работы. Так модуль «Профилемер» в процессе своей работы заносит в планшет несколько переменных, в которых хранятся значения объема затрубного пространства, объема скважины и т.д. Естественно, значения всех этих переменных могут быть вынесены в заголовок планшета путем использования объекта «Автотекст». Но помимо пользовательских переменных существует набор стандартных переменных, которые есть в любом планшете. Ниже в таблице перечислены их названия и смысл.

Имя

Значение

Тип

1

Имя_Шаблона

Имя файла без расширения

Строка

2

Кровля

Кровля интервала отображения

Веществ.

3

Кровля_Подошва

Значение кровли и подошвы в виде «3300.2 – 3400.6»

Строка

4

Масштаб

Целое число, обозначающее знаменатель масштаба вывода по глубине

Целое

5

Площадь

Название площади

Строка

6

Площадь_Скважина

Строка вида «Плодовая 2-р», обозначающая имя площади и номер скважины

Строка

7

Подошва

Подошва интервала отображения

Веществ.

8

Скважина

Имя скважины

Строка

Напомню, что когда мы создавали поле «Автотекст» для вывода параметра «Площадь_Скважина», то в поле «Формат» диалогового окна «Свойства поля автотекст» появилась строка «%s», которая указывала на способ форматирования значения переменной. Вообще в поле «Формат» может быть введен любой текст, и этот текст будет отображен на заголовке планшета. Но у этого текста есть одна важная особенность: если в нем встретится слово, начинающееся с символа «%», то на место этого слова будет вставлено значение переменной «Автотекста». Причем, если символ «%» указывает на место вставки значения, то следующие за ним символы указывают на способ форматирования значения переменной. Рассмотрим примеры наиболее часто встречающихся вариантов строки «Формата».

Тип

Значение

Строка формата

Отображаемая строка

1

Строка

Плодовая 2-р

Скважина: %s

Скважина: Плодовая 2-р

2

Целое

200

Масштаб: 1:%d

Масштаб: 1:200

3

Веществ.

2560.2

Кровля: %.2f

Кровля: 2560.20

В строке 1 таблицы символ «%s» заставляет выводить строковое значение переменной так, как оно есть, т.е. в виде строки, которая подставляется вместо символа «%s». Аналогично действует и символ «%d» в строке 2 с той лишь разницей, что вместо строки выводится целое число. В строке 3 таблицы использована более сложная конструкция. Нетрудно догадаться, что «%f» указывает на необходимость вывода вещественного числа, а символ «.2» указывает на количество знаков после десятичного разделителя, которые должны быть выведены.
Для того, чтобы увидеть, какие переменные загружены в планшет, какой имеют тип и формат отображения, удобно использовать управляющий модуль «Параметры». На рисунке изображен внешний вид окна этого модуля.

Вернемся к нашему планшету. Помимо имени площади и номера скважины мы собирались разместить на заголовке интервал и масштаб вывода. Как видно из предыдущего рисунка, в планшете присутствуют соответствующие переменные, а это значит, что для решения поставленной задачи удобно использовать объект «Автотекст». Следуя описанному выше алгоритму, мы могли бы вставить на заголовок планшета еще два «Автотекста» и в качестве параметров отображения выбрать имена соответствующих переменных. Но для того, чтобы проиллюстрировать дополнительные возможности программы, мы используем альтернативный подход. Если «перетащить» мышью объект, удерживая нажатой клавишу «Ctrl», то программа создаст еще одну копию этого объекта. Повторив эту операцию дважды, на заголовке планшета мы получим еще два экземпляра объекта «Автотекст». Теперь планшет приобретет такой вид:

«Щелкнем» правой кнопкой мыши на среднем «Автотексте» и в появившемся контекстном меню выберем пункт «Текст…». Появится диалоговое окно «Свойства поля автотекст». Из списка «Параметры» выберем «Масштаб» и закроем диалоговое окно. Ту же операцию повторим для среднего «Автотекста», только вместо параметра «Масштаб» выберем параметр «Кровля_Подошва». Теперь наш планшет выглядит так:

Естественно, нам бы хотелось, чтобы все тексты были выровнены по вертикали друг относительно друга. Мы могли бы «перетаскивать» их мышью, подгоняя под желаемый вид, но это не всегда удобно да и точность такой подгонки невелика. Используем еще одну возможность программы. В данном случае речь пойдет о групповых операциях. Выделим все три «Автотекста» одним из описанных выше способов. «Щелкнем» правой кнопкой мыши на верхнем «Автотексте». В появившемся контекстном меню выберем пункт «Выравнивание» и подпункт «По левому краю». В результате выполнения команды все выделенные объекты будут выровнены по левому краю того объекта, из контекстного меню которого вызывалась команда. В результате планшет будет выглядеть так:

Обратим ваше внимание на то, что таким образом можно применять к группе объектов и другие способы выравнивания, список которых появляется в раскрывающемся подменю при выборе команды «Выравнивание». Следует отметить, что помимо выравнивания группу объектов можно «перетаскивать», а также изменять другие свойства объектов, такие как параметры шрифта, стиль рамки, цвет фона и т.д.
Теперь попробуем добавить на заголовок маленькую таблицу. Для этого нам придется увеличить размер заголовка. Это можно сделать таким же способом, каким мы изменяли размер других объектов, т.е. либо «потянуть» мышью серый треугольник в правом нижнем углу заголовка, либо ввести размеры заголовка в соответствующие поля диалогового окна «Позиция и размер…», которое доступно из контекстного меню заголовка. Отметим сразу, что изменять можно только высоту заголовка, ширина же его устанавливается программой автоматически в соответствии с общей шириной планшета. «щелкнем» правой кнопкой мыши на пустом месте заголовка и с появившегося контекстного меню выберем пункт «Позиция и размер…». В появившемся окне введем «7» в поле «Высота». Вы заметите, что у нас появилось дополнительное свободное место. Вставим туда новое поле «Текст» с текстом «Колонка 1». Расположим его под имеющимися надписями у левой границы заголовка. С помощью мыши и клавиши «Ctrl» создадим еще четыре копии этого объекта. Выделим все эти объекты. Из контекстного меню любого из них выберем пункт «Границы и заливка…». В появившемся окне установим флажок «Отобразить рамку…», закроем окно и нажмем «Esc», чтобы сбросить все выделения. После этого наш заголовок будет выглядеть примерно так:

Созданные нами объекты вполне могли бы быть ячейками таблицы. Для этого их надо расположить так, друг относительно друга, чтобы их границы соприкасались с учетом выравнивания, т.е. они бы выглядели «приклеенными» друг к другу. Добиться «приклеивания» можно, «подтащив» мышью объект к месту, где он должен примерно находиться, удерживая при этом нажатой клавишу «Shift». Применяя этот способ, расположим наши объекты так, как показано на рисунке:

Выделите три объекта в верхней строке. В контекстном меню любого из них выберите пункт «Границы и заливка…», нажмите кнопку «Цвет фона>>» и в стандартном окне выбора цвета выберите желтый. Закройте окно выбора цвета и нажмите кнопку «Да» в окне «Границы и заливка». Фон выделенных объектов изменится с белого на желтый. Таким образом, мы использовали групповую операцию по замене цвета фона для выделения заголовков столбцов таблицы. Копируя объекты и «приклеивая» их, вы можете легко добавить в таблицу недостающие ячейки. После этого таблица примет следующий вид:

Для того, чтобы вставить на заголовок каротажной диаграммы рисунок (обычно это логотип компании), «щелкнем» правой кнопкой мыши на свободном месте заголовка и в появившемся контекстном меню выберем пункт «Вставить -> Рисунок».

...