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

Форма в компоненте - передача в компонент наступившего событя   Найти похожие ветки 

 
Бушин Сергей ©   (2004-02-18 14:44) [0]

Уважаемые гуру!

Что посоветуете. Имеем компонент, который вызывает немодально форму. пользователь по работал с формой и нажимает кнопочку, чтобы закрыть данное окно (кнопарь мой, см. далее). А окно не простое, а BorderStyle=bsNone.
Так вот вопрос! Как мне передать в компонент, что пользователь нажал на выход - в обработчик события компонента OnCloseMyForm?

Данный обработчик служит для той цели, что компонент может вызываться из многих мест в программе и соответственно нужно принимать решение что делать в том или другом случае.


 
Radionov Alexey ©   (2004-02-18 14:58) [1]

Метод Notification посмотри. Может быть через него будет лучше.


 
Бушин Сергей ©   (2004-02-18 16:11) [2]

По моему нет. Короче проблемма такая:


TMyComponent=class(TComponent)
...
function Execute:Boolean;
published
property OncloseMyForm:TNotifyEvent ...;
...

function TMyComponent.Execute:boolean;
begin
if not Assigned(MyForm) then
MyForm:=TMyForm.Create(nil);
MyForm.Show;
end;


Поработав с формой пользователь жмет на кнопочку CloseButton. (На всякий случай Свойства ModalResult нет).

Так как же передать в теле CloseButtonClick чтобы сработало OnCloseMyForm?


 
Плохиш   (2004-02-18 16:21) [3]

>Бушин Сергей © (18.02.04 16:11) [2]

Делаешь в TMyForm property OncloseMyForm: TNotifyEvent ...
и в Execute присваиваешь ему OncloseMyForm из TMyComponent, при закрытии формы вызываешь OncloseMyForm.


 
Бушин Сергей ©   (2004-02-18 16:34) [4]

Работает!!!



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

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



Память: 0.46 MB
Время: 0.02 c
6-94082
antoncom
2003-12-21 14:15
2004.02.29
Здравствуйте. Подскажите как отправить информацию из моей програм


14-94136
graY
2004-02-06 06:20
2004.02.29
А вообще DirectX + Delphi >Игра?


1-93875
Zeus_Chess
2004-02-16 12:50
2004.02.29
ГИБРИД ИНИШНИКА И ТИПИЗИРОВАННОГО ФАЙЛА


3-93818
Zelius
2004-02-04 12:23
2004.02.29
Помогите разобраться, от чего выскакивает ошибка?


3-93797
Victor!
2004-01-31 15:12
2004.02.29
Вопрос по Microsoft Jet




   Наверх