C
Hallo,
wenn Du verhindern willst, dass das eine Fenster nicht von anderen Fenstern verdeckt werden darf, so setze es einfach auf Topmost:
SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOSIZE | SWP_NOMOVE | SWP_NOREDRAW | SWP_NOACTIVATE);
Sollte deine Anwendung allerdings eine MessageBox() aufpoppen lassen sollen,
so ist die Messagebox hinter diesem Window! Verindern kann man das, wenn man
dann die Topmost-Eigeschaft kurz ausschaltet, einfach mit:
SetWindowPos (hWnd, HWND_NOTOPMOST, 0, 0, 0, 0,
SWP_NOSIZE | SWP_NOMOVE | SWP_NOREDRAW | SWP_NOACTIVATE);
danach wieder einschaltet.
Einfach eine eigene foo dafür schreiben:
void SwapZOrder(HWND hWnd){
static BOOL bMost = false;
HANDLE HWND_NEWORDER = NULL;
if(!bMost)
HWND_NEWORDER = HWND_TOPMOST;
else
HWND_NEWORDER = HWND_NOTOPMOST;
SetWindowPos (hWnd, HWND_NEWORDER, 0, 0, 0, 0,
SWP_NOSIZE | SWP_NOMOVE | SWP_NOREDRAW | SWP_NOACTIVATE)
}