如果构造IStream对象

sinkileu 2012-04-09 10:10:50
希望有人帮到我。
CAxWindow::CreateControlEx 的 “IStream* pStream”参数,应该怎么构造呢?
我在用一个 ActiveX,它是一个播放器,它的 src 参数必须要在 CreateControlEx 的时候就用 IStream 传进去。
搞了半天没搞定。。。
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinkileu 2012-04-16
  • 打赏
  • 举报
回复
已经找到方法了,虽然你们的回答没起到直接作用,还是谢谢你们。
tcige 2012-04-10
  • 打赏
  • 举报
回复
CreateStreamOnHGlobal,IStream::Write
sinkileu 2012-04-10
  • 打赏
  • 举报
回复
回fishion(Fish[兔子党总支部负责人]):这个应该要用IPropertyBag,不是单纯的IStream。
sinkileu 2012-04-10
  • 打赏
  • 举报
回复
回 redui(vest):不行的,如果能在创建之后再调 put_src 的话,问题就简单了。
这个ActiveX 就是要在创建的时候,把属性传给它。
redui 2012-04-10
  • 打赏
  • 举报
回复
读取属性名属性值通常使用IPropertyBag接口完成,IStream接口通常用于传递比较大的一段数据,比如电影的内容。所有这些接口都是序列化接口,但用途是不同的。
CAxWindow创建控件时可以不传IStream接口,你可以在创建好控件后直接从控件查询序列化接口,再把数据交给序列化接口来读取。
fishion 2012-04-10
  • 打赏
  • 举报
回复
http://uovk.blog.sohu.com/12703959.html
参考一下这上面的读取数据那部分
sinkileu 2012-04-10
  • 打赏
  • 举报
回复
这里只是设置属性(只是一个名值对),文件还是由控件自己读的,所以应该不是用IStream::Write。
baidu/google一天了,有不少人问同样的问题,但不知道怎么解决。
sinkileu 2012-04-09
  • 打赏
  • 举报
回复
这个ActiveX对象需要的属性是这样的形式:属性名:src,属性值:文件路径

我在VC界面和网页中都试过,不能在创建出界面以后再设置属性,必要在创建时设置。
网页中用“<param name="src" value="xxxxxxxx" />”就搞定了。

可是VC中不知道怎么把IStream传给CreateControlEx。。。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧