Windows XP OnPaint Probelm



  • Hallo,

    Unter Windows 2000 funktioniert mein Programm (VC++ 7.0) ohne Anzeigefehler. Laß ich dieses Programm unter Windows XP laufen so kommt es zu einem komischen Anzeigefehler. Der Bildschirmaufbau bleibt hängen.

    Mein Anzeigefenster ist von CFrameWnd abgeleitet und mit der Funktion UpdateWindow() laß ich das Fenster neu aufbauen. Unter XP wird dann aber die OnPaint()-Funktion NICHT aufgerufen. Das Problem tritt nicht gleich beim Starten des Programmes auf, sondern erst nach einiger Zeit.

    Gebe ich vielleicht den DC nicht richtig frei, oder....

    Danke.

    mfG
    Martin



  • Lösung:
    Hab in meiner Schleife, wo das UpdateWindow() aufgerufen wird folgende Funktion aufgerufen:
    void DoEvents()
    {
    while (::PeekMessage(NULL,NULL,0,0,PM_NOREMOVE))
    {
    AfxGetThread()->PumpMessage();
    }
    }

    Jetzt funktioniert das Fenster wieder einwandfrei.


Log in to reply