Как определить метрики тулбара? И про хот-трек вопросики
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 15.08.05 00:16
Оценка:
Я пытаюсь самостоятельно отрисовывать тулбар, и возникли следующие вопросы
1) Как определить размеры кнопки со стрелкой, которая отображается при задании кнопке стиля BTNS_DROPDOWN?
Теоретически можно определить размеры кнопки туулбара и высчитать при помощи lpNMCustomDraw->rc, но — см 2
2) Если кнопки имеет стиль BTNS_SHOWTEXT, то ее размеры высчитываются на основании длтнны текста и она имеет переменную длинну.
При отрисовке я имею размеры rect'а для текста, и в принципе, получив разверы кнопки, можно высчитать и это. Но по-моему, это как-то криво. Есть ли варианты попрямее?
3) Как отрисовать (и/или получить битмапку со стрелочкой для стиля кнопки BTNS_DROPDOWN и BTNS_WHOLEDROPDOWN)? Для этого есть какие-нибудь стандартные методы?
4) Как сделать так, чтоб стрелка у битмапки была поуже? А то стандартная слишком широка, и смотриться почти как отдельная кнопка, не связанная ни с чем.
5) На BTNS_DROPDOWN я отображаю Popup меню. Как сделать так, чтобы при выведенном меню остальные кнопки хот трекились? Пробовал ловить TBN_HOTITEMCHANGE, но оно просто не приходит, когда меню отображается. Например, в студии 2003 работает так, и меню исчезает при наведении мыши на другуую кнопку. А в эксплорере нет. Значит ли это, что эксплорер использует стд возможности апи и такое не реализуемо достаточно просто, а в студии используется какой-то изврат?

CC to: ATL/WTL
CC to: WIN API
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.