WM_SYSCOMMAND & SC_MINIMIZE



  • Guten Tag allerseits!

    Wie realisiere ich, dass das Fenster welches ich minimiere, nicht in der Taskleiste angezeigt, sondern "unsichtbar" wird?

    Ich versuchte es mit diesem Code:

    case WM_SYSCOMMAND:
    switch (wParam)
    	{			
    	case SC_MINIMIZE: WM_S
    	ShowWindow (hwnd, SW_HIDE);
    	break;
    	}
    break;
    

    So funktioniert es, leider reagiert es auch wenn ich das Fenster anklicke, bewege oder die Grösse verändere.

    case WM_SYSCOMMAND:
    ShowWindow (hwnd, SW_HIDE);
    break;
    

    Mit freundlichen Grüssen,
    Sotares



  • Versuche es mal so:

    case WM_SIZE:
    switch (wParam)
    {           
        case SIZE_MINIMIZED: 
            ShowWindow (hwnd, SW_HIDE);
            break;
    }
    

  • Mod

    case WM_SYSCOMMAND: 
    if (wParam==SC_MINIMIZE)
    {
      ShowWindow (hwnd, SW_HIDE); 
      return 0;
    }
    break;
    

    Ich verstehe nicht ganz warum Dein erster Code nicht funktioniert. Dein zweiter Code kann nicht funktionieren, denn dort behandelst Du jeden WM_SYSCOMMAND Befehl!
    Wenn Du den code behandelst musst Du eben auch returnieren.



  • Der Fehler war, das ich den break anstelle des return 0 angegeben habe.
    Jetzt läufts, danke für die Hilfe.

    Sotares


Anmelden zum Antworten