Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TListView и экшены


Eraser ©   (2009-03-25 15:05:00) 

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

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

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


Eraser   (2009-03-25 16:13:00) [1]

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

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


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

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


Eraser   (2009-03-25 15:42:00) [3]

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

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

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


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


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


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо