로그인

검색

MoA
조회 수 4920 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
http://lafirr.tistory.com/56

추가 : http://greenfishblog.tistory.com/29

콘솔 프로그램이면 모르겠지만

MFC 에서 Sleep() 을 걸면, (물론 거는 위치에 따라서 다르겠지만)

모든 메세지가 먹통이 되기 때문에

원하지 않는 결과를 초래할 수도 있습니다.

예를 들어서 10초 정지 후 메세지 출력 후 500ms 정지... 같은 경우

프로그램이 갑자기 (응답없음)으로 바뀌더니 메세지가 출력되는것도 보이지 않고 바로

ㄱㄱㄱ 해버리는... ㄷㄷㄷ

따라서 MFC 에서는 Sleep() 을 가급적 (..제발) 쓰지 말고

다음과 같은 함수를 추가해서 사용하는 것이 바람직하다고 합니다.

void CNumberGameDlg::Wait(DWORD dwMillisecond)
{
 MSG msg;
 DWORD dwStart;
 dwStart = GetTickCount();

 while(GetTickCount() - dwStart < dwMillisecond)
 {
  while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }
}


?

  1. Programming 게시판 관련

  2. Visual C++ 시리얼 통신(RS-232) 강좌 (1)

  3. Sleep() 함수 대신 프로그램 딜레이 시키기 (Wait)

  4. Visual C++ 시리얼 통신(RS-232) 강좌 (2)

  5. MFC 리본 사용하기 (아이콘 제작 포함)

  6. 프린터 출력하기

  7. DLL 생성 시 주의

  8. Thread와 SendMessage를 통해 DeadLock을 만드는 방법

  9. 다국어를 위한 StringTable, LoadString

  10. 프로세스 - 생성과 종료 그리고 이것 저것

  11. 다른 스레드에서 메인다이얼로그 포인터 받아오기 AfxGetMainWnd()

  12. CreateThread와 AfxBeginThread의 차이

  13. MFC 클래스 멤버함수 설명서

  14. unsigned char <-> 유니코드(unicode) 및, string 변환 매크로 - USES_CONVERSION

  15. CFile을 이용한 저장/불러오기

  16. MFC기반의 CSocket 사용 방법과 예제

  17. 리스트 컨트롤에 체크박스 추가

  18. CDockablePane 버튼 비활성화 문제

  19. MFC 클래스간 통신

  20. Thread에서 Dialog의 UpdateData()사용하는 방법

  21. CPaneDialog 초기화 (OnInitDialog)

Board Pagination Prev 1 2 3 4 Next
/ 4