dialog ist nicht aktiv



  • nein der ist nicht deaktiviert.
    Ich weiss einfach nicht, warum das Programm nach dem Dialog aufruf hängen bleibt und garnichts mehr macht.



  • bitte genauer beschreiben, wie der Aufruf aussieht, wo irgendwas hängen bleibt oder noch mehr Infos, was überhaupt passieren soll (der Dialog ist auch nicht deaktiviert, den kann man nämlich auch deaktivieren)

    MfG



  • Also ich glaube das Dialog ist auch nicht deaktiviert.
    Also ich habe eine normale Form und da einen Ok butten der beim click das
    Dialog öffnen soll.
    Das Dialog öffnet dich auch ist aber nicht anklickbar(button auf Dialog).
    Danach hängt das Programm.

    der Aufruf in der OnClick ist:

    dlgNeu.DoModal();
    dlgNeu.ShowWindow(IDD_FORMVIEW);

    Hoffe das ist besser beschrieben



  • Wozu
    dlgNeu.ShowWindow(IDD_FORMVIEW);

    das reicht doch aus
    dlgNeu.DoModal();



  • geht aber trotzdem nicht



  • also bei mir geht das immer:

    void CDlgDlg::OnBtnOK() 
    {
         CTestDlg tdlg;
    
         int nResponse = tdlg.DoModal();
    
         if (nResponse == IDOK)
         {
                 // irgendwas
         }
         else if (nResponse == IDCANCEL)
         {
                 // irgendwas
    
         }
    
    }
    

    daß das Programm bei DoModal "hängt", ist klar, da der mit DoModal gezeigte Dialog erst geschlossen werden muß, damit das Programm weiterläuft.

    wenn du nur irgendetwas anders machst, dann mußt du das zeigen, sonst wird eine Diagnose schwer.

    MfG



  • wo und wann soll ich den dialog schliessen?

    haste vielleicht ein beispiel?



  • in CTestDlg müßte doch auch ein Button sein (wahrscheinlich der Button, von dem du meinst, er ist inaktiv), und für den gibt es in der Klasse CTestDlg dann doch auch eine Klick-Methode, z.B. OnBtnInTestDlg:

    void CTestDlg::OnBtnInTestDlg()
    {
        // um den Dialog zu schließen bei Klick dieses Button, muß folgende Anweisung am Ende stehen (damit der Button sich wie ein Ok-Button verhält)
    
        CDialog::OnOk();
    }
    

    vielleicht war das das Problem?

    MfG



  • das habe ich auch schon versucht.
    der button lässt sich anklicken.
    ich glaube das fenster dialog ist nicht aktiv.
    ich kann das fenster noch nicht mal verschieben.



  • dann hast du irgendwas gebaut, was nicht vorgesehen ist, und es sind mehr Infos nötig: was ist das für eine Anwendung? Dialogfeld-basiert? MDI? SDI? In welcher Klasse wird der nicht-reagierende Dialog aufgerufen? Wie sieht die Klassen-Definition der Dialog-Klasse aus, welche ID wird dort in der enumeration (siehe Code unten) angezeigt? Ist das die ID, zu der es auch eine Dialogfeld-Resource gibt (wird angezeigt unter dem Knoten "Projektname Resaourcen"->"Dialog" im Arbeitsbereichsfenster in der Registerkarte "Ressourcen")?

    enum { IDD = IDD_DLG_DIALOG }; // ist das eine ID unter Dialog ?
    

    du hast vorhin IDD_FORMVIEW erwähnt, das klingt komisch für einen Dialog...wie sehen die Eigenschaften im Resourcen-Editor für diesen Dialog aus (ein "normaler" Dialog hat z.B. als Stil "Kontextmenü" in der Registerkarte "Allgemein")?

    MfG


Anmelden zum Antworten