Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ссылка на форму / 10 сообщений из 10, страница 1 из 1
13.06.2010, 22:34
    #36685211
Ссылка на форму
Как закрыть какую либо форму из другой формы или из программы?
...
Рейтинг: 0 / 0
14.06.2010, 00:01
    #36685262
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка на форму
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
PUBLIC oForm1
oForm1=CREATEOBJECT("MyForm")
oForm1.Show()
DEFINE CLASS MyForm as Form

oChildForm=.NULL.

ADD OBJECT cmdCreate as cmdCreate 

ADD OBJECT cmdKill as cmdKill with;
Top=ThisForm.cmdCreate.Top+ThisForm.cmdCreate.Height

ENDDEFINE 

DEFINE CLASS cmdCreate  as commandbutton

Caption="Ñîçäàòü"
PROCEDURE Click
oForm=CREATEOBJECT("MyForm")
ThisForm.oChildForm=oForm
oForm.AutoCenter=.t.
oForm.Show()
ENDPROC

ENDDEFINE 

DEFINE CLASS cmdKill  as commandbutton
Caption="Óáèòü"
PROCEDURE Click
ThisForm.oChildForm.Release()
ENDPROC 
ENDDEFINE 
...
Рейтинг: 0 / 0
14.06.2010, 00:06
    #36685268
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка на форму
Русские подписи в Caption форум перевирает, поэтому вариант с английскими надписями. Скопировать в prg файл и посмотреть как будет работать.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
PUBLIC oForm1
oForm1=CREATEOBJECT("MyForm")
oForm1.Show()
DEFINE CLASS MyForm as Form

oChildForm=.NULL.

ADD OBJECT cmdCreate as cmdCreate 

ADD OBJECT cmdKill as cmdKill with;
Top=ThisForm.cmdCreate.Top+ThisForm.cmdCreate.Height

ENDDEFINE 

DEFINE CLASS cmdCreate  as commandbutton

Caption="Create"
PROCEDURE Click
oForm=CREATEOBJECT("MyForm")
ThisForm.oChildForm=oForm
oForm.AutoCenter=.t.
oForm.Show()
ENDPROC

ENDDEFINE 

DEFINE CLASS cmdKill  as commandbutton
Caption="Kill"
PROCEDURE Click
ThisForm.oChildForm.Release()
ENDPROC 
ENDDEFINE 
...
Рейтинг: 0 / 0
14.06.2010, 00:21
    #36685283
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка на форму
DagРусские подписи в Caption форум перевирает
Это не форум перевирает, а буфер обмена. В том приложении из которого копируешь, раскладка должна быть на русском языке в момент вставки в буфер обмена. Буфер, он ведь "юникодовый" и если подсовываешь ему текст НЕ юникодовый, то желательно, чтобы текущая раскладка "понимала" "не стандартные" символы.
...
Рейтинг: 0 / 0
14.06.2010, 00:23
    #36685284
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка на форму
ВладимирМ
Принято. Извиняюсь за неточность формулировки.
...
Рейтинг: 0 / 0
14.06.2010, 00:45
    #36685315
Ссылка на форму
Dag,

Вы программно создаете форму, а она у меня уже есть. Как закрыть форму, которая уже создана?
...
Рейтинг: 0 / 0
14.06.2010, 00:50
    #36685322
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка на форму
Сначала нажать на кнопку "Create", а затем на "Kill". Родительская форма убивает дочернюю, вызывая метод Release посредством ссылки на дочернюю которая храниться в св-ве oChildForm родительской формы.
...
Рейтинг: 0 / 0
14.06.2010, 10:47
    #36685538
50копеек
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка на форму
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 1 ) По имени 
For Each oFrm In _Screen.Forms
  If UPPER(oFrm.Name) = 'FORM1'
	oFrm.Release()
	Exit
  Endif
ENDFOR


 2 ) По заголовку
For Each oFrm In _Screen.Forms
  If UPPER(oFrm.Caption) = 'МОЯ ФОРМА'
	oFrm.Release()
	Exit
  Endif
ENDFOR
...
Рейтинг: 0 / 0
14.06.2010, 12:33
    #36685673
Eugenkru10
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ссылка на форму
Сергей ЕмельяновКак закрыть какую либо форму из другой формы или из программы?
можно проще RELEASE WINDOWS [WindowNameList]
или RELEASE WINDOWS (WOUTPUT())
...
Рейтинг: 0 / 0
14.06.2010, 22:50
    #36686594
Ссылка на форму
50копеек
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 1 ) По имени 
For Each oFrm In _Screen.Forms
  If UPPER(oFrm.Name) = 'FORM1'
	oFrm.Release()
	Exit
  Endif
ENDFOR


 2 ) По заголовку
For Each oFrm In _Screen.Forms
  If UPPER(oFrm.Caption) = 'МОЯ ФОРМА'
	oFrm.Release()
	Exit
  Endif
ENDFOR


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


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