for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Архив конференции по VFP до 2005 года
   :: Помощь сайту :: 

ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ
Ден
Гость
Дата: 21.03.05 12:13:29ОтветитьЦитировать
Пожалуйста - помогите. Много программировал на 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]
(В следующий раз старайтесь название темы не писать все заглавными буквами)
Ratings: 0 negative/0 positive

Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ
AlexK

Сообщений: 2114
Откуда: Королев,Москва
Дата: 21.03.05 12:19:12ОтветитьЦитировать
Проще найти как меню включить , чем объяснить. В gotFocus do menu

forum.foxclub.ru



Отредактировано (24.06.05 08:54)


------------------
Береги природу, мать Вашу. Моя страничка www.genrep.net
Ratings: 0 negative/0 positive

Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ
Владимир Максимов

Сообщений: 13815
Откуда: Москва
Дата: 21.03.05 12:34:47ОтветитьЦитировать
Почитай здесь

www.foxclub.ru
Ratings: 0 negative/0 positive

Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ
Sergey Konoplev

Сообщений: 99
Откуда: Krasnodar
Дата: 21.03.05 12:51:23ОтветитьЦитировать
Например, так:
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, запретить, а при выходе - восстановить.
Используй для этого специально заведенные свойства формы. Ну а там и до написания класса формы с этими действиями - один шаг.




------------------
С наилучшими пожеланиями, Сергей
Ratings: 0 negative/0 positive

Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ
Владимир С
Гость
Дата: 21.03.05 13:39:05ОтветитьЦитировать
Hi, Ден!
Может я не до конца в ситуацию вник, но почему на form1 не использовать PageFrame Control?
Ratings: 0 negative/0 positive

Re: ЗАПУСК НЕМОДАЛЬНЫХ ФОРМ ИЗ ОДНОЙ - ДРУГУЮ
Igor Korolyov
Автор

Сообщений: 31943
Дата: 21.03.05 21:32:40ОтветитьЦитировать
Hi Sergey!

Лучше всё-же сделать классы со своими методами (в т.ч. и метод типа "OnSelectionInChildForm"), явно передавать ссылки - т.е. чтобы Form2 могла обратится к Form1 и соответственно при закрытии Form2 она спрячет себя, и дёрнет соответствующий метод form1 - чтобы "обработать возврат". Причём "вызывающим контролом" может быть не сама форма Form1, а скажем Textbox или CommandButton на ней.




------------------
WBR, Igor
Ratings: 0 negative/0 positive



Извините, но у вас нет прав для того, чтобы писать в этом форуме.

On-line: 50 Oleg Chemberzhy  and Guests: 48


© 2000-2018 Fox Club 
Яндекс.Метрика