CreateDialogIndirectParam

CreateDialogIndirectParam işlevi, iletişim kutusunda şablon bellekte kalıcı olmayan 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.

hwnd CreateDialogIndirectParam) HINSTANCE  HINSTANCE, / / işlemek için uygulama örneğilpcdlgtemplatelpTemplate, / / iletişim için İşaretçi kutu şablonuhwndhWndParent, / / ele sahip pencereyedlgproclpDialogFunc, / / iletişim için İşaretçi kutu yordamılparamlParamInit / / başlatma değeri);
 

Parametreleri

hINSTANCE
İletişim kutusu-ecek yaratmak modülü örneğini tanımlar.
lpTemplate
CreateDialogIndirectParam 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.

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.

Bir genişletilmiş iletişim kutusunda Şablon başlığı dlgtemplateex biçimini kullanır ve kontrol tanımları DLGITEMTEMPLATEEX biçimini kullanın.

CreateDialogIndirectParam döndükten sonra yalnızca başlatan iletişim kutusunda almak için kullanılan şablon ücretsiz yapabilirsiniz.

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.
lParamInit
İletişim kutusuna WM_INITDIALOG iletisinin lParam parametresinde geçmesine değeri belirtir.

Dönüş değerleri

İşlev başarılı olursa, dönüş iletişim kutusuna pencere tanıtıcısı değerdir.

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

Açıklamalar

CreateDialogIndirectParam işlevi, iletişim kutusu oluşturmak için CreateWindowEx işlevini kullanır. CreateDialogIndirectParam 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. WS_VISIBLE stil şablonunu belirten işlevi iletişim kutusunu görüntüler. Son olarak, CreateDialogIndirectParam iletişim kutusuna pencere tanıtıcısı döndürür.

CreateDialogIndirectParam döndükten sonra (bu zaten görünmüyorsa) iletişim kutusunu görüntülemek için ShowWindow işlevini kullanabilirsiniz. İletişim kutusu yok etmek için DestroyWindow işlevini kullanın.

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: Ekranda görünen alanın dışında iletişim kutuları otomatik olarak konumlandırılır değil.

İ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.

dlgtemplate yapı tarzı üyesi için aşağıdaki stilleri desteklenmez:

Varsayılan yerleşim düzenini sağlamak için ds_center stili kullanın.

Ws_popup style WS_CHILD stilini belirtilmezse, kabul edilir.

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, CreateDialog, CreateDialogIndirect, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, dlgtemplate, dlgtemplateex, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, wm_setfont

Index