Форум: "Основная";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизПроблемы с событием 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 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c