VB.NET关于接口
来源:互联网 发布:淘宝买快排被查 编辑:程序博客网 时间:2024/05/14 10:40
因为作为一个硬件工程师,编程只是业余爱好,所以对接口一直比较陌生,概念陌生,使用上陌生,也怕伤脑筋,所以一直没有深入去了解。
最近因为想写一个可以自定义下载控制的webbrowser,要用到比较多的接口去实现,而网上又少有VB.NET关于接口方面的资料(应该说我自己没有找到而已),自己又比较笨,一直未能解决。
于是决定要学学接口。
这里《对接口的理解》有句说得很好:“一个类实现了某个接口,就相当于声明我能够完成某项工作。” 顿时对接口这个概念有了较为清晰的了解。
《VB.NET 接口的作用----本人现阶段的理解 》 使我对接口又有进一步的了解。
webbrowser中要用到com接口,使用方法举例如下:
1、COM接口声明
<ComImport(), Guid("00000118-0000-0000-C000-000000000046"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IOleClientSite
Sub SaveObject()
Sub GetMoniker(ByVal dwAssign As UInteger, ByVal dwWhichMoniker As UInteger, ByVal ppmk As Object)
Sub GetContainer(ByVal ppContainer As Object)
Sub ShowObject()
Sub OnShowWindow(ByVal fShow As Boolean)
Sub RequestNewObjectLayout()
End Interface
‘其中Guid("00000118-0000-0000-C000-000000000046")为IOleClientSite的GUID(全局唯一标识符)(见我的另一篇转载《GUID和UUID、CLSID、IID 区别及联系 》及《与WebBrowser相关的GUID值的定义》)
2、接口的实现
Public Class Form1
Implements IOleClientSite ‘实现接口,参加《实现现有接口http://msdn.microsoft.com/zh-cn/library/cc438080(v=vs.71).aspx》
'并且要实现接口的所有方法
Public Sub GetContainer(ByVal ppContainer As Object) Implements IOleClientSite.GetContainer
ppContainer = Me
End Sub
Public Sub GetMoniker(ByVal dwAssign As UInteger, ByVal dwWhichMoniker As UInteger, ByVal ppmk As Object) Implements IOleClientSite.GetMoniker
End Sub
Public Sub OnShowWindow(ByVal fShow As Boolean) Implements IOleClientSite.OnShowWindow
End Sub
Public Sub RequestNewObjectLayout() Implements IOleClientSite.RequestNewObjectLayout
End Sub
Public Sub SaveObject() Implements IOleClientSite.SaveObject
End Sub
Public Sub ShowObject() Implements IOleClientSite.ShowObject
End Sub
End Class
3、另一个VB.NET实现COM接口的例子:《Extra WebBrowser Events PART 2 http://www.vbib.be/index.php?/tutorials/article/242-extra-webbrowser-events-part-2/》
[out] IOleContainer **ppContainer
);
[in] BOOL fShow
);
oc.SetClientSite(DirectCast(Me, IOleClientSite))
Public Sub GetContainer(ByVal ppContainerAsObject)Implements IOleClientSite.GetContainer
ppContainer = Me
End Sub
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/enu_kbie_dev/ie_dev/172763.htm
- VB.NET关于接口
- [VB.NET]关于数据接口咨询
- vb.net 接口
- [VB.NET]关于datagridviewr
- [VB.NET]关于更新
- [VB.NET]关于CellValueChanged
- [VB.NET]关于me
- [VB.NET]关于socket
- 浅谈VB.NET中的接口
- 浅谈VB.NET中的接口
- 浅谈VB.NET中的接口
- 浅谈VB.NET中的接口
- 浅谈VB.NET中的接口
- 浅谈VB.NET中的接口
- [VB.NET]接口与类
- VB.NET接口范例ISpeak
- 浅谈VB.NET中的接口
- 浅谈VB.NET中的接口
- Acceierated C++ 习题解答 第8章
- 写第一篇论文(nash bargain)的坎坷历程
- 小白的mysql入门
- 虔诚的学习者 腾讯技术类校园招聘笔试试题
- 搭建cocos2d-x-andriod开发环境遇到的各种问题
- VB.NET关于接口
- Construct Binary Tree from Preorder and Inorder Traversal
- 虔诚的学习者 腾讯2013年实习生笔试题
- 拖拉功能与多点触摸
- 汉澳sinox普及,软件业洗牌在即,一个神话
- HDU-3999 The order of a Tree 树的遍历
- CString 到char*:转换要求 reinterpret_cast、C 样式转换或函数样式转换
- android 自定义主题样式
- 腾讯2012年实习生笔试题