Set Timer zur laufenden Datenaktualisierung



  • Hallo Zusammen,

    will mir jemand möglichst präzise schreiben wie man mit "setTimer" und "onstart Timer" eine Datenaktualisierung realisiere, weil ich die Beschreibung in der englischen MSDN Library nicht checke. Daten ändern sich zur Laufzeit aber es findet keine Aktualisierung im Dialog statt.

    Thanks



  • also das Thema wurde hier auch schon mal behandelt - such mal nach SetTimer ...

    Ganz kurz:
    1. Eine RessourcenID für den zu startenden Timer anlegen (Ressourcen -> Ressourcensymbole)
    2. Den Timer bei Bedarf in der Dialogklasse starten mit SetTimer(DeineRessourcenID, IntervallInMilliSekunden)
    3. Die Nachricht WM_TIMER in der Dialogklasse abfangen (Eigenschaften der Klasse -> Meldungen -> WM_TIMER ->OnTimer hinzufügen
    4. OnTimer implementieren

    void Cdlg::OnTimer(UINT nIDEvent)
    {
        switch(nIDEvent)
        {
        case DeineRessourcenID:
            //aktualisiere Deine Felder
            break;
        default:
            // OnTimer der BASISKLASSE
            CDialog::OnTimer();
        }
    }
    

    5. Den Timer dann auch wieder killen, wenn er nicht gebraucht wird. KillTimer(DeineRessourcenID)



  • Danke erst mal. So kann ich im Hautdialog vorgehen. Jedoch in einem Unterdialog geht das scheinbar nicht. Die setTimer(x,y,NULL) mach ich in der initDialog (im Hauptdialog). Im Sub Dialog hab ich die nicht. Was nu ?
    Danke 🙂



  • Nur weil sie nicht da steht, heißt es nicht, dass es sie nicht gibt...
    Du kannst diese Fkt für jeden Dialog einfach über den Klassenassi hinzufügen.


Anmelden zum Antworten