![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| hawkins |
|
|||
|
Unregistered |
Подскажите, как модальное окно сделать немодальным? Мне надо на время спрятать модальное окно, а потом показать его опять в модальном режиме.
|
|||
|
||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Если тебе все лишь нужно его спрятать, то ,по моему, будет достаточно сделать
А показать:
Если же необходимо изменить тип окна, то скорее всего нужно юзать GetWindowLong\SetWindowLong Это сообщение отредактировал(а) <Spawn> - 31.8.2003, 09:29 -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 4 Всего: 110 |
для того, чтобы окно было модальным, ничего не нужно делать при его создании, нужно для его показа использовать метод ShowModal
для закрытия окна, которое было показано как модальное есть два способа: 1. вызвать метод close 2. присвоить что-нибудь свойству ModalResult кстати, у кнопочек тоже есть свойство ModalResult если там что-то выбрано, то при нажатии на эту кнопку это значение будет записано в ModalResult формы, и формабудет закрыта ShowModal возвращает то значение, которое было записано в ModalResult формы при выходе -------------------- qqq |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Для закрытия окна (модального или немодального) используются методы Hide или close. Следует учесть, что метод Close всегда помещает в ModalResult значение 2 (mrCancel), в то время как Hide не меняет значения этого свойства, поэтому, если программист хочет передать в вызывающую программу нестандартный модальный результат, следует писать:
ModalResult := MyResult; Hide; // Но ни в коем случае Close! Пример:
На форме MyForm есть 2 кнопки (TBitButton) "Ok" и "Cancel", свойства ModalResult этих кнопок "mrOk" и соответсвенно "mrCancel", в обработчиках событий OnClick этих кнопок ничего не пишется, а если кнопки обычные, то нужно писать MyForm.Hide, иначе при нажатии на кнопку, у которой в обработчике события OnClick написано MyForm.Close, форма уничтожится, но в конце процедуры, вызывающей форму MyForm есть обработчик уничтожения формы MyForm.free |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Для закрытия окна (модального или немодального) используются методы Hide или close. Следует учесть, что метод Close всегда помещает в ModalResult значение 2 (mrCancel), в то время как Hide не меняет значения этого свойства, поэтому, если программист хочет передать в вызывающую программу нестандартный модальный результат, следует писать:
ModalResult := MyResult; Hide; // Но ни в коем случае Close! Пример:
На форме MyForm есть 2 кнопки (TBitButton) "Ok" и "Cancel", свойства ModalResult этих кнопок "mrOk" и соответсвенно "mrCancel", в обработчиках событий OnClick этих кнопок ничего не пишется, а если кнопки обычные, то нужно писать MyForm.Hide, иначе при нажатии на кнопку, у которой в обработчике события OnClick написано MyForm.Close, форма уничтожится, но в конце процедуры, вызывающей форму MyForm есть обработчик уничтожения формы MyForm.free |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |