Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Про аккселераторы в 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 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
2-1138354766
Змей
2006-01-27 12:39
2006.02.12
открыть папку с помощью opendialog в окне


9-1120038326
OSokin
2005-06-29 13:45
2006.02.12
Megamaze


2-1138210666
Proxytel
2006-01-25 20:37
2006.02.12
Обработка события клавиатуры при неактивном окне программы


4-1133473668
sergey1
2005-12-02 00:47
2006.02.12
как в ListBox e можно сделать переход в директорию


9-1125143823
DR0N
2005-08-27 15:57
2006.02.12
Лампочки...