Последняя версия DataExpress 3 beta от 1 сентября 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Модули выражения. Проблемы при написании.

neitri
Мастер скриптов
Сообщения: 539
Зарегистрирован: Пн фев 13, 2017 5:42 pm

Re: Модули выражения. Проблемы при написании.

Сообщение neitri » Пт май 05, 2017 3:40 pm

Что это делает

Код: Выделить всё

Self.Grid.OnKeyDown := nil;
Self.EditWindow.ShowModal;
Self.Grid.OnKeyDown:=K;

При открытии модальной формы грид как минимум потеряет фокус. И обработка нажатий клавиш не будет.
Помогли Тебе. Помоги проекту.
Реквизиты помощи Вы можете найти в окне "О программе"

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Модули выражения. Проблемы при написании.

Сообщение YurAnt » Пт май 05, 2017 3:43 pm

Оба-на... А обработчик стандартный разве не нужно подменять? (Обнилить, запхнуть обратно)
Изображение

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Модули выражения. Проблемы при написании.

Сообщение YurAnt » Пт май 05, 2017 3:45 pm

Понятно. Код можно выучить быстро, а пользоваться им можно учиться годами...:
neitri писал(а):При открытии модальной формы грид как минимум потеряет фокус. И обработка нажатий клавиш не будет.

Хто ж знал... :) Ура! Все работает!
Изображение

neitri
Мастер скриптов
Сообщения: 539
Зарегистрирован: Пн фев 13, 2017 5:42 pm

Re: Модули выражения. Проблемы при написании.

Сообщение neitri » Пт май 05, 2017 3:46 pm

А зачем? Если фокус ввода у модального окна.
Помогли Тебе. Помоги проекту.
Реквизиты помощи Вы можете найти в окне "О программе"

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Модули выражения. Проблемы при написании.

Сообщение YurAnt » Пт май 05, 2017 3:48 pm

Я вчера дрова колол, сегодня пытаюсь кодить... :lol: (говорил же)... Буду знать (главное не забыть).
Изображение

neitri
Мастер скриптов
Сообщения: 539
Зарегистрирован: Пн фев 13, 2017 5:42 pm

Re: Модули выражения. Проблемы при написании.

Сообщение neitri » Пт май 05, 2017 4:21 pm

С параметром код кнопки

Код: Выделить всё

{@function
OrigName=test
Name=test
Args=n
Result=
Group=Параметры приложения
Description=<br>
<b></b>
Пример:<br><br>
<code></code> <br><br>
@}

procedure GridKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
fm: TdxForm;
begin
Fm := TdxGrid(Sender).Form;
if Fm.Params.ParamExists('DwKey') then
  begin
    If Fm.Params.Values['DwKey'] = key then
    begin
      fm.EditWindow.ShowModal;
      if fm.Grid.CanFocus then
        fm.Grid.SetFocus;
    end;
  end;
end;

procedure test(k:integer);
var
 p:TKeyEvent;
begin
  p:=@GridKeyDown;
  if Self.EditWindow <> nil then
    if not Self.Params.ParamExists('DwKey') then
      begin
        Self.Params.Values['DwKey'] := k;
        Self.Grid.OnKeyDown := p;
        if Self.Grid.CanFocus then
          Self.Grid.SetFocus;
      end;
end;
Помогли Тебе. Помоги проекту.
Реквизиты помощи Вы можете найти в окне "О программе"

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Модули выражения. Проблемы при написании.

Сообщение YurAnt » Пт май 05, 2017 4:32 pm

Ну вообще у этой функции ни конца ни края... :lol: . коды кнопок осталось в константах объявить...
Изображение


Вернуться в «Разработка расширений»