Вниз
Скачать: CL | DM;

Проблемы с событием Activate   Найти похожие ветки 

 
Крутыш ©   (2004-01-21 18:12) [0]

Добрый вечер дельфисты-программисты!!!
Вызываю модальную форму из другого окна.
Когда модальную форму закрываю, событие Activate формы откуда
была вызвана модальная форма не происходит.
Почему???


 
YuRock ©   (2004-01-21 18:20) [1]

Это известный глюк VCL - для главной формы OnActivate не работает...

Обход: перекройте метод WndProc класса "формы откуда
была вызвана модальная форма" и там ловите сообщение WM_ACTIVATE


 
Крутыш ©   (2004-01-21 18:56) [2]

Братан поясни пожалуйста код.
Я чо то не въехал в слова типа перекройте.
Объясни пожалуйста новичку, если тебе не внапряг конечно.
Заранее очень благодарен.


 
YuRock ©   (2004-01-21 19:13) [3]


unit Unit1;

interface

uses
Windows, Classes, Controls, StdCtrls, Forms, Messages;

type

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
protected
procedure WndProc(var Msg: TMessage); override;
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.WndProc(var Msg: TMessage);
begin
inherited;

if Msg.Msg = WM_ACTIVATE then begin
if Msg.WParamLo = WA_ACTIVE then Caption := "Окно активно"
else Caption := "Окно не активно";
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;

end.


Надеюсь понятно, что это текст модуля, с которым должна идти Unit1.dfm.
Так же должна быть форма Form2 (причем autocreate)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
3-2025
Mery
2004-01-06 11:17
2004.02.02
Автоподстановка


11-2051
Vadim Petrov
2003-05-16 13:07
2004.02.02
Пара новых багов


3-2038
fag2000
2004-01-05 14:54
2004.02.02
SQL - какой его диалект понимает dBase?


1-2131
NailMan
2004-01-19 15:14
2004.02.02
Перехват EConvertError


7-2387
Cash
2003-11-12 21:43
2004.02.02
Сделать Выкл. виндам




   Наверх