OFNHookProc

OFNHookProc kanca işlemi Explorer tarzı ve farklı Kaydet ortak iletişim kutuları ile kullanılan bir uygulama-tanımlı veya kütüphanede tanımlı geriçağırım işlevidir. İşlev ortak iletişim kutusundan gönderilen bildirim iletilerini alır. Fonksiyonu da bir çocuk iletişim şablon belirterek tanımladığınız herhangi bir ek denetimler için iletileri alır.

lpofnhookproc türü bir işaretçi bu geriçağırım işlevi tanımlar. OFNHookProc uygulama-tanımlı veya kütüphanede tanımlı işlev adı için bir yertutucu.

Bir veya farklı Kaydet ortak iletişim kutusu oluşturma ve bir kanca işlemi istediğiniz zaman ofn_explorer bayrağı belirtmezseniz, bir eski stil OFNHookProcOldStyle kancası yordamı kullanmanız gerekir. Bu durumda eski stil kullanıcı arabirimi iletişim kutusu olacak.

(UINT geri OFNHookProc hwnd  hdlg, / / idare çocuk iletişim penceresineUINTuiMsg, / / ileti tanımlayıcısıwparamwParam, / / message parametresilparamlParam / / message parametresi);
 

Parametreleri

hdlg
veya farklı Kaydet iletişim kutusunun alt iletişim kutusuna kolu. veya farklı Kaydet iletişim kutusu penceresini tanıtıcısını almak için GetParent işlevini kullanın.
uiMsg
Alınan iletiyi tanımlayan.
wParam
İleti hakkında ek bilgileri belirtir. UiMsg parametresinin değerini tam anlamını bağlıdır.
lParam
İleti hakkında ek bilgileri belirtir. UiMsg parametresinin değerini tam anlamını bağlıdır.

UiMsg parametresi WM_INITDIALOG ileti gösteriyorsa, lParam değerleri iletişim kutusunun oluşturulduğu belirtilen içeren bir OPENDOSYAADI yapısını bir işaretçidir.

Dönüş değerleri

Kanca işlemi sıfır döndürür, iletinin varsayılan iletişim kutusunu yordamı işler.

Kanca işlemi sıfır dışında bir değer döndürürse, varsayılan iletişim kutusunu yordamı iletiyi yoksayar.

CDN_SHAREVIOLATION ve CDN_FILEOK bildirim iletileri için kanca işlemi o SetWindowLong işlevi dwl_msgresult de?er ayarlamak için kullandığını belirtmek için sıfır olmayan bir değer döndürmelidir.

Açıklamalar

Bir Explorer tarzı veya farklı Kaydet ortak iletişim kutusu oluşturmak için GetOpenFileName veya GetSaveFileName işlevlerini kullandığınızda, bir OFNHookProc kancası yordamı sağlayabilirsiniz. Kanca işlemi etkinleştirmek için iletişim yaratma işlevine geçirilen OPENDOSYAADI yapısını kullanır. LpfnHook üye kancası yordamı işaretçinin belirtin ve bayrakları üye ofn_enablehook bayrağı belirtin.

Bir Explorer tarzı ortak iletişim kutusunda bir kanca işlemi sağlarsanız, sistem varsayılan iletişim kutusu alt bir iletişim kutusu oluşturur. Çocuk iletişim iletişim yordamı kanca işlemi görür. Bu çocuk iletişim OPENDOSYAADI yapısında belirtilen şablonuna dayalı veya şablon belirtilmezse varsayılan çocuk iletişim kullanılır. Varsayılan iletişim yordamı, WM_INITDIALOG ileti işlenirken, çocuk iletişim oluşturulur. Çocuk iletişim kendi WM_INITDIALOG iletiyi işledikten sonra varsayılan iletişim yordamı gerekirse, herhangi bir ek denetimler çocuk iletişim yer açmak standart denetimleri taşır. Sistem daha sonra kancası yordamı CDN_INITDONE bildirim iletisi gönderir.

Kanca işlemi için varsayılan iletişim kutusundaki standart denetimleri amaçlanan iletileri almaz. Standart denetimler, ama bu cesaretini uygulamanızın ortak iletişim kutusunu gelecekteki sürümleriyle uyumsuz yapabilir çünkü alt yapabilirsiniz. Ancak, Explorer tarzı ortak iletişim kutularının kancası yordamı izlemek ve iletişim kutusunu denetlemek için kullanabileceğiniz iletileri kümesi sağlar. Bu iletişim kutusundan bilgi almak için gönderdiğiniz iletilerin yanı sıra iletişim kutusundan gönderilen bildirim iletileri kümesi içerir. Bu iletilerin tam bir listesi için bkz: Explorer tarzı kanca prosedürleri.

Kanca işlemi wm_ctlcolordlg ileti işlerse, iletişim kutusunun arka plan boyama için geçerli fırça tanıtıcı döndürmelidir. Genel olarak, herhangi bir wm_ctlcolor * iletisini işler varsa, belirtilen denetim arka plan boyama için geçerli fırça kolu geri gerekir.

EndDialog işlevi kancası yordamı arama yapın. Bunun yerine kanca işlemi IDABORT değeri iletişim kutusunu yordamına wm_command ileti postalamak için PostMessage işlevini çağırabilirsiniz. IDABORT gönderme iletişim kutusunu kapatır ve iletişim kutusu işlevi false dönmesine neden olur. Neden kanca işlemi iletişim kutusunun kapalı bilmeniz gereken, kendi iletişim mekanizması kancası yordamı uygulamanız arasındaki sağlamalıdır.

QuickInfo

nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Desteklenmeyen.
Header:Commdlg.h ilan etti.
İçe Library:Kullanıcı tanımlı.

Ayrıca bkz:

Ortak iletişim kutusuna kitaplığın genel bakış, ortak iletişim kutusundaki işlevler, GetOpenFileName, GetSaveFileName, OFNHookProcOldStyle, OPENDOSYAADI

Index