
Programming Guide
- Define the view type (icon or frame) that embedded parts should have. By
convention, most embedded parts should have frame view type.
- Create facets for all of your visible embedded frames. Add facets as
frames become visible, remove facets when frames are no longer visible.
- When a frame embedded in your part is the active frame, you need to clip
whatever content the active frame border obscures, and you need to clip the
active frame border where your content obscures it. Implement your part's
AdjustBorderShape method for this purpose. For the OS/2 and Windows platforms,
you do not need to clip the active frame border.
- Support selection of your embedded frames. Highlight a selected embedded
frame by drawing the selected frame border (and resize handles, if you support
resizing of embedded frames) on the embedded frame's frame shape, not its
used shape.
- When a range selection includes an embedded frame, give the embedded
part's facet the highlight style the embedded part should adopt to be
consistent with your highlighting model.
- When your part is displayed with a thumbnail view type, you are
responsible for integrating miniature representations of any visible embedded
parts into the thumbnail.
Depending on your part's content model and features, you may want to
add support for these capabilities:
- If you support overlapping of embedded frames and intrinsic content,
maintain the proper clip shapes for all of your embedded frames' facets.
Maintain a z-ordered list of your embedded facets, and use it to account for
overlaps with other embedded frames and with your part's content elements.
- If you wrap your content to the used shape of your embedded parts,
implement your part's UsedShapeChanged method, so that embedded parts can
notify you when that used shape changes.
- If you create offscreen canvases, implement your part's CanvasUpdated
method so that you can transfer your embedded parts' asynchronous drawing
to your parent canvas.
- If you support split-frame views of embedded parts, provide multiple
facets for your embedded frames.
[ Top | Previous | Next | Contents | Index | Documentation Homepage ]