Cara Menampilkan TipsAlat untuk Tombol
Saat Anda menentukan gaya TBSTYLE_TOOLTIPS , toolbar membuat dan mengelola kontrol tipsalat. Kontrol tipsalat disembunyikan dan muncul hanya ketika pengguna memindahkan penunjuk di atas tombol toolbar dan membiarkannya di sana selama sekitar satu detik.
Aplikasi Anda dapat menyediakan teks ke kontrol tipsalat dengan salah satu cara berikut:
- Atur teks tipsalat sebagai anggota iString dari struktur TBBUTTON untuk setiap tombol. Anda juga harus mengirim pesan TB_SETMAXTEXTROWS dan mengatur baris teks maksimum ke 0, sehingga teks tidak muncul sebagai label tombol daripada sebagai tipsalat.
- Buat toolbar dengan gaya TBSTYLE_LIST lalu atur gaya TBSTYLE_EX_MIXEDBUTTONS diperluas. Label hanya ditampilkan untuk tombol yang memiliki gaya BTNS_SHOWTEXT. Untuk tombol yang tidak memiliki gaya ini, tipsalat ditampilkan yang berisi teks tombol.
- Tanggapi kode pemberitahuan TTN_GETDISPINFO.
- Tanggapi kode pemberitahuan TBN_GETINFOTIP.
Aplikasi yang perlu mengirim pesan langsung ke kontrol tipsalat dapat mengambil handel ke kontrol dengan menggunakan pesan TB_GETTOOLTIPS. Aplikasi dapat mengganti kontrol tipsalat toolbar dengan kontrol tipsalat lain dengan menggunakan pesan TB_SETTOOLTIPS.
Cara paling fleksibel untuk menyediakan teks tipsalat adalah merespons kode pemberitahuan TTN_GETDISPINFO atau TBN_GETINFOTIP yang dikirim oleh kontrol toolbar ke induknya dalam bentuk pesan WM_NOTIFY . Untuk TTN_GETDISPINFO, parameter lParam menyertakan penunjuk ke struktur NMTTDISPINFO (juga didefinisikan sebagai LPTOOLTIPTEXT) yang menentukan pengidentifikasi perintah tombol tempat teks Bantuan diperlukan. Pengidentifikasi ini berada di anggota NMTTDISPINFO.hdr.idFrom . Aplikasi dapat menyalin teks Bantuan ke struktur, menentukan alamat string yang berisi teks Bantuan, atau menentukan handel instans dan pengidentifikasi sumber daya sumber daya string.
Apa yang perlu Anda ketahui
Teknologi
Prasyarat
- C/C++
- Pemrograman Antarmuka Pengguna Windows
Petunjuk
Menampilkan TipsAlat untuk Tombol
Contoh kode berikut menangani kode pemberitahuan tipsalat TTN_GETDISPINFO dengan menyediakan teks dari pengidentifikasi sumber daya.
case WM_NOTIFY:
switch (((LPNMHDR) lParam)->code)
{
case TTN_GETDISPINFO:
{
LPTOOLTIPTEXT lpttt = (LPTOOLTIPTEXT)lParam;
// Set the instance of the module that contains the resource.
lpttt->hinst = g_hInst;
UINT_PTR idButton = lpttt->hdr.idFrom;
switch (idButton)
{
case IDM_NEW:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_NEW);
break;
case IDM_OPEN:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_OPEN);
break;
case IDM_SAVE:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_SAVE);
break;
}
break;
}
}
return TRUE;
Topik terkait