Bagikan melalui


Fungsi TaskDialogIndirect (commctrl.h)

Fungsi TaskDialogIndirect membuat, menampilkan, dan mengoperasikan dialog tugas. Dialog tugas berisi ikon, pesan, judul, kotak centang verifikasi yang ditentukan aplikasi, tautan perintah, tombol dorong, dan tombol radio. Fungsi ini dapat mendaftarkan fungsi panggilan balik untuk menerima pesan pemberitahuan.

Sintaks

HRESULT TaskDialogIndirect(
  [in]            const TASKDIALOGCONFIG *pTaskConfig,
  [out, optional] int                    *pnButton,
  [out, optional] int                    *pnRadioButton,
  [out, optional] BOOL                   *pfVerificationFlagChecked
);

Parameter

[in] pTaskConfig

Jenis: const TASKDIALOGCONFIG*

Penunjuk ke struktur TASKDIALOGCONFIG yang berisi informasi yang digunakan untuk menampilkan dialog tugas.

[out, optional] pnButton

Jenis: int*

Alamat variabel yang menerima:

  • salah satu ID tombol yang ditentukan dalam anggota pButtons dari parameter pTaskConfig
  • salah satu nilai berikut:
Nilai Deskripsi
0 Panggilan fungsi gagal. Lihat mengembalikan nilai untuk informasi selengkapnya.
IDCANCEL Tombol Batal dipilih, Alt-F4 ditekan, Escape ditekan atau pengguna mengklik tombol tutup jendela .
IDNO Tidak ada tombol yang dipilih.
IDOK Tombol OK dipilih.
IDRETRY Tombol coba lagi dipilih.
IDYES Tombol Ya dipilih.
 

Jika parameter ini NULL, tidak ada nilai yang dikembalikan.

[out, optional] pnRadioButton

Jenis: int*

Alamat variabel yang menerima salah satu ID tombol yang ditentukan dalam anggota pRadioButtons dari parameter pTaskConfig . Jika parameter ini NULL, tidak ada nilai yang dikembalikan.

[out, optional] pfVerificationFlagChecked

Jenis: BOOL*

Alamat variabel yang menerima salah satu nilai berikut.

Nilai Deskripsi
TRUE Kotak centang verifikasi dicentang saat dialog dihentikan.
FALSE Kotak centang verifikasi tidak dicentang saat dialog diberhentikan.
 

Jika parameter ini NULL, kotak centang verifikasi dinonaktifkan.

Mengembalikan nilai

Jenis: HRESULT

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Operasi berhasil diselesaikan.
E_OUTOFMEMORY
Memori tidak cukup untuk menyelesaikan operasi.
E_INVALIDARG
Satu atau beberapa argumen tidak valid.
E_FAIL
Operasi gagal.

Keterangan

Saat Anda menggunakan kotak dialog tugas untuk menunjukkan bahwa sistem kehabisan memori, string yang ditunjukkan oleh berbagai string dan anggota ikon dalam struktur TASKDIALOGCONFIG tidak boleh diambil dari file sumber daya karena upaya untuk memuat sumber daya mungkin gagal.

Jika Anda membuat dialog tugas saat kotak dialog ada, gunakan handel ke kotak dialog sebagai parameter hWndParent . Parameter hWndParent tidak boleh mengidentifikasi jendela anak, seperti kontrol dalam kotak dialog.

Jendela induk tidak boleh disembunyikan atau dinonaktifkan ketika fungsi ini dipanggil.


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
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header commctrl.h (termasuk Commctrl.h)
Pustaka Comctl32.lib
DLL Comctl32.dll (versi 6)

Lihat juga

Kotak Dialog