[Qt-interest] remove border and scrollbars from Microsoft Web Browser ActiveX control

Michael Schneider mschneider at voiceinterconnect.de
Mon Nov 23 20:34:47 CET 2009


Hi!

I want to remove the border and the scrollbars from the webbrowser 
widget. When I navigate first time after application start to a website 
there show up scrollbars and borders.

Here you can see my program. Below I am writing what I have tried already.
###############################
ui file:
...
   <widget class="WebAxWidget" name="webbrowser" native="true">
    <property name="geometry">
     <rect>
      <x>200</x>
      <y>40</y>
      <width>561</width>
      <height>541</height>
     </rect>
    </property>
    <property name="control" stdset="0">
     <string>{8856F961-340A-11D0-A96B-00C04FD705A2}</string>
    </property>
   </widget>
...
<customwidget>
   <class>WebAxWidget</class>
   <extends>QWidget</extends>
   <header location="global">webaxwidget.h</header>
 </customwidget>
...
########################################
webaxwidget.h:
...
#include <ActiveQt/QAxWidget>
#include "windows.h"
class WebAxWidget : public QAxWidget
{
public:
WebAxWidget(QWidget* parent = 0, Qt::WindowFlags f = 0) : 
QAxWidget(parent, f)
{
}
...
#########################################
cpp-file:
...
ui->webbrowser->dynamicCall("Navigate(\"some_website\")");
...
###########################################
###########################################
I have read the supported properties through propertyBag().

QMap<QString, QVariant> a;
a = ui->webbrowser->propertyBag();
QMap<QString, QVariant>::iterator it;
for (it = a.begin(); it != a.end(); ++it)
ui->lineEdit_2->setText(ui->lineEdit_2->text()+"| "+it.key());

output: | AlignLeft| AutoArrange| ExtentX| ExtentY| HideFileNames| 
Location| NoClientEdge| NoFolders| NoWebView| Offline| 
RegisterAsBrowser| RegisterAsDropTarget| Silent| SingleClick| 
SingleSelection| Transparent| ViewID| ViewMode

Then I tried to set NoClientEdge:
ui->webbrowser->setProperty("NoClientEdge",true);
But setProperty returns false.

I also tried to set NoClientEdge with dynamicCall():
ui->webbrowser->dynamicCall("NoClientEdge",true);
But in Application output windows shows up this message:
QAxBase::dynamicCallHelper: NoClientEdge: No such property in 
{8856F961-340A-11D0-A96B-00C04FD705A2} [Microsoft Web Browser]

I hope someone can help me with the borders or the scrollbars. Some idea 
is good as well. Or maybe I made a mistake...
Thank You.
Michael



More information about the Qt-interest-old mailing list