[Interest] QWindow::setTransientParent fails on windows
Tony Rietwyk
tony at rightsoft.com.au
Thu Sep 26 02:44:20 CEST 2013
Hi Roland,
I'm not sure what you are trying to achieve, but I had a similar problem
with the splash screen appearing with its own task bar tab. I worked
around the problem by doing:
int exstyle = GetWindowLong( mpSplash->winId(), GWL_EXSTYLE );
SetWindowLong( mpSplash->winId(), GWL_EXSTYLE,
exstyle & ~WS_EX_TOOLWINDOW );
before showing the splash.
Hope that helps,
Tony
From: interest-bounces+tony=rightsoft.com.au at qt-project.org
[mailto:interest-bounces+tony=rightsoft.com.au at qt-project.org] On Behalf Of
Roland Winklmeier
Sent: Thursday, 26 September 2013 2:34 AM
To: interest at qt-project.org
Subject: [Interest] QWindow::setTransientParent fails on windows
Hi there,
I'm currently struggling with QWindow::setTransientParent on a windows
platform. I have two different windows and want to set one as the child of
the other. Using QWindow::setParent() was not successful, because it was
embedded into the parent (I got the parent QWindow* by calling fromWinID() )
If I call QWindow::setTransientParent(parent), nothing changes. I have two
different entries in the taskbar instead of one and both windows are still
parentless.
After looking into the code in the windows platform plugin, I found out that
the following method is called in qwindowswindow.cpp:
void QWindowsWindow::updateTransientParent() const.
This method sets the parent by setting GWL_HWNDPARENT. But MSDN explicitly
said, you should NOT do it this way:
"You must not call SetWindowLong with the GWL_HWNDPARENT index to change the
parent of a child window. Instead, use the SetParent function. "
Source:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633591%28v=vs.85%2
9.aspx
So I assume this should be changed in the windows platform plugin to be a
real parent? Are there any other options to set the parent without embedding
it?
Cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130926/32b43b0b/attachment.html>
More information about the Interest
mailing list