怎么通过代码获取一个控件的ProgId
如何通过代码获取一个控件的ProgId
“Add 方法(Controls 集合)
在 Controls 集合中添加一个控件并返回一个对该控件的引用。
语法
object.Add (ProgID, name, container)
当中的ProgID就例如:
CommandButton的ProgID就是“Vb.CommandButton”(在对象浏览器中看到的)
RichTextBox的ProgID就是“RICHTeEXT.RichTextLib.1”(在调用上面的方法后产生711的错误,在错误描述里看到的)
然而,即使在错误描述里面有,也总不能让用户看到了再把这个ProgID输回来吧,而且,错误描述不一定有ProgID!!怎么办。以前用过这个方法的人帮帮忙。
------解决方案--------------------
Option Explicit
Dim WithEvents x As RichTextLib.RichTextBox
Private Sub Form_Load()
Set x = Controls.Add("RICHTEXT.RichTextCtrl.1", "AA")
x.Visible = True
x.Move 0, 0, 1000, 1000
End Sub
Private Sub x_Change()
'ddddddddddddddd
End Sub
------解决方案--------------------
有type这个函数吗?
------解决方案--------------------
用OleView.exe可以查看OCX里面的各种信息。
------解决方案--------------------
HKEY_CLASSES_ROOT\CLSID\{XXXXXXXXXXXXXXXXXXXXX}\ProgID
这里的XXXXXXXXXX换成你对象的CLSID,就能知道ProgID.
出错时需要先尽量多地得到信息,比如这个CLSID.
“Add 方法(Controls 集合)
在 Controls 集合中添加一个控件并返回一个对该控件的引用。
语法
object.Add (ProgID, name, container)
当中的ProgID就例如:
CommandButton的ProgID就是“Vb.CommandButton”(在对象浏览器中看到的)
RichTextBox的ProgID就是“RICHTeEXT.RichTextLib.1”(在调用上面的方法后产生711的错误,在错误描述里看到的)
然而,即使在错误描述里面有,也总不能让用户看到了再把这个ProgID输回来吧,而且,错误描述不一定有ProgID!!怎么办。以前用过这个方法的人帮帮忙。
------解决方案--------------------
Option Explicit
Dim WithEvents x As RichTextLib.RichTextBox
Private Sub Form_Load()
Set x = Controls.Add("RICHTEXT.RichTextCtrl.1", "AA")
x.Visible = True
x.Move 0, 0, 1000, 1000
End Sub
Private Sub x_Change()
'ddddddddddddddd
End Sub
------解决方案--------------------
有type这个函数吗?
------解决方案--------------------
用OleView.exe可以查看OCX里面的各种信息。
------解决方案--------------------
HKEY_CLASSES_ROOT\CLSID\{XXXXXXXXXXXXXXXXXXXXX}\ProgID
这里的XXXXXXXXXX换成你对象的CLSID,就能知道ProgID.
出错时需要先尽量多地得到信息,比如这个CLSID.