blob: c296789b68c0cd79b1dd602ddb93679d75325798 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
//! [0]
class MyActiveX : public QWidget, public QAxBindable
{
Q_OBJECT
Q_PROPERTY(int value READ value WRITE setValue)
public:
MyActiveX(QWidget *parent = 0);
...
int value() const;
void setValue(int);
};
//! [0]
//! [1]
void MyActiveQt::setText(const QString &text)
{
if (!requestPropertyChange("text"))
return;
// update property
propertyChanged("text");
}
//! [1]
//! [2]
long AxImpl::queryInterface(const QUuid &iid, void **iface)
{
*iface = 0;
if (iid == IID_ISomeCOMInterface)
*iface = (ISomeCOMInterface*)this;
else
return E_NOINTERFACE;
AddRef();
return S_OK;
}
//! [2]
//! [3]
HRESULT AxImpl::QueryInterface(REFIID iid, void **iface)
{
return controllingUnknown()->QueryInterface(iid, iface);
}
ulong AxImpl::AddRef()
{
return controllingUnknown()->AddRef();
}
ulong AxImpl::Release()
{
return controllingUnknown()->Release();
}
//! [3]
|