Популярные услуги

Операции пересылки и создания объектов

2021-03-09СтудИзба

3.6. ОПЕРАЦИИ ПЕРЕСЫЛКИ И СОЗДАНИЯ ОБЪЕКТОВ

3.6.1. ОПЕРАЦИИ ПЕРЕСЫЛКИ

К операциям пересылки относятся операции перемещения копирования и свя­зывания объектов, а также их производные. Например, печать объекта является формой операции пересылки, поскольку она может быть реализована как копиро­вание объекта на принтер.

 Для выполнения любой операции пересылки должны быть указаны три пара­метра: пересылаемый объект, приемник (получатель) и способ пересылки (т.е. тип выполняемой операции). Эти параметры могут быть определены как явно, так и косвенно, в зависимости от используемой техники взаимодействия.

Тип операции пересылки определяется типом приемника. Поскольку пересылка может интерпретироваться по-разному, в некоторых случаях целесообразно назна­чить одну из операций в качестве предопределенной (выполняемой по умолчанию), а также ограничить перечень других допустимых операций пересылки, исходя из характеристик источника и приемника. Например, попытка переслать объект в кон­тейнер может закончиться одним из следующих исходов:

• Отклонением объекта

• Приемом объекта

• Включением некоторой части (подмножества) объекта или преобразованием его формата (например, включение только содержания объекта без его внешнего представления).

Большинство действий, связанных с пересылкой объектов, основаны на исполь­зовании одной из следующих трех операций (табл. 3.9).

Рекомендуемые материалы

Существуют два метода пересылки объектов: на основе команд и метод прямого манипулирования.

ПЕРЕСЫЛКА НА ОСНОВЕ КОМАНД

Для пересылки объектов используются команды Вырезать (Cut), Копировать (Copy) и Вставить (Paste). Эти команды обычно включаются в выпадающее меню Правка (Edit) и во всплывающее меню выбранного объекта. Соответствующие им кнопки могут быть вынесены на панель инструментов первичного окна приложения.

Чтобы переслать объект, пользователю необходимо:

1. Выбрать объект, подлежащий пересылке.

2. Выбрать команду Вырезать или Копировать.

3. Указать позицию вставки.

4. Выбрать команду Вставить.

Таблица 3.9.

Операции пересылки объектов

Операция

Описание

Переместить (Move)

Перемещает выбранный объект; поскольку перемещение не изменяет «подлинности» объекта, эту операцию не следует отождествлять с копированием или замещением оригинала

Копировать

(Copy)

Создает копию объекта. Результирующий объект независим по отношению к своему оригиналу. Дублирование не всегда обес­печивает полную идентичность копии; некоторые ее свойства могут отличаться от свойств оригинала. Например, копирование объекта может привести к изменению имени или даты созда­ния. Если имеются ограничения на копирование некоторых элементов объекта, то могут быть скопированы только те эле­менты, для которых ограничения отсутствуют

Связать

(Link)

Создает связь между двумя объектами. Результатом обычно является объект, который обеспечивает доступ к оригиналу (ярлык)

Команда Вырезать удаляет выбранный объект и помещает его (или ссылку на него) в буфер обмена. Команда Копировать создает копию выбранного объекта (или ссылку на него) и помещает ее в буфер обмена.

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

Вставить [<имя типа>] как [<имя типа><имя о6ъекта>].

Например, возможен такой вариант команды:

Вставить [Ячейку] как [Слово] (предполагается, что Ячейка и Слово являются конвертируемыми типами).

Ниже приведены общие форматы команды Вставить (табл. 3.10).

Таблица 3.10.

Форматы команды Вставить

Формат команды

Функция

Вставить

(Paste)

Вставляет объект, содержащийся в буфере обмена, сохраняя все свойства его оригинала

Вставить [имя типа]

(Paste [type name])

Вставляет объект, содержащийся в буфере обмена, как вложенный объект OLE; такой объект может быть активизирован непосредственно в позиции вставки

Вставить [имя типа] как пиктограмму

(Paste [type name] as Icon)

Вставляет объект, содержащийся в буфере обмена, как вложенный объект OLE; объект отображается как пиктограмма

Вставить Ссылку

(Paste Link)

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

Вставить Ссылку на [имя объекта]

(Paste Link to [Object name])

Помещает в точку вставки изображение объекта, ко­торый был скопирован в буфер обмена, используя технологию OLE; любые изменения исходного объекта отражаются на его копии

Вставить ярлык

(Paste Shortcut)

Помещает в точку вставки ярлык объекта, который был скопирован в буфер обмена, используя технологию OLE; любые изменения исходного объекта отража­ются на его копии

Специальная Вставка (Paste Special)

Отображает на экране специальное диалоговое окно, позволяющее пользователю выбрать способ вставки объекта, содержащегося в буфере обмена

Ниже приведены рисунки, поясняющие использование форматов команды Вставить, описанных в пунктах 2...5 табл. 3.10.

Рис. 3.8. Вставка объекта как вложенного объекта OLE

Рис. 3.9. Вставка объекта как вложенного объекта OLE;

объект будет отображен в виде пиктограммы

Рис. 3.10. Создается ссылка на объект, который был скопирован в буфер обмена;

в точку вставки помещается копия содержимого объекта

Рис. 3.11. Создается ссылка на объект, который был скопирован в буфер обмена;

в точку вставки помещается пиктограмма объекта

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

Практика показывает, что для большинства приложений оказывается достаточным совместное использование стандартной команды Вставить и Специальной вставки.

Поскольку выполнение операций пересылки может привести к различным по­бочным эффектам, ниже описаны некоторые общие сценарии поведения приложе­ния при их реализации.

• Если пользователь выполняет пересылку в приемник, для которого необходи­мо учитывать конкретную позицию вставки, следует заменить выбранный объект в приемнике переданными данными. Например, если выполняется вставка в текст (где положение выбранного фрагмента соответствует позиции вставки), пересыла­емый объект заменяет текущий выбор. Если же в тексте-приемнике выбор не был сделан, точка вставки определяется текущим положением курсора.

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

• Если новый объект автоматически связывается с текущим выбором в прием­нике (например, табличные данные и отображающий их график), целесообразно добавить новый объект к текущему выбору.

Выполнение команды Вставить не должно влиять на содержимое буфера обме­на. Это позволяет неоднократно повторно использовать данные, находящиеся в бу­фере. Вместе с тем, необходимо помнить, что последующее выполнение команд Копировать или Вырезать приводит к замене содержимого буфера обмена.

МЕТОД ПРЯМОГО МАНИПУЛИРОВАНИЯ

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

Прямое манипулирование может применяться для любого визуального объек­та. При этом как пересылаемый объект, так и приемник (например, окно или пиктограмма) не обязательно должны быть к настоящему времени активны. Например, пользователь может поместить объект в неактивное окно и в резуль­тате выполнения этой операции оно автоматически будет активизировано. Если неактивный объект не допускает пересылку с помощью прямого манипулирова­ния, пользователь должен быть извещен об этом посредством соответствующей обратной связи.

Каким образом переданный объект интегрируется и отображается в приемнике, определяется контекстом приемника. Ранее уже отмечалось, что результатом пере­сылки может быть как точная копия оригинала, так и отдельные его компоненты или свойства, либо преобразованный объект. Например, приложение может содер­жать средства для копирования свойств объектов конкретного типа.

Стандартная реализация техники drag-and-drop

Стандартная реализация техники drag-and-drop основана на использовании ле­вой кнопки мыши. Как именно будет проинтерпретировано приложением перетас­кивание объекта, зависит от свойств приемника и от того, какая операция пересыл­ки используется в качестве предопределенной. Как и в случае командного метода, результат операции определяется также свойствами перемещаемого объекта (в ча­стности, перечнем разрешенных форматов объекта). Не рекомендуется использовать в качестве предопределенной операции такую, которая может привести к уда­лению или необратимому изменению объекта. Если же необходимость примене­ния одной из таких операций обусловлена текущей ситуацией, следует вывести на экран сообщение пользователю с просьбой подтвердить намерения.

Используя технику drag-and-drop, пользователь может непосредственно пере­сылать объекты, как между окнами приложения, так и между окнами системных ресурсов, такими, например, как папки и принтеры.

Чаще всего в качестве предопределенной операции для drag-and-drop ис­пользуется операция Переместить (Move), но вместо нее может быть опреде­лена любая другая операция пересылки, например Копировать или Связать, или даже специализированная операция пересылки, такая, например, как Ко­пировать Свойства.

Нестандартная реализация техники drag-and-drop

В основе нестандартной реализации техники drag-and-drop лежит использование правой кнопки мыши. Особенность данного подхода заключается в следующем. Когда пользователь щелкает ПКМ на объекте-приемнике (или на позиции, куда пересылается объект), вместо выполнения предопределенной операции открывается всплывающее меню для объекта-приемника (на рис. 3.12 — для новой позиции). Это меню содержит набор команд пересылки, разрешенных для данной позиции, но с учетом особенностей объекта, подлежащего пересылке.

Рис. 3.12. Пересылка объекта при нестандартной реализации техники drag-and-drop

Тот факт, что команды всплывающего меню относятся к приемнику, а не к пере­сылаемому объекту, должен учитываться и в названиях этих команд. В частности, если пересылается содержимое объекта (данные), такими командами могут быть: Переместить сюда (Move Here), Копировать сюда (Copy Here). Если же приемник поддерживает пересылку только отдельных компонентов объекта, или требует его преобразования, названия команд должны отражать эту особенность приемника (например, Копировать свойства сюда).

Общий формат нестандартных команд пересылки выглядит следующим образом:

[имя команды] [имя типа имя объекта] Here как [имя типа].

Ниже приведены пояснения к применению нестандартных команд пересылки (табл. 3.11).

Одна из перечисленных выше команд может быть использована в качестве пре­допределенной. Это должна быть команда, которая соответствует эффекту перетас­кивания объекта при нажатой левой кнопке мыши.

Таблица 3.11.

Нестандартные команды пересылки

Команда

Функция

Переместить сюда

(Move Here)

Пересылает в указанную позицию содержимое выбранного объекта (как данные)

Копировать сюда

(Copy Here)

Создает в указанной позиции копию содержимого выбранного объекта

Создать связь с приемником (Link Here)

Создает канал связи между выбранным объектом и позицией-приемником; содержимое выбранного объекта добавляется (возможно, после преобра­зования) к содержимому приемника, но сохраня­ется связь с источником, так что производимые в нем изменения отражаются в позиции-приемнике

Переместить [имя типа] сюда (Move [type name]  Here) или Копировать [имя типа] сюда (Copy [type name] Here)

Перемещает или копирует выбранный объект как объект OLE, который отображается в своем исход­ном представлении и может быть активизирован непосредственно в позиции-приемнике

Создать для [имя типа] Связь с приемником (Link [type name] Here)

Создает связанный объект OLE, отображаемый в приемнике как изображение выбранного объекта. Копия связывается с исходным объектом таким образом, что любые изменения в исходном объекте отражаются в позиции-приемнике

Переместить [имя типа] сюда как пиктограмму (Move [type name] Here) as Icon или Копировать [имя типа] сюда как пиктограмму (Copy [type name] Here) as Icon

Перемещает или копирует выбранный объект как объект OLE в указанную позицию и отображает его как пиктограмму

Создать здесь ярлык

(Create Shortcut Here)

Создает объект OLE, связанный с выбранным объектом; новый объект отображается как ярлык; любые изменения исходного объекта отражаются в позиции-приемнике

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

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

ОСОБЕННОСТИ РЕАЛИЗАЦИИ ПРОКРУТКИ ПРИ ВЫПОЛНЕНИИ ОПЕРАЦИЙ ПЕРЕСЫЛКИ

Когда пользователь перетаскивает объект внутри какой-либо перемещаемой об­ласти (такой как окно или список) в другую позицию, это может привести к тому, что объект окажется за пределами видимости. В этом случае целесообразно ис­пользовать возможность автоматической прокрутки области (которая известна также как автоскроллинг).

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

Чтобы различать две эти ситуации, можно анализировать скорость перемеще­ния объекта. Например, если пользователь тащит объект медленно к краю переме­щаемой области, используется автоскроллинг; если же объект перемещается быст­ро, выполняется операция пересылки.

Для реализации указанного подхода требуется запомнить позицию указателя в начальный момент перемещения мыши и затем регистрировать его положение через равные промежутки времени (рекомендуемый интервал — 100 миллисекунд). Если же приложение поддерживает пересылку на основе OLE, то замеры через равные промежутки времени будут некорректны. В этом случае следует запоминать каждое новое положение указателя в специальном массиве, достаточно большом, чтобы хранить три последних значения, заменяя самое старое из них текущим. При вычислении скорости указателя используются координаты, по крайней мере, двух последних его позиций.

Чтобы рассчитать скорость перемещения, необходимо вычислить расстояние между соседними позициями указателя и разделить его на величину интервала времени между моментами регистрации. Расстояние вычисляется как модуль раз­ности между координатами х и у двух соседних позиций:

R=(abs(x1-x2)+abs(y1-y2))

Полученное значение следует умножить на 1024 и разделить на интервал вре­мени. Множитель 1024 предотвращает потерю точности, вызванную целочислен­ным делением.

Читатель, знакомый со школьным курсом геометрии, вероятно может возразить, что истинное Декартово расстояние определяется как квадратный корень суммы квадратов разностей координат: sqrt((x1 — х2)^2 + (у1 — у2)^2). Однако дополни­тельные затраты времени на вычисления по этой формуле соизмеримы с временем перемещения указателя в соседнюю позицию, что и заставляет использовать вмес­то нее приведенное выше выражение.

Следует также определить горячую зону автоскроллинга вдоль границ переме­щаемой области и величину задержки прокрутки. Как правило, ширина горячей зоны устанавливается равной удвоенной ширине вертикальной полосы прокрутки или удвоенной высоте горизонтальной полосы прокрутки.

Итак, автоматическая прокрутка должна выполняться при одновременном со­блюдении трех условий (рис. 3.13):

•   в процессе перемещения объекта указатель оказался в горячей зоне окна;

•   скорость перемещения объекта ниже определенной (пороговой) скорости;

• видимая область окна может быть перемещена в соответствующем направлении.


Рис. 3.13. Автоматическая прокрутка при перемещении объекта

Рекомендуемая пороговая скорость — 20 пикселов в секунду.

Величина прокрутки зависит от типа перемещаемой информации и допусти­мого расстояния прокрутки. Например, при работе с текстом вертикальная про­крутка обычно выполняется построчно. Целесообразно также согласовать диск­ретность автоскроллинга с дискретностью перемещения, которая предусмотрена для полос прокрутки.

Чтобы обеспечить непрерывную прокрутку, необходимо выполнить следующие действия. Во-первых, выбрать частоту прокрутки, например, четыре строки в се­кунду. Во-вторых, после начала автоскроллинга следует установить таймер на опре­деленный интервал (например, на 100 миллисекунд). Когда установленный интер­вал истечет, определите величину прокрутки за это время. Если интенсивность прокрутки превышает заданную частоту, переместите видимую область еще на один шаг. Если нет, восстановите таймер и повторите описанную последовательность дей­ствий при следующей инициализации автоскроллинга.

ОБРАТНАЯ СВЯЗЬ ПРИ ВЫПОЛНЕНИИ ОПЕРАЦИЙ ПЕРЕСЫЛКИ

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

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

Если при пересылке объекта пользователь выбирает команду Вырезать, следует визуально удалить выбранный объект. Если в силу каких-либо причин это нецеле­сообразно, можно отобразить выбранный объект специальным образом, чтобы со­общить пользователю, что команда Вырезать выполнена, но пересылка объекта еще не закончена.

Необходимо также восстанавливать визуальное состояние объекта, если пользо­ватель выбирает команду Вырезать или Копировать для другого объекта прежде, чем выполнить команду Вставить для первоначально выбранного объекта.

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

Реализация обратной связи при прямом манипулировании

При перемещении объекта в новую позицию с помощью мыши следует обеспе­чить пользователя визуальным представлением выполняемой операции па всем ее протяжении. При этом следует обратить особое внимание на следующие моменты:

• Объект должен отображаться как выбранный все время, пока на нем установлен фокус ввода. Чтобы указать, что объект находится в состоянии пересылки, для его изображения могут быть использованы соответствующие визуальные признаки. На­пример, для визуализации операции перемещения может быть использовано систем­ное контурное изображение объекта. Визуальный образ объекта в исходной позиции следует сохранять до тех пор, пока пользователь не завершит операцию пересылки.

• Изображение объекта, перемещаемое вместе с указателем, должно быть «про­зрачным» и не заслонять позицию вставки, как показано на рис. 3.14.

Рис. 3.14. Возможные способы представления перемещаемых объектов

• Образ объекта в исходной позиции должен сохраняться неизменным до оконча­ния операции пересылки; вместе с тем, его перемещаемое изображение может изме­няться в зависимости от типа выполняемой операции. Например, если объект будет вставлен как пиктограмма, то при перемещении указателя на позицию вставки образ объекта должен быть заменен его пиктограммой. Если объект будет включен как часть содержимого приемника, то представление объекта должно отразить это. Например, если объект, вставляемый в документ, будет включен как таблица, он может быть представлен в виде прозрачного силуэта таблицы. И наоборот, если исходный объект — Таблица, но при вставке преобразуется в текст, отобразите его как условное изобра­жение текста, например, как прозрачный силуэт нескольких первых слов.

• Форма указателя также должна соответствовать типу объекта- (позиции-) приемника. Например, если перетаскиваемый объект должен быть вставлен в текст (непосредственно между символами), отобразите указатель в виде стандартного текстового курсора, используемого при редактировании текста.

Кроме того, целесообразно дополнить изображение указателя специальным сим­волом, поясняющим смысл выполняемой операции пересылки; этот символ ото­бражается возле правого нижнего угла указателя, как показано на рис. 3.15. Символ «плюс» (+) используется при выполнении операций копирования, а изображение стрелки — для операций создания ссылок.

Рис. 3.15. Изображение указателя:

а) перемещение б) копирование в) создание ссылки

• Используйте визуальную обратную связь, чтобы указать доступность потен­циальных приемников. Она может быть реализована на основе стандартных средств выделения выбора, а также дополнительных средств, в том числе анимации. Если же приемник недоступен для пересылаемого объекта, на это можно указать с по­мощью специального указателя, напоминающего по форме запрещающий дорож­ный знак (рис. 3.16.).

Рис. 3.16. Указатель, информирующий о недоступности приемника


СПЕЦИАЛЬНЫЕ КОМАНДЫ ПЕРЕСЫЛКИ

При выполнении некоторых заданий определенная комбинация операций пере­сылки может использоваться настолько часто, что ее удобнее заменить соответ­ствующей дополнительной специализированной командой. Примером такой ком­бинации является дублирование существующего объекта, выполняемое с помощью двух операций — Копировать и Вставить. Вместо них может быть использована специальная команда Дублировать. Ниже приведены некоторые наиболее распрос­траненные специализированные команды пересылки (табл. 3.12).

Таблица 3.12.

Специализированные команды пересылки

Команда

Функция

Удалить

(Delete)

Удаляет объект из содержащего его контейнера. Если объект — файл, то он пересылается в Корзину

Очистить

(Clear)

Удаляет содержимое контейнера

Дублировать (Duplicate)

Создает одну копию выбранного объекта

Печать

(Print)

Печатает выбранный объект на принтере, используемом по умолчанию

Отправить

(Send To)

Отображает список возможных направлений пересылки выбранного объекта и пересылает его в соответствии с выбором пользователя

На первый взгляд, команды Удалить и Очистить дают один и тот же эффект. Тем не менее, каждая из них действительно более корректно работает по своему прямому назначению: Удалить — при удалении одного (выбранного) объекта, а Очи­стить — при очистке контейнера.

КЛАВИШИ-АКСЕЛЕРАТОРЫ ДЛЯ ОПЕРАЦИЙ ПЕРЕСЫЛКИ

Перечисленные ниже комбинации клавиш обеспечивают ускоренный доступ к операциям пересылки (табл. 3.13).

Таблица 3.13.

Клавиши-акселераторы для операций пересылки

Комбинация клавиш

Функция

CTRL + X

Выполняет команду Вырезать

CTRL + C

Выполняет команду Копировать

CTRL + V

Выполняет команду Вставить

СТRL + <перемещение объекта>

Заменяет предопределенную операцию пересылки опе­рацией Копировать (если приемник ее поддерживает); мо­дификатор может использоваться с любой кнопкой мыши

ESC

Отменяет выполнение операции пересылки (если она еще не закончена)

Из-за широкого применения приведенных комбинаций клавиш для всего ин­терфейса, не рекомендуется использовать их в других целях.

3.6.2. ОПЕРАЦИИ СОЗДАНИЯ НОВЫХ ОБЪЕКТОВ

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

Команда Копировать (Copy)

Получение копии существующего объекта является основным способом созда­ния новых объектов. Объекты-копии могут модифицироваться и обычно используются в качестве прототипов для создания новых объектов, обладающих иными свойствами по сравнению с объектом-оригиналом. Технология создания новых объектов указанным способом определяется соглашениями по использованию one-раций пересылки, рассмотренными выше.

Команда Создать (New)

Команда Создать (New) облегчает создание новых объектов. Она обеспечивает автоматическое создание нового экземпляра объекта определенного типа и может рассматриваться как комбинация команд Копировать (Copy) и Вставить (Paste).

Команда Поместить (Insert)

Команда Поместить (Insert) работает аналогично команде Создать (New), за ис­ключением того, что она применяется к контейнеру для создания нового объекта (обыч­но определенного типа) внутри этого контейнера. Используя различные форматы ко­манды Поместить, можно предоставить пользователю возможность включать в контейнер объекты различных типов. Если создаваемое приложение поддерживает технологию OLE, с помощью команды Поместить может быть реализовано создание широкого класса объектов. Кроме того, объекты, поддерживаемые вашим приложени­ем, могут включаться в файлы данных, созданные другими приложениями OLE.

Использование элементов управления

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

Использование шаблонов

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


Рис. 3.17. Пример пиктограммы шаблона

В качестве предопределенной операции для объекта Шаблон используется коман­да Создать; она инициирует процесс создания объекта, который может выполняться как полностью автоматически, так и в режиме диалога с пользователем. Вновь со­зданный объект должен находиться в той же позиции, где находился шаблон. Если текущий контекст не позволяет это сделать, объект следует установить в другой дос­тупной пользователю позиции, например, на Рабочем столе. Размещение нового объекта может также быть указано пользователем в процессе диалога при создании объекта; в этом случае по завершении создания объекта следует вывести на экран сообщение, информирующее пользователя о местоположении созданного объекта.

3.6.3. ОПЕРАЦИИ СВЯЗЫВАНИЯ ОБЪЕКТОВ

В результате выполнения операции связывания объектов создается специальная форма отношения двух объектов — ссылка, которая отображает или предоставляет доступ от одного объекта к другому, расположенному либо в том же контейнере, либо в другом, отдельном контейнере. Компонентами этого отношения являются источник связи (референт) и связанный объект. Перечень допустимых операций и свойств связанного объекта, как правило, не зависит от объекта-источника, и опре­деляется типом контейнера, в котором он находится.

Связь между объектами может быть представлена различными средствами ин­терфейса. В частности, связь по данным реализуется посредством передачи соот­ветствующих величин между двумя объектами, например, между двумя ячейками в таблице или между столбцом таблицы и диаграммой. Переходы (называемые также гиперссылками hyperlinks) предоставляют навигационный доступ к друго­му объекту. Этот вид связи можно назвать также связью по управлению.

Объект, связанный с источником с помощью механизма OLE, предоставляет доступ ко всем операциям, разрешенным для источника, и, кроме того, обеспечива­ет визуальное представление связи с источником.

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

Лекция "2.3. Основное уравнение гидростатики" также может быть Вам полезна.

Какой из двух маршрутов будет использоваться, зависит от направления пересыл­ки. Как правило, по умолчанию используется относительный маршрут. Тем не менее, если по одному из маршрутов обеспечить доступ к источнику не удалось, следует ис­пользовать альтернативный маршрут. Например, если пользователь копирует связан­ный объект и источник связи в другую позицию, создаются копии, как связанного объек­та, так и источника связи. В этом случае относительным маршрутом для копии связанного объекта является описание расположения копии источника связи, а абсо­лютным маршрутом — описание позиции исходного источника связи (оригинала). Другими словами, когда пользователь обращается к копии связанного объекта, следует активизировать связь с копией источника связи. Если же это сделать не удается (например, из-за того, что пользователь удалил копию источника), необходимо использо­вать абсолютный маршрут, обеспечивающий доступ к исходному источнику связи.

В качестве дополнительного средства настройки интерфейса пользователю может быть предоставлена возможность выбора используемого маршрута (абсолютного или относительного) для связанного объекта. Такой выбор может выполняться с помощью соответствующего элемента управления на панели свойств связанного объекта.

Если пользователь применяет операцию связывания к связанному объекту, долж­на создаваться ссылка на него, а не на источник. В случае, если связанный объект не может использоваться в качестве источника, то, когда пользователь выбирает такой связанный объект, следует сделать недоступными для него команды связывания.

Способ активизации связанного объекта зависит от типа связи. Например, ак­тивизация перехода может выполняться с помощью однократного щелчка ЛКМ. Тем не менее, такой механизм эффективен только для выбора связанных данных или связанного объекта OLE. Если же он используется, чтобы сделать что-то еще, кроме выбора объекта, следует использовать различные формы визуального пред­ставления для каждой из допустимых операций. Например, если переход выполня­ется с помощью кнопки-акселератора, то при выборе кнопки изменяется форма указателя (он отображается в виде руки, как показано на рис. 3.18), а когда пользо­ватель щелкает на ней ЛКМ, то изменяется изображение кнопки и производится переход по ссылке.

Рис. 3.18. Идентификация выполняемой операции с помощью изменения формы указателя

При таком подходе обеспечивается обратная связь с пользователем, который мо­жет либо только выбрать ссылку на связанный объект, либо и воспользоваться ею.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее