BUG: BN_DOUBLECLICKED 메시지 처리기는 MFC 대화 상자에서 적중 않음

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

247323
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
현상
단추를 두 번 클릭할 때 단추에 대화 상자나 창에 대해 BN_DOUBLECLICKED 메시지 처리기, 처리기가 호출되지 않은 추가할 때 Windows CE에서 MFC 클래스를 사용하여. Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows NT 4.0 및 Windows 2000을 처리기가 호출됩니다.
원인
이 문제는 Windows CE 운영 체제 버그로 인한 것입니다.
해결 방법
한 가지 가능한 해결 단추의 BN_CLICKED 처리기를 추가할 수 있습니다. 처리기 안에 몇 밀리초 마지막 단추를 클릭했는지 여부를 테스트하려면 다음과 유사한 코드를 사용합니다:
  static BOOL s_bLastClicked = TRUE;  static DWORD s_dwTickCount = 0;  if (s_bLastClicked)  {    DWORD dwTickCount = GetTickCount();    if ((dwTickCount - s_dwTickCount) < 500) //Last click less than 500ms?    {      s_bLastClicked = FALSE; //Was double-clicked, don't test next time...      //Assume a double click...      //Do your double-click code here...    }    s_dwTickCount = dwTickCount;  }  else     s_bLastClicked = TRUE;				
CS_DBLCLKS 창 클래스의 스타일을 수동으로 추가하고 BS_NOTIFY 추가하는 단추를 도움이 되지 않는 대한 스타일. 그러나, 이 수동 프로세스가 H 외에 다른 플랫폼에서 실행할 때 보낼 메시지를 허용하지.
현재 상태
Microsoft는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다.
추가 정보

문제를 재현하기 위한 단계

  1. WCE MFC 응용 프로그램 마법사 를 사용하여 새 대화 상자 기반 응용 프로그램을 만듭니다. 모든 기본값을 그대로 두고 마침 을 클릭하십시오.
  2. OnInitDialog 메서드에 반환 문 앞에 다음 코드를 추가합니다:
    SetClassLong(m_hWnd, GCL_STYLE, GetClassLong(m_hWnd, GCL_STYLE) | CS_DBLCLKS);
  3. 대화 상자 단추를 추가하십시오. 단추를 마우스 오른쪽 단추로 속성 을 클릭하십시오. 스타일 탭을 클릭한 다음 알림 확인란을 선택하십시오.
  4. 클래스를보기 메뉴를 클릭하고 메뉴 항목을 클래스 선택하여 사용하십시오. 개체 ID 구역에서 IDC_BUTTON1 을 클릭하십시오. 메시지 섹션에서 BN_DOUBLECLICKED 메시지를 누릅니다. 함수 추가 클릭한 다음 코드 편집 을 클릭하십시오.
  5. 단추에 대한 BN_DOUBLECLICKED 메시지 처리기를 중단 지점을 놓습니다.
  6. 응용 프로그램을 빌드하고 건물 끝나면 이를 실행하십시오.
에뮬레이터에서 실행할 때 장치에서 실행되는 중단점에 가져올 있지 않은 것을 알 수 합니다. Win32 Windows CE에서 실행되는 응용 프로그램에서 위의 단계를 수행하는 경우 처리기는 예상대로 작동합니다.
특정 CE WM_LBUTTONDBLCLK BN_CLICKED BN_DOUBLECLICKED WM_LBUTTONDOWN WM_LBUTTONUP 두 번 클릭하십시오

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 247323 - 마지막 검토: 02/23/2014 11:19:24 - 수정: 2.0

Microsoft Windows CE Toolkit for Visual C++ 6.0

  • kbnosurvey kbarchive kbmt kbbug kbbutton KB247323 KbMtko
피드백