Revision control
Copy as Markdown
// Copyright (C) 2015 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [0]
connect(buttonBack, SIGNAL(clicked()), webBrowser, SLOT(GoBack()));
//! [0]
//! [1]
activeX->setProperty("text", "some text");
int value = activeX->property("value");
//! [1]
//! [2]
webBrowser->dynamicCall("GoHome()");
//! [2]
//! [3]
connect(webBrowser, SIGNAL(TitleChanged(QString)),
this, SLOT(setCaption(QString)));
//! [3]
//! [4]
dispinterface IControl
{
properties:
[id(1)] BSTR text;
[id(2)] IFontDisp *font;
methods:
[id(6)] void showColumn([in] int i);
[id(3)] bool addColumn([in] BSTR t);
[id(4)] int fillList([in, out] SAFEARRAY(VARIANT) *list);
[id(5)] IDispatch *item([in] int i);
};
//! [4]
//! [5]
QAxObject object("<CLSID>");
QString text = object.property("text").toString();
object.setProperty("font", QFont("Times New Roman", 12));
connect(this, SIGNAL(clicked(int)), &object, SLOT(showColumn(int)));
bool ok = object.dynamicCall("addColumn(const QString&)", "Column 1").toBool();
QList<QVariant> varlist;
QList<QVariant> parameters;
parameters << QVariant(varlist);
int n = object.dynamicCall("fillList(QList<QVariant>&)", parameters).toInt();
QAxObject *item = object.querySubItem("item(int)", 5);
//! [5]
//! [6]
IUnknown *iface = 0;
activeX->queryInterface(IID_IUnknown, (void**)&iface);
if (iface) {
// use the interface
iface->Release();
}
//! [6]
//! [7]
ctrl->setControl("{8E27C92B-1264-101C-8A2F-040224009C02}");
//! [7]
//! [8]
ctrl->setControl("MSCal.Calendar");
//! [8]
//! [9]
ctrl->setControl("Calendar Control 9.0");
//! [9]
//! [10]
ctrl->setControl("c:/files/file.doc");
//! [10]
//! [11]
<domain/username>:<password>@server/{8E27C92B-1264-101C-8A2F-040224009C02}
//! [11]
//! [12]
{8E27C92B-1264-101C-8A2F-040224009C02}:<LicenseKey>
//! [12]
//! [13]
{8E27C92B-1264-101C-8A2F-040224009C02}&
//! [13]
//! [14]
ctrl->setControl("DOMAIN/user:password@server/{8E27C92B-1264-101C-8A2F-040224009C02}:LicenseKey");
//! [14]
//! [15]
activeX->dynamicCall("Navigate(const QString&)", "www.qt-project.org");
//! [15]
//! [16]
activeX->dynamicCall("Navigate(\"www.qt-project.org\")");
//! [16]
//! [17]
activeX->dynamicCall("Value", 5);
QString text = activeX->dynamicCall("Text").toString();
//! [17]
//! [18]
IWebBrowser2 *webBrowser = 0;
activeX->queryInterface(IID_IWebBrowser2, (void **)&webBrowser);
if (webBrowser) {
webBrowser->Navigate2(pvarURL);
webBrowser->Release();
}
//! [18]
//! [19]
QAxWidget outlook("Outlook.Application");
QAxObject *session = outlook.querySubObject("Session");
if (session) {
QAxObject *defFolder = session->querySubObject(
"GetDefaultFolder(OlDefaultFolders)",
"olFolderContacts");
//...
}
//! [19]
//! [20]
void Receiver::slot(const QString &name, int argc, void *argv)
{
VARIANTARG *params = (VARIANTARG*)argv;
if (name.startsWith("BeforeNavigate2(")) {
IDispatch *pDisp = params[argc-1].pdispVal;
VARIANTARG URL = *params[argc-2].pvarVal;
VARIANTARG Flags = *params[argc-3].pvarVal;
VARIANTARG TargetFrameName = *params[argc-4].pvarVal;
VARIANTARG PostData = *params[argc-5].pvarVal;
VARIANTARG Headers = *params[argc-6].pvarVal;
bool *Cancel = params[argc-7].pboolVal;
}
}
//! [20]