İzlenecek yol: Bir Uygulamaya CTaskDialog Ekleme
Bu kılavuzda CTaskDialog Sınıfı tanıtılır ve uygulamanıza nasıl ekleyebileceğiniz gösterilir.
, CTaskDialog
Windows Vista veya sonraki sürümlerde Windows ileti kutusunun yerini alan bir görev iletişim kutusudur. , CTaskDialog
özgün ileti kutusunu geliştirir ve işlevsellik ekler. Windows ileti kutusu Visual Studio'da hala desteklenmektedir.
Dekont
Windows Vista'dan önceki Windows sürümleri, 'yi CTaskDialog
desteklemez. Uygulamanızı Windows'un önceki bir sürümünde çalıştıran bir kullanıcıya ileti göstermek istiyorsanız alternatif bir iletişim kutusu seçeneği programlamanız gerekir. Bir kullanıcının bilgisayarının bir görüntüleyip görüntüleyemeyeceğini CTaskDialog
çalışma zamanında belirlemek için CTaskDialog::IsSupported statik yöntemini kullanabilirsiniz. Buna ek olarak, yalnızca CTaskDialog
uygulamanız Unicode kitaplığıyla derlendiğinde kullanılabilir.
, CTaskDialog
bilgi toplamak ve görüntülemek için birkaç isteğe bağlı öğeyi destekler. Örneğin, bir CTaskDialog
komut bağlantılarını, özelleştirilmiş düğmeleri, özelleştirilmiş simgeleri ve alt bilgiyi görüntüleyebilir. ayrıca CTaskDialog
, kullanıcının hangi isteğe bağlı öğeleri seçtiğini belirlemek için görev iletişim kutusunun durumunu sorgulamanızı sağlayan çeşitli yöntemlere sahiptir.
Ön koşullar
Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:
Visual Studio 2010 veya sonrası
Windows Vista veya üzeri
Windows İleti Kutusunu CTaskDialog ile Değiştirme
Aşağıdaki yordam, Windows ileti kutusunu değiştirmek için en temel kullanımını CTaskDialog
gösterir. Bu örnek, görev iletişim kutusuyla ilişkili simgeyi de değiştirir. Simgenin değiştirilmesi, CTaskDialog
Windows ileti kutusunda aynı görünmesini sağlar.
Windows İleti Kutusunu CTaskDialog ile Değiştirmek için
Tüm varsayılan ayarlarla bir MFC uygulaması oluşturmak için MFC Uygulama Sihirbazı'nı kullanın. Visual Studio sürümünüz için sihirbazı açma yönergeleri için bkz . İzlenecek Yol: Yeni MFC Kabuğu Denetimlerini Kullanma.
MyProject olarak adlandır.
myProject.cpp dosyasını açmak için Çözüm Gezgini kullanın.
Ekleme listesinden sonra ekleyin
#include "afxtaskdialog.h"
.yöntemini
CMyProjectApp::InitInstance
bulun. Deyiminden önce aşağıdaki kod satırlarınıreturn TRUE;
ekleyin. Bu kod, Windows ileti kutusunda veya içindeCTaskDialog
kullandığımız dizeleri oluşturur.CString message("My message to the user"); CString dialogTitle("My Task Dialog title"); CString emptyString;
4. adımdaki kodun arkasına aşağıdaki kodu ekleyin. Bu kod, kullanıcının bilgisayarının 'yi desteklediğini
CTaskDialog
garanti eder. İletişim kutusu desteklenmiyorsa, uygulama bunun yerine bir Windows ileti kutusu görüntüler.if (CTaskDialog::IsSupported()) { } else { AfxMessageBox(message); }
5. adımdaki deyiminden
if
sonra köşeli ayraçların arasına aşağıdaki kodu ekleyin. Bu kod oluştururCTaskDialog
.CTaskDialog taskDialog(message, emptyString, dialogTitle, TDCBF_OK_BUTTON);
Sonraki satıra aşağıdaki kodu ekleyin. Bu kod uyarı simgesini ayarlar.
taskDialog.SetMainIcon(TD_WARNING_ICON);
Sonraki satıra aşağıdaki kodu ekleyin. Bu kod görev iletişim kutusunu görüntüler.
taskDialog.DoModal();
Windows ileti kutusuyla aynı simgenin CTaskDialog
görüntülenmesini istemiyorsanız 7. adımdan kaçınabilirsiniz. Bu adımdan kaçındığınızda, CTaskDialog
uygulama görüntülendiğinde simgesi yoktur.
Uygulamayı derleyin ve çalıştırın. Uygulama başladıktan sonra görev iletişim kutusunu görüntüler.
CTaskDialog'a İşlevsellik Ekleme
Aşağıdaki yordamda, önceki yordamda oluşturduğunuz işlevin CTaskDialog
nasıl ekleneceği gösterilmektedir. Örnek kod, kullanıcının seçimlerine göre belirli yönergeleri yürütmeyi gösterir.
CTaskDialog'a İşlevsellik Eklemek için
Kaynak Görünümü'ne gidin. Kaynak Görünümü'nü göremiyorsanız Görünüm menüsünden açabilirsiniz.
Dize Tablosu klasörünü seçene kadar Kaynak Görünümü'nü genişletin. Genişletin ve Dize Tablosu girdisine çift tıklayın.
Dize tablosunun en altına kaydırın ve yeni bir giriş ekleyin. Kimliği olarak
TEMP_LINE1
değiştirin. başlık Komut Satırı 1 olarak ayarlayın.Başka bir yeni girdi ekleyin. Kimliği olarak
TEMP_LINE2
değiştirin. başlık Komut Satırı 2 olarak ayarlayın.MyProject.cpp'ye geri dönün.
sonrasında
CString emptyString;
aşağıdaki kodu ekleyin:CString expandedLabel("Hide extra information"); CString collapsedLabel("Show extra information"); CString expansionInfo("This is the additional information to the user,\nextended over two lines.");
deyimini
taskDialog.DoModal()
bulun ve bu deyimi aşağıdaki kodla değiştirin. Bu kod görev iletişim kutusunu güncelleştirir ve yeni denetimler ekler:taskDialog.SetMainInstruction(L"Warning"); taskDialog.SetCommonButtons( TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON); taskDialog.LoadCommandControls(TEMP_LINE1, TEMP_LINE2); taskDialog.SetExpansionArea( expansionInfo, collapsedLabel, expandedLabel); taskDialog.SetFooterText(L"This is a small footnote to the user"); taskDialog.SetVerificationCheckboxText(L"Remember your selection");
Kullanıcıya görev iletişim kutusunu görüntüleyen ve kullanıcının seçimini alan aşağıdaki kod satırını ekleyin:
INT_PTR result = taskDialog.DoModal();
çağrısından
taskDialog.DoModal()
sonra aşağıdaki kodu ekleyin. Kodun bu bölümü kullanıcının girişini işler:if (taskDialog.GetVerificationCheckboxState()) { // PROCESS IF the user selects the verification checkbox } switch (result) { case TEMP_LINE1: // PROCESS IF the first command line break; case TEMP_LINE2: // PROCESS IF the second command line break; case IDYES: // PROCESS IF the user clicks yes break; case IDNO: // PROCESS IF the user clicks no break; case IDCANCEL: // PROCESS IF the user clicks cancel break; default: // This case should not be hit because closing // the dialog box results in IDCANCEL break; }
9. adımdaki kodda, ile başlayan açıklamaları belirtilen koşullar altında yürütmek istediğiniz kodla PROCESS IF
değiştirin.
Uygulamayı derleyin ve çalıştırın. Uygulama, yeni denetimleri ve ek bilgileri kullanan görev iletişim kutusunu görüntüler.
CTaskDialog Nesnesi Oluşturmadan CTaskDialog Görüntüleme
Aşağıdaki yordamda, önce nesne oluşturmadan nasıl CTaskDialog
görüntüleneceği gösterilmektedir CTaskDialog
. Bu örnekte önceki yordamlar devam eder.
CTaskDialog Nesnesi Oluşturmadan CTaskDialog Görüntülemek için
Henüz açık değilse MyProject.cpp dosyasını açın.
Deyimin kapanış köşeli ayracına
if (CTaskDialog::IsSupported())
gidin.Aşağıdaki kodu deyiminin kapanış köşeli ayracından
if
hemen önce ekleyin (bloğundanelse
önce):HRESULT result2 = CTaskDialog::ShowDialog(L"My error message", L"Error", L"New Title", TEMP_LINE1, TEMP_LINE2);
Uygulamayı derleyin ve çalıştırın. Uygulama iki görev iletişim kutusu görüntüler. İlk iletişim kutusu , İşlev Eklemek için CTaskDialog yordamından, ikinci iletişim kutusu ise son yordamdandır.
Bu örnekler, için CTaskDialog
kullanılabilir tüm seçenekleri göstermez, ancak kullanmaya başlamanıza yardımcı olmalıdır. Sınıfın tam açıklaması için bkz . CTaskDialog Sınıfı .
Ayrıca bkz.
İletişim Kutuları
CTaskDialog Sınıfı
CTaskDialog::CTaskDialog