Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не приходит событие OnActivate [D7]


atruhin ©   (2007-04-06 09:52:00) 

MDI приложение, при переключении между формами событие OnActivate приходит, но если открыто 2 формы, верхнюю закрываем, то в ту форму которая становится активной событие OnActivate не приходит.
Как отловить данный момент?


atruhin   (2007-04-07 15:44:00) [1]

Извиняюсь. Создал пустой проект, и правда работает как надо.
Видать у меня где то блокируется. :(
Спасибо за внимание.


{RASkov}   (2007-04-07 14:43:00) [2]

unit Unit1; {fsMDIForm}
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls, ToolWin;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation
uses Unit2;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 with TForm2.Create(Self) do begin
  Caption:=Name;
  Show;
 end;
end;

end.

--------------------------------------------------------------------------------------

unit Unit2; {fsMDIChild}
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm2 = class(TForm)
   procedure FormActivate(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form2: TForm2;

implementation
uses Unit1;
{$R *.dfm}

procedure TForm2.FormActivate(Sender: TObject);
begin
 Form1.Caption:=(Sender as TComponent).Name;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 Action:=caFree;
end;

end.


D7 WinXP SP2 Создаем несколько дочерних форм.....


atruhin   (2007-04-07 09:08:00) [3]

> А это средство чем тебе не стандартное?

Ты предлагаешь использовать этот компонент, только для того, чтобы отловить событие,
в принципе к нему не относящиеся.

> А точно не "приходит"?

Точно. Delphi 7 update 1.1.


{RASkov}   (2007-04-07 03:02:00) [4]

А точно не "приходит"? Я попробовал - у меня все нормально "приходит".


Loginov Dmitry   (2007-04-06 20:02:00) [5]

А это средство чем тебе не стандартное?


atruhin   (2007-04-06 19:45:00) [6]

> TActionList

Не нужно мне этого чуда. Нужно стандартными средствами.


Loginov Dmitry   (2007-04-06 18:11:00) [7]

TActionList.OnUpdate


Наверх

Титульная страница Поиск, карта сайта Написать письмо