![]() |
![]() |
|
![]() |
||||||||||||||||||
![]() |
![]() |
![]() |
||||||||||||||||
|
![]() |
|
![]() |
|
||||||||||||||
![]() |
![]() |
![]() |
Шаг 345 - CWnd::OnDSCNotifyafx_msg BOOL OnDSCNotify( DSCSTATE nState, DSCREASON nReason, BOOL pBool ); Возвращаемое значение Параметры Замечания class 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, будет вызвана, когда следующие события происходят внутри элемента управления источника данных: enum DSCREASON { dscNoReason = 0, dscClose, dscCommit, dscDelete, dscEdit, dscInsert, dscModify, dscMove }; Она будет также вызвано многократными временами для каждого из следующих состояний: enum DSCSTATE { dscNoState = 0, dscOKToDo, dscCancelled, dscSyncBefore, dscAboutToDo, dscFailedToDo, dscSyncAfter, dscDidEvent }; Многократные обращения позволяют Вам захватывать событие в разное время. Например, так как события обычно генерируются в ответ на модификацию состояния курсора элемента управлением, первое дело которое элемент управление источника данных будет делать к событиям это спрашивать разрешение фактически выполнить то действие; следовательно причина для состояния dscOKToDo. Если вся клиентура которая контролирует событие (элемент управление данных, ваша прикладная программа и так далее) принимает событие элемента управления источника данных затем будет двигаться в состояние dscSyncBefore, в котором все ожидающие обработки данные будут очищаться в случае необходимости. Например, если содержание поля редактирования изменилось, изменение будет совершено к курсору. После этого события, источник данных управляет шагами в dscAboutToDo и состоянием dscSyncAfter и в заключение в состоянием dscDidEvent. Они обеспечивают Вас дальнейшими возможностями захватить сообщения из элемента управления источника данных. | | Автор Каев Артем. |
![]() |
![]() |
![]() |
|