TaskDialogIndirect 函式 (commctrl.h)
TaskDialogIndirect 函式會建立、顯示及操作工作對話方塊。 工作對話框包含應用程式定義的圖示、訊息、標題、驗證複選框、命令連結、按鈕和單選按鈕。 此函式可以註冊回呼函式來接收通知訊息。
語法
HRESULT TaskDialogIndirect(
[in] const TASKDIALOGCONFIG *pTaskConfig,
[out, optional] int *pnButton,
[out, optional] int *pnRadioButton,
[out, optional] BOOL *pfVerificationFlagChecked
);
參數
[in] pTaskConfig
類型: const TASKDIALOGCONFIG*
TASKDIALOGCONFIG 結構的指標,其中包含用來顯示工作對話框的資訊。
[out, optional] pnButton
類型: int*
接收下列其中一個變數的位址:
- pTaskConfig 參數之 pButtons 成員中指定的其中一個按鈕識別碼
- 下列其中一個值:
值 | 描述 |
---|---|
0 | 函數調用失敗。 如需詳細資訊,請參閱傳回值。 |
IDCANCEL | 已選取 [取消] 按鈕、按下 Alt-F4、按下逸出,或使用者按兩下關閉視窗按鈕。 |
IDNO | 未 選取按鈕。 |
IDOK | 已選取 [確定] 按鈕。 |
IDRETRY | 已選取 [重試] 按鈕。 |
IDYES | 已選取 [是] 按鈕。 |
如果此參數為 NULL,則不會傳回任何值。
[out, optional] pnRadioButton
類型: int*
變數的位址,該變數會接收 pTaskConfig 參數之 pRadioButtons 成員中指定的其中一個按鈕識別碼。 如果此參數為 NULL,則不會傳回任何值。
[out, optional] pfVerificationFlagChecked
類型: BOOL*
接收下列其中一個值的變數位址。
值 | Description |
---|---|
TRUE | 關閉對話框時會核取驗證複選框。 |
FALSE | 關閉對話框時未核取驗證複選框。 |
如果此參數為 NULL,則會停用驗證複選框。
傳回值
類型: HRESULT
此函式可以傳回其中一個值。
傳回碼 | 描述 |
---|---|
|
作業已成功完成。 |
|
記憶體不足,無法完成作業。 |
|
一或多個自變數無效。 |
|
作業失敗。 |
備註
當您使用工作對話框來指出系統記憶體不足時, TASKDIALOGCONFIG 結構中各種字串和圖示成員所指向的字串不應從資源檔取得,因為嘗試載入資源可能會失敗。
如果您在對話方塊存在時建立工作對話框,請使用對話框的句柄做為 hWndParent 參數。 hWndParent 參數不應該識別子視窗,例如對話框中的控件。
呼叫此函式時,不應該隱藏或停用父視窗。
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
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | commctrl.h (包括 Commctrl.h) |
程式庫 | Comctl32.lib |
Dll | Comctl32.dll (版本 6) |
另請參閱