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...@qt-project.org [mailto:interest-bounces+tony=rightsoft.com...@qt-project.org] On Behalf Of Roland Winklmeier Sent: Thursday, 26 September 2013 2:34 AM To: interest@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
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest