Status Tombol

Bagian ini membahas cara memilih tombol mengubah statusnya dan bagaimana aplikasi harus merespons.

Bagian ini terdiri dari topik-topik berikut:

Pilihan Tombol

Pengguna dapat memilih tombol dengan tiga cara: dengan mengkliknya dengan mouse, dengan mentabingnya lalu menekan tombol ENTER, atau (jika tombol adalah bagian dari grup yang ditentukan oleh gaya WS_GROUP ) dengan menautkan ke tombol yang dipilih dalam grup dan menggunakan tombol panah untuk berpindah dalam grup tersebut. Dua metode tab adalah bagian dari antarmuka keyboard yang telah ditentukan sebelumnya yang disediakan oleh sistem. Untuk deskripsi lengkap antarmuka ini, lihat Kotak Dialog.

Memilih tombol biasanya menyebabkan peristiwa berikut:

  • Sistem memberi tombol fokus keyboard.
  • Tombol mengirimkan pesan kepada jendela induknya untuk memberi tahunya tentang pilihan.
  • Jendela induk (atau sistem) mengirimkan tombol pesan untuk mengubah statusnya.
  • Jendela induk (atau sistem) mengecat ulang tombol untuk mencerminkan status barunya.

Elemen Status Tombol

Status tombol dapat ditandai dengan status fokus, status dorong, dan status pemeriksaannya.

Status Fokus

Status fokus berlaku untuk kotak centang, tombol radio, tombol tekan, atau tombol digambar pemilik. Tombol menerima fokus keyboard saat pengguna memilihnya dan kehilangan fokus saat pengguna memilih kontrol lain. Hanya satu kontrol yang dapat memiliki fokus keyboard pada satu waktu.

Saat tombol memiliki fokus keyboard, sistem biasanya menyoroti teks, ikon, atau bitmap tombol dengan mengelilinginya dengan garis putus-putus. Selain itu, tombol tekan memiliki batas gelap yang berat ketika memiliki fokus. Sistem secara otomatis mengubah sorotan untuk tombol otomatis, tetapi aplikasi harus mengubah sorotan untuk tombol non-otomatis dengan mengirim pesan.

Status Pendorongan

Status pendorongan berlaku untuk tombol tekan, kotak centang, tombol radio, atau kotak centang tiga status, tetapi tidak berlaku untuk tombol lain. Status pendorongan tombol dapat didorong atau tidak didorong. Saat tombol tekan (atau tombol apa pun dengan gaya BS_PUSHLIKE ) didorong, tombol digambar sebagai tombol tenggelam. Ketika tidak didorong, itu digambar sebagai tombol yang dinaikkan. Saat kotak centang, tombol radio, atau kotak centang tiga status diklik, latar belakang tombol berwarna abu-abu. Ketika tidak didorong, latar belakang tombol tidak berwarna abu-abu.

Periksa Status

Status centang berlaku untuk kotak centang, tombol radio, atau kotak centang tiga status, tetapi tidak berlaku untuk tombol lain. Status dapat dicentang, dikosongkan, atau (untuk kotak centang tiga status) tidak ditentukan. Kotak centang dicentang ketika berisi tanda centang, dan dikosongkan ketika tidak. Tombol radio dicentang ketika berisi titik hitam; itu dibersihkan ketika tidak. Kotak centang tiga status dicentang saat berisi tanda centang, dikosongkan saat tidak, dan tidak ditentukan saat berisi kotak abu-abu. Sistem secara otomatis mengubah status pemeriksaan tombol otomatis, tetapi aplikasi harus mengubah status pemeriksaan tombol non-otomatis.

Perubahan pada Status Tombol

Saat pengguna memilih tombol, umumnya perlu mengubah satu atau beberapa elemen status tombol. Sistem secara otomatis mengubah status fokus untuk semua jenis tombol, status dorong untuk tombol atau tombol push dengan gaya BS_PUSHLIKE , dan status pemeriksaan untuk semua tombol otomatis. Aplikasi harus membuat semua perubahan status lainnya, dengan mempertimbangkan jenis, gaya, dan status tombol saat ini. Daftar berikut ini memperlihatkan elemen status yang harus diubah untuk setiap jenis tombol:

  • Kotak centang harus mengubah status centang.
  • Tombol radio harus mengubah status pemeriksaan. Mungkin juga perlu untuk mengubah status pemeriksaan tombol radio lain dalam grup yang sama untuk memastikan sifat tombol radio yang saling eksklusif.
  • Karena status tombol yang digambar pemilik tergantung pada aplikasi, apa yang harus diubah aplikasi di tombol dapat bervariasi. Tidak ada elemen kotak grup yang harus diubah, karena pengguna tidak dapat memilih kotak grup.

Aplikasi dapat menentukan status tombol dengan mengirimkan pesan BM_GETCHECK atau BM_GETSTATE; aplikasi dapat mengatur status tombol dengan mengirimkannya pesan BM_SETCHECK atau BM_SETSTATE.