ActiveX 控件导入程序

时间:2016-07-08 04:49:11
【文件属性】:
文件名称:ActiveX 控件导入程序
文件大小:54KB
文件格式:EXE
更新时间:2016-07-08 04:49:11
转OCX到DLL 不用工具箱的话,自己手工添加,需要注意一个问题,就是要用Aximp.exe来包装一下ocx控件的类,然后再程序中引用生成的dll就可以了。 aximp [options]{file.dll | file.ocx} The following command generates MediaPlayer.dll and AxMediaPlayer.dll for the Media Player control msdxm.ocx. aximp c:\systemroot\system32\msdxm.ocx 将 ActiveX 控件的 COM 类型库中的类型定义转换为 Windows 窗体控件。 Windows 窗体只能承载 Windows 窗体控件,即从 Control 派生的类。Aximp.exe 生成可承载于 Windows 窗体上的 ActiveX 控件的包装类。这使您得以使用可应用于其他 Windows 窗体控件的同一设计时支持和编程方法论。若要承载 ActiveX 控件,必须生成从 AxHost 派生的包装控件。此包装控件包含基础 ActiveX 控件的一个实例。它知道如何与 ActiveX 控件通信,但它显示为 Windows 窗体控件。这个生成的控件承载 ActiveX 控件并将其属性、方法和事件公开为生成控件的属性、方法和事件。 如果不包装一下直接用,会出现 灾难性 错误。上面已经说明了原因。 在项目中引用生成的ax开头的dll,在窗体代码中增加: 声明一个公有的控件对象: public AxISPICRECLib.AxISPICREC AxISPICREC; 在InitializeComponent()方法内初始化控件: AxISPICREC = new AxISPICRECLib.AxISPICREC();//必须new对象,否则窗体设计器出问题 ((System.ComponentModel.ISupportInitialize)(this.AxISPICREC)).BeginInit();//初始化开始 this.Controls.Add(this.AxISPICREC);//添加控件 ((System.ComponentModel.ISupportInitialize)(this.AxISPICREC)).EndInit(); this.AxISPICREC.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("AxISPICREC.OcxState")));//设计控件状态 如果遇到“正试图在 os 加载程序锁内执行托管代码”这个错误,请设置“调试”--“异常” "----"Managed Debugging Assistants"中勾掉"LoaderLock" 就可以了。

网友评论

  • 可以用的。
  • 下载下来学习下!
  • 学习了,成功导入ACTIVE,多谢楼主
  • 入门级别,挺好,。。
  • 还不错,就是不知道该怎么用,加个使用说明就更好
  • 入门级学习案例,很好。
  • 不错啊,可以使用
  • 还可以,用是可以滴
  • 好东西啊,入门级
  • 好东东,可以导出,暂时还没加入WPF中
  • 还不错,就是不知道该怎么用,加个使用说明就更好了
  • 还行,可以用
  • 还行,可以用
  • 还行,可以用