TopLevel Form | |
---|---|
Андрей Автор Сообщений: 197 Дата регистрации: 03.09.2000 |
Вопрос.
Есть форма TopLevel, в ней открываются другие формы. Как из них обратиться к элементам в верхней форме, не указывая ее конкретное имя (типа ThisForm, Parent ...). Открываемые формы - экземпляры класса. Заранее спасибо за помощь, Андрей. |
RE: TopLevel Form | |
---|---|
JS Сообщений: 12264 Откуда: Эстония Дата регистрации: 04.09.2000 |
Для этой цели служит системная переменная _SCREEN
Удачи! |
TopLevel Form | |
---|---|
Андрей Автор Сообщений: 197 Дата регистрации: 03.09.2000 |
К сожалению не хочет служить.
Попробовал сменить Caption - в окне Фокса он сменился, а в TopLevel Form - нет. К тому же я хочу работать не с самой формой, а с объектами на ней (TextBox, ...). Еще у меня стоит Application.Visible=.F. Андрей |
используй переменную _VFP | |
---|---|
AnMa |
используй переменную _VFP, далеее по иерархиии объектв
|
RE: используй переменную _VFP | |
---|---|
Sergey Titow Сообщений: 2242 Дата регистрации: 12.09.2000 |
Есть системная переменная _screen, которая указывает на main FoxPro window. Все формы, которые создаются в ходе выполнения проги, являются дочерними по отношению к ней (даже если Application.Visible=.F., все равно _screen существует!) и ссылки на них можно получить из коллекции forms (массив ссылок на формы: _screen.forms(_screen.formcount) - ссылка на последнюю созданную форму). Т.е. на первую созданную форму (видимо) можно ссылаться _screen.forms(1).
> не указывая ее конкретное имя А почему это надо обходить? В коде инициализации проекта перед read events поставить: public mainform do form MyMainTopLevelForm name mainform После этого всюду на главное окно можно сослаться по mainform |
© 2000-2024 Fox Club  |