|
|
|
VB外接制做-创建一个内部的窗体. |
热 ★★★★ |
|
VB外接制做-创建一个内部的窗体. |
|
作者:闵涛 文章来源:闵涛的学习笔记 点击数:632 更新时间:2009/4/23 15:03:53 |
|
VB外接制做
三,创建一个内部的窗体.
你也许使用过我的 CoderHelper 后,会发现,VB中多了好多窗体.怎么实现的呢.呵呵上,告诉你个小秘密,我用一个微软提供的函数,这个函数就时 VBI.Windows.CreateToolWindow,它时Windows对象的方法.
创建当然建议也时在 OnConnection 里.
Dim aitmp As AddIn''''定义一个Addin
Set VBI = Application
Set MVBI = VBI
Set aitmp = MVBI.Addins("CoderHelper.Connect")
然后在模块中PUblic winCmdLine as Window
添加一个用户文档.ContinuousScroll 属性为False .命名为 ucCmdLine
在模块中 Public docCmdLine as ucCmdLine
这样时为了方便你在整个工程内使用他们.你也可以放在Connect元件中.
最后,也时最为关键的
Set winCmdLine = VBI.Windows.CreateToolWindow(aitmp, App.ProductName + ".docCmdLine", LoadResString(10), "c_m_d_l_i_n_e", docCmdLine)
aitmp参数很明显它是你Addin的实例,App.ProductName + ".docCmdLine"是ProgID.
LoadResString(10)从资源中加载了标题,当然你也可以直接写为字符串."c_m_d_l_i_n_e"是很麻烦的东西.它是GUID.GUID在MSDN和其它一些资料中说是在某目录下有这么个工具,但是似乎在VS.Net的菜单里才有.其它地方我是没有找到.在这里我是偷懒了.管它三七二十一.就用"c_m_d_l_i_n_e"代替吧,其中的"_"的也可以部要,但是MSDN带的一个示例中是这么写的.我尝试着去掉"_"但是,和这样写没什么区别.但是有一点,如果你不加"_",大家看到你代码的时候不知道那是什么参数,以为是字符串,而事实上是GUID.所以加上"_"能让你明白,那不是一般字符串.不管GUID是要干吗的.至少,现在我们是用不着的.那是它在注册表中的事情.除非你要操作它在注册表中的数据,才会用到这个该死的GUID.
docCmdLine是你刚才定义的用户文档对象.这可是必须的.不能马虎.
到这里,运行后你的VB里就会多个窗体.这个窗体本质不和其它窗体一样,它是 vbext_wt_ToolWindow类型,是不能象对象浏览器一样在窗体里对大化的.也不会有最小化和最大化按钮.它的右键菜单是无效的.我非常希望是有效的.但是,非常让我失望.
提醒你一点,创建后,你必须要 winCmdLine.Visible = Ture,才能显示出来.它的位置和大小最好不要理会.是由VB自己来控制的.用户在使用了后,关闭VB前,它是什么样的,那么下次启动时依然是什么样的.你的操心是没必要的.而且如果你的窗体和其它窗体连在一起时,调整大小可能会造成错误.有很长一段时间我试图控制它.但是非常麻烦.其实控制它的位置,目的就是关闭时的位置和下次启动位置一样.但后来才知道.这时没必要的.
关于用户文档,你可以自己创建,也可以转换一个窗体到用户文档.这里将不阐述这些事情.
没有相关教程
|
|
教程录入:mintao 责任编辑:mintao |
|
|
上一篇教程: 用VB实现来电显示的源代码(部份) 下一篇教程: VB外接程序的制做-在VB中创建您自己工具条和菜单 |
|
|
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网] |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
|
|
|
|
|
|
|
同类栏目 |
|
|
赞助链接 |
|
|
500 - 内部服务器错误。
|
|
|
|
|
|