本人第一次接触这种activeX控件的东西,参考了网上很多的教程,终于耗时三个多小时初步理解并编写了一个小demo,现在分享给大家,希望大家少走弯路。步骤如下:
1>像平常创建项目一样创建一个demo,在main方法中添加activeX控件所需要的头文件<QAxWidget>并且在.pro文件中添加QT += axcontainer代码,第一步完成。
记住:控件所需要的头文件可以在qt安装目录下的include目录下找到,添加的时候注意路径是否正确。
2>在main方法中创建一个QAxWidget对象,然后使用setcontral方法对对象进行实例化,然后使用dynamicCall加载需要的控件类的方法和资源
QAxWidget *flash = new QAxWidget(0,0);
flash->resize(50,80);
flash->setControl("{d27cdb6e-ae6d-11cf-96b8-444553540000}");//设置控件的ClassID,可以通过注册表或者ole系统再带工具查看(点击链接查看方法)
flash->dynamicCall("LoadMovie(long,string)",0,"C:/Users/SHRD/Documents/QTMapXTest/flash4770.swf");3
flash->show();
3>敲代码时级的将flash文件替换掉,换成自己的文件路径名。
执行效果图如下: