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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2013, 20:58   #1
Артём_2
Пользователь
 
Регистрация: 17.09.2013
Сообщений: 39
По умолчанию Как создать событие у формы?

Доброго вечера всем.
Помогите мне с программой.

Создаю форму, добавляю на неё TWebBrowser, и хотелось бы что бы при закрытии данный формы выполнилось: Web.Navigate(url2); . Подскажите, как это реализовать?

Код:
procedure TForm1.sButton4Click(Sender: TObject);
var
Form: TForm;
web: TWebBrowser;
begin
  if sListView1.ItemIndex >= 0 then
    Begin
      Form := TForm.Create(Application);
      Form.Position := poDesktopCenter;
      Form.SetBounds(Left, Top, 880, 1000);
      Form.Caption:=program_name;
      Form.BorderIcons:=  BorderIcons - [biMaximize];
      Form.BorderIcons:=  BorderIcons - [biMinimize];
      web := TWebBrowser.CreateParented(Form.Handle);
      TWinControl(web).Parent:=form;
      Web.Height:= Form.Height;
      web.Align:=alClient;
      web.Navigate(url);
      Form.Show;
    End;
end;
Артём_2 вне форума Ответить с цитированием
Старый 17.09.2013, 21:06   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

События формы OnClose, OnCloseQuery, OnDestroy - гугли, 1, любое - на выбор.
Человек_Борща вне форума Ответить с цитированием
Старый 17.09.2013, 21:52   #3
Артём_2
Пользователь
 
Регистрация: 17.09.2013
Сообщений: 39
По умолчанию

Ну у обычной формы это понятно, выбрать её, и в object inspector'е вкладка events. Но как это сделать у формы которой нету?
Артём_2 вне форума Ответить с цитированием
Старый 17.09.2013, 22:03   #4
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Цитата:
Но как это сделать у формы которой нету?
вы имеете ввиду отследить закрытие другого приложения? Если да, то вот
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 17.09.2013, 22:53   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Но как это сделать у формы которой нету?
Как это нету? Класс TForm есть. Его экземпляр вы создали. Так что всё есть.
Создание формы в рантайм ничем не отличается от создания любого другого компонента.
northener вне форума Ответить с цитированием
Старый 17.09.2013, 23:55   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Ну у обычной формы это понятно, выбрать её, и в object inspector'е вкладка events.
Ну и вообще. Почему бы вам не сконструировать эту форму заранее в дизайнере. Там и обработчики событий напишете. После вы ее можете создавать в рантайме уже готовую.
northener вне форума Ответить с цитированием
Старый 18.09.2013, 06:03   #7
Артём_2
Пользователь
 
Регистрация: 17.09.2013
Сообщений: 39
По умолчанию

northener, к сожалению форма должна быть создана именно так. Я даже примерно не представляю как у таких форм добавлять события =(.
Попробовал добавить строку: Form.Close:=Web.Navigate(url2); - ругнулось на ошибку=(
Артём_2 вне форума Ответить с цитированием
Старый 18.09.2013, 08:29   #8
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
По умолчанию

создай форму, у нее создай (через object inspector) нужные тебе события, посмотри что появилось и с какими входными параметрами, и точно такие же (по параметрам) создай процедуры для своей динамической формы и присваивай их, например

Код:
procedure MyCreateForm(Sender:tobject);
begin
end;
Form.OnCreate:=MyCreateForm;
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 18.09.2013, 08:38   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ото MyCreateForm должно быть не просто процедурой, а методом какого-то объекта
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.09.2013, 12:47   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
northener, к сожалению форма должна быть создана именно так.
Почему именно так?
Извините за назойливость, но такой способ всё-таки для Делфи не родной. В Делфи не зря есть дизайнер форм. Он создан именно для разработки пользовательских форм. В Делфи также есть репозиторий для хранения пользовательских форм с целью простого использования их в различных проектах. И получается что весь этот богатый инструментарий псу под хвост?
northener вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли создать событие для формы VBA? segail Microsoft Office Excel 20 25.01.2016 12:15
У динамически созданной формы есть событие OnClick, но само событие не происходит Hunter_bog Компоненты Delphi 25 23.01.2012 23:50
как програмно создать событие??? gufon Общие вопросы Delphi 7 07.06.2011 16:31
Как перехватить событие формы (Движение) ImmortalAlexSan Общие вопросы Delphi 12 02.01.2011 11:36
Как создать событие OnClick... zotox Помощь студентам 6 08.08.2009 21:24