Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > ListBox Multi-colomn ToolTip


Автор: krya 11.7.2006, 14:44
Здравствуйте.

Как сделать ToolTip для ListBox 
который задан как Multi-colomn , Single, Fixed ?!

Мой  ListBox выглядит как набор разноцветных квадратиков в несколько рядов и столбцов. Нужно что-бы пользователь при наведении мышки на квадратик получал о нём текстовую информацию.

Как это сделать?


 

Автор: Dart 11.7.2006, 15:00
Принцип работы такой:
1. Перехватываешь WM_MOUSEMOVE
2. В OnMouseMove делаешь ItemFromPoint (для CListBox) или HitTest (для CListCtrl)
3. Если получаешь тот индекс, который тебе нужен, выводишь тултип.
А так, если самому писать не хочется, посмотри на http://www.codeproject.com - там такого
добра полно smile 

Автор: krya 11.7.2006, 15:29
"3. Если получаешь тот индекс, который тебе нужен, выводишь тултип."
---  А если я не знаю что соответствует этому индексу? 
У меня данные для каждого цвета не по индексу который создаётся в ListBox  . 
И кроме того я делаю сортировку в ListBox  .
Получается что я получаю из ListBox  индекс(новый индекс при каждом  обновлении ListBox  ) и  GetItemData(индекс ) -- это цвет.


Всё. Больше ничего недьзя получить?
А в тултип как правильные данные записать непонятно?!

Путаница получается. smile  

Автор: GioTraliVali 16.7.2006, 21:19
tak blin sozdai strukturu s cvetom-COLLOREF i tooltipom-stringom.
dobav v dialog masiv etix struktur
dalee vozmi pri dobavlenii itema zadavai cvet tebe nujnii i tooltip tebe nujnii
a v SetItem Data zadavai index massiva!!! vot i vse!!!
Vzav dalee getitem data poluchish index massiva i dostaneh ottuda i cvet i tooltip!!!
 

Автор: krya 19.7.2006, 17:43
Спасибо за помощь.

Ещё 3 вопроса:
1) Как сделать чтобы Tooltip был "прозрачен" для наведения на другие обьекты?

2)Как сделать чтобы Tooltip исчезал при выходе из Диалога?
Т.е. если прохожу через белую часть Лист Бокса  --Tooltip исчезает,
а если влево иду прямо через  Диалог -- остаётся .

3)Как правильно сделать время которое показывается Tooltip ? 

Автор: Dart 20.7.2006, 12:07
Цитата(krya @  11.7.2006,  15:29 Найти цитируемый пост)
---  А если я не знаю что соответствует этому индексу? 

Можно хранить пользовательские данные вместе с итемом - GetItemData - при сортировке проблем не возникнет.
Цитата(krya @  19.7.2006,  17:43 Найти цитируемый пост)
1) Как сделать чтобы Tooltip был "прозрачен" для наведения на другие обьекты?

То есть? Не совсем понял, что ты хочешь, но WS_EX_TRANSPARENT наверное поможет

Цитата(krya @  19.7.2006,  17:43 Найти цитируемый пост)
2)Как сделать чтобы Tooltip исчезал при выходе из Диалога?

Ловить WM_MOUSEMOVE в диалоге
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)