“Add 方法(Controls 集合)
      在 Controls 集合中添加一个控件并返回一个对该控件的引用。语法object.Add (ProgID, name, container)当中的ProgID就例如:
  CommandButton的ProgID就是“Vb.CommandButton”(在对象浏览器中看到的)
  RichTextBox的ProgID就是“RICHTeEXT.RichTextLib.1”(在调用上面的方法后产生711的错误,在错误描述里看到的)然而,即使在错误描述里面有,也总不能让用户看到了再把这个ProgID输回来吧,而且,错误描述不一定有ProgID!!怎么办。以前用过这个方法的人帮帮忙。

解决方案 »

  1.   

    Option ExplicitDim WithEvents x As RichTextLib.RichTextBoxPrivate Sub Form_Load()
        Set x = Controls.Add("RICHTEXT.RichTextCtrl.1", "AA")
        x.Visible = True
        x.Move 0, 0, 1000, 1000
    End SubPrivate Sub x_Change()
       'ddddddddddddddd
    End Sub
      

  2.   

    用OleView.exe可以查看OCX里面的各种信息。
      

  3.   

    HKEY_CLASSES_ROOT\CLSID\{XXXXXXXXXXXXXXXXXXXXX}\ProgID这里的XXXXXXXXXX换成你对象的CLSID,就能知道ProgID.出错时需要先尽量多地得到信息,比如这个CLSID.
      

  4.   


    不知道LZ说这个是什么意思?
    2L代码是711的错误,你的ProgID错了
    至于你说通过代码获得ProgID,事实上,这个并不是问题,因为,你要动态创建什么控件,肯定事先确定好的,既然事先确定好的,你就可以通过OleView获得该控件的ProgID!