Cara Menggunakan Pelacakan Panas dengan Toolbar
Saat penunjuk mouse mengarah ke item, item menjadi panas. Jika pelacakan panas diaktifkan, item panas akan disorot. Toolbar yang dibuat dengan gaya TBSTYLE_FLAT, atau yang menggunakan Gaya Visual, mendukung pelacakan panas secara default.
Pelacakan panas mengharuskan Anda membuat daftar gambar; oleh karena itu, Anda tidak dapat menggunakan pesan TB_ADDBITMAP atau fungsi CreateToolbarEx untuk membuat toolbar Anda.
Saat mouse mengarahkan kursor ke tombol toolbar, tombol diuraikan untuk menyorotinya. Ilustrasi berikut menunjukkan toolbar dengan pelacakan panas diaktifkan; penunjuk mouse mengarah ke tombol Simpan saat cuplikan layar diambil.
Jika Anda ingin bitmap tombol toolbar berubah saat status kontrol berubah, simpan gambar yang berbeda dalam daftar gambar. Misalnya, beberapa aplikasi memiliki tombol toolbar hitam dan putih yang menjadi berwarna saat dipilih. Dua gambar yang berbeda disimpan dalam daftar gambar. Bilah alat mendukung penggunaan hingga tiga daftar gambar. Biasanya aplikasi memiliki daftar gambar default, dinonaktifkan, dan pelacakan panas. Untuk mengatur dan mengambil daftar gambar untuk tombol toolbar panas, gunakan pesan TB_SETHOTIMAGELIST dan TB_GETHOTIMAGELIST.
Apa yang perlu Anda ketahui
Teknologi
Prasyarat
- C/C++
- Pemrograman Antarmuka Pengguna Windows
Petunjuk
Menggunakan Pelacakan Panas dengan Toolbar
Contoh kode berikut membuat, mengisi, dan menetapkan daftar gambar untuk tombol panas.
// Create the image list, himlHot.
g_himlHot = ImageList_Create(MYICON_CX,MYICON_CY,ILC_COLOR8,0,4);
// Load a bitmap from a resource file, and add the images to the image list.
// Note that the bitmap contains four images.
hBitmapHot = LoadBitmap(g_hinst, MAKEINTRESOURCE(IDB_HOT));
ImageList_Add(g_himlHot, hBitmapHot, NULL);
// Set the image list.
SendMessage(hwndTB, TB_SETHOTIMAGELIST, 0, (LPARAM)g_himlHot);
// Loop to fill the array of TBBUTTON structures.
for(i=0;i<MAX_BUTTONS;i++)
{
tbArray[i].iBitmap = i; // Bitmap from image list.
tbArray[i].idCommand = IDM_BUTTONSTART + i;
tbArray[i].fsState = TBSTATE_ENABLED;
tbArray[i].fsStyle = BTNS_DROPDOWN;
tbArray[i].dwData = 0;
tbArray[i].iString = i;
}
DeleteObject(hBitmapHot); // Delete the loaded bitmap.
Topik terkait