Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2015, 18:32   #1
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
Вопрос Вызвать обработчика события

Помогите! Есть edit, в событии KeyPress переменной s:=Text. Дальше нужно вызвать родительский обработчик KeyPress что бы обработать готовую строку. Подскажите как вызвать родительский обработчик.
Почему не подходит простое добавление символа, потому что текст может быть выделен как полностью так и частично. Я думаю такой подход более оптимален нежели проверка на выделение
Andre44 вне форума Ответить с цитированием
Старый 17.12.2015, 18:34   #2
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Что про что?
и про какой родительский обработчик речь?
come-on вне форума Ответить с цитированием
Старый 17.12.2015, 18:40   #3
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Надо вызвать стандартный обработчик TEdit.KeyPress в своем обработчике
Andre44 вне форума Ответить с цитированием
Старый 17.12.2015, 18:48   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Ничего не понятно, показывайте код.
Arigato вне форума Ответить с цитированием
Старый 17.12.2015, 18:49   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нет ни какого стандартного.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.12.2015, 18:56   #6
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
  Max:integer;
  i,c:integer;
  s:string;
begin
  if Sender=Edit1 then Max:=100
    else
      if Sender=Edit2 then Max:=200;
  with (Sender as TEdit) do
    begin
      TEdit.KeyPress(Key);
      s:=Text;
      Val(Text,i,c);
      if i>Max then Text:=s
    end
end;

Последний раз редактировалось Вадим Мошев; 17.12.2015 в 19:07.
Andre44 вне форума Ответить с цитированием
Старый 17.12.2015, 19:07   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И чего? Это метод родителя TWinControl из protected. Он просто вызывает OnKeyPress, если есть такой. Стек хочешь переполнить?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 17.12.2015 в 19:20.
Аватар вне форума Ответить с цитированием
Старый 17.12.2015, 19:18   #8
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Уберите это и считайте что оно уже вызвалось.
come-on вне форума Ответить с цитированием
Старый 17.12.2015, 19:24   #9
Andre44
Пользователь
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
Уберите это и считайте что оно уже вызвалось.
он вызывается если мне не изменяет память в конце кода, а надо именно в середине.

Цитата:
Сообщение от Аватар Посмотреть сообщение
И чего? Это метод родителя TWinControl из protected. Он просто вызывает OnKeyPress, если есть такой. Стек хочешь переполнить?
а что можешь тогда посоветовать?

Последний раз редактировалось Stilet; 17.12.2015 в 23:02.
Andre44 вне форума Ответить с цитированием
Старый 17.12.2015, 19:27   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

После завершения твоего обработчика вызовется стандартный. Ты еще в своем можешь кнопку подменить, изменив значение переменной Key
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов обработчика события Homa_1983 C++ Builder 8 20.05.2013 17:20
Как из обработчика прерываний от таймера вызвать int 21h ? ccccfr Операционные системы общие вопросы 1 21.03.2011 01:13
Выход из обработчика события tools Visual C++ 1 20.12.2010 10:24
Назначение обработчика события Gypsy Общие вопросы Delphi 2 22.12.2009 09:50
динамическое создание обработчика события Мэс Общие вопросы Delphi 4 07.09.2009 01:04