afx_msg BOOL OnDSCNotify (DSCSTATE nState, DSCREASON nReason, BOOL pBool );
Wartość zwracany
Zwraca wartość TRUE , jeśli obsłużono operacji reprezentowana przez nReason i nState . W przeciwnym razie zwraca wartość FALSE.
Parametry
nState
Jedną z nazwanego stałych znaleziono numeratora DSCSTATE , które są wyświetlane w obszarze uwagi.
nReason
Jedną z nazwanego stałych znaleziono numeratora DSCREASON , które są wyświetlane w obszarze uwagi.
pBool
Boolean odpowiedź wskazującą, czy należy kontynuować operacji reprezentowana przez nState i nReason.
Uwagi
Zawiadomienie to obiekt sink nazywa się w odpowiedzi na zdarzenie, że formant źródła danych pożary podczas kontrola, z którym związany jest formant źródła danych modyfikuje lub próbuje modyfikować podstawowych kursora. Użyj go do zalewkowania powodów (nReason) oraz państw (nState), wytwarzane przez formant źródła danych. Domyślnie dozwolone są wszystkie kombinacje Państwa i powodach. Pisanie kodu do testowania Państwa i powodach, które są ważne dla aplikacji oraz zwraca wartość PRAWDA lub Fałsz w zależności.
Aby użyć OnDSCNotify, stwierdzenie mapy obiekt sink i obsługi dla powiadomienia obiektu sink w nagłówku klasy, który chce otrzymywać powiadomienia obiektu sink następująco:
klasa CMyDlg: CDialog publicznych
{
...
DECLARE_EVENTSINK_MAP()
BOOL OnDSCNotify(DSCSTATE nState,
DSCREASON nReason, BOOL * pBool);
...
}
Następnie w implementacji klasy, zdefiniować mapę obiekt sink i określić funkcję do następujące zdarzenia:
BEGIN_EVENTSINK_MAP (CMyDlg, CDialog)
ON_DSCNOTIFY (CMyDlg, IDC_RDCCTRL1, OnDSCNotify)
END_EVENTSINK_MAP()
Funkcja wywołania zwrotnego powiadomienia, Twoje życie OnDSCNotify, będzie wywoływany, gdy wystąpią następujące zdarzenia wewnątrz formantu źródła danych:
wylicz DSCREASON
{
dscNoReason = 0,
dscClose, dscCommit, dscDelete,
dscEdit, dscInsert, dscModify, dscMove
}
Zostanie również wywołany wiele razy dla każdego z następujących państw:
wylicz DSCSTATE
{
dscNoState = 0,
dscOKToDo,
dscCancelled,
dscSyncBefore,
dscAboutToDo,
dscFailedToDo,
dscSyncAfter,
dscDidEvent
}
Wiele wywołań umożliwiają zalewki zdarzenie w różnym czasie. Na przykład ponieważ zdarzenia są zazwyczaj generowane w odpowiedzi na zmianę stanu kursor przez formant, jest pierwszą rzeczą, którą formant źródła danych będzie wykonywać na ogień zdarzenia pytaniem, jeśli jest faktycznie wykonania tej czynności; stąd Przyczyna stanu dscOKToDo . Jeżeli wszyscy klienci, którzy monitorować zdarzenia (formant danych, Twojej aplikacji i tak dalej) akceptują zdarzeń, formant źródła danych będą następnie przenieść do Państwa dscSyncBefore , w którego czasie wszystkie zaległe danych będzie opróżniany, w razie potrzeby. Na przykład jeśli uległy zmianie zawartości pola edycyjnego, zmiany będą przyznawane kursora. W następstwie tego zdarzenia, formant źródła danych przenosi do państw dscAboutToDo i dscSyncAfter i wreszcie w Państwo dscDidEvent . Te umożliwiają dalszych możliwości połowowe powiadomienia z formantu źródła danych.
Omówienie CWnd |nbsp; Klasa członków | Wykres hierarchii
Zobacz też CWnd::GetDSCCursor, CWnd::BindDefaultProperty, CWnd::BindProperty