OnDraw manuell zum neuzeichnen anweisen



  • hi,

    habe über runtime_class einen pointer auf ein statisches Object:

    RUNTIME_CLASS *ret = RUNTIME_CLASS(CPerspective);

    CPerspective ist von CView abgeleitet.

    Mein Ziel ist es nun die in CPerspective befindliche OnDraw-Methode im Loop laufen zu lassen, um eine Kugel sich drehen zu lassen.

    Also dachte ich :

    CObject *newobj=ret->CreateObject();
    CPerspective *test = (CPerspective*) newobj;
    test->OnDraw(test->GetDC()); ***

    aber er startet durch *** das Prog nicht 😞
    kann durchaus ein Verständnisproblem sein, weiss auch nicht.

    mfg



  • Standardmethode um ein Fenster zum neuzeichnen zu veranlassen ist wohl

    Invalidate();
    UpdateWindow();
    

    Ne einfache, aber wahrscheinlich nicht die beste Wahl für ne Loop, wäre
    einen Windows-Timer für den View zu erstellen, und dann in dem OnTimer Message-Handler die oben genannten Funktionen zum Neuzeichnen aufzurufen.


Anmelden zum Antworten