Frage

Ich bin nicht in der Lage ein Fenster nach „Minimieren“ ein Fenster wiederherstellen, indem Sie diese in Wndproc auf Behälter,:

case WM_SIZE:
  if (wparam==SIZE_MINIMIZED) {
    ShowWindow(hwnd,SW_HIDE);
  }
  break;

Das Fach Nachrichtenhandler sieht wie folgt aus:

case TRAY_ICON_MESSAGE:
  switch(lparam) {
  case WM_LBUTTONDOWN:
    ShowWindow(hwnd, SW_RESTORE);
    BringWindowToTop(hwnd);
    SetFocus(hwnd);
    break;
  // ...

Das Fenster wird wieder erscheinen, ist aber immer unter anderen Fenstern versteckt und kommt nicht an die Spitze. Weder SetFocus () noch BringWindowToTop () erscheint keine Wirkung haben.

War es hilfreich?

Lösung

Könnten Sie überprüfen die Funktionen Fehler zurückgeben?

Sie könnten auch einen Blick auf SetForegroundWindow

Andere Tipps

if (::IsIconic(hwnd))  
    ShowWindow(hwnd, SW_RESTORE);  

::SetForegroundWindow(hwnd);  
::BringWindowToTop(hwnd);

Nie setForeground verwenden.

Siehe Msdn Bemerkungen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top