Dialogfelder



  • Hallo,
    ich habe so ein Diaolgfeld aufgerufen:

    m_dMessanger.Create(IDD_MESSANGER,this);
        m_dMessanger.ShowWindow(SW_SHOW|SW_NORMAL);
        m_dMessanger.OnStart();
    

    Wenn sich das Dialogfeld öffnet wird die Funktion OnStart() aufgerufen.
    Diese schreibt etwas in eine ListBox.
    Bis hier hin funktionier auch alles.

    Wenn Der Dialog dann aber wieder geschlossen wird, und später wieder mit der selben Funktion wieder geöffnet wird, dann schreibt OnStart() nichts mehr in die ListBox.

    Da liegt das Problem. Ich möchte bei jedem neuem Aufruf des Dialogs das Fenster auf dem Anfangszustand haben.

    Hat jemand einen Tipp ? Danke.



  • Was steht den in der OnStart()?



  • void CMessangerDlg::OnStart()
    {
        if (m_bServer)
        {
            m_sListenSocket.Close();
            m_sListenSocket.Create(65432);
            m_sListenSocket.Listen();
            m_lChat.InsertString(m_lChat.GetCount(),m_tTime+"<System>Warten auf Port: 65432",m_crColors[0]);
            m_lChat.SetCurSel(m_lChat.GetCount() -1);
    
        }
        else
        {
            m_sSocket.Close();
            m_sSocket.Create();
            m_sSocket.Connect(m_strIP,65432);
            m_lChat.InsertString(m_lChat.GetCount(),m_tTime+"<System>Verbinden mit "+m_strServer+" ["+m_strIP+"]",m_crColors[0]);
            m_lChat.SetCurSel(m_lChat.GetCount() -1);
    
        }   
    }
    


  • Hi!

    bei mir gabs ein Problem so lange ich kein DestroyWindow()(statt CDialog::OnOK bzw. CDialog::OnCancel) verwendet habe bei ...::OnOK() oder ...::OnCancel().

    Gruß
    Russak



  • Auch wenn ich anstatt OnOK(); OnDestroy(); mache gehts nicht.



  • Oh Sorry,...
    mit DestroyWindow(); gehts.

    habs überlesen

    Thanks


Anmelden zum Antworten