Message Loop aufrufen??



  • Habe eine Berechnungfunktion, welche verschachtelte for schliefen druchläuft und auch länger dauern kann! nun möchte ich in den einzelen forschleifen ab un zu die "MessageLoop" aufrufen , so das prgraomm noch auf user nachrichten reagieren kann?? wie geht das?



  • Schau Dir das mal an:
    http://www.mpdvc.de/html.htm#Q75

    Gruß



  • ich blick das ganze nich... weis jemand wie die zeilen lauten um die message lopp aufzurufen?



  • in deinen verschachtelten for-schleifen schreibst du am besten am ende eines schleifendurchlaufes den messageloop rein

    [cpp]
    void CView::meine_schleifenfunktion()
    {
    for(.....)
    {
    ...//berechne was ganz tolles
    MSG msg;
    //die while lauft so lange, bis alle messages abgearbeitet sind
    //dann läuft deine schleife wieder
    while( ::PeekMessage( &msg, NULL, NULL, NULL, PM_NOREMOVE ) )
    ::AfxGetThread()->PumpMessage();

    }
    }

    das obere Bsp. gilt wenn du die MFC benutz, ansonsten tausch die paar zeilen nach '...//berechne was tolles' gegen diese

    MSG msg;
    
    while( ::PeekMessage( &msg, NULL, NULL, NULL, PM_NOREMOVE ) )
    { 
      if (::GetMessage( &msg, NULL, 0, 0 ) == -1)
      {
        // handle the error and possibly exit
      }
      else
      {
        ::TranslateMessage(&msg); 
        ::DispatchMessage(&msg); 
      }
    }
    

    das müßt dir weiterhelfen :hoffe:

    gruß



  • ohh danke es funktioniert.. dankeschön


Anmelden zum Antworten