![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Предложения по TMenu
blackalex © (2002-10-14 10:51:00)1) Сделать процедуру TMenu.Items[Idx].Clear для удобства при работе с динамическими меню
2) Ввести глобальную константу для начального индекса MenuID типа BEGIN_MENU_ID = 4096 или подобную.
Vladimir Kladov (2002-10-25 11:20:00) [1]
> Alexander © (24.10.02 12:44)
> Надо всё-таки что-то делать для поддержки рисунков 16х16
> enabled, disabled, checked
В OnDrawItem разве не передается состояние (disabled, checked)?
SPeller (2002-10-24 13:02:00) [2]2 Alexander © (24.10.02 12:44)
Если виндами не поддерживается, то только вручную. Надо только выяснить как перевести битмап в серый цвет, как это обычно делается в меню. По умолчанию винды сами переводят его, но прозрачный цвет - всегда только белый, однако это делается только для невыбранных пунктов. При выборе рисуется обычный битмап.
Alexander (2002-10-24 12:44:00) [3]Надо всё-таки что-то делать для поддержки рисунков 16х16 enabled, disabled, checked
SPeller (2002-10-16 17:44:00) [4]
> Alexander © (15.10.02 11:37)
> Ещё как можно задать для меню рисунок 16х16 - у меня он
> обрезается.
У меня получалось только при ручной отрисовке, однако с отрисовкой grayed итемов я так до конца и не разобрался.
Alexander (2002-10-16 13:34:00) [5]Глюк в Design time - если item checked и disabled, то он отображается как просто disabled.
blackalex (2002-10-15 12:38:00) [6]Несложно было бы сделать и вам через процедуру. Что за повальное
желание на все иметь методы?
Да разве это желание повальное? Это просто стереотип. Во всex delphi компонентах, где есть Items имеется также Clear, во бы и здесь не помешало. Нет , так нет.
А это как? Вы ее собираетесь менять один раз перед созданием всех форм?
Или хотите менять в любой момент? Второе нежелательно и неправильно. А для первого - обоснуйте, зачем в программу встраивать еще одну глобальную переменную, когда хватает константы всегда равной 4096.
Бывает часто, когда значение константы меняеться. Тогда поменял только её значение и не надо весь код перековыривать. Сегодня может она быть 4096, завтра уже 8192. Кто знает.
Alexander (2002-10-15 11:37:00) [7]Ещё как можно задать для меню рисунок 16х16 - у меня он обрезается.
Vladimir Kladov (2002-10-15 10:39:00) [8]
> 1) Сделать процедуру TMenu.Items[Idx].Clear для удобства
> при работе с динамическими меню
Несложно было бы сделать и вам через процедуру. Что за повальное
желание на все иметь методы?
> 2) Ввести глобальную константу для начального индекса MenuID
> типа BEGIN_MENU_ID = 4096 или подобную.
А это как? Вы ее собираетесь менять один раз перед созданием всех форм?
Или хотите менять в любой момент? Второе нежелательно и неправильно. А для первого - обоснуйте, зачем в программу встраивать еще одну глобальную переменную, когда хватает константы всегда равной 4096.
Alexander (2002-10-15 09:32:00) [9]Нужно в Design time добавить возможность изменения свойства IsCheckItem, иначе как-то не очень удобно получается: если item checked, то IsCheckItem включается автоматом, а если я хочу по умолчанию отключеный item, то для IsCheckItem приходится добавлять лишнюю строку кода.