Vb6的IDE改造基本搞定了,感觉很爽,前几天在弄DeveloperHelper的时候,一直无法理解为什么无法将窗口放入IDE的环境中,而很多好的Add-IN确是可以放入IDE里边的,在MSDN和网上查阅了一些文章,终于明白了道理,现在将道理记录一下:
(1)控件的容器是UserDocument而不是Form。在VB的IDE环境中那些可链接的窗体,其实都是一个个的UserDocument,因此,不要在Form上开发,而是要在UserDocument上开发,我也很奇怪为什么Microsoft给的模板要是From呢,直接给好UserDocument该有多好。
(2)UserDocument的属性设置,其实UserDocument的属性没有什么特殊的要求,但是有几点要特殊注意,一个是最好把ScrollBasr的属性该为0,这样就不会出现滑块了,还有最好不要做UserDocuemtn启动位置的设置,因为在VB的IDE里边所有的链接窗体的启动位置是自动记忆的,当然也包括大小,因此最好不要设置这些代码,否则就不爽了。
(3)UserDocument的名字一定要特殊注意,因为代码中要用到的。
(4)最关键的当然就是Connect里边的代码编写了,这里边的代码其实是很模板化的,没有什么技巧,大家照着案例写就行,关键代码如下:
声明部分:
Public
FormDisplayed
As
Boolean
Public
VbInsTance
As
VBIDE.VBE
![None.gif](/Images/OutliningIndicators/None.gif)
Public
WithEvents MenuHandler
As
CommandBarEvents
Public
WithEvents CtlHandler
As
VBControlsEvents
![None.gif](/Images/OutliningIndicators/None.gif)
Private
mcbMenuCommandBar
As
Office.CommandBarControl
Private
mCodeAddIn
As
udCodeDesign
Private
mControlAddIn
As
udControlTemplate
Private
mCodeWindow
As
VBIDE.Window
Private
mControlWindow
As
VBIDE.Window
Private
mCodeGuid
As
String
Private
mControlGuid
As
String
Show、Hide方法:
Public
Sub
Hide()
On
Error
Re
(1)控件的容器是UserDocument而不是Form。在VB的IDE环境中那些可链接的窗体,其实都是一个个的UserDocument,因此,不要在Form上开发,而是要在UserDocument上开发,我也很奇怪为什么Microsoft给的模板要是From呢,直接给好UserDocument该有多好。
(2)UserDocument的属性设置,其实UserDocument的属性没有什么特殊的要求,但是有几点要特殊注意,一个是最好把ScrollBasr的属性该为0,这样就不会出现滑块了,还有最好不要做UserDocuemtn启动位置的设置,因为在VB的IDE里边所有的链接窗体的启动位置是自动记忆的,当然也包括大小,因此最好不要设置这些代码,否则就不爽了。
(3)UserDocument的名字一定要特殊注意,因为代码中要用到的。
(4)最关键的当然就是Connect里边的代码编写了,这里边的代码其实是很模板化的,没有什么技巧,大家照着案例写就行,关键代码如下:
声明部分:
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
Show、Hide方法:
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)