Bagikan melalui


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.

cuplikan layar bilah kemajuan yang menambahkan persegi panjang dalam garis untuk menunjukkan kemajuan

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.

cuplikan layar bilah kemajuan yang memperpanjang persegi panjang hijau animasi untuk menunjukkan kemajuan

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 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.

tangkapan layar bilah kemajuan yang menunjukkan sorotan hijau bergerak melintasi persegi panjang abu-abu untuk menunjukkan kemajuan