Tentang Kontrol Bilah Kemajuan
Bilah kemajuan adalah jendela yang dapat digunakan aplikasi untuk menunjukkan kemajuan operasi yang panjang.
Ini terdiri dari persegi panjang yang dianimasikan saat operasi berlangsung.
Ilustrasi berikut ini memperlihatkan bilah kemajuan yang tidak menggunakan gaya visual.
Ilustrasi berikut menunjukkan bilah kemajuan dengan menggunakan gaya visual. Tampilan kontrol akan bervariasi tergantung pada sistem operasi dan tema yang dipilih. Untuk informasi selengkapnya, lihat Visual Styles.
Informasi selengkapnya terkandung di bawah judul berikut.
-
Menggunakan Bilah Kemajuan
- rentang dan Posisi Saat Ini
- Pemrosesan Pesan Bilah Kemajuan Default
- Gaya Marquee
Menggunakan Bilah Kemajuan
Anda dapat membuat bilah kemajuan dengan menggunakan fungsi CreateWindowEx, menentukan kelas jendela PROGRESS_CLASS. Kelas jendela ini didaftarkan ketika DLL kontrol umum dimuat. Untuk informasi selengkapnya, lihat Tentang Kontrol Umum.
Kontrol juga tersedia di Kotak Alat Microsoft Visual Studio, yang disebut Kontrol Kemajuan.
Rentang dan Posisi Saat Ini
Rentang bilah progres mewakili seluruh durasi operasi, dan posisi saat ini mewakili progres yang telah dicapai aplikasi untuk menyelesaikan operasi. Prosedur jendela menggunakan rentang dan posisi saat ini untuk menentukan persentase bilah kemajuan yang harus diisi dengan warna sorotan.
Jika Anda tidak mengatur nilai rentang, sistem menetapkan nilai minimum ke 0 dan nilai maksimum menjadi 100. Anda dapat menyesuaikan rentang ke bilangan bulat yang nyaman dengan menggunakan pesan PBM_SETRANGE.
Bilah kemajuan menyediakan beberapa pesan yang dapat Anda gunakan untuk mengatur posisi saat ini. Pesan PBM_SETPOS mengatur posisi ke nilai tertentu. Pesan PBM_DELTAPOS memajukan posisi dengan menambahkan nilai yang ditentukan ke posisi saat ini.
Pesan PBM_SETSTEP memungkinkan Anda menentukan tahapan langkah untuk bilah kemajuan. Selanjutnya, setiap kali Anda mengirim pesan PBM_STEPIT ke bilah kemajuan, posisi saat ini bergerak maju dengan kenaikan sesuai yang telah ditentukan. Secara bawaan, peningkatan langkah diatur ke 10.
Pemrosesan Pesan Bilah Kemajuan Bawaan
Bagian ini menjelaskan pesan yang ditangani oleh prosedur jendela untuk kelas PROGRESS_CLASS.
Pesan | Pemrosesan dilakukan |
---|---|
WM_CREATE | Mengalokasikan dan menginisialisasi struktur awal. |
WM_DESTROY | Membebaskan semua sumber daya yang terkait dengan bilah kemajuan. |
WM_ERASEBKGND | Menggambar latar belakang dan tepi bilah kemajuan. |
WM_GETFONT | Mengembalikan pegangan ke font saat ini. Bilah kemajuan saat ini tidak menggambar teks, sehingga mengirim pesan ini tidak berpengaruh pada kontrol. |
WM_PAINT | Menampilkan bilah kemajuan. Jika parameter wParam bukanNULL, kontrol mengasumsikan bahwa nilainya adalah HDC dan menggunakan konteks perangkat itu untuk menggambar. |
WM_SETFONT | Menyimpan penunjuk pada font baru dan mengembalikan penunjuk pada font sebelumnya. Bilah kemajuan saat ini tidak menggambar teks, sehingga mengirim pesan ini tidak berpengaruh pada kontrol. |
Gaya Marquee (gaya kiasan atau tampilan judul bergulir)
Dengan membuat kontrol bilah kemajuan dengan gaya PBS_MARQUEE, Anda dapat menganimasikannya dengan cara yang menunjukkan aktivitas tetapi tidak menunjukkan proporsi tugas apa yang selesai. Bagian yang disorot dari bilah kemajuan bergerak berulang kali di sepanjang bilah. Anda dapat memulai dan menghentikan animasi, dan mengontrol kecepatannya, dengan mengirim pesan PBM_SETMARQUEE. Bilah kemajuan Marquee tidak memiliki rentang atau posisi.
Ilustrasi berikut menunjukkan bilah kemajuan dalam mode marquee. Bagian yang disorot bergerak melintasi bilah.