throbber
Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`The selected and open appearances
`apply only to the objects ap
`on the display
`the container
`If the user chooses
`to print
`pearance
`while an OLE embedded
`is open or active use the presenta
`object
`tion form of objects
`the open nor active hatched
`neither
`pattern
`in the printed document
`should
`because
`neither pattern is
`appear
`part of the content
`
`While an OLE embedded
`is open
`functioning
`object
`it is still
`member of its containet
`It can still be selected or unselected
`and
`to appro priate container commands At any time the
`can respond
`user may open any number of OLE embedded
`objects When
`the
`user closes its container window deactivate and close the windows
`for any open OLE embedded
`objects
`
`Editing an OLE Linked Object
`
`An OLE linked object
`particular location moved
`can be stored in
`or copied and has its own properties Container actions can
`be
`So an OLE
`applied to the OLE linked object
`unit of content
`as
`supplies commands
`as Cut Copy Delete and
`container
`such
`and interface elements
`as handles drop-down
`such
`Properties
`for the OLE linked
`pop up menu items and property sheets
`objects it contains
`
`and
`
`that
`
`another
`
`to the commands that activate
`The container also provides access
`the
`OLE linked object
`the commands that provide access to
`including
`by the OLE linked object These commands are
`content
`represented
`the same as those that have been registered for the link sources type
`an OLE linked object
`represents and provides access to
`Because
`resides elsewhere editing an OLE linked object
`object
`takes the user back to the link source Therefore the com
`always
`an OLE linked object
`mand used to edit
`the command
`is the same as
`of its linked source object For example the menu of
`linked object
`is an OLE embed
`include both Open and Edit
`if its link source
`can
`The Open command opens
`ded object
`the embedded
`object
`just
`as
`carrying out the command on the OLE embedded
`object does The
`the container window of the OLE embedded
`Edit command opens
`for OLE visual editing
`object and activates Ihe object
`
`316
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software
`
`Design
`
`338
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects Chapter
`
`11
`
`Figure 11.28 shows
`linked bitmap image of
`the result of opening
`in its own window for editing Note that
`horn The image appears
`changes made to the horn are reflected not only in its host container
`the Classical CD Review document but
`in every other document
`that contains an OLE linked object
`linked to that same portion of the
`Horns document This illustrates
`both the power and the potential
`in documents
`danger of using links
`
`OLE
`
`linked
`
`object
`
`OLE
`
`container
`
`window
`
`1l1Il
`
`Erie
`
`dii
`
`yie Jnsert
`
`Format
`
`Ioolx
`
`Table
`
`Help
`
`dcii
`
`Link source window
`
`Ella
`
`Edit Vie
`
`image
`
`Upho
`
`Help
`
`________
`\\
`
`_____
`
`playLPalba
`fox Antendan
`multimedia
`
`exn
`erdi tI
`
`gezuuse
`coutanu
`
`abthtyto
`
`Collction
`
`nifm atm and
`
`1flFlTEflLUU
`
`For Help
`
`did- Help Topic
`
`on the Help He
`
`JTh
`
`il
`
`Figure
`
`11.28 Editing
`
`link source
`
`At first glance editing an OLE linked object seems to appear similar
`ro an opened OLE embedded
`separate primary window
`object
`the container of an OLE linked
`the data However
`displaying
`opens
`object does not render the link representation using the open hatched
`The
`the link source does not reside at this location
`pattern because
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`317
`
`339
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`OLE linked object
`is not the real object only
`to be visually present
`in other
`locations Editing the
`the source
`the link sonrce
`linked object
`is functionally identical
`to opening
`Similarly the title bar text of the link sources window does not use
`as an open OLE embedded
`object because
`the convention
`the link
`object Therefore the windows
`and
`is an independent
`operate
`If the link sources window is
`cf each other
`close independently
`already visible the OLE linked object notifies
`the link source
`activate bringing the existing window to the top of the
`
`stand-in that enables
`
`to
`
`order
`
`source
`
`Note that
`
`the container of the OLE linked object does display mes
`the link source For example
`the container
`sages related to opening
`be accessed
`if the link source cannot
`message
`
`displays
`
`Automatic
`
`and Manual Updating
`When the user creates an OLE link by default
`it is an automatic
`is whenever
`the source
`data changes the links visual
`link that
`without
`information
`requiring any additional
`representation changes
`from the user Therefore do not display an Update Automatic
`Links Now message box If the update takes
`significant time
`message box indicating
`the progress
`you can display
`
`to complete
`of the update
`
`can set
`
`ever when links
`If users wish to exercise cnntrol
`are updated they
`the linked obj acts update property to manual Doing so
`command to update the link
`the user choose an explicit
`requires that
`The link can also be updated
`part of the link
`as
`representation
`fields or recalc action or other command that
`containers
`update
`the presentation in the containers window
`implies updating
`
`318
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`340
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`Operations and Links
`The operations available for an OLE linked object are supplied by
`its container and its source When
`command sup
`the user chooses
`the container application
`handles
`the opera
`plied by its container
`commands such
`as Cut
`tion For example the container processes
`Copy or Properties When
`command supplied
`the user chooses
`passed back
`by its source the operation is conceptually
`registered
`In this sense activating an
`to the linked source object
`OLE linked object activates
`its source object
`
`for processing
`
`In certain cases the linked object exhibits the result of an operation
`can be brought
`to the top of
`in other cases the linked source object
`the operation For example carrying out com
`to handle
`the
`order
`mands such
`as Play or Rewind on
`sound recording ap
`link to
`in place However if the user
`on the linked object
`to operate
`pear
`command to alter the links representation of its sources
`chooses
`such as Edit or Open the link source
`is exposed and re
`to the operation instead of the linked object
`itself
`
`content
`
`sponds
`
`support editing in place
`
`If
`
`link source
`
`is contained
`
`sound in place but cannot
`link source to properly respond
`to editing operations
`fully
`objects and its
`the source object with all of its containing
`activate
`container For example when the user double-clicks
`linked object
`whose default operation is Edit the source or its container
`opens
`displaying the linked source object
`for editing If the source is
`ready
`already open the window displaying the source
`becomes
`active This
`window
`convention
`the standard
`follows
`for activating
`already
`is the window comes
`order You can
`open that
`to the top of the
`the view in the window scrolling
`focus within
`or changing
`adjust
`the window as necessary
`for easy user
`the source object
`to present
`The linked source window and linked object window
`interaction
`and close independently
`of each other
`
`link can play
`For
`
`operate
`
`within
`
`document
`read-only
`box advising
`message
`display
`that edits cannot
`saved
`
`user
`
`be
`
`the source file
`
`the
`
`to
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`319
`
`341
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`Types and Links
`An OLE linked object
`cached copy of its sources type at
`includes
`the time of the last update When
`the type of
`linked source object
`derived from that source object contain the old
`changes all links
`type and operations until either
`an update occurs or the linked source
`can potentially display obso
`Because out-of-date
`is activated
`links
`mismatch can occur When
`lete operations to the user
`the user
`command for an OLE linked object
`chooses
`the linked object
`type of the linked source
`compares the cached
`lype with the current
`If they are the same the OLE linked object
`forwards
`the operation
`on to the source If they are different
`the linked object
`container
`In response the container
`
`informs its
`
`can either
`
`Carry out the new types operation
`the old link is syntactically identical
`the sources new type
`istered
`for
`
`if the operation issued from
`to one of the operations reg
`
`message box if the issued operation is no longer sup
`Display
`ported by the link sources new type as shown in Figure 11.44
`
`case the OLE linked object adopts the sources new type
`In either
`the container displays the new types operations in
`and subsequently
`the OLE linked object menu
`
`It
`
`Link Management
`An OLE linked object
`such as the name of its
`includes properties
`basis which is ei
`source its sources type and the links updating
`or manual An OLE linked object also has
`set of
`ther automatic
`commands related to these properties
`is the responsibility of the
`to provide the user access to these
`container of the linked object
`this an OLE container pro
`commands and properties
`To support
`for all of its OLE objects You can optionally
`vides
`property sheet
`Links dialog box for viewing and altering
`the proper
`also include
`simultaneously
`
`ties of several
`
`links
`
`320
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`342
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`Accessing Properties of OLE Objects
`
`Like other types of objects OLE embedded
`and linked objects have
`The container of an OLE object
`is responsible for provid
`properties
`The fol
`ing the user interface for access to the objects properties
`lowing sections describe how to provide user access to the properties
`of OLE objects
`
`The Properties Command
`Design OLE containers to include
`Properties command and prop
`sheets for any OLE objects it contains
`If the container applica
`erty
`Properties command for its own native data
`tion already includes
`also use it to support selected OLE embedded
`or linked
`you can
`objects Otherwise add the command to the drop down and pop-up
`the other commands for the object
`menu you provide for accessing
`by menu separator
`as shown in Figure 11.29
`preceded
`
`Dedicated
`object menu
`
`Object commands
`on Edit
`drop-down menu
`
`listed
`
`Pop-up menu
`for object
`
`ride
`
`Eepeat
`
`ci
`
`Lopy
`
`Paste
`
`Paste
`
`Link
`
`Paste paciaI..
`
`Links
`
`Figure
`
`11.29 The Properties
`
`command
`
`Opes
`
`343
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`321
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`When the user chooses
`the Properties command
`sheet containing all
`the salient properties
`plays
`property
`ues organized
`for the selected object Figure 11.30
`by category
`for an OLE object
`shows examples property sheet pages
`
`the container dis
`and val
`
`Document
`
`Properties
`
`Figure
`
`11.30 OLE embedded
`
`object
`
`property
`
`sheet
`
`sheets and the con
`Follow the format
`the system uses for property
`type name in the title
`ventions outlined in this guide Use the short
`har for an 01
`the name with the word
`linked object precede
`Linked as
`in Linked Worksheet
`Include
`General
`property
`page displaying the icon name type size and location of the object
`Convert command button to provide access to the
`Also include
`dialog box On
`View page
`type conversion
`display properties
`associated with the view and presentation of the OLE object within
`These include scaling or position properties
`and
`the container
`whether
`to display the object
`in its content
`or as an
`presentation
`Icon command
`icon The Display As Icon field includes
`Change
`of the
`the icon presentation
`button that allows the user to customize
`Icon dialog box is shown
`object The Change
`in Figure 11.31
`
`322
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`344
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`Figure
`
`11.31 The Change
`
`Icon dialog
`
`box
`
`For OLE linked objects also include
`Link page
`in its property
`and coniniands
`sheet containing the essential
`link parameters
`shown
`in Figure II .32
`
`as
`
`Liener.sl Vis
`
`Linked To
`
`.D Uci_JEfieF
`
`ii \S haror_\REVIEc./.D
`
`change Source..
`
`Update
`
`AutrrriaticaIIk
`
`511104
`
`Lad Update
`
`Date
`
`I_IflkriiJAn
`
`Time LIrt.rIirr
`
`O(cid:0)er
`
`Source
`
`Update
`
`Nob
`
`Break
`
`Lint
`
`__..g.liJJ
`
`tfltLt11L_._
`
`4.st1AthLL..-
`
`Figure
`
`11.32 The Link
`
`page for the property
`
`sheet of an OLE
`
`linked
`
`object
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`323
`
`345
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`For the typical OLE link include the source name the Update set
`the Last Update timestamp and com
`ting automatic or manual
`mand buttons that provide the following
`link operations
`
`Break Link effectii ely disconnects
`
`the selected link
`
`Update Now forces the selected link to connect
`the latest
`information
`
`retrieve
`
`to its sources
`
`and
`
`Open Source
`
`opens
`
`the link source
`
`for the selected link
`
`dialog box similar to the common Open
`Source
`invokes
`Change
`dialog box to allow the user to respecify the link source
`
`The Links Command
`In addition to property sheets OLE containers can optionally in
`Links command that provides access to
`dialog box for
`clude
`and managing multiple links Figure 11.33 shows
`the
`displaying
`Links dialog box The list box in the dialog box displays the links
`in the container Each line in the list contains the link sources name
`type short type name and whether
`the link sources object
`the link
`be found
`link source
`or manually If
`cannot
`status column
`in the update
`
`updates automatically
`Unavailable
`
`appears
`
`Figure
`
`11.33 The Links
`
`dialog
`
`box
`
`the Links command when the current selection
`If the user chooses
`linked object or objects display that
`link or links as
`includes
`selected in the Links dialog box and scroll
`to display the first
`the list
`selected link at the top of the list box
`
`324
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`346
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`each
`
`Allow 15 characters for the short type name field and enough
`space
`for Automatic and Manual
`As the user selects
`to appear completely
`its type name and updating
`basis appear
`link in the list
`in
`at the bottom of the dialog box The dialog box also
`command buttons included in the Link
`includes link management
`page of OLE linked object property sheets Break Link Update
`Now Open Source and Cbange Source
`
`their entirety
`
`the Open Source button to be the default command button
`Define
`when the input
`focus
`double-click
`is within the list of links Support
`link source
`ing an item in the list
`
`that
`
`as
`
`shortcut
`
`for opening
`
`the Change Source button displays
`version of the Open
`Clicking
`dialog box that allows the user to change
`the source of
`link by
`source name
`filename If the user enters
`file or typing
`selecting
`that does not exist and chooses
`message box is
`the default button
`as shown in Figure 11.34
`displayed with the following message
`
`Figure
`
`11.34
`
`message box for an invalid source
`
`Yes display the Change Source dialog box to
`If the user chooses
`the string If the user chooses No store
`the unparsed dis
`correct
`play name of the link source until
`the user links
`successfully
`the dangling reference The
`newly created object
`that satisfies
`container application
`can also choose
`to allow the user to connect
`
`to
`
`only to valid links
`
`link source or its directory and other linked
`If the user changes
`to the same original
`objects in the same container are connected
`the user the option to make the
`source the container may offer
`use the mes
`To support
`for the other references
`this option
`changes
`sage box as shown in Figure 11.35
`
`link
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`325
`
`347
`
`

`

`Chapter
`
`11 Working
`
`with OLE En bedded
`
`and OLE Linked Objects
`
`kC(cid:0) amer
`
`Name
`
`link
`
`Thi
`
`F-ia been chanaed
`The electeij
`doc.i_imerit cntain additional
`fl5fflØ Do ou vant
`bangs additinal
`
`liriki
`
`to
`
`link
`
`ia
`
`No
`
`Figure
`
`11.35 Changing additional
`
`links with
`
`the same source
`
`Converting Types
`
`to convert
`
`Users may want
`the
`type so they can edit
`an objects
`To support
`the users converting
`object with
`application
`different
`an OLE nhject
`frnm
`registered type pro
`current
`type to another
`vide Convert dialog box as shown
`in Figure 11.36 The user ac
`cesses the Convert dialog box by including
`Convert button beside
`the Type field in an objects property sheet
`
`Figure
`
`11.36 The Convert dialog
`
`box
`
`type of the object and
`This dialog box displays the current
`This list
`with all possible conversions
`of all types regis
`is composed
`of reading the selected objects format but
`tered as capable
`this does
`of reverse conversion If the
`the possibility
`not necessarily
`guarantee
`the OK button the
`new type from the list and chooses
`user selects
`to the new type If the ob
`selected object
`is converted
`the conversion
`is open the container
`closes it before beginning
`
`ject
`
`immediately
`
`list box
`
`on
`
`recom
`Previous
`guidelines
`mended including
`Convert
`command
`the menu for
`se
`lected OLE
`You may continue
`oblect
`to support this however
`access through
`
`button
`
`of
`the object
`erty sheet
`ferred method
`
`providing
`in the prop
`is the pre
`
`326
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`348
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`Make sure the application that supplies the conversion
`minimal
`impact in the user interface
`the
`That
`is avoid displaying
`primary window but do provide
`progress indicator
`applications
`message box with appropriate controls so that
`the user can monitor
`the conversion
`or internipt
`process
`
`does
`
`so with
`
`If the conversion
`
`result
`
`in any lost data or informa
`of the type could
`should
`the type conversion
`tion the application
`you use to support
`that data will be lost and
`warning message box indicating
`display
`by the user before continuing Make the mes
`request confirmation
`the nature of the information
`as possible about
`as specific
`sage
`might be lost for example Text properties will not be preserved
`in no data loss the warning message is
`If the conversion
`
`will
`
`result
`
`not necessary
`
`that
`
`choosing
`
`selects
`
`the
`
`type the Convert dialog box offers
`In addition to converting
`the type association for the object by
`user the option to change
`the Activate As option When
`the user chooses
`this option
`the OK button the objects
`type from the list and chooses
`type is now treated as
`the new type This differs from type conver
`the same but its activation
`sion in that
`the objects
`type remains
`conimand is now handled
`by
`It also differs
`application
`different
`is converted
`
`that
`
`the object
`in that converting
`type only affects
`Changing the activation
`single object of the type
`association of
`it for all OLE embedded
`type For example
`objects of that
`format document
`text document only
`converting
`to
`document However if the user chooses
`the
`the converted
`affects
`Activate As option to change
`the association for the rich-text
`is by the same
`object so they will be activated as
`text object
`that
`application registered for editing text objects all OLE embedded
`format objects will be also be activated this way
`rich text
`
`changes
`
`rich-text
`
`format
`
`At the bottom of the Convert dialog box text describes the outcome
`of the choices
`the user selects Table
`11.3 outlines the syntax of the
`to use within the Convert dialog box
`
`descriptive text
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`327
`
`349
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`Table 11.3 Descriptive
`
`Text
`
`for Convert Dialog
`
`Box
`
`Function
`
`Resulting
`
`text
`
`Convert
`
`type to
`
`the selected
`new type
`
`objects
`
`Convert
`
`the selected
`new type
`type to
`as an icon
`play the object
`
`objects
`and dis
`
`Permanently
`Type Name
`object
`
`the selected Existing
`changes
`to New Type Name
`
`object
`
`the selected
`changes
`Permanently
`Existing
`to New Type Nome
`Type Name
`object
`object The object will be displayed as an
`icon
`
`No type change
`the select
`ed type is the same as its
`existing type
`
`Cbange
`
`the activation
`
`association
`
`for the selected
`
`objects type
`
`Change
`
`the activation
`
`association
`
`for the selected
`
`and display
`objects type
`as an icon
`
`the object
`
`The New Type Name
`same as the type of
`the selected object
`its type will not be converted
`
`you selected
`
`is the
`
`so
`
`Type Name object will be
`Every Existing
`as New Type Name object but
`activated
`not be converted to the new type
`
`Type Name
`Every Existing
`object will be
`New Type Name object but
`activated
`as
`converted to the new type The selected
`object will be displayed as an icon
`
`Disable the Convert option for
`conversion
`linked object because
`on the link source Also disable Activate As
`link must occur
`for
`option if no types are registered for alternative
`activation
`If the user
`nor change
`can neither convert
`the activation
`association
`Convert command that displays this dialog box
`
`disable the
`
`328
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`350
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`Using Handles
`
`for an OLE embedded
`or linked object
`container displays handles
`is selected individually When
`when the object
`is selected
`an object
`and not active
`its cached metafile
`only the scaling of the object
`be supported If
`container uses handles
`for indicating
`selection but
`does not support scaling of the image use the hollow form of handles
`
`can
`
`is activated for OLE visual editing
`an OLE embedded
`When
`object
`it displays its own handles Display the handles within the active
`pattern as shown
`in Figure 11.37
`hatched
`
`For more
`
`information
`
`about
`
`of handles
`the appearance
`see Chapter 13 Visual Design
`
`hh //////////
`
`fl7J/W//J///J/////fl/flfl/Jfl/7//7
`
`LJ..H
`L..U.
`Disc vs LPSales$
`U.S c4pact
`198
`18552K
`26571K
`45223K
`
`LgJJ
`Lii (cid:0)ps
`LPs
`Total
`
`1983
`
`6345K
`
`37663K
`
`1991
`
`32657K
`17429K
`50066K
`
`Figure
`
`11.37 An active
`
`OLE embedded
`
`object
`
`with handles
`
`is defined by the OLE
`The interpretation of dragging
`the handle
`embedded
`The recommended
`operation is crop
`objects application
`ping where you expose more or less of the OLE embedded
`objects
`or un
`and adjust
`the viewport
`content
`If cropping
`is inappropriate
`the context of the object
`use an operation that better
`supportable
`If no operation is meaning
`or simply support scaling of the object
`ful but handles
`are required to indicate selection while activated
`use the hollow handle
`
`fits
`
`appearance
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`329
`
`351
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked objects
`
`Undo Operations for Active and Open Objects
`
`different
`
`that
`
`is
`
`can
`
`Because
`is different
`objects that
`underlying
`applications
`take control of window during OLE visual editing managing com
`how are the actions
`like Undo or Redo present
`mands
`question
`performed within an edited OLE embedded
`reconciled with
`object
`actions performed on the native data of the container with the Undo
`command The recommended
`undo model
`single undo stack per
`open window
`whether
`be reversed
`is all actions that
`by OLE embedded
`accumulate
`objects or their container
`generated
`on the same undo stale sequence Therefore choosing Undo from
`the containers menus or an active objects menus
`reverses the
`either
`last undoable action performed in that open window regardless of
`inside or outside the OLE embedded
`whether
`it occurred
`If
`object
`and the last action in the window oc
`the container has the focus
`curred within an OLE embedded
`object when the user chooses
`Undo activate the embedded
`reverse the action and leave
`object
`the embedded
`object active
`
`is objects that have
`The same rule applies to open objects
`that
`open window
`into their own window Because
`been opened
`each
`single stack of undoable states actions performed in an
`manages
`to that objects window and consequently
`must
`open object are local
`from there actions performed in the open object even if
`be undone
`do not contribute to the undo
`they create updates
`in the container
`state of the container
`
`registered command of
`Carrying out
`or using
`shortcut equivalent
`reversible action therefore
`is not
`does not add to
`undo stack For example if the user
`containers
`be undone
`from its container
`this action cannot
`an object
`opens
`The resulting window must be closed
`
`selected but
`
`inactive
`
`object
`
`it
`
`directly
`
`to remove it
`
`two windows container Window
`Figure 11.38 shows
`an active 01
`and an open embedded
`embedded
`in
`object
`object
`Window
`the two windows nine actions have been per
`Between
`formed in the order and at the location indicated by the numbers
`the windows
`The resulting undo
`stacks are displayed beneath
`
`which has
`
`330
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software Design
`
`352
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects Chapter
`
`11
`
`OLE embedded
`
`object
`
`Open OLE
`
`embedded
`
`object
`
`Active
`
`WindowA
`
`Window
`
`Figure
`
`11.38 Undo
`
`stacks
`
`for active
`
`and open OLE embedded
`
`objects
`
`The sequence
`sarily imply an
`can be undone
`
`shown in Figure 11.38 does not neces
`of undo states
`level undo It
`is merely
`timeline of actions that
`or more levels depending on what
`the con
`
`at
`
`tamer object cooperation
`
`supports
`
`The active object actions and native data actions within Window
`into the same stack while the actions in Win
`have been serialized
`dow
`have accumulated onto its own separate
`stack
`
`single window not to actions
`The actions discussed
`so far apply to
`as OLE drag and drop For
`span multiple windows such
`that
`single
`action that spans multiple windows the ideal
`design allows the user
`to undo the action from the last window involved This is because in
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`331
`
`353
`
`

`

`The system supplies most of
`boxes described
`the message
`For more
`in this chapter
`tion about how to support
`the OLE documentation
`the Win32 SDK
`
`included
`
`in
`
`informa
`
`these see
`
`Chapter
`
`11 Working
`
`with OLE Eiæbedded and OLE Linked Objects
`
`the user fDcuses on that window when desiring to reverse
`most cases
`an item from Window
`the action So if the user drags and drops
`the action appends to Window Bs undo thread and
`into Window
`undoing it undoes the entire OLE drag and drop operation Unfortu
`undo coordina
`nately the system does not support multiple window
`tion So for multiple window action create independent
`undo
`actions in each window involved in the action
`
`Displaying Messages
`
`This section includes recommendations
`about other messages to
`display for OLE interaction
`using message boxes and status
`line
`messages Use the following messages in addition to those
`earlier
`in this chapter
`
`described
`
`Object Application MesSageS
`
`the following messages to notify the user about
`Display
`where an OLE objects application
`is not accessible
`
`situations
`
`Objects Application Cannot Run Standalone
`Some OLE objects are designed
`to be used only as components
`container and have no value
`within
`opened directly If the
`in being
`user attempts to open or run an OLE objects application that cannot
`display the message box shown
`standalone
`run as
`application
`Figure 11.39
`
`in
`
`Figure
`
`11.39 Objects ppIication
`
`cannot
`
`be run standalone message
`
`332
`
`The Windows
`
`Interface
`
`Guidelines
`
`for Software
`
`Design
`
`354
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`Objects Application Busy
`An objects application can
`be running but busy for several rea
`sons For example it can be busy printing waiting for user input
`modal message box or the application has stopped
`responding
`the system If the objects application
`is busy display the message
`box shown in Figure 11.40
`
`to
`
`to
`
`flf
`
`This
`
`action
`
`not
`
`ca
`Name
`
`be completed
`
`beca
`
`cc
`
`bi.uy
`
`Choose Stitch To to acUvale oaknMe
`
`nd correct
`
`the
`
`probrant
`
`5sitchj_j
`
`fletry
`
`Cancel
`
`Figure
`
`11.40 Objects
`
`application
`
`is busy message
`
`Objects Application Unavailable
`
`If the user attempts to activate an object and the container
`for example because
`the
`locate the requested
`the network server where
`type is not registered or because
`display the message box shown
`
`objects application
`
`cannot
`
`objects
`
`the application resides is unavailable
`
`in Figure 11.41
`
`Ii
`
`The .$plicahon
`.k pr(cid:0)t1vetLixelis
`
`hØceenan
`
`1111111
`thi
`
`to activate
`
`unavailable
`
`100 can actiate it as or conert
`ol object
`
`type
`
`to another
`
`it
`
`________________________
`
`________________________
`
`Figure
`
`11.41 Objects
`
`application
`
`is unavailable message
`
`Choosing the Activate As button displays the Convert dialog box
`preset with the Activate As option and
`list of current
`types the user
`can use to associate with activating the object Choosing the Convert
`button displays the Convert dialog box with the Convert option set
`and the list of types the user can choose to change
`the type of the
`be able
`Ideally an application that
`the type should
`object
`registers
`to read and write that
`format without any loss of information
`
`If it
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`333
`
`355
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`cannot
`
`the information
`
`type the application
`of the original
`preserve
`message box warning the user
`handling the type emulation displays
`about what
`and optionally allows the
`information
`it cannot
`preserve
`
`user to convert
`
`the objects
`
`type
`
`If
`
`container supports inside-out activation for an object display
`this message when the user tries to interact with that object not
`when its container
`This avoids
`the display of the message
`is opened
`to the user who only intends to view the content
`
`OLE Linked Object Messages
`
`Display the following messages to notify the user about
`related to interaction with OLE linked objects
`
`situations
`
`Link Source Files Unavailable
`
`When
`
`container
`
`either
`
`because
`
`the user chooses
`
`its OLE linked objects
`requests an update for
`an explicit Update command or as
`the result of another
`action such
`Recalc
`forces an
`operation that
`as
`update if the link source files for some OLE links are unavailable to
`in Figure 11.42
`provide the update display the message box shown
`
`Figure
`
`When
`
`11.42 Link source files
`
`the user chooses
`
`are unavailable message
`the OK button close the dialog box without
`
`updating
`
`the links
`
`if you want
`the source you
`the user changing
`Optionally
`to support
`supply your own message box that also includes
`Properties button
`Links button or both in the message box Choosing the Properties
`for the link see Figure 11.32
`button displays the property sheet
`with Unavailable
`in the Update field The user can
`then use the
`
`334
`
`The Windows Interface
`
`Guidelines
`
`for Software Design
`
`356
`
`

`

`Working
`
`with OLE Embedded and OLE Linked Objects
`
`Chapter
`
`11
`
`the file or choose other com
`Source button to search for
`Change
`related to the link When
`mands
`this Links button
`the user chooses
`display your Links dialog box following
`the same conventions
`the property sheet
`
`as
`
`for
`
`command to an OLE linked object
`Similarly if the user issues
`shown
`with an unavailable source display the warning message
`
`in
`
`Figure 11.43t4O
`
`his action
`
`selected
`
`cannot
`be completed
`hnk source is presently
`
`th
`
`because
`
`unavailable
`
`IIHIiHiJli 1I1IIIIllll1I
`
`Figure
`
`11.43 Selected link source is unavailable message
`
`You can also supply your own message
`Properties or Links button that enables
`Display the OLE linked objects
`
`if you want
`to provide
`the source
`the user to change
`as Unavailable
`update status
`
`Link Source Type Changed
`
`If
`
`link sources type has changed
`but it is not yet reflected for an
`OLE linked object
`command that does not
`and the user chooses
`the new type display the message box shown in Figure 11.44
`support
`
`The Fik is no longer
`and
`cannot
`respond
`ohoore.a
`
`oic nca(cid:0)
`
`.od.tŁc.tpe
`to the ie coisiniand
`command
`
`difFerent
`
`OK
`
`Figure
`
`11.44 Link sources
`
`type has changed message
`
`The Windows Interface
`
`Guidelines
`
`for Software
`
`Design
`
`335
`
`357
`
`

`

`Chapter
`
`11 Working
`
`with OLE Embedded and OLE Linked Objects
`
`Link Updating
`
`While links are updating display the progress indicator message box
`shown
`in Figure 11.45 The Stop button interrupts
`the update
`process
`and prevents
`of additional
`links
`
`any updating
`
`Figure
`
`11.45 Progress indicator while links update message
`
`Status Line Messages
`
`Table
`
`line messages for commands on
`11.4 lists suggested
`container menu commonly the File menu of an
`the primary
`opened object
`
`status
`
`Table 11.4 Primary Container Menu Status
`
`Line Messages
`
`Command
`
`Status
`
`line message
`
`If
`
`the
`
`open
`
`object
`
`is within
`
`with
`
`other
`
`Return
`
`be
`
`an MDI
`application
`open documents the Exit
`To command should
`simply
`Exit There is no guarantee of
`successful Return
`To Container-
`Document after exiting
`
`because
`
`the
`
`container might be one of the other
`documents
`in that MDI
`instance
`
`Update Container-
`Document
`
`the appearance of this Type Name
`Updates
`Container-Document
`
`in
`
`Close
`
`Return to
`
`Container-Document
`
`Closes Object Name
`Document
`
`and returns to Container-
`
`Save Copy As
`
`Saves
`
`copy of Type Name
`
`in
`
`separate
`
`file
`
`Exit
`
`Return to
`
`Container-Document
`
`Exits Object Application and returns to
`Container-Document
`
`11 .5 lists the recommended
`Table
`menu of containers of OLE embedded
`
`status
`
`line messages for

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket