powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ссылка на форму
10 сообщений из 10, страница 1 из 1
Ссылка на форму
    #36685211
Как закрыть какую либо форму из другой формы или из программы?
...
Рейтинг: 0 / 0
Ссылка на форму
    #36685262
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
Ссылка на форму
    #36685268
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
Ссылка на форму
    #36685283
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DagРусские подписи в Caption форум перевирает
Это не форум перевирает, а буфер обмена. В том приложении из которого копируешь, раскладка должна быть на русском языке в момент вставки в буфер обмена. Буфер, он ведь "юникодовый" и если подсовываешь ему текст НЕ юникодовый, то желательно, чтобы текущая раскладка "понимала" "не стандартные" символы.
...
Рейтинг: 0 / 0
Ссылка на форму
    #36685284
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ
Принято. Извиняюсь за неточность формулировки.
...
Рейтинг: 0 / 0
Ссылка на форму
    #36685315
Dag,

Вы программно создаете форму, а она у меня уже есть. Как закрыть форму, которая уже создана?
...
Рейтинг: 0 / 0
Ссылка на форму
    #36685322
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала нажать на кнопку "Create", а затем на "Kill". Родительская форма убивает дочернюю, вызывая метод Release посредством ссылки на дочернюю которая храниться в св-ве oChildForm родительской формы.
...
Рейтинг: 0 / 0
Ссылка на форму
    #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
Ссылка на форму
    #36685673
Eugenkru10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей ЕмельяновКак закрыть какую либо форму из другой формы или из программы?
можно проще RELEASE WINDOWS [WindowNameList]
или RELEASE WINDOWS (WOUTPUT())
...
Рейтинг: 0 / 0
Ссылка на форму
    #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
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ссылка на форму
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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