Aracılığıyla paylaş


İzlenecek yol: bir CTaskDialog bir uygulama ekleme

Bu izlenecek yolda tanıtır CTaskDialog sınıfı ve uygulamanıza eklemek gösterilmiştir.

CTaskDialog Yerini Windows ileti kutusu içinde bir görev iletişim kutusu Windows Vista.CTaskDialog Özgün ileti kutusu artırır ve işlevsellik ekler.Windows ileti kutusu hala desteklenmektedir Visual Studio.

[!NOT]

Windows'un daha önceki Windows Vista desteklemediği CTaskDialog.Alternatif bir iletişim kutusu seçeneği, uygulamanızın önceki bir Windows sürümünü çalıştıran bir kullanıcıya bir ileti görüntülemek istiyorsanız programlamaları gerekir.Statik yöntemi kullanabilirsiniz CTaskDialog::IsSupported zamanında kullanıcının bilgisayarına görüntüleyebilirsiniz olup olmadığını belirlemek için bir CTaskDialog.Buna ek olarak, CTaskDialog uygulama Unicode kitaplıkla oluþturulduðunda kullanılabilir.

CTaskDialog Toplamak ve bu bilgileri görüntülemek için birkaç isteğe bağlı öğeleri destekler.Örneğin, bir CTaskDialog komut bağlantıları, özelleştirilmiş düğmeleri, özelleştirilmiş simgeler ve altbilgi görüntüleyebilirsiniz.CTaskDialog De seçili kullanıcı etkinleştirmek, hangi isteğe bağlı öğeleri belirlemek için görev iletişim kutusu durumunu sorgulamak için çeşitli yöntemler vardır.

Önkoşullar

Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:

  • Visual Studio 2010

  • Windows Vista

Bir Windows ileti kutusu CTaskDialog ile değiştirme

En temel kullanımı aşağıdaki yordamda gösterilmektedir CTaskDialog, Windows ileti kutusu koymak olduğu.Bu örnek ayrıca görev iletişim kutusu ile ilişkili simgeyi değiştirir.Simge değiştirme yaptığı CTaskDialog aynı Windows ileti kutusu görünür.

Bir Windows ileti kutusu CTaskDialog ile değiştirmek için

  1. Varsayılan ayarlarla yeni bir mfc uygulaması projesi oluşturun.Bu çağrı MyProject.

  2. Use Solution Explorer MyProject.cpp dosyasını açın.

  3. Ekleme #include "afxtaskdialog.h" sonra listesini içerir.

  4. Yöntemi bulmak CMyProjectApp::InitInstance.Önce kodu aşağıdaki satırları ekleyin return TRUE; ifadesi.Bu kod, Windows ileti kutusu veya de kullanırız dizeleri oluşturur CTaskDialog.

    CString message("My message to the user");
    CString dialogTitle("My Task Dialog title");
    CString emptyString;
    
  5. Aşağıdaki kod, adım 4 sonra kodu ekleyin.Bu kod, kullanıcının bilgisayarı destekler garanti CTaskDialog.İletişim desteklenmiyorsa, bunun yerine uygulama bir Windows ileti kutusu görüntüler.

    if (CTaskDialog::IsSupported())
    {
    
    }
    else
    {
       AfxMessageBox(message);
    }
    
  6. Sonra ayraçlar arasında aşağıdaki kodu ekleyin if ifadesini adım 5.Bu kod oluşturur CTaskDialog.

    CTaskDialog taskDialog(message, emptyString, dialogTitle, TDCBF_OK_BUTTON);
    
  7. Sonraki satırda aşağıdaki kodu ekleyin.Bu kod, uyarı simgesi ayarlar.

    taskDialog.SetMainIcon(TD_WARNING_ICON);
    
  8. Sonraki satırda aşağıdaki kodu ekleyin.Bu kod görev iletişim kutusu görüntüler.

    taskDialog.DoModal();
    

İstemiyorsanız, adım 7 atlayabilirsiniz CTaskDialog aynı simge Windows ileti kutusu görüntülemek için.Bu adımı atlarsanız, CTaskDialog uygulaması görüntülendiğinde simge vardır.

Uygulamasını derlemek ve çalıştırmak.Başladıktan sonra uygulama görevi iletişim kutusunu görüntüler.

CTaskDialog işlev ekleme

Aşağıdaki yordamda işlevsellik eklemek gösterilmiştir CTaskDialog , önceki yordamda oluşturduğunuz.Kod örneği kullanıcı seçimleri temel alarak belirli yönergeleri çalıştırmak gösterilmiştir.

CTaskDialog işlevselliği eklemek için

  1. Gidin kaynak görünümü.Göremiyorsanız, Kaynak görünümü, buradan açın View menü.

  2. Genişletme Kaynak görünümü seçebileceğiniz kadar Dize tablosu klasörü.Genişletmek ve çift Dize tablosu girdi.

  3. Dize tablosu en altına gidin ve yeni bir girdi ekleyin.Kimlik TEMP_LINE1.Resim yazısı, komut satırı 1 olarak ayarlayın.

  4. Yeni başka bir girdi ekleyin.Kimlik TEMP_LINE2.Resim yazısı komut satırı 2 olarak ayarlayın.

  5. MyProject.cpp için geri gidin.

  6. Sonra 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.");
    
  7. Bul taskDialog.DoModal() deyimi ve o ifadeyi aşağıdaki kodla değiştirin.Bu kod görev iletişim kutusu güncelleştirmeleri 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 the a small footnote to the user");
    taskDialog.SetVerificationCheckboxText(L"Remember your selection");
    
  8. Kullanıcı görev iletişim kutusu görüntülenir ve kullanıcının seçimine alır kod aşağıdaki satırı ekleyin:

    INT_PTR result = taskDialog.DoModal();
    
  9. Çağrı sonra aşağıdaki kodu ekleyin taskDialog.DoModal().Bu bölüm kodunun kullanıcının giriş işlemleri:

    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ımda kodunda belirtilen koşullar altında çalıştırmak istediğiniz kodu ile işlem Eğer başlayan yorumlar değiştirin.

Uygulamasını derlemek ve çalıştırmak.Uygulama Yeni denetimler ve ek bilgileri kullanan görev iletişim kutusu görüntüler.

Bir CTaskDialog CTaskDialog bir nesneyi oluşturmadan görüntüleme

Aşağıdaki yordam nasıl görüntüleneceğini gösterir bir CTaskDialog ilk oluşturmadan bir CTaskDialog nesnesi.Bu örnek, önceki yordamlardan devam eder.

CTaskDialog bir nesneyi oluşturmadan bir CTaskDialog görüntülemek için

  1. Zaten açık değilse MyProject.cpp dosyasını açın.

  2. Sol ayraç için gitmek if (CTaskDialog::IsSupported()) ifadesi.

  3. Kapatma ayracının hemen önce aşağıdaki kodu ekleyin if deyimi (önce else bloğu):

    HRESULT result2 = CTaskDialog::ShowDialog(L"My error message", L"Error", L"New Title", TEMP_LINE1, TEMP_LINE2);
    

Uygulamasını derlemek ve çalıştırmak.Uygulama iki görev iletişim kutusu görüntüler.İlk iletişim kutusunda Ekle işlevlerinden CTaskDialog yordamdır; İkinci bir iletişim kutusu, son yordamdır.

Bu örnekler için kullanılabilir seçenekleri göstermek değil bir CTaskDialog, ancak başlamanıza yardımcı olmalıdır.Bkz: CTaskDialog sınıfı tam bir sınıf açıklaması.

Ayrıca bkz.

Başvuru

CTaskDialog sınıfı

CTaskDialog::CTaskDialog

Kavramlar

İletişim Kutuları