About using OLE in DataWindow objects
A DataWindow object can include a control that is a container for
an OLE object. The container stores information about the application
that created the object and it can launch the application to display or
modify the OLE object.
The container can fill the whole DataWindow object, when you
create a new DataWindow object using the OLE presentation style, or it
can exist alongside other controls in a DataWindow object, when you add
an OLE object to an existing DataWindow object. You can also read OLE
data from a blob column in a database and display the objects in the
DataWindow object.
You can use OLE objects in DataWindow objects in the following
ways:
-
OLE object in a DataWindow
objectThe OLE object is displayed in its container control with the
DataWindow data and other controls, such as bitmaps or text. You can
associate it with data in a particular row, the rows on a page, or
with all rows. You choose which columns in the DataWindow object are
transferred to the OLE object. You can add an OLE container control
to a DataWindow object that uses any presentation style that
supports multiple DataWindow objects. (This does not include the
graph and RichText presentation styles.) -
OLE presentation style
The OLE presentation style is similar to an OLE object in a
DataWindow object. The difference is that the OLE container is the
only control in the DataWindow object. The underlying data is not
presented in column controls and there are no other controls, such
as bitmaps or text. The OLE object is always associated with all the
rows in the DataWindow object. -
OLE database blob
columnOLE objects that are stored in the database in a blob column
are displayed in each row of the DataWindow object.
You can also add ActiveX controls (also called OLE custom controls
or OCXs) to DataWindow objects. ActiveX controls range from simple
visual displays, such as meters and clocks, to more complex controls
that perform spell checking or image processing.
The behavior of OLE objects in DataWindow objects is similar to
the behavior of OLE controls in windows.
For more information about linked and embedded objects and
automation, see Using OLE in an Application in Application Techniques.
Activating OLE
objects
When you are working in the DataWindow painter, you can start the
server application for an OLE object by selecting Open from the pop-up
menu. Once the server application has started, you can use the tools
provided by the server to edit the initial presentation of the
object.
If the OLE object is associated with all rows retrieved and is in
the foreground or background layer, not the band layer, users can
activate the object. If the object is associated with a single row or
page or is in the band layer, users can see the object but cannot
activate it. DataWindows created using the OLE presentation style are
always associated with all rows.
Unlike OLE objects, ActiveX controls are always active. They do
not contain objects that need to be opened or activated.
Editing OLE objects
When an OLE object is activated, you can edit the presentation of
the data. Changes made to DataWindow data affect the OLE object. Changes
made to the OLE object do not affect the data the DataWindow object
retrieved.
Each OLE object stored in the database in a blob column can be
activated and changed. When the DataWindow object updates the database,
the changes are saved.
What’s next
Whether you are inserting an OLE object into a DataWindow object
or using the OLE presentation style, you use the same procedures to
define, preview, and specify data for the OLE object. Because of their
similarities, the next section discusses both OLE objects in DataWindow
objects and the OLE presentation style. The last section discusses OLE
database blob columns.