Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Модальное окно 
:(
    Опции темы
hawkins
  Дата 31.8.2003, 06:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подскажите, как модальное окно сделать немодальным? Мне надо на время спрятать модальное окно, а потом показать его опять в модальном режиме.
  Вверх
<Spawn>
Дата 31.8.2003, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Если тебе все лишь нужно его спрятать, то ,по моему, будет достаточно сделать
Код
ModalWindow.Hide


А показать:
Код
ModalWindow.Show


Если же необходимо изменить тип окна, то скорее всего нужно юзать GetWindowLong\SetWindowLong

Это сообщение отредактировал(а) <Spawn> - 31.8.2003, 09:29


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
maxim1000
Дата 31.8.2003, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 4
Всего: 110



для того, чтобы окно было модальным, ничего не нужно делать при его создании, нужно для его показа использовать метод ShowModal
для закрытия окна, которое было показано как модальное есть два способа:
1. вызвать метод close
2. присвоить что-нибудь свойству ModalResult
кстати, у кнопочек тоже есть свойство ModalResult
если там что-то выбрано, то при нажатии на эту кнопку это значение будет записано в ModalResult формы, и формабудет закрыта
ShowModal возвращает то значение, которое было записано в ModalResult формы при выходе


--------------------
qqq
PM WWW   Вверх
Akella
Дата 31.8.2003, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Для закрытия окна (модального или немодального) используются методы Hide или close. Следует учесть, что метод Close всегда помещает в ModalResult значение 2 (mrCancel), в то время как Hide не меняет значения этого свойства, поэтому, если программист хочет передать в вызывающую программу нестандартный модальный результат, следует писать:

ModalResult := MyResult;

Hide; // Но ни в коем случае Close!

Пример:
Код
MyForm:=TMyForm.Create(self);
if MyForm.ShowModal=mrOk then
begin

 что-то делаем

end else
begin
 иначе делаем что-то другое
end;
MyForm.free;


На форме MyForm есть 2 кнопки (TBitButton) "Ok" и "Cancel", свойства ModalResult этих кнопок "mrOk" и соответсвенно "mrCancel", в обработчиках событий OnClick этих кнопок ничего не пишется, а если кнопки обычные, то нужно писать MyForm.Hide, иначе при нажатии на кнопку, у которой в обработчике события OnClick написано MyForm.Close, форма уничтожится, но в конце процедуры, вызывающей форму MyForm есть обработчик уничтожения формы MyForm.free
PM MAIL   Вверх
Akella
Дата 31.8.2003, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Для закрытия окна (модального или немодального) используются методы Hide или close. Следует учесть, что метод Close всегда помещает в ModalResult значение 2 (mrCancel), в то время как Hide не меняет значения этого свойства, поэтому, если программист хочет передать в вызывающую программу нестандартный модальный результат, следует писать:

ModalResult := MyResult;

Hide; // Но ни в коем случае Close!

Пример:
Код
MyForm:=TMyForm.Create(self);
if MyForm.ShowModal=mrOk then
begin

 что-то делаем

end else
begin
 иначе делаем что-то другое
end;
MyForm.free;


На форме MyForm есть 2 кнопки (TBitButton) "Ok" и "Cancel", свойства ModalResult этих кнопок "mrOk" и соответсвенно "mrCancel", в обработчиках событий OnClick этих кнопок ничего не пишется, а если кнопки обычные, то нужно писать MyForm.Hide, иначе при нажатии на кнопку, у которой в обработчике события OnClick написано MyForm.Close, форма уничтожится, но в конце процедуры, вызывающей форму MyForm есть обработчик уничтожения формы MyForm.free
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0884 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.