foxpro обращение к форме

Foxpro обращение к форме

В большинстве случаев основным звеном программы является форма. Именно посредством форм пользователь оперирует данными – вводит и модифицирует их. По большому счёту, форма – вот и всё что видит пользователь проводимое за работой с программой время. Поэтому создатель программы должен уделять формам достойное внимание. Рассмотрим поподробнее работу с формами, свойства, методы и события форм, а также связанные с этим неочевидные подробности. Итак, приступим.

причём выполнив команду

получим второй экземпляр формы, но с другим именем.
Необходимо обратить внимание на ещё один аспект команды DO FORM – выполнение её с ключевым словом LINKED :

Рассмотрим так же ситуацию, когда форма не модальна и запущена без ассоциаций из метода (или события) какой либо формы:

Переопределим имя вновь запущенной формы в пределах этого метода (поскольку переменная MyStartedForm будет освобождена после исполнения метода и станет недоступной)

Теперь, для того чтобы получить доступ к этой запущенной форме обратимся к коллекции форм объекта _Screen и выполним поиск:

Эти операции по поиску формы в коллекции через её имя можно выделить в отдельную процедуру или метод объекта приложения (если таковой имеется) в собственном наборе классов или же в уже упомянутом менеджере форм. Стоит учесть, что поиск формы необходимо производить непосредственно перед обращением к ней, поскольку индекс формы в коллекции динамически изменяется при запуске или закрытии форм в приложении.

Иногда бывают ситуации, когда нужно обратиться к форме в отрыве от её контекста, например в методе глобального объекта приложения или при обращении из кнопки тулбара, когда обращение THISFORM не может быть применено. В этом случае также можно обратиться к форме через коллекцию _Screen :

3. Последовательность событий в форме.

Далее форма работает, и на ней могут срабатывать самые разные события, как то: нажатие клавиш, обновление содержания, перерисовка и другие. Пока опустим описание этих событий. При разгрузке формы формы происходят другие события

SET ANSI
SET AUTOSAVE
SET BLOCKSIZE
SET CARRY
SET CENTURY
SET COLLATE
SET CONFIRM
SET CURRENCY
SET DATABASE
SET DATE
SET DECIMALS
SET DELETED
SET DELIMITERS
SET EXACT
SET EXCLUSIVE
SET FIELDS
SET FIXED
SET HOURS
SET LOCK
SET MARK TO
SET MEMOWIDTH
SET MULTILOCKS
SET NEAR
SET NULL
SET POINT
SET REPROCESS
SET SAFETY
SET SECONDS
SET SEPARATOR
SET SYSFORMATS
SET TALK
SET UNIQUE

Получим ссылку в родительской форме на дочернюю через свойство oChildForm и свободно можно таким образом обратиться из родительской формы к методам и свойствам дочерней. Кроме того, при закрытии родительской формы будет уничтожена и дочерняя потому как она ассоциирована со свойством родительской формы (о чём говорилось ранее). Конечно, не стоит забывать о ссылках и незавершённых методах, т.е. при закрытии родительской формы для полной уверенности выполнить:

5. Модальность и немодальность

Большинство форм в приложении обычно немодальны. Но модальные формы тоже имеют право на жизнь. Появляться им конечно же стоит в нужном месте и в нужное время – там где необходимо прервать выполнение программы для выполнения обязательных операций или получения необходимых данных. Отличие модальной формы от не модальной в том, что при запуске модальной формы программа останавливается на строке DO FORM и ждёт до тех пор пока форма не будет закрыта, немодальная же форма не вызывает такой задержки и код продолжает исполнятся после её запуска. Модальная форма также используется для возвращения какого либо значения из формы:

допустим форма MyFormName создана как немодальная форма в дизайнере и запускается таким образом

6. Передача параметров между формами и методами.

7. Делегирование методов.

Заведем на форме метод Save()

В Click() кнопки “Записать изменения”

В событии QueryUnload формы

9. Горячие клавиши на формах

Последние обновление: 2004-05-13 12:34
Опубликовал: Сергей Чаговец aka stranger

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • fox форма множественного числа
  • four and five школьная форма официальный сайт