AUf Buttons reagrieren während einer Funktion.



  • Hallo,
    ich bin recht neu in der WinApi und hab jetzt mal ein paar Buttons auf ein Fenster gemacht. Wenn der eine gedrückt wird dann soll z.B. eine Funktion ausgeführt werden, die eine Endlosschleife ist. Falls aber in der Zeit der User auf den 2ten Button drückt soll das Prog. trotzdem beendet werden obwohl eine andere Funktion am laufen ist.

    case WM_COMMAND:
          {
             if (lParam == (LPARAM)hwndButton[0])
             {
                if (HIWORD(wParam) == BN_CLICKED)
    			{
                  //BSP:
    		while(1)
                          {
                             Sleep(100);
                          }
    	}
    
             }
    		 if (lParam == (LPARAM)hwndButton[1])
    		 {
    			 PostQuitMessage(0);
    		 }
             return 0;
    

    Wie lässt sich das einrichten?
    Es sind beides normale PUSHBUTTONS.

    Hoffe auf Antworten 🙂
    MFG



  • Die Endlosschleife in einen eigenen Thread packen, damit der UI-Thread nicht blockiert wird.



  • Und wie macht man einen neuen Thread?


  • Mod

    siehe MSDN _beginthreadex etc.

    Ansonsten auch http://www.microsoft.com/msj/0798/c0798.aspx und das geht ohne Thread...


Log in to reply