powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запустить форму из другой и сделать ее активной
4 сообщений из 4, страница 1 из 1
запустить форму из другой и сделать ее активной
    #34902986
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi всем
срочно подскажите пожалуста
есть Form1, которая In Top Level. из нее запускается Form2, тоже In Top. но Form2 выходит неактивной, нужно кликать мышкой, чтобы на нее перейти. WindowsType должен быть = 0 у обоих
...
Рейтинг: 0 / 0
запустить форму из другой и сделать ее активной
    #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
запустить форму из другой и сделать ее активной
    #34903784
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто в инит второй формы перевести фокус на любой объект, например
This.Text1.SetFocus()
...
Рейтинг: 0 / 0
запустить форму из другой и сделать ее активной
    #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
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запустить форму из другой и сделать ее активной
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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