转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB外接程序的设计- 得到VB的控制权         ★★★★

VB外接程序的设计- 得到VB的控制权

作者:闵涛 文章来源:闵涛的学习笔记 点击数:667 更新时间:2009/4/23 15:03:54
VB外接程序的设计 一,得到VB的控制权 首先,外接,故名思意,当然必须是要和vb一起启动!在新建一外接工程后.新工程中设计器中有 Conncet.Dsr有这一元件,元件中有最为关键的一个事件 Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant) 这个事件中的 Application 就是VBIDE.要想控制VB,就必须从这里入手.因此在声明区就有了 Public VBInstance As VBIDE.VBE 这行代码,在这个事件中就有了 Set VBInstance = Application .然后,你的外接程序就可以直接控制整个VB.建议不要使用太长的变量名VBInstance,而使用VBI这样的短名称.编程可不是写文章.你能简短就简短.目的是完成功能,而不是让人欣赏你代码的编写艺术. ConnectMode 让会让你写的软件具备标准外接的连接方式.如果不标准,那你的代码虽然简练了很多,但是功能却让人却步. 言归正传, ConnectMode = ext_cm_External 时,那是为向导准备的.新建一个 向导,其元件Wizard中的代码就很明显,简单明了的告诉你,"被向导工具栏用来启动向导" If ConnectMode = ext_cm_External Then ''''被向导工具栏用来启动向导 LoadMe Else [...] End If 当然,现在我们步创建向导,创建向导也步用操心太多,很多工作模板中已经存在了,可是有个问题我很好奇,为什么没有创建向导的向导呢,这似乎是个具有讽刺意味的事情,但是从VB6到VB.Net我似乎没听说过. 下面接着做的就是添加到VB的工具栏或菜单里了.同样工作很简单,很重要的一点,你需要声明一个响应按钮的事件对象 : Public WithEvents evnMyCmdBar As CommandBarEvents CommandBarEvents 只有一个事件,就是 Click .光这样声明了是没有用的.必须要在AddinInstance_OnConnection事件中: Dim cbMyCmd as CommandBarControl Dim cbCmd as CommnadBar 然后: Set cbCmd = VBI.CommandBars("Tools")''''Tools 是VB菜单工具这一菜单的名称.如果要加到文件菜单那就是 "File" 编辑菜单就是 "Edit" 视图彩带就是 "View",工程菜单就是 "Project".往工具条里添也成,知道名称就成,推荐个了解名称最好的方法,再调试时按暂停,再监视里添加 VBI变量,然后展开它查看,一个一个点,绝对能找到你想要的东西. Set cbMyCmd=cbCmd.Controls.Add 添加一个 按钮 下面设置标题 cbMyCmd.Caption="这是我的按钮" 为按钮创建图标是我后来才了解到的,方法似乎很古怪.看我将要写的代码. Clipboard.Clear ''''清除剪切板内容. Clipboard.SetData LoadResPicture(102, vbResBitmap)''''从资源或其它任意一种方式加载一个16*16大小的图片. cbMyCmd.PasteFace ''''然后粘贴到按钮上,这个方法对象浏览器里是看不到的,完全看不到,有时候调用还会出错的.然而在这里调用保证没问题. Clipboard.Clear''''最后建议你清除一下,现在你也许明白了另外一个 问题.为什么每次启动VB前剪贴板中的内容在启动VB后会消失,或者如果你在窗体上粘贴一下,就会出现某一个VB外接程序图标.非常了不起就是这个鬼过程使得每次找到的代码先复制后打开VB然后粘贴,却什么也没有。不知道您是不是为此而头晕过哪!我想一定是的。 下面你必须要做的就是把这个按钮的事件和你在声明行里声明的时间关联起来。同样很简单: Set Me.evnMyCmdBar = VBI.Events.CommandBarEvents(cbMyCmd)''''前面 讲过了 VBI就是VBIDE.VBE对象.再次说明,创建按钮之前必须要 Set VBI= Application 这是现在所在的事件的参数之一. 到这里,如果你看明白了上面的东西的话,你的程序应该能运行了.不过别忘了如果按钮是要显示你的窗体的话,就再evnMyCmdBar事件里添入 frmName.Show .接着,VB的控制权你的程序就有了一份了!想干吗就干吗! 我可不想给你我写好的代码,如果该你了代码,你就不会仔细研究了,不仔细研究怎么能做出来外接呢!


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台