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 ini memperlihatkan bilah kemajuan menggunakan gaya visual. Tampilan kontrol akan bervariasi tergantung pada sistem operasi dan tema yang dipilih. Untuk informasi selengkapnya, lihat Gaya Visual.
Informasi selengkapnya terkandung di bawah judul berikut.
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 kemajuan mewakili seluruh durasi operasi, dan posisi saat ini mewakili kemajuan yang telah dibuat aplikasi untuk menyelesaikan operasi. Prosedur jendela menggunakan rentang dan posisi saat ini untuk menentukan persentase bilah kemajuan untuk 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 maju dengan kenaikan yang ditentukan. Secara default, tahapan langkah diatur ke 10.
Pemrosesan Pesan Bilah Kemajuan Default
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 batas bilah kemajuan. |
WM_GETFONT | Mengembalikan handel ke font saat ini. Bilah kemajuan saat ini tidak menggambar teks, sehingga mengirim pesan ini tidak berpengaruh pada kontrol. |
WM_PAINT | Gambar bilah kemajuan. Jika parameter wParam non-NULL, kontrol mengasumsikan bahwa nilainya adalah HDC dan melukis menggunakan konteks perangkat tersebut. |
WM_SETFONT | Menyimpan handel ke font baru dan mengembalikan handel ke font sebelumnya. Bilah kemajuan saat ini tidak menggambar teks, sehingga mengirim pesan ini tidak berpengaruh pada kontrol. |
Gaya Marquee
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.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk