2009-05-12 12 views
8

Ich erstelle ein Programm, das zu bestimmten Zeiten ein Popup anzeigt (genau wie einige Chat-Clients), auf die der Benutzer klicken kann. Ich möchte jedoch nicht den Fokus von der aktuellen Anwendung wegnehmen.Win32, C++: Erstellen eines Popup-Fensters ohne Fokus zu stehlen

Die Art, wie ich es jetzt mache, besteht darin, ein HWND mit WS_POPUPWINDOW zu verwenden und das Fenster zu minimieren und dann wieder herzustellen. Dies stiehlt jedoch den Fokus von der aktuellen Anwendung. Das Festlegen des Vordergrunds oder das Ausblenden und Anzeigen eines Fensters hat es nicht im Vordergrund erscheinen lassen. Ich würde gerne in der Lage sein, weiterhin ein HWND zu verwenden, damit ich andere Elemente in diesem Fenster verwenden kann, aber ich habe keine Ahnung, wie ich es in den Vordergrund stellen kann, ohne Fokus zu stehlen.

Ich benutze Win32 und C++.

Antwort

21

ohne Aktivierung anzuzeigen:

ShowWindow(hwnd, SW_SHOWNOACTIVATE); 

ohne zu erhöhen Aktivierung:

SetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE); 
Verwandte Themen