你看一下TOleContainer的用法就知道了。
很好用的。

解决方案 »

  1.   

    我知道TOleContainer的用法,但是具体实施还有点小问题。如:无法使数据库中的数据在Word、Exel、记事本中显示出来,而图片是可以的。
      

  2.   

    如果你要让数据库的内容显示,
    你可以先把内容复制到剪切板,然后在ole对象中粘贴。
      

  3.   

    利用Stream就可以的了,不过注意的是OleContainer1所使用的Stream与Bmp保存的Stream有所不同即OleContainer1所使用的Stream不能在Image中显示
    var
     MyStream:TMemoryStream
     with DataMod.ADOTable1 do
       begin
        open;
        MyStream := TMemoryStream.Create;
        try
         TblobField(FieldByName('Image')).SaveToStream(MyStream);
         MyStream.Position := 0;
         OleContainer1.LoadFromStream(MyStream);
        finally
         MyStream.Free;
        end;
       end;
      

  4.   

    显示
    if OpenPictureDialog1.Execute then
      begin
        OleContainer1.CreateObjectFromFile(OpenPictureDialog1.FileName, False);
        OleContainer1.Align := alClient;
        OleContainer1.DoVerb(ovShow);
      end;
      

  5.   

    使用内存流实现对WORD的BLOB类型进行对去,
    将内存流复制到OLECONTAINER中。