Bagikan melalui


Antarmuka IProgressDialog (shlobj_core.h)

Mengekspos metode yang menyediakan opsi bagi aplikasi untuk menampilkan kotak dialog kemajuan. Antarmuka ini diekspor oleh objek kotak dialog kemajuan (CLSID_ProgressDialog). Objek ini adalah cara umum untuk menunjukkan kepada pengguna bagaimana operasi berlangsung. Biasanya digunakan saat menghapus, mengunggah, menyalin, memindahkan, atau mengunduh file dalam jumlah besar.

Warisan

Antarmuka IProgressDialog mewarisi dari antarmuka IUnknown . IProgressDialog juga memiliki jenis anggota ini:

Metode

Antarmuka IProgressDialog memiliki metode ini.

 
IProgressDialog::HasUserCancelled

Memeriksa apakah pengguna telah membatalkan operasi.
IProgressDialog::SetAnimation

Menentukan klip Audio-Video Interleaved (AVI) yang berjalan dalam kotak dialog.
IProgressDialog::SetCancelMsg

Mengatur pesan yang akan ditampilkan jika pengguna membatalkan operasi.
IProgressDialog::SetLine

Menampilkan pesan dalam dialog kemajuan.
IProgressDialog::SetProgress

Updates kotak dialog kemajuan dengan status operasi saat ini. (IProgressDialog.SetProgress)
IProgressDialog::SetProgress64

Updates kotak dialog kemajuan dengan status operasi saat ini. (IProgressDialog.SetProgress64)
IProgressDialog::SetTitle

Mengatur judul kotak dialog kemajuan.
IProgressDialog::StartProgressDialog

Memulai kotak dialog kemajuan.
IProgressDialog::StopProgressDialog

Menghentikan kotak dialog kemajuan dan menghapusnya dari layar.
IProgressDialog::Timer

Mereset timer kotak dialog kemajuan ke nol.

Keterangan

Objek kotak dialog kemajuan membuat kotak dialog tanpa mode dan memungkinkan klien untuk mengatur judul, animasi, baris teks, dan bilah kemajuannya. Objek kemudian menangani pembaruan pada utas latar belakang dan memungkinkan pengguna untuk membatalkan operasi. Secara opsional, ini memperkirakan waktu yang tersisa sampai operasi selesai dan menampilkan informasi sebagai baris teks.

Aplikasi biasanya tidak mengimplementasikan antarmuka ini. Ini diekspor oleh objek kotak dialog kemajuan untuk digunakan oleh aplikasi.

Gunakan antarmuka ini ketika aplikasi Anda perlu menampilkan kotak dialog kemajuan. Untuk menginisialisasi objek:

  1. Buat objek kotak dialog kemajuan dalam proses (CLSID_ProgressDialog) dengan CoCreateInstance. Minta penunjuk ke antarmuka IProgressDialog -nya (IID_IProgressDialog).
  2. Panggil IProgressDialog::SetTitle untuk menentukan judul kotak dialog.
  3. Panggil IProgressDialog::SetAnimation untuk menentukan klip AVI yang akan diputar saat operasi berlangsung.
  4. Panggil IProgressDialog::SetCancelMsg untuk menentukan pesan yang akan ditampilkan jika pengguna membatalkan operasi.
Untuk menampilkan kemajuan operasi:
  1. Panggil IProgressDialog::StartProgressDialog untuk menampilkan kotak dialog.
  2. Tetapkan nilai numerik ke jumlah total pekerjaan yang akan dilakukan operasi. Gunakan nomor apa pun yang memungkinkan Anda menentukan kemajuan operasi dengan mudah. Misalnya, atur nilai ini ke 100 jika Anda ingin menentukan kemajuan operasi dalam hal persentase yang telah selesai.
  3. Panggil IProgressDialog::Timer untuk mengatur ulang timer. Metode ini menetapkan titik awal yang digunakan objek dialog kemajuan untuk memperkirakan waktu yang tersisa dalam operasi. Jika Anda tidak memanggil metode ini, titik awal akan menjadi panggilan ke StartProgressDialog.
  4. Seiring berjalannya operasi, panggil IProgressDialog::SetProgress secara berkala untuk memperbarui kotak dialog tentang berapa banyak operasi yang telah diselesaikan. Objek dialog kemajuan akan memperbarui bilah kemajuannya dan menghitung ulang perkiraan waktu yang tersisa. Anda dapat menggunakan ukuran numerik kemajuan yang nyaman. Namun, jika Anda ingin menggunakan nilai yang lebih besar dari 4 gigabyte (GB), Anda harus memanggil IProgressDialog::SetProgress64alih-alih IProgressDialog::SetProgress.
  5. Aplikasi Anda tidak menerima pemberitahuan jika pengguna mengklik tombol Batal untuk membatalkan operasi. Seiring berjalannya operasi, panggil IProgressDialog::HasUserCancelled secara berkala untuk melihat apakah pengguna telah mengklik tombol Batalkan . Aplikasi biasanya memanggil metode ini setiap kali mereka memanggil IProgressDialog::SetProgress atau IProgressDialog::SetProgress64.
  6. Kotak dialog menampilkan tiga baris teks. Aplikasi dapat secara berkala memanggil IProgressDialog::SetLine untuk menampilkan pesan di salah satu baris ini. Metode ini biasanya digunakan untuk memberikan informasi tentang status operasi saat ini. Pesan umum adalah sesuatu seperti: "Item yang sedang diproses XXX...". Pesan biasanya ditampilkan pada baris 1 dan 2. Anda dapat menampilkan pesan pada baris 3 hanya jika Anda belum menginstruksikan objek dialog kemajuan untuk memperkirakan waktu yang tersisa dengan mengatur bendera PROGDLG_AUTOTIME dalam parameter dwFlagsIProgressDialog::StartProgressDialog. Dalam hal ini, baris teks ketiga digunakan untuk menampilkan perkiraan waktu.
Ketika operasi selesai:
  1. Panggil IProgressDialog::StopProgressDialog untuk menutup kotak dialog.
  2. Lepaskan objek kotak dialog kemajuan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header shlobj_core.h