Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > Работа с формами в FoxPro


Автор: alxxx 18.11.2007, 21:39
В общем есть такой вопрос.
Как из одной формы обратиться к элементам другой? Грубо говоря, мне надо чтобы при нажатии кнопки в одной форме менялось какое-то свойство, например, текстбокса во второй форме.

Что-то у меня не получается, ошибку выдает, что такой объект не найден.

Автор: AlexPro 19.11.2007, 08:38
Если обе формы используются в одном формсете, то элементарно:
thisformset.форма.текстбокс...

Автор: alxxx 19.11.2007, 21:24
А если у меня нет формсета, а просто отдельные формы? Тогда как?

Автор: larabelle 24.11.2007, 23:59
Цитата(alxxx @ 19.11.2007,  19:24)
А если у меня нет формсета, а просто отдельные формы? Тогда как?

Тогда чуть сложнее   smile 
например через коллекцию _screen/

Предположим у вас 2 формы: form1 и form2.
на form1 кнопка с кодом 
Цитата

LOCAL lnFormCount, lnFindForm  
  lnFindForm=0  
     FOR lnFormCount = 1 TO _SCREEN.FORMCOUNT  
    IF _SCREEN.FORMS(lnFormCount).NAME = "Form2"  
    lnFindForm= lnFormCount  
    _SCREEN.FORMS(lnFindForm).text1.FontBold = .t.
    EXIT  
    ENDIF  
  ENDFOR  

на form2 у вас textbox 
- Запустите обе формы - введите в textbox фразу  и нажмите кнопку на form1 - фраза выделится жирным шрифтом

larabelle 

Автор: Cashey 3.12.2007, 17:44
гораздо проще просто передавать ссылку на себя (this или thisform) через параметр или глобальную переменную

Автор: Gordon 15.11.2008, 14:59
Доброго всем времени суток! Ребята, как как сделать  этот "формсет"?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)