NestedShapeCollection.AddOleObject(Stream, String, DocumentImageSource, PointF) Method
Adds an embedded OLE object to a shape group or a drawing canvas. The object is displayed in the document as an image.
Namespace: DevExpress.XtraRichEdit.API.Native
Assembly: DevExpress.RichEdit.v24.1.Core.dll
NuGet Packages: DevExpress.RichEdit.Core, DevExpress.Win.Navigation
Declaration
NestedShape AddOleObject(
Stream stream,
string progId,
DocumentImageSource presentation,
PointF location
)
Parameters
Name | Type | Description |
---|---|---|
stream | Stream | A stream that contains data to embed in the document. |
progId | String | Embedded content type. You can use constant fields of the OleObjectType class to set this value. |
presentation | DocumentImageSource | The source for the image that displays OLE object content. |
location | PointF | An object that defines the object’s location (relative to the top left corner of the parent object). The Document.Unit property specifies measurement units. |
Returns
Type | Description |
---|---|
NestedShape | The OLE object in the group or drawing canvas. |
Remarks
The example below shows how to group two OLE objects. Use the ShapeCollection.InsertGroup method to create a shape group. The Shape.GroupItems property returns a collection of group elements. Call the AddOleObject methods to add OLE objects to the group.
Document document = wordProcessor.Document;
// Set measurement unit to inches.
document.Unit = DevExpress.Office.DocumentUnit.Inch;
// Insert a shape group.
Shape group = document.Shapes.InsertGroup(document.Range.Start);
// Access the collection of group items.
var groupItems = group.GroupItems;
// Add the first OLE object to the group.
// This object contains data from an Excel worksheet.
using (Stream excelStream = File.Open(@"D:\ExcelWorkbook.xlsx", FileMode.Open))
{
groupItems.AddOleObject(excelStream, OleObjectType.ExcelWorksheet,
DocumentImageSource.FromFile(@"Images\Spreadsheet.png"), new PointF(0f, 0f));
}
// Add the second OLE object to the group.
// The object links to an Excel chart sheet.
groupItems.AddOleObject(@"D:\ExcelChart.xlsx", OleObjectType.ExcelChart,
DocumentImageSource.FromFile(@"Images\ExcelChart.png"), new RectangleF(0.5f, 1.2f, 5f, 3.5f));