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

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

Как запретить удаление строк по Ctrl+Del [D6, IB6.x]


Страницы:   1 2

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 :-))


Страницы:   1 2

Наверх

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