In CView anzeigen während CDoc beschäftigt ist



  • Eine Frage als Newby: Wie kann ich in CView (OnDraw) etwas anzeigen (Screen aktualisieren) während CDoc z.B. durch Laden aus dem Internet (OpenURL,Eieruhr) beschäftigt ist? Also es quasi als eigenen Task laufen lassen (Mein Programm reagiert nähmlich auch nicht auf einen Timer in CView wenn C 😕 Doc beschäftigt ist).



  • Vielleicht mittels Thread-Programmierung.



  • Und da Frage ich mich wie CDoc beschäftigt sein kann !

    Wenn man Funktionen implementiert dann in einer eigenen Klasse. Das ist dann auch Hilfreich wenn man das ganze in einen Thread packen will.



  • Ich muß wohl noch einiges über Threadprogrammierung lernen (Bücher?).
    Muß es ein eigener Thread sein oder reicht ein eigener Task?
    Kann ich mit folgendem Codeschnipsel etwas anfangen?
    BOOL CMyProgApp::OnIdle(LONG lCount)
    {
    CWinApp::OnIdle(lCount);
    POSITION pos = GetFirstDocTemplatePosition();
    CDocTemplate* pDocTemplate = GetNextDocTemplate(pos);
    pos = pDocTemplate->GetFirstDocPosition();
    CDocument* pDoc = pDocTemplate->GetNextDoc(pos);
    pos = pDoc->GetFirstViewPosition();
    CMyProgView* pView =(CMyProgView*) pDoc->GetNextView(pos);
    // To Do ...
    pView->UpdateData(TRUE);
    return TRUE;
    //return CWinApp::OnIdle(lCount);
    }



  • Threadprogrammierung ist nicht schwer. 😉


Log in to reply