Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
menyu_edit.docx
Скачиваний:
11
Добавлен:
13.09.2019
Размер:
251.44 Кб
Скачать

9.9. Окно настройки параметров печати (printdig)

Диалоговое окно, предназначенное для установки параметров печати, появляется в результате обращения к функции printdig (рис. 9.8).

Она допускает несколько форматов вызова:

printdig

printdig(hFig)

printdig('-crossplatform',hFig)

printdig('-setup',hFig)

Указатель hFig задается в том случае, если предполагаемые установки относятся к графическому окну, которое не является текущим. Параметр-crossplatform отображает диалоговое окно для подготовки печати на кросс-платформах Microsoft Windows и Macintosh. При его задании появляется окно.Основная особенность этого окна заключается в большом количестве доступных драйверов принтеров, вывод на которые возможен либо с использованием сетевых устройств печати, либо путем подготовки файлов и переноса их на другие компьютеры. Раскрывающийся список Driver (Драйвер) включает более 30 позиций.. Не менее впечатляет список возможностей, открывающихся по кнопке Options (Опции). Обращение printdlg (' -setup,fig) вынуждает диалоговое окно появиться в режиме установки.

Любой графический объект обладает определенным набором свойств, каждое из которых имеет индивидуальное имя. Для опроса текущего или установки нового значения того или иного свойства предназначены функции get и set:

v = get(h,'Свойство')

set(h,'Свойство',Новое_значение)

Первая из них возвращает значение указанного свойства, которым обладает графический объект с указателем h. Вторая изменяет текущее значение указанного свойства. Обе функции допускают различные варианты обращения. В качестве первого аргумента может выступать массив указателей, и тогда соответствующая операция распространяется на группу объектов. Результат, возвращаемый функцией get, в этом случае представлен массивом ячеек, длина которого совпадает с длиной вектора h. В каждую ячейку результата заносится значение указанного свойства для соответствующего объекта. Аргумент 'свойство’ тоже может быть представлен не только скалярным значением, но и массивом ячеек, значение каждой из которых определяет имя соответствующего свойства.

К функции get можно обратиться и с единственным аргументом — get(h). В этом случае она возвращает значения всех свойств указанного объекта в виде пар имя = значение

Функция set тоже допускает различные варианты обращения, основная идея которых заключается в задании множества пар "имя — значение":

set(h,'Свойство_1',Значение_1,'Свойство_2',Значение_2,...)

set(h,struct)

set(h,cell_name,cell_value)

В первом случае имена свойств и соответствующие им значения перечисляются в виде списка переменной длины. Во втором случае аналогичные пары задаются как значения полей структуры struct . В третьем случае группа имен задается ячейками массива cell_name, а соответствующий им набор значений — ячейками массива cell_value .

Корнем генеалогического дерева является класс Root, символизирующий экран дисплея. Единственным объектом этого класса выступает наше приложение, которое система создает автоматически. Полный перечень его свойств и набор соответствующих им значений можно получить, обратившись к функции get с нулевым указателем.

Свойство CurrentFigure задает номер текущего графического окна. В качестве такового может выступать только что созданное графическое окно либо активизированное пользователем или программой в результате выполнения одной из команд:

• figure (h) % — окно с указателем h выдвинуто на передний план;

• set (0, 'CurrentFigure',h) % — активизировано окно с указателем h.

Свойства Format и Formatspacing задают формат вывода числовых данных, наличие или отсутствие дополнительных пустых строк.

Свойство MonitorPositions определяет координаты левого верхнего угла монитора (0, 0) и разрешение в пикселах, установленное в данный момент (1024x768).

В свойстве units хранится установленная система измерения длин. Допустимый набор значений представляют следующие константы:

• normalized — при этом левым нижним углом поля вывода считается точка с координатами (0, 0), правым верхним — точка с координатами (1.0, 1.0). Приведением программных значений координат к фактическому размеру окна занимается система. Это позволяет менять размеры гра-

фического окна с одновременной адаптацией поля графика;

- pixels — все размеры задаются в пикселах, и пересчет программных координат в пиксели выполняется программой пользователя;

• inches — все размеры задаются в дюймах (1 дюйм = 2,54 см) и не меняются при изменении габаритов графического окна;

• centimeters — все размеры задаются в сантиметрах и не меняются при изменении габаритов графического окна;

• points — все размеры задаются в пунктах (1 пункт = 1/72 дюйма = 0,3528 мм) и не меняются при изменении габаритов графического окна;

• characters — размеры измеряются в "буквах". За ширину "буквы" принимается ширина буквы "х" шрифта, установленного в операционной системе по умолчанию, а за высоту — расстояние между базовыми линиями двух смежных строк текста. Выбор такой единицы измерения длины позволяет создавать приложения, имеющие одинаковый внешний вид на компьютерах, управляемых различными операционными системами.

По умолчанию для объекта Root измерения производятся в пикселях. Однако при построении графиков функций наиболее удобным является режим normalized, который и установлен для объектов типа Figure по умолчанию. Задание координат в единицах типа "сантиметры", "дюймы" или "пункты" полезно при выводе на принтер документов, где должны быть соблюдены абсолютные размеры.

Местоположение объекта в иерархии существующих объектов определяется свойствами Parent (родитель) и children (потомки). Первое из них представлено указателем на породивший объект, чьи данные и методы наследует текущий объект. В качестве значения второго свойства выступает вектор указателей на объекты, порожденные данным и не помеченные как невидимые. Естественно, что у объекта Root родитель отсутствует, а его дочерними объектами являются все видимые графические окна, созданные к настоящему моменту.

Свойство туре (тип) определяет принадлежность объекта тому или иному классу. Если класс Root представлен единственным объектом с типом Type=root, то другие классы могут быть представлены разными объектами с общим типом. Например, все графические окна имеют тип figure. Свойство Tag (дословно — ярлык, этикетка, бирка), значением которого может быть любая строка, присваиваемая пользователем.

Графические окна являются объектами, порождаемыми по шаблону класса Figure. Об этом свидетельствует свойство туре, которое для любого графического окна принимает значение figure. Существует несколько способов создания графических окон. Во-первых, можно прибегнуть к услугам функции figure:

» h_Fig = figure;

» h_Fig = figure('Свойство_1',Значение_1,'Свойство_2',Значение_2,...);

В первом случае создается новое графическое окно, которому система присваивает значения свойств по умолчанию. Во втором случае вновь создаваемому объекту присваиваются значения указанных свойств, а неупомянутые свойства устанавливаются системой по умолчанию. В обоих случаях функция figure возвращает указатель на созданный объект, который становится текущим, заслоняя собой остальные окна, находящиеся на экране.

Положение вновь создаваемого графического окна на экране определяется его свойством Position, в качестве значений которого выступает четырех-элементный вектор [left bottom width height] . Смещения lef t и bottom задают положение нижнего левого угла, а два следующих компонента —ширину и высоту окна в пикселах.

Окну присвоен стандартный заголовок Figure 1. Дополнительный заголовок графического окна в виде строки хранится в свойстве Name. По умолчанию это свойство представлено пустой строкой, и в заголовках окон мы видим надписи типа Figure I, Figure 2, и т. д. Если свойству Name присвоить какое-либо значение, например, h_Fig.Name = 'Оптимизация f(x)', то заголовком окна будет строка вида:

Figure 1 : Оптимизация f(x)

Можно отказаться от стандартной нумерации окон (Figure I, Figure 2 и т. д.), если присвоить свойству NumberTitle значение off.

Значение свойства color определяет цвет фона в графическом окне с помощью вектора из трех чисел, задающих интенсивность каждой из трех RGB-составляющих. По умолчанию у всех окон цвет фона серый, и ему соответствует комбинация [0.8 0.8 0.8].

Несколько свойств графического окна связано с получением твердой копии. При выводе на принтер или плоттер фоновый цвет может оказаться неприемлемым, т. к. созданный график лучше бы смотрелся на белом фоне (при этом можно было бы сэкономить и на расходе тонера). Если свойству invertHardcopy присвоено значение on, то MATLAB на время печати выполнит такую замену. В случае invertHardcopy=off принтер постарается тем или иным способом соблюсти цветовую гамму графического окна (цветной — цветом, черно-белый — полутонами). Свойства, начинающиеся со слова Paper, управляют параметрами страницы, на которой воспроизводится копия графического окна (табл. 7.2).

PaperUnits Установка единиц измерения (по умолчанию —centimeters)

PaperOrientation Ориентация листа бумаги, по умолчанию — портретная (portrait). Альтернативное расположение — альбомная (landscape)

РарегТуре Формат листа бумаги (по умолчанию — А4)

Paper size Размер листа бумаги [width height ] (по умолчанию —[210 297] )

PaperPosition Четырехкомпонентный вектор [x l y l х2 у2] , задающий положение прямоугольной области на листе, в которой должно быть воспроизведено графическое окно. Началом координат считается левый нижний угол листа. Точка (xl , yl ) определяет положение левого нижнего угла прямоугольника, точка (х2, у2) — правого верхнего

PaperPositionMode Способ размещения графического окна на листе. ПриPaperPositionMode=manual положение рисунка задается вектором PaperPosition. При PaperPositionMode=auto система пытается отобразить окно в такой позиции, в какой оно находится на экране

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]