Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];

Вниз

Как отключить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
4-97928
default
2003-04-27 16:32
2003.06.30
Об окнах


14-97846
Nik8.
2003-06-12 22:57
2003.06.30
кто знает где здесь ошибка


14-97787
Silentium!
2003-06-13 11:49
2003.06.30
ШАГ в for


14-97868
Ozrik
2003-06-13 12:59
2003.06.30
Подскажите хороший учебник по Делфи


1-97629
_Alex_
2003-06-18 17:02
2003.06.30
Вызов формы из dll





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский