![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запретить удаление строк по Ctrl+Del [D6, IB6.x]
Vemer © (2003-10-08 01:05:00)
Доброго времени суток!
Как можно запретить удаление строк в DBGRID по нажатию СTRL+DEL?
Я уже с горя и в BEFORE_DELETE гадости всякие писал, и в \VCL\DBGrids.PAS залез и пробовал окружать VK_DELETE фигурными скобками, но ни фига. Может я не тот файл ковырял? В общем посоветуйте чего-нибудь пожалуйста.
Romkin (2003-10-08 16:05:00) [21]
Зачем флаги? Это уж путаться так путаться. Ctrl+Del, имхо, специфично для DBGrid, так что все нормально
Johnmen (2003-10-08 15:51:00) [22]
>MsGuns ©
>Anatoly Podgoretsky ©
Осталось только убрать "Delete record ?" :0)
Это во-первых. А во-вторых, автор четко сказал, что не удалять по Сtrl+Del. А в остальных случаях м.б. надо удалять. А вы его грубо обрубили :)))
Anatoly Podgoretsky (2003-10-08 15:12:00) [23]
MsGuns © (08.10.03 11:26) [9]
Правильно, я за OnBeforeDelete, а для тех кого пугает, что нельзя удалить в других случаях напоминаю про флаги.
Val (2003-10-08 14:41:00) [24]
>Жук © (08.10.03 14:25) [13]
появятся рядом с никами вторые синие кружочки с С в обратную сторону :)
Жук (2003-10-08 14:25:00) [25]
Прикольно будет посмотреть, как поссорились до глазобития MsGuns © и Johnmen © :-)))
Johnmen (2003-10-08 14:08:00) [26]
>MsGuns © (08.10.03 13:50)
Нэ надо 8^)))
MsGuns (2003-10-08 13:50:00) [27]
>Johnmen © (08.10.03 11:39) [10]
>В следовании некоей идеологии не надо доходить до полной упертости, надо быть гибче
А в глаз ? ;)))))))
Johnmen (2003-10-08 11:39:00) [28]
>MsGuns © (08.10.03 11:26)
"И незачем так орать" (c) не помню
Если ты не сделаешь обработку, то ее за тебя сделает контрол. Видимо, он тоже маразматик...
В следовании некоей идеологии не надо доходить до полной упертости, надо быть гибче.
И есть еще такое дело, как вкус.
MsGuns (2003-10-08 11:26:00) [29]
Вешать OnKeyXXX для контроля за праввкой датасета на грид - это, ИМХО, верх маразма ! Причем здесь грид, господа-товарищи ? Где ваша логика мастаки ? Удаление чего, строки грида ? БЕЗОБРРРАЗИЕ !!! ЧЕМУ УЧИТЕ МОЛОДУЮ ПОРОСЛЬ ? Я НА ВАС ПОЖАЛУЮСЬ АР и app одновременно !!!
Только через экшины и шорткаты.
ЗЫ Совсем распустились, сладу нет.
ЗЗЫ. Блин !
ЗЗЗЫ. БЛИНННН !!!
Deniz (2003-10-08 07:08:00) [30]
Лучше все таки у Grid"а onKeyDown
А еще можно ReadOnly выставить, и тогда у юзера воообще прав не будет
Zacho (2003-10-08 02:05:00) [31]
> kaif © (08.10.03 01:59) [6]
Правильно заметил :)
Именно лажу:)))
kaif (2003-10-08 01:59:00) [32]
2 Zacho © (08.10.03 01:41) [5]
А я обычно попап-меню лажус шорткутом Ctrl-Del :)
;)
Zacho (2003-10-08 01:41:00) [33]
А я обычно попап-меню лажу с шорткутом Ctrl-Del :)
kaif (2003-10-08 01:40:00) [34]
2 Johnmen © (08.10.03 01:34) [3]
А я вот подумал... Еще лучше у формы отработать OnKeyDown. И KeyPreview = True поставить! Тогда сколько бы гридов на форму не положили, у них нифига ctrl+del работать не будет!
:)
Johnmen (2003-10-08 01:34:00) [35]
Да не, мужики, самое простое - отработать OnKeyDown.
Если ctrl+del, то ничего и не делать, Key:=0
;)
kaif (2003-10-08 01:26:00) [36]
По-моему там в Options где-то было ConfirmDelete (или это в DBNavigator?) - вот память! склероз...
В общем. Ложишь TActionList. Суешь туда TAction с ShortCut = Ctrl+Del и в обработчик Execute записываешь точку с запятой. Я думаю шорткат убьет это дело. Может есть способ еще как shortCut создать пустой. А можно и обработчик оконных сообщений перехватить, конечно.
2 Zacho © (08.10.03 01:09) [1]
Не в BeforePost, а в BeforeDelete.
Это самое простое решение. Но тогда вообще нифига не удалить. А челу нужно, чтобы из dbgrid-а не удалялось по ctrl+Del.
Zacho (2003-10-08 01:09:00) [37]
Хоть по Ctrl-Del, хоть еще как-нибудь - в BeforePost напиши Abort :-))