QT4.8+VS2010使用ActiveX控件

1、Qt Project Settings->ActiveQt server library 、ActiveQt  container


2、即使做了上述选择Qt还是没有添加QAxContainerd.lib,因此要手动添加

 

3、调用

QAxWidget* pIECtrl= new QAxWidget(this);  
 pIECtrl->setControl(QString::fromUtf8("{EE65A93C-DDD5-4D43-8C0F-6FB805932C78}"));  


3、判断你setControl是否成功了。使用如下函数判断:bool isNull () const


4、如果成功,使用函数生成该activex组件的帮助说明文档。
QString generateDocumentation ()
你可以把这个函数的返回值保存成html文件,然后用IE打开,你能明白该怎么使用这个activex中的函数
QString strHelp=pIECtrl->generateDocumentation();
 FILE *file=fopen("helpkd.html","w");
 if (file)
 {
  fwrite(strHelp.toStdString().c_str(),1,strHelp.length(),file);
  fclose(file);
 }


4:开始按照文档使用。

 QAxWidget* pIECtrl= new QAxWidget(this);  
 pIECtrl->setControl(QString::fromUtf8("{EE65A93C-DDD5-4D43-8C0F-6FB805932C78}"));  
 pIECtrl->setObjectName(QString::fromUtf8("XiriDes"));  
 pIECtrl->setProperty("geometry", QVariant(QRect(340, 60, 241, 201)));
 pIECtrl->show();

 QString strHelp=pIECtrl->generateDocumentation();
 FILE *file=fopen("helpie.html","w");
 if (file)
 {
  fwrite(strHelp.toStdString().c_str(),1,strHelp.length(),file);
  fclose(file);
 }

 pIECtrl->dynamicCall("Navigate(const QString&)", "http://www.ifeng.com");  

你可能感兴趣的:(工作随笔)