[QT][C++] Flagi Windows7 okno zawsze na wierzchu ŁĄCZNIE z paskiem zadań Win7 (Nietypowy błąd)
-
Znam kilka flag, które sprawiają że okno jest zawsze na wierzchu(np. Qt::ToolTip, Qt::WindowStaysOnTopHint, Qt::Popup), ale przy każdym sposobie jest ten sam problem.
Klikając w menu start, obszar tray, puste pole między programami a trayem - okno i tak się ukrywa.
Wszystko jest w porządku gdy przełączam się między różnymi aplikacjami i klikam wszędzie prócz wymienionych wyżej miejsc.
Tak samo działają inne aplikacje które kiedyś używałem, więc być może jest to taka nieproszona funkcja Windowsa.
Kodu nie ma sensu podawać, bo przy tym niema gdzie zrobić błędu, a zresztą flagi działają jak należy nie licząc tego "niewielkiego" problemu.
-
Qt Creator 2.7.0
Based on Qt 5.0.2 (32 bit)Built on Apr 9 2013 at 09:32:03
Z poprawki b6257ef735
[quote author="ariwez" date="1372321498"]Używasz Qt5? z Qt4 widzę podobne problemy jak Ty masz, a z piątką u mnie działa (wersje dla msvc 2010)[/quote]Użycie: SetWindowPos(this->winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
Zwraca błąd: invalid conversion from 'WId {aka unsigned int}' to 'HWND' [-fpermissive] -
Takie coś działa:
HWND hWnd = reinterpret_cast<HWND>(this->winId());
SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
Ale okazuje się, że dokładnie tak samo jak flagi z tematu. :(Wyjaśnienie w czym dokładnie jest problem:
http://youtu.be/k5TCtr1hPKY -
Ach, jeden film wart tysiąca słów :D
możesz poeksperymentować z flagami wg dokumentacji:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspxI daj znać proszę jak się uda, bo to ciekawy przypadek ;)