иконки в меню (c++builder 1)
В Borland C++ Builder`е под номером один у компонента TMenu пока ещё нету свойств, позволяющих присваивать пунктам иконки.
Но ведь нет ничего невозможного...
Отсюда два вопроса:
1. как программно добавить иконки к пунктам меню для BCB1 ?
2. есть ли freeware компонент для BCB1 у который содержит меню с иконками?
Значит так.
В Borland C++ Builder`е под номером один у компонента TMenu пока ещё нету свойств, позволяющих присваивать пунктам иконки.
Но ведь нет ничего невозможного...
Отсюда два вопроса:
1. как программно добавить иконки к пунктам меню для BCB1 ?
2. есть ли freeware компонент для BCB1 у который содержит меню с иконками?
Может OnDrawMenuItem обрабатывать? Есть там такой? Можно будет самому рисовать иконки или сделать производный компонент.
Я уж и не справшиваю почему нельзя новый билдер поставить :)
Может OnDrawMenuItem обрабатывать? Есть там такой? Можно будет самому рисовать иконки или сделать производный компонент.
Я уж и не справшиваю почему нельзя новый билдер поставить :)
OnDrawMenuItem нету :(
Новый билдер не ставлю по нескольким причинам:
1. компонент TListView при использовании xp ресурса (т.н. манифеста) в режиме vsReport выдаёт Access Violation (то жде самое и в свежих версиях Delphi)
2. размер exe файла килобайт на 200 - 300 меньше, чем у 5-го билдера
3. некоторые компоненты (которые мне нужны для конкретных проектов) не ставятся на новые билдеры, а аналоги либо платные либо не то, что нужно.
OnDrawMenuItem нету :(
Плохо...
1. Такого не встречал в D7, в BCB6 вроде тоже, но слышал об этом - читал какую-то статью, где написано как это исправляется, посмотрел исходники TListView в D7 и обнаружил, что поправленный код, приведенный в этой статье, там уже имеется.
2. неизбежное зло новых версий, но если уже начал программировать на BCB/Delphi приходится не считать еже лишние килобайты. Файл от D2005 еще на столько же больше чем от D7 :)
3. Если компоненты с исходниками и не очень большие, то думается это не большая проблема - обычно в новых версиях ничего не удаляется, только добавляется
А про рисование меню: можно еще отлавливать прямо системное (не VCL'ское) сообщение пририсовки меню и там что-то делать, но тут справку смотреть надо, с налету не скажешь.
Что касается иконок и меню. Я нашёл недостающую часть компонентов RX (у меня из 3 составляющих раньше была только одна) и там был объект TRxPopupMenu у которого есть возможность подключить иконки... так что пока проблема решена :)