2013-07-11 5 views
1

나는 비슷한 종류의 것을 구현하고있다 - 나는 아래 코드의 else 부분에 몇 가지 메시지 상자가있다. 디버깅에 관한 것은 - 나는 가지고있다. 동일한 메시지 상자를 반복해서 그리고 그것은 끝나지 않습니다 (내 프로그램이 충돌하고 내 노트북을 다시 시작해야합니다) .. 거기에 대한 해결책이 있습니까 ??? MFC 응용 프로그램을 사용하고 창 탐색기의 미리보기 창에 단추를 만드는 중입니다. 모든 것은 괜찮습니다. 그러나 이것이 문제가됩니다. 한 번 루프 아래에 입력하면 나올 수 없습니다 (나는이 함수를 반복적으로 호출하는 DispatchMessage 또는 TranslateMessage에 몇 가지가 있음을 의미합니다). 그거 ?? GetMessage() 함수는 자신을 infnitely (루프 밖으로 나오지) 호출하고

도와주세요 .... 아니면

코드로 추적 조사

while((bRet = GetMessage(&msg, NULL, 0, 0)) != 0) 
{ 
    if (bRet == -1) 
    { 
     // handle the error and possibly exit 
    } 
    else 
    { 
     TranslateMessage(&msg); 
     DispatchMessage(&msg); 
//Onee message box here 
    } 
} 

감사합니다 그래서 ... [email protected] ... 당신이 원하는 경우에 나에게 메일을 수 있습니다하십시오 많은 ... 내가 true를 반환 할 때 발견 shekhar 싱 SHEKHAWAT 마지막

답변

1

감사합니다; 이 루프에서는 컨트롤이 루프에서 빠져 나옵니다 (좋은 접근 방식이 아님) 그러나이 getmessage는 내 프로그램이 잘 작동 할 때 정말 유용하지 않았습니다. 그 존재감에는 무한 루프가있었습니다. CreateDialogParam()을 사용하여 대화 상자를 만든 다음 DialogProc을이 CreateDialogParam()을 통해 호출 한 다음 WM_Commnands를 사용하여 응용 프로그램에 따라받은 메시지를 처리했으며이 getmessage를 사용하지 않는다고 느낍니다.)