Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 27 апр 2024, 22:58

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: хоткеи для NavigatorButtons
СообщениеДобавлено: 19 май 2023, 12:16 
Не в сети

Зарегистрирован: 25 авг 2014, 12:17
Сообщений: 69
Как узнать какие хоткеи используются по умолчанию для NavigatorButtons:
TNavigateBtnEh = (
nbFirstEh,
nbPriorEh,
nbNextEh,
nbLastEh,
nbInsertEh,
nbDeleteEh,
nbEditEh,
nbPostEh,
nbCancelEh,
nbRefreshEh
);
Для nbDeleteEh это CTRL-DEL, а для остальных? Если их нет, то как назначить?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: хоткеи для NavigatorButtons
СообщениеДобавлено: 21 май 2023, 01:55 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

В NavigatorButtons нет привязанных к каждой кнопке хоткеев.

Можно сопоставить некоторые кнопки из NavigatorButtons и клавиши редактоирования

nbFirstEh, к первой записи, Ctrl-Home
nbPriorEh, к предыдущей записи, Up
nbNextEh, к следующей записи, Down
nbLastEh, к последней записи, Ctrl-End
nbInsertEh, вставить запись в текущей позиции, Insert
nbDeleteEh, удалить запись в текущей позиции, Ctrl-Delete
nbEditEh, перейти в режим редактирования записи, -
nbPostEh, запостить изменения текущей записи, <Перейти на другую запись>
nbCancelEh, отменить все изменения выполненные в режиме редактирования записи, Esc
nbRefreshEh, обновить данные в DataSet, -

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: хоткеи для NavigatorButtons
СообщениеДобавлено: 21 май 2023, 15:23 
Не в сети

Зарегистрирован: 25 авг 2014, 12:17
Сообщений: 69
Спасибо, это понятно. Но как назначить на nbPostEh, скажем CTRL-ENTER? Пользователей утомляет каждый раз искать миниатюрную кнопочку-галку и попадать по ней мышкой :x


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: хоткеи для NavigatorButtons
СообщениеДобавлено: 22 май 2023, 02:04 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

1.
Для одного грида по “простым” комбинациям клавиш (Которые не перехватываются редакторам ячейки) можно использовать событие DBGridEh.OnKeyDown. В обработчике обрабатывать комбинацию клавиш и присваивать Key := 0, чтобы грид повторно ее не обрабатывал.
Конкретно по комбинации CTRL-ENTER, к сожалению, в режиме редактора ячейки эта комбинация обрабатывается внутри редактора и через событие DBGridEh.OnKeyDown ее нельзя подавить для редактора.

2.
Если нужен обработчик для всех гридов, то надо писать наследника TDBGridEh и переписывать события
function TCustomGridEh.WantInplaceEditorKey(Key: Word; Shift: TShiftState): Boolean;
(Вернуть True если комбинация клавиш нужна гриду)
и
procedure TCustomGridEh.KeyDown(var Key: Word; Shift: TShiftState);
обработать нужную комбинацию и устанавливать Key := 0
иначе вызвать метод наследника.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB