Sdílet prostřednictvím


Názorný postup: Přidání CTaskDialog aplikace

Tento návod se zavádí Třída CTaskDialog a ukazuje, jak přidat do aplikace.

CTaskDialog Dialogové okno úkol, který nahrazuje v okně zprávy systému Windows v Windows Vista.CTaskDialog Zlepšuje původní zprávou a přidá funkci.Systému Windows se zprávou je nadále podporována v Visual Studio.

[!POZNÁMKA]

Verze systému Windows starší než Windows Vista nepodporují CTaskDialog.Chcete-li zobrazit zprávu uživateli, který spouští aplikace v dřívější verzi systému Windows, musí program alternativní políčka.Pomocí statické metody CTaskDialog::IsSupported k určení za běhu, zda počítač uživatele lze zobrazit CTaskDialog.Kromě toho CTaskDialog je k dispozici pouze při vytváření aplikace s knihovnou Unicode.

CTaskDialog Podporuje několik volitelné prvky shromáždit a zobrazit informace.Například CTaskDialog příkaz odkazy, vlastní tlačítka, upravené ikony a zápatí zobrazit.CTaskDialog Má také několik metod, které umožňují státu dialogového okna úloh určit, které volitelné prvky dotazu vyberte uživatele.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

  • Visual Studio 2010

  • Windows Vista

Nahrazení zprávou systému Windows CTaskDialog

Následující postup ukazuje základní použití CTaskDialog, což je nahradit zprávou systému Windows.V tomto příkladu změníte ikonu přiřazenou v dialogovém okně úkolu.Umožňuje změnit ikonu CTaskDialog vypadají stejně zprávou systému Windows.

Nahradit okno Windows CTaskDialog

  1. Vytvořte nový projekt aplikace MFC výchozího nastavení.Zavolejte ji MyProject.

  2. Použití Aplikaci Solution Explorer otevřete soubor MyProject.cpp.

  3. Přidat #include "afxtaskdialog.h" po seznam obsahuje.

  4. Najít metodu CMyProjectApp::InitInstance.Následující řádky kódu před return TRUE; prohlášení.Tento kód vytvoří řetězce, které používáme Windows zprávě rámečku nebo v CTaskDialog.

    CString message("My message to the user");
    CString dialogTitle("My Task Dialog title");
    CString emptyString;
    
  5. Přidejte následující kód po kódu z kroku 4.Tento kód zaručuje, že počítač uživatele podporuje CTaskDialog.Pokud dialogové okno není podporován, zobrazí aplikace okno zprávy systému Windows.

    if (CTaskDialog::IsSupported())
    {
    
    }
    else
    {
       AfxMessageBox(message);
    }
    
  6. Vložte následující kód do závorek po if příkaz Krok 5.Tento kód vytvoří CTaskDialog.

    CTaskDialog taskDialog(message, emptyString, dialogTitle, TDCBF_OK_BUTTON);
    
  7. Na dalším řádku přidejte následující kód.Tento kód nastaví výstražná ikona.

    taskDialog.SetMainIcon(TD_WARNING_ICON);
    
  8. Na dalším řádku přidejte následující kód.Tento kód se zobrazí dialogové okno úkolu.

    taskDialog.DoModal();
    

Pokud chcete, můžete vynechat krok 7 CTaskDialog zobrazit ikonu stejné jako zprávou systému Windows.Pokud tento krok vynecháte CTaskDialog nemá žádná ikona aplikace zobrazí jej.

Kompilace a spuštění aplikace.Aplikace zobrazí dialogové okno úloh po spuštění.

Přidání funkce CTaskDialog

Následující postup ukazuje, jak přidat funkce CTaskDialog , který jste vytvořili v předchozím postupu.Příklad kódu ukazuje, jak provést zvláštní pokyny na základě výběru uživatele.

K přidání funkcí do CTaskDialog

  1. Přejděte zobrazení zdrojů.Pokud nevidíte Zobrazení zdrojů, můžete otevřít z zobrazení nabídce.

  2. Rozbalte Zobrazení zdrojů dokud můžete vybrat Tabulky řetězců složky.Rozbalí a poklepejte Tabulky řetězců položku.

  3. Spodní tabulky řetězců a přidat novou položku.Změnit ID TEMP_LINE1.Nastavte titulek příkazového řádku 1.

  4. Přidáte novou položku jiného.Změnit ID TEMP_LINE2.Nastavte titulek na příkazovém řádku 2.

  5. Přejděte zpět do MyProject.cpp.

  6. Po CString emptyString;, přidejte následující kód:

    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. Najít taskDialog.DoModal() prohlášení a prohlášení, že nahraďte následující kód.Tento kód aktualizace v dialogovém okně úkolu a přidá nové ovládací prvky:

    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. Přidejte následující řádek kódu, který se uživateli zobrazí dialogové okno úloh a načte výběrem uživatele:

    INT_PTR result = taskDialog.DoModal();
    
  9. Vložte následující kód po volání taskDialog.DoModal().Tato část kódu zpracovává vstup:

    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;
    }
    

Nahraďte v kódu v kroku 9 komentáře, které začínají Pokud proces s kódem, který se má provést za určených podmínek.

Kompilace a spuštění aplikace.Aplikace zobrazí dialogové okno úkol, který používá nové ovládací prvky a další informace.

Zobrazení bez vytvoření objektu CTaskDialog CTaskDialog

Následující postup ukazuje, jak zobrazit CTaskDialog bez vytvoření první CTaskDialog objektu.V tomto příkladu pokračuje předchozí postupy.

Zobrazí CTaskDialog bez vytváření objektu CTaskDialog

  1. Otevřete soubor MyProject.cpp, pokud není již otevřen.

  2. Přejděte na pravou hranatou závorku pro if (CTaskDialog::IsSupported()) prohlášení.

  3. Vložte následující kód bezprostředně před uzavírací závorku if prohlášení (před else bloku):

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

Kompilace a spuštění aplikace.Aplikace zobrazí dvě dialogová okna úloh.Je první dialogové okno pro přidání funkce CTaskDialog postupem; druhé dialogové je poslední proceduře.

Tyto příklady ukazují není k dispozici možnosti pro CTaskDialog, ale měla pomoci začít.Viz Třída CTaskDialog pro úplný popis třídy.

Viz také

Referenční dokumentace

Třída CTaskDialog

CTaskDialog::CTaskDialog

Koncepty

Dialogové okno