minimiertes Fenster...



  • Hallo!

    ich habe immer noch das Problem mit dem Wiederherstellen von meinem Dialog aus dem minimierten Zustand.
    Also ich rufe ein weiteres nicht modales Dialog auf, aus einem Hauptdialog. Wenn ich aber später den Hauptdialog minimiere, damit ich bloß auf dem Bildschirm mein nicht modales Dialog sehen kann, sage ich dass das nicht modale Dialog sichtbar sein soll:

    void CWinZ1Dlg::OnSize(UINT nType, int cx, int cy) 
    {
        CDialog::OnSize(nType, cx, cy);
    
        // TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen
        //SIZE_MINIMIZED, SIZE_RESTORED und SIZE_MAXIMIZED.
        if (nType == SIZE_MINIMIZED)
        {
            if (IsWindow(m_pCWinZ1Prueffeld->m_hWnd))
                m_pCWinZ1Prueffeld->ShowWindowMinimieren();
        }
    }
    
    void CWinZ1Prueffeld::ShowWindowMinimieren()
    {
        ShowWindow(SW_SHOW);
    }
    

    Also wie gesagt nichts besonderes! Wenn ich jetzt aber wie gewohnt auf mein minimiertes Dialog, in der Taskleiste, mit der linke Maustaste wieder aktivieren will, so passiert nichts:( Und ich weiß nicht wo man meinem minimierten Dialog explizit sagen kann, dass er wieder weiderhergestellt werden soll. Über rechte Maustaste sind die Funktionen immer noch erreichbar bloß die linke Taste geht nicht.

    Vielen Dank schon im Voraus!

    Gruß
    Russak



  • Hm, vielleicht musst Du OnActivate überschreiben, dort abfragen, ob das Fenster minimiert ist, und es daraufhin wieder 'vergrössern' !



  • Hallo!

    WM_ACTIVATE WM_LBUTTONDOWN u. ä. werden irgendwie von draußen nicht angesprochen. Gibts eine Möglichkeit aus CDialogApp die Nachrichten abzufangen?

    Gruß
    Russak



  • Hmm,
    also folgendes Beispiel:
    Im Explorer von Win2000 mal was grosses kopieren tun, dann den Explorer verkleinern, und schon wird er net mehr gross!

    Es liegt also daran, dass, wenn das Hauptfenster minimiert wurde, alle Messages an den aktiven Dialog weitergeleitet werden. Dort müsste man das dann abfangen.



  • Hi!

    Ich habe es jetzt:)
    WM_ACTIVATEAPP und dann SetActivateWindow(). Aber es funktioniert nur irgendwie diese Funktion, alle anderen OnSize, ShowWindow u.ä gehen hier nicht:(

    Danke trotzdem,
    Gruß
    Russak


Anmelden zum Antworten