博文

VB插件-创建一个内部的窗体(2005-09-30 15:59:00)

摘要:你也许使用过我的 CoderHelper 后,会发现,VB中多了好多窗体.怎么实现的呢.呵呵上,告诉你个小秘密,我用一个微软提供的函数,这个函数就时 VBI.Windows.CreateToolWindow,它时Windows对象的方法.创建当然建议也时在 OnConnection 里.Dim aitmp As AddIn'定义一个AddinSet VBI = ApplicationSet MVBI = VBISet 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是要干吗的.至少,现在我们是用不着的.那是它在注册表中的事情.除非你要操作它在注册表中......

阅读全文(2439) | 评论:0