Cherry Cloud 9

[MFC] Thread를 사용하지 않고 무한 반복 중 stop 버튼으로 멈추기 본문

Programming/API,MFC

[MFC] Thread를 사용하지 않고 무한 반복 중 stop 버튼으로 멈추기

체리구름 2021. 1. 16. 15:38
728x90
반응형

오래 걸리는 for문 혹은 while문을 사용할 때, UI가 멈추는 현상이 발생한다. 

그래서 thread를 사용해서 UI가 멈추지 않도록 하게 하는데,

Thread를 사용하지 않고 반복문 사용 중에 Stop 버튼을 클릭하여 반복문에서 빠져나오는 방법이다. 

 

OnBtnStart()
{ 
	m_bStop = FALSE;   // 클래스 멤버 변수로 선언할 것
    
    while (1) 
    { 
        MSG msg; 
        while(PeekMessage(&msg, GetSafeHwnd(), 0, 0, PM_REMOVE)) 
        { 
            DispatchMessage(&msg); 
        } 

        if(m_bStop == TRUE) 
        { 
            return; 
        } 
        
       // 이곳에 무한 루프를 돌면서 실행할 코드를 작성한다. 
    } 
} 

// STOP 버튼을 눌렀을 때
OnBtnStop()
{ 
	m_bStop = TRUE; 
} 

 

 

 

 

728x90
반응형