Hello,
I want to show an ActiveX widget in a frameless dialog which attribute is set to transparent. The problem is that the ActiveX widget is not shown, so I get a "hole" in my dialog. This behaviour occurs with completely different types of ActiveX components. But if I don't make the dialog transparent the ActiveX widget is shown.
I have already tested adding a non-transparent QWidget that contains the ActiveX widget, but the ActiveX is not visible, only the "hole" is fixed. But if I make the dialog non-transparent, the ActiveX is shown. It seems that the parent window (not widget) of the ActiveX widget may not be transparent.
Anyone an idea how to fix this? I am using Qt 4.6.2, WinXP, VC++ 2008.
Thanks for your help,
Dennis
#include <QApplication>
#include <QDialog>
#include <QHBoxLayout>
#include "acropdflib.h" //created by "Qt\bin\dumpcpp.exe AcroPDF.PDF"
int main(int argc, char *argv[])
{
QDialog d
(0, Qt
::Dialog | Qt
::FramelessWindowHint);
AcroPDFLib::AcroPDF* pdf = new AcroPDFLib::AcroPDF(&d);
pdf->LoadFile("test.pdf");
d.layout()->addWidget(pdf);
d.setAttribute(Qt::WA_TranslucentBackground); //without this the PDF is shown
d.show();
return a.exec();
}
#include <QApplication>
#include <QDialog>
#include <QHBoxLayout>
#include "acropdflib.h" //created by "Qt\bin\dumpcpp.exe AcroPDF.PDF"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDialog d(0, Qt::Dialog | Qt::FramelessWindowHint);
AcroPDFLib::AcroPDF* pdf = new AcroPDFLib::AcroPDF(&d);
pdf->LoadFile("test.pdf");
d.setLayout(new QHBoxLayout());
d.layout()->addWidget(pdf);
d.setAttribute(Qt::WA_TranslucentBackground); //without this the PDF is shown
d.show();
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks