Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запустить форму из другой и сделать ее активной / 4 сообщений из 4, страница 1 из 1
29.10.2007, 19:54
    #34902986
Снифф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить форму из другой и сделать ее активной
Hi всем
срочно подскажите пожалуста
есть Form1, которая In Top Level. из нее запускается Form2, тоже In Top. но Form2 выходит неактивной, нужно кликать мышкой, чтобы на нее перейти. WindowsType должен быть = 0 у обоих
...
Рейтинг: 0 / 0
29.10.2007, 20:21
    #34903035
12345678
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить форму из другой и сделать ее активной
Код вызова в студию.

У меня все работает нормально:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
PUBLIC poForm
m.poForm = CREATEOBJECT("ParentForm")
m.poForm.Show()

DEFINE CLASS ParentForm AS FORM
  ChildForm = NULL

	ShowWindow =  1 

  ADD OBJECT cmdShowChild As CommandButton
  FUNCTION cmdShowChild.Click
    ThisForm.ChildForm = CREATEOBJECT("ParentForm")
    WITH ThisForm.ChildForm 
    	.Move(ThisForm.Left+ 100 , ThisForm.Top+ 100 )
    	.Show()
    ENDWITH 
  ENDFUNC 
ENDDEFINE 
...
Рейтинг: 0 / 0
30.10.2007, 10:44
    #34903784
MiklS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить форму из другой и сделать ее активной
Просто в инит второй формы перевести фокус на любой объект, например
This.Text1.SetFocus()
...
Рейтинг: 0 / 0
31.10.2007, 12:33
    #34907175
Снифф
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить форму из другой и сделать ее активной
Мы тут пару дней со Сниффом без телефона сидели, выход в инет не было. Сами голову поломали и вроде поняли, почему так получается.
В кнопке ОК стоял код:
Код: plaintext
1.
2.
3.
4.
5.
6.
nAnswer = MESSAGEBOX("Вносить данные о профпрививках учащегося?",  4 + 48 ,"" )
	DO CASE
		   CASE nAnswer =  6 
		           DO FORM 'c:\Medkomnata\Forms\privivka.scx'
	ENDCASE
THISFORM.user_clear()
В методе user_clear() прописан код очистки Form1. Наверно из-за его выполнения эта форма и остается активной.
Тогда мы сделали немного подругому:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
nAnswer = MESSAGEBOX("Вносить данные о профпрививках учащегося?",  4 + 48 ,"" )
	DO CASE
		   CASE nAnswer =  7 
                                    THISFORM.user_clear()
		   CASE nAnswer =  6 
		           DO FORM 'c:\Medkomnata\Forms\privivka.scx'
                                   THISFORM.user_clear()
	ENDCASE
Теперь Form2 запускается активной.
Как? Правильно мы додумались?

За Сниффа
Снусмумрик
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запустить форму из другой и сделать ее активной / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]