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

Вниз

TListView и экшены   Найти похожие ветки 

 
Eraser ©   (2009-03-25 15:05) [0]

Имеется форма. На форме TListVeiw и TActionList, в котором есть экшен, допустим actDelete (реализующий, к примеру, удаление элемента из ListVeiw). Если добавить к этому экшену shortcut (hotkey), допустим Del, то всплывает одна проблемка.

Нужно, чтобы если TListVeiw находится в режиме редктирования элемента (rename), при нажатии на Del - не вызывался экшен, а удалялся символ в названии элемента. Решение, казалось бы, простое - добавить обработчик OnShortcut к форме или Application и там гасить shortcut. Только беда в том, что обработчик не срабатывает, при нажатии горячей клавишы, если в ListVeiw выбран хотя бы один элемент.

Может кто подробно разбирался в том, как функционирует механизм перехвата/генерации shortcut"ов для экшенов в делфи, а точнее, какое сообщение нужно перехватывать?


 
Сергей М. ©   (2009-03-25 15:20) [1]


> если TListVeiw находится в режиме редктирования элемента
> (rename), при нажатии на Del - не вызывался экшен


Не проще ли дизейблить экшн в обработчике OnEditing и , соотв-но, энейблить его взад при OnEdited ?


 
Eraser ©   (2009-03-25 15:42) [2]

> [1] Сергей М. ©   (25.03.09 15:20)

попробовал так делать - экшен срабатывать перестал, но и Del съедается. Т.е. ничего не происходит.

PS
вместо del может быть любой шорткат - проверял.


 
Сергей М. ©   (2009-03-25 16:09) [3]

Ну так можно плюс к этому перед редактированием шоткат-свойство экшна запоминать+очищать, а после редактирования восстанавливать ..


 
Eraser ©   (2009-03-25 16:13) [4]

> [3] Сергей М. ©   (25.03.09 16:09)

ну это крайний вариант, так конечно все работает. видимо более красивых решений просто нет, так и сделаю.



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1237879677
alolya
2009-03-24 10:27
2010.02.14
Проблема к компонентами на базе Rich


2-1260851372
Делфиец
2009-12-15 07:29
2010.02.14
КАК в SQL создать пустое поле логического типа?


1-1237493413
Fresh
2009-03-19 23:10
2010.02.14
Невыводимые символы в Memo, RichEdit


2-1260637936
recop
2009-12-12 20:12
2010.02.14
После выполнения файла cmd получить содержание переменных среды


2-1260867479
noob_one
2009-12-15 11:57
2010.02.14
Как программно скопировать все данные из DBGridEh в буфер обмена?