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

Вниз

Как отключить TAction   Найти похожие ветки 

 
paxer   (2003-06-13 19:14) [0]

Проблема: сделал компонет, который выполняет поиск в Grid как в 1С. Т.е. при начале набора текста появляется Edit и редактируемый текст ищется в колонке. По нажатию Enter поле ввода исчезает и мы стоим на нужной строке (отработка в OnKeyDown Edit-а). Но проблема в следующем: использую компонент на форме, где есть Action с ShortCut=Enter который перехватывает событие нажатия Enter. Как мне выйти из этой ситуации? Ведь в дальнейшем, будет компонент использоваться в разных местах.


 
clickmaker ©   (2003-06-13 19:17) [1]

Action.Enabled := false; в Edit.OnEnter и := true в OnExit


 
paxer   (2003-06-13 19:27) [2]

Если бы все было так просто, я бы не писал.
Наверное я плохо описал ТЗ. Я сделал компонент, который никак не связан с тем, где он будет использоваться. И у меня нет в компоненте никакого Action - он появится на форме, куда этот компонент будет помещен. А мне надо, чтобы по Enter отработала процедура OnKeyDown в Edite, а не Action, который может быть, а может и не быть.


 
clickmaker ©   (2003-06-13 19:30) [3]

А кто тебе мешает компоненту дать события OnEnter/OnExit, которые будут Edit"ом дергаться? Есть Action - обрабатывай их, нет - ну и хрен с ними


 
paxer   (2003-06-13 19:39) [4]

Оно то так, но хочется как-то удобнее. Если в проекте 10 форм, где я использую этот компонет, то в каждую из них ткнуть по два лишник события - не нравится мне это.
Хочется как-то красившее, чтобы в дальнейшем использовать можно было легко. Может кто подскажет способ?


 
paxer   (2003-06-14 13:02) [5]

Подскажите, плиз! Ну не хватает мне знаний для идей.
Может перебрать все Экшины для данной формы, посмотреть, если в них ШотКей=Ентер и отключить? Будет ли это правильно с методологической точки зрения?
Или есть все-таки возможность как-то отработать нажатие клавиши Ентер и Ескейп сначала у себя в Edit?


 
clickmaker ©   (2003-06-16 10:55) [6]

Прикрути компоненту свойство DisableAction(s). При помещении на форму, если есть Action, который надо отключить, просто назначь это св-во, а компонент на получение и потерю фокуса будет сам его выключать/включать.
Твой аромат - твои правила ;)


 
Федя   (2003-06-16 22:58) [7]

Зря ты с TEdit делаеш, лучше зделай как в EhGrid


 
paxer   (2003-06-17 11:42) [8]

>clickmaker ©
Скорее всего так и буду делать. Только DisableActions - будет список.
>Федя
EhGrid я не видел. Но что-то из двух: либо там будет та же проблема, либо она как-то решена и никто не хочет сказать принцип, по которому она решена.


 
clickmaker ©   (2003-06-17 11:46) [9]

В EhGrid в режиме контекстного поиска при наборе первых символов они, если найдены, прямо в гриде подсвечиваются желтым и указатель встает на эту запись.


 
paxer   (2003-06-17 11:59) [10]

Красивое решение. Только боюсь, реализация его сложнее на порядок.



Страницы: 1 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.015 c
14-97784
Кен
2003-06-10 03:46
2003.06.30
Как переходить кнопкой Tab на TBitBtn ? TBitBtn - удобны тем,


14-97877
Fantasist.
2003-06-11 19:39
2003.06.30
Буддисты


7-97904
Serj
2003-04-17 22:18
2003.06.30
Слежение за портами


1-97613
NailMan
2003-06-19 13:45
2003.06.30
Что лучше и быстрее


1-97585
Kostja
2003-06-16 00:04
2003.06.30
Количество дней в месяце