Bagikan melalui


Tentang Pengaturan Bilah Alat

Bilah alat adalah kontrol yang berisi satu atau beberapa tombol. Setiap tombol, saat diklik oleh pengguna, mengirim pesan perintah ke jendela induk. Biasanya, tombol di toolbar sesuai dengan item di menu aplikasi, menyediakan cara tambahan dan lebih langsung bagi pengguna untuk mengakses perintah aplikasi.

Cuplikan layar berikut menunjukkan jendela yang berisi toolbar sederhana untuk operasi file. Aplikasi telah mengaktifkan gaya visual. Tombol Simpan "panas" karena kursor mengarah ke atasnya saat cuplikan layar diambil. Tampilan aktual kontrol bervariasi tergantung pada sistem operasi dan tema yang dipilih pengguna.

cuplikan layar jendela dengan toolbar tiga tombol; satu tombol panas

Cuplikan layar berikut menunjukkan kontrol yang sama dalam aplikasi yang dikompilasi tanpa gaya visual diaktifkan.

cuplikan layar jendela tanpa gaya visual: tidak ada tombol yang terlihat panas

Topik berikut membahas fitur yang perlu dipertimbangkan saat merencanakan toolbar. Untuk informasi spesifik tentang implementasi, dan contoh kode, lihat Menggunakan Pengontrol Toolbar.

Menentukan Ukuran dan Posisi Bilah Alat

Jika Anda membuat toolbar menggunakan CreateToolbarEx, fungsi memungkinkan Anda menentukan dalam piksel tinggi dan lebar toolbar.

Nota

Menggunakan CreateToolbarEx tidak disarankan, karena tidak mendukung fitur toolbar baru, termasuk daftar gambar. Untuk informasi selengkapnya tentang membuat bilah alat, lihat Menggunakan Kontrol Bilah Alat.

 

FungsiCreateWindowEx tidak memiliki parameter untuk menentukan ukuran toolbar. Prosedur jendela toolbar secara otomatis mengatur ukuran dan posisi jendela toolbar. Tinggi didasarkan pada tinggi tombol di toolbar. Lebarnya sama dengan lebar area klien jendela induk. Untuk mengubah pengaturan ukuran otomatis, kirim pesan TB_SETBUTTONSIZE. Gaya kontrol umum CCS_TOP dan CCS_BOTTOM menentukan apakah toolbar diposisikan di sepanjang bagian atas atau bawah area klien. Secara default, toolbar memiliki gaya CCS_TOP.

Selain itu, prosedur jendela toolbar secara otomatis menyesuaikan ukuran toolbar setiap kali menerima pesan WM_SIZE atau TB_AUTOSIZE. Aplikasi harus mengirim salah satu pesan ini setiap kali ukuran jendela induk berubah atau setelah mengirim pesan yang memerlukan penyesuaian ukuran toolbar—misalnya, pesan TB_SETBUTTONSIZE.

Perilaku pengaturan ukuran dan posisi default toolbar dapat dinonaktifkan dengan mengatur gaya kontrol umum CCS_NORESIZE dan CCS_NOPARENTALIGN. Kontrol bilah alat yang dihosting oleh kontrol rebar harus mengatur gaya ini karena kontrol rebar mengatur ukuran dan posisi bilah alat.

Bilah Alat Transparan

Kontrol toolbar mendukung tampilan transparan yang memungkinkan area klien di bawah toolbar ditampilkan. Ada dua jenis toolbar transparan, satu dengan tombol datar dan satu dengan tombol tiga dimensi. Jika Anda ingin aplikasi Anda cocok dengan antarmuka Windows, gunakan toolbar gaya transparan datar.

Cuplikan layar berikut menunjukkan dua jenis toolbar transparan, tidak menggunakan gaya visual.

cuplikan layar dua jendela dengan gaya toolbar yang berbeda, tetapi kedua toolbar transparan

Cuplikan layar berikut menunjukkan toolbar transparan seperti yang mungkin muncul di Windows Vista, dengan gaya visual diaktifkan. Warna latar belakang kotak dialog telah diubah untuk membuat transparansi lebih jelas.

cuplikan layar jendela di windows vista dengan toolbar transparan

Untuk membuat toolbar transparan, yang perlu Anda lakukan adalah menambahkan TBSTYLE_FLAT atau TBSTYLE_TRANSPARENT ke parameter gaya jendela CreateWindowEx. Jika Anda tidak ingin garis muncul untuk menunjukkan bagian bawah toolbar, jangan gunakan gaya jendela WS_BORDER.

Nota

Saat menggunakan gaya visual, toolbar mungkin datar secara default.

 

Bilah Alat Gaya Daftar

Tombol bilah alat memungkinkan Anda menampilkan teks dan bitmap. Tombol pada toolbar yang dibuat dengan gaya TBSTYLE_LIST menempatkan teks di sebelah kanan bitmap, bukan di bawahnya.

Cuplikan layar berikut ini memperlihatkan toolbar dengan gaya daftar.

cuplikan layar toolbar dengan teks di sebelah kanan setiap ikon

Anda dapat menggunakan gaya toolbar TBSTYLE_LIST dalam kombinasi dengan gaya TBSTYLE_FLAT untuk membuat toolbar dengan tombol datar.

Menentukan Gambar Tombol

Ada dua cara untuk menentukan gambar untuk tombol—berdasarkan bitmap atau menurut daftar gambar. Aplikasi harus memilih metode mana yang akan digunakan. Ini tidak dapat menggunakan kedua metode dengan kontrol toolbar yang sama. Perhatikan bahwa fungsiCreateToolbarEx menggunakan metode bitmap. Aplikasi yang ingin menggunakan metode daftar gambar harus menggunakan fungsiCreateWindowEx untuk membuat kontrol toolbar.

Menentukan Gambar Tombol dengan Menggunakan Bitmap

Setiap tombol dalam toolbar dapat menyertakan gambar peta bit. Toolbar menggunakan daftar internal untuk menyimpan informasi yang diperlukan untuk menggambar gambar. Saat Anda memanggil fungsi CreateToolbarEx, Anda menentukan bitmap monokrom atau warna yang berisi gambar awal, dan toolbar menambahkan informasi ke daftar gambar internal. Anda dapat menambahkan gambar tambahan nanti dengan menggunakan pesan TB_ADDBITMAP.

Setiap gambar memiliki indeks berbasis nol. Gambar pertama yang ditambahkan ke daftar internal memiliki indeks 0, gambar kedua memiliki indeks 1, dan sebagainya. TB_ADDBITMAP menambahkan gambar ke akhir daftar dan mengembalikan indeks gambar baru pertama yang ditambahkannya. Untuk mengaitkan gambar dengan tombol, Anda harus mengirim pesan TB_ADDBUTTONS dan menentukan indeks gambar setelah Anda menambahkan bitmap ke daftar gambar internal.

Windows mengasumsikan bahwa semua gambar bitmap pada toolbar berukuran sama. Anda menentukan ukuran saat membuat toolbar dengan menggunakan CreateToolbarEx. Jika Anda menggunakan fungsi CreateWindowEx untuk membuat toolbar, ukuran gambar diatur ke dimensi default 16 kali 15 piksel. Anda dapat menggunakan pesan TB_SETBITMAPSIZE untuk mengubah dimensi gambar bitmapped, tetapi Anda harus melakukannya sebelum menambahkan gambar apa pun ke daftar internal.

Menentukan Gambar Tombol dengan Menggunakan Daftar Gambar

Anda juga dapat menyimpan gambar tombol dalam sekumpulan Daftar Gambar. Daftar gambar adalah kumpulan gambar dengan ukuran yang sama, yang masing-masing dapat dirujuk oleh indeksnya. Daftar gambar digunakan untuk mengelola sekumpulan besar ikon atau bitmap. Anda bisa menggunakan hingga tiga daftar gambar berbeda untuk menampilkan tombol di berbagai status, seperti yang diperlihatkan dalam tabel berikut.

Negara Deskripsi
Biasa Tombol dalam status defaultnya.
Panas Tombol yang berada di bawah kursor atau yang ditekan. Item panas hanya didukung di kontrol toolbar yang memiliki gaya TBSTYLE_FLAT.
Dinonaktifkan Tombol yang dinonaktifkan.

 

Setelah toolbar dihancurkan, aplikasi harus membebaskan daftar gambar apa pun yang telah mereka buat.

Menentukan Teks untuk Tombol

Setiap tombol dapat menampilkan string selain, atau sebagai gantinya, gambar. Toolbar menyimpan daftar internal yang berisi semua string yang tersedia untuk tombol toolbar. Anda menambahkan string ke daftar internal dengan menggunakan pesan TB_ADDSTRING, menentukan alamat buffer yang berisi string yang akan ditambahkan. Setiap string harus diakhiri dengan karakter null, dan string terakhir harus diakhiri dengan dua karakter null.

Setiap string memiliki indeks berbasis nol. String pertama yang ditambahkan ke daftar internal string memiliki indeks 0, string kedua memiliki indeks 1, dan sebagainya. TB_ADDSTRING menambahkan string ke akhir daftar dan mengembalikan indeks string baru pertama. Anda menggunakan indeks string untuk mengaitkan string dengan tombol .

Menggunakan TB_ADDSTRING bukan satu-satunya cara untuk menambahkan string ke toolbar. Anda dapat menampilkan string di dalam tombol dengan meneruskan pointer string di anggota struktur iStringTBBUTTON yang diteruskan ke TB_ADDBUTTONS. Selain itu, Anda dapat menggunakan TB_SETBUTTONINFO untuk menetapkan teks ke tombol toolbar.

Menambahkan Tombol Bilah Alat

Jika Anda menggunakan fungsiCreateToolbarEx untuk membuat toolbar, Anda dapat menambahkan tombol ke toolbar dengan mengisi array strukturTBBUTTON dan menentukan alamat array dalam panggilan fungsi. Namun, fungsi CreateWindowEx tidak memiliki parameter untuk meneruskan struktur TBBUTTON . CreateWindowEx membuat toolbar kosong yang Anda isi dengan mengirimkan pesan TB_ADDBUTTONS, lalu menentukan alamat dari struktur TBBUTTON.

Setelah toolbar dibuat, Anda dapat menambahkan tombol dengan mengirim pesan TB_INSERTBUTTON atau TB_ADDBUTTONS. Setiap tombol dijelaskan oleh struktur TBBUTTON , yang mendefinisikan atribut tombol, termasuk indeks string dan bitmap, serta gaya, status, pengidentifikasi perintah, dan nilai 32-bit yang ditentukan oleh aplikasi.

Nota

Jika Anda menggunakan fungsi CreateWindowEx untuk membuat toolbar, Anda harus mengirim pesan TB_BUTTONSTRUCTSIZE sebelum menambahkan tombol apa pun. Pesan meneruskan ukuran strukturTBBUTTON ke toolbar.

 

Gaya Tombol Bilah Alat

Gaya tombol menentukan bagaimana tombol muncul dan bagaimana tombol merespons input pengguna. Misalnya, gaya BTNS_BUTTON membuat tombol toolbar yang berulah seperti tombol tekan standar. Tombol yang memiliki gaya BTNS_CHECK mirip dengan tombol dorong standar, kecuali tombol tersebut beralih antara status yang ditekan dan tidak tertekan setiap kali pengguna mengkliknya.

Anda dapat membuat grup tombol toolbar yang bertindak seperti tombol radio dengan menggunakan gaya BTNS_GROUP atau BTNS_CHECKGROUP. Ini menyebabkan tombol tetap ditekan hingga pengguna memilih tombol lain dalam grup. Grup didefinisikan sebagai kumpulan tombol yang berdekatan, semuanya dengan gaya BTNS_GROUP atau BTNS_CHECKGROUP.

Gaya BTNS_SEP menciptakan celah kecil di antara tombol atau menggambar goresan di antara tombol pada bilah alat datar. Tombol dengan gaya BTNS_SEP tidak menerima input pengguna.

Versi 5.80 dari kontrol umum memperkenalkan beberapa gaya tombol toolbar baru dan mengganti nama beberapa gaya yang lebih lama. Semua bendera gaya tombol sekarang dimulai dengan BTNS_XXX alih-alih TBSTYLE_XXX. Untuk daftar serta pembahasan gaya tombol, lihat Toolbar Kontrol dan Gaya Tombol.

Status Tombol Bilah Alat

Setiap tombol dalam toolbar memiliki status. Toolbar memperbarui status tombol untuk mencerminkan tindakan pengguna, seperti mengklik tombol. Status menunjukkan apakah tombol saat ini ditekan atau tidak ditekan, diaktifkan atau dinonaktifkan, tersembunyi atau terlihat. Meskipun aplikasi mengatur status awal tombol saat menambahkan tombol ke toolbar, aplikasi dapat mengubah dan mengambil status dengan mengirim TB_GETSTATE dan TB_SETSTATE pesan ke toolbar. Untuk daftar status tombol toolbar, lihat Status Toolbar.

Pengidentifikasi Perintah

Setiap tombol memiliki pengidentifikasi perintah yang didefinisikan oleh aplikasi dan terkait dengannya. Pengidentifikasi tombol biasanya ditentukan dalam file header aplikasi. Misalnya, tombol Tempel dapat didefinisikan sebagai:

#define ID_PASTE 100

Saat pengguna memilih tombol, toolbar mengirimkan jendela induk pesan WM_COMMAND atau WM_NOTIFY yang menyertakan pengidentifikasi perintah tombol. Jendela induk memeriksa pengidentifikasi perintah dan menjalankan perintah yang terkait dengan tombol . Untuk informasi tentang kapan kontrol mengirim pesan WM_COMMAND dan kapan mereka mengirim WM_NOTIFY, lihat bagian Keterangan dari dokumentasi WM_NOTIFY.

Ukuran dan Posisi Tombol

Toolbar melacak tombolnya dengan menetapkan setiap tombol indeks posisi. Indeks berbasis nol; artinya, tombol paling kiri memiliki indeks 0, tombol berikutnya di sebelah kanan memiliki indeks 1, dan sebagainya. Aplikasi harus menentukan indeks tombol saat mengirim pesan untuk mengambil informasi tentang tombol atau untuk mengatur atribut tombol.

Toolbar memperbarui indeks posisi saat tombol disisipkan dan dihapus. Aplikasi dapat mengambil indeks posisi tombol saat ini dengan menggunakan pesan TB_COMMANDTOINDEX. Pesan menentukan pengidentifikasi perintah tombol, dan jendela toolbar menggunakan pengidentifikasi untuk menemukan tombol dan mengembalikan indeks posisinya.

Semua tombol dalam toolbar berukuran sama. Fungsi CreateToolbarEx mengharuskan Anda mengatur ukuran awal tombol saat Membuat toolbar. Saat Anda menggunakan fungsi CreateWindowEx, ukuran awal diatur ke dimensi default 24 kali 22 piksel. Anda dapat menggunakan pesan TB_SETBUTTONSIZE untuk mengubah ukuran tombol, tetapi Anda harus melakukannya sebelum menambahkan tombol apa pun ke toolbar. Pesan TB_GETITEMRECT digunakan untuk mendapatkan dimensi tombol saat ini.

Saat Anda menambahkan string yang lebih panjang dari string apa pun yang saat ini berada di toolbar, toolbar secara otomatis mengatur ulang lebar tombolnya. Lebar diatur untuk mengakomodasi string terpanjang di toolbar.

Mengaktifkan Kustomisasi

Toolbar memiliki fitur kustomisasi bawaan yang dapat Anda sediakan untuk pengguna dengan memberikan toolbar gaya kontrol umum CCS_ADJUSTABLE. Fitur kustomisasi memungkinkan pengguna untuk menyeret tombol ke posisi baru atau menghapus tombol dengan menyeretnya dari toolbar. Selain itu, pengguna dapat mengklik dua kali toolbar untuk menampilkan kotak dialog Kustomisasi Bilah Alat, yang memungkinkan pengguna untuk menambahkan, menghapus, dan menyusun ulang tombol toolbar. Untuk menampilkan kotak dialog, gunakan pesan TB_CUSTOMIZE. Aplikasi menentukan apakah fitur kustomisasi tersedia untuk pengguna dan mengontrol sejauh mana pengguna dapat menyesuaikan toolbar.

Sebagai bagian dari proses penyesuaian, aplikasi sering kali perlu menyimpan dan memulihkan status toolbar. Misalnya, banyak aplikasi menyimpan status toolbar sebelum pengguna mulai menyesuaikan toolbar jika pengguna nantinya ingin memulihkan toolbar ke status aslinya. Kontrol bilah alat tidak secara otomatis menyimpan catatan status sebelum kustomisasi. Aplikasi Anda harus menyimpan status bilah alat untuk memulihkannya. Untuk informasi selengkapnya, lihat Menggunakan Kontrol Toolbar.

Mengaktifkan Penjejakan Interaktif

Pelacakan panas berarti bahwa ketika penunjuk bergerak di atas item, tampilan tombol berubah. Saat gaya visual diaktifkan, toolbar mendukung pelacakan panas secara default. Jika tidak, hanya kontrol toolbar yang dibuat dengan gaya TBSTYLE_FLAT yang mendukung pelacakan aktif. Anda dapat menggunakan gaya jendela lain dalam kombinasi dengan TBSTYLE_FLAT untuk menghasilkan toolbar yang memungkinkan pelacakan interaktif namun berpenampilan berbeda dari toolbar datar. Untuk informasi selengkapnya, lihat Menggunakan Kontrol Toolbar.