Форум: "KOL";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
ВнизПро аккселераторы в PopupMenu Найти похожие ветки
← →
dvk (2005-06-10 13:49) [0]Предлагаю сделать пубичным свойство fAccelTable объекта TControl. Иначе акселераторы PopupMenu, назначенного одному из компонентов формы действуют по всей форме. А так хоть можно по Leave на нужном компоненте делать fAccelTable=0, а по Enter - fAccelTable=OldAccelTable. Заодно предлагаю зранить таблицу акселераторов в ресурсах приложения - тогда их и менять удобнее.
← →
ECM © (2005-06-10 14:55) [1]Если ОЧЕНЬ нужно изменить ЛЮБОЕ protected-поле (например fAccelTable) можно воспользоваться следующим приемом:
type
PControlAccess = ^TControlAccess;
TControlAccess = object(TControl)
end;
...
SomeObject: PControl;
...
PControlAccess(SomeObject).fAccelTable := ...
← →
SPeller © (2005-06-10 19:40) [2]
{$define NEW_MENU_ACCELL}
в kol.pas
или добавить NEW_MENU_ACCELL в свойствах проекта. И будет тебе счастье :)
← →
SPeller © (2005-06-10 19:42) [3]Да, это включает реализацию обработки хоткеев идентичной VCL. Т.е. Срабатывать будет в объекте и его детях, выше по иерархии - нет.
← →
dvk (2005-06-14 07:21) [4]Насколько я понял, NEW_MENU_ACCELL работает только в PAS_VERSION, а я хочу использовать ASM_VERSION (размер кода тогла меньше). К тому же я попробовал скомпилировать нормально работающий проект в PAS_VERSION и получил стабильный Exception при закрытии формы.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c