CWnd::OnDSCNotify

afx_msg BOOL OnDSCNotify (DSCSTATE nState, DSCREASON nReason, BOOL pBool );

반환 값

NReason 와 nState 로 표현 하는 작업을 처리 하는 경우 TRUE 를 반환 합니다. 그렇지 않은 경우 FALSE 를 반환 합니다.

매개 변수

nState

주의 아래 나열 된 DSCSTATE 열거자에서 명명 된 상수 중 하나。

nReason

주의 아래 나열 된 DSCREASON 열거자에서 명명 된 상수 중 하나。

pBool

NState 와 nReason 로 표현 하는 작업이 계속 해야 하는지 여부를 나타내는 부울 응답。

주의

이 싱크 알림 데이터 소스 컨트롤은 데이터 소스 컨트롤이 바인딩된 컨트롤을 수정 하거나 기본 커서 수정 하려고 할 때 발생 하는 이벤트에 대 한 응답으로 호출 됩니다. 이유 (nReason)와 미국 (nState) 데이터 소스 컨트롤에 의해 생성 된 트랩을 사용 합니다. 기본적으로 상태 및 이유의 모든 조합이 허용 됩니다. 상태 및 응용 프로그램에 중요 하 고 적절 하 게 TRUE 또는 FALSE 를 반환 하는 이유를 테스트 하는 코드 작성。

OnDSCNotify를 사용 하려면 싱크 맵과 같이 싱크 알림을 수신 하는 것을 바라는 클래스의 헤더에 싱크 알림에 대 한 처리기 선언:

cMyDlg 클래스: public CDialog
{
   ...
   DECLARE_EVENTSINK_MAP()
   BOOL OnDSCNotify(DSCSTATE nState,
             DSCREASON nReason, BOOL * pBool);
   ...
}

그런 다음 클래스의 구현에서 싱크 맵을 정의 함수를 지정 합니다 다음과 같은 이벤트를 받을 수:

BEGIN_EVENTSINK_MAP (CMyDlg, CDialog)
   ON_DSCNOTIFY (CMyDlg, IDC_RDCCTRL1, OnDSCNotify)
END_EVENTSINK_MAP()

데이터 소스 컨트롤 안에 다음 이벤트가 발생할 때 OnDSCNotify, 구현의 알림 콜백 함수를 호출 됩니다.:

dSCREASON 열거형
{
   dscNoReason = 0,
   dscClose, dscCommit, dscDelete,
   dscEdit, dscInsert, dscModify, dscMove
}

그것은 것도 여러 번 호출 될 각각의 상태는 다음에 대 한:

dSCSTATE 열거형
{
   dscNoState = 0,
   dscOKToDo,
   dscCancelled,
   dscSyncBefore,
   dscAboutToDo,
   dscFailedToDo,
   dscSyncAfter,
   dscDidEvent
}

여러 호출을 사용 하면 서로 다른 시간에 이벤트를 트래핑할 수 있습니다. 예를 들어, 이벤트는 일반적으로 컨트롤에 의해 커서 상태 수정에 대 한 응답에서 생성 됩니다, 이후 데이터 소스 제어 할 것 이다 첫번째 것은 요구 하는 괜 찮 아 요; 작업을 실제로 수행 하는 이벤트를 발생 하는 따라서 dscOKToDo 상태에 대 한 이유. (데이터 컨트롤, 응용 프로그램, 및 등) 이벤트를 모니터링 하는 모든 클라이언트 데이터 소스 제어는 다음 dscSyncBefore 상태로 이동 이벤트를 받아들이는 경우 어느 시간에 모든 뛰어난 데이터를 플러시해야, 필요한 경우. 예를 들어, 편집 필드의 내용을 변경 하는 경우 변경 커서에 최선을 다하고 있을 것입니다. 이 이벤트 데이터 소스 제어는 dscAboutToDo 및 dscSyncAfter 상태로 이동 마지막으로 dscDidEvent 상태로. 이러한 데이터 소스 컨트롤에서 알림을 잡을 기회 추가 제공。

CWnd 개요 |nbsp; 클래스 멤버 (ko) | 계층 구조 차트(&N)

참고 항목nbsp;CWnd::GetDSCCursor, CWnd::BindDefaultProperty, CWnd::BindProperty(&N)

Index