DialogBoxIndirectParam

DialogBoxIndirectParam işlevi, iletişim kutusunda şablon bellekte kalıcı bir iletişim kutusu oluşturur. İletişim kutusu görüntülemeden önce işlevi bir uygulama tanımlı değeri iletişim kutusunu yordama WM_INITDIALOG iletisinin lParam parametresinin geçirir. Uygulama iletişim kutusu denetimlerini başlatmak için bu değeri kullanın.

int DialogBoxIndirectParam) HINSTANCE  HINSTANCE, / / işlemek için uygulama örneğilpcdlgtemplatehDialogTemplate,  / / iletişim kutusunda şablonu tanımlarhwndhWndParent, / / ele sahip pencereyedlgproclpDialogFunc, / / iletişim için İşaretçi kutu yordamılparamdwInitParam / / başlatma değeri);
 

Parametreleri

hINSTANCE
İletişim kutusunu oluşturur modülü örneğini tanımlar.
hDialogTemplate
DialogBoxIndirectParam iletişim kutusu oluşturmak için kullandığı şablon içeren genel bellek nesnesi için işaretçi. İletişim kutusunda şablon iletişim kutusu denetimleri açıklanmaktadır veri bir veya daha fazla ek blokları ve ardından iletişim kutusunu tanımlayan bir başlık içerir. Şablon, standart veya genişletilmiş biçimi kullanabilirsiniz.

İletişim kutusu için standart bir şablonda başlık ek değişken uzunlukta diziler tarafından izlenen bir dlgtemplate yapısıdır. Her denetim için verileri ek değişken uzunlukta diziler tarafından izlenen bir DLGITEMTEMPLATE yapısı oluşur.

Genişletilmiş bir şablon iletişim kutusu başlık dlgtemplateex biçimini kullanır ve kontrol tanımları DLGITEMTEMPLATEEX biçimini kullanın.

hWndParent
İletişim kutusu sahibi pencereyi tanımlar.
lpDialogFunc
İşaretçiyi iletişim kutusunun prosedür. İletişim kutusu yordamı hakkında daha fazla bilgi için bkz: DialogProc.
dwInitParam
İletişim kutusuna WM_INITDIALOG iletisinin lParam parametresinde geçmesine değeri belirtir.

Dönüş değerleri

İşlev başarılı dönüş değeri iletişim kutusunu sonlandırmak için kullanılan EndDialog işlev çağrısında belirtilen nResult parametresi ise.

İşlev başarısız olursa, dönüş değeri 1 ' dir. Genişletilmiş hata bilgilerini için GetLastError.

Açıklamalar

DialogBoxIndirectParam işlevi, iletişim kutusu oluşturmak için CreateWindowEx işlevini kullanır. DialogBoxIndirectParam sonra iletişim kutusu yordama bir WM_INITDIALOG iletisi gönderir. ds_setfont stil şablonunu belirtir işlevi de wm_setfont ileti iletişim kutusunda yordama gönderir. İşlev (bakılmaksızın, ister WS_VISIBLE stil şablonunu belirtir) iletişim kutusunu görüntüler, sahibi pencere devre dışı bırakır ve iletişim kutusu iletileri göndermek ve almak için kendi ileti döngüsü başlar.

İletişim kutusu yordamı EndDialog işlevini çağırdığında DialogBoxIndirectParam iletişim kutusu yok, ileti döngüsü biter, (önceden etkinleştirilmişse) sahibi pencereyi etkinleştirir ve EndDialog çağrıldığında iletişim kutusu yordam tarafından belirtilen nResult parametresi döndürür.

Bir standart iletişim kutusu şablonunda, dlgtemplate yapısı ve her DLGITEMTEMPLATE yapıları dword sınırlarına hizalı gerekir. Şöyle bir DLGITEMTEMPLATE yapısı oluşturma veri dizisi de bir dword sınırında hizalı gerekir. Tüm değişken uzunlukta diziler şablonu word sınırları hizalı gerekir gerekir.

Genişletilmiş iletişim kutusu şablonunda, dlgtemplateex başlık ve her bir DLGITEMTEMPLATEEX kontrol tanımları dword sınırlarına hizalı gerekir. Herhangi bir DLGITEMTEMPLATEEX yapısı aşağıdaki de bir dword sınırında hizalı gerekir eğer oluşturma veri dizisi. Tüm değişken uzunlukta diziler şablonu word sınırları hizalı gerekir.

İletişim kutusunda Şablon başlıkları iletişim kutusu ve düğmeler gibi tüm karakter dizeleri Unicode dizeleri olmalıdır. Hem Windows NT hem de Windows üzerinde çalışan kod oluşturmak için bu Unicode dizeleri üretmek için MultiByteToWideChar işlevini kullanın.

Windows 95 ve sonraki sürümler:Sistem, en çok 255 denetimleri iletişim kutusunda şablonu başına destekleyebilir. İletişim kutusu içinde 255'ten fazla denetimleri yerleştirmek için denetimler onları koyarak şablon yerine WM_INITDIALOG ileti işleyicisi oluşturun.

Windows ce: İletişim kutusunun giriş odaklanmışken, kullanıcı alt + h basarsa, sistem iletişim yordamı bir wm_help iletisi gönderir. Uygulama bağlama duyarlı yardım için iletişim kutusunu görüntüleyerek bu iletiye yanıt vermesi gereken.

Diğer iletişim kısıtlamalar için bkz: CreateDialogIndirectParam.

QuickInfo

nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Sürüm 1.0 veya daha ilerisini gerektirir.
Header:WINUSER.h ilan etti.
İçe Library:User32.lib kullanın.
Unicode:Unicode ve ANSI sürümleri Windows NT olarak uygulanır.

Ayrıca bkz:

İletişim kutuları genel bakış, iletişim kutusundaki işlevler, CreateWindowEx, iletişim kutusu, DialogBoxIndirect, DialogBoxParam, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, dlgtemplate, dlgtemplateex, EndDialog, MultiByteToWideChar, WM_INITDIALOG, wm_setfont

Index