用不用 stdpicture 好像没有什么差别啊?

woimenger 2010-04-17 11:06:39
Private Sub Form_Load()
Dim photo As StdPicture
Set photo = LoadResPicture(105, 0)
Image1.Picture = photo
End Sub

Private Sub Image2_Click()
Image2.Picture = LoadResPicture(105, 0)
End Sub

是不是我对 stdpicture 还是不了解啊?请高手指教!
在论坛中看了不少,请不要借助msdn 详解stdpicture 容器吗?
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
woimenger 2010-04-19
  • 打赏
  • 举报
回复
是不是在 image 和 picturebox 中要用 picture 而在 ListView、ToolBar、TabStrip、Header、ImageCombo、和 TreeView 中用stdpicture 啊?

谢谢!
chinaboyzyq 2010-04-19
  • 打赏
  • 举报
回复
不能这样来创建一个 Picture 对象:Dim X As New Picture。如果需要创建一个 Picture 对象,就必须利用 StdPicture 对象,例如:

Dim X As New StdPicture
zjl1234567 2010-04-18
  • 打赏
  • 举报
回复
你需要界面的时候用PICture,不需要界面,只需要存储转换的时候用stdpicture
woimenger 2010-04-17
  • 打赏
  • 举报
回复
一头雾水?????
帮忙来个实例吧 最好能说明白 在什么情况下用 picture 或 stdpicture
  • 打赏
  • 举报
回复
Picture、stdPicture、IPictureDisp,还有一个关键的IPicture(在对象浏览器中打开“显示隐含成员”后,可看到),四个东西的确有些让人眼花。它们有着深刻的COM渊源,我觉得分清它们意义并不算很重要,MSDN也没有刻意划清它们的界线,提及时多使用了一些含糊的词语。也许MS认为,做为COM外壳的VB,没必要过于深入去了解COM的内部实现过程吧!

按照MSDN的解释可见:stdPicture是核心类(Class),其接口(implements)有简单与复杂两种界面(interfaces),即Picture与IPicture,默认界面就是Picture,所以将对象类型指定为stdPicture或Picture基本是一回事,可能是考虑兼容或防止名称混淆的因素,对象游览器中是以IPictureDisp代替Picture出现了。其中具体原因说不清楚,MSDN中也以一句“Don’t ask why”来回答!,两个名称均可使用。

总结一下:IPictureDisp与Picture是相同的,而Picture是stdPicture类的默认界面,stdPicture类的另一个界面就是IPicture,它提供了更多的属性与方法。只有stdPicture可用New来创建。


~~~~~~~~~~~~~~~~~~~~来源:http://topic.csdn.net/t/20050621/10/4095869.html

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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