起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 206|回复: 13

【搞定】控件位置问题?

[复制链接]
发表于 2007-8-23 11:33:43 | 显示全部楼层 |阅读模式
请问下OleContainer控件能放到信息层的表单上不?
我在信息层的表单上放了个,OleContainer取文档信息时,提示 如图:

aa.jpg

14.46 KB, 下载次数: 121

回复

使用道具 举报

发表于 2007-8-23 13:08:39 | 显示全部楼层
楼主是怎么用的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-23 15:11:15 | 显示全部楼层
我就是在信息层的表单上了个OleContainer1控件,然后
var
  Stream: TStream;

lStream := DataSetBroker1.DataSet.CreateBlobStream(DataSetBroker1.Dataset.FieldByName('NOR_TABLE_ANNEX'),TBlobStreamMode.bmReadWrite);
  CYDJINFO.TCYDJST(DocView.Doc).OleContainer1.LoadFromStream(lStream);
爆错(如上图)
这段代码在功能的确窗体上不爆错()
回复 支持 反对

使用道具 举报

发表于 2007-8-23 16:07:32 | 显示全部楼层
olecontainer必须有对象头信息才可以
用CreateObjectFromInfo或者用CreateObjectFromFile

olecontainer1.LoadFromStream(filestream);   
  并不能簡單裝載一個文件流來生成相應的Ole调用!!!
回复 支持 反对

使用道具 举报

发表于 2007-8-23 16:30:04 | 显示全部楼层
另外,楼主,这个控件用法可以参考网上的一些资料!
比如
http://www.baidu.com/s?ie=gb2312 ... container+&ct=0
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-23 17:52:11 | 显示全部楼层
olecontainer1.LoadFromStream(filestream);   
  并不能簡單裝載一個文件流來生成相應的Ole调用!!!

请问我在窗体上怎么就可以呢???
回复 支持 反对

使用道具 举报

发表于 2007-8-24 08:46:41 | 显示全部楼层
楼主,你的问题是has no parent window,在功能窗体中是可以的!(在信息下的窗体中也好像会有这样的提示),但是你给他指定一个parent(用panel好像不行,要用form)就不会报错,具体请参考网上的帖子吧!
http://topic.csdn.net/t/20050112/11/3718957.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-24 09:44:52 | 显示全部楼层
大哥,你如果有时间帮我做个例子, (在信息下的表单上放olecontainer) 如图 谢谢

aa.jpg

61.81 KB, 下载次数: 93

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-24 10:40:50 | 显示全部楼层
帮我做个例可以?
回复 支持 反对

使用道具 举报

发表于 2007-8-24 11:15:40 | 显示全部楼层
procedure TJLST2.FormDocCreate(Sender: TObject);
var
  lStream: TStream;
  lform : TForm;

begin
  lForm := TForm.Create(context);
  OleContainer1.Parent := lForm;
  OleContainer1.CreateObjectFromFile('c:\火车时刻表.xls',False);
  lForm.Parent := Panel1;
  lForm.Show;
end;
-------------------------------
楼主,我给你做了个简单的例子,仅供参考!
在信息中的一个表单
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-15 16:48 , Processed in 0.057126 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表