Thank you so much, i will try it now.
regarding the DataObject issue, i've communicated with the fpSpread Tech. support and they added a method for me RenderToMeta file so that i can get the fpspread into a meta file format and then set the picture prop of the box to that meta file at the time of printing.
and it works fine, but for your knowledge the fpSpread support tech told me that its tool implements IViewObject:

raw and should render correctly to a metafile device context.
below is the final reply of the fpspread product manager.
"" Hi Andrew,
I agree with the FlowChartX support tech, you should not have to do
anything special in your code to make this work. Spread implements
IViewObject:

raw and should render correctly to a metafile device
context. It does not, however, have any default behavior for
IDataObject -- it is implemented only for use with OLE drag and drop,
and you need to write code in the appropriate events to specify what
formats and data you want to provide to the drop target. If the flow
chart control is calling into the IViewObject:

raw method to draw the
control in a meta file, and not trying to get a meta file from the
IDataObject interface, then it should work. ""
Thanks again,
Andrew