Fungsi TaskDialog (commctrl.h)
Fungsi TaskDialog membuat, menampilkan, dan mengoperasikan dialog tugas. Dialog tugas berisi teks pesan dan judul yang ditentukan aplikasi, ikon, dan kombinasi tombol tekan yang telah ditentukan sebelumnya. Fungsi ini tidak mendukung pendaftaran fungsi panggilan balik untuk menerima pemberitahuan.
Sintaks
HRESULT TaskDialog(
[in] HWND hwndOwner,
[in] HINSTANCE hInstance,
[in] PCWSTR pszWindowTitle,
[in] PCWSTR pszMainInstruction,
[in] PCWSTR pszContent,
[in] TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons,
[in] PCWSTR pszIcon,
[out] int *pnButton
);
Parameter
[in] hwndOwner
Jenis: HWND
Tangani ke jendela pemilik dialog tugas yang akan dibuat. Jika parameter ini NULL, dialog tugas tidak memiliki jendela pemilik.
[in] hInstance
Jenis: HINSTANCE
Tangani ke modul yang berisi sumber daya ikon yang diidentifikasi oleh anggota pszIcon , dan sumber daya string yang diidentifikasi oleh anggota pszWindowTitle dan pszMainInstruction . Jika parameter ini NULL, pszIcon harus NULL atau pointer ke string Unicode null-dihentikan yang berisi pengidentifikasi sumber daya sistem, misalnya, TD_ERROR_ICON.
[in] pszWindowTitle
Jenis: PCWSTR
Penunjuk ke string yang akan digunakan untuk judul dialog tugas. Parameter ini adalah string Unicode yang dihentikan null yang berisi teks, atau pengidentifikasi sumber daya bilangan bulat yang melewati makro MAKEINTRESOURCE . Jika parameter ini ADALAH NULL, nama file program yang dapat dieksekusi digunakan.
[in] pszMainInstruction
Jenis: PCWSTR
Penunjuk ke string yang akan digunakan untuk instruksi utama. Parameter ini adalah string Unicode yang dihentikan null yang berisi teks, atau pengidentifikasi sumber daya bilangan bulat yang melewati makro MAKEINTRESOURCE . Parameter ini bisa NULL jika tidak ada instruksi utama yang diinginkan.
[in] pszContent
Jenis: PCWSTR
Penunjuk ke string yang digunakan untuk teks tambahan yang muncul di bawah instruksi utama, dalam font yang lebih kecil. Parameter ini adalah string Unicode yang dihentikan null yang berisi teks, atau pengidentifikasi sumber daya bilangan bulat yang melewati makro MAKEINTRESOURCE . Bisa null jika tidak ada teks tambahan yang diinginkan.
[in] dwCommonButtons
Jenis: TASKDIALOG_COMMON_BUTTON_FLAGS
Menentukan tombol dorong yang ditampilkan dalam kotak dialog. Parameter ini mungkin merupakan kombinasi bendera dari grup berikut.
[in] pszIcon
Jenis: PCWSTR
Penunjuk ke string yang mengidentifikasi ikon untuk ditampilkan dalam dialog tugas. Parameter ini harus merupakan pengidentifikasi sumber daya bilangan bulat yang diteruskan ke makro MAKEINTRESOURCE atau salah satu nilai yang telah ditentukan sebelumnya berikut ini. Jika parameter ini NULL, tidak ada ikon yang akan ditampilkan. Jika parameter hInstance adalah NULL dan salah satu nilai yang telah ditentukan sebelumnya tidak digunakan, fungsi TaskDialog gagal.
[out] pnButton
Jenis: int*
Saat fungsi ini kembali, berisi penunjuk ke lokasi bilangan bulat yang menerima 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. |
IDCLOSE | Tombol Tutup dipilih. |
Jika nilai ini NULL, tidak ada nilai yang dikembalikan.
Mengembalikan nilai
Jenis: HRESULT
Fungsi ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
|
Operasi berhasil diselesaikan. |
|
Memori tidak cukup untuk menyelesaikan operasi. |
|
Satu atau beberapa argumen tidak valid. |
|
Operasi gagal. |
Keterangan
Saat Anda menggunakan kotak dialog tugas untuk menunjukkan bahwa sistem kehabisan memori, string yang ditunjukkan oleh parameter pszMainInstruction dan pszWindowTitle 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.
Karena kotak dialog tugas menggunakan elemen UI yang ditentukan sistem yang benar, Anda harus menggunakannya alih-alih menggunakan kotak pesan yang dibuat dengan fungsi MessageBox . Untuk mencapai lebih banyak fungsionalitas, gunakan TaskDialogIndirect.
Contoh kode berikut, yang akan disertakan sebagai bagian dari program yang lebih besar, menunjukkan cara membuat dialog tugas dan menangkap input.
int nButtonPressed = 0;
TaskDialog(NULL, hInst,
MAKEINTRESOURCE(IDS_APPLICATION_TITLE),
MAKEINTRESOURCE(IDS_DOSOMETHING),
MAKEINTRESOURCE(IDS_SOMECONTENT),
TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON,
TD_WARNING_ICON,
&nButtonPressed);
if (IDOK == nButtonPressed)
{
// OK button pressed
}
else if (IDCANCEL == nButtonPressed)
{
// Cancel pressed
}
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) |