Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / добавить форму в проект / 10 сообщений из 10, страница 1 из 1
18.09.2006, 14:13
    #33994035
tupoyuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
есть готовый проект.Состоит из кучи форм.отчетов,скриптов.В нем имеется форма--пусть ф1 на ней куча объектов, среди них--техв2--пусть т1.он имеет св-во enabled=.f. в рез. раб-ты прилож., т1 активируется.Я построил форму--пусть ф2, кроме прочего там т2(тоже техв)--МОЯ ЗАДАЧА: как только ф1.т1-становиться активным так Поверх ф1 выскакивает ф2, я ввожу данные в т2, нажим энтер, и происх. след-щее:ф2--пропадает с экрана,данные из т2 переносятся в т1, активным становиться очередной объект ф1.Помогите пожалуста, уже неделю бьюсь--неполучается!заранее благодарен!
...
Рейтинг: 0 / 0
18.09.2006, 15:23
    #33994321
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
Передавай ссылку на ф1 как параметр для ф2
ф1.т1.GotFocus()
do form ф2 with thisform
...

В ф2 добавь свойство oParentForm
ф2.Init()
para toParentForm
thisform.oParentForm = toParentForm
...

ф2.т2.LostFocus()
thisform.oParentForm.т1.value = this.value
thisform.Release()

тока непонятно как т1 активируется если т1.enabled=.f.?
т1.enabled=.t.
можешь поставить т1.readonly=.t.
...
Рейтинг: 0 / 0
19.09.2006, 15:50
    #33997161
tupoyuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
Спасибо Dima T, но что то невыходит....можно если нетрудно(очень маленький опыт--- с июня в фокс про ) про parent подробнее...в хелпе не очень понятно написано...и примера нет.
...
Рейтинг: 0 / 0
20.09.2006, 13:49
    #33999733
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
tupoyuserСпасибо Dima T, но что то невыходит....можно если нетрудно(очень маленький опыт--- с июня в фокс про ) про parent подробнее...в хелпе не очень понятно написано...и примера нет.

Надо просто добавить свойство форме, чтобы потом его использовать для хранения ссылки на вызвавшую форму ф1, чтобы при завершении работы с ф2 по этой ссылке вернуть значения в ф1

Первый вариант: в дизайнере формы меню "Form"->"New property..."
Или програмно
ф2.Init()
para toParentForm
thisform.AddProperty('oParentForm')
thisform.oParentForm = toParentForm
...
...
Рейтинг: 0 / 0
20.09.2006, 15:23
    #34000190
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
Пример от Игоря Королева

Код: 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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
PUBLIC goFrmMain  
  goFrmMain = CREATEOBJECT("frmMain")  
  m.goFrmMain.Show()  
    
  DEFINE CLASS frmMain AS Form  
  DataSession =  2   
  Caption = "Main"  
  Height =  450   
  Width =  300   
  oChild = .F.  
  AlwaysOnTop  = .t.
  
  ADD OBJECT grd1 AS Grid WITH ;  
   RecordSource = "tmp1", Height =  400 , Width =  300   
  ADD OBJECT cmdCall AS Commandbutton WITH ;  
   Caption = "Child", Top =  410 , Height =  30 , ;  
   Left =  50 , Width =  200   
    
  PROCEDURE Load  
   CREATE CURSOR tmp1 (nID I)  
   LOCAL ln1  
   FOR ln1 =  1  TO  10   
    INSERT INTO tmp1 (nID) VALUES (m.ln1)  
   ENDFOR  
   GO TOP IN tmp1  
  ENDPROC  
  PROCEDURE grd1.AfterRowColChange  
   LPARAMETERS tnColIndex  
   IF TYPE("ThisForm.oChild.Name") = "C"  
    ThisForm.oChild.Refresh()  
   ENDIF  
  ENDPROC  
  PROCEDURE cmdCall.Click  
   IF TYPE("ThisForm.oChild.Name") # "C"  
    ThisForm.oChild = CREATEOBJECT("frmChild")  
   ENDIF  
   ThisForm.oChild.Show()  
  ENDPROC  
  ENDDEFINE  
    
  DEFINE CLASS frmChild AS Form  
  DataSession =  1   
  Caption = "Child"  
  Width =  100   
  Height =  90   
  Top =  100   
  Left =  320   

  ADD OBJECT txt1 AS Textbox WITH ;  
  ControlSource = "tmp1.nID", Width =  80 , Height =  20 , ;  
   Top =  10 , Left =  10   
  ADD OBJECT cmdClose AS Commandbutton WITH ;  
   Caption = "Close", Top =  50 , Height =  30 , ;  
   Left =  10 , Width =  80   
    
  PROCEDURE cmdClose.Click  
   ThisForm.Release()  
  ENDPROC  
  ENDDEFINE
...
Рейтинг: 0 / 0
21.09.2006, 11:05
    #34002230
tupoyuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
Спасибо!С формой почти справился.Есть еще вопрос...ЧТО такое ЭЛЕМЕНТ УПРАВЛЕНИЯ.Что под этим термином подразумевается в хелпе по фоксу.НАПРИМЕР: Используйте метод requery чтоб ЭЛЕМЕНТ УПРАВЛЕНИЯ содержал самую актуальную информацию
...
Рейтинг: 0 / 0
21.09.2006, 16:14
    #34003817
tupoyuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
МЕТОД AddListItem добавляет новыйэлемент СПИСКА в элемент управления и определяет его идентификатор---скажите пожалуйста что значит ЭЛЕМЕНТ УПРАВЛЕНИЯ И ЧТО значит ЭЛЕМЕНТ СПИСКА---речь идет о Listbox?
извините за такие неинтересные на ваш взгляд вопросы, но я новичок и для меня важно знать ответ, спасибо что помогли с формрй!
...
Рейтинг: 0 / 0
21.09.2006, 23:49
    #34004686
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
Открываешь форму (или класс) на модификацию. "Бросаешь" на него некий объект. Вот то, что ты "бросил" и есть "элемент управления". Т.е. это некий элемент, при помощи которого можно чем-то "управлять".

По поводу AddListItem.

В том же HELP буквально в следующем абзаце написано

Применение: ComboBox, ListBox

Т.е. этот метод применяется в двух элементах управления : ComboBox и ListBox.

Оба этих элемента управления имеют списки. В прямом смысле. Некоторое перечисление. Формироваться эти списки могут разными способами в зависимости от того, какой тип источника данных для этих списков выбран (свойство RowSourceType).

Если предполагается заполнять эти списки "вручную" (RowSourceType=0). В смысле, отдельно указывать каждый элемент списка, а не брать весь список сразу, например, из какой-либо таблицы, то в этом случае и можно использовать методы AddItem и AddListItem для наполнения этого списка.

В чем отличие AddItem от AddListItem?

Список физически состоит из строк и столбцов. Точнее, список состоит из строк, а каждая строка содержит набор элементов, которые отображаются как столбцы.

Так вот, AddItem добавляет строку в список, при этом заполняя один из элементов этой новой строки. А AddListItem добавляет (изменяет) элемент строки в список.
...
Рейтинг: 0 / 0
22.09.2006, 07:55
    #34004840
tupoyuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
Спасибо огромное ВладимирМ, стало все гораздо яснее!
...
Рейтинг: 0 / 0
22.09.2006, 08:27
    #34004863
tupoyuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
добавить форму в проект
Но вот насчет формы(добавить форму в проект).добавил.но есть проблемка, вчера целый день потратил и не добиося результата.Допустим на форм1 есть три техт1,техт2,техт3. На форм2 есть техт1.Допустим прожект состоит из 2х форм.Работа его такая:запускаем и появляется форм1, я ввожу данные в техт1 на ней и при переходе в техт2 появляется форм2, я ввожу данные в техт1 на ней ентер и она закрывается, и я опять на форм1(эт все работает)
НО!
Мне нужно чтоб фокус был после закрытия форм2 в форм1.техт3, но НИКАК этого немогу добиться.При запуске прожекта фокус в форм1.техт1. После работы форм2 он возвращается туда же.Мне нужно ОБЯЗАТЕЛЬНО передать фокус из форм2 (на unlaud, или еще чего) в форм1.техт1, именно на закрытие форм2, не внося изменения в форм1.Спасибо.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / добавить форму в проект / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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