DialogBoxIndirect

DialogBoxIndirect Makro iletişim kutusunda şablon bellekte kalıcı bir iletişim kutusu oluşturur. Belirtilen işlev, EndDialog işlevini çağırarak bir kalıcı iletişim kutusu sonlanana kadar DialogBoxIndirect denetim döndürmez. DialogBoxIndirect makrosu DialogBoxIndirectParam işlevini kullanır.

int DialogBoxIndirect) HINSTANCE  HINSTANCE, / / işlemek için uygulama örneğilpdlgtemplatelpTemplate, / / iletişim kutusunda şablonu tanımlarhwndhWndParent, / / ele sahip pencereyedlgproclpDialogFunc / / iletişim için İşaretçi kutu yordamı);
 

Parametreleri

hINSTANCE
İletişim kutusunu oluşturur modülü örneğini tanımlar.
lpTemplate
DialogBoxIndirect 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.

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

DialogBoxIndirect Makro iletişim kutusunu oluşturmak için CreateWindowEx işlevini kullanır. DialogBoxIndirect 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 DialogBoxIndirect 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: . LpTemplate parametresi tarafından başvurulan iletişim şablonda dlgtemplate yapısındaki tüm stilleri desteklenir

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, DialogBoxIndirectParam, DialogBoxParam, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, dlgtemplate, dlgtemplateex, EndDialog, MultiByteToWideChar, WM_INITDIALOG, wm_setfont

Index