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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2007, 12:26   #1
Prisian
Пользователь
 
Регистрация: 23.04.2007
Сообщений: 38
Радость динамическое содзание компонентов и процедур обработки

короче говоря, мне надо динамически создать компонент TEdit и процедуры обрабоки его событий.
как динамически создать этот элемент я знаю:
Edit1:=TEdit.Create(self);
Edit1:=parent;
Так я сздаю компоненты, они работают нормально, но поцедуры обработки типа OnKeyPress. немогу.

Код:
procedure Edit1.OnKeyPress(Sender:TObject var key:word);
const
vk_enter=#13;
begin
 if key = vk_enter then
begin
Edit2.SetFocus;
end;
end;
если кто может, поскажите как организовать даную проседуру динамически.

Последний раз редактировалось Alex21; 11.12.2007 в 12:31. Причина: теги [code] [/code]
Prisian вне форума Ответить с цитированием
Старый 11.12.2007, 12:48   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

пишешь эту процедуру заранее, а при создании пишешь Edit1.OnKeyPress := EditKeyPress, где EditKeyPress и есть заранее подготовленный обработчик
pu4koff вне форума Ответить с цитированием
Старый 11.12.2007, 13:08   #3
Prisian
Пользователь
 
Регистрация: 23.04.2007
Сообщений: 38
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
пишешь эту процедуру заранее, а при создании пишешь Edit1.OnKeyPress := EditKeyPress, где EditKeyPress и есть заранее подготовленный обработчик
пробывал, может чего-то неправильно написал, но компилятьр ругался, и не хотел компилить. А где именно заранее надо написать эту процедуру. После implementation или перед begin в Form.Activate где находится моя процедура динамического создания компонента?
Prisian вне форума Ответить с цитированием
Старый 11.12.2007, 15:35   #4
Domovoy
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 254
По умолчанию

После implementation>>> и не забудь описать её до implementation.
Domovoy вне форума Ответить с цитированием
Старый 11.12.2007, 16:10   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Prisian Посмотреть сообщение
пробывал, может чего-то неправильно написал, но компилятьр ругался, и не хотел компилить. А где именно заранее надо написать эту процедуру. После implementation или перед begin в Form.Activate где находится моя процедура динамического создания компонента?
я обычно в форме и описывал, рядом с другими обработчиками
pu4koff вне форума Ответить с цитированием
Старый 11.12.2007, 21:17   #6
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Код:
type
  TForm1 = class(TForm)
    Edit2: TEdit;
    procedure FormActivate(Sender: TObject);
  private
  public
    Edit1: TEdit;
    procedure Edit1OnKeyPress(Sender: TObject; var Key: Char);
  end;

procedure TForm1.Edit1OnKeyPress(Sender: TObject; var Key: Char);
begin
 if key = chr(vk_return) then Edit2.SetFocus;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  Edit1:=TEdit.Create(self);
  Edit1.OnKeyPress:=Edit1OnKeyPress;
  Edit1.Parent:=self;
end;
_Dmitry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
динамическое создание компонентов DOLBY Компоненты Delphi 10 17.10.2010 14:03
Компиляция SQl процедур nimf БД в Delphi 7 18.04.2008 23:27
Программирование процедур в задачах обработки текста Numi_Pumi Помощь студентам 5 20.12.2007 17:04
Как динамически добавить Мемо на форму? Динамическое создание компонентов! werser Помощь студентам 1 14.06.2007 00:39
Создание процедур Viteef Общие вопросы Delphi 3 11.05.2007 01:25