Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Закрытие окна кнопкой. Все просто, но....


Автор: Avers 26.11.2008, 11:52
На форме есть кнопка, у которой определено св-во ModalResult как mrOk (нарпример), своствоCalcel, как True.
Запускаем форму, нажимаем кнопку, окно не закрывается. Но очень надо чтобы закрылось. 
Задача проста до нельзя, но я где-то что-то упускаю из виду. Что именно?
Суть задачи и состоит в том, чтобы не писать обработчик для Button1.Onclick.

Автор: Frees 26.11.2008, 12:18
Цитата(Avers @  26.11.2008,  13:52 Найти цитируемый пост)
На форме есть кнопка, у которой определено св-во ModalResult как mrOk (нарпример), своствоCalcel, как True.Запускаем форму, нажимаем кнопку, окно не закрывается. Но очень надо чтобы закрылось. 

а форма у тебя модальная?это только для модальных вроде актуально

Добавлено через 2 минуты и 58 секунд
если у тебя MDI томожно стандартную акцию TWindowClose сделать 

ЗЫ а что так не хочется обработчик писать?

Автор: maxvodo 26.11.2008, 12:26
выставил описанные свойства на главной форме. запустил - не закрылась
Причем не закроется она при любых свойствах кнопки
А вот модальная форма вызванная из главной, закрывается при установленных свойствах ModatResult<>mrNone (Cansel не играет роли)

из справки
Код

Delphi syntax:
property Cancel: Boolean;

Description
If Cancel is true, the button’s OnClick event handler executes when the user presses Esc. Although an application can have more than one Cancel button, the form calls the OnClick event handler only for the first visible button in the tab order.

Автор: pseud 26.11.2008, 12:38
Frees дело говорит
Код

ТвояФорма.ShowModal;

и все сработает.

Автор: Avers 26.11.2008, 13:28
Спс) проблема уже решилась)
Как раз таким способом. Действительно нельзя закрыть главную форму, просто выставив свойства кнопки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)