Components for Delphi and C++ Builder.

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

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 03 мар 2018, 20:16 
Не в сети

Зарегистрирован: 14 июн 2016, 16:11
Сообщений: 14
В гриде активировал HorzScrollBar и сделал там видимой кнопку Delete.
На событие нажатия на эту кнопку (на удаление записи из грида) хочу прописать свой обработчик:
Код:
procedure TfForm.dbg2NavigatorPanelButtonClick(Sender: TCustomDBGridEh; AButton: TNavigateBtnEh; var Processed: Boolean);
begin
    Processed := False;   // пытаюсь отменить выполнение, но удаление записи все равно происходит и выскакивает диалог подтверждения ;
    if  AButton = nbDeleteEh
     then
      begin
       with fdcDelete do
          begin
             CommandText.Text :='Delete from MyTable where Id=' + IntToStr(myId);
             Prepared := True;
             Execute;
        end;
     end;
end;


Подскажите, пожалуйста, как правильно отменить встроенное диалоговое окно?

Вообще говоря, вопрос общий - как перехватить выполнение акций кнопки панели, но вместо них использовать свой код.
То есть я хочу оставить видимыми кнопки Insert, Edit, Cancel,Delete, но их выполнение перенаправлять на свои действия.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 мар 2018, 12:05 
Не в сети

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

Если вы обработали событие, то необхдимо ставить Processed := True; чтобы не вызывался стандартный обработчик.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 04 мар 2018, 18:34 
Не в сети

Зарегистрирован: 14 июн 2016, 16:11
Сообщений: 14
Спасибо за оперативность! Все заработало. Был близок к ответу, только делал с точностью наоборот.
Код:
    if  AButton = nbDeleteEh
     then
         Processed := True;   // сделал так внутри if


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

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


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

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


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

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