Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[C++] Bestaat funcite [VB] DoEvents() ook voor C++?

h4xX0r
3 antwoorden
  • In Visual Basic ken ik de functie DoEvents() om het actuele venster response te geven, zodat het toch nog verplaatst kan worden, terwijl het programma ondertussen druk bezig is.
    Bestaat zo een soortgelijke functie ook voor C++.
    Het probleem wat ik nu heb is namelijk dat mijn programma zo bezig is, dat het scherm helemaal niet actief wordt. Alleen als het programma klaar is met de opdracht.

    Misschien kan iemand mij een hint geven.
    Alvast bedankt.

    Groetjes Eli Versteeg.
  • Is dat niet het 'yield' statement?

    RubeL
    (is geen C++-kenner)
  • Ik neem aan dat het gaat over een windows programma. Dan kun je altijd gebruik maken van de message loop:

    while(GetMessage(&Msg;, NULL, 0, 0) > 0)
    {
    TranslateMessage(&Msg;);
    DispatchMessage(&Msg;);
    }

    Natuurlijk heb je ook een callback functie nodig, bijvoorbeeld:

    LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
    {
    switch(msg)
    {
    case WM_CLOSE:
    DestroyWindow(hwnd);
    break;
    case WM_DESTROY:
    PostQuitMessage(0);
    break;
    default:
    return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
    }

    P.S. Yield functie is obsolete. Werkt alleen in oude 16-bit versies van Windows

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.