TaskDialogIndirect-Funktion (commctrl.h)
Die TaskDialogIndirect-Funktion erstellt, zeigt ein Aufgabendialogfeld an und betreibt es. Das Aufgabendialogfeld enthält anwendungsdefinierte Symbole, Nachrichten, Titel, Überprüfungskontrollkästchen, Befehlslinks, Pushschaltflächen und Optionsfelder. Diese Funktion kann eine Rückruffunktion registrieren, um Benachrichtigungen zu empfangen.
Syntax
HRESULT TaskDialogIndirect(
[in] const TASKDIALOGCONFIG *pTaskConfig,
[out, optional] int *pnButton,
[out, optional] int *pnRadioButton,
[out, optional] BOOL *pfVerificationFlagChecked
);
Parameter
[in] pTaskConfig
Typ: const TASKDIALOGCONFIG*
Zeiger auf eine TASKDIALOGCONFIG-Struktur , die Informationen enthält, die zum Anzeigen des Aufgabendialogfelds verwendet werden.
[out, optional] pnButton
Typ: int*
Adresse einer Variablen, die folgendes empfängt:
- eine der Schaltflächen-IDs, die im pButtons-Element des pTaskConfig-Parameters angegeben sind
- einer der folgenden Werte:
Wert | BESCHREIBUNG |
---|---|
0 | Fehler beim Funktionsaufruf. Weitere Informationen finden Sie unter Rückgabewert. |
IDCANCEL | Die Schaltfläche Abbrechen wurde ausgewählt, ALT-F4 wurde gedrückt, Escape wurde gedrückt, oder der Benutzer klickte auf die Schaltfläche zum Schließen des Fensters. |
IDNO | Es wurde keine Schaltfläche ausgewählt. |
IDOK | Die Schaltfläche OK wurde ausgewählt. |
IDRETRY | Die Schaltfläche "Wiederholen " wurde ausgewählt. |
IDYES | Die Schaltfläche "Ja" wurde ausgewählt. |
Wenn dieser Parameter NULL ist, wird kein Wert zurückgegeben.
[out, optional] pnRadioButton
Typ: int*
Adresse einer Variablen, die eine der Schaltflächen-IDs empfängt, die im pRadioButtons-Element des pTaskConfig-Parameters angegeben sind. Wenn dieser Parameter NULL ist, wird kein Wert zurückgegeben.
[out, optional] pfVerificationFlagChecked
Typ: BOOL*
Adresse einer Variablen, die einen der folgenden Werte empfängt.
Wert | Beschreibung |
---|---|
TRUE | Das Überprüfungskontrollkästchen wurde aktiviert, als das Dialogfeld geschlossen wurde. |
FALSE | Das Überprüfungskontrollkästchen wurde beim Schließen des Dialogfelds nicht aktiviert. |
Wenn dieser Parameter NULL ist, ist das Überprüfungskontrollkästchen deaktiviert.
Rückgabewert
Typ: HRESULT
Diese Funktion kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Es ist nicht genügend Arbeitsspeicher vorhanden, um den Vorgang abzuschließen. |
|
Mindestens ein Argument ist ungültig. |
|
Fehler beim Vorgang. |
Hinweise
Wenn Sie ein Aufgabendialogfeld verwenden, um anzugeben, dass das System wenig Arbeitsspeicher hat, sollten die Zeichenfolgen, auf die die verschiedenen Zeichenfolgen- und Symbolmember in der TASKDIALOGCONFIG-Struktur verweisen, nicht aus einer Ressourcendatei entnommen werden, da der Versuch, die Ressource zu laden, möglicherweise fehlschlägt.
Wenn Sie ein Aufgabendialogfeld erstellen, während ein Dialogfeld vorhanden ist, verwenden Sie ein Handle für das Dialogfeld als hWndParent-Parameter . Der Parameter hWndParent sollte kein untergeordnetes Fenster identifizieren, z. B. ein Steuerelement in einem Dialogfeld.
Das übergeordnete Fenster sollte nicht ausgeblendet oder deaktiviert werden, wenn diese Funktion aufgerufen wird.
int nButtonPressed = 0;
TASKDIALOGCONFIG config = {0};
const TASKDIALOG_BUTTON buttons[] = {
{ IDOK, L"Change password" }
};
config.cbSize = sizeof(config);
config.hInstance = hInst;
config.dwCommonButtons = TDCBF_CANCEL_BUTTON;
config.pszMainIcon = TD_WARNING_ICON;
config.pszMainInstruction = L"Change Password";
config.pszContent = L"Remember your changed password.";
config.pButtons = buttons;
config.cButtons = ARRAYSIZE(buttons);
TaskDialogIndirect(&config, &nButtonPressed, NULL, NULL);
switch (nButtonPressed)
{
case IDOK:
break; // the user pressed button 0 (change password).
case IDCANCEL:
break; // user canceled the dialog
default:
break; // should never happen
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | commctrl.h (include Commctrl.h) |
Bibliothek | Comctl32.lib |
DLL | Comctl32.dll (Version 6) |
Weitere Informationen