Situation: A border-less QDialog stays successfully on top of other applications.
The problem is when clicking on this always-on-top application window, the following occurs:
- The clicked always-on-top application gets activated
- The clicked always-on-top application window steals the focus of previous active/focused app
Is there a possibility that when clicking on this always-on-top inactive and unfocused application window,
- the current application does not loose activation and focus
- while user being still able to interact with the always-on-top application (hitting buttons or drop-down menus, dragging the window)?
I'm working with Qt but there's no problem about using native Windows API.
I tried the following Qt windowFlag:
Qt::WindowDoesNotAcceptFocus
but it does not work: the always-on-top application is activated, focused.Qt::WindowTransparentForInput
, the always-on-top application is really transparent to clicks: not activated and not focused in but buttons are unfortunately not triggered when hit.
It is possible to make a window unactivable and unfocusable when clicking on it by using Windows flags (
#include <qt_windows.h>
). The following has to be used after the window is created and shown: