Can you run the dumpcpp utility against the com object you are working with?
cd somewheresafetowrite
dumpcpp c:\windows\system32\comctl32.ocx
cd somewheresafetowrite
dumpcpp c:\windows\system32\comctl32.ocx
To copy to clipboard, switch view to plain text mode
The resulting cpp and h file should allow you to more directly access the COM objects by simply instantiating them in the typical C++ fashion:
ComctlLib::TreeView m_treeView;
...
m_treeView.SetBorderStyle(ComctlLib::ccFixedSingle);
ComctlLib::TreeView m_treeView;
...
m_treeView.SetBorderStyle(ComctlLib::ccFixedSingle);
To copy to clipboard, switch view to plain text mode
The process can be largely automated by:
client.pro
TEMPLATE = app
CONFIG += qaxcontainer
TARGET = client
DEPENDPATH += .
INCLUDEPATH += .
RC_FILE = client.rc
// {6B7E6392-850A-101B-AFC0-4210102A8DA7} is the TypeLib value from the class concerned.
TYPELIBS = $$system( dumpcpp -getfile {6B7E6392-850A-101B-AFC0-4210102A8DA7} )
isEmpty(TYPELIBS) {
message("Tree control type library not found!")
REQUIRES += COMCTL.TreeView
}
else: {# Input
SOURCES += main.cpp
}
TEMPLATE = app
CONFIG += qaxcontainer
TARGET = client
DEPENDPATH += .
INCLUDEPATH += .
RC_FILE = client.rc
// {6B7E6392-850A-101B-AFC0-4210102A8DA7} is the TypeLib value from the class concerned.
TYPELIBS = $$system( dumpcpp -getfile {6B7E6392-850A-101B-AFC0-4210102A8DA7} )
isEmpty(TYPELIBS) {
message("Tree control type library not found!")
REQUIRES += COMCTL.TreeView
}
else: {# Input
SOURCES += main.cpp
}
To copy to clipboard, switch view to plain text mode
Bookmarks