Aracılığıyla paylaş


İletişim Kutuları (İletişim Kutuları)

İletişim kutusu, bir uygulamanın kullanıcı girişini almak için oluşturduğu geçici bir penceredir. Bir uygulama genellikle kullanıcıdan menü öğeleri için ek bilgi istemesi için iletişim kutularını kullanır. İletişim kutusu genellikle kullanıcının metin girdiği, seçenekleri seçtiği veya eylemi yönlendirdiği bir veya daha fazla denetim (alt pencere) içerir.

Windows, Open ve Printgibi yaygın menü öğelerini destekleyen önceden tanımlanmış iletişim kutuları da sağlar. Bu menü öğelerini kullanan uygulamalar, uygulama türünden bağımsız olarak bu kullanıcı girişinin istenmesi için ortak iletişim kutularını kullanmalıdır.

Bu Bölümde

Ad Açıklama
İletişim Kutuları hakkında Uygulamalarınız için kullanıcı arabiriminde iletişim kutularının kullanılmasını açıklar.
İletişim Kutusu Programlamayla İlgili Önemli Noktalar Bu genel bakışta, iletişim kutularıyla ilgili bazı programlama konuları ele alınmaktadır.
İletişim Kutularını Kullanarak Bilgileri görüntülemek ve kullanıcıdan giriş istemde bulunabilmek için iletişim kutularını kullanırsınız.
İletişim Kutusu Başvurusu API Başvurusu
Ortak İletişim Kutusu Kitaplığı Uygulamalarınız için kullanıcı arabirimindeki ortak iletişim kutularını kullanmayı açıklar.

İletişim Kutusu İşlevleri

Ad Açıklama
CreateDialog İletişim kutusu şablon kaynağından modsuz bir iletişim kutusu oluşturur.
CreateDialogIndirect Bellekteki bir iletişim kutusu şablonundan modsuz bir iletişim kutusu oluşturur.
CreateDialogIndirectParam Bellekteki bir iletişim kutusu şablonundan modsuz bir iletişim kutusu oluşturur. İletişim kutusunu görüntülemeden önce işlev, WM_INITDIALOG iletisinin lParam parametresi olarak iletişim kutusu yordamına uygulama tanımlı bir değer geçirir. Bir uygulama, iletişim kutusu denetimlerini başlatmak için bu değeri kullanabilir.
CreateDialogParam İletişim kutusu şablon kaynağından modsuz bir iletişim kutusu oluşturur. İletişim kutusunu görüntülemeden önce işlev, WM_INITDIALOG iletisinin lParam parametresi olarak iletişim kutusu yordamına uygulama tanımlı bir değer geçirir. Bir uygulama, iletişim kutusu denetimlerini başlatmak için bu değeri kullanabilir.
DefDlgProc Özel pencere sınıfına sahip bir iletişim kutusunun işlemediği tüm pencere iletileri için varsayılan işleme sağlamak için varsayılan iletişim kutusu penceresi yordamını çağırır.
DialogBox İletişim kutusu şablon kaynağından kalıcı bir iletişim kutusu oluşturur. DialogBox, belirtilen geri çağırma işlevi EndDialog işlevini çağırarak kalıcı iletişim kutusunu sonlandırana kadar denetimi döndürmez.
DialogBoxIndirect Bellekteki bir iletişim kutusu şablonundan kalıcı bir iletişim kutusu oluşturur. DialogBoxIndirect, belirtilen geri çağırma işlevi EndDialog işlevini çağırarak kalıcı iletişim kutusunu sonlandırana kadar denetimi döndürmez.
DialogBoxIndirectParam Bellekteki bir iletişim kutusu şablonundan kalıcı bir iletişim kutusu oluşturur. İletişim kutusunu görüntülemeden önce işlev, WM_INITDIALOG iletisinin lParam parametresi olarak iletişim kutusu yordamına uygulama tanımlı bir değer geçirir. Bir uygulama, iletişim kutusu denetimlerini başlatmak için bu değeri kullanabilir.
DialogBoxParam İletişim kutusu şablon kaynağından kalıcı bir iletişim kutusu oluşturur. İletişim kutusunu görüntülemeden önce işlev, WM_INITDIALOG iletisinin lParam parametresi olarak iletişim kutusu yordamına uygulama tanımlı bir değer geçirir. Bir uygulama, iletişim kutusu denetimlerini başlatmak için bu değeri kullanabilir.
DialogProc İşlev aileleriniCreateDialog veDialogBox ile kullanılan uygulama tanımlı geri çağırma işlevi. Kalıcı veya modsuz iletişim kutusuna gönderilen iletileri işler. DLGPROC türü, bu geri çağırma işlevinin işaretçisini tanımlar. DialogProc, uygulama tanımlı işlev adı için bir yer tutucudur.
enddialog Kalıcı bir iletişim kutusunu yok eder ve sistemin iletişim kutusu için tüm işlemleri sonlandırmasına neden olur.
GetDialogBaseUnits Sistem yazı tipindeki karakterlerin ortalama genişliği ve yüksekliği olan sistemin iletişim kutusu temel birimlerini alır. Sistem yazı tipini kullanan iletişim kutuları için, iletişim kutusu şablonlarında ve piksellerde belirtildiği gibi iletişim kutusu şablon birimleri arasında dönüştürme yapmak için bu değerleri kullanabilirsiniz. Sistem yazı tipini kullanmayan iletişim kutuları için, iletişim kutusu şablon birimlerinden piksellere dönüştürme, iletişim kutusu tarafından kullanılan yazı tipine bağlıdır.
GetDlgCtrlID Belirtilen denetimin tanımlayıcısını alır.
GetDlgItem Belirtilen iletişim kutusundaki denetime tanıtıcı alır.
GetDlgItemInt İletişim kutusundaki belirtilen denetimin metnini tamsayı değerine çevirir.
GetDlgItemText İletişim kutusundaki bir denetimle ilişkilendirilmiş başlığı veya metni alır.
GetNextDlgGroupItem İletişim kutusunda belirtilen denetimden önce gelen (veya izleyen) bir denetim grubundaki ilk denetime bir tanıtıcı alır.
GetNextDlgTabItem Belirtilen denetimden önce gelen (veya izleyen) WS_TABSTOP stiline sahip ilk denetime bir tanıtıcı alır.
IsDialogMessage İletinin belirtilen iletişim kutusu için tasarlanıp tasarlanmamış olduğunu belirler ve hedefleniyorsa iletiyi işler.
MapDialogRect Belirtilen iletişim kutusu birimlerini ekran birimlerine (piksel) dönüştürür. İşlev, belirtilen RECT yapısındaki koordinatları dönüştürülen koordinatlarla değiştirir ve bu da yapının iletişim kutusu oluşturmak veya iletişim kutusu içinde bir denetim konumlandırmak için kullanılmasını sağlar.
messagebox Sistem simgesi, düğme kümesi ve durum veya hata bilgileri gibi uygulamaya özgü kısa bir ileti içeren kalıcı bir iletişim kutusu görüntüler. İleti kutusu, kullanıcının hangi düğmeye tıkladığını gösteren bir tamsayı değeri döndürür.
messageboxex İleti kutusu oluşturur, görüntüler ve çalıştırır. İleti kutusu, uygulama tanımlı bir ileti ve başlığın yanı sıra önceden tanımlanmış simgelerin ve basma düğmelerinin birleşimini içerir. Düğmeler sistem kullanıcı arabiriminin dilindedir.
MessageBoxIndirect İleti kutusu oluşturur, görüntüler ve çalıştırır. İleti kutusu, uygulama tanımlı ileti metni ve başlığı, herhangi bir simge ve önceden tanımlanmış anında iletme düğmelerinin herhangi bir bileşimini içerir.
SendDlgItemMessage İletişim kutusunda belirtilen denetime bir ileti gönderir.
SetDlgItemInt İletişim kutusundaki denetimin metnini, belirtilen tamsayı değerinin dize gösterimine ayarlar.
SetDlgItemText İletişim kutusundaki denetimin başlığını veya metnini ayarlar.

İletişim Kutusu İletileri

Ad Açıklama
DM_GETDEFID İletişim kutusu için varsayılan anında iletme düğmesi denetiminin tanımlayıcısını alır.
DM_REPOSITION Bir üst düzey iletişim kutusunu masaüstü alanına sığacak şekilde yeniden konumlandırır. Bir uygulama, tüm iletişim kutusunun görünür kalmasını sağlamak için yeniden boyutlandırdıktan sonra bu iletiyi bir iletişim kutusuna gönderebilir.
DM_SETDEFID İletişim kutusunun varsayılan anında iletme düğmesinin tanımlayıcısını değiştirir.

İletişim Kutusu Bildirimleri

Ad Açıklama
WM_CTLCOLORDLG Sistem iletişim kutusunu çizmeden önce bir iletişim kutusuna gönderilir. İletişim kutusu, bu iletiyi yanıtlayarak belirtilen görüntü cihazı bağlam tutamacını kullanarak metin ve arka plan renklerini ayarlayabilir.
WM_ENTERIDLE Boşta durumuna giren kalıcı bir iletişim kutusunun veya menünün sahip penceresine gönderilir. Kalıcı iletişim kutusu veya menü, bir veya daha fazla önceki iletiyi işledikten sonra kuyruğunda bekleyen ileti olmadığında boşta duruma girer.
WM_GETDLGCODE Bir denetimle ilişkili pencere yordamına gönderilir. Varsayılan olarak, sistem denetime yönelik tüm klavye girişlerini işler; sistem, belirli klavye girişi türlerini iletişim kutusu gezinti tuşları olarak yorumlar. Bu varsayılan davranışı geçersiz kılmak için denetim, kendisini işlemek istediği giriş türlerini belirtmek üzere WM_GETDLGCODE iletisine yanıt verebilir.
WM_INITDIALOG İletişim kutusu görüntülenmeden hemen önce iletişim kutusu yordamına gönderilir. İletişim kutusu yordamları genellikle denetimleri başlatmak ve iletişim kutusunun görünümünü etkileyen diğer başlatma görevlerini gerçekleştirmek için bu iletiyi kullanır.
WM_NEXTDLGCTL Klavye odağını iletişim kutusunda farklı bir denetime ayarlamak için bir iletişim kutusu yordamına gönderilir.

İletişim Kutusu Yapıları

Ad Açıklama
DLGITEMTEMPLATE İletişim kutusundaki denetimin boyutlarını ve stilini tanımlar. Bu yapılardan biri veya daha fazlası, bir iletişim kutusu için standart bir şablon oluşturmak üzere DLGTEMPLATE yapısıyla birleştirilir.
DLGITEMTEMPLATEEX Genişletilmiş iletişim kutusunu açıklar. Genişletilmiş iletişim kutusu şablonunun biçiminin açıklaması için bkz. DLGTEMPLATEEX.
DLGTEMPLATE İletişim kutusunun boyutlarını ve stilini tanımlar. Bir iletişim kutusunun standart şablonunda her zaman ilk olan bu yapı, iletişim kutusundaki denetimlerin sayısını da belirtir ve bu nedenle şablondaki sonraki DLGITEMTEMPLATE yapılarının sayısını belirtir.
DLGTEMPLATEEX Genişletilmiş iletişim kutusu şablonu, iletişim kutusunu açıklayan ve iletişim kutusundaki denetimlerin sayısını belirten DLGTEMPLATEEX üst bilgisi ile başlar. bir iletişim kutusundaki her denetim için, genişletilmiş iletişim kutusu şablonunda denetimi açıklamak için DLGITEMTEMPLATEEX biçimini kullanan bir veri bloğu vardır.
MSGBOXPARAMS İleti kutusunu görüntülemek için kullanılan bilgileri içerir. MessageBoxIndirect işlevi bu yapıyı kullanır.