CWnd::OnDSCNotify

afx_msg bool OnDSCNotify (dscstate nState, dscreason nReason, bool pBool );

Dönüş değeri

NReason ve nState tarafından temsil edilen işlem ele aldığı true döndürür. Aksi takdirde, FALSE değerini döndürür.

Parametreleri

nState

Açıklamalar altında listelenen dscstate numaralayıcı içinde bulunan adlandırılmış sabitler.

nReason

Açıklamalar altında listelenen dscreason numaralayıcı içinde bulunan adlandırılmış sabitler.

pBool

NState ve nReason tarafından temsil edilen işleme devam etmek olup olmadığını gösteren bir Boolean cevap.

Açıklamalar

Bu lavabo bildirim, bir denetimin veri kaynağı denetimi bağlandığı değiştirir ya da alttaki imleci değiştirme girişiminde bir veri kaynağı denetimi yangınları bir olay karşısında denir. Bunun nedenleri (nReason) ve bir veri kaynağı denetimi tarafından oluşturulan Birleşik (nState) kullanın. Tüm kombinasyonları ve nedenleri, varsayılan olarak izin verilir. Birleşik ve doğru veya yanlış olarak uygun dönmek ve uygulamanıza önemli nedenlerden test etmek için kod yazmak.

OnDSCNotifykullanmak için bir lavabo harita ve şöyle bir lavabo bildirim almak isteyen sınıf başlığındaki lavabo bildirilmesi için bir işleyici ilan:

cMyDlg sınıfı: Genel CDialog
{
   ...
   DECLARE_EVENTSINK_MAP()
   bool OnDSCNotify(DSCSTATE nState,
             dscreason nReason, bool * pBool);
   ...
}

Sonra sınıf uygulaması, lavabo harita tanımlamak ve gibi olayları almak için işlevi belirtin:

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

Bildirim geriçağırım işlevi, OnDSCNotify, uygulamanız veri kaynak denetimi içine aşağıdaki olaylar gerçekleştiğinde çağrılacak:

enum dscreason
{
   dscNoReason = 0
   dscClose, dscCommit, dscDelete,
   dscEdit, dscInsert, dscModify, dscMove
}

O da birden çok kez her biri aşağıdaki durumları için çağrılacak:

enum dscstate
{
   dscNoState = 0
   dscOKToDo,
   dscCancelled,
   dscSyncBefore,
   dscAboutToDo,
   dscFailedToDo,
   dscSyncAfter,
   dscDidEvent
}

Birden fazla görüşme olay farklı zamanlarda tuzak olanak sağlar. Olaylar genellikle imleç durumu modifikasyonu karşısında bir denetim tarafından oluşturulan, örneğin, veri kaynağı denetimi yapacak ilk şey aslında bu eylemi gerçekleştirmek için iyi olup olmadığını soran olayları ateşlenmesine çünkü; Dolayısıyla dscOKToDo devlet nedeni. Veri kaynağı denetimi sonra dscSyncBefore devlet olarak hareket edecek olay (veri denetimi, uygulama ve benzeri) olayı izleyen tüm istemcileri kabul ederseniz hangi zaman tüm önemli verileri, gerekirse boşaltılır. Örneğin, değişikliği düzenleme alanı içeriği değişmişse, imleci kaydedilmiş olacaktır. Bu olay sonrasında, veri kaynağı denetimi taşır dscAboutToDo ve dscSyncAfter Devletleri ve nihayet dscDidEvent devlet. Bu veri kaynağı denetimi bildirimleri yakalamak için daha fazla fırsat sağlamak.

CWnd genel bakış |nbsp; Sınıf üyeleri | Hiyerarşi çizelgesi

Ayrıca bkz: CWnd::GetDSCCursor, CWnd::BindDefaultProperty, CWnd::BindProperty

Index