ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ | |
---|---|
Ден |
Пожалуйста - помогите. Много программировал на FoxPro for Dos, сейчас переделываю свои приложения под VFP. Проблема простая, но замучался с ней. Имеется главный файл .PRG - из него вызываю первую немодальную форму (do form form1 ... read events ). По нажатию кнопки (button1.click), на первой форме, производятся различные преобразования данных и необходимо запустить еще одну форму (do form form2), на которой пользователь должен вводить уточняющую информацию, необходимую для завершения обработки в button1.click. То есть мне нужно, чтобы button1.click исполнялся до комманды do form form2, затем управление передавалось form2, а после ее завершения, button1.click доисполнялся до конца. Сейчас же, имею ситуацию, когда управление на form2 передается только после того как исполнится весь код метода button1.click. Замечу, что в foxpro for DOS, на котором я писал раньше, все происходило именно так, как мне надо. Конечно, можно сделать form2 - modal, но в модальных окнах недоступно меню, а желательно, чтобы оно было доступно отовсюду. Попробовал после do form form2 ставить read events - не помогло. Подскажите, как правильно организовать вызов немодальных форм друг из друга и возможно ли это? Заранее благодарен.
[piva] (В следующий раз старайтесь название темы не писать все заглавными буквами) ![]() |
Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ | |
---|---|
AlexK Сообщений: 2114 Откуда: Королев,Москва Дата регистрации: 11.12.2000 |
Проще найти как меню включить
![]() forum.foxclub.ru Отредактировано (24.06.05 08:54) ------------------ Береги природу, мать Вашу. Моя страничка www.genrep.net ![]() |
Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ | |
---|---|
Владимир Максимов Сообщений: 14146 Откуда: Москва Дата регистрации: 02.09.2000 |
|
Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ | |
---|---|
Sergey Konoplev Сообщений: 99 Откуда: Krasnodar Дата регистрации: 25.02.2004 |
Например, так:
1. Создай в 1-й форме свойство lChild = .f. 2. В button1.click оставь ту часть кода, которая заканчивается командой do form form2, перед которой поставь ThisForm.lChild = .t. 3. Вторую часть кода из button1.click перенеси в Form1.Activate в обертке if-endif: if ThisForm.lChild ThisForm.lChild = .f. <Вторая часть кода из button1.click> endif 4. В форме 2 при входе можно будет позаботиться о псевдомодальности формы 1: задисейблить ее, запретить минимизацию, максимизацию и возможность закрытия крестиком, а при выходе из формы 2 - все разрешить. А еще лучше: при входе в форму 2 запомнит эти параметры для формы 1, запретить, а при выходе - восстановить. Используй для этого специально заведенные свойства формы. Ну а там и до написания класса формы с этими действиями - один шаг. ------------------ С наилучшими пожеланиями, Сергей ![]() |
Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ | |
---|---|
Владимир С |
Hi, Ден!
Может я не до конца в ситуацию вник, но почему на form1 не использовать PageFrame Control? ![]() |
Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ | |
---|---|
Igor Korolyov Автор Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi Sergey!
Лучше всё-же сделать классы со своими методами (в т.ч. и метод типа "OnSelectionInChildForm"), явно передавать ссылки - т.е. чтобы Form2 могла обратится к Form1 и соответственно при закрытии Form2 она спрячет себя, и дёрнет соответствующий метод form1 - чтобы "обработать возврат". Причём "вызывающим контролом" может быть не сама форма Form1, а скажем Textbox или CommandButton на ней. ------------------ WBR, Igor ![]() |
© 2000-2025 Fox Club  |