Design Specifications and Guidelines - Working with OLE Embedded and Linked Objects
A linked or embedded object should support the same keyboard and mouse selection techniques and appearance that are available for selecting native objects. The container of the object supplies the specific appearance of the object when it is selected. For example, Figure 12.11 shows how the linked drawing of a horn is handled as part of a contiguous selection in the document.
More Information
For information about object selection, see Chapter 6, "General Interaction Techniques." For information about selection appearance, see Chapter 14, "Visual Design."
Figure 12.11 A linked object as part of a multiple selection
When the user selects just the object, display it with an appropriate selection appearance. For example, for the content view of an object, display it with handles, as shown in Figure 12.12.
Figure 12.12 An individually selected linked object (click to enlarge image)
For a linked object, overlay the content view's lower left corner with the shortcut graphic. In addition, if your application's window includes a status bar that displays messages, display an appropriate description of how to activate the object (see the table "Descriptive Text for Convert Dialog Box" later in this chapter).
When the object is displayed as an icon, use the same selection appearance as for selected icons in folders and on the desktop, as shown in Figure 12.13.
Figure 12.13 A selected object displayed as an icon
A container application always displays the commands that can be applied to its objects. When the user selects an embedded or linked object as part of the selection of native data in a container, enable commands that apply to the selection as a whole. When the user selects just the object, enable only commands that apply specifically to the object. The container application retrieves these commands from registry information about the object's type and displays these commands in the object's menus. If your application includes a menu bar, include the selected object's commands on a submenu of the Edit menu, or as a separate menu on the menu bar. Use the name of the object as the text for the menu item. If you use the short type name that you defined in the registry as the name of the object, add the word "Object." For a linked object, use the short type name preceded by the word "Linked." Figure 12.14 shows these variations.
Note
You can also support operations based on the selection appearance. For example, you can support operations, such as resizing, using the handles you supply. When the user resizes a selected object, however, scale the presentation of the object, because there is no method by which another operation, such as cropping, can be applied to the object.
Figure 12.14 Drop-down menus for selected object
Define the first letter of the word "Object," or its localized equivalent, as the access character for keyboard users. When no object is selected, display the command with just the text "Object" and disable it.
Your container application should also provide a shortcut menu for a selected object (shown in Figure 12.15). The shortcut menu is displayed when the user clicks the object using the secondary mouse button (the standard interaction technique), or selects the object and presses SHIFT+F10 or the Application key. Include menu commands that apply to the object as a whole, such as transfer commands and the object's registered commands. Display the object's registered commands as individual menu items rather than in a cascading menu. It is not necessary to include the object's name or the word "Object" as part of the menu item text.
Figure 12.15 The shortcut menu for an embedded picture (clcik to enlarge image)
In both the drop-down menu and the shortcut menu, include a Properties command. You can also include commands that depend on the state of the object. For example, on a menu for a media object that supports Play and Rewind operations, you would disable the Rewind command when the media is already rewound.
When an object's type is not registered, you still supply any commands that can appropriately be applied to the object as content, such as transfer commands, alignment commands, and Edit and Properties commands. When the user clicks the Edit command, display the system-supplied message box. From this message box, the user can open the File Types dialog box and choose from a list of applications or convert the object's type.
Fundamentals of Designing User Interaction
Design Specifications and Guidelines