Я заметил в GIMP, что при открытии диалога он не отключает родительское окно.Родительское окно все еще можно использовать, а дочернее окно плавает перед ним.Я хочу сделать то же самое, но когда я нажимаю на родительское окно, оно толкает детей назад, так что родитель выходит вперед.
Я использую Qt QDialog, но счастливчтобы сделать специфичный для платформы код, чтобы заставить это работать.
Я искал здесь: http://msdn.microsoft.com/en-us/library/ff700543(v=vs.85).aspx
, но, кажется, ничто не делает то, что я ищу.В настоящее время у меня есть хитрое решение, в котором я устанавливаю окно на HWND_TOPMOST
, когда мое приложение получает фокус, а затем отключаю его, когда оно теряет фокус, но это не идеально, так как окна сообщений помещаются позади этих самых верхних окон.то есть.
SetWindowPos(winId(), stayOnTop ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOACTIVATE);