![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Решение проблемы отображения отключенных иконок в TVirtualStringTreeDelphi , Синтаксис , ДеревьяTVirtualStringTree в Delphi не имеет встроенного свойства DisabledIcon или чего-то подобного, которое могло бы отображать иконки в отключенном состоянии. Тем не менее, вы можете достичь желаемого результата, используя соответствующий обработчик для события GetImageIndex. В обработчике этого события определите, отключено ли узел или нет, и используйте этот тест в качестве дискриминатора для вычисления индекса изображения. В своем списке изображений вам понадобятся нормальные версии глифов и отключенные версии. VirtualTree не создаст отключенные версии для вас, но это тривиальная задача скопировать глиф и оттенять его серым цветом. Если вам нужен демонстрационный код, либо для обработчика события GetImageIndex, либо для оттенения серым цветом, сообщите мне. Для отключенных икон Windows имеет API: https://stackoverflow.com/questions/6003018/make-disabled-menu-and-toolbar-images-look-better#answer-6003256 Если вы используете SHGetFileInfo для получения иконок, вы можете использовать следующий код для получения отключенной версии:
Этот код копирует битмап иконки, затем итерирует по каждому пикселю и оттеняет его серым цветом, умножая каждый канал RGB на 0,7. В результате получается отключенная версия иконки. Вы можете использовать этот код в своем обработчике GetImageIndex, чтобы получить отключенную версию иконки, если узел отключен. В Delphi, TVirtualStringTree не имеет встроенного свойства DisabledIcon, но можно использовать обработчик события GetImageIndex для отображения иконок в отключенном состоянии, создавая отключенные версии глифов. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |